Actions

May 17, 2019
Actions
  • This information was compiled for your use as a reference and learning resource. Please keep in mind that Halo 5 Forge updates over the years, including but not limited to the huge Monitor's Bounty update, means you may find information that is no longer relevant or was modified in an update. We're working to get this info up-to-date. Feel free to contact staff if you find deprecated information, when they can forward your concern to the appropriate team for correction.



    In Halo 5 Forge Scripting, Actions are behaviors triggered by Script Conditions. Some Actions have additional options in their settings, depending on what Condition has triggered them.




    Spawn(top)


    'Spawn' THIS object if it isn't already in the map. Object is created with the properties, variables and scripts set for it.

    Objects sometimes will not spawn if a player or object is in the space it will spawn in. Checkbox 'Force' in Spawn options to Force the Object to spawn in even if something is in it's spawn space.

    • Objects spawn in their original positions, not where they were when destroyed or despawned.
    • Objects in a welded group might be repositioned or rotated if the group was still spawned and in another location.
    • The Spawn action won't reset a currently spawned object.
    • Most objects won't spawn if players are in the way or very close by. Switches and Switch Terminals are the known exceptions that will spawn where a player is and the player will be slowly pushed out of that position when the switch is set to fixed or phased physics.
    • The game seems to determine whether a player is too close for an object to spawn based only on the distance a player is to the object (usually the object's center). That means the spawn detection zone around an object has a spherical shape.

    Simultaneous Spawn/Despawn Actions
    • When objects have Spawn and Despawn actions run in the same game tick, the last one (highest script number & higher number action) is the one that has full effect.
    • If both Spawn and Despawn are called during the same game tick, whichever one is last has its condition triggered whether or not it was previously in that state. i.e. for a spawned object, calling Despawn and then Spawn for it triggers its Spawned condition.
    • An object's Number is available for reading and writing after calling Spawn, but Despawn makes it inaccessible again. This works even during the same game tick.
    • For a despawned object, you can call Spawn, use its Number, and then call Despawn during the same game tick and the object won't spawn or trigger its Spawned condition, but the Despawned condition will trigger.



    Despawn(top)


    'Despawn' target objects if they exist in the map. Objects removed with this Action can be created again with the 'Spawn' Action. Default is THIS object.

    OBJECTS [Mod List]



    Position/Rotation: Reset(top)


    Reset the target OBJECTS to their initial Position and Rotation used at the start of the map. Default is THIS object.

    Action-Position-Rotation-Reset.jpg

    OBJECTS [Mod List]
    Time: 0-720 (increments of .10)
    Reset Velocity: On/Off (On: resets the objects Velocity to 0; Off: will maintain the same Velocity it has when told to reset.)(NOTE: This menu item only appears if Time is set to 0)
    Position: On/Off
    Orientation: On/Off

    • Reset Velocty sets the velocity to zero if set to Yes. If set to No, the object position and rotation will be reset, but it will continue to move in whatever direction it was moving.
    • The position and rotation is not reliably reset to their original values. Using Despawn and Spawn actions can be more reliable. Setting the time to 0.0 might be more reliable.
    • A vehicle with a Reset script with Time set to 0.00 will instantly teleport the vehicle and passengers to the vehicles spawn location. Does not seem to work when there's a driver. Tested with a Mongoose.



    Message: Send(top)


    Send a Message that triggers the 'Message: Recieved' Condition on objects that are listening for it.

    Channel: alpha-zulu
    Transfer: THIS or ACTIVATOR (NOTE: This menu item only appears in the following Conditions: Message:Received, Power:Check, Interacted or Boundary:Check)



    Power: Set(top)


    Set THIS object's 'Power' and send the information to OTHER objects listening with 'Power: Check' and/or 'Message/Power: Multi' Conditions.

    Channel - alpha-zulu
    State - On/Off/Toggle (Sets the 'Power' State of the 'Power' Channel. 'On' provides continuous power. Default power is 'Off'. Toggle flips between On/Off.)

    • The behavior seems like the highest number script that sets a channel's power state is the only one that takes effect. Two Toggle actions won't cancel each other.
    • If an On/Off script attempts to set the state but it is already set to that value, then no events occur and no conditions will trigger during the next cycle.
    • Toggle always changes the value, either from Off to On or from On to Off.
    • Since it appears that only one script takes effect for a power channel, only either the On or the Off conditions can trigger during each cycle. If the setting doesn't end up changed, no On/Off/Toggle conditions will be triggered by it (but the current state is still true for On/Off Multi conditions).



    Animation: Play(top)


    Play target OBJECTS authored 'Animation' (loop). Default is THIS object. Can be stopped with 'Animation: Stop' Action. Functional on animated objects such as Pistons.

    OBJECTS: [Mod List]
    Position: 0-1.00 (increments of .10) Position in the animation to start animating towards. When desired position value is reached the animation will stop.



    Animation: Stop(top)


    Stop target OBJECTS authored 'Animation' if it is playing. Functional on animated objects such as Pistons. Some animations cannot be stopped such as Generator animations.

    OBJECTS: [Mod List]



    Damage: Ratio(top)


    Apply 'Damage' to the target OBJECTS based on a ratio of their maximum health. Default is THIS object.

    OBJECTS: [Mod List]
    Ratio: 0-100 (increments of .10) NOTE: Only affects player & object health, not shields



    Move: Offset(top)


    Move the target OBJECTS to the desired position. Default is THIS object.

    Action-Move-Offset.jpg

    OBJECTS: [Mod List]
    TARGETS: [Mod List]
    X/Forward: -1,000 - 1,000 (increments of .25)
    Y/Horizontal: -1,000 - 1,000 (increments of .25)
    Z/Vertical: -1,000 - 1,000 (increments of .25)
    Local: On/Off
    Time: .10-720 (increments of .10)

    This information was compiled prior to Monitor's Bounty. Some of the information might be deprecated.

    • If the relative (Local Movement) offset orientations for an object are not obvious, reset its rotation settings to 0.00. Then the Forward, Horizontal and Vertical directions will match the positive world X, Y and Z directions.

    • Only one Position/Rotation: Reset script can be active for an object at a time.
    • A Move script that activates while during another script’s control will take over the object movement. If the newer script finishes and the earlier script is still running, control returns to the earlier script.

    • A Move script can’t be activated again while it is running.
      • The length of time it runs can’t be extended in the middle of them by executing it again.

      • Continuous motion: It can be activated on the next cycle after the time is completed to provide continuous motion. This does not work with repeating On Timer conditions set to repeat for the same amount of time that the Move script uses because the On Timer condition will Trigger during the last cycle of the Move script, which means that the Move script can’t activate again at that time.

      • One solution is to have the Move script last 0.1 seconds less than the Timer condition, but the object motion will stop for that tenth of a second.

      • Since another script can take over while the first script is running, using a second copy of the script (or a script that runs when the first script can’t) will provide continuous motion.

      • Object Timers can be used to provide timed continuous motion with a single Move script because the On Spawn and On Despawn events can be scripted to one cycle apart.
    • A Move script can run for a Warthog that is being driven and the resulting motion seems to be a combination of the Move script and normal driving motion. Tested with a Forward action script. Other vehicles need to be tested.
    • As of April 2016, Move scripts sometimes result in jerky object motion rather than the expected smooth movement. There doesn't seem to be any definite patterns to this behavior, which may or may not occur at any time. This makes Move actions difficult to use in situations where inconsistent movement is undesirable. Sometimes Move scripts that use short Time settings seem to provide smoother motion. The Velocity action can provide smoother motion, but has limitations.
    • A workaround has been devised for jerky object motion, discovered by Exterrestr1al and Yumudas Beegbut of The Scripter's Guild. See the Tutorials section to learn how.



    Rotate: Offset(top)


    ''Move' the target OBJECTS to the desired position. Default is THIS object.

    Action-Rotate-Offset.jpg

    OBJECTS: [Mod List]
    Yaw: -180 - 180 (increments of .25)
    Roll: -180 - 180 (increments of .25)
    Pitch: -180 - 180 (increments of .25)
    Time: .10-720 (increments of .10)

    This information was compiled prior to Monitor's Bounty. Some of the information might be deprecated.

    • Rotate scripts don't seem to activate while a Position/Rotation: Reset script is running.
    • Continuous rotation: This works similar to Move scripts as described above.
    • Rotate scripts sometimes result in jerky object motion rather than the expected smooth movement. There doesn't seem to be any definite patterns to this behavior, which may or may not occur at any time. Sometimes Rotate scripts that use short Time settings seem to provide smoother motion.
    • A single object with a Rotate script can be used to as a crank to rotate a welded group that is set to Normal Physics.
    • Rotating groups revolve around the Group Parent's origin point. Groups must be welded for it's objects to revolve as one piece.
    • See Tutorials section for tips and tricks on smooth motion and rotation.



    Velocity: Set(top)


    Set 'Velocity' of the target OBJECTS to the given force. Default is THIS object. Works with objects that have their 'Physics' property set to 'Normal'.

    Action-Velocity-Set.jpg

    OBJECTS: [Mod List]
    X/Forward: -500 - 500 (increments of .50)
    Y/Horizontal: -500 - 500 (increments of .50)
    Z/Vertical: -500 - 500 (increments of .50)
    Local: On/Off

    This information was compiled prior to Monitor's Bounty. Some of the information might be deprecated.
    • If the relative orientations for an object are not obvious, reset its rotation settings to 0.00. Then the Forward, Horizontal and Vertical directions will match the positive world X, Y and Z directions.
    • This action does not have a time component, so it can be activated every cycle.
    • If multiple Velocity scripts are activated during the same cycle for an object, the highest numbered script executes and the others are ignored.
    • Gravity, collisions, etc will affect the object’s velocity again immediately on the next cycle.
    • Whatever velocity the object has before this action activates is completely replaced by the velocity set by this action.
    • Vehicles with a driver don't seem to respond to Velocity scripts. Vehicles with only passengers will execute Velocity scripts and the passenger seems to stay in the vehicle if it floors upside down. Tested in Forge with a Mongoose.
    • As of April 2016, this action provides smoother motion than Move, Rotate, or Reset script actions, but it can be tricky to use.
    • See Tutorials section for tips and tricks on smooth motion and rotation.



    Color: Set(top)


    Set the target OBJECTS 'Color' sections to the desired colors. Default is THIS object.

    OBJECTS: [Mod List]
    Primary: [Color List]
    Secondary: [Color List]
    Tertiary: [Color List]



    Number: Change(top)


    Change 'Number' variables in different scopes to values that you want. Check variables with the 'Number: Check' Condition.

    Action-Number-Change-CHANGE-Team.jpg

    VARIABLE
    Scope: Global, Player, Team or Object
    Global
    Channel: alpha-zulu​
    Player
    NUMBER: [Mod List]
    Channel: alpha-zulu​
    Team
    NUMBER: [Mod List]
    Channel: alpha-zulu​
    Object
    NUMBER [Mod List]​
    (Channels are the Variable Channel to watch the state of in order to meet the Condition requirement. NUMBERS specify the objects to modify the Number variables of.)​
    Operation: Set, Increment, Decrement, Multiply, Divide, Remainder or Random
    (What Operation is used to apply the value to the specified variable.)
    Force Dirty: On/Off (Force variable to be checked)
    CHANGE
    Source: Constant, Number, Object Count or Game Value
    Constant (Where to pull the value from. Use just the defined numberic Value.)
    Number
    Scope: Global, Team or Object (The category of variable to use for this value.)
    Global: alpha-zulu
    Team: Team 1-8, alpha-zulu
    Object
    Object: THIS or ACTIVATOR
    Number: Team, Player or Object
    * Team: alpha-zulu (Object=ACTIVATOR means ACTIVATOR or Number Check's EXTRA object(s)
    * Player: alpha-zulu (Number-Object-ACTIVATOR-Player-Channel can retrieve a player channel number)
    * Object (Number-Object-THIS/ACTIVATOR-Object retrieves an object's only number)
    Object Count
    COUNT [Mod List]​
    Game Value
    Game Value: Team [score], Player [score], Health [current], Health [max], Health [ratio], Shields [current], Shields [max], Shields [ratio], Players [current], Players: Team [current], Teams [current], Spawn:Order, Rounds [max], Score to Win
    Object: THIS/ACTIVATOR (The Object to use for this variables value. The object that activated the Condition (See Condition for what the ACTIVATOR object is))​
    Value: -32767 - 32767 (Adds this Value to the results of the defined criteria.)
    Randomize: On/Off (If On, Randomizes the value of the Number variable from 0 to the current value.)​
    • Can't find a way to make a player be the THIS object
    • ACTIVATOR Seems to be the only way to get Player data like score, health, order, etc
    • Boundary Check/Interacted/Number Check put players into ACTIVATOR
    • Number Check puts the player into ACTIVATOR for Game Value & Object Sources

    Player Numbers can be retrieved when Source=Number+Scope=Object+Object=ACTIVATOR+Number=Player. The ACTIVATOR option for Object becomes available when the Condition is Number: Check, Boundary: Check, Interacted, Message: Receive, or Power State: Check. For the Number: Check condition, use the EXTRA filters instead of ACTIVATOR.




    Trait: Apply(top)


    Apply a custom player 'Trait' to target PLAYERS. Modify 'Traits' via the Game Settings in the Custom Game Lobby (Minigame Mode only).

    PLAYERS: [Mod List]
    Trait: alpha-delta



    Traits: Clear(top)


    Clear a custom player 'Trait' from the target PLAYERS (Minigame Mode only).
    PLAYERS: [Mod List]

    PLAYERS: [Mod List]



    Wait(top)


    ''Wait' the set time before moving onto the next Action if there is one. Add additional Actions to scripts with the {ADD ACTION} function.

    Time: 0-720 (.10 increments)



    Score: Change(top)


    Increment or decrement the target TEAMS / PLAYERS 'Score'.

    Action-Score-Change-Increment.jpg

    Type: Team/Player
    SCORERS: [Mod List] (Specifies the SCORER objects to change the Score of.)
    Operation: Set, Increment or Decrement
    Source: Constant, Number, Object Count or Game Value
    Constant
    Number
    : Global, Team or Object
    Global: alpha-zulu
    Team: Team (1-8), alpha-zulu
    Object (only appears in the menu for the following Conditions: Message:Received, Power:Check, Interacted, Number:Check, Boundary:Check)
    Object: THIS/ACTIVATOR
    Number: Team, Player or Object
    Team: alpha-zulu
    Player: alpha-zulu (Number-Object-ACTIVATOR-Player-Channel can retrieve a player channel number)
    Object (Number-Object-THIS/ACTIVATOR-Object retrieves an object's only number)
    Object Count
    COUNT [Mod List]​
    Game Value
    Game Value: Team [score], Player [score], Health [current], Health [max], Health [ratio], Shields [current], Shields [max], Sheilds [ratio], Players [current], Players: Team [current], Teams [current], Spawn: Order, Rounds [max] (1 in Forge mode, -1 for unlimited rounds), Score To Win (0 in forge mode, -1 for unlimited rounds)
    Object: THIS/ACTIVATOR (NOTE: only appears in the menu for the following Conditions: Message:Received, Power:Check, Interacted, Number:Check, Boundary:Check)
    Value (Adds this Value to the results of the defined criteria)
    Randomize (If On, Randomizes the value of the Number variable from 0 to the current value.)


    Notes on Game Value, Object: THIS/ACTIVATOR
    • Can't find a way to make a player be the THIS object
    • ACTIVATOR Seems to be the only way to get Player data like score, health, order, etc
    • Boundary Check/Interacted/Number Check put players into ACTIVATOR
    • Number Check puts the player into ACTIVATOR for Game Value & Object Sources



    Round: End(top)


    End the active 'Round' and trigger standard round over functionality.



    Screen Effects: Set(top)


    Set the world's 'Screen Effects' to the desired Filter and/or FX (weather) settings.

    Action-Screen-Effects-Set.jpg

    PLAYERS: [Mod List]
    Filter: Default, Ignore, none, Crisp, Warm, Nova, Astro, Washed, Enhanced, Gold, Grayscale, Negative, Red Process, Blue Process, Green Process, Blue/Green Process, Purple Process, Cross Process, Juicy, Sepia, Contrast, Aging, Gloom, Weathered, FoV in [video], FOV Out [video], Heat Distortion, Under Water, Flood
    FX: Default, Ignore, none, Dust [light], Dust[medium], Dust [heavy], Embers [light], Embers [medium], Embers [heavy], Motes [light], Motes [medium], Motes [heavy], Papers [light], Papers [medium], Papers [heavy], Rain [light], Rain [medium], Rain [heavy], Snow [light], Snow [medium], Snow [heavy], Bubbles



    Switch: Interactive(top)


    Set THIS object's or target OBJECTS interface state. Used only for Interactive Object 'Switches' such as Keypad and Terminal.

    OBJECTS [Mod List]
    Sound:
    <NONE >
    SOUND EFFECTS (21)
    BASE INVADED; WARNING (SFX)
    CAMERA WHOOSH (SFX)
    ENEMY TEAM SCORED (SFX)
    GRUNT BIRTHDAY(SFX)
    GUARDIAN SONG (SFX)
    KRAKEN HORN (SFX)
    MISSION COMPLETE; LARGE (SFX)
    MISSION COMPLETE; MODERATE (SFX)
    NEGATIVE (SFX)
    NEGATIVE; ALT (SFX)
    OBJECTIVE; INCOMING (SFX)
    OBJECTIVE; READY (SFX)
    POSITIVE (SFX)
    POSITIVE; ALT (SFX)
    RUMBLE; LONG (SFX)
    RUMBLE; SHORT (SFX)
    RUMBLE METAL (SFX)
    SPARTAN DIE WOOSH (SFX)
    SPAWN; INFECTED (SFX)
    SPAWN; RESPAWN (SFX)
    TEAM SCORED (SFX)
    PIANO NOTES (16)
    PIANO; B (NOTES)
    PIANO; C (NOTES)
    PIANO; C# (NOTES)
    PIANO; D (NOTES)
    PIANO; D# (NOTES)
    PIANO; E (NOTES)
    PIANO; F NOTES)
    PIANO; F# NOTES
    PIANO; G INOTES)
    PIANO; G# (NOTES
    PIANO; A INOTES)
    PIANO; A# NOTES
    PIANO; B; OCTAVE (NOTES)
    PIANO; C; OCTAVE (NOTES)
    PIANO; C#; OCTAVE NOTES)
    PIANO; D; OCTAVE NOTES)
    MUSIC (16)
    DRAMATIC; A (MUSIC)
    DRAMATIC; B (MUSIC)
    DRAMATIC; C (MUSIC)
    DRUMROLL; A (MUSIC)
    DRUMROLL; B (MUSIC)
    NEGATIVE; A (MUSIC)
    NEGATIVE; B (MUSIC)
    NEGATIVE; C (MUSIC)
    NEGATIVE; D (MUSIC)
    POSITIVE; A (MUSIC)
    POSITIVE; B (MUSIC)
    POSITIVE; C (MUSIC)
    POSITIVE; D (MUSIC)
    ROUND; WIN (MUSIC)
    ROUND; NEUTRAL (MUSIC)
    ROUND; LOST (MUSIC)
    VOICE OVERS (79)
    AGAINST ALL ODDS (VO)
    ALLEYOOP (VO)
    AMAZING (VO)
    ARMING (VO)
    ASTOUNDING (VO)
    BALL; DROPPED (VO)
    BALL; HAVE YOU (VO)
    BALL; HAVE; ALLY (VO)
    BALL; HAVE; ENEMY (VO)
    BALL PLAY (VO)
    BALL; RESET (VO)
    BALL; STOLEN (VO)
    BALL; TAKEN (VO)
    BANGARANG (VO)
    BUCKLE UP (VO)
    BUFFALO (VO)
    BUSTED (VO)
    CHECKPOINT (VO)
    CRISPY (VO)
    CRISPY; EXTRA (VO)
    DEADEYE (VO)
    DEFEAT (VO)
    ELIMINATED: ALL PLAYERS (VO)
    ELIMINATED ENEMY TEAM (VO)
    EXTERMINATION (VO)
    FABULOUS (VO)
    FIRST POINT (VO)
    FLAG; CAPTURED (VO)
    FLAG; DROPPED: ALLY (VO)
    FLAG; DROPPED; ENEMY (VO)
    FLAG; HAVE; YOU (VO)
    FLAG; HAVE; ENEMY (VO)
    FLAG; RESET (VO)
    FLAG; RETURNED (VO)
    FLAG; TAKEN (VO)
    FLYIN' HIGH (VO)
    GAME OVER (VO)
    GOAL (VO)
    GOOOOAL (VO)
    GUNNER (VO)
    IMMORTAL (VO)
    INTERCEPTION (VO)
    INTERMISSION (VO)
    LAST MAN STANDING (VO)
    LEVEL UP (VO)
    LEAD; GAINED (VO)
    LEAD; LOST (VO)
    NAPOLEAN (VO)
    NEXT WINS; KILL (VO)
    NEXT WINS; POINT (VO)
    NEXT WINS; SCORE (VO)
    NICE (VO)
    ONE MAN ARMY (VO)
    OVERTIME (VO)
    PONIES (VO)
    REJECTION (VO)
    REQUISITION (VO)
    ROADTRIP (VO)
    ROUND; WON (VO)
    ROUND; LOST (VO)
    SCORED; ENEMY (VO)
    SCORED; TEAMMATE (VO)
    SELF DEFENSE (VO)
    SHARPSHOOTER (VO)
    SPECTATING (VO)
    STAY DOWN (VO)
    STEAMY (VO)
    STOLEN (VO)
    STRONGHOLD; CAPTURED (VO)
    STRONGHOLD; LOST (VO)
    SUDDEN DEATH (VO)
    TAKEN (VO)
    THAT WAS CLOSE (VO)
    TOTALLED (VO)
    TRIPLE THREAT (VO)
    VICTORY IMMINENT (VO)
    WEAPON PAD; 10S (VO)
    WEAPON PAD; READY (VO)
    WINGMAN (VO)



    Physics: Set(top)


    Sets the target OBJECTS 'Physics' to the desired type.

    OBJECTS [Mod List]
    Type: Phased, Fixed or Normal



    Nav Marker: Change(top)


    Mark target objects with 'Nav Markers'. TARGETS get Markers. PLAYERS see Markers.

    PLAYERS: [Mod List]
    Change: Add/Remove
    If Add is chosen, the following menu items appear:
    Color: [Color List]
    Text: [Text List]
    Distance: 0-500 (Minimum distance players need to be from object for 'Nav Marker' to display.)​
    TARGETS: [Mod List]



    Spawn Order: Change(top)


    Force players to 'Spawn' at a Spawn Point that matches the overriden 'Spawn Order'.

    Action-Spawn-Order-Change-Source-Number.jpg

    OBJECTS [Mod List]
    Source: Constant, Number, Object Count or Game Value
    Constant (Where to pull the value from. Use just the defined numeric Value.)
    Number
    Scope: Global, Team or Object
    Global: alpha-zulu
    Team: Team 1-8, alpha-zulu
    Object
    Object: THIS/ACTIVATOR
    Number: Team, Player or Object
    Team: alpha-zulu
    Player: alpha-zulu (Number-Object-ACTIVATOR-Player-Channel can retrieve a player channel number)
    Object: (Number-Object-THIS/ACTIVATOR-Object retrieves an object's only number)
    Object Count
    COUNT [Mod List]​
    Game Value
    Game Value: Team [score], Player [score], Health [current], Health [max], Health [ratio], Shields [current], Shields [max], Sheilds [ratio], Players [current], Players: Team [current], Teams [current], Spawn: Order, Rounds [max] (1 in Forge mode, -1 for unlimited rounds), Score To Win (0 in forge mode, -1 for unlimited rounds)
    Object: THIS/ACTIVATOR​
    Randomize (If On, Randomizes the value of the Number variable from 0 to the current value.)


    Notes on Game Value, Object: THIS/ACTIVATOR:
    • Can't find a way to make a player be the THIS object
    • ACTIVATOR Seems to be the only way to get Player data like score, health, order, etc
    • Boundary Check/Interacted/Number Check put players into ACTIVATOR
    • Number Check puts the player into ACTIVATOR for Game Value & Object Sources

    • Spawn order prioritizes the lowest spawn order first. This will even over write spawn zone influence.
    • If there are no valid spawns of an order the next order is then looked for.
    • Any valid spawn is a spawn that does not have something physically blocking the spawn. This does not include line of sight.
    • For a spawn to be used during a match it must be valid when the map loads. If it is blocked before the match starts then becomes unblocked it will still remain invalid.
    • It seems when there is a lower order available even after changing the players order to the next order the game will choose the lowest still.



    Label: Change(top)


    Add or remove a Game Mode 'Label' from the target OBJECTS.

    OBJECTS [Mod List]
    Change: Add or Remove
  • Loading...
Yumudas Beegbut likes this.