SC2Mapster Forums

Resources > Tutorials

[Data, Trigger] Mount / Vehicle System.

    #1 May 03, 2010 at 22:26 UTC - 0 likes

    Edit: Multiplayer support implemented now.

    This is my first tutorial I've ever made so bare with me on this.

    This system will allow your unit/hero to use units as a mount of vehicle.

    First open the Data table by Pressing F7. Select Abilities in the pull down tab.

    Do a search for "bunker" and duplicate "Bunker - Load-Unload (Bunker)". Go ahead and check everything. Double click the copied one and rename it "Vehicleseat" and click suggest and press OK. Select "Bunker - Vehicleseat" from the left and change cargo max, size, and space to 1

    click Load validators and select none, and Target filters and check ally.

    Next select units in the pull down tab.

    Search for the hellion and select it. at the top right double click Abilities + and add new ability and select "Bunker - Vehicleseat"

    I also forgot in the abilities list also add "Attack Redirect" to the list. That redirects damage to the vehicle/mount.

    Go down 9 and select command card and add a new button anywhere you choose and set it to the following.

    Now to set the ability in play. Press F6 to open the triggers and create a new trigger. Name it something like P14ally.

    .Events .Game - Map initialization .Local Variables .Conditions .Actions .Player - Make player 14 and player 1 treat each other as Ally

    Set player 14 as ally to all players. This prevents anyone from auto attacking unoccupied vehicle/mounts.

    now to make a trigger to enter the vehicle.

    Events Unit - ("Hellion" from the Global data table) Loads cargo Local Variables Conditions Actions Unit - Change ownership of (Triggering unit) to player 1 and Change Color

    In the event doublt click "Unit: Any Unit" and in the window select the "Function" bullet and select "Value From Data Table (Unit Reference)" and hit ok

    The even should slightly change. At the begining of it where it says "name" Type in "Hellion" minus "" and hit ok.

    For this to work in multiplayer maps, all you do is add a "condition" that player checks the cargo unit owner.

    Now to make a trigger to exit your vehicle/mount.

    Events Unit - (Triggering cargo unit) Unloads cargo Local Variables Conditions (Owner of (Triggering unit)) == 1 Actions Unit - Change ownership of (Triggering unit) to player 14 and Change Color AI - Order (Triggering unit) to ( Hold Fire) using tactical AI logic

    Again double click your event and click the "Function" bullet and select "Triggering cargo unit".

    Under condition select "comparison" and hit ok.(Owner of (Triggering unit)) == 1(the number represents player number, 1 being player 1, 2 being player 2, ect.)

    After following this Guide you SHOULD have a working mount system.If anything isn't working properly let me know, or if you even like this tutorial let me know :p

    Again, sorry for poor instructions. It's my first tutorial for anything after all...

    Last edited May 05, 2010 by ravenkaizer
    #2 May 04, 2010 at 00:09 UTC - 0 likes

    @ravenkaizer: Go

    Three thing.

    1.) Instructions are pretty good and I was able to get this to work just fine with a Hellion and Marine.

    2.) What does "Set player 14 to all players." mean? Does this mean I need to copy the Action that makes player 14 ally or what?

    3.) Do you know if there is a way to have the "name" of the Unit change after the vehicle is mounted? i.e. when just looking at it the name is Hellion but after someone mounts it and takes ownership it changes to Hellion - [name of unit that mounted it]

    Good guide for your first time.

    Last edited May 04, 2010 by mrm3fan

    Uberlisk Creation Guide

    Link always provides the most recent version of the guide!

    Updated on 6/1/2010

    #3 May 04, 2010 at 00:45 UTC - 0 likes

    I forgot to add "as ally" it was supposed to read "Set player 14 as ally to all players."

    And I don't think theres a way to change the name of a unit to a player name, that I know of, but color of unit gives away whos in it though.

    #4 May 04, 2010 at 02:33 UTC - 0 likes

    It was pretty easy to follow up until you got into making the triggers. Although Im new at map editing, so my lack of experience may have something to do with it. Got it down eventually though and it works fine.

    Also I was wondering how to make the units in the vehicle shoot while the vehicle is moving, and not having it to come to a stop for them to fire. Messed around with it for a while and couldnt figure it out.

    #5 May 04, 2010 at 03:23 UTC - 0 likes

    @GeoSpooky: Go

    Thats actuly a part under the "weapon" there is a field that lets you pick if it can be fired while moving or not, ill take a look to see what the field was called and update my post. edit: for the life of me i cant find the value now, and i was playing with that all day when working on one of my maps... =(

    @OP wonderful tutorial!

    Last edited May 04, 2010 by Molsterr
    #6 May 04, 2010 at 03:44 UTC - 0 likes

    To get stuff in the Wiki you just have to Add a new page, but make sure when you add it you name it correctly (choose to edit another page to see how its named)

    Or just catch me on IRC and ill show you how

    I may be skinny but I CALLDOWN THE HUNGER

    #7 May 04, 2010 at 04:34 UTC - 0 likes

    @GeoSpooky: Go

    Under the Weapon in question you want to change the (None) - Allowed Movement Field to Moving. This should allow the unit to move while still firing the weapon.

    #8 May 04, 2010 at 04:50 UTC - 0 likes
    Quote from mrm3fan: Go

    @GeoSpooky: Go

    Under the Weapon in question you want to change the (None) - Allowed Movement Field to Moving. This should allow the unit to move while still firing the weapon.

    Thank you, it was driving me nuts that i couldn't remember what it was called to tell him.

    #9 May 04, 2010 at 22:45 UTC - 0 likes

    Any way to add a 360 degree turret on top so a co-pilot can pew pew while you vroom vroom?

    #10 May 04, 2010 at 23:06 UTC - 0 likes
    Quote from Vandal3m: Go

    Any way to add a 360 degree turret on top so a co-pilot can pew pew while you vroom vroom?

    I was actually considering trying to make something like this, I'll mess around with something and see what I come up with.

    #11 May 05, 2010 at 00:49 UTC - 0 likes

    Can loaded units fire out of a vehicle? Mobile bunkers would be pretty cool.

    #12 May 05, 2010 at 08:57 UTC - 0 likes

    Added a working multiplayer support.

    #13 May 05, 2010 at 09:57 UTC - 0 likes

    Made an even simpler version:

    Load

    • Event: Any unit loads cargo
    • Condition: Owner of triggring unit=player0
    • Condition: Or bracket with "type of triggering unit=" for each mount you have
    • Action: Change ownership of triggering unit to (owner of triggering freight unit)

    Unload:

    • Event: Any unit unloads cargo
    • Condition: Number of alive units in (cargo units in triggering unit) =0
    • Condition: Or bracket with "type of triggering unit=" for each mount you have
    • Action: Change ownership of triggering unit to player 0

    Please test this for loopholes/malfunctioning etc. One thing I'm aware of (though it happens with your system too) is that allies can enter your bunker with no way of getting out, so depending on your intentions you'll need another trigger (or shared unit control) to solve that.

    Edit: Actually I think your system allows the ally to "steal" your loaded bunker and you can't get out.

    Last edited May 05, 2010 by Photoloss
    #14 May 05, 2010 at 10:51 UTC - 0 likes
    Quote from Photoloss: Go

    Please test this for loopholes/malfunctioning etc. One thing I'm aware of (though it happens with your system too) is that allies can enter your bunker with no way of getting out, so depending on your intentions you'll need another trigger (or shared unit control) to solve that.

    Edit: Actually I think your system allows the ally to "steal" your loaded bunker and you can't get out.

    Well I thought ahead for that, for what I have is cargo space of only one. which prevents a teammate from jumping in.

    If I make a 2nd+ seater or for bunkers, I'd probably add some kinda dialog on button on screen when you load in an allies vehicle and make a trigger to unload seat 2+.

    Last edited May 05, 2010 by ravenkaizer
    #15 May 05, 2010 at 10:56 UTC - 0 likes

    I know it works for one-slot mounts, but I'd like to have the system handle as many implementations as possible. I actually got the idea trying to make a "clinic" type building that heals units inside it, which should obviously hold more than 1 marine.

    Even for your system it would be enough to set the "cargo count maximum" to 1, so a size 2 hero can still use it.

    #16 May 05, 2010 at 11:46 UTC - 0 likes

    @Photoloss: Go

    lol get out of my head. In my map bunkers are going to act as a medic station for the heroes. A friend and I thought of this idea earlier today when we were brainstorming on my map.

    #17 May 05, 2010 at 13:43 UTC - 0 likes

    Lol. Mine was a "Healing Pod" Assimilator which I made 2 days ago. I even came up with your "exit trigger" as a quick fix so I could focus on other stuff.

    Then I made it cast medivac heal and scrapped the loading part because my hero kept gaining HP/Shields upon exiting. I hope you don't experience that problem, or even better we can find a solution ;)

    #18 May 05, 2010 at 19:04 UTC - 0 likes

    My map. Includes bunkers, marines, an ally (shared control) and 2 roaches (for testing range bonus)

    I heal via triggers so I can make it percent-based, and I have 3 copies for HP/Shields/Energy. These currently broadcast a message each time they actually heal something, deactivate that for actual use. I set a filter to check only hidden units (i.e. in a transport etc), hopefully that uses less cpu.

    For point-based healing simply give a regen bonus to the Bunker - ShootingClinic Behavior (copy of range bonus to seperate normal bunkers from clinics)

    Enjoy your bunker-clinic! And give credit to ravenkaizer and me if you use it. He came up with the trigger framework and I streamlined it for multiplayer.

    Edit: Fixed healing triggers to work properly on stat-gaining units (now refer to "current max life" instead of "default life") Added Manned/Unmanned system: Deactivates a unit completely (except transport abilities) unless manned by at least 1 cargo unit, data-based. (check the Hellion)

    Last edited May 08, 2010 by Photoloss: Corrections, new content
    Name Size MD5
    Neutral_Bunker.SC2Map 177.6 KiB 4a98c36f08a0...
    #19 May 18, 2010 at 13:23 UTC - 0 likes

    I've been working on this vehicle trigger thing for a bit, I haven't tried yours but I have a question.. How does a unit load cargo it doesn't control? How do you ask a vehicle owned by a neutral party to load your unit, beginning this trigger?

    In mine, I have the trigger occur when a unit enters within 1.0 distance of the vehicle, and have the vehicle react by changing factions and loading the hero. however I run into trouble trying to set this up for many vehicles at once (without having to define a trigger for each)

    #20 May 18, 2010 at 20:58 UTC - 0 likes

    I have hero in vehicle, is there way to add kill points to hero instead of vehicle?

You must login to post a comment. Don't have an account? Register to get one!