[1.4.1] AFK Control (менеджер AFK)

F1RST

Пользователь
Регистрация
8 Июн 2017
Сообщения
19
Симпатии
5
Пол
Мужской
#1
Автор : neugomon

AFK Control
- финальная полуприватная версия менеджера AFK. В нём собрано всё лучшее, что придумано за годы разработок подобных плагинов различными скриптерами.
AFK, или Away From Keyboard - обозначение игрока, бросившего играть по каким-то причинам, но не вышедшего с сервера. Такой игрок может пойти покурить, поесть. При этом в игре он стоит на респе и ничего не делает. В итоге его команда играет как бы в меньшинстве при формально равном численном составе. А если такой игрок ещё и с бомбой, то выиграть становится невозможно. Данный плагин полностью решает описанную проблему.

Описание:
  • Настраиваемый иммунитет для админов
  • Поддержка CSDM
  • Если игрок AFK, то он выкидывает бомбу на пол либо передаёт другому игроку в зависимости от настроек.
  • Минимальная нагрузка на сервер из всех существующих аналогов
  • Настраиваемый минимум игроков, при которых плагин начинает проверять на AFK
  • Если сервер не заполнен, то игрок AFK перемещается в зрители. Таким образом вы не теряете игроков, просто кикая с сервера. Игрок мог просто отойти на пару минут. А со стороны будет казаться, что сервер заполнен. На заполненные сервера игроки заходят охотнее, чем на пустые. Бережное отношение к AFK напрямую влияет на ваш онлайн.
  • При достижении указанного лимита игроков AFK начинают кикаться из зрителей.
Настройки:
PHP:
#define ACCESS_LEVEL_IMMUNITY (ADMIN_MENU|ADMIN_LEVEL_H)     // Уровень доступа позволяющий беспрепятственно сидеть в зрителях

#define TIME_AFK_CHECK 15.0                     // Интервал между проверками игроков, чем меньше значение, тем больше нагрузка на сервер.
#define MAX_AFK_WARNING 3                     // Количество предупреждений после которых последует наказание.
#define TIME_SPECT_CHECK 60.0                     // Интервал между проверками зрителей, чем меньше значение, тем больше нагрузка на сервер.
#define MAX_SPECT_CHECK_PL 2                     // Количество проверок игрока на нахождение в зрителях, после которых его кикнет
#define MIN_PLAYERS_CHECK 30                     // Минимальное количество игроков, когда включается функция проверки зрителей.
// #define NOROUND                        // Включает поддержку серверов с бесконечным раундом. Например CSDM, GunGame
#define BOMB_TRANSFER                         // Передавать ли бомбу игрокам, если игрок AFK.
                                    // [Закомментируйте, если хотите, чтобы бомба просто выкидывалась]
                                    // !!! Включение прибавит чутка нагрузки !!!
Установка:
  • скачиваем исходник плагина
  • меняем настройки по своему усмотрению.
  • ставим на сервер и радуемся
 

Вложения

Cygb6a

Пользователь
Регистрация
13 Июн 2017
Сообщения
80
Симпатии
3
Пол
Мужской
#2
#define ACCESS_LEVEL_IMMUNITY (ADMIN_MENU|ADMIN_LEVEL_H) // Уровень доступа позволяющий беспрепятственно сидеть в зрителях
Как правильно прописать Флаг иммунитета на (a) я просто не силён в флагах
мне нужно чтоб иммунитет был на флаге (a) Заранее спасибо
 

GALAXY

Пользователь
Регистрация
11 Июн 2017
Сообщения
32
Симпатии
13
Пол
Мужской
#3
#define ACCESS_LEVEL_IMMUNITY (ADMIN_MENU|ADMIN_LEVEL_H) // Уровень доступа позволяющий беспрепятственно сидеть в зрителях
Как правильно прописать Флаг иммунитета на (a) я просто не силён в флагах
мне нужно чтоб иммунитет был на флаге (a) Заранее спасибо
  • ADMIN_ALL 0 /* everyone */
  • ADMIN_IMMUNITY - flag "a"
  • ADMIN_RESERVATION - flag "b"
  • ADMIN_KICK - flag "c"
  • ADMIN_BAN - flag "d"
  • ADMIN_SLAY - flag "e"
  • ADMIN_MAP - flag "f"
  • ADMIN_CVAR - flag "g"
  • ADMIN_CFG - flag "h"
  • ADMIN_CHAT - flag "i"
  • ADMIN_VOTE - flag "j"
  • ADMIN_PASSWORD - flag "k"
  • ADMIN_RCON - flag "l"
  • ADMIN_LEVEL_A - flag "m"
  • ADMIN_LEVEL_B - flag "n"
  • ADMIN_LEVEL_C - flag "o"
  • ADMIN_LEVEL_D - flag "p"
  • ADMIN_LEVEL_E - flag "q"
  • ADMIN_LEVEL_F - flag "r"
  • ADMIN_LEVEL_G - flag "s"
  • ADMIN_LEVEL_H - flag "t"
  • ADMIN_MENU - flag "u"
  • ADMIN_ADMIN - flag "y"
  • ADMIN_USER - flag "z"
 
Последнее редактирование модератором:

Cygb6a

Пользователь
Регистрация
13 Июн 2017
Сообщения
80
Симпатии
3
Пол
Мужской
#4
  • ADMIN_ALL 0 /* everyone */
  • ADMIN_IMMUNITY - flag "a"
  • ADMIN_RESERVATION - flag "b"
  • ADMIN_KICK - flag "c"
  • ADMIN_BAN - flag "d"
  • ADMIN_SLAY - flag "e"
  • ADMIN_MAP - flag "f"
  • ADMIN_CVAR - flag "g"
  • ADMIN_CFG - flag "h"
  • ADMIN_CHAT - flag "i"
  • ADMIN_VOTE - flag "j"
  • ADMIN_PASSWORD - flag "k"
  • ADMIN_RCON - flag "l"
  • ADMIN_LEVEL_A - flag "m"
  • ADMIN_LEVEL_B - flag "n"
  • ADMIN_LEVEL_C - flag "o"
  • ADMIN_LEVEL_D - flag "p"
  • ADMIN_LEVEL_E - flag "q"
  • ADMIN_LEVEL_F - flag "r"
  • ADMIN_LEVEL_G - flag "s"
  • ADMIN_LEVEL_H - flag "t"
  • ADMIN_MENU - flag "u"
  • ADMIN_ADMIN - flag "y"
  • ADMIN_USER - flag "z"
Спасибо большое
 

famas

Пользователь
Регистрация
13 Июн 2017
Сообщения
39
Симпатии
2
Пол
Мужской
#8
Может у кого есть 0.5 версия??
 

famas

Пользователь
Регистрация
13 Июн 2017
Сообщения
39
Симпатии
2
Пол
Мужской
#10
А плагины reapi они легче ? или просто написаны для reapi?
 

Slowpoked

Заблокированные
Регистрация
8 Июн 2017
Сообщения
41
Симпатии
9
#12
155 строка:
Код:
ChatColor(0, players[i], "^1[^4AFKControl^1] ^4У игрока ^3%s ^4отобрана бомба, так как находится ^3AFK", szName);
Данное сообщение видят все, подскажите как сделать ... что бы его видели только игроки ТВОЕЙ команды ( В данном случае TS )
 

Izmayl7

Пользователь
Регистрация
9 Июн 2017
Сообщения
408
Симпатии
65
Пол
Мужской
#13
ребят подскажите как сделать так или связать этот плагин афк контроль и плагин csdm_spec
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csdm>
#include <colorchat>
 
new bool:g_StopRespawn[33]
new CsTeams:g_TeamRespawn[33]
 
public csdm_Init(const version[])
{
    if (version[0] == 0)
    {
        set_fail_state("CSDM failed to load.")
        return
    }
}
 
public plugin_init()
{
   register_plugin("CSDM Spec", "1.0", "miRror")
   register_clcmd("say /spec", "teamchange", 0)
   register_clcmd("spec", "teamchange", 0)
   set_msg_block( get_user_msgid( "ClCorpse" ), BLOCK_SET )
}
 
public csdm_PostDeath(killer, victim, headshot, const weapon[])
{
    if(g_StopRespawn[victim])
        return PLUGIN_HANDLED
 
    return PLUGIN_CONTINUE
}
 
public client_connect(id)
{
   g_StopRespawn[id] = false
}
 
public teamchange(id)
{
   if (!is_user_connected(id))
      return PLUGIN_HANDLED
    
   new CsTeams:Team = cs_get_user_team(id)
    
   if(Team == CS_TEAM_T || Team == CS_TEAM_CT)
   {
      g_StopRespawn[id] = true
      user_silentkill(id)
      g_TeamRespawn[id] = Team
      cs_set_user_team(id, CS_TEAM_SPECTATOR)
      ColorChat(id,GREEN,"^4[^1Действие^4] ^1Вы перешли в наблюдателей!" )
   } else {
      g_StopRespawn[id] = false
      cs_set_user_team(id, g_TeamRespawn[id])
      csdm_respawn(id)
      ColorChat(id,GREEN,"^4[^1Действие^4] ^1Вы вернулись в игру!" )
   }
   return PLUGIN_CONTINUE
}
. чтобы игрока стоявщего афк, aфк контроль перевел в спектра. и по команде /spec можна было вернуться, пока что игрока еще не выкинуло из спектров. а то получается когда стоят 2 этих плагинов афк контроль переводит игрока в спектра... а из спектров игрок не может по команде /spec вернуться в игру... как то так. и чтобы афк контроль админов и випов не кикал и не переводил в спектра))
 

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
359
Симпатии
56
Пол
Мужской
#14
Где изменить время отбора плента? А то во время голосования за карту, забирает плент :)
 

Izmayl7

Пользователь
Регистрация
9 Июн 2017
Сообщения
408
Симпатии
65
Пол
Мужской
#15
а можна ли как нить вырезать перевод в спектра, а сразу после такого времени, кикало с сервера игрока?!) заранее спасибо=!)
 

Kobalt

Пользователь
Регистрация
9 Июн 2017
Сообщения
151
Симпатии
22
Пол
Мужской
#16
Izmayl7, в исходнике просто закомментируй вывод чата.
 

Kobalt

Пользователь
Регистрация
9 Июн 2017
Сообщения
151
Симпатии
22
Пол
Мужской
#18
Izmayl7, сейчас прочитав внимательно.. я так понимаю, чтобы сразу кикал с сервера а не наблюдатели:D :-D xD не знаю, как это сделать) автор либо кто-то из опытных возможно сделает)
 

Izmayl7

Пользователь
Регистрация
9 Июн 2017
Сообщения
408
Симпатии
65
Пол
Мужской
#19
Izmayl7, сейчас прочитав внимательно.. я так понимаю, чтобы сразу кикал с сервера а не наблюдатели:D :-D xD не знаю, как это сделать) автор либо кто-то из опытных возможно сделает)
да я про это имел ввиду, чтобы по определенному времени не переводило в спектр, а кикало с сервера игрока, через заданное время=!) бывает=!):D :-D xDWink
 

Sant1

Пользователь
Регистрация
30 Июн 2017
Сообщения
26
Симпатии
2
Пол
Мужской
#20
L 08/04/2017 - 17:27:32: Start of error session.
L 08/04/2017 - 17:27:32: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20170804.log")
L 08/04/2017 - 17:27:32: [FAKEMETA] Invalid entity
L 08/04/2017 - 17:27:32: [AMXX] Run time error 10 (plugin "afk_control.amxx") (native "pev") - debug not enabled!
L 08/04/2017 - 17:27:32: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).