W CurWeapon ustalam:
public CurWeapon(id) { set_user_maxspeed(id, 400.0); }
Jednak po freezytime wartość ta się resetuje wówczas gdy korzystam z funkcji przechwytu okna wyboru teamu:
register_message(get_user_msgid("VGUIMenu"), "message_VGUIMenu");
/********************** * AUTO JOINING **********************/ public message_ShowMenu(iMsgid, iDest, eIndex) { if(get_playersnum(0)>1) return PLUGIN_CONTINUE; return PLUGIN_HANDLED; } public message_VGUIMenu(iMsgid, iDest, eIndex) { //if(get_playersnum(0)==1) // return PLUGIN_CONTINUE; set_force_team_join_task(eIndex, iMsgid); return PLUGIN_HANDLED; } set_force_team_join_task(id, menu_msgid) { static param_menu_msgid[2]; param_menu_msgid[0] = menu_msgid; set_task(AUTO_TEAM_JOIN_DELAY, "task_force_team_join", id, param_menu_msgid, sizeof param_menu_msgid); } public task_force_team_join(menu_msgid[], id) { if(get_user_team(id)) return; if(!player_set) { player_set = true; player_id= id; force_team_join(id, menu_msgid[0], "1", "5"); } else force_team_join(id, menu_msgid[0], "2", "5"); } stock force_team_join(id, menu_msgid, team[] = "5", class[] = "0") { static jointeam[] = "jointeam"; if (class[0] == '0') { engclient_cmd(id, jointeam, team); return; } static msg_block, joinclass[] = "joinclass"; msg_block = get_msg_block(menu_msgid); set_msg_block(menu_msgid, BLOCK_SET); engclient_cmd(id, jointeam, team); engclient_cmd(id, joinclass, class); set_msg_block(menu_msgid, msg_block); if(equal(team,"1")) server_cmd("sv_restart 1"); } /********************** * END OF AUTO JOINING **********************/
Nie widzę tu nic, co by mogło powodować taki problem i nie wiem co ma jedno do drugiego, w każdym razie testowałem sporo i z wyłączonym 'auto joiningiem' wszystko działa.
Użytkownik stmn edytował ten post 11.06.2010 19:15