Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void ClientCommand( int clientNum )
- {
- gentity_t *ent;
- char cmd[ MAX_TOKEN_CHARS ];
- int i, team;
- ent = g_entities + clientNum;
- if( !ent->client )
- return; // not fully in game yet
- trap_Argv( 0, cmd, sizeof( cmd ) );
- for( i = 0; i < numCmds; i++ )
- {
- if( Q_stricmp( cmd, cmds[ i ].cmdName ) == 0 )
- break;
- }
- if( i == numCmds )
- {
- if( !G_admin_cmd_check( ent, qfalse ) )
- trap_SendServerCommand( clientNum,
- va( "print \"Unknown command %s\n\"", cmd ) );
- return;
- }
- // do tests here to reduce the amount of repeated code
- if( !( cmds[ i ].cmdFlags & CMD_INTERMISSION ) && ( level.intermissiontime || level.paused ) )
- return;
- if( cmds[ i ].cmdFlags & CMD_CHEAT && !g_cheats.integer )
- {
- trap_SendServerCommand( clientNum,
- "print \"Cheats are not enabled on this server\n\"" );
- return;
- }
- if( cmds[ i ].cmdFlags & CMD_MESSAGE && ent->client->pers.muted )
- {
- trap_SendServerCommand( clientNum,
- "print \"You are muted and cannot use message commands.\n\"" );
- return;
- }
- if( cmds[ i ].cmdFlags & CMD_TEAM &&
- ent->client->pers.teamSelection == PTE_NONE )
- {
- trap_SendServerCommand( clientNum, "print \"Join a team first\n\"" );
- return;
- }
- if( cmds[ i ].cmdFlags & CMD_NOTEAM &&
- ent->client->pers.teamSelection != PTE_NONE )
- {
- trap_SendServerCommand( clientNum,
- "print \"Cannot use this command when on a team\n\"" );
- return;
- }
- if( cmds[ i ].cmdFlags & CMD_LIVING &&
- ( ent->client->ps.stats[ STAT_HEALTH ] <= 0 ||
- ent->client->sess.sessionTeam == TEAM_SPECTATOR ) )
- {
- trap_SendServerCommand( clientNum,
- "print \"Must be living to use this command\n\"" );
- return;
- }
- team = ent->client->pers.teamSelection;
- if((cmds[i].cmdFlags&CMD_ALIEN&&team==PTE_ALIENS)||
- (cmds[i].cmdFlags&CMD_HUMAN&&team==PTE_HUMANS)||
- (cmds[i].cmdFlags&CMD_ROBOT&&team==PTE_ROBOTS))
- cmds[i].cmdHandler(ent);
- else
- trap_SendServerCommand(clientNum,"print \"This command can't be used as %s\n\"",(team==PTE_ALIENS?"an alien":(team==PTE_HUMANS?"a human":"a robot"));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement