NU L-AM TESTAT DAR AR TREBUI SA MEARGA
setarile
amx_rd_maxplayers trebuie sa reprezinte de la cati playeri in sus inclusiv trebuie sa redirectioneze
amx_rd_redirect_type
// Tipul de redirect
// -------------------
// Valoarea 0 - disable
// Valoarea 1 - Redirect tuturor inafara de cei care sunt slot +
// Valoarea 2 - Redirect tuturor inafara de cei care sunt slot + si steameri
// Valoarea 3 - Redirect tuturor (inclusiv admini) inafara de steameri
// Valoarea 4 - Redirect tuturor, indiferent daca sunt steameri sau admini
aceste doua setari se trec de regula in amxx.cfg
- Cod:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "BRETONIA REDIRECT SYSTEM"
#define AUTHOR "OptimuS"
#define VERSION "1.0"
new g_cvarMaxPlayers;
new g_cvarTipRedirect;
static tipredirect;
static randomint;
static precompute;
new const servere[][] =
{
"127.0.0.1",
"127.0.0.2",
"127.0.0.3"
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
g_cvarMaxPlayers = register_cvar("amx_rd_maxplayers", "0");
// Tipul de redirect
// -------------------
// Valoarea 0 - disable
// Valoarea 1 - Redirect tuturor inafara de cei care sunt slot +
// Valoarea 2 - Redirect tuturor inafara de cei care sunt slot + si steameri
// Valoarea 3 - Redirect tuturor (inclusiv admini) inafara de steameri
// Valoarea 4 - Redirect tuturor, indiferent daca sunt steameri sau admini
g_cvarTipRedirect = register_cvar("amx_rd_redirect_type", "1");
tipredirect = get_pcvar_num(g_cvarTipRedirect);
// Salvam marimea const servere pentru optimizare consum de resurse
precompute = sizeof (servere);
}
public client_authorized(id)
{
if(!(get_pcvar_num(g_cvarTipRedirect)))
return PLUGIN_CONTINUE
switch(tipredirect)
{
case(1):
{
if( (get_playersnum() >= get_pcvar_num(g_cvarMaxPlayers)) && !is_user_admin(id) )
{
randomint = random_num(0, precompute);
client_cmd(id, "Connect %s", servere[randomint]);
}
}
case(2):
{
if( (get_playersnum() >= get_pcvar_num(g_cvarMaxPlayers)) && !is_steam_user(id) )
{
randomint = random_num(0, precompute);
client_cmd(id, "Connect %s", servere[randomint]);
}
}
case(3):
{
if( (get_playersnum() >= get_pcvar_num(g_cvarMaxPlayers)) && !is_user_admin(id) && !is_steam_user(id) )
{
randomint = random_num(0, precompute);
client_cmd(id, "Connect %s", servere[randomint]);
}
}
case(4):
{
if(get_playersnum() >= get_pcvar_num(g_cvarMaxPlayers))
{
randomint = random_num(0, precompute);
client_cmd(id, "Connect %s", servere[randomint]);
}
}
}
return PLUGIN_CONTINUE
}
stock bool:is_steam_user(index)
{
new authid[8];
get_user_authid(index, authid, sizeof authid - 1);
if(authid[7] == ':')
return true;
return false;
}
setarile
amx_rd_maxplayers trebuie sa reprezinte de la cati playeri in sus inclusiv trebuie sa redirectioneze
amx_rd_redirect_type
// Tipul de redirect
// -------------------
// Valoarea 0 - disable
// Valoarea 1 - Redirect tuturor inafara de cei care sunt slot +
// Valoarea 2 - Redirect tuturor inafara de cei care sunt slot + si steameri
// Valoarea 3 - Redirect tuturor (inclusiv admini) inafara de steameri
// Valoarea 4 - Redirect tuturor, indiferent daca sunt steameri sau admini
aceste doua setari se trec de regula in amxx.cfg