aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers
diff options
context:
space:
mode:
Diffstat (limited to 'Northstar.CustomServers')
-rw-r--r--Northstar.CustomServers/mod.json7
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/_northstar_cheatcommands.nut69
2 files changed, 76 insertions, 0 deletions
diff --git a/Northstar.CustomServers/mod.json b/Northstar.CustomServers/mod.json
index 4ad212c4..89bacc36 100644
--- a/Northstar.CustomServers/mod.json
+++ b/Northstar.CustomServers/mod.json
@@ -60,6 +60,13 @@
}
},
{
+ "Path": "_northstar_cheatcommands.nut",
+ "RunOn": "SERVER",
+ "ServerCallback": {
+ "After": "NorthstarCheatCommands_Init"
+ }
+ },
+ {
"Path": "_chat.gnut",
"RunOn": "SERVER"
},
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/_northstar_cheatcommands.nut b/Northstar.CustomServers/mod/scripts/vscripts/_northstar_cheatcommands.nut
new file mode 100644
index 00000000..619bfcaf
--- /dev/null
+++ b/Northstar.CustomServers/mod/scripts/vscripts/_northstar_cheatcommands.nut
@@ -0,0 +1,69 @@
+untyped
+global function NorthstarCheatCommands_Init
+
+void function NorthstarCheatCommands_Init()
+{
+ AddClientCommandCallback( "noclip", ClientCommandCallbackToggleNoclip )
+ AddClientCommandCallback( "notarget", ClientCommandCallbackToggleNotarget )
+ AddClientCommandCallback( "demigod", ClientCommandCallbackToggleDemigod )
+ AddClientCommandCallback( "kill", ClientCommandCallbackKill )
+ AddClientCommandCallback( "explode", ClientCommandCallbackExplode )
+}
+
+bool function ClientCommandCallbackToggleNoclip( entity player, array<string> args )
+{
+ if ( !GetConVarBool( "sv_cheats" ) )
+ return true
+
+ print( player + " TOGGLED NOCLIP" )
+
+ if ( player.IsNoclipping() )
+ player.SetPhysics( MOVETYPE_WALK )
+ else
+ player.SetPhysics( MOVETYPE_NOCLIP )
+
+ return true
+}
+
+bool function ClientCommandCallbackToggleNotarget( entity player, array<string> args )
+{
+ if ( !GetConVarBool( "sv_cheats" ) )
+ return true
+
+ print( player + " TOGGLED NOTARGET" )
+
+ player.SetNoTarget( !player.GetNoTarget() )
+ player.SetNoTargetSmartAmmo( player.GetNoTarget() )
+ return true
+}
+
+bool function ClientCommandCallbackToggleDemigod( entity player, array<string> args )
+{
+ if ( !GetConVarBool( "sv_cheats" ) )
+ return true
+
+ print( player + " TOGGLED DEMIGOD" )
+
+ if ( IsDemigod( player ) )
+ DisableDemigod( player )
+ else
+ EnableDemigod( player )
+
+ return true
+}
+
+bool function ClientCommandCallbackKill( entity player, array<string> args )
+{
+ if ( IsAlive( player ) )
+ player.Die()
+
+ return true
+}
+
+bool function ClientCommandCallbackExplode( entity player, array<string> args )
+{
+ if ( IsAlive( player ) )
+ player.Die( null, null, { scriptType = DF_GIB } )
+
+ return true
+}