ТС, придумайте что-нибудь на счёт функции / макроса
IsPlayerPaused. Из-за небольшой системы загружать всю библиотеку очень не логично.
Хорошо. На примере покажу как можно это реализовать.
В
OnPlayerUpdate устанавливаем значение переменной игрока в тиках:
PHP код:
SetPVarInt(playerid, "player_afk_time", GetTickCount());
Данный паблик вызывается только тогда, когда игрок
не находится в AFK. То есть, если игрок ушёл в AFK, мы замерили то время, когда он в последний раз был AFK.
Далее просто проверяем проверкой, сколько времени прошло с начала AFK игрока данным способом:
PHP код:
if(GetTickCount() - GetPVarInt(playerid, "player_afk_time") > 3000) {
// игрок находится в AFK
}
Почему проверка на больше чем 3000 милисекунд ( а это 3 секунды )? Дело в том, что при стате игрока:
PLAYER_STATE_WASTED сервер считает, игрок в AFK, из-за того что он не заспавнился.
Далее, если не особо хочется писать длинный код на проверку, показанную выше можно сделать полезный макрос ( в данном случае назовём его также, как в Вашем мануале ), который мы добавим в начало скрипта:
PHP код:
#define IsPlayerPaused(%0) \
GetTickCount() - GetPVarInt(%0, "player_afk_time") > 3000
И используем в данном случае также как и в Вашем мануале:
PHP код:
if (IsPlayerPaused(playerid))
// игрок находится в AFK
Вот мы и избавились от подключения лишней библиотеки. :mosking: