PDA

Просмотр полной версии : [Вопрос] флуд в чат



Ramos :3
13.01.2015, 01:15
public OnPlayerCheat(playerid,code,reason[])
{
if(PlayerInfo[playerid][bAdminka] > 7) return true;
new string[144];
format(string,sizeof(string),"%s[%d] подозревается в читерстве:[%s (d)]",PlayerInfo[playerid][pNames],playerid,reason,code);
ABroadCast(COLOR_REDD,string,1);
format(string,sizeof(string),"Вы были кикнуты по подозрению в читерстве. Причина: %s (%d)",reason,code);
SendClientMessage(playerid,0xFF0000FF,string);
return 1;
}
Как сделать, чтобы не флудило сильно в чат.

$continue$
13.01.2015, 02:09
Grttime + pvar

Mazzilla
13.01.2015, 11:20
Берём глобальную переменную, допустим:

new player_cheat_time[MAX_PLAYERS];
В паблике OnPlayerCheat присваиваем переменной значение функции gettime() (http://wiki.sa-mp.com/wiki/Gettime) + время, через которое оповещение опять сработает. Допустим, это будет 3 секунды:

player_cheat_time[playerid] = gettime() + 3;
Перед этим делаем проверку, чтобы паблик знал, когда вывести оповещение:

if(player_cheat_time[playerid] < gettime())
{
// вывод сообщения, либо другие действия с игроком.
player_cheat_time[playerid] = gettime() + 3;
}

B OnPlayerConnect обязательно вставляем обнуление данной переменной:

player_cheat_time[playerid] = 0;