Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Don Marquez poslato Novembar 23, 2014, 19:20:01 POSLE PODNE

Naslov: [POMOC]Ogranicavanje botova
Poruka od: Don Marquez poslato Novembar 23, 2014, 19:20:01 POSLE PODNE
Skripta koju koristim:Moja
Detaljan opis problema:Kako da napravim u modu da ako neko oce da ubaci botove na srw da moze samo ubaciti sa jedne ip adrese i da stavim ogranicen broj koliko moze ubaciti botova.Ako mi mozete dati neki kod.
Dio skripte:gamemode
Neke slike/video za lakse dobivanje pomoci(neobavezno):Dacu ako bude potrebno
Naslov: Odg: [POMOC]Ogranicavanje botova
Poruka od: #Dado poslato Novembar 24, 2014, 00:24:01 PRE PODNE

#define IP_LIMIT 5// = Max connect from 1 ip
#define SAME_IP_CONNECT 5 // = The number of connects from the same IP before banning the flooder
new Same_IP=0,Join_Stamp,ban_s[25],exceed=0;
#define Time_Limit 1 // = The time span between connects, adjust it to your own specifications
new Security = 0;

I dodas pod onplayerconnect

    new ConnIP[16];
GetPlayerIp(playerid,ConnIP,16);
new compare_IP[16];
new number_IP = 0;
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
    GetPlayerIp(i,compare_IP,16);
    if(!strcmp(compare_IP,ConnIP)) number_IP++;
}
}
if((GetTickCount() - Join_Stamp) < Time_Limit)
    exceed=1;
else
    exceed=0;
if(strcmp(ban_s, ConnIP, false) == 0 && exceed == 1 )
{
    Same_IP++;
    if(Same_IP > SAME_IP_CONNECT)
    {
    Kick(playerid);
Same_IP=0;
    }
}
else
{
Same_IP=0;
}
if(number_IP > IP_LIMIT)
    Ban(playerid);
GetStampIP(playerid);
    new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
if(Security != 0)
{
    SendClientMessage(playerid, -1, ""BELA"Domacin je prekrsio jedan od pravila sporazuma, preduzete su mere!");
    Kick(playerid);
    return 1;
}