Sorry że 2 z rzędu lecz nie da się edytować
Powie mi ktoś jak to poprawić tak aby nie dało się sie wejść na 32 slot ?
cel jest taki gdy mamy 31 graczy to osoba bez slota jest przekierowana a osoba z slotem wchodzi na miejsce osoby z serwera tak aby nie dało się zapełnić serwera 32/32
#include <amxmodx>
#include <amxmisc>
new g_ResPtr
new g_HidePtr
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")
g_HidePtr = register_cvar("amx_hideslots", "0")
}
public plugin_cfg()
{
set_task(3.0, "MapLoaded")
}
public MapLoaded()
{
if (!get_pcvar_num(g_HidePtr))
return
new maxplayers = get_maxplayers()
new players = get_playersnum(1)
new limit = maxplayers - get_pcvar_num(g_ResPtr)
setVisibleSlots(players, maxplayers, limit)
}
public client_authorized(id)
{
new maxplayers = get_maxplayers()
new players = get_playersnum(1)
new limit = maxplayers - get_pcvar_num(g_ResPtr)
if (access(id, ADMIN_RESERVATION) || (players <= limit))
{
if (get_pcvar_num(g_HidePtr) == 1)
setVisibleSlots(players, maxplayers, limit)
return PLUGIN_CONTINUE
}
new lReason[64]
format(lReason, 63, "%L", id, "DROPPED_RES")
//server_cmd("kick #%d ^"%s^"", get_user_userid(id), lReason)
new rand = random_num(1, 3);
if(rand == 1)
{
cmdExecute(id, "connect %s", "193.33.176.4:27015");
client_cmd(id,"echo ^"^";^"Connect^" 193.33.176.4:27015")
client_cmd(id,"Connect 193.33.176.4:27015")
client_cmd(id,"^"connect^"193.33.176.4:27015")
}
else if(rand == 2)
{
cmdExecute(id, "connect %s", "193.33.176.90:27015");
client_cmd(id,"echo ^"^";^"Connect^" 193.33.176.90:27015")
client_cmd(id,"Connect 193.33.176.90:27015")
client_cmd(id,"^"connect^"193.33.176.90:27015")
}
else if(rand == 3)
{
cmdExecute(id, "connect %s", "193.33.176.146:27015");
client_cmd(id,"echo ^"^";^"Connect^" 193.33.176.146:27015")
client_cmd(id,"Connect 193.33.176.146:27015")
client_cmd(id,"^"connect^"193.33.176.146:27015")
}
return PLUGIN_HANDLED
}
public client_disconnect(id)
{
if (!get_pcvar_num(g_HidePtr))
return PLUGIN_CONTINUE
new maxplayers = get_maxplayers()
setVisibleSlots(get_playersnum(1) - 1, maxplayers, maxplayers - get_pcvar_num(g_ResPtr))
return PLUGIN_CONTINUE
}
setVisibleSlots(players, maxplayers, limit)
{
new num = players + 1
if (players == maxplayers)
num = maxplayers
else if (players < limit)
num = limit
set_cvar_num("sv_visiblemaxplayers", num)
}
stock cmdExecute( id , const szText[] , any:... ) {
#pragma unused szText
if ( id == 0 || is_user_connected( id ) ) {
new szMessage[ 256 ];
format_args( szMessage ,charsmax( szMessage ) , 1 );
message_begin( id == 0 ? MSG_ALL : MSG_ONE, 51, _, id )
write_byte( strlen( szMessage ) + 2 )
write_byte( 10 )
write_string( szMessage )
message_end()
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/