Wysłany: 2017-01-22, 16:27
fiszuu
Rzygam OGRPG
Wiek: 36 Na forum: 3439 dni Posty: 31
Nick w MP: fiszuu
Jak napisa? skrypt na anty spam?
Wysłany: 2017-01-22, 18:18
MG303
Wiek: 30 Na forum: 6418 dni Posty: 654
Piwa : 2990
Anty spam komendami, na czacie?
Zmienna typu bool np. Kod: new bool:NapisalCos[MAX_PLAYERS] = false;
w OnPlayerText czy tam w komendzie na pocz?tku:
Kod: if(NapisalCos[playerid]) return SCM //Info o spamie
p??niej
Kod: NapisalCos[playerid] = true;
SetTimerEx("ZresetujNapisalCos", 5000, false, "i", playerid); //5sekund, false=wykona sie raz
w callbacku ZresetujNapisalCos(playerid) dasz
Kod: NapisalCos[playerid] = false;
no i w OnPlayerConnect mo?esz da? te?
Kod: NapisalCos[playerid] = false;
Wysłany: 2017-01-22, 20:21
Wafelowski
Wiek: 29 Na forum: 5347 dni Posty: 428
Piwa : 100
Wydaje mi si? ?e lepsza opcj? b?dzie tutaj wykorzystanie gettime() i dw?ch warunk?w.
Deklaracja zmiennych na g?rze skryptu:
Kod: new PlayerSendMessageWarning[MAX_PLAYERS][2];
Czyszczenie zmiennych w OnPlayerConnect:
Kod: PlayerSendMessageWarning[playerid] = {0, 0};
w callbacku OnPlayerText:
Pawn
public OnPlayerText ( playerid , text [])
{
if( PlayerSendMessageWarning [ playerid ][ 0 ] > gettime ())
{
PlayerSendMessageWarning [ playerid ][ 1 ]++;
}
else
{
PlayerSendMessageWarning [ playerid ][ 0 ] = gettime () + 10 ; // + przez ile sekund nie mo?e pisa?
PlayerSendMessageWarning [ playerid ][ 1 ] = 0 ;
}
if( PlayerSendMessageWarning [ playerid ][ 1 ] >= 5 && PlayerSendMessageWarning [ playerid ][ 0 ] > gettime ())
{
SendClientMessage ( playerid , color_red , "Za szybko piszesz, zwolnij." );
return 0 ;
}
return 1 ;
}
Tagi: jak :: napisac.
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: