Insurgency: Sandstorm

Custom Objects (v1.0.3c) for Insurgency: Sandstorm

Released (updated ago). Ranked 131 of 664 with 10,857 (13 today) downloads

Published by Destinate (mod ID: 1058566)


Note: This is for serverside only

What exactly is this mod for? This mod will let the server owner add custom objects to the map they want. Like adding a vehicle to a specific spot or adding some prop like a tree, a wall, a fire camp, etc...
Anything you can think of except weapons, grenades, or anything that has to do with the firearm will not work.

Mutator Name:
- CustomObjects

All configs will go in your game.ini and under the line [/CustomObjects/Mutators/CustomObjects.CustomObjects_C]
There is no default config for this. The default config is empty. You will have to copy the configs I have below into your game.ini

The assets are for storing the blueprint path of the stuff you are going to use. You can use as many assets and configs as you want. Assets path can grab in the sandstorm SDK. The assets are part of the game, you not copying any file over or anything. All you need is just the path where that asset is. Unless you are using an asset from a mod then you will need to subscribed/downloaded that mod.
For example

;Index 0

;Index 1

StaticMesh Assets

Static mesh assets config is similar to the asset above. Except it uses for static mesh instead of blueprint actor (Self-explanatory).

;Index 0

;Index 1


The configs are for storing the place and other configurations where and which map this object will spawn. If you didn't specific which type of asset to use in the config, then it will use the blueprint assets.

Configs=(Scenario=Scenario_Tideway_Checkpoint_Security, AssetIndex=1, Location=-8259;25939;558)
Configs=(Scenario=Scenario_Tideway_Checkpoint_Security, AssetIndex=0, Location=-9558;26289;448)
Configs=(Scenario=Scenario_Tideway_Checkpoint_Insurgents, AssetIndex=0, Location=13507;-10181;276)
Configs=(Scenario=Scenario_Crossing_Checkpoint_Security, AssetIndex=1, Location=27005;-2498;1088)
Configs=(Scenario=Scenario_Crossing_Checkpoint_Security, AssetIndex=0, Location=26417;1929;159)
Configs=(Scenario=Scenario_Crossing_Checkpoint_Insurgents, AssetIndex=1, Location=-22956;-21260;661)
Configs=(Scenario=Scenario_Crossing_Checkpoint_Insurgents, AssetIndex=0, Location=-25636;-20432;751)
Configs=(Scenario=Scenario_Outskirts_Checkpoint_Security, AssetIndex=1, Location=27178;-1209;-822)
Configs=(Scenario=Scenario_Farmhouse_Checkpoint_Security, AssetIndex=1, Location=6898;19088;274)
Configs=(Scenario=Scenario_Farmhouse_Checkpoint_Security, AssetIndex=0, Location=7641;22967;262)
Configs=(Scenario=Scenario_Farmhouse_Checkpoint_Insurgents, AssetIndex=1, Location=15145;-16823;467)
Configs=(Scenario=Scenario_Farmhouse_Checkpoint_Insurgents, AssetIndex=0, Location=14074;-18016;435)
Configs=(Scenario=Scenario_Ministry_Checkpoint_Security, AssetIndex=1, Location=9036;1037;261)
Configs=(Scenario=Scenario_Ministry_Checkpoint_Security, AssetIndex=0, Location=-414;384;-442)
Configs=(Scenario=Scenario_Ministry_Checkpoint_Insurgents, AssetIndex=1, Location=-9276;4085;266)
Configs=(Scenario=Scenario_Ministry_Checkpoint_Insurgents, AssetIndex=0, Location=-414;384;-442)
Configs=(Scenario=Scenario_Summit_Checkpoint_Security, AssetIndex=1, Location=-17512;34501;2960)
Configs=(Scenario=Scenario_Summit_Checkpoint_Security, AssetIndex=0, Location=-12557;34787;2328)
Configs=(Scenario=Scenario_Summit_Checkpoint_Insurgents, AssetIndex=1, Location=-18844;-29361;4849)
Configs=(Scenario=Scenario_Summit_Checkpoint_Insurgents, AssetIndex=0, Location=-16686;-29247;4850)
Configs=(Scenario=Scenario_Refinery_Checkpoint_Security, AssetIndex=1, Location=-29871;21669;28)
Configs=(Scenario=Scenario_Refinery_Checkpoint_Security, AssetIndex=0, Location=-33317;21513;17)
Configs=(Scenario=Scenario_Refinery_Checkpoint_Insurgents, AssetIndex=1, Location=22438;15252;10)
Configs=(Scenario=Scenario_Refinery_Checkpoint_Insurgents, AssetIndex=0, Location=27822;14411;49)
Configs=(Scenario=Scenario_Precinct_Checkpoint_Security, AssetIndex=1, Location=6104;-15378;1088)
Configs=(Scenario=Scenario_Precinct_Checkpoint_Security, AssetIndex=0, Location=10889;-15311;1085)
Configs=(Scenario=Scenario_Precinct_Checkpoint_Insurgents, AssetIndex=1, Location=1609;21951;-196)
Configs=(Scenario=Scenario_Precinct_Checkpoint_Security, AssetIndex=0, Location=3068;20792;-201)
Configs=(Scenario=Scenario_Hillside_Checkpoint_Security, AssetIndex=1, Location=475;-2549;170)
Configs=(Scenario=Scenario_Hillside_Checkpoint_Security, AssetIndex=0, Location=4713;-3005;1303)
Configs=(Scenario=Scenario_Hillside_Checkpoint_Insurgents, AssetIndex=1, Location=-1709;42717;4580)
Configs=(Scenario=Scenario_Hillside_Checkpoint_Insurgents, AssetIndex=0, Location=217;42583;4600)
Configs=(Scenario=Scenario_Hideout_Checkpoint_Security, AssetIndex=1, Location=23164;-17595;162)
Configs=(Scenario=Scenario_Hideout_Checkpoint_Security, AssetIndex=0, Location=21237;-16260;199)
Configs=(Scenario=Scenario_Hideout_Checkpoint_Insurgents, AssetIndex=1, Location=33841;30604;413)
Configs=(Scenario=Scenario_Hideout_Checkpoint_Insurgents, AssetIndex=0, Location=32855;29145;481)

Here is an example with the static mesh asset. Make sure you spawn it only once. Static mesh assets will stay on the map regardless if the round is restarted or a new round. If you don't include Once, it will spawn on top of the existing static mesh every round and it can lag the map. By setting the Type=StaticMesh in the config, AssetIndex will be based on the StaticMeshAssets index.

Configs=(Scenario=Scenario_Crossing_Checkpoint_Security, Type=StaticMesh, AssetIndex=0, Location=21050;-6370;1230, Rotation=0;0;-70, SpawnChance=0.33, Once)

Here is a list of parameters and an explanation of each parameter for the configs.
They have to be in order!

*Scenario stores the scenario name. We will only spawn this object only when we are playing this scenario.

Type to let the mod know which asset to use. The blueprint assets or the staticmesh assets. Default is blueprint, you don't have to put it in. If you are using static mesh asset then you must put in Type=StaticMesh. (This parameter is optional)

*AssetIndex is the index of the asset you are going to use to spawn this object/prop/vehicle. Take a look at the assets above, I put some comments about the index. The index will always start at 0.

*Location is the location where this object/prop/vehicle/etc... will spawn in X, Y, and Z format. Each of them is separate by a semicolon ;

Rotation will store the rotation of a prop/vehicle/etc... also in X, Y, and Z format. You don't have to include it in your configs. Default value is 0;0;0. Each of them is separated by a semicolon ; (This parameter is optional)

SpawnChance in a float format between 0.0 and 1.0 a chance to spawn this object. Default is 1.0 which is a 100% spawn chance. If you are using SpawnChance that isn't 100% then each round will have a different outcome. The stuff that spawns this round might not spawn in the next round. (This parameter is optional)

Once will make it only spawn once every map instead of spawning it again on every round. Only use this for persistence assets that don't get deleted after the round end. This will only make the asset spawn once when the round begins. If the spawn chance is low and this didn't spawn in the first round then it will not appear in the rest of the game rounds. (This parameter is optional)

AfterObjective will make this spawn only after this objective is destroyed or captured. Regardless if it is a counter-attack or not. This parameter only takes 1 objective name. If you put C for this, it will only spawn after C is captured or destroyed. (This parameter is optional)

Here is an example using these parameters

Configs=(Scenario=Scenario_Hideout_Checkpoint_Insurgents, AssetIndex=0, Location=32855;29145;481, Rotation=1;90;35, SpawnChance=0.81)
Configs=(Scenario=Scenario_Hideout_Checkpoint_Insurgents, AssetIndex=0, Location=32855;29145;481, Once, AfterObjective=B)

This mod is good for modders to test their stuff on the server and also for people that want the map to look like dynamic by making objects have a chance to spawn.











Join the community or sign in with your gaming account to join the conversation:

germanc4 @germanc4

in the example for each scenario, are those locations the last objective to capture?. i want to set a technical on every maps last objective and maybe c or d objectives

Destinate @destinate

Are you talking about the configs I have above? Those are the locations for the vehicles that spawn near the first spawn point on round start. If you want to spawn the vehicle in the last objective or any objective, then you have to put their locations in the config and set when to spawn like after which objective is captured/destroyed.

germanc4 @germanc4

and if a want to know the locations i have to see them in the sandstorm editor for each map right?

Destinate @destinate

Yes or u can go in game and turn on the location overlay in the settings

germanc4 @germanc4

thats great, thanks bro


love you!

Lozza-Redback_Gaming @lozza-redback-admin

Is there a way to stop asset timeouts

Person_of_D @person-of-d

Hello, your mod is really great, thank you for your idea! Can you also enable us to spawn enemy players/snipers?

Lozza-Redback_Gaming @lozza-redback-admin

Also, if I want to add a tree the asset path is StaticMesh '/Game/Environment/Props/Speedtree/ Library_Jungle_Trees/Jungle_Tall_XL_01/JungleTall_XL_01.JungleTall_XL_01' do I simply use this path, or do I need to change it. I had to add a few spaces, as the comments do not allow words with more than 100 characters

Destinate @destinate

You just put the whole thing in asset. Including the StaticMesh
Then use Configs to spawn it

Lozza-Redback_Gaming @lozza-redback-admin

Ok, with the above examples it works, my question is, in the SDK the asset path is
Blueprint'/Game/Game/Actors/Vehicles/BP_VH_TechnicalLarge_Insertion_Black.BP_VH_TechnicalLarge_Insertion_Black' do I change BlueprintGeneratedClass

Destinate @destinate

No. Keep it as how it is

Lozza-Redback_Gaming @lozza-redback-admin

Tested on Redback Game servers, tests OK... well done

bahzooga @bahzooga

is there a list of available assets that one could use?
also, I doubt the above example as ";" is used to comment out all and everything throughout the configuration files. so you cannot reference to "AssetIndex=1", "AssetIndex=2" and so on w/o having tagged them accordingly first

Destinate @destinate

The semicolon is for the comment. I put ;Index 0 and ;Index 1 as a comment for people to know that the asset order is start from 0 and so on. The asset index is base on the asset order.

Unfortunately, I don't have a list of assets for people to use. The list is too big to put here. The only way to get it, it's through the SDK.

Lozza-Redback_Gaming @lozza-redback-admin

I assume you need to create a folder, on your server, then copy the assets from the editor to your folder, on the server. Also can you add more than 1 asset, if so is the format C AssetIndex=0, Location=-9558;26289;448, AssetIndex=1, Location=-8259;25939;558)
Finally, will these assets give cover, from bots, or will they see you.