Mike Fisher
Ученик
В марте месяце прошлого года, я реализовал проверку "свёрнуто ли у игрока окно", а на данный форум, смотрю, она ещё не попала. В общем, я нашёл решение, с чем можно связать много чего, что сделает игру интереснее и важнее для задротов. Например, не выдавать игрокам зарплату при свёрнутом окне с игрой.
Как вы уже знаете, OnPlayerUpdate не вызывается при свёрнутой игре.
Если значение определённой переменной неравно нулю, то присваиваем ноль:
Теперь, в колбэк, который вызывается ежесекундно, добавим:
То есть, каждую секунду, если значение переменной равно нулю, присвоим ей единицу, иначе покажем, что игрок в AFK.
Таким образом, когда игрок свернёт окно игры, переменная "ESC" перестанет приравниваться к нулю, а в колбэке, который вызывается каждую секунду, переменная станет равна единице, после чего, над игроком появится текст информирующий о том, что он в AFK.
Автор: Nikifor
Как вы уже знаете, OnPlayerUpdate не вызывается при свёрнутой игре.
Если значение определённой переменной неравно нулю, то присваиваем ноль:
PHP:
public OnPlayerUpdate(playerid)
{
if(ESC[playerid] > 0) ESC[playerid] = 0;
return 1;
}
PHP:
switch(ESC[i])
{
case 0: ESC[i] ++;
default: SetPlayerChatBubble(i, "AFK", -1, 10.0, 1000);
}
Таким образом, когда игрок свернёт окно игры, переменная "ESC" перестанет приравниваться к нулю, а в колбэке, который вызывается каждую секунду, переменная станет равна единице, после чего, над игроком появится текст информирующий о том, что он в AFK.
PHP:
new ESC[MAX_PLAYERS];
public OnPlayerUpdate(playerid)
{
if(ESC[playerid] > 0) ESC[playerid] = 0;
return 1;
}
public Second()
{
for(new i; i < GetMaxPlayers(); i ++)
{
switch(ESC[i])
{
case 0: ESC[i] ++;
default: SetPlayerChatBubble(i, "AFK", -1, 10.0, 1000);
}
}
return 1;
}
Автор: Nikifor
