Display Dynamic Message
Display Dynamic Message¶
Displays a speech bubble that can optionally track and follow an entity on screen.
Properties¶
System¶
| Name | Explanation | Type |
|---|---|---|
| Anchor | The anchor direction for positioning the message bubble relative to the target entity. | Direction |
| Audio | The audio clip to play when the message is displayed. | Sound Effect |
| Block Input | When enabled, player input is blocked while the message is displayed. | Toggle |
| Body | The main message text to display in the speech bubble. | String |
| Constrain Message Area | When enabled, the message bubble is constrained to a fixed screen area instead of following the target. | Toggle |
| Constrained Area | The fixed screen area to constrain the message bubble within. | Rectangle |
| Dismissable | When enabled, the player can dismiss the message by pressing the confirm key. | Toggle |
| Duration | The auto-dismiss duration in milliseconds. A value of 0 means the message will not auto-dismiss. | Variable or Value |
| Header | The header text displayed at the top of the speech bubble. | String |
| Hero Portrait | The hero whose portrait image is displayed alongside the message. | Character |
| Hero Portrait | When enabled, the portrait is sourced from a hero reference. When disabled, a custom portrait image is used. | Toggle |
| Is Cancelable | When enabled, the player can cancel the message or dialogue. | Toggle |
| Maintain Last Message Displayed | When enabled, the previous message remains visible while the dialogue is displayed. | Toggle |
| Message Template | The user interface template used to render the message box. | User Interface |
| Offset | The pixel offset applied to the message box position. | Point |
| Options | The list of dialogue options the player can choose from. | Array |
| Padding | The padding in pixels between the target's bounding box edge and the message bubble. | Variable or Value |
| Portrait | A custom portrait image displayed alongside the message. | Sprite or Model |
| Portrait Expression | The portrait expression to apply to the hero's portrait image. | Portrait Expression |
| Result | The variable to store the unique ID of the displayed message into. | Variable or Value |
| Store Message ID | When enabled, the unique ID of the displayed message is stored in a variable for later reference. | Toggle |
| Target | The actor the speech bubble is attached to and follows on screen. | Actor Reference |
| Target | When enabled, the speech bubble is attached to a specific actor on the map. | Toggle |
| Use Portrait Expression | When enabled, a portrait expression is applied to the hero's portrait. | Toggle |
Anchor¶
| Name | Explanation |
|---|---|
| None | No anchor positioning. |
| Center | Anchors to the center of the target. |
| Left | Anchors to the left side of the target. |
| Top | Anchors to the top of the target. |
| Right | Anchors to the right side of the target. |
| Bottom | Anchors to the bottom of the target. |
Examples¶
Display a Speech Bubble on the Current Entity¶
This displays a speech bubble attached to the current entity (self) with default settings.
{"Data":{"Anchor":3,"Body":"Hello!","ConstrainedArea":"0,0,0,0","Duration":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"0","VariableIndex":0,"Metadata":null},"Header":"","HeroReference":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"","VariableIndex":0,"Metadata":null},"IsInstanceIndex":1,"IsReferenceIndex":0,"IsUniqueID":0,"Metadata":null},"Padding":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"10","VariableIndex":0,"Metadata":null},"IsDismissable":1,"Portrait":{"Animation":null,"BackfaceCullingMethod":0,"HueShift":0,"IsCycling":0,"IsModel":0,"Name":null,"SpriteBorderThickness":0,"SpriteDuration":100,"SpriteFrames":3,"SpriteLayers":{},"SpriteOrientation":4,"SpriteOrientedAroundCenter":1,"SpriteRegion":"0,0,0,0","UseSpriteLayers":0,"Scale":"1,1,1","Translation":"0,0,0"},"PortraitExpressionReference":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"","VariableIndex":0,"Metadata":null},"IsInstanceIndex":0,"IsReferenceIndex":1,"IsUniqueID":0,"Metadata":null},"Result":{"IsGlobalVariable":true,"IsLocalVariable":false,"IsValue":false,"Value":"","VariableIndex":0,"Metadata":null},"StoreID":0,"Target":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"","VariableIndex":0,"Metadata":null},"IsEntity":0,"IsIdentifiedByUniqueID":0,"IsPartyMember":0,"IsSelf":1,"Metadata":null},"UseConstrainedArea":0,"UseHeroReference":0,"UsePortraitExpressionReference":0,"UseTarget":1,"AudioMessage":{"Name":null,"Pan":0,"Pitch":0,"Volume":1,"IsPreventingMultiple":false},"IsCancelable":0,"IsMaintainingLastMessage":0,"Offset":"0,0","Options":[],"IsBlockingInput":1,"UserInterfaceID":"00000000-0000-0000-0000-000000000000","Metadata":null},"TypeName":"MAR.Game.RPGCore.Models.Scripts.Commands.Message.DynamicMessageCommand"}
Display a Timed Speech Bubble on an Entity¶
This displays a speech bubble on entity 0 that automatically dismisses after 3000 milliseconds and cannot be dismissed manually.
{"Data":{"Anchor":3,"Body":"Watch out!","ConstrainedArea":"0,0,0,0","Duration":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"3000","VariableIndex":0,"Metadata":null},"Header":"","HeroReference":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"","VariableIndex":0,"Metadata":null},"IsInstanceIndex":1,"IsReferenceIndex":0,"IsUniqueID":0,"Metadata":null},"Padding":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"10","VariableIndex":0,"Metadata":null},"IsDismissable":0,"Portrait":{"Animation":null,"BackfaceCullingMethod":0,"HueShift":0,"IsCycling":0,"IsModel":0,"Name":null,"SpriteBorderThickness":0,"SpriteDuration":100,"SpriteFrames":3,"SpriteLayers":{},"SpriteOrientation":4,"SpriteOrientedAroundCenter":1,"SpriteRegion":"0,0,0,0","UseSpriteLayers":0,"Scale":"1,1,1","Translation":"0,0,0"},"PortraitExpressionReference":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"","VariableIndex":0,"Metadata":null},"IsInstanceIndex":0,"IsReferenceIndex":1,"IsUniqueID":0,"Metadata":null},"Result":{"IsGlobalVariable":true,"IsLocalVariable":false,"IsValue":false,"Value":"","VariableIndex":0,"Metadata":null},"StoreID":0,"Target":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"0","VariableIndex":0,"Metadata":null},"IsEntity":1,"IsIdentifiedByUniqueID":0,"IsPartyMember":0,"IsSelf":0,"Metadata":null},"UseConstrainedArea":0,"UseHeroReference":0,"UsePortraitExpressionReference":0,"UseTarget":1,"AudioMessage":{"Name":null,"Pan":0,"Pitch":0,"Volume":1,"IsPreventingMultiple":false},"IsCancelable":0,"IsMaintainingLastMessage":0,"Offset":"0,0","Options":[],"IsBlockingInput":1,"UserInterfaceID":"00000000-0000-0000-0000-000000000000","Metadata":null},"TypeName":"MAR.Game.RPGCore.Models.Scripts.Commands.Message.DynamicMessageCommand"}
Display a Speech Bubble and Store Its Unique Identifier¶
This displays a speech bubble on a party member with a bottom anchor and stores the message unique ID in global variable 0.
{"Data":{"Anchor":5,"Body":"Follow me!","ConstrainedArea":"0,0,0,0","Duration":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"0","VariableIndex":0,"Metadata":null},"Header":"","HeroReference":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"","VariableIndex":0,"Metadata":null},"IsInstanceIndex":1,"IsReferenceIndex":0,"IsUniqueID":0,"Metadata":null},"Padding":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"10","VariableIndex":0,"Metadata":null},"IsDismissable":1,"Portrait":{"Animation":null,"BackfaceCullingMethod":0,"HueShift":0,"IsCycling":0,"IsModel":0,"Name":null,"SpriteBorderThickness":0,"SpriteDuration":100,"SpriteFrames":3,"SpriteLayers":{},"SpriteOrientation":4,"SpriteOrientedAroundCenter":1,"SpriteRegion":"0,0,0,0","UseSpriteLayers":0,"Scale":"1,1,1","Translation":"0,0,0"},"PortraitExpressionReference":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"","VariableIndex":0,"Metadata":null},"IsInstanceIndex":0,"IsReferenceIndex":1,"IsUniqueID":0,"Metadata":null},"Result":{"IsGlobalVariable":true,"IsLocalVariable":false,"IsValue":false,"Value":"","VariableIndex":0,"Metadata":null},"StoreID":1,"Target":{"Identifier":{"IsGlobalVariable":false,"IsLocalVariable":false,"IsValue":true,"Value":"0","VariableIndex":0,"Metadata":null},"IsEntity":0,"IsIdentifiedByUniqueID":0,"IsPartyMember":1,"IsSelf":0,"Metadata":null},"UseConstrainedArea":0,"UseHeroReference":0,"UsePortraitExpressionReference":0,"UseTarget":1,"AudioMessage":{"Name":null,"Pan":0,"Pitch":0,"Volume":1,"IsPreventingMultiple":false},"IsCancelable":0,"IsMaintainingLastMessage":0,"Offset":"0,0","Options":[],"IsBlockingInput":1,"UserInterfaceID":"00000000-0000-0000-0000-000000000000","Metadata":null},"TypeName":"MAR.Game.RPGCore.Models.Scripts.Commands.Message.DynamicMessageCommand"}