-
Нужен перевод.
Нужно перевести на более "простой" язык). Речь идет про индивидуальные таймеры для каждого игрока ( PlayerUpdate ).
OnPlayerDisconnect не вызывается при дудосе, ох уж эти дудосиры...
PHP код:
отсальное обновляй через
типа
static tick_timer[MAX_PLAYERS];
if tick_timer(source) < 4
tick_timer(source) += 1
if tick
и так до 4х
обновляем то что нужно обновить за секунду
но
анти-читы туда не пихаем
это раз
в начале лучше делать проверку на коннект
если её нет
обнуляем все переменные
и убиваем таймер
таймер лучше создать через пвар
пример: SetPVarInt(playerid,"SourceTimer",SetTimerEx("UpdatePlayer","d",playerid));
убивать так: KillTimer(GetPVarInt(playerid,"SourceTimer"));
что ещё может освободить память в стеке
Особо интересны вот эти моменты :
tick_timer(source)
таймер лучше создать через пвар
пример: SetPVarInt(playerid,"SourceTimer",SetTimerEx("UpdatePlayer","d",playerid));
убивать так: KillTimer(GetPVarInt(playerid,"SourceTimer"));
-
"Простой" - язык Pawn?
В начало мода:
PHP код:
static tick_timer[MAX_PLAYERS];
В OnPlayerConnect
PHP код:
SetPVarInt(playerid,"SourceTimer",SetTimerEx("UpdatePlayer", 250, true, "i", playerid));
PHP код:
public UpdatePlayer(playerid)
{
if(!IsPlayerConnected(playerid)) return KillTimer(GetPVarInt(playerid,"SourceTimer"));
if(tick_timer[playerid] < 4) tick_timer[playerid]++;
else if(tick_timer[playerid] >= 4)
{
tick_timer[playerid] = 0;
//Твой код
}
return 1;
}