mirror of
https://github.com/UberGames/rpgxEF.git
synced 2025-02-22 12:01:18 +00:00
Updates to g_cmds.c
This commit is contained in:
parent
354093267d
commit
c746c4f07e
1 changed files with 156 additions and 101 deletions
|
@ -29,9 +29,7 @@ void DeathmatchScoreboardMessage(gentity_t* ent) {
|
|||
int32_t numSorted = 0;
|
||||
int32_t scoreFlags = 0;
|
||||
|
||||
if (ent == NULL) {
|
||||
return;
|
||||
}
|
||||
G_Assert(ent, (void)0);
|
||||
|
||||
// send the latest information on all clients
|
||||
memset(entry, 0, 1024);
|
||||
|
@ -48,6 +46,8 @@ void DeathmatchScoreboardMessage(gentity_t* ent) {
|
|||
|
||||
cl = &level.clients[level.sortedClients[i]];
|
||||
|
||||
G_Assert(cl, (void)0);
|
||||
|
||||
if (cl->pers.connected == CON_CONNECTING) {
|
||||
ping = -1;
|
||||
} else {
|
||||
|
@ -83,6 +83,9 @@ void DeathmatchScoreboardMessage(gentity_t* ent) {
|
|||
* \return Whether cheats are allowed for the player or not.
|
||||
*/
|
||||
static qboolean CheatsOk(gentity_t* ent) {
|
||||
|
||||
G_Assert(ent, qfalse);
|
||||
|
||||
if (g_cheats.integer == 0 || IsAdmin(ent) == qfalse) {
|
||||
G_PrintfClient(ent, "You can't use cheats in a Roleplay Session!\n");
|
||||
return qfalse;
|
||||
|
@ -138,6 +141,10 @@ static char* ConcatArgs(int32_t start) {
|
|||
* \param out Sanitized string.
|
||||
*/
|
||||
static void SanitizeString(char* in, char* out) {
|
||||
|
||||
G_Assert(in, (void)0);
|
||||
G_Assert(out, (void)0);
|
||||
|
||||
while (*in) {
|
||||
if (*in == 27) {
|
||||
in += 2; // skip color code
|
||||
|
@ -166,6 +173,9 @@ static int ClientNumberFromString(gentity_t* to, char* s) {
|
|||
char s2[MAX_STRING_CHARS];
|
||||
char n2[MAX_STRING_CHARS];
|
||||
|
||||
G_Assert(to, -1);
|
||||
G_Assert(s, -1);
|
||||
|
||||
memset(s2, 0, MAX_STRING_CHARS);
|
||||
memset(n2, 0, MAX_STRING_CHARS);
|
||||
|
||||
|
@ -224,9 +234,8 @@ static void Cmd_Give_f(gentity_t *ent) {
|
|||
gclient_t* client = NULL;
|
||||
playerState_t* ps = NULL;
|
||||
|
||||
if (ent == NULL || ent->client == NULL) {
|
||||
return;
|
||||
}
|
||||
G_Assert(ent, (void)0);
|
||||
G_Assert(ent->client, (void)0);
|
||||
|
||||
memset(arg, 0, 64);
|
||||
client = ent->client;
|
||||
|
@ -424,6 +433,8 @@ static void Cmd_Give_f(gentity_t *ent) {
|
|||
*/
|
||||
static void Cmd_God_f(gentity_t* ent) {
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
|
||||
#ifndef SQL
|
||||
if (!IsAdmin(ent)) {
|
||||
G_PrintfClient(ent, "ERROR: You are not logged in as an admin.\n");
|
||||
|
@ -452,6 +463,8 @@ static void Cmd_God_f(gentity_t* ent) {
|
|||
// most likely not - GSIO
|
||||
static void Cmd_Notarget_f(gentity_t* ent) {
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
|
||||
if (IsAdmin(ent) == qfalse) {
|
||||
return;
|
||||
}
|
||||
|
@ -472,6 +485,9 @@ static void Cmd_Notarget_f(gentity_t* ent) {
|
|||
static void Cmd_Noclip_f(gentity_t* ent) {
|
||||
gclient_t* client = NULL;
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
G_Assert(ent->client, (void)0);
|
||||
|
||||
#ifndef SQL
|
||||
if (!IsAdmin(ent)) {
|
||||
trap_SendServerCommand(ent - g_entities, va("print \"ERROR: You are not logged in as an admin.\n\" "));
|
||||
|
@ -510,15 +526,17 @@ and sends over a command to the client to resize the view,
|
|||
hide the scoreboard, and take a special screenshot
|
||||
==================
|
||||
*/
|
||||
static void Cmd_LevelShot_f(gentity_t *ent) {
|
||||
static void Cmd_LevelShot_f(gentity_t* ent) {
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
|
||||
if (!CheatsOk(ent)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// doesn't work in single player
|
||||
if (g_gametype.integer != 0) {
|
||||
trap_SendServerCommand(ent - g_entities,
|
||||
"print \"Must be in g_gametype 0 for levelshot\n\"");
|
||||
G_PrintfClient(ent, "Must be in g_gametype 0 for levelshot\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -539,18 +557,26 @@ instead of making a new
|
|||
func, we can just tweak this one a bit. :)
|
||||
=================
|
||||
*/
|
||||
int lastKillTime[MAX_CLIENTS];
|
||||
static void Cmd_Kill_f(gentity_t *ent) {
|
||||
int meansOfDeath = MOD_SUICIDE; //Means of death set to suicide by default
|
||||
char deathMsg[MAX_STRING_TOKENS]; //The death message will never be this long, but just to be sure....
|
||||
clientSession_t *sess = &ent->client->sess;
|
||||
int clientNum = ent->client->ps.clientNum;
|
||||
playerState_t *ps = &ent->client->ps;
|
||||
clientPersistant_t *pers = &ent->client->pers;
|
||||
int32_t lastKillTime[MAX_CLIENTS];
|
||||
static void Cmd_Kill_f(gentity_t* ent) {
|
||||
int32_t meansOfDeath = MOD_SUICIDE; //Means of death set to suicide by default
|
||||
char deathMsg[MAX_STRING_TOKENS]; //The death message will never be this long, but just to be sure....
|
||||
clientSession_t* sess = NULL;
|
||||
int32_t clientNum = 0;
|
||||
playerState_t* ps = NULL;
|
||||
clientPersistant_t* pers = NULL;
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
G_Assert(ent->client, (void)0);
|
||||
|
||||
sess = &ent->client->sess;
|
||||
clientNum = ent->client->ps.clientNum;
|
||||
ps = &ent->client->ps;
|
||||
pers = &ent->client->pers;
|
||||
|
||||
//RPG-X: Redtechie - haha too stupid to kill them selves!
|
||||
if (g_classData[sess->sessionClass].isn00b) {
|
||||
trap_SendServerCommand(ent - g_entities, "print \"Sorry, you're too n00bish to handle this command.\n\"");
|
||||
G_PrintfClient(ent, "Sorry, you're too n00bish to handle this command.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -579,7 +605,7 @@ static void Cmd_Kill_f(gentity_t *ent) {
|
|||
meansOfDeath = MOD_CUSTOM_DIE;
|
||||
|
||||
//broadcast the message
|
||||
trap_SendServerCommand(-1, va("print \"%s" S_COLOR_WHITE " %s\n\" ", ent->client->pers.netname, deathMsg));
|
||||
G_PrintfClientAll("%s" S_COLOR_WHITE " %s\n", ent->client->pers.netname, deathMsg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -605,12 +631,19 @@ static void Cmd_Kill_f(gentity_t *ent) {
|
|||
}
|
||||
}
|
||||
|
||||
void BroadcastTeamChange(gclient_t *client, int oldTeam) {
|
||||
clientSession_t *sess = &client->sess;
|
||||
clientPersistant_t *pers = &client->pers;
|
||||
void BroadcastTeamChange(gclient_t* client, int32_t oldTeam) {
|
||||
clientSession_t* sess = NULL;
|
||||
clientPersistant_t* pers = NULL;
|
||||
|
||||
G_Assert(client, (void)0);
|
||||
|
||||
sess = &client->sess;
|
||||
pers = &client->pers;
|
||||
|
||||
if (levelExiting) {//no need to do this during level changes
|
||||
return;
|
||||
}
|
||||
|
||||
if (sess->sessionTeam == TEAM_RED) {
|
||||
char red_team[MAX_QPATH];
|
||||
trap_GetConfigstring(CS_RED_GROUP, red_team, sizeof(red_team));
|
||||
|
@ -641,7 +674,10 @@ BroadCastClassChange
|
|||
Let everyone know about a team change
|
||||
=================
|
||||
*/
|
||||
void BroadcastClassChange(gclient_t *client, pclass_t oldPClass) {
|
||||
void BroadcastClassChange(gclient_t* client, pclass_t oldPClass) {
|
||||
|
||||
G_Assert(client, (void)0);
|
||||
|
||||
if (levelExiting) {//no need to do this during level changes
|
||||
return;
|
||||
}
|
||||
|
@ -650,17 +686,20 @@ void BroadcastClassChange(gclient_t *client, pclass_t oldPClass) {
|
|||
trap_SendServerCommand(-1, va("cp \"%.15s" S_COLOR_WHITE "%s\n\"", client->pers.netname, g_classData[client->sess.sessionClass].message));
|
||||
}
|
||||
|
||||
qboolean SetTeam(gentity_t *ent, char *s) {
|
||||
int team, oldTeam;
|
||||
gclient_t *client;
|
||||
int clientNum;
|
||||
spectatorState_t specState;
|
||||
int specClient;
|
||||
int isBot;
|
||||
char info[MAX_INFO_STRING];
|
||||
clientSession_t *sess;
|
||||
qboolean SetTeam(gentity_t* ent, char* s) {
|
||||
int32_t team = 0;
|
||||
int32_t oldTeam = 0;
|
||||
gclient_t* client = NULL;
|
||||
int32_t clientNum = -1;
|
||||
spectatorState_t specState;
|
||||
int32_t specClient = 0;
|
||||
int32_t isBot = 0;
|
||||
char info[MAX_INFO_STRING];
|
||||
clientSession_t* sess = NULL;
|
||||
isBot = atoi(Info_ValueForKey(info, "skill"));
|
||||
|
||||
G_Assert(ent, qfalse);
|
||||
G_Assert(s, qfalse);
|
||||
|
||||
//
|
||||
// see what change is requested
|
||||
|
@ -668,28 +707,27 @@ qboolean SetTeam(gentity_t *ent, char *s) {
|
|||
client = ent->client;
|
||||
|
||||
clientNum = client - level.clients;
|
||||
specClient = 0;
|
||||
|
||||
specState = SPECTATOR_NOT;
|
||||
|
||||
sess = &client->sess;
|
||||
|
||||
if (g_gametype.integer >= GT_TEAM && !isBot) {
|
||||
if (!(!Q_stricmp(s, "spectator") || !Q_stricmp(s, "s") || !Q_stricmp(s, "red") || !Q_stricmp(s, "r") || !Q_stricmp(s, "blue") || !Q_stricmp(s, "b"))) {
|
||||
if (g_gametype.integer >= GT_TEAM && isBot == 0) {
|
||||
if (!(Q_stricmp(s, "spectator") == 0 || Q_stricmp(s, "s") == 0 || Q_stricmp(s, "red") == 0 || Q_stricmp(s, "r") == 0 || Q_stricmp(s, "blue") == 0 || Q_stricmp(s, "b") == 0)) {
|
||||
return qfalse;
|
||||
}
|
||||
}
|
||||
|
||||
if (!Q_stricmp(s, "spectator") || !Q_stricmp(s, "s")) {
|
||||
if (Q_stricmp(s, "spectator") == 0 || Q_stricmp(s, "s") == 0) {
|
||||
team = TEAM_SPECTATOR;
|
||||
specState = SPECTATOR_FREE;
|
||||
client->noclip = (qboolean)1;
|
||||
} else if (g_gametype.integer >= GT_TEAM) {
|
||||
// if running a team game, assign player to one of the teams
|
||||
specState = SPECTATOR_NOT;
|
||||
if (!Q_stricmp(s, "red") || !Q_stricmp(s, "r")) {
|
||||
if (Q_stricmp(s, "red") == 0 || Q_stricmp(s, "r") == 0) {
|
||||
team = TEAM_RED;
|
||||
} else if (!Q_stricmp(s, "blue") || !Q_stricmp(s, "b")) {
|
||||
} else if (Q_stricmp(s, "blue") == 0 || Q_stricmp(s, "b") == 0) {
|
||||
team = TEAM_BLUE;
|
||||
} else {
|
||||
// pick the team with the least number of players
|
||||
|
@ -705,11 +743,9 @@ qboolean SetTeam(gentity_t *ent, char *s) {
|
|||
}
|
||||
|
||||
// override decision if limiting the players
|
||||
if (g_gametype.integer == GT_TOURNAMENT
|
||||
&& level.numNonSpectatorClients >= 2) {
|
||||
if (g_gametype.integer == GT_TOURNAMENT && level.numNonSpectatorClients >= 2) {
|
||||
team = TEAM_SPECTATOR;
|
||||
} else if (g_maxGameClients.integer > 0 &&
|
||||
level.numNonSpectatorClients >= g_maxGameClients.integer) {
|
||||
} else if (g_maxGameClients.integer > 0 && level.numNonSpectatorClients >= g_maxGameClients.integer) {
|
||||
team = TEAM_SPECTATOR;
|
||||
}
|
||||
|
||||
|
@ -735,6 +771,7 @@ qboolean SetTeam(gentity_t *ent, char *s) {
|
|||
G_Client_Die(ent, NULL, NULL, 100000, MOD_RESPAWN);
|
||||
|
||||
}
|
||||
|
||||
// they go to the end of the line for tournements
|
||||
if (team == TEAM_SPECTATOR) {
|
||||
sess->spectatorTime = level.time;
|
||||
|
@ -754,9 +791,9 @@ qboolean SetTeam(gentity_t *ent, char *s) {
|
|||
return qtrue;
|
||||
}
|
||||
|
||||
char *ClassNameForValue(pclass_t pClass) {
|
||||
char* ClassNameForValue(pclass_t pClass) {
|
||||
static char buffer[MAX_QPATH];
|
||||
char *ptr;
|
||||
char *ptr = NULL;
|
||||
|
||||
trap_Cvar_VariableStringBuffer(va("rpg_%sPass", g_classData[pClass].consoleName), buffer, sizeof(buffer));
|
||||
|
||||
|
@ -779,11 +816,11 @@ More effective code recycling. :)
|
|||
|
||||
pclass_t ValueNameForClass(char* s) {
|
||||
|
||||
pclass_t pclass;
|
||||
char buffer[MAX_QPATH];
|
||||
pclass_t pclass;
|
||||
char buffer[MAX_QPATH];
|
||||
|
||||
for (pclass = 0; pclass < MAX_CLASSES; pclass++) {
|
||||
if (!g_classData[pclass].consoleName[0])
|
||||
if (g_classData[pclass].consoleName[0] == 0)
|
||||
break;
|
||||
|
||||
trap_Cvar_VariableStringBuffer(va("rpg_%sPass", g_classData[pclass].consoleName), buffer, sizeof(buffer));
|
||||
|
@ -816,14 +853,14 @@ static char* ClassForValueName(pclass_t pclass) {
|
|||
SetClass
|
||||
=================
|
||||
*/
|
||||
qboolean SetClass(gentity_t *ent, char *s, /*@null@*/ char *teamName, qboolean SaveToCvar) {
|
||||
int pclass, oldPClass;
|
||||
gclient_t *client;
|
||||
int clientNum;
|
||||
qboolean wasAdmin = ent->client->LoggedAsAdmin;
|
||||
clientSession_t *sess;
|
||||
playerState_t *ps;
|
||||
//int OldType;
|
||||
qboolean SetClass(gentity_t* ent, char* s, /*@null@*/ char* teamName, qboolean SaveToCvar) {
|
||||
int32_t pclass = 0;
|
||||
int32_t oldPClass = 0;
|
||||
gclient_t* client = NULL;
|
||||
int32_t clientNum = -1;
|
||||
qboolean wasAdmin = ent->client->LoggedAsAdmin;
|
||||
clientSession_t* sess = NULL;
|
||||
playerState_t* ps = NULL;
|
||||
|
||||
//FIXME: check for appropriate game mod being on first
|
||||
|
||||
|
@ -833,9 +870,9 @@ qboolean SetClass(gentity_t *ent, char *s, /*@null@*/ char *teamName, qboolean S
|
|||
// see what change is requested
|
||||
//
|
||||
|
||||
if (s == NULL || ent == NULL) {
|
||||
return qfalse;
|
||||
}
|
||||
G_Assert(ent, qfalse);
|
||||
G_Assert(s, qfalse);
|
||||
G_Assert(ent->client, qfalse);
|
||||
|
||||
client = ent->client;
|
||||
|
||||
|
@ -931,9 +968,16 @@ qboolean SetClass(gentity_t *ent, char *s, /*@null@*/ char *teamName, qboolean S
|
|||
return qtrue;
|
||||
}
|
||||
|
||||
void StopFollowing(gentity_t *ent) {
|
||||
playerState_t *ps = &ent->client->ps;
|
||||
clientSession_t *sess = &ent->client->sess;
|
||||
void StopFollowing(gentity_t* ent) {
|
||||
playerState_t* ps = NULL;
|
||||
clientSession_t* sess = NULL;
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
G_Assert(ent->client, (void)0);
|
||||
|
||||
ps = &ent->client->ps;
|
||||
sess = &ent->client->sess;
|
||||
|
||||
ps->persistant[PERS_TEAM] = TEAM_SPECTATOR;
|
||||
sess->sessionTeam = TEAM_SPECTATOR;
|
||||
sess->spectatorState = SPECTATOR_FREE;
|
||||
|
@ -949,14 +993,18 @@ void StopFollowing(gentity_t *ent) {
|
|||
Cmd_Team_f
|
||||
=================
|
||||
*/
|
||||
static void Cmd_Team_f(gentity_t *ent) {
|
||||
int oldTeam;
|
||||
char s[MAX_TOKEN_CHARS];
|
||||
char send[100];
|
||||
gentity_t *other;
|
||||
clientSession_t *sess = &ent->client->sess;
|
||||
static void Cmd_Team_f(gentity_t* ent) {
|
||||
int32_t oldTeam = 0;
|
||||
char s[MAX_TOKEN_CHARS];
|
||||
char send[100];
|
||||
gentity_t* other = NULL;
|
||||
clientSession_t* sess = NULL;
|
||||
qboolean voted = qfalse;
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
|
||||
sess = &ent->client->sess;
|
||||
|
||||
//RPG-X: Redtechie - haha to stupid to change teams!
|
||||
if (g_classData[sess->sessionClass].isn00b) {
|
||||
int j;
|
||||
|
@ -1009,7 +1057,7 @@ static void Cmd_Team_f(gentity_t *ent) {
|
|||
SetTeam(ent, s);
|
||||
|
||||
// restore previous vote state if a vote is running
|
||||
if (voted && level.voteTime) {
|
||||
if (voted && level.voteTime != 0) {
|
||||
ent->client->ps.eFlags |= EF_VOTED;
|
||||
}
|
||||
|
||||
|
@ -1030,10 +1078,13 @@ Cmd_Ready_f
|
|||
* when all clients have signaled ready, the game continues to the next match.
|
||||
* \param ent A player.
|
||||
*/
|
||||
void Cmd_Ready_f(gentity_t *ent) {
|
||||
gclient_t *client;
|
||||
client = ent->client;
|
||||
void Cmd_Ready_f(gentity_t* ent) {
|
||||
gclient_t* client = NULL;
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
G_Assert(ent->client, (void)0);
|
||||
|
||||
client = ent->client;
|
||||
client->readyToExit = qtrue;
|
||||
}
|
||||
|
||||
|
@ -1042,29 +1093,30 @@ void Cmd_Ready_f(gentity_t *ent) {
|
|||
Cmd_Class_f
|
||||
=================
|
||||
*/
|
||||
static void Cmd_Class_f(gentity_t *ent) {
|
||||
int OldScoreclass;
|
||||
char s[MAX_TOKEN_CHARS];
|
||||
char send[100];
|
||||
gentity_t *other;
|
||||
char *className;
|
||||
gclient_t *client;
|
||||
clientSession_t *sess;
|
||||
playerState_t *ps;
|
||||
static void Cmd_Class_f(gentity_t* ent) {
|
||||
int32_t OldScoreclass = 0;
|
||||
char s[MAX_TOKEN_CHARS];
|
||||
char send[100];
|
||||
gentity_t* other = NULL;
|
||||
char* className = NULL;
|
||||
gclient_t* client = NULL;
|
||||
clientSession_t* sess = NULL;
|
||||
playerState_t* ps = NULL;
|
||||
|
||||
if (!ent || !ent->client)
|
||||
return;
|
||||
G_Assert(ent, (void)0);
|
||||
G_Assert(ent->client, (void)0);
|
||||
|
||||
if (ent->flags & FL_CLAMPED)
|
||||
if ((ent->flags & FL_CLAMPED) != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
client = ent->client;
|
||||
sess = &client->sess;
|
||||
ps = &client->ps;
|
||||
|
||||
//RPG-X: Marcin - fragger respawn prevention - 03/01/2009
|
||||
if ((ent->s.eFlags & EF_DEAD) && (client->fraggerTime != -1) && (client->fraggerTime > level.time)) {
|
||||
trap_SendServerCommand(ent - g_entities, "print \"Sorry, you can't directly respawn after having been caught fragging.\n\"");
|
||||
if ((ent->s.eFlags & EF_DEAD) != 0 && (client->fraggerTime != -1) && (client->fraggerTime > level.time)) {
|
||||
G_PrintfClient(ent, "Sorry, you can't directly respawn after having been caught fragging.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1081,7 +1133,7 @@ static void Cmd_Class_f(gentity_t *ent) {
|
|||
}
|
||||
}
|
||||
|
||||
trap_SendServerCommand(ent - g_entities, "print \"Sorry, you're too n00bish to handle this command.\n\"");
|
||||
G_PrintfClient(ent, "Sorry, you're too n00bish to handle this command.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1090,7 +1142,7 @@ static void Cmd_Class_f(gentity_t *ent) {
|
|||
if (trap_Argc() == 1) {
|
||||
className = g_classData[sess->sessionClass].formalName;
|
||||
|
||||
trap_SendServerCommand(ent - g_entities, va("print \"\nCurrent Class: %s\nUsage: Changes the user to a different class\nCommand: Class <Class Name>\n\nType '/classlist' into the console for a more complete list\n\"", className));
|
||||
G_PrintfClient(ent, "\nCurrent Class : %s\nUsage : Changes the user to a different class\nCommand : Class <Class Name>\n\nType '/classlist' into the console for a more complete list\n", className);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1112,19 +1164,21 @@ static void Cmd_Class_f(gentity_t *ent) {
|
|||
Cmd_Cloak_f
|
||||
=================
|
||||
*/
|
||||
static void Cmd_Cloak_f(gentity_t *ent) {
|
||||
char arg[16];
|
||||
char *msg;
|
||||
playerState_t *ps;
|
||||
static void Cmd_Cloak_f(gentity_t* ent) {
|
||||
char arg[16];
|
||||
char* msg = NULL;
|
||||
playerState_t* ps = NULL;
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
|
||||
#ifndef SQL
|
||||
if (!IsAdmin(ent)) {
|
||||
trap_SendServerCommand(ent - g_entities, va("print \"ERROR: You are not logged in as an admin.\n\" "));
|
||||
G_PrintfClient(ent, "ERROR: You are not logged in as an admin.\n");
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if ( !IsAdmin( ent ) || !G_Sql_UserDB_CheckRight(ent->client->uid, SQLF_CLOAK) ) {
|
||||
trap_SendServerCommand( ent-g_entities, va("print \"ERROR: You are not logged in as a user with the appropiate rights.\n\" ") );
|
||||
G_PrintfClient(ent, "ERROR: You are not logged in as a user with the appropiate rights.\n")
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
@ -1132,7 +1186,7 @@ static void Cmd_Cloak_f(gentity_t *ent) {
|
|||
ps = &ent->client->ps;
|
||||
|
||||
trap_Argv(1, arg, sizeof(arg));
|
||||
if (!arg[0]) {
|
||||
if (arg[0] == 0) {
|
||||
G_PrintfClient(ent, "Usage: cloak 1 = cloak silent, cloak 0 = qflash\n");
|
||||
return;
|
||||
}
|
||||
|
@ -1140,7 +1194,7 @@ static void Cmd_Cloak_f(gentity_t *ent) {
|
|||
G_AddEvent(ent, EV_SET_CLOAK, atoi(arg)); //GSIO01 I know this sucks but at least it works
|
||||
|
||||
ent->flags ^= FL_CLOAK;
|
||||
if (!(ent->flags & FL_CLOAK)) {
|
||||
if ((ent->flags & FL_CLOAK) == 0) {
|
||||
msg = "Cloak Is Off\n";
|
||||
ps->powerups[PW_INVIS] = level.time;
|
||||
} else {
|
||||
|
@ -1148,8 +1202,7 @@ static void Cmd_Cloak_f(gentity_t *ent) {
|
|||
ps->powerups[PW_INVIS] = INT_MAX;
|
||||
}
|
||||
|
||||
trap_SendServerCommand(ent - g_entities, va("print \"%s\"", msg));
|
||||
|
||||
G_PrintfClient(ent, "%s", msg);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1160,9 +1213,11 @@ Phenix - 8/8/2004
|
|||
=================
|
||||
*/
|
||||
// Harry -- Can not call this from ingame...
|
||||
static void Cmd_EvoSuit_f(gentity_t *ent) {
|
||||
char *msg;
|
||||
playerState_t *ps;
|
||||
static void Cmd_EvoSuit_f(gentity_t* ent) {
|
||||
char* msg = NULL;
|
||||
playerState_t* ps = NULL;
|
||||
|
||||
G_Assert(ent, (void)0);
|
||||
|
||||
#ifndef SQL
|
||||
if (!IsAdmin(ent)) {
|
||||
|
@ -1179,7 +1234,7 @@ static void Cmd_EvoSuit_f(gentity_t *ent) {
|
|||
ps = &ent->client->ps;
|
||||
|
||||
ent->flags ^= FL_EVOSUIT;
|
||||
if (!(ent->flags & FL_EVOSUIT)) {
|
||||
if ((ent->flags & FL_EVOSUIT) == 0) {
|
||||
msg = "You have taken an EVA Suit off\n";
|
||||
ps->powerups[PW_EVOSUIT] = 0; //level.time; //eh? who put this here? -J2J
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue