Jump to content

[Tutorial] Anti-Reclama Samp


Recommended Posts

Posted

Tutorial Anti-Reclama by FLR!

 

 

 

1.Cauta:

 

public OnPlayerText(playerid, text[])
 

 

 

Aici adaugi asta:

 

//////////////////
// * Anti * //
// * Reclama * //
/////////////////
if(GoIP(text))
{
   for(new i=0; i<MAX_PLAYERS; i++)
   {
	if(IsPlayerConnected(i))
	{
		new reclama[MAX_PLAYER_NAME];
		GetPlayerName(playerid, reclama, sizeof(reclama));
		format(string, sizeof(string), "[server]: %s (%d) was banned, reason: Reclama",reclama,i);
		SendClientMessageToAll(0xFF6347AA,string);
		SendClientMessage(playerid, 0xFF0000FF, "[ENG]:You have banned , because you write an IP Adress.");
		SendClientMessage(playerid, 0xFF0000FF, "[RO]:Tu ai fost bannad pentru ca ai scris o adresa IP.");
		PlayerInfo[giveplayerid][pLevel] = -999;
		Ban(giveplayerid);
		BanLog(string);
	}
	else
	{
  	  	SendClientMessage(playerid, 0xFF0000FF, "[ENG]:You are not fully connected.");
  	  	SendClientMessage(playerid, 0xFF0000FF, "[RO]:Inca nu te-ai conectat.");
	}
}
return 1;
}
 

 

 

2. La sfarsitul GM-ului adaugati:

 

GoIP(StrToChk[])
{
new IpLevel = 0;
for(new a = 0; a < strlen(StrToChk); a++)
{
	switch(IpLevel)
	{
		case 0:
		{
			if(IsNum(StrToChk[a])) IpLevel++;
		}
		case 1, 2:
		{
			if(IsNum(StrToChk[a])) IpLevel++;
			else if(StrToChk[a] == '.') IpLevel = 4;
			else IpLevel = 0;
		}
		case 3:
		{
			if(StrToChk[a] == '.') IpLevel++;
			else IpLevel = 0;
		}
		case 4:
		{
			if(IsNum(StrToChk[a])) IpLevel++;
			else IpLevel = 0;
		}
		case 5, 6:
		{
			if(IsNum(StrToChk[a])) IpLevel++;
			else if(StrToChk[a] == '.') IpLevel = 8;
			else IpLevel = 0;
		}
		case 7:
		{
			if(StrToChk[a] == '.') IpLevel++;
			else IpLevel = 0;
		}
		case 8:
		{
			if(IsNum(StrToChk[a])) IpLevel++;
			else IpLevel = 0;
		}
		case 9, 10:
		{
			if(IsNum(StrToChk[a])) IpLevel++;
			else if(StrToChk[a] == '.') IpLevel = 12;
			else IpLevel = 0;
		}
		case 11:
		{
			if(StrToChk[a] == '.') IpLevel++;
			else IpLevel = 0;
		}
		case 12:
		{
			if(IsNum(StrToChk[a])) return 1;
			else IpLevel = 0;
		}
	}
}
return 0;
}

IsNum(textchar)
{
if(textchar == '0') return 1;
if(textchar == '1') return 1;
if(textchar == '2') return 1;
if(textchar == '3') return 1;
if(textchar == '4') return 1;
if(textchar == '5') return 1;
if(textchar == '6') return 1;
if(textchar == '7') return 1;
if(textchar == '8') return 1;
if(textchar == '9') return 1;
return 0;
}
 

 

 

 

3. Iar acum pentru ca anti-reclama sa mearga si la celelalte chaturi [ /o /a /n /f /news ...etc]

 

Adaugati la fiecare chat asta:

 

if(FindIP(result)) /// Anti-Reclama
{
new advertiser[MAX_PLAYER_NAME];
GetPlayerName(playerid, advertiser, sizeof(advertiser));
format(string, sizeof(string), "[server]: %s was kicked by AdminBot, reason: Server advertising.",advertiser);
SendClientMessageToAll(COLOR_RED,string);
KickLog(string);
Kick(playerid);
return 1;
}

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...