]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Only allow a player to edit / remove his own objects, not any objects on the map
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 24 Oct 2011 23:11:33 +0000 (02:11 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 24 Oct 2011 23:11:33 +0000 (02:11 +0300)
qcsrc/server/mutators/sandbox.qc

index ea41dcea3b7b092d737256b85028b8ae8b66ca7c..8c94ed3aafb9cdfc30188a5542cf6b3d240de5ab 100644 (file)
@@ -86,7 +86,7 @@ MUTATOR_HOOKFUNCTION(sandbox_PlayerCommand)
                {
                        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")
+                       if(trace_ent.classname == "object" && trace_ent.realowner == self)
                        {
                                if(autocvar_g_sandbox_info)
                                        print(strcat(self.netname, " removed an object at origin ", vtos(trace_ent.origin), "\n"));
@@ -112,7 +112,7 @@ MUTATOR_HOOKFUNCTION(sandbox_PlayerPreThink)
        crosshair_trace_plusvisibletriggers(self);
 
        float candrag;
-       if(trace_ent.classname == "object" && vlen(trace_ent.origin - self.origin) <= autocvar_g_sandbox_editor_distance_edit)
+       if(trace_ent.classname == "object" && trace_ent.realowner == self && vlen(trace_ent.origin - self.origin) <= autocvar_g_sandbox_editor_distance_edit)
                candrag = TRUE; // object can be picked up
        if(Drag(trace_ent, candrag)) // execute dragging
                if(autocvar_g_sandbox_info)