set g_sandbox_storage_name default "name of the selected storage to use"
set g_sandbox_storage_autosave 5 "storage is automatically saved every specified number of seconds"
set g_sandbox_storage_autoload 1 "if a storage file exists for the given map, automatically load it at startup"
+set g_sandbox_editor_flood 1 "players must wait this many seconds between spawning objects"
set g_sandbox_editor_maxobjects 1000 "maximum number of objects that may exist at a time"
set g_sandbox_editor_free 1 "0 = players can only copy or edit their own objects, 1 = players can copy but not edit other objects, 2 = players can copy and edit all object"
set g_sandbox_editor_distance_spawn 200 "distance at which objects spawn in front of the player"
string autocvar_g_sandbox_storage_name;
float autocvar_g_sandbox_storage_autosave;
float autocvar_g_sandbox_storage_autoload;
+float autocvar_g_sandbox_editor_flood;
float autocvar_g_sandbox_editor_maxobjects;
float autocvar_g_sandbox_editor_free;
float autocvar_g_sandbox_editor_distance_spawn;
const float MAX_STORAGE_ATTACHMENTS = 16;
float object_count;
+.float object_flood;
.entity object_attach;
.string material;
// ---------------- COMMAND: OBJECT, SPAWN ----------------
case "object_spawn":
+ if(time < self.object_flood)
+ {
+ print_to(self, strcat("^1SANDBOX - WARNING: ^7Flood protection active. Please wait ^3", ftos(self.object_flood - time), " ^7seconds beofore spawning another object"));
+ return TRUE;
+ }
+ self.object_flood = time + autocvar_g_sandbox_editor_flood;
if(object_count >= autocvar_g_sandbox_editor_maxobjects)
{
print_to(self, strcat("^1SANDBOX - WARNING: ^7Cannot spawn any more objects. Up to ^3", ftos(autocvar_g_sandbox_editor_maxobjects), " ^7objects may exist at a time"));
print_to(self, "^1SANDBOX - WARNING: ^7Attempted to spawn an object without specifying a model. Please specify the path to your model file after the 'object_spawn' command");
return TRUE;
}
- else if not(fexists(argv(2)))
+ if not(fexists(argv(2)))
{
print_to(self, "^1SANDBOX - WARNING: ^7Attempted to spawn an object with a non-existent model. Make sure the path to your model file is correct");
return TRUE;
case "paste":
// spawns a new object using the properties in the player's clipboard cvar
+ if(time < self.object_flood)
+ {
+ print_to(self, strcat("^1SANDBOX - WARNING: ^7Flood protection active. Please wait ^3", ftos(self.object_flood - time), " ^7seconds beofore spawning another object"));
+ return TRUE;
+ }
+ self.object_flood = time + autocvar_g_sandbox_editor_flood;
if(!argv(3)) // no object in clipboard
{
print_to(self, "^1SANDBOX - WARNING: ^7No object in clipboard. You must copy an object before you can paste it");