User Tools

Site Tools


arma2:editor_modules:som

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
arma2:editor_modules:som [2009-05-31 16:54]
snakeman created som initial page.
arma2:editor_modules:som [2009-06-07 03:22] (current)
snakeman tweaks for the data.
Line 1: Line 1:
 ====== SOM ====== ====== SOM ======
  
-If you have played the campaign then you know what I'm referring to. What surprised me was that the SOM works for user created mission also. It dynamically creates mission and objectives and enemies depending on where you are on the map. To use it simply place it on the map and synchronize it to the player'​s squad. Simple yet tremendously fun+**Secondary Operations Manager**
  
-To create a civilian populationplace a Location Module ​of your choice (CityCamp etc) in town, then place a Civilian Ambient Module in the same town, synchronize the two GameLogic'​s,​ and voila; civilians will be created dynamically from houses in the areaThey will even take jogs and talk to each other!+Its what generates the little side missions in the campaignbut of courseif you run it on an empty map you essentially have random mission generator.
  
 +Usage:\\
 +Place the SOM gamelogic on the map, then synchronize it with the player.
 +
 +SOM randomly creates mission and objectives and enemies depending on where you are on the map.
 +
 +There is quite a lot you can configure for the SOM, including adding fully new SecOps. A random mission generator is exactly what the SOM is. Some initial global settings:
 +
 +You can override certain SOM settings by setting a "​settings"​ variable in a SOM (do this during the first 2 seconds of a mission!). In this Array you can send the SOM your custom pool of SecOps for this mission, you can disable the standard H.Q. radio communications,​ you can set different callsigns and set an initial delay (default is 30 seconds). If you do not want to set all settings, you may pass nil for those that you wish to leave on their default values. A typical settings Array can look like this:
 +<code cpp>
 +private ["​_pool",​ "​_hq",​ "​_callsigns",​ "​initialDelay",​ "​_autoReinforce",​ "​_settings"​];​
 +_pool =
 +[
 + "​ambush"​
 +];
 +  ​
 +_hq = false;
 +  ​
 +//Team text, team speech, H.Q. text, H.Q. speech.
 +_callsigns = ["​Razor",​ ["​Razor"​],​ "​Frostbite",​ ["​Frostbite"​]];​
 +  ​
 +//Delay in seconds before starting random SecOps selection.
 +_initialDelay = 60;
 +  ​
 +//Should an automatic Reinforce be triggered when there are casualties?
 +//Default is true.
 +_autoReinforce = false;
 +  ​
 +_settings =
 +[
 + _pool,
 + _hq, 
 +        _callsigns, ​
 +        _initialDelay, ​
 +        _autoReinforce
 +];
 +  ​
 +_som setVariable ["​settings",​ _settings];
 +</​code>​
 +
 +**Is it possible to have a script or trigger running that once you had completed a certain amount of SOM missions, say 5?**
 +
 +Yes. The SecOps template (04: Combat) uses this concept. The SOM tracks completed / failed SecOps in an internal variable history (Array: Scalar | completed, Scalar | failed).
 +
 +So let's say your SOM is myFirstSOM, you can make your trigger check for:
 +<code cpp>
 +((myFirstSOM getVariable "​history"​) select 0) == 5;
 +</​code>​
 +
 +Misc notes
 +
 +What is already possible: without modifying the core SOM scripts (not recommended),​ you can create new SecOps in some add-on and define them in CfgSecOps. The SOM will automatically be able to use them. Eventually there could be a long list of community SecOps if anybody likes making them.
 +
 +To get support:
 +
 +Try to execute in a script after the SOM has started:
 +<code cpp>
 +//Gives one:
 +["​tactical_airstrike",​ player] call BIS_SOM_addSupportRequestFunc;​
 +
 +//Gives one of each:
 +[["​transport",​ "​supply_drop",​ "​tactical_airstrike",​ "​artillery_barrage"​],​ player] call BIS_SOM_addSupportRequestFunc;​
 +
 +//Gives 2 random supports:
 +[2, player] call BIS_SOM_addSupportRequestFunc;​
 +</​code>​
arma2/editor_modules/som.1243788884.txt.gz ยท Last modified: 2009-05-31 16:54 by snakeman