SA:MP - Pawno - [TUT] Basic Anti-spam Daniel Milder | 21.08.2008
V dnešnej dobe je na svete veľa lám preto sa treba chrániť.
- 1.Zadefinujeme globálnu premennu z nejakým názvom, v mojom prípade message (vkladame na začiatok módu)
kód:
new message[MAX_PLAYERS];- 2.Teraz ošetríme samotne telo funkcie OnPlayerText tak že ak hráč odošle správu nastaví sa premenna message[playerid] = 1; Potom nastavíme timer na čas za ktorý nemôže pridať dalšiu správu v mojom prípade 5000 = 5sekund
-odoslanie dalšej správy zamedzíme tak že ak je už jedna správa odoslaná teda message[playerid] = 1;
OnPlayerText vráti hodnotu flase teda nevykoná sa. Môže to vyzerať takto:
kód:
if(message[playerid] == 1) return 0;Celé telo funkcie OnPlayerText bude vyzerať takto:
kód:
public OnPlayerText(playerid, text[]){
if(message[playerid] == 1) {//uz odoslal jednu spravu
SendClientMessage(playerid,COLOR_RETARD,"-----> Jedna sprava za 5 SEKUND");// upozornenie
return 0;// zamedzenie odoslaniu spravy >> spominana hodnota false
} else {// opacny pripad ked sprava este nebola odoslana
message[playerid] = 1;//nastavime odoslanie spravy
SetTimerEx("spam",5000,0,"i",playerid);//timer ktory resetne hodnotu message za 5 sekund
}
return 1;
}
- 3.Spravíme si ešte funkciu pre timer ktorá resetne hodnotu message...Môže to vyzerať takto:
kód:
forward spam(playerid); //nezabudnite forwardpublic spam(playerid)
{
message[playerid] = 0;//reset hodnoty...
}
Nemalo by to byť nejaké extra náročné. Ale je to veľmi užitočné.
By Misco