Я видел не много решений на это "обновление", но все, которые я видел были примерно такими:
PHP код:
// "Основа new.pwn (MySQL R5)"
stock KickFix(playerid, color, message[], bool:toall=false)
{
if(toall == true) SendToAll(color, message);
else SendMe(playerid, color, message);
SetTimerEx("KickPublic", 200, 0, "d", playerid);
return 1;
}
forward KickPublic(playerid);
public KickPublic(playerid)
{
Kick(playerid);
}
По мне, дак это муторно и сложно (скорее лень все аргументы заполнять =р) - большой костыль. Потом я увидел другое решение:
PHP код:
@_kick(playerid);
@_kick(playerid) return Kick(playerid);
#define Kick(%0) SetTimerEx("@_kick",500,false,"i",%0)
Опять же не совсем практично. Так как, если нам понадобится перехватить функцию Kick, у нас будут ошибки. Мне мне вам говорить почему они будут, все есть в уроке.
На счет теста, я не думаю, что функция требует выделения двухмерного массива:
- наврят ли функция будет вызвана для разных игроков точь-в-точь в плоть до доли секунд, и эта разница, я думаю сыграет в лучшую сторону.
- саму по себе функцию я редко видел в модах. Обычно, сервера ограничиваются функциями Kick(), Ban() + сохранение результата куда-либо для дальнейшей загрузки.
А тест провести надо бы :)