| Diegorkable |
07-01-2012 12:55 |
Re: Host_Error problem
Quote:
Originally Posted by ConnorMcLeod
(Post 1740467)
Nosteam ?
|
Nope, it happens since the last auto-mix update. I tried to test my auto-mix new version on my server and it happens at these 3 functions:
PHP Code:
public RandomCpt() {
set_pcvar_num(cvar_mp_freezetime, 9999)
new players[32], pnum, tempid;
get_players(players, pnum, "ch");
new specialCount
for( new i; i<pnum; i++ ) {
tempid = players[i];
client_cmd(tempid, "kill")
if ( cs_get_user_team(tempid) != CS_TEAM_UNASSIGNED )
{
specialCount++
cs_set_user_team(tempid, CS_TEAM_SPECTATOR)
}
}
log_amx("RandomCpt stage 1")
if (specialCount < 2) {
if (g_CustomGame) {
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "LESS_PLAYERS_CUSTOM")
new taskId = scanForTaskID()
set_task(3.0, "RandomTeams", taskId)
}
else {
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "LESS_PLAYERS")
new taskId = scanForTaskID()
set_task(5.0, "EndMatch", taskId)
}
return;
}
log_amx("RandomCpt stage 2")
new z = random(pnum)
while (cs_get_user_team(players[z]) == CS_TEAM_UNASSIGNED)
z = random(pnum)
cs_set_user_team(players[z], CS_TEAM_T)
gCptT = players[z]
new q = random(pnum)
while ( (q == z) || cs_get_user_team(players[q]) == CS_TEAM_UNASSIGNED )
q = random(pnum)
log_amx("RandomCpt stage 3")
cs_set_user_team(players[q], CS_TEAM_CT)
gCptCT = players[q]
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "RANDOM_CAPTAINS_CHOSEN")
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "TERROR_CAPTAIN_FIRST")
g_bCpt = true
log_amx("RandomCpt stage 4")
moveT()
return;
}
public moveT() {
log_amx("moveT stage 1")
TeamsInfo()
log_amx("moveT stage 2")
new title[64]
formatex(title, charsmax(title), "%L", LANG_PLAYER, "CHOOSE_PLAYER")
g_PlayersMenu = menu_create(title, "moveT_menu");
new players[32], pnum, tempid;
new Tplayers[32], Tpnum;
new szName[32], szTempid[10];
new pickisdone, check
get_players(players, pnum, "ch");
get_players(Tplayers, Tpnum, "che", "TERRORIST");
log_amx("moveT stage 3")
for( new i; i<pnum; i++ )
{
tempid = players[i];
if ((tempid == gCptT) || (tempid == gCptCT))
check++
if (cs_get_user_team(tempid) == CS_TEAM_UNASSIGNED)
continue;
else if (cs_get_user_team(tempid) == CS_TEAM_SPECTATOR) {
get_user_name(tempid, szName, 31);
num_to_str(tempid, szTempid, 9);
menu_additem(g_PlayersMenu, szName, szTempid);
pickisdone++
}
}
log_amx("moveT stage 4")
if (check != 2) {
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "CAPTAINS_DISCONNECTED")
g_bCpt = false
removeAllTasks()
new taskId = scanForTaskID()
set_task(3.0, "RandomTeams", taskId)
return PLUGIN_HANDLED
}
if (pickisdone == 0) {
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "TEAMS_ARE_SET")
g_bCpt = false
removeAllTasks()
new taskId = scanForTaskID()
set_task(10.0, "StartMatch", taskId)
return PLUGIN_HANDLED
}
if (Tpnum >= get_pcvar_num(cvar_pLeft)/2 ) {
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "TERROR_TEAM_FULL")
moveCT()
return PLUGIN_HANDLED
}
log_amx("moveT stage 5")
menu_display(gCptT, g_PlayersMenu)
set_task(25.0, "kickhimout", gCptT)
log_amx("moveT stage 6")
return PLUGIN_HANDLED;
}
public TeamsInfo() {
log_amx("TeamsInfo stage 1")
if (g_bCpt) {
log_amx("TeamsInfo stage 2")
new nameCT[70], nameT[70]
new infoT[500]
new infoCT[500]
new players[32], pnum, tempid;
new toapprove
get_players(players, pnum, "ch")
get_user_name(gCptT, nameT, 69)
get_user_name(gCptCT, nameCT, 69)
formatex(infoT, 499, "%L^n-------------^n%L^n^n", LANG_PLAYER, ( get_pcvar_num(cvar_TeamTag) ? "TEAM_A" : "TERRORISTS" ), LANG_PLAYER, "TEAM_INFO_CAPTAINS", nameT)
formatex(infoCT, 499, "%L^n-------------^n%L^n^n", ( get_pcvar_num(cvar_TeamTag) ? "TEAM_B" : "COUNTER_TERRORISTS" ), LANG_PLAYER, "TEAM_INFO_CAPTAINS", nameCT)
log_amx("TeamsInfo stage 3")
for (new i ; i < pnum ; i++)
{
tempid = players[i]
if ((cs_get_user_team(tempid) == CS_TEAM_T) && (tempid != gCptT))
{
new nameofp[70]
get_user_name(tempid, nameofp, 69)
add(infoT, 499, nameofp)
add(infoT, 499, "^n")
}
else if ((cs_get_user_team(tempid) == CS_TEAM_CT) && (tempid != gCptCT))
{
new nameofCTp[70]
get_user_name(tempid, nameofCTp, 69)
add(infoCT, 499, nameofCTp)
add(infoCT, 499, "^n")
}
if ((cs_get_user_team(tempid) == CS_TEAM_T) && (tempid == gCptT))
toapprove++
else if ((cs_get_user_team(tempid) == CS_TEAM_CT) && (tempid == gCptCT))
{
toapprove++
}
}
if (toapprove != 2) {
set_hudmessage(255, 0, 0, 0.40, 0.32, 0, 6.0, 12.0)
ShowSyncHudMsg(0, g_MsgSync2, "%L", LANG_PLAYER, "CAPTAINS_DISCONNECTED_HUD")
new taskId = scanForTaskID()
set_task(5.0, "RandomTeams", taskId)
return PLUGIN_HANDLED
}
set_hudmessage(27, 162, 229, 0.28, 0.32, 0, 6.0, 1.0)
ShowSyncHudMsg(0, g_MsgSync8, infoT)
log_amx("TeamsInfo stage 4")
set_hudmessage(27, 162, 229, 0.58, 0.32, 0, 6.0, 1.0)
ShowSyncHudMsg(0, g_MsgSync2, infoCT)
new taskId = scanForTaskID()
set_task(1.0, "TeamsInfo", taskId)
}
else
{
set_hudmessage(0, 255, 0, 0.40, 0.32, 0, 6.0, 12.0)
ShowSyncHudMsg(0, g_MsgSync2, "%L", LANG_PLAYER, "TEAMS_ARE_SET_HUD")
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
Maybe its the ML here? I dont know, here are the translations: http://forums.alliedmods.net/showthread.php?t=188880
When the function 'RandomCpt' gets triggered everyone gets that and are being kicked.
|