Szerző Téma: Anti Flood  (Megtekintve 839 alkalommal)

Anti Flood
« Dátum: 2012. október 22. - 20:14:51 »
0 Show voters
Sziasztok!
Egy Anti Flood FS-t szeretnék kérni!  :)
Ha valakit tud plz írjon 1-et! 
Olyat ,hogy 3másodpercenként lehessen elküldeni ugyanazt ha valaki 3x leírja akkor Ne floodolj!Következõ Kick!
De ne olyan legyen h pl:
beírja alma, 4karaktar meg szék 4karakter akkor ne kickelje csak ha ugyanazt írja le!  :shifty:
Oda meg írja ,hogy %s kickelve lett floodolás miatt!  8)
Köszi szépen!  :D
A 4-edik legyen a Kick! :D ty.

Dupla hozzászólás automatikusan összefûzve. ( 2012. október 22. - 21:44:59 )

Unalmamba fordítottam 1-et :D
Akinek kell írjon PM-et!  8)
« Utoljára szerkesztve: 2012. október 22. - 21:44:59 írta Ezredes.$ »

Anti Flood
« Válasz #1 Dátum: 2012. október 23. - 14:22:32 »
0 Show voters

#include <a_samp>
#define FLOOD_KICK 3 // ennyi figyelmeztetés után lesz kick
#define FLOOD_IDO 3 // Ennyi másodpercenként írhatja ugyanazt a szöveget
// Játékos változók:
enum fdata
{
    FloodIdo,
    FloodSzoveg[256], //Szükség esetén növeld
    FloodWarning
};
new FloodData[MAX_PLAYERS][fdata],FloodTimer;
forward flood_ellenoriz(playerid, szoveg[]);
public flood_ellenoriz(playerid, szoveg[])
{
if(FloodData[playerid][FloodIdo] != 0 && !strcmp(FloodData[playerid][FloodSzoveg], szoveg, true))
{
FloodData[playerid][FloodWarning]++;
if(FloodData[playerid][FloodWarning] >= FLOOD_KICK)
{
    new globalstr[128], jatekosneve[MAX_PLAYER_NAME];
    GetPlayerName(playerid, jatekosneve, MAX_PLAYER_NAME);
   format(globalstr,128,\"%s kirúgva flood miatt!\",jatekosneve);
   SendClientMessageToAll(0xFF0000FF, globalstr);
   Kick(playerid);
   return true;
}
SendClientMessage(playerid, 0xFF0000FF,\"Ne floodolj!\");
return true;
}
FloodData[playerid][FloodIdo] = FLOOD_IDO;
strmid(FloodData[playerid][FloodSzoveg], szoveg, 0, strlen(szoveg), 256);
return false;
}
forward Flood_Timer();
public Flood_Timer()
{
for(new playerid=0; playerid < MAX_PLAYERS; playerid++)
{
    if(!IsPlayerConnected(playerid) || FloodData[playerid][FloodIdo] < 1) continue;
    FloodData[playerid][FloodIdo] --;
}
}
public OnFilterScriptInit()
{
print(\"\\n-------------------------------------------\");
print(\" AntiFlood betöltve | Scripted by.: RoolykA064\");
print(\" -> www.sampforum.hu \");
print(\"--------------------------------------------\\n\");
FloodTimer = SetTimer(\"Flood_Timer\",1000,1);
return 1;
}
public OnFilterScriptExit()
{
KillTimer(FloodTimer);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(flood_ellenoriz(playerid,text)) return 0;
return 1;
}
public OnPlayerConnect(playerid)
{
    FloodData[playerid][FloodIdo] = 0;
    FloodData[playerid][FloodSzoveg][0] = EOS;
    FloodData[playerid][FloodWarning] = 0;
return 1;
}

 
Nem teszteltem, szóval nem száz százalékos, hogy mûködni fog, de jelezzetek, és javítom ha bajos :D!

Anti Flood
« Válasz #2 Dátum: 2012. október 23. - 14:26:52 »
0 Show voters
Köszi!:)
Majd megnézem ,ha lesz idõm!:D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal