21.09.2015, 20:33
PHP код:
stock AdvertisementCheck(string[])
{
if(string[0])
{
if(!strfind(string,"www.",false) || !strfind(string,"http://",false)
|| !strfind(string,".com",false) || !strfind(string,".net",false)
|| !strfind(string,".de",false) || !strfind(string,".org",false))
return true;
new c=1,idx,tmp[32],ip[4];
for(new i=0;i<strlen(string);i++)
if(string[i]==' ')
c++;
for(new i=0;i<c;i++)
{
idx=0;
tmp = L_strtok(string,idx);
idx=0;
tmp = L_strtok(tmp,idx,':');
ip=SplitIP(tmp);
if(ip[0] && ip[1] && ip[2] && ip[3]) // We have found and IP :o
return true;
}
}
return false;
}
stock L_strtok(const string[], &index,seperator=' ')
{
new length = strlen(string);
new offset = index;
new result[32];
while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
if ((index < length) && (string[index] == seperator))
{
index++;
}
return result;
}
stock SplitIP(ip_string[])
{
new ip[4],string[16];
format(string,sizeof(string),ip_string);
for(new i=0;i<strlen(string);i++)
if(string[i]=='.')
string[i]=' ';
new idx,tmp[32];
for(new i=0;i<4;i++)
{
tmp=L_strtok(string,idx);
if(tmp[0]=='*')
ip[i]=-1;
else
ip[i]=strval(tmp);
}
return ip;
}
PHP код:
if(AdvertisementCheck(text))
{
AccInfo[playerid][MaxAdv]++;
new string[128];
format(string,sizeof(string),"|- Warning! Suspected ads in your message! (Warnings: %d/%d)",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, COLOR_RED,string);
if(AccInfo[playerid][MaxAdv] == MAX_ADV_WARNINGS)
{
KickExMsg(playerid,"Advertising",INVALID_PLAYER_ID);
}
return 0;
}
also if i used www.website.com or any website/ip it doesn't work
any idea/
PHP код:
enum pInfo { MaxAdv }
PHP код:
new AccInfo[MAX_PLAYERS][pInfo];