From: Mircea Kitsune Date: Thu, 27 Oct 2011 17:15:11 +0000 (+0300) Subject: Add a cvar which allows players to edit each other's objects. Disabled by default... X-Git-Tag: xonotic-v0.6.0~35^2~18^2~110 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=c76bdf140d8b5064c56151e09ecd54caaeb4dc50;p=xonotic%2Fxonotic-data.pk3dir.git Add a cvar which allows players to edit each other's objects. Disabled by default, and only to be used on servers where the people know each other. --- diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index db1766ae0..10f2f7c5f 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -544,6 +544,7 @@ seta g_balance_cloaked_alpha 0.25 set g_sandbox 0 "allow players to spawn and edit objects around the map" set g_sandbox_info 1 "print non-critical information to the server" set g_sandbox_maxplayerobjects 100 "maximum number of objects a player can have at a time" +set g_sandbox_freeedit 0 "when enabled, players can edit any object on the map, not just the objects they've spawned" set g_sandbox_editor_distance_spawn 200 "distance at which objects spawn in front of the player" set g_sandbox_editor_distance_edit 350 "distance at which players can edit or remove objects they are looking at" set g_sandbox_object_scale_min 0.1 "minimum scale that objects can be set to" diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 47a7bac29..e3c8a169f 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1201,6 +1201,7 @@ float autocvar_g_debug_defaultsounds; float autocvar_g_loituma; float autocvar_g_sandbox_info; float autocvar_g_sandbox_maxplayerobjects; +float autocvar_g_sandbox_freeedit; float autocvar_g_sandbox_editor_distance_spawn; float autocvar_g_sandbox_editor_distance_edit; float autocvar_g_sandbox_object_scale_min; diff --git a/qcsrc/server/mutators/sandbox.qc b/qcsrc/server/mutators/sandbox.qc index b21a1d6ae..187debff4 100644 --- a/qcsrc/server/mutators/sandbox.qc +++ b/qcsrc/server/mutators/sandbox.qc @@ -59,7 +59,7 @@ entity sandbox_EditObject_Get() makevectors(self.v_angle); WarpZone_TraceLine(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * autocvar_g_sandbox_editor_distance_edit, MOVE_NORMAL, self); - if(trace_ent.classname == "object" && trace_ent.realowner == self) + if(trace_ent.classname == "object" && !(trace_ent.realowner != self && !autocvar_g_sandbox_freeedit)) return trace_ent; else return world;