//-----------------------------------------------------------------------------
// Purpose: Input handler for showing the message and/or playing the sound.
//-----------------------------------------------------------------------------
void CEnvHudHint::InputShowHudHint( inputdata_t &inputdata )
{
	if ( AllPlayers() )
	{
		CReliableBroadcastRecipientFilter user;
		UserMessageBegin( user, "KeyHintText" );
		WRITE_BYTE( 1 );	// one message
		WRITE_STRING( STRING(m_iszMessage) );
		MessageEnd();
	}
	else
	{
		CBaseEntity *pPlayer = NULL;
		if ( inputdata.pActivator && inputdata.pActivator->IsPlayer() )
		{
			pPlayer = inputdata.pActivator;
		}
		else
		{
			pPlayer = UTIL_GetNearestPlayer(GetAbsOrigin());
		}

		if ( !pPlayer || !pPlayer->IsNetClient() )
			return;

		CSingleUserRecipientFilter user( (CBasePlayer *)pPlayer );
		user.MakeReliable();
		UserMessageBegin( user, "KeyHintText" );
			WRITE_BYTE( 1 );	// one message
			WRITE_STRING( STRING(m_iszMessage) );
		MessageEnd();
	}
}
예제 #2
0
void CASW_Intro_Control::CheckReconnect()
{
    // reconnect to the last server we were on (used when we're watching the outro as a singleplayer map after a multiplayer game)
    CReliableBroadcastRecipientFilter users;
    users.MakeReliable();
    UserMessageBegin( users, "ASWReconnectAfterOutro" );
    MessageEnd();

    if (!engine->IsDedicatedServer() && ASWGameRules())
    {
        // listen server goes back to the default mission
        if ( gpGlobals->maxClients > 1 )
        {
            CBasePlayer *pPlayer = UTIL_GetListenServerHost();
            if (pPlayer)
            {
                //engine->ChangeLevel(asw_default_mission.GetString(), NULL);
            }
        }
    }
}