SNKMAN – User talk

From Bohemia Interactive Community
Revision as of 07:48, 31 July 2010 by Snkman (talk | contribs)
Jump to navigation Jump to search

FSM: ( Fine State Machine )

In ArmA 2 we have 2 different .fsm which are used to set how A.I. should behave in combat.

1. NativeFSM ( CACharacters\CfgFSMs.hpp )
2. ScriptedFSM ( CACharacters\Scripts\Danger.fsm )

Bouth FSMs are initialized in the "CACharacter" >> "CfgVehicles" >> "CAManBase".

The NativeFSM is used to control the general behaviour of A.I. units in combat.
It will choose if A.I. should go to cover or attack a known enemy.
If A.I. should reload while in cover or if A.I. should look any another ( may better ) cover.
It also let you choose if A.I. should provide cover or if they should try fighting on their own.

The ScriptedFSM is used to control the general behaviour of A.I. in situations which are dangerous.
This is something like a Event Handler which is triggering after a specific event happend.
The ScriptedFSM Conditions:


Detect Enemys: This will trigger every time A.I. has detected a enemy unit.


Detect Weapon fire: This will trigger every time a unit has fired a weapon.
Note: The A.I. which should detect weapon fire must have the chance to know more then 0 about the unit which has fired the weapon.


Detect Enemys Near: This will trigger every time A.I. has detected a enemy unit which is very close.


Detect Explosions: This will trigger every time after something is exploded? ( Havent seen this so far... )


Detect Dead Bodys: This will trigger every time A.I. has detected a dead body. Note: Exploded vehicles are triggered here too.


Detect Stop Fire: This will trigger randomly and make A.I. to stop moving for 4 - 8 sec.

If multiple conditions match then they will be triggered given to the priority set in the event.