Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Проблема с АФК

Статус
В этой теме нельзя размещать новые ответы.

sanches

Дебютант
Висит над головой постоянная надпись афк! изза этого скины лагают что делать? пробовал убрать афк совсем начинает чел дрыгаться! заменяю афк систему тоже так же висит надпись! и дрыгаеться чел! народ помогите кто нибудь я уже на грани!!!



Вся система вот
PHP:
forward AFKProcessor();
enum afker
{
TickEx,
ChekEx,
VarEx,
bool:pSpawnEx,
bool:AFKEx,
}
new PlayerEx[MAX_PLAYERS][afker];
new afkto[MAX_PLAYERS];
PlayerEx[playerid][pSpawnEx] = false;
PlayerEx[playerid][AFKEx] = false;
afkto[playerid] = 2;  //public OnPlayerConnect
afkto[playerid] = 0; // public OnPlayerDisconnect
afkto[playerid] = 0; //public OnPlayerDeath
PlayerEx[playerid][pSpawnEx] = false; //public OnPlayerDeath
PlayerEx[playerid][pSpawnEx] = true; //public OnPlayerLogin
afkto[playerid] = 0; // public OnPlayerDeath
AFKProcessor();  //public Fresh()

Convert(number)
{
        new hours = 0, mins = 0, secs = 0, string[100];
        hours = floatround(number / 3600);
        mins = floatround((number / 60) - (hours * 60));
        secs = floatround(number - ((hours * 3600) + (mins * 60)));
        if(hours > 0)
        {
        format(string, 100, "%d:%02dm:%02ds", hours, mins, secs);
        }
        else
        {
        format(string, 100, "%d:%02d", mins, secs);
        }
        return string;
}

forward CountEx();
public CountEx()
{
OtherTimer();
for(new x = 0; x < MAX_PLAYERS; x++)
{
 if(IsPlayerConnected(x))
  {
  if(PlayerEx[x][ChekEx] == PlayerEx[x][TickEx])
  {
  if(PlayerEx[x][pSpawnEx] == true)
  {
  PlayerEx[x][AFKEx] = true;
  }
  }
  PlayerEx[x][ChekEx] = PlayerEx[x][TickEx];
  }
}
return 1;
}
public AFKProcessor()
{
        for(new x = 0; x < MAX_PLAYERS; x++)
        {
                if(IsPlayerConnected(x))
                {
                if(PlayerEx[x][ChekEx] < PlayerEx[x][TickEx])
                {
                        if(PlayerEx[x][AFKEx] == true)
                        {
                                PlayerEx[x][VarEx] = 0;
                                PlayerEx[x][AFKEx] = false;
                        }
                }
                if(PlayerEx[x][AFKEx] == true)
                {
                                PlayerEx[x][VarEx]++;
                }
                if(PlayerInfo[x][pAdmin] <= 0)
                {
                        if(PlayerEx[x][VarEx] > 300)
                        {
                                OnPlayerUpdateRL(x);
                                        SendClientMessage(x,COLOR_REDD,"[AFK]: Вы были отсоедены от сервера!");
                                Kick(x);
                                PlayerEx[x][VarEx] = 0;
                                }
                        }
                if(PlayerEx[x][VarEx] > 1)
                {
                        new stringF[50];
                        format(stringF,sizeof(stringF),"[AFK] [%s secunde]",Convert(PlayerEx[x][VarEx]));
                                SetPlayerChatBubble(x, stringF, COLOR_GREEN, 30.0, 1200);
                        }
                }
        }
        return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу