bool CHL2MP_Player::ClientCommand( const char *pcmd ) { if ( FStrEq( pcmd, "spectate" ) ) { if ( ShouldRunRateLimitedCommand( pcmd ) ) { // instantly join spectators HandleCommand_JoinTeam( TEAM_SPECTATOR ); } return true; } else if ( FStrEq( pcmd, "jointeam" ) ) { if ( engine->Cmd_Argc() < 2 ) { Warning( "Player sent bad jointeam syntax\n" ); } if ( ShouldRunRateLimitedCommand( pcmd ) ) { int iTeam = atoi( engine->Cmd_Argv(1) ); HandleCommand_JoinTeam( iTeam ); } return true; } else if ( FStrEq( pcmd, "joingame" ) ) { return true; } return BaseClass::ClientCommand( pcmd ); }
bool CHL2MP_Player::ClientCommand( const CCommand &args ) { if ( FStrEq( args[0], "spectate" ) ) { if ( ShouldRunRateLimitedCommand( args ) ) { // instantly join spectators HandleCommand_JoinTeam( TEAM_SPECTATOR ); } return true; } else if ( FStrEq( args[0], "jointeam" ) ) { if ( args.ArgC() < 2 ) { Warning( "Player sent bad jointeam syntax\n" ); } if ( ShouldRunRateLimitedCommand( args ) ) { int iTeam = atoi( args[1] ); HandleCommand_JoinTeam( iTeam ); } return true; } else if ( FStrEq( args[0], "joingame" ) ) { return true; } return BaseClass::ClientCommand( args ); }
bool CSDKPlayer::ClientCommand( const CCommand &args ) { const char *pcmd = args[0]; if ( FStrEq( pcmd, "jointeam" ) ) { if ( args.ArgC() < 2 ) { Warning( "Player sent bad jointeam syntax\n" ); } int iTeam = atoi( args[1] ); HandleCommand_JoinTeam( iTeam ); return true; } else if( !Q_strncmp( pcmd, "cls_", 4 ) ) { #if defined ( SDK_USE_PLAYERCLASSES ) CSDKTeam *pTeam = GetGlobalSDKTeam( GetTeamNumber() ); Assert( pTeam ); int iClassIndex = PLAYERCLASS_UNDEFINED; if( pTeam->IsClassOnTeam( pcmd, iClassIndex ) ) { HandleCommand_JoinClass( iClassIndex ); } else { DevMsg( "player tried to join a class that isn't on this team ( %s )\n", pcmd ); ShowClassSelectMenu(); } #endif return true; } else if ( FStrEq( pcmd, "spectate" ) ) { // instantly join spectators HandleCommand_JoinTeam( TEAM_SPECTATOR ); return true; } else if ( FStrEq( pcmd, "joingame" ) ) { // player just closed MOTD dialog if ( m_iPlayerState == STATE_WELCOME ) { //Tony; using teams, go to picking team. #if defined( SDK_USE_TEAMS ) State_Transition( STATE_PICKINGTEAM ); //Tony; not using teams, but we are using classes, so go straight to class picking. #elif !defined ( SDK_USE_TEAMS ) && defined ( SDK_USE_PLAYERCLASSES ) State_Transition( STATE_PICKINGCLASS ); //Tony; not using teams or classes, go straight to active. #else State_Transition( STATE_ACTIVE ); #endif } return true; } else if ( FStrEq( pcmd, "joinclass" ) ) { #if defined ( SDK_USE_PLAYERCLASSES ) if ( args.ArgC() < 2 ) { Warning( "Player sent bad joinclass syntax\n" ); } int iClass = atoi( args[1] ); HandleCommand_JoinClass( iClass ); #endif return true; } else if ( FStrEq( pcmd, "menuopen" ) ) { #if defined ( SDK_USE_PLAYERCLASSES ) SetClassMenuOpen( true ); #endif return true; } else if ( FStrEq( pcmd, "menuclosed" ) ) { #if defined ( SDK_USE_PLAYERCLASSES ) SetClassMenuOpen( false ); #endif return true; } else if ( FStrEq( pcmd, "droptest" ) ) { ThrowActiveWeapon(); return true; } return BaseClass::ClientCommand( args ); }