How do I make scripts carry over from round to round using toys like in Mongoose Sumo?

Discussion in 'Halo and Forge Discussion' started by PizzaMissile, Sep 12, 2016.

  1. PizzaMissile

    PizzaMissile Legendary

    Messages:
    9
    Likes Received:
    3
    I'm making a mini game revolving around platforms falling away and despawning over time. My first set of scripts were everything spawns on match / round start and they have timers to move on the z-axis and despawn.

    This method works perfectly for one round, but once the timer scripts run, they are done for the entire match and don't reset for each round. I've looked under the hood of Mongoose Sumo and the creator used a series of toys with "power" scripts and automatic respawn timers to make everything work every round.

    I'm going to work on dissecting the system to figure it out, but considering how long Forge has been out I'm hoping for an in depth guide on scripting this kind of stuff or some help since people have obviously figured it out. The only stuff I can find are the most basic tutorials and I really want to understand this method since most of the stuff I want to create are short round based mini games.
     
  2. KeeLoker

    KeeLoker Legendary
    Wiki Contributor

    Messages:
    277
    Likes Received:
    375
    He probably used the scripting method found on the Forgehub YouTube channel for scripting multiple-round timers but the way I do it (usually with my linear infection maps) is I use the method from that video as a sort of starting timer that creates the foundation for the rest of the scripts to work. Once you watch that video, the rest will make sense (hopefully).

    So I script fusion coils to move into kill balls after receiving the messages from the initial timer (the whales) so that whatever happens with the initial timers, every script proceeding after that will only happen when that initial message is sent. So the intro timer and the following round timers afterwards will work with the fusion coil/kill ball script. So the script would work like this:

    Script 1
    On Round Start:
    Spawn

    Script 2
    On Message Received: (Whatever the initial message is)
    Move offset: (However far it takes for the fusion coil to reach the kill ball

    Script 3
    On Destroyed/Despawn:
    Message Send: (Whatever message you want that'll script whatever object you want to despawn as you said in your map)

    I explained this very poorly so if you want help just message me
     
    Dink likes this.
  3. Dink

    Dink Legendary
    Senior Member

    Messages:
    68
    Likes Received:
    89
    I'm also trying to do the same thing on my Kino der Toten map (resetting the doors/debris each round). I'll have to try this. I'll let you know more when I'm done.
     
    Egggnog likes this.
  4. Egggnog

    Egggnog Game Crashers

    Messages:
    267
    Likes Received:
    331
    Hey, after reading this I'm pretty sure you at least no some of what you're doing, so if you want, take a look at the link in my sig. We should be going live soon if you want to join.
     
  5. KeeLoker

    KeeLoker Legendary
    Wiki Contributor

    Messages:
    277
    Likes Received:
    375
    Sounds cool dude. Hope it works out well.
     
    Dink likes this.
  6. Sn1p3r C

    Sn1p3r C Halo 3 Era
    Creative Force

    Messages:
    379
    Likes Received:
    578
    You can also accomplish this with an object's respawn timer - basically, you'll despawn an object at the beginning of each round, and when it comes back in, you'll send the message to respawn. It shouldn't work any better or worse than @KeeLoker's method - but I thought I'd include it as an alternate.

    Spawn a primitive 1x1x1, and set the respawn timer to whatever your initial delay was on your timer script.

    Script 1
    Condition:
    On Round Start:
    Action: Despawn

    Script 2
    Condition:
    On Spawn:
    Action: Send Message (To Object you want to fall)

    Make one of each of these for your "waves" of platforms falling. You'll need to change the message sending according to each object, of course.
     
  7. KeeLoker

    KeeLoker Legendary
    Wiki Contributor

    Messages:
    277
    Likes Received:
    375
    This could theoretically work but since you have to take into account the 13 second intro scene and then the 5 seconds in between the following rounds, you'd have to have the object spawning in be attached to an initial timer (like the one in the Forgehub video) otherwise the first round will occur differently than the following rounds.
    So basically the only thing you'd need to add is a third script:

    Script 3
    Condition:
    On Message Recieved: (Whatever the initial message is)
    Action: Spawn

    Wow now looking at this, wish I used this instead cause it's more friendly on the item count
     
  8. Egggnog

    Egggnog Game Crashers

    Messages:
    267
    Likes Received:
    331
    The match and round time to start is negated by doing on match start and on round start scripts.
     
  9. KeeLoker

    KeeLoker Legendary
    Wiki Contributor

    Messages:
    277
    Likes Received:
    375
    Oh nice. Think I'll do that with my maps then instead.
     

Share This Page