This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dragengine:modules:dragonscript:behavior_actoraiaction [2025/05/09 11:00] – dragonlord | dragengine:modules:dragonscript:behavior_actoraiaction [2026/09/26 21:47] (current) – [Element Class Properties] dragonlord | ||
|---|---|---|---|
| Line 22: | Line 22: | ||
| ====== Element Class Properties ====== | ====== Element Class Properties ====== | ||
| Element class properties have the prefix '' | Element class properties have the prefix '' | ||
| + | |||
| + | ===== action ===== | ||
| + | |||
| + | Name of action factory to use to create action instance. Name is looked up using BaseGameApp.getLoader().getPersistency().getFactoryNamed(). The factory must inherit from ECBehaviorActorAIAction.ActionFactory. The following factories are added by BaseGameApp: | ||
| + | |||
| + | * BaseActorAction: | ||
| + | * BAAFirstPerson: | ||
| + | * BAAFirstPersonVR: | ||
| + | * BAAVehicle: Vehicle actor action. | ||
| + | * BAAStateMachine: | ||
| + | |||
| + | To use custom factories add using Persistency.addFactory() using the name you like to use. Names are not required to match the class name but doing so makes it easier to find the responsible class | ||
| + | |||
| + | * Full name: '' | ||
| + | * Type: string | ||
| + | * Default Value: '' | ||
| + | * Example (*.deeclass) <code xml>< | ||
| + | |||
| + | ===== ai ===== | ||
| + | |||
| + | Name of AI factory to use to create action instance. Name is looked up using BaseGameApp.getLoader().getPersistency().getFactoryNamed(). The factory must inherit from ECBehaviorActorAIAction.AIFactory. The following factories are added by BaseGameApp: | ||
| + | |||
| + | * BaseActorAI: | ||
| + | * BAAIBehaviorTree: | ||
| + | |||
| + | To use custom factories add using Persistency.addFactory() using the name you like to use. Names are not required to match the class name but doing so makes it easier to find the responsible class | ||
| + | |||
| + | * Full name: '' | ||
| + | * Type: string | ||
| + | * Default Value: '' | ||
| + | * Example (*.deeclass) <code xml>< | ||
| ====== Events ====== | ====== Events ====== | ||
| Line 38: | Line 69: | ||
| |ai.behaviorTree|string|Set AI using BAAIBehaviorTree with behavior tree loaded from value path. Path can be relative to behavior tree file containing this action| | |ai.behaviorTree|string|Set AI using BAAIBehaviorTree with behavior tree loaded from value path. Path can be relative to behavior tree file containing this action| | ||
| |action.stateMachine|string|Set Action using BAAStateMachine with state machine loaded from value path. Path can be relative to behavior tree or state machine file containing this action| | |action.stateMachine|string|Set Action using BAAStateMachine with state machine loaded from value path. Path can be relative to behavior tree or state machine file containing this action| | ||
| + | |action.conversationWait|'' | ||
| This is an example of using this action: | This is an example of using this action: | ||
| Line 47: | Line 79: | ||
| </ | </ | ||
| - | ===== aiAction.notify | + | ===== aiAction.update |
| - | Notify | + | Update |
| ^Parameter^Value^Description^ | ^Parameter^Value^Description^ | ||
| - | |ai.behaviorTree|string|Set AI using BAAIBehaviorTree with behavior tree loaded from value path. Path can be relative to behavior tree file containing this action| | + | |ai.actionFinished|'' |
| - | |action.stateMachine|string|Set Action using BAAStateMachine with state machine loaded from value path. Path can be relative to behavior tree or state machine file containing this action| | + | |
| This is an example of using this action: | This is an example of using this action: | ||
| <code xml> | <code xml> | ||
| - | <action name=' | + | <action name=' |
| - | < | + | < |
| - | < | + | </action> |
| + | </code> | ||
| + | |||
| + | ===== aiAction.check ===== | ||
| + | |||
| + | Check one or more behavior parameters. Action succeeds if all parameter | ||
| + | |||
| + | ^Parameter^Value^Description^ | ||
| + | |action.conversationWait|'' | ||
| + | |||
| + | This is an example of using this action: | ||
| + | <code xml> | ||
| + | < | ||
| + | | ||
| + | | ||
| + | </action> | ||
| + | <!-- actions here run only if conversation wait is enabled --> | ||
| + | </sequence> | ||
| + | </ | ||
| + | |||
| + | ====== Behavior Tree Conditions ====== | ||
| + | |||
| + | This behavior adds these behavior tree conditions if behavior tree is present. | ||
| + | |||
| + | ===== aiAction.check ===== | ||
| + | |||
| + | Check one or more behavior parameters. Conditions returns true if all parameter value match their respective player input crouch parameter. This condition is typically used to run an action or sequence of actions as long as player input crouch conditions are true. | ||
| + | |||
| + | ^Parameter^Value^Description^ | ||
| + | |aiAction.action.conversationWait|'' | ||
| + | |||
| + | This is an example of using this condition: | ||
| + | <code xml> | ||
| + | <action name=' | ||
| + | < | ||
| + | < | ||
| </ | </ | ||
| </ | </ | ||