Automatic changelevel confirmation without touching trigger again

This commit is contained in:
mittorn 2018-11-07 16:21:06 +07:00
parent d9a68cf5e2
commit 31de8a8b5c
2 changed files with 13 additions and 0 deletions

View File

@ -863,6 +863,7 @@ bool COOP_ConfirmMenu(CBaseEntity *pTrigger, CBaseEntity *pActivator, int count2
pPlayer->m_ggm.iLocalConfirm = 1;
if( pPlayer->m_ggm.iLocalConfirm < 3 )
{
pPlayer->m_ggm.pChangeLevel = pTrigger->edict();
pPlayer->m_ggm.menu.New("This will change map back", false)
.Add("Confirm", "confirmchangelevel")
.Add("Cancel", "")
@ -872,6 +873,7 @@ bool COOP_ConfirmMenu(CBaseEntity *pTrigger, CBaseEntity *pActivator, int count2
{
g_GlobalVote.ConfirmMenu(pPlayer, pTrigger, mapname );
pPlayer->m_ggm.iLocalConfirm = 0;
pPlayer->m_ggm.pChangeLevel = NULL;
}
}
return false;
@ -1000,7 +1002,17 @@ bool COOP_ClientCommand( edict_t *pEntity )
else if( FStrEq( pcmd, "confirmchangelevel" ) )
{
if( pPlayer->m_ggm.iLocalConfirm )
{
pPlayer->m_ggm.iLocalConfirm++;
if( pPlayer->m_ggm.pChangeLevel )
{
edict_t *pChangeLevel = pPlayer->m_ggm.pChangeLevel;
pPlayer->m_ggm.pChangeLevel = NULL;
DispatchTouch( pChangeLevel, pPlayer->edict() );
}
return true;
}
else
return false;
}

View File

@ -172,6 +172,7 @@ struct GGMData
PlayerState iState;
bool fTouchMenu;
int iLocalConfirm;
edict_t *pChangeLevel;
float flEntScore;
float flEntTime;
GGM_PlayerMenu menu;