Komandu suligintuvas
Posted: 2011 Oct 30 15:17
Sveiki, gal žinot labai gera sulygintuva komandų? CSDM serveriui reikia, kad normaliai sulygintu žmones. Ačiū iš anksto.
Code: Select all
#include <amxmodx>#include <cstrike> #define PLUGIN "Auto Team changer"#define VERSION "1.7"#define AUTHOR "REZ.LT" new cvar_on, cvar_diffnew g_maxPlayers public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); cvar_on = register_cvar("atc_on", "1"); cvar_diff = register_cvar("atc_player_diff", "2"); register_event("DeathMsg", "event_deathmsg", "a"); g_maxPlayers = get_maxplayers()} public event_deathmsg(){ if(get_pcvar_num(cvar_on)) { new cts[32], ts[32], ctsnum, tsnum for (new id=1; id <= g_maxPlayers; id++) { if (!is_user_connected(id)) continue; if (cs_get_user_team(id) == CS_TEAM_T) { ts[tsnum++] = id; } else if (cs_get_user_team(id) == CS_TEAM_CT) { cts[ctsnum++] = id; } } new all1count = tsnum-ctsnum; new all2count = ctsnum-tsnum; if(all1count >= get_pcvar_num(cvar_diff) || all2count >= get_pcvar_num(cvar_diff)) { new rpl, CsTeams:team; if(ctsnum > tsnum) { rpl = cts[random_num(0, tsnum - 1)]; team = CS_TEAM_T; } else if(tsnum > ctsnum) { rpl = ts[random_num(0, ctsnum - 1)]; team = CS_TEAM_CT; } transfer(rpl, team); } }} transfer(id, CsTeams:team){ if(is_user_alive(id)) user_silentkill(id); cs_set_user_team(id, team); client_print(id, print_chat, "You have been moved to another team.");}
Code: Select all
#include <amxmodx>#include <cstrike> #define PLUGIN "Auto Team balancer"#define VERSION "1.7"#define AUTHOR "REZ.LT/beast" new cvar_on, cvar_diffnew g_maxPlayers public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); cvar_on = register_cvar("atc_on", "1"); cvar_diff = register_cvar("atc_player_diff", "2"); g_maxPlayers = get_maxplayers() set_task(60.0, "balance_teams", _, _, _, "b");} public balance_teams(){ if(get_pcvar_num(cvar_on)) { new cts[32], ts[32], ctsnum, tsnum for (new id=1; id <= g_maxPlayers; id++) { if (!is_user_connected(id)) continue; if (cs_get_user_team(id) == CS_TEAM_T) { ts[tsnum++] = id; } else if (cs_get_user_team(id) == CS_TEAM_CT) { cts[ctsnum++] = id; } } new all1count = tsnum-ctsnum; new all2count = ctsnum-tsnum; if(all1count >= get_pcvar_num(cvar_diff) || all2count >= get_pcvar_num(cvar_diff)) { new rpl, CsTeams:team; if(ctsnum > tsnum) { rpl = cts[random_num(0, tsnum - 1)]; team = CS_TEAM_T; } else if(tsnum > ctsnum) { rpl = ts[random_num(0, ctsnum - 1)]; team = CS_TEAM_CT; } transfer(rpl, team); } }} transfer(id, CsTeams:team){ if(is_user_alive(id)) user_silentkill(id); cs_set_user_team(id, team); client_print(id, print_chat, "You have been moved to another team.");}