Jump to content

návod Anti-Reklama


Recommended Posts

Čaute, používám jednoduchý systém antireklam a rád bych vám ho zveřejnil :)

 

1. Nadefinujeme si webovou adresu našeho serveru

#define WEBPAGE		 "www.pawno.cz" //Změňte si na váš web

 

2. Vytvoříme si stock, ve kterém zapíšeme domény


stock AntiReklama(message[])
{
if(strfind(message,"www.",false) != -1 || strfind(message,"http://",false) != -1 //Nadefinujeme zakázané domény...
|| strfind(message,".sk",false) != -1 || strfind(message,".cz",false) != -1
|| strfind(message,".eu",false) != -1 || strfind(message,".net",false) != -1
|| strfind(message,".com",false) != -1 || strfind(message,".tk",false) != -1
|| strfind(message,".tk",false) != -1 || strfind(message,".ru",false) != -1)
{
if(strfind(message,WEBPAGE,false) == -1) //Pokud zadá náš web
return 1;
}

new len=strlen(message),numbers;
for(new i;i<len;i++)
{
if(IsCharNumeric(message[i]))
numbers++;
}
return 0;
}

3. Vložíme podmínku do OnPlayerText

if(AntiReklama(text)) //Pokud zadá zakázaný text
{
SCM(playerid,RED,"[ Server ]{FFFFFF} Je zakázané dělat reklamu!"); //Odešle hráči varovnou zprávu
//BanEx(playerid, Server - Reklama"); //Zabanuje hráče
return 0; //Zpráva se neodešle
}

Link to comment
Share on other sites

  • Administrátor

stačí třeba napsat wWw. nebo WWW. začal bych tím že bych si string převedl na stejné znaky například mojí funkcí

 

stock ToLower(text[])

{

for(new i ; i

{

if(text[i] > 64 && text[i]

{

text[i] += 32;

}

}

}

 

pak bych z textu odstranil mezery.

A pak bych teprve konrolovat jestli v stringu není náznak webu

Link to comment
Share on other sites

stock AntiReklama(message[])
{
if(strfind(message,"www.",false) != -1 || strfind(message,"http://",false) != -1
|| strfind(message,".sk",false) != -1 || strfind(message,".cz",false)	 != -1
|| strfind(message,".eu",false) != -1 || strfind(message,".net",false) != -1
|| strfind(message,".com",false) != -1 || strfind(message,".tk",false)	 != -1
|| strfind(message,".tk",false) != -1 || strfind(message,".ru",false)	 != -1)
{
 if(strfind(message,WEBPAGE,false) == -1)
 return 1;
}
new len=strlen(message),numbers;
for(new i;i<len;i++)
{
 if(IsCharNumeric(message[i]))
	 numbers++;
}
if(numbers > 7 && numbers < 17)
 return 1;
return 0;
}

 

Takhle by to nešlo? Spatlal jsem to narychlo :)

Link to comment
Share on other sites

  • Administrátor

Ewwe blbosť...

 

http://wiki.sa-mp.com/wiki/Strfind

 

ignorecase (optional)

When set to true, the case doesn't matter - HeLLo is the same as Hello. When false, they're not the same.

 

 

Takže stačí tam dať true miesto false...

jo na to sem zapolměl....

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...