Кому-то уже делал:есть ли плагин или иной способ сделать резерв слотов для VIP'ов
public Plugin:myinfo =
{
name = "Admin Reserved Slot",
author = "AlmazON",
description = "Админский резервный слот",
version = "0.1.0",
url = "http://www.hlmod.ru"
}
new iAF, iRS;
public OnPluginStart()
{
LoadTranslations("reservedslots.phrases");
decl String:f[21], Handle:h;
HookConVarChange(h=CreateConVar("admin_reserved_slot_flag", "z", "Admin flag to access.\n\"\" - all."), AF);
GetConVarString(h, f, 21);
iAF = ReadFlagString(f[0] ? f:"abcdefghijklmnopqrstz");
HookConVarChange(h=CreateConVar("admin_reserved_slot_number", "1", "The number of reserved slots.",_, true,0.0, true,50.0), RS);
iRS = GetConVarInt(h);
}
public OnClientPostAdminCheck(C) if(IsFakeClient(C)==false) if(GetClientCount() >MaxClients-iRS) if(GetUserFlagBits(C) & iAF==0)
{
//KickClient(C, "%T", "Slot reserved", C);
decl String:m[100];
FormatEx(m, 100, "%T", "Slot reserved", C);
BanClient(C, 1, BANFLAG_AUTHID, "Admin Reserved Slot", m, "sm_addban");
}
public AF(Handle:C, String:O[], const String:N[]) iAF = ReadFlagString(N[0] ? N:"abcdefghijklmnopqrstz");
public RS(Handle:C, String:O[], String:N[]) iRS = GetConVarInt(C);
Оффтопвыдаются с задержкой
#include <vip_core>
public Plugin:myinfo =
{
name = "[VIP] Admin Reserved Slot",
author = "AlmazON",
description = "Админский резервный слот",
version = "0.1.0",
url = "http://www.hlmod.ru"
}
new iAF, iRS;
public OnPluginStart()
{
LoadTranslations("reservedslots.phrases");
decl String:f[21], Handle:h;
HookConVarChange(h=CreateConVar("admin_reserved_slot_flag", "z", "Admin flag to access.\n\"\" - all."), AF);
GetConVarString(h, f, 21);
iAF = ReadFlagString(f[0] ? f:"abcdefghijklmnopqrstz");
HookConVarChange(h=CreateConVar("admin_reserved_slot_number", "1", "The number of reserved slots.",_, true,0.0, true,50.0), RS);
iRS = GetConVarInt(h);
}
public OnClientPostAdminCheck(C) if(IsFakeClient(C)==false) if(GetClientCount() >MaxClients-iRS) if(GetUserFlagBits(C) & iAF==0 || VIP_IsClientVIP(C)==false)
{
//KickClient(C, "%T", "Slot reserved", C);
decl String:m[100];
FormatEx(m, 100, "%T", "Slot reserved", C);
BanClient(C, 1, BANFLAG_AUTHID, "Admin Reserved Slot", m, "sm_addban");
}
public AF(Handle:C, String:O[], const String:N[]) iAF = ReadFlagString(N[0] ? N:"abcdefghijklmnopqrstz");
public RS(Handle:C, String:O[], String:N[]) iRS = GetConVarInt(C);
Нужен обязательно такой, что идёт уже после OnClientPostAdminCheck(client) и содержит информацию о VIP-статусе игрока. Если вызов будет совершён раньше, то проверка на админ-флаги может быть некорректной, а без флагов - того же админа не пустит, если он сам не VIP.OnClientPostVipCheck
Тогда для эффективности вариант ниже.VIP_OnClientLoaded(iClient, bool:bIsVIP)
Сервер на VDS стоит, жертвовать слотами могу)@Bludnik, есть мысля как сделать но придется пожертвовать одним слотом
СПАСИБО!Тогда для эффективности вариант ниже.
Квары:
admin_reserved_slot_flag - Административный флаг или несколько флагов для доступа к слоту без VIP-статуса.
admin_reserved_slot_number - Количество резервируемых слотов.
Автосоздание конфиг-файла AdminReservedSlot.cfg.
На резервные слоты прочие игроки зайти уже не смогут! Все попытки подключиться к ним приведут к бану на 1 минуту. ОффтопВ исходнике есть и строка кика. Тогда остальные, до самого бана - закомментировать (не рекомендуется).
Последний - будет. Просто, если ты не VIP, то не пустит. Флаги - для админов, у которых отсутствует VIP-статус.без админского флага работать не будет?
Бан выдаётся любому, кто пытался зайти на резервный слот, не предназначенный для него. Если этого не сделать, игрок может постоянно переподключаться и, по факту, слот всё равно почти всегда будет занят. ОффтопО каком бане в 1 мин идет речь?
Ставь последний - лучше уже некуда. Только сам бан разве что "улучшать".что мне делать с тем что вы тут обсудили?
Спасибо за развернутый ответ!Последний - будет. Просто, если ты не VIP, то не пустит. Флаги - для админов, у которых отсутствует VIP-статус.Бан выдаётся любому, кто пытался зайти на резервный слот, не предназначенный для него. Если этого не сделать, игрок может постоянно переподключаться и, по факту, слот всё равно почти всегда будет занят. ОффтопЛовить моменты между его попытками войти никому не приятно.Ставь последний - лучше уже некуда. Только сам бан разве что "улучшать".
Рекомендуется устанавливать от 2 резерв-слотов. ОффтопЧтобы не ждать решения плагина над игроком, зашедший на единственный запретный слот.
Никого кикать и не будет.чтоб при этом ни кого не кикало
Если сервер условно не полон (все резервные слоты свободны), то никакой реакции от плагина никто не увидит. Если же занимается резервный слот VIP-игроком/админом (сервер условно полон), то также никто не увидит никакой разницы. Если такой слот пытается занять "простой смертный", то его просто не пустит на 1 минуту (путём бана).На резервные слоты прочие игроки зайти уже не смогут! Все попытки подключиться к ним приведут к бану на 1 минуту.
Прописать в кваре, вот и всё.8-10 резервных слотов
Последний вопросик об установке! :)Никого кикать и не будет.Если сервер условно не полон (все резервные слоты свободны), то никакой реакции от плагина никто не увидит. Если же занимается резервный слот VIP-игроком/админом (сервер условно полон), то также никто не увидит никакой разницы. Если такой слот пытается занять "простой смертный", то его просто не пустит на 1 минуту (путём бана).Прописать в кваре, вот и всё.
Или после смены карты. Если вобьёшь новые значения кваров в консоль сервера, то и сразу заработает. Оффтопбудет работать после перезагрузки