hi i need your help pleace
I have this team ratio to jail break
http://forums.alliedmods.net/showpos...95&postcount=4
PHP Code:
#include <amxmodx>
#include <cstrike>
#define MAX_PLAYERS 32
new bool:g_vgui_menus[MAX_PLAYERS + 1];
new tjr_enabled;
new tjr_ratio;
new g_max_players;
new ShowMenu;
public plugin_init()
{
register_plugin("Team Join Ratio", "0.0.1", "Exolent");
register_clcmd("jointeam", "CmdJoinTeam");
register_menucmd(register_menuid("Team_Select", 1), (1<<0|1<<1|1<<4|1<<5|1<<9), "MenuTeamSelect");
register_menucmd(register_menuid("CT_Select", 1), (1<<0|1<<1|1<<2|1<<3||1<<4), "MenuModelSelect");
register_menucmd(register_menuid("Terrorist_Select", 1), (1<<0|1<<1|1<<2|1<<3||1<<4), "MenuModelSelect");
register_message(get_user_msgid("VGUIMenu"), "MessageVGUIMenu");
tjr_enabled = register_cvar("tjr_enabled", "1");
tjr_ratio = register_cvar("tjr_ratio", "3");
g_max_players = get_maxplayers();
ShowMenu = get_user_msgid("ShowMenu");
}
public client_disconnect(id)
{
CheckVGUIMenus(id);
}
public CmdJoinTeam(id)
{
if( get_pcvar_num(tjr_enabled) )
{
new arg[11], team;
read_argv(1, arg, charsmax(arg));
if( is_str_num(arg)
&& CheckRatio(id, str_to_num(arg)) )
{
if( team == 5 )
{
engclient_cmd(id, "jointeam", "1");
}
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public MenuTeamSelect(id, key)
{
if( get_pcvar_num(tjr_enabled)
&& CheckRatio(id, ++key) )
{
if( key == 5 )
{
new block = get_msg_block(ShowMenu);
set_msg_block(ShowMenu, BLOCK_SET);
engclient_cmd(id, "jointeam", "1");
engclient_cmd(id, "joinclass", "5");
set_msg_block(ShowMenu, block);
CheckVGUIMenus(id);
}
else
{
engclient_cmd(id, "chooseteam");
}
return PLUGIN_HANDLED;
}
if( key == 10 )
{
CheckVGUIMenus(id);
}
return PLUGIN_CONTINUE;
}
bool:CheckRatio(id, team)
{
if( (team == 5 || CsTeams:team == CS_TEAM_CT)
&& cs_get_user_team(id) != CS_TEAM_CT )
{
new Float:ratio = get_pcvar_float(tjr_ratio);
if( ratio > 0.0 && ratio != 1.0 )
{
new t, ct;
for( new i = 1; i <= g_max_players; i++ )
{
if( i != id && is_user_connected(i) )
{
switch( cs_get_user_team(i) )
{
case CS_TEAM_T: t++;
case CS_TEAM_CT: ct++;
}
}
}
if( ct && floatround(ct * ratio, floatround_floor) >= float(t) )
{
return true;
}
}
}
return false;
}
public MenuModelSelect(id, key)
{
CheckVGUIMenus(id);
}
CheckVGUIMenus(id)
{
if( g_vgui_menus[id] )
{
g_vgui_menus[id] = false;
set_user_info(id, "_vgui_menus", "1");
}
}
public MessageVGUIMenu(msgid, dest, id)
{
if( is_user_connected(id) && get_msg_arg_int(1) == 2 )
{
g_vgui_menus[id] = true;
set_user_info(id, "_vgui_menus", "0");
//engclient_cmd(id, "chooseteam");
set_task(0.1, "TaskForceChooseTeam", id);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public TaskForceChooseTeam(id)
{
engclient_cmd(id, "chooseteam");
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
someone could put a autobalance that makes final round.
EX: 9 TR vs 5 CT, Autobalance in the end round -> 11 TR vs 3 CT pleace

(
sorry my bad english