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


Dodatki SourceMod



Temat jest zamknięty








