Scripting 101: Intro to Scripting, Part 1

Discussion in 'Forge Discussion' started by Captain Punch, Nov 23, 2016.

By Captain Punch on Nov 23, 2016 at 4:09 PM
  1. Captain Punch

    Captain Punch Content Contributor
    Staff Member Creative Force

    Messages:
    127
    Likes Received:
    219
    [​IMG]
    Halo 5’s Forge came to us as the most expansive update to the Forge system since the jump from Halo 3 to Reach, with one of the most notably expanded features being the ability to Script objects and breathe life into the levels we create. Scripting was first introduced as a full feature in the Master Chief Collection via Halo 2 Anniversary’s Forge, though some could argue that some similar functions could be approximated using the Invasion Game Type in Reach. One of the problems with such a large expansion of a feature as this is that the introduction of so many options can be intimidating, or, at least, introduce a sharp learning curve and make it difficult for many to take advantage of. This article, and those that follow, should help to lessen the slope of that curve and help those who have stayed away from Scripting in Halo 5’s Forge be more comfortable using it in their designs. The best place to start, of course, would be at the beginning.

    LESSON 1: Intro to Scripting, Part 1 - The Basics
    This Lesson is written for those who are new to Scripting, but may contain information that even those that use it regularly might not know. Even if it seems mundane, it could help solidify your understanding of Scripting and fill in gaps in your knowledge that you didn’t even know were there.

    The Lesson itself is located in a Google Doc so that it can be more easily edited should changes be made to Forge and so that it can be longer and have more images attached than would be allowed here on the forums. This was written before the content of Monitor's Bounty was made public and will be updated to reflect any and all changes as soon as possible. Thankfully, enough remained the same that the information included in Lesson 1 - Part 1 is still relevant. All following lessons will be up to date.


    LINK TO GOOGLE DOC

    There’s so much to cover with all of this that I couldn’t do it all on my own, so I have a small list of groups and individuals to thank for helping to compile information, test hypothesis, confirm rumors, double check assumptions, and to proof read these Lessons.

    [​IMG]
    The Scripters Guild
    Data Compilation, R&D, Testing, Proofreading
    Yumudas Beegbut, Egggnog, AgentZero85, Havoc, HeroicJkroy, & RPAL

    [​IMG]
    Data Compilation, R&D, Testing, & Syntax Consulting
    Ray Benefield, Sn1p3r C, Nitro, Randy 355, Black Picture, Darkprince909, TheSlammerss, xMalevolution, AlexVan123, MythicFritz, Whos Blaze, & GagCrush3r

    Nokyard & PsychoDuck - For figuring out Respawn/Despawn Delay Timers to create the True Start Timer Circuit and laying the groundwork for many more complex projects

    Cookies4You - For his Scripting InfoDump Thread here on ForgeHub. His thought to create a syntax for representing scripts via text inspired the Scripting Syntax & Style Guide that comprises Lesson 2 and is the glue that holds most of the subsequent Lessons together.
     
    #1 Captain Punch, Nov 23, 2016
    Last edited: Dec 7, 2016
Tags: this article has not been tagged

Comments

Discussion in 'Forge Discussion' started by Captain Punch, Nov 23, 2016.

    1. Ryouji Gunblade
      Ryouji Gunblade
      Good information, but what I need is a joint tutorial so I can see if I can do smooth rotation again.

      Edit: Nokyard showed me how to do it with joints. I can show you too.
      Last edited: Dec 10, 2016
      DrDoctor and Captain Punch like this.
    2. Sn1p3r C
      Sn1p3r C
      Didn't see anything about smooth rotation, sorry bro.
    3. Preacher001
      Preacher001
      Can I get this in video format :D
    4. Captain Punch
      Captain Punch
      Yeah, I know people are itching for more. I had 17 lessons mapped out before the update, and that just got a lot bigger. I'm working on updating the ones I have done so I can get those out. Unfortunately for people who already understand things, I'm starting at the beginning, but I'll be working more quickly soon since I just got a bit more help organizing the information for each. Once I'm caught up with the new functions (there are just a few I have yet to figure out), I'll be working on an update specific breakdown for the new scripting features.

      Anyone who is interested in contributing to the knowledge base is welcome to PM me. I'm a little swamped at the moment, but I'm working on making it easy to submit tidbits of info based on category so my team can sift through it.
    5. Buddy Jumps
      Buddy Jumps
      Does anyone know what the "Trait: Change" script does or how you can use it? Are we actually able to change the gravity for all players for example?
    6. Captain Punch
      Captain Punch
      Trait change applies one of the 5 traits that you can set via the Minigame gametype options.
      The traits seem to only be available during Custom Games. Though, I haven't thought to look in settings for Forge to check. They may have added things to that for this.
      Buddy Jumps likes this.
    7. Rethal
      Rethal
      So the way the trait: apply works is you apply a specific trait to all objects in the "affected" list of that action. These traits can be defined in minigame. It is possible to modify all players' gravity or a single player's gravity, or a team's gravity. You just need to make sure the players you want affected are appended to the script's OBJECTS list.
      Activator will apply the trait to whichever spartan activated the condition, provided the condition can be and is activated by a spartan (rather than another object or script). It is possible to transfer the Spartan's activation through multiple scripts - for example, the message:send command. Normally it transfers THIS as the message sender, but you can also have it transfer ACTIVATOR, which will essentially make it appear to other scripts that the Spartan sent the message himself.
      --- Double Post Merged, Dec 16, 2016 ---
      Oh i got sidetracked. So yes, to affect all players with a specific trait (or to remove all traits), you just need it to append Players:add to the list
      Captain Punch likes this.
    8. DrDoctor
      DrDoctor
      This. I definitely need someone to make a video of this.
    9. JKaddict
      JKaddict

      DrDoctor and Ryouji Gunblade like this.

Share This Page