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

Both sides previous revision Previous revision
Next revision
Previous revision
arma2:editor_modules:som [2009-06-02 07:04]
snakeman added SOM details.
arma2:editor_modules:som [2009-06-07 03:22] (current)
snakeman tweaks for the data.
Line 1: Line 1:
 ====== SOM ====== ====== SOM ======
  
-**Secondary Operations ​Module**+**Secondary Operations ​Manager**
  
-Its what generates the little side missions in the campaign, but of course, if you run it on an empty map you essentially have a random mission generator. To use it, place the module then synchronize it with the player.+Its what generates the little side missions in the campaign, but of course, if you run it on an empty map you essentially have a random mission generator.
  
-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 squadSimple yet tremendously fun+Usage:\\ 
 +Place the SOM gamelogic ​on the map, then synchronize it with the player.
  
-To create a civilian population, place a Location Module of your choice (City, Camp etc) in a 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!+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  There will be more information soon, but some initial global settings:+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: 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:
Line 41: Line 42:
   ​   ​
 _som setVariable ["​settings",​ _settings]; _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>​ </​code>​
arma2/editor_modules/som.1243926294.txt.gz · Last modified: 2009-06-02 07:04 by snakeman