User Tools

Site Tools


dragengine:modules:dragonscript:behavior_actoraiaction

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dragengine:modules:dragonscript:behavior_actoraiaction [2025/03/13 17:07] dragonlorddragengine:modules:dragonscript:behavior_actoraiaction [2025/05/11 13:41] (current) – [aiAction.notify] dragonlord
Line 26: Line 26:
  
 Since this behavior provides no support to apply the chosen color listening is used. Behaviors knowing how to apply the color add a listener and are notified if the color changes. These events can be received: Since this behavior provides no support to apply the chosen color listening is used. Behaviors knowing how to apply the color add a listener and are notified if the color changes. These events can be received:
 +
 +====== Behavior Tree Actions ======
 +
 +This behavior adds these behavior tree actions if behavior tree is present.
 +
 +===== aiAction.set =====
 +
 +Set one or more actor ai/action parameters.
 +
 +^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|
 +|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|''true'', ''false''|Set if conversation waits due to active action|
 +
 +This is an example of using this action:
 +<code xml>
 +<action name='aiAction.set'>
 +  <parameter name='ai.behaviorTree'>/content/ai/patrol.debt</parameter>
 +  <parameter name='action.stateMachine'>/content/action/human.desm</parameter>
 +</action>
 +</code>
 +
 +===== aiAction.update =====
 +
 +Update AI/Action.
 +
 +^Parameter^Value^Description^
 +|ai.actionFinished|''success'', ''failure''|If actor is not player controlled calls actionFinished() or actionFailed() on the active AI if present|
 +
 +This is an example of using this action:
 +<code xml>
 +<action name='aiAction.update'>
 +  <parameter name='ai.actionFinished'>success</parameter>
 +</action>
 +</code>
 +
 +===== aiAction.check =====
 +
 +Check one or more behavior parameters. Action succeeds if all parameter value matches their respective player input crouch parameter otherwise action fails. This action is typically used as first action in a sequence to run the sequence only if a player input crouch parameter matches (or not).
 +
 +^Parameter^Value^Description^
 +|action.conversationWait|''true'', ''false''|Conversation waits due to active action|
 +
 +This is an example of using this action:
 +<code xml>
 +<sequence>
 +  <action name='aiAction.check'>
 +    <parameter name='action.conversationWait'>true</parameter>
 +  </action>
 +  <!-- actions here run only if conversation wait is enabled -->
 +</sequence>
 +</code>
 +
 +====== 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|''true'', ''false''|Conversation waits due to active action|
 +
 +This is an example of using this condition:
 +<code xml>
 +<action name='myAction' id='doing something'>
 +  <parameter name='aiAction.action.conversationWait'>true</parameter>
 +  <condition>aiAction.check</condition>
 +</action>
 +</code>
  
 ====== Required Behaviors ====== ====== Required Behaviors ======
Line 36: Line 107:
   * [[behavior_conversationactor|ECBehaviorConversationActor]]: Add conversation commands and conditions.   * [[behavior_conversationactor|ECBehaviorConversationActor]]: Add conversation commands and conditions.
   * [[behavior_playercontrollable|ECBehaviorPlayerControllable]]: Listen to events processing them with actions.   * [[behavior_playercontrollable|ECBehaviorPlayerControllable]]: Listen to events processing them with actions.
 +  * [[behavior_behaviortree|ECBehaviorBehaviorTree]]: Add actions and conditions for behavior trees to use.
  
 ====== Persistency ====== ====== Persistency ======
Line 89: Line 161:
   <behavior type='ECBehaviorActorAIAction'>   <behavior type='ECBehaviorActorAIAction'>
     <!-- behavior factory automatically assigns all optional behaviors if present -->     <!-- behavior factory automatically assigns all optional behaviors if present -->
 +    
 +    <!-- optional: use behavior tree with id instead of empty string -->
 +    <string name='behaviorTree'>second</string>
          
     <!-- set element properties. omit property prefix if used inside behavior tag -->     <!-- set element properties. omit property prefix if used inside behavior tag -->
dragengine/modules/dragonscript/behavior_actoraiaction.1741885666.txt.gz · Last modified: 2025/03/13 17:07 by dragonlord