Резервные слоты
		
		Тема заброшена: В данной теме не было ответов более 60 дней.
За это время некоторые ее участники могли уйти с форума, состариться и умереть.
	За это время некоторые ее участники могли уйти с форума, состариться и умереть.
- 
				dityatko
 
- Сообщения: 164
- Зарегистрирован: 09 окт 2021, 12:11
- Репутация: 2
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
- Статус: Не в сети
Резервные слоты
Приветсвую.Хочу зарезервировать один слот. А как зарезервировать именно под какой то флаг?
			
			
									
						- 
				Сергей Григорьичев
 
- Сообщения: 19
- Зарегистрирован: 03 ноя 2021, 01:11
- Репутация: 0
- Поблагодарили: 1 раз
- Статус: Не в сети
Резервные слоты
Стандартный плагин этим занимается, флаг b
Название точно не помню что-то admin_slot
			
			
									
						Название точно не помню что-то admin_slot
- 
				Host-v
 
- Администратор
- Сообщения: 149
- Зарегистрирован: 04 окт 2020, 14:08
- Репутация: 11
- Откуда: Красноярск
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
- Статус: Не в сети
Резервные слоты
Плагин называется adminslots.sma
А вот по флагу может кто из скриптёров подскажет?.
			
			
									
						Код: Выделить всё
// vim: set ts=4 sw=4 tw=99 noet:
//
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
// Copyright (C) The AMX Mod X Development Team.
//
// This software is licensed under the GNU General Public License, version 3 or higher.
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
//     https://alliedmods.net/amxmodx-license
//
// Slots Reservation Plugin
//
#include <amxmodx>
#include <amxmisc>
new g_ResPtr
new g_HidePtr
new g_sv_visiblemaxplayers
public plugin_init()
{
	register_plugin("Slots Reservation", AMXX_VERSION_STR, "AMXX Dev Team")
	register_dictionary("adminslots.txt")
	register_dictionary("common.txt")
	g_ResPtr = register_cvar("amx_reservation", "0", FCVAR_PROTECTED)
	g_HidePtr = register_cvar("amx_hideslots", "0")
	g_sv_visiblemaxplayers = get_cvar_pointer("sv_visiblemaxplayers")
}
public plugin_cfg()
{
	set_task(3.0, "MapLoaded")
}
public MapLoaded()
{
	if (get_pcvar_num(g_HidePtr))
	{
		setVisibleSlots(get_playersnum(1), MaxClients - get_pcvar_num(g_ResPtr))
	}
}
public client_authorized(id)
{
	new players = get_playersnum(1)
	new limit = MaxClients - get_pcvar_num(g_ResPtr)
	if (access(id, ADMIN_RESERVATION) || (players <= limit))
	{
		if (get_pcvar_num(g_HidePtr))
			setVisibleSlots(players, limit)
		return
	}
	
 	server_cmd("kick #%d ^"%L^"", get_user_userid(id), id, "DROPPED_RES")
}
public client_remove(id)
{
	if (get_pcvar_num(g_HidePtr))
	{
		setVisibleSlots(get_playersnum(1), MaxClients - get_pcvar_num(g_ResPtr))
	}
}
setVisibleSlots(players, limit)
{
	new num = players + 1
	if (players == MaxClients)
		num = MaxClients
	else if (players < limit)
		num = limit
	
	set_pcvar_num(g_sv_visiblemaxplayers, num)
}
Хостинг игровых серверов host-v.ru
						

