-
Notifications
You must be signed in to change notification settings - Fork 1
Getting Started
10Dozen edited this page Jun 14, 2016
·
24 revisions
dzn_dynai (Dynamic AI) is the lite and user-friendly script tool to generate areas full of angry AI-controlled units.
Features:
- Single- and multiplayer compatible
- Spawn infntry and vehicles with selected crew
- Units patrol their zones, call for reinforcements if they have loses or met more powerful force
- CQB units that hold positions in houses and advance when hostiles come close enough
- Caching of units placed far from players (270+ units per mission)
- Easy to set up zone via simple html interface (using any modern web browser)
- Ability to create zone both via editor and during the mission via scripts
- Ability to control spawned units (behavior, assign new waypoints)
- Download latest master branch from repository
- Extract files to your mission folder
dzn_dynai also includes dzn_commonFunctions (obligatory) and dzn_gear (not obligatory, but allows to easilygear up spawned units with custom gear).
- Place single GameLogic object and name it - dzn_dynai_core.
- Add another GameLogic object with appropriate name (e.g. NATO_BasePatrol), use only english letters and avoid spaces and special symbols (except _).
- Synchronize GameLogic with dzn_dynai_core object.
- Place one or several triggers, that represent area where units will be spawned and what area they will patrol after.
- Synchronize trigger(s) with GameLogic.
- Go to tools and open xmlDynai.html file with any browser (e.g. Google Chrome).
- Populate all fields:
Name - a name of GameLogic object (e.g. NATO_BasePatrol)
Side - side of the zone. Default Arma3 unit classnames of selected side will be used at Unit References section.
Is Zone Active - if checked - activates zone on mission start.
Unit References - section that describe what groups will be spawned in zone:
Count of groups - number of the groups of given type that will be spawned in zone.
Add Unit - button to add infantry unit to group template:
Class of unit - unit classname, pre-populated if Side is chosen.
Kit for unit - name of dzn_gear kit that will be assigned to this unit.
Patrol/In building/In Vehicle - type of unit behaviour. Patrol - unit will move on foot, In building - unit will hold position inside buildings, In Vehicle - unit will take specified role in vehicle.
Add Vehicle - button to add vehicle unit to group template (just vehicle, crew should be assigned as Infantry - In Vehicle - "driver"/"gunner"/"commander"/"cargo"):
Class of unit - vehicle classname.
Kit for unit - name of dzn_gear kit that will be assigned to this vehicle.
Speed Mode - speed of the units.
Behavior - behavior settings for units.
Combat Mode - combat settings for units (use Yellow or Red to make units faster in engaging).
Formation - formation of groups.
- Click Create Zone Config button and copy generated array to dzn_dynai\Zones.sqf file.
- If there are several zones - do not forget to separate arrays with comma
- Open dzn_dynai\dzn_dynai_init.sqf file
- dzn_dynai_allowGroupResponse - if true - groups can call and provide reinforcement to each other.
- dzn_dynai_forceGroupResponse - if true - all editor-placed groups will call and provide reinforcements.
- dzn_dynai_responseDistance - max. distance for groups to response to reinforcement call.
- dzn_dynai_complexSkill/tt> - if true - dzn_dynai_skill will use detailed skill values, if false - single number will be used to define units skill.
- dzn_dynai_allowedHouses - list of allowed buildings for In building unit behaviour (you can restrict specific buildings here).
- dzn_dynai_enableCaching - if true - unit caching will be used.
- dzn_dynai_cacheDistance - max. distance from players where units are not cahced, all units outside this distance will be cached
Wait until dzn_dynai become initialized by waitUntil { !isNil "dzn_dynai_initialized" && { dzn_dynai_initialized } }; expression.
After dzn_dynai is initialize - you can use functions like dzn_fnc_dynai_activateZone.