-->
WTFCS Community | Gaming community @ since 2011
/
WTFCS - GAMING
/
Lumea jocurilor
/
SA:MP
/
Ajutor scripting
/
Tutoriale
/
[PAWN] Sistem Anti Spam Flood
[PAWN] Sistem Anti Spam Flood
Author : mihay111,
Category : Tutoriale,
0 Replyes,
681 Views
1 Guest(s)
04-18-2020, 10:15 PM
Creat de South Ragnar47
[b][1] - Anti-Flood pentru boți spam[/b]
[2] - Anti-Flood pentru Kill-Spam
Majoritatea care folosesc acest program, nu se și loghează pe server, așa ca la OnPlayerDeath puneți următorul cod
[b][b][3] - Anti-Flood ZCMD[/b][/b]
[4] - Anti-Exit Car SPAM
Dacă aveți server fără login:
[b][1] - Anti-Flood pentru boți spam[/b]
Code:
OnPlayerConnect:
if(CountIP(GetIP(playerid)) > 2 && !IsPlayerNPC(playerid))
{
Kick(playerid);
return 1;
}
la sfârșitul gamemode-ului:
stock CountIP(ipaddress[])
{
new ipcount = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !strcmp(GetIP(i),ipaddress))
{
ipcount++;
}
}
return ipcount;
}
stock GetIP(playerid)
{
new ip[16];
GetPlayerIp(playerid,ip,sizeof(ip));
return ip;
}
[2] - Anti-Flood pentru Kill-Spam
Majoritatea care folosesc acest program, nu se și loghează pe server, așa ca la OnPlayerDeath puneți următorul cod
Code:
if(gPlayerLogged[playerid] == 0) // schimbati in variabila voastra de login
{
Kick(playerid);
} Dacă totuși e logat puteți folosi următorul script
//la inceputul scriptului
new Avertizari[MAX_PLAYERS];
//la onplayerconnect / onplayerdisconnect
Avertizari[playerid] = 0;
//la onplayerdeath
if(killerid != INVALID_PLAYER_ID && killerid != playerid)
{
if(GetDistanceBetweenPlayers(playerid,killerid) > 100)
{
if(GetPlayerWeapon(killerid) != reason)
{
Avertizari[playerid]++;
if(Avertizari[playerid] > 2)
{
Kick(playerid);
}
}
}
[b][b][3] - Anti-Flood ZCMD[/b][/b]
Code:
#include <zcmd>
new timeSpam[MAX_PLAYERS];
new ZcmdSpam[MAX_PLAYERS];
la OnplayerConnect/onplayerdisconnect
ZcmdSpam[playerid] = 0;
public OnPlayerCommandReceived(playerid, cmdtext[])
{
if(GetTickCount() - timeSpam[playerid] < 1000)
{
SendClientMessage(playerid, 0xFFFFFFFF, "Nu mai face spam!");
ZcmdSpam[playerid]++;
if(ZcmdSpam[playerid] > 3)
{
Kick(playerid);
}
return 0;
}
timeSpam[playerid] = GetTickCount();
return 1;}
[4] - Anti-Exit Car SPAM
Code:
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(gPlayerLogged[playerid] == 0) // variabila care verifica daca userul este logat
{
Kick(playerid);
}
}
Code:
new ExitTime[MAX_PLAYERS];
new ExitNumber[MAX_PLAYERS];
//la onplayerconnect / onplayerdisconnect
ExitTime[playerid] = 0;
ExitNumber[playerid] = 0;
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(GetTickCount() - ExitTime[playerid] < 1000)
{
ExitNumber[playerid]++;
if(ExitNumber[playerid] > 3)
{
Kick(playerid);
}
return 0;
}
ExitTime[playerid] = GetTickCount();
}