diff --git a/src/client/ui_motd.qc b/src/client/ui_motd.qc index db266d5..84eb5f6 100644 --- a/src/client/ui_motd.qc +++ b/src/client/ui_motd.qc @@ -27,7 +27,8 @@ void UI_MOTD_btnOK_Clicked( void ){ if(!g_UI_MOTD_everClosed){ UI_ChangeScreen(UI_SCREEN::BUYMENU); }else{ - UI_ChangeScreen(UI_SCREEN::NONE); + //UI_ChangeScreen(UI_SCREEN::NONE); + UI_MOTD_win.Hide(); } } diff --git a/src/server/gamerules_multiplayer.qc b/src/server/gamerules_multiplayer.qc index 1973896..1e1c591 100644 --- a/src/server/gamerules_multiplayer.qc +++ b/src/server/gamerules_multiplayer.qc @@ -37,7 +37,7 @@ TSMultiplayerRules::PlayerRequestRespawn(NSClientPlayer bp) player pl = (player)bp; entity oldSelf = self; - if (pl.iState == 2 || bp.TimeSinceDeath() > 0.5f) { + if (bp.TimeSinceDeath() > 0.5f) { if(pl.iState == PLAYER_STATE::SPAWNED) { PlayerRespawn(pl, pl.team); } else { diff --git a/src/shared/player.qc b/src/shared/player.qc index 7051422..a47be82 100644 --- a/src/shared/player.qc +++ b/src/shared/player.qc @@ -2206,10 +2206,19 @@ player::dropAmmo(void){ void player::ProcessInput(void) { - /* HACK: ugly workaround for some thing I cba to fix right now */ - if(iState == 2){ - if (input_buttons & 1) { + /* have we not spawned yet? */ + if(iState != PLAYER_STATE::SPAWNED) { + /* fire = respawn */ + if (input_buttons & INPUT_BUTTON0) { CGameRules rules = (CGameRules)g_grMode; + + /* want to spawn the first time, make us 'dead' so we can respawn */ + if (m_flDeathTime == 0.0) { + health = 0.0f; + m_flDeathTime = time; + } + + /* same as normal */ rules.PlayerRequestRespawn(this); return; }