01.11.2012, 09:39
Если смотреть в корень проблемы использования OnPlayerUpdate, то изза чего возникают глюки?
Основная причина того, что время выполнения этого колбека больше, чем интервал его вызова.
Например: Код в нем выполняется 100мс, а вызывается он раз в ~40мс.
Думаю с кодом ниже вопросов не будет.
Можешь сделать такую проверку, и узнать бывает-ли у тебя такие наложения или нет:
Основная причина того, что время выполнения этого колбека больше, чем интервал его вызова.
Например: Код в нем выполняется 100мс, а вызывается он раз в ~40мс.
Думаю с кодом ниже вопросов не будет.
PHP код:
new TimeWork = tickcount();
for(new i=0; i<1000000; i++)
{
new tick = tickcount();
}
printf("Проход занял: %dms",tickcount() - TimeWork);
// [13:49:12] Проход занял занял: 155ms
PHP код:
new bool:OnPlayerUpdate_run;
OnPlayerUpdate(playerid)
{
if(OnPlayerUpdate_run == true) print("OnPlayerUpdate: recursion !!!");
OnPlayerUpdate_run = true;
// Твой код
OnPlayerUpdate_run = false;
return 1;
}

