[CAMPANIE STAFF]Cautam moderatori si designeri activi!
Welcome to WTFCS Community Forums!
Servere gaming la super-preturi! [HOSTING SERVICE]
-->






[PAWN] Sistem Anti Spam Flood
Author : mihay111, Category : Tutoriale, 0 Replyes, 676 Views
EVALUATE THIS TOPIC
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
1 Guest(s)
Moderator
     
577
POSTS
452
THREADS
190
REPUTATION
Male
Sex

WtfCs Coins: 0.15[w]

Suit Member
04-18-2020, 10:15 PM
#1
Creat de South Ragnar47

[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);
}
}
Dacă aveți server fără login:
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();
}


Forum Jump: