Добро пожаловать на Pawno-Info.Ru - Портал о программировании №1

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям и ответы на все интересующие Вас вопросы. После регистрации Вы сможете создавать темы, публиковать ответы, влиять на репутацию пользователей форума, обмениваться личными сообщениями и многое другое. Это быстро и совершенно бесплатно, так чего же Вы ждете?
Доступ к архиву

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

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

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

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andreas? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

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

ARTIST26

Изучающий
Пользователь
Регистрация
19 Фев 2012
Сообщения
101
Лучшие ответы
0
Репутация
16
Возраст
35
Адрес
г. Смоленск (Россия)
Добрый вечер уважаемые пользователи. Возникает проблемма на моём сервере,где стоит мод RLS.Кикает игроков которые онлайн,то-есть не AFK.Они в игре но всё равно время AFK над головами едёт. После 5-и минут получают kick. Прошу помоть отрегулировать кое-как эту систему AFK.(для тех кто хорошо знаком с RLS модом).Заранее вам всем спасибо.


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;
}
 
Статус
В этой теме нельзя размещать новые ответы.
shape1
shape2
shape3
shape4
shape7
shape8
Сверху Снизу