Added Nobuild series of commands (Issue 128)

This commit is contained in:
Paradox460 committed 2008-06-26 22:20:54 +00:00
1 parent 86a37bbb72
commit 7596b65f3e
7 files changed
+327 -8

No files matched your search

+63 -1
View File
@@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "g_local.h"
void NoThink(gentity_t *ent);
// big ugly global buffer for use with buffered printing of long outputs
static char g_bfb[ 32000 ];
@@ -195,6 +196,16 @@ g_admin_cmd_t g_admin_cmds[ ] =
"[^3mapname^7]"
},
{"nobuild", G_admin_nobuild, "L",
"make an area nobuild",
"[^3game units^7]"
},
{"nobuildsave", G_admin_nobuildsave, "L",
"save a map's nobuild markers",
""
},
{"listadmins", G_admin_listadmins, "D",
"display a list of all server admins and their levels",
"(^5name|start admin#^7) (^5minimum level to display^7)"
@@ -2837,6 +2848,14 @@ qboolean G_admin_layoutsave( gentity_t *ent, int skiparg )
return qtrue;
}
qboolean G_admin_nobuildsave( gentity_t *ent, int skiparg )
{
trap_SendConsoleCommand( EXEC_APPEND, "nobuildsave" );
AP( va( "print \"^3!nobuildsave: ^7nobuild saved by %s\n\"", ( ent ) ? ent->client->pers.netname : "console" ) );
return qtrue;
}
qboolean G_admin_mute( gentity_t *ent, int skiparg )
{
int pids[ MAX_CLIENTS ];
@@ -7708,4 +7727,47 @@ qboolean G_admin_fireworks( gentity_t *ent, int skiparg )
}
}
return qtrue;
}
}
qboolean G_admin_nobuild( gentity_t *ent, int skiparg )
{
int minargc;
char units[ MAX_STRING_CHARS ];
gentity_t *nb;
vec3_t low;
int units2;
minargc = 2 + skiparg;
if( G_SayArgc() < minargc )
{
ADMP( "^3!buildno: ^7usage: !nobuild [game units]\n" );
return qfalse;
}
if( !ent )
{
ADMP( "^3!nobuild: ^7console cannot use this command\n" );
return qfalse;
}
G_SayArgv( 1 + skiparg, units, sizeof( units ) );
VectorAdd( ent->s.origin, ent->r.mins, low );
units2 = atoi(units);
low[0] = ent->s.origin[0];
low[1] = ent->s.origin[1];
nb = G_Spawn( );
nb->s.modelindex = 1337;
nb->think = NoThink;
nb->nextthink = level.time;
VectorCopy( low, nb->s.pos.trBase );
VectorCopy( low, nb->r.currentOrigin );
trap_LinkEntity( nb );
nb->nobuilder = qtrue;
nb->nobuildarea = units2;
return qtrue;
}