Tutorial Data Editor - A Vital Guide

Discussion in 'Starcraft 2 (SC2) Editor Tutorials and Resources' started by Siretu, Nov 18, 2011.

  1. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    Data editor - A Vital Guide
    A Tutorial series by Siretu
    • Introduction
    • Downloads
    • Section 1
      • Creating Sam
        • Unit - Taking our first steps
        • Model - Creating sam’s model
        • Actor - Link the model to Sam
        • Unit - Back to fix Sam’s stats
      • Creating Sam's weapon
        • Unit - Missiles are also units.
        • Effects - Because where is the fun in a weapon that does nothing?
        • Model - Because even missiles needs models
        • Actors - So much work for a simple missile
        • Weapon - Almost armed
        • Unit - Armed. Hell, it's about time!
    • Section 2
      • Ripple Smash
        • Button - Starting out simple
        • Ability - Ironically, most time creating abilities are not spent in the abilities tab, but somewhere else
        • Unit - Give Sam the ability(which does nothing so far)
        • Effect - Making stuff happen!
        • Ability - Link to the effects and modify some stats
        • Model - Time for visuals!
        • Actor - Trying out events for the first time to make visuals.


    Introduction
    I'm celebrating my 1000th post by writing a HUGE tutorial. 6838 words as of now. I hope you enjoy it.

    In this tutorial we will be going on a long journey. We’re going to create a custom unit from scratch. This might sound like a simple task but I will try to involve as many parts of the data editor as I possibly can. This way, you can look through the table of contents and go learn about the parts you don’t know about.

    I am not trying to tell you that you should make your units from scratch. That's rarely a good idea since it takes a lot more time than just copying a unit and modifying to your needs. However, by explaining how to do it, I hopefully help introduce you to the data editor and show you how the different parts of the data editor interact with each other.

    Since this is a data editor tutorial, I assume you know the absolute basics about the data editor. If you don’t, I recommend you to go and read my other tutorial where I go through the basics. You can find it here

    IMPORTANT

    For the rest of the tutorial, I will assume you have these options. If your buttons doesn’t look like this you will have some problems following the tutorials since some things wont look the same.

    [​IMG]

    -----------
    The tutorial will be divided into several sections. In each section we will add some new feature to our unit.

    Also, I am sorry if some parts seem slow and boring, if you feel like you are experienced with editors but just want to go learn how to do stuff without all the long explanations of stuff, feel free to skim through the longer parts. I will try to mark the parts where I do stuff.

    Downloads
    Coming soon, I can't upload the files for some reason

    Section 1 - Hello world

    Creating Sam

    Unit - Taking our first steps

    The core of this entire tutorial is our unit. Therefore, it is only logical that we start by creating it.

    To create an object in the data editor, right click in the object list and press “Add *Type*...” where *Type* is the object type of the tab you have selected. So if you have the Units tab open, you want to right-click on the object list and press “Add Unit...”.

    You can also use the hotkey for it. It is shown to be Ctrl + =. However, for my keyboard layout, it’s ctrl + the key to the right of zero.

    You can also duplicate another object, but this would copy things from other units and the point of this is to make it all from scratch.

    When you create the object, a properties window will pop-up. In here, you can specify some information about the object you just created.
    We start out by naming it. Since the unit is so important, go ahead and choose the name wisely. I will pick the name “Sam”. From here on, I will refer to the unit as “Sam”.

    The name and ID are similar. The ID is used by the game to link to an object. You can have several units named the same thing but they have to have different IDs so the game knows which one is which.

    If you press suggest, the editor will come up with an ID that looks very similar to the name. Go ahead and do this.

    The next thing is a drop-down menu called Unit type. This is grayed out and “Generic” is selected. Units only have one type. It is called “Generic”.

    Since we only have one option when it comes to unit-type, the choice is pretty simple. However, when we start talking about other object types, you will notice some of the object types have more than one sub-type.

    One example of this is abilities that have more than 30 sub-types. Two of the more common ones are Effect - instant and effect - target. Don’t mind this too much yet. We’ll get back to it later in another section.

    The two checkboxes called “Defines Default values” and “Show Non-Default” are rarely used and I don’t think they’re going to be used in this tutorial at all. Just leave them unchecked.

    We also have the “Based On:” drop-down menu which just determines the default values of the object’s fields. Normally, we can keep this as it is.

    The following three drop-down menus are mainly for organizational purposes. You can sort by these categories in the data editor as well as when you place them in the terrain editor.

    Since it’s a custom map, we’ll keep Object family at “(None)” and since terran is generally considered overpowered, Sam will be a terran unit so we change the race to Terran.

    Sam is a unit so change Object type to Unit.

    We could copy the field values from another unit, but this time we will just keep it at “Set to parent value”.

    Your properties window should now look like this:
    [​IMG]
    We’re now done with the properties window so go ahead and press okay. If you at anytime want to change the properties of an object you created, you can bring it up by double-clicking it in the object list.

    We will come back to the unit a lot to modify it’s fields, but for the moment we wont do anything with it.

    Currently, our unit is not much to look at. If you find it in the terrain editor and place it on the map, you wont see him(or you might see a white globe)

    We need much more work to make him a force to be reckoned with. The best way to start is to create his visuals so we can actually see what we’re working with.

    For this we need two things: A model and an actor. We’ll start with the model since it’s easier and we want to refer to the model from the actor, so it’s easier if it is already done.

    Model - Creating sam’s model

    Open the model tab and create a new model.

    This time I wont go through all the stuff in the properties window that pops up. I will just tell you what things to change.

    Name: Sam (Model)
    ID: SamModel
    Model type: Generic
    Race: Terran (This step is unnecessary but as I said, good for organization purposes, I wont mention changing the race on objects anymore but you might want to do it anyway)

    Leave everything else as it is.

    From my own experience, I have to say I haven’t found any different between foliage and generic. I’ve heard that it doesn’t really matter what you choose but I pick generic to be on the safe side since... it’s generic.

    Model created? Good. Now there’s a lot of fields on the right. I wont talk about all of them or even most of them. This is because I have no experience with them.

    This will be a reoccurring theme that you have to get used to. The object editor has an insane amount of different fields and options. I doubt that in 10 years, even if the mapmaking community gets as big as in Warcraft 3, that someone will know it all. The point of this tutorial is not to teach you all the tiny bits of information about different subjects. This tutorial is meant to guide you through the editor teaching you all the vital and necessary parts of it.

    Hopefully, the rest can be figured out with a mixture of reading the tooltips(showed when you hover your mouse over a field. Not all fields have tooltips), reading other tutorials and trial and error.

    Back on topic: We only need to modify one part of our model and that is the model field.

    I went with the “Assets\Units\Terran\Ghost\Ghost.m3” model.

    [​IMG]

    This is everything we need for the model currently. Most of the visual things we need to modify is in the actor so let’s get on to that part.

    Actor - Link the model to Sam

    Name: Sam (Actor)
    ID: SamActor
    Actor type: Unit

    The actor will act like a link that links together the unit and model. So to do this, we start by changing our actor’s “Art: Model” field to the model we previously created. Find Sam (Model) in the list.

    To link it to the unit, we have to go to a special field located at the top of the field list(above the search box). It’s called “Unit name”. Change it to Sam.

    Here's where you find that special field:
    [​IMG]

    If you now place the unit in the terrain editor, you will find that it looks like a Ghost.

    At this point I would suggest that you test the map and check out your creation.

    Okay, done? Are you disappointed? You might be. This thing is far away from being a ghost, and it is going to require more than spending four years at a ghost academy.

    This is how it should look by now:
    [​IMG]

    Here are some problems you might’ve noticed:

    1. The wireframe shows a green heart
    2. No sight range
    3. Can’t move.
    4. No abilities
    The wireframe is fixed in the actor so let’s do it first.

    Part of the meaning with this tutorial is to teach you where to find stuff.

    So how would we know that the wireframe is in the actor?

    Well, I previously talked about how actors handle most of the visual parts of the game. The wireframe is something visual and is therefore in the actor.

    Eventually, you will learn where you can find things and where to search. Sometimes, the editor keeps things in places you wouldn’t expect, but things will mostly be where it makes sense.

    Change UI:Wireframe in your actor to “Assets\Textures\wireframe-terran-ghost.dds”

    You can also go ahead and change the Art: Model (Portrait) to “Portrait - Ghost”. This controls the portrait shown in the UI menu left of the command card which is just a simple model.

    We also want to change the armor icon. Set UI: Life Armor Icon to Assets\Textures\btn-upgrade-terran-infantryarmorlevel0.dds.

    Additionally, we would like to give our unit a death model. The animation with the ghost falling to the ground and dying has to be linked seperately. Open Combat: Death Effects. It should look like this:
    [​IMG]
    As you can see, you can specify different death models depending on the type of death. We'll just care about the normal death. Change the model to Ghost Death and Sound to Ghost_Explode. Press okay and close it.


    The last thing to change for now is the icon. Set UI: Unit Icon to Assets\Textures\btn-unit-terran-ghost.dds



    Unit - Back to fix Sam’s stats

    Go back to Sam and change Stats: Sight radius to 10. This is pretty self-explanatory, it increases the sight vision.

    We also want our unit to move. You might’ve noticed the bunch of fields related to Sam’s movement but those wont affect anything until we give the unit the ability to move.

    Scroll up to the top where you can specify Sam’s abilities(Note: we’re still in the unit tab), this is found at Abilities: Abilities. Add the ability called Move.

    Now that Sam’s able to move, we have to change some of those movement fields.

    It obviously can’t have Movement: Speed at 0 so let’s change that to 2.25. It wont reach 2.25 movement speed with 0 acceleration so we also have to change Movement: Acceleration to something higher like 1000.

    We also want to make Sam count as a ground unit and collide with ground units.

    To make him collide with ground units we set Movement: Collide to Ground. We could make it collide with additional things but we only need it to collide with ground.

    To make him count as a ground unit set Movement: Plane Array to Ground.

    Test the map and make sure Sam’s able to move now.

    It’s a tough world and Sam will have a hard time surviving with 1 health.

    Fortunately, we can change that easily. Edit Stats: Life Maximum and Stats: Life starting amount to 200.

    Sam will still have a tough time surviving though. In this world with zerglings behind every door and a hydralisk behind every bush, you definitely need a weapon. So that’s our next task.
    This means we will have to go to another tab to create a weapon as well as some effects with it, but first let’s do one more thing on Sam to help towards giving him an attack.

    Let’s add the ability “Attack” to Sam. Just as you did with Move, go into Ability: Abilties and add Attack. Go on and add Stop as well, when you’re on it.

    Now, since he has no weapon, he can’t deal damage. That’s what we’re going to fix soon, but first let’s fix the command card.

    This might be a little complicated and I’ll make sure to use a lot of pictures to explain it.

    When you are in-game, you have a command card on your lower right. This is where you have all the buttons with the abilities and such that you can use. If we want to add an ability or something to a unit’s command card, it’s not enough to just add the ability in Ability: Abilities.

    How will the game know where to place it? Well, we have to add it on the command card for that.

    Let’s open the Ability: Command card.

    You should get something like this:
    [​IMG]

    You can see that you can switch between different command cards. We’re not going to that here. It’s mainly used by builders. When you press the build button, it opens another submenu with other buttons. It uses the command types Submenu and cancel submenu.

    For now, we’re only going to talk about ability commands.

    Our goal is to add move, stop, hold position, patrol and attack to the command card. You might ask why we didn’t add hold position and patrol as abilities in Ability:abilities.

    As you will see soon, they are included in move.

    The command card consists of 3x15 slots. Each slot can have several buttons but only one will be shown at a time.

    To start out with, click on the top left slot and add a button to that slot by pressing the green “+x”. This lets you choose the button for the ability.

    Buttons are another object type that we’re going to talk more about later although for now we’re actually going to use the standard buttons. Buttons control the icon, tooltip and hotkey for things on your command card(they have some other uses as well, but nothing we’ll get into right now)

    Search for move and take the button called “Move”. You will get to choose Command type. Pick Ability command. You will now have to choose an Ability and Ability Command.

    The ability is Move and the ability command is also Move. The ability field just links to the ability while the ability command links to one of the ability’s commands. An ability can have different commands. Move does. It also has hold position and patrol(and more)

    Do the same thing on the button to the right. Add the Stop button.

    Command type: Ability command
    Ability: Stop
    Ability command: Stop

    Then the button to the right is hold position.

    Command type: Ability command
    Ability: Move
    Ability command: Hold position

    Next up is patrol.

    Command type: Ability command
    Ability: Move
    Ability command: Patrol

    Last one is Attack.

    Command type: Ability command
    Ability: Attack
    Ability command: Attack

    Your command card should now look like this:
    [​IMG]

    We’re now done with the command card for now. This might be a good point to test the map and make sure everything works(Except the attack, the unit has no weapon yet)

    Creating Sam's weapon

    Unit - Missiles are also units

    There are two different types of (basic) weapons. There’s the one that just deals damage directly(e.g marine’s attack) and the one that launches some kind of missile that deals damage when it hits(e.g marauder’s attack)

    If we wanted one without a missile, like the marine’s, we would just make a damage effect and link it to the weapon and then link the weapon to Sam.

    However, we want a missile, so we will have to link the damage effect to a launch missile effect and the launch missile effect to the weapon.

    If this doesn’t make sense to you, don’t worry. We’re about to go through it in details.

    Sam will need a weapon that fits his awesome personality.... Hmmm... I think Laser blaster is a good name.

    There is an object type called “Weapon” that will be added to Sam. We will do this after the effects or else we would need to go back to the weapon later on. Each time the weapon attacks, it will run an effect.

    In this case, we want to launch a missile at the target.

    The missile is actually a unit. We could use a missile that already exists but for the sake of this tutorial, we will create our own.

    This means it’s time to create a new unit. Fortunately, this unit wont require as much work as Sam(You wont have to do this tutorial a second time just to create the missile :))

    Create a new Unit:

    Name: Weapon - Laser Blaster
    ID: WeaponLaserBlaster
    Based On: Invulnerable Missile
    Object type: Projectile

    The missile needs a mover to describe how it will move towards the target. Movers can become extremely complicated and I personally hate them because they never do what I want. If you want to learn more about movers, I would suggest you read blizzards extensive explanation of the different fields. It can be found here

    Instead of making our own mover, we will use Missile Default.

    Set Movement: Mover to Missile Default.

    Our missile still don't have any visuals in-game because it has no actor. We will come back to fix this soon but first we'll fix the effects since we need them for the actors.

    Let’s go over and make some effects for our weapon. Open the Effects tab.

    Effects - Because where is the fun in a weapon that does nothing?

    Time to create effects. We need two. Our laser blaster is going to deal 12 damage(but 20 to light targets because they will get fried)

    Create two effects. First one:

    Name: Laser Blaster (Damage)
    ID: LaserBlasterDamage
    Effect type: Damage

    Second one:

    Name: Laser Blaster (Launch)
    ID: LaserBlasterLaunch
    Effect type: Launch Missile

    Let’s start with editing our Damage effect(the first one we created).

    Set Combat:Amount to 12.

    Open Combat:Attribute Bonus and change Light’s value to 8.

    This will add 8 to the damage if the target is light.

    Also check Acquire and Flee in the Effect: Response flags field. This is to make sure enemy units react properly and either attack you back or flee

    That’s all the damage effect needs. Let’s go to the launch missile.

    There are a lot of fields here that can be useful in certain situations. The movement fields are used if you want to do specific mover things but you can almost always let it be handled by the missile’s own mover.

    Effect: Impact effect and Effect: Launch effect are useful to understand. The impact effect will occur when the missile reaches the target. The launch effect will be run when the missile is launched.

    For this one, we just want to run our damage effect when the missile reaches the target. Therefore, we change Effect: Impact effect to Laser Blaster (Damage)

    We also need to specify what missile to launch. This is set in Unit: Ammo Unit.

    Set Unit: Ammo Unit to Weapon - Laser Blaster

    Also check Acquire and Flee in the Effect: Response flags field.

    Now let's fix the missile's visuals. For this, it needs an actor and the actor needs a model so let's start there.

    Model - Because even missiles needs models

    Create a new model:

    Name: Laser Blaster
    ID: LaserBlaster
    Model type: Generic

    Set the :Model to Assets\Effects\Protoss\ArcadePlasmaMissile\ArcadePlasmaMissile.m3

    Models take almost no time to make, we’re already done with this one. Let’s go to actors now.

    Actors - So much work for a simple missile

    Create a new actor:
    Name: Laser Blaster (Missile)
    ID: LaserBlasterMissile
    Actor Type: Missile

    Change the token above the field list so that Unit name is “Weapon - Laser Blaster”.

    Also change Art:Model to Laser Blaster

    Our missile is now done and visible in-game(but we don’t know that yet. We have to get our weapon working before we can test it)!

    We also need one more actor. Create the following:

    Name: Laser Blaster (Action)
    ID: LaserBlaserAction
    Actor Type: Action

    The action actor contains lots of information about the weapon’s attack. We currently just need it to make the missile launch from the correct height but we could also use it to add a lot of different information about our attack.

    You have to change the tokens above the field list.

    Set Impact Effect to Laser Blaster (Damage)
    Set Launch Effect to Laser Blaster (Launch)

    We also have to link the action actor to the actor of the missile. This is done in the Art:Missile field.

    So set Art: Missile to Laser Blaster (Missile)

    Although Sam looks like a Ghost and a silent plasma rifle would be good for killing people silently, we still want to give our rifle some sound for the sake of learning.

    You can add sounds on impact and launch. The Launch sound is the sound it makes when your missile is launched and the impact sound is the sound it makes when it hits.

    Let's start with the impact sound. It can be found in the field Target: Impact Map. Open it up. It should look something like this:
    [​IMG]
    There's a list with different sounds depending on what material the weapon hits. We don't care about this so pick the first one with index "None".

    Below the list, there's three tabs: Animation, art and sound. Go to the sound tab and set the Sound to PhotonCannon_AttackImpact. Press okay and close it.

    Open up the Combat: Launch assets field. It looks almost the same as the impact map but without the list at the top. Again, go to the sound tab, but this time set sound to PhotonCannon_AttackLaunch.



    Now we only have to create a weapon to act as a link between our effects and our unit.

    Weapon - Almost armed

    Create a new weapon:
    Name: Laser Blaster
    ID: Laser Blaster

    The vital thing to change is Effect: Effect. This is the effect that is run when the weapon attacks.

    Set Effect: Effect to Laser Blaster (Launch)

    For the sake of making overpowered units, let’s change some other stats. We want a longer range so set Stats: Range to 6.

    We also want it to attack faster. For this, we need to change the period.

    Set Stats: Period to 0.5

    Now for some visual stuff. We want to change the appearance of the tooltip of the weapon. First of all we need a Damage Display Effect. If we don’t set this to something, the tooltip wont show up when we put our mouse over the weapon icon.

    Set UI: Damage display effect to Laser Blaster (Damage)

    The UI: Icon is the weapon’s icon. Set it to Assets\Textures\btn-ability-terran-penetratorround.dds

    Only one thing remains now. Add the weapon to Sam.

    Unit - Armed. Hell, it's about time!

    In Combat: Weapons, add Laser Blaster.

    Now test the map and try out your new unit.

    This concludes section 1. Stay tuned for next section where we will start talking about abilities, effects and behaviors in greater detail.
    [​IMG]

    You can read Section 2 Here!
    • Like Like x 4
  2. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    • Section 2
      • Introduction
      • Ripple Smash
        • Button - Starting out simple
        • Ability - Ironically, most time creating abilities are not spent in the abilities tab, but somewhere else
        • Unit - Give Sam the ability(which does nothing so far)
        • Effect - Making stuff happen!
        • Ability - Link to the effects and modify some stats
        • Model - Time for visuals!
        • Actor - Trying out events for the first time to make visuals.

    Introduction

    I'm pleased to introduce section number 2 in my data tutorial. This will probably be the most useful part as it really teaches you how the different object types interact.

    If you want to start in this section without doing all of the work in section 1, you can find the example map for all section at the top. The correct example map is also at the end of each section.

    In this section, we're going to talk about abilities. Hopefully, in the end of this section, Sam will have 4 rather complex and unique abilities.

    We will start easy and go on creating more complex abilities as we go. All abilities will be data-editor only without any triggers involved.

    Let me introduce our first ability:

    Ripple smash.

    Tooltip: Instantly teleports to the target unit and deals 75 AoE damage in a radius around the target. The target takes 100 additional damage.

    I hope you don't get discouraged when I say this is probably the easiest ability we're going to do.

    Time to start editing: Let's start out with something easy, the button.

    Buttons - Starting out simple

    Create a new button:

    Name: Ripple Smash
    ID: RippleSmash

    Change:
    :Hotkey = R
    :Icon = Assets\Textures\btn-ability-protoss-blink-zeratul.dds
    :Tooltip = Instantly teleports to the target unit and deals 75 AoE damage in a radius around the target. The target takes 100 additional damage.

    These parts should be pretty self-explanatory. This is the button that will show up on Sam's command card. This is the button you'll press to cast the ability.

    Abilities - Ironically, most time creating abilities are not spent in the abilities tab, but somewhere else

    For this ability, we're going to start creating the basic stuff. Just a simple ability with a button that we will later add to Sam. When we're done with that, we'll start editing the effect so the ability actually does something. So let's now create an ability:

    Name: Ripple Smash
    ID: Ripple Smash
    Ability type: Effect - Target

    Change:

    Stats: Range = 7

    Also, open up the field Ability: Commands. It will look something like this:
    [​IMG]

    So in the list at the top you can find two commands. Execute and Cancel.

    An ability can have several ability commands. This is the case for abilities with several in one, like the move ability that contains patrol and hold position as well.

    Normal abilities just have execute and cancel. We need to associate a button with execute for it to work.

    Select execute and in the drop-down menu at the bottom(called Default Button) change from (None) to Ripple Smash. Press okay and then we'll move on and add our ability to Sam.

    Units - Give Sam the ability(which does nothing so far)

    We've already done this when we added move, stop, hold position etc. So I wont go into much detail on this.

    Add Ripple Smash to Ability: Abilities.

    Open up Ability: Command Card. In the bottom left slot, add the ripple smash button.

    Command Type: Ability Command
    Ability: Ripple Smash
    Ability Command: Ripple Smash

    If you test the game now, you'll have an ability that does nothing. Your command card will look something like this:
    [​IMG]

    Now it's time to make our ability do something. For this, we need effects so jump over to the effects tab.

    Effects - Making stuff happen!

    Let's recap what we want to do.

    • Teleport caster to the target
    • Deal damage to all enemy units around the target
    • Deal extra damage to the target

    I'll start out with explaining the different types of effects we will use for this. In total we will use 5 effects.
    [HR][/HR]Damage effects:
    Damage effects are probably the easiest effect we'll use for this spell. It damages something. There are several fields you can modify. Here are some important fields:

    Target: Impact location determines which unit takes damage. It's on Target Unit/Point by default
    Combat: Amount determines the amount of damage. You can add different bonus and factors depending on a unit attribute in the Combat: Attribute bonus and Combat: Attribute factor fields.
    [HR][/HR]Teleport effects:
    Teleport effect are also pretty easy to understand. They teleport a unit somewhere. Here are some of the more important fields:

    Unit: Unit determines the unit that will get teleported. It defaults to "Target". This means the target of your ability will get teleported
    Target: Target determines where to teleport the unit from Unit: Unit. This defaults to Caster Unit. This means the Unit:Unit will be teleported to the caster.
    [HR][/HR]Set effects:
    Some fields only fit one effect. Our effect - target ability has an Effect: Effect field that accepts several effects, so this time we don't really need a set effect but we'll use one anyway for learning purposes so you'll get some experience with how they work.

    The most common use of set effects is to just bunch a group of effects together. If you run a set effect, it will run all effects in it. There is only one important field, really:

    Effect: Effects contains all the effects that we want to bunch together.
    [HR][/HR]Search Area effects:
    This is the last type of effect we will use for our ability. It used to apply effects to all units in an area. basically, you specify a radius and an effect and some filters. It will apply the effect to all units in a radius around the point where the search area was run.

    The most important field is the Search: Areas fields. When you open it, it will look something like this:
    [​IMG]

    In this list at top, you add areas, set the effect to apply to the units, set the maximum amount of units that will get the effect(-1 means unlimited) and set the radius.

    You also have the Search: Search filters. If a unit in the area does not fit in the filters, it wont get the effect. So if you unchecked Ally, Neutral and Player in the search filters, the effect will only be applied to enemy units in the area.

    For the record, we could do without the search area effect. There's built-in support in the damage effect to deal AoE damage. It's basically the same principle but for the sake of teaching you, I decided to do it this way.

    Now you might have a decent idea on how to do this. I want to encourage you to try it out yourself. Just go and mess around with it. Try making something similar at least. See if you can make your unit just teleport to the target or make the ability just deal damage to the unit.

    [HR][/HR]

    Now that you have a basic understanding of the effect types we're going to use, we're going to start creating our effects.

    We'll need 2 different damage effect. One that will be applied to all enemy units in the area and one that will be applied to the target.
    [HR][/HR]
    Name: Ripple Smash (Damage Area)
    ID: RippleSmashDamageArea
    Effect Type: Damage

    Set Combat:Amount to 75
    [HR][/HR]
    Name: Ripple Smash (Damage Target)
    ID: RippleSmashDamageTarget
    Effect Type: Damage

    Set Combat:Amount to 100
    [HR][/HR]

    Next, we need a search area that will use our Ripple Smash (Damage Area) effect on all enemy units in a 2 radius.

    [HR][/HR]
    Name: Ripple Smash (Search)
    ID: RippleSmashSearch
    Effect Type: Search Area

    In Search: Search Filters exclude Player, Ally and neutral.

    In Search: Areas add a new area with radius 2 and effect Ripple Smash (Damage Area) and keep the rest as it is.
    [HR][/HR]

    Next up, we need a teleport effect to teleport Sam to the caster. Create a new effect like this:
    [HR][/HR]
    Name: Ripple Smash (Teleport)
    ID: RippleSmashTeleport
    Effect Type: Teleport

    We want to teleport the caster to the target and not the other way around so:

    Open up "Unit: Unit + " and set the value to caster.
    Open up "Target: Target +" and set the value to Target unit.
    [HR][/HR]

    The last thing we want is a Set effect. When we use our ability, we want to run three effects. We want to teleport the caster to the target, we want to deal damage in an area and we want to deal extra damage to the target.

    As I said earlier, we could do this without the set effect since the ability can take several effects, but to give you some experience with the set effects, we'll do it with one.

    Create the following effect:
    [HR][/HR]
    Name: Ripple Smash (Set)
    ID: RippleSmashSet

    Set effects are easy to use. Open up Effect: Effects and add Ripple Smash (Search), Ripple Smash (Teleport) and Ripple Smash (Damage Target)
    [HR][/HR]

    Finally, we have to link the ability to our set effect.

    Abilities - Link to the effects and modify some stats

    Go to our Ripple Smash ability and open Effect: Effect. Add our Ripple Smash (Set) to the ability.

    Since we're already at the ability, let's add a cooldown to our new ability.

    Open up "Cost: Cost +". In the list at top, add a new value.

    You will get a whole bunch of new fields to edit. They're divided in parts. "Charge", "Cooldown" as well as some other uncategorized fields. You want to modify the field "Time: Use" in the Cooldown category. There is a "Time: Use" in the Charge category as well but that's the wrong one. Make sure you scroll past the charge one and down to the second one(which can be found in the Cooldown category).

    When you're done, it should look something like this:
    [​IMG]

    Finally, we want to have some visuals. Since this is our first ability, we're going to take it easy with the visuals. We'll just make some visual show up on all the enemies who take damage from our AoE damage

    Models - Time for visuals!
    Create a new model:
    [HR][/HR]
    Name: Ripple Smash(Damage)
    ID: RippleSmashDamage
    Model Type: Generic

    Set :Model to "Assets\Effects\Protoss\FeedbackLaunch\FeedbackLaunch.m3"
    [HR][/HR]


    Actors - Trying out events for the first time to make visuals.
    Create a new actor:
    [HR][/HR]
    Name: Ripple Smash(Damage)
    ID: RippleSmashDamage
    Actor Type: Model

    Since the model and the actor already have the same name, the actor's "Art:Model" field should already be set to the model we just created.

    We want to modify the events so the actor will know when it's supposed to be created.

    Open up Event: Events.

    This is kind of like a trigger editor within the data editor. I wont go into great details about it since there's already a nice tutorial about it here on thehelper. Read it here.

    You don't have to read it now, I'll try to go through enough so that you'll understand the basics.

    You create an event, the event has an action and you can optionally add a term. If you know the trigger editor, this might help you:

    Events = Events
    Action = Action
    Term = Condition

    If you don't know too much about the trigger editor, let me try to explain it another way: Events tell the actor when something's supposed to happen. The action tells the actor what is supposed to happen. The term tells the actor if something's supposed to happen.

    So, the things specified in the action are done when the events happen if the terms are true.

    What do we want in our case? We want to create the actor(which is basically just the model we created) when our damage effect is run. We don't need a term in this case.

    Right-click in the list and add an event. It'll automatically create an event(defaulted to ActionDamage) and an action(defaulted to ActionImpact)

    In the event, change the Msg type. This decides what kind of things will trigger the action. Change it to Effect.

    Set the source name below to "Ripple Smash (Damage Area)". This is the effect that will trigger the action. Set Sub name to Start.

    The event is done, now we have to choose what to do when this happens. In this case, we just want to create the actor so that it's model will be visible.

    So go ahead and select the part below the event that says "ActionImpact" and change its Msg type to "Create".

    It should now look something like this:
    [​IMG]

    You don't have to modify the name or content or anything else. Just press okay.

    Now try this out in-game. Hopefully, it works and looks something like this:

    [​IMG]

    Sam's first ability is now done and we did it without triggers. I hope you didn't find it too hard, because we'll be going on to more advanced abilities later on.

    If you read this, it means you're reading it before I finished all the abilities. I will update it with more abilities later on. If you have ideas for abilities to give Sam, write a reply and I'll write a tutorial on how to make them and add it to this section.
    • Like Like x 3
  3. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    - Reserved for further parts -

    Yes, it's already more than 6,000 words and it's not even half-way done.
  4. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    - Reserved for further parts-

    No, it didn't take that long to write this. I wrote most of this in less than a week. It just took some time before I could bother to finish the first ability in section 2.
  5. GFreak45

    GFreak45 I didnt slap you, i high 5'd your face.

    could you add some eye candy some point in the future? its gonna be epic but i dont wanna read a wall of text :(
    ill still do it but it would be much more fun with a few pics as examples
  6. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    There are a few pictures already to show the different menus which might be harder to understand. Unfortunately, the data editor consists of mostly text so I have the option between writing text and taking pictures of text. In both cases you would be reading text.
  7. GFreak45

    GFreak45 I didnt slap you, i high 5'd your face.

    its more for comparing views/tabs/how you see it
    i just realized im at work so i cant see pics anyway thats prolly why i dont see them if you did upload any
  8. GFreak45

    GFreak45 I didnt slap you, i high 5'd your face.

    good idea for an ability for sam...
    Bum rush :p
    Sam charges toward the location of your mouse on the screen (forward if your mouse is not on the map) dealing damage to enemies and pushing them back along the way at an angle appropriate to the angle he hit them at

    of course this would be a more advanced ability, but i would love to see how you would do it
  9. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    Unfortunately, I don't think there's a way to incorporate anything that follows the mouse in that way.

    I was thinking of describing the Psionic Scream ability that I made for the spell ideas thread.

    Also, if you have examples of places in the tutorial where there should be pictures(after reading it outside of work so you can actually see the current pictures :)), please tell me.
  10. GFreak45

    GFreak45 I didnt slap you, i high 5'd your face.

    the only one i think is missing is what the ability looks like in the editor when you add things to it, ie a button or effect, just as a sort of progress checker

    ps. anything you cant do with the data editor i can do with the trigger editor :p
    if you come across anything wierd like that where you cant do it with the data editor and ill try and code a solution that will work with the data editor (i think you can create custom Effect parameters and things like that but i havent figured out how)
  11. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    Anything I can't do in the data editor, I can do in the trigger editor :)

    Even though you mostly see me replying to questions about the data editor, I am at least as good with the trigger editor as I am with the data editor, if not better.

    But yeah, you can do a mix with data and triggers but it's ugly and takes extra work. If it's not possible with 100% data, you're often best of doing it all with the trigger editor.
  12. GFreak45

    GFreak45 I didnt slap you, i high 5'd your face.

    lol wasnt saying you couldnt, but we are totally digressing now :p
    lets get back to the main topic, ill get more into it and actually follow all the steps (i just read through it so far) and see how it goes :)
  13. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    Sounds like a good idea. Keep me posted on your progress and tell me if you run into some problems :). The problem with a huge tutorial like this is that it's very hard for me to go through it myself to find errors since I might subconsciously fix it.
  14. GFreak45

    GFreak45 I didnt slap you, i high 5'd your face.

    here is a list of what i found overlooked:
    • Did not say to add the stop ability and it is not included with attack or move
    • Model ID: Laser Blaster -> LaserBlaster
    • Set Impact Effect to Laser Blaster (Damage), Set Launch Effect to Laser Blaster (Launch) -> never created
    i think that last one is kinda big, gonna let you fix that before i continue, sorry for being so petty just think its best to tell you everything i see missing eventho it may be solvable without it being changed
  15. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    I do mention adding the stop ability. I quote: "Let’s add the ability “Attack” to Sam. Just as you did with Move, go into Ability: Abilties and add Attack. Go on and add Stop as well, when you’re on it."

    However, I will see if I can re-phrase it to make it more clear.

    I fixed the ID. Thanks for spotting it.

    The effects are created but they are created afterwards. When I had created the effects I remembered that I needed an action effect to get the weapon to animate properly so I added it to the actor part but I forgot that I created the effects later on. This will need some rewriting, I'll do it asap.

    Edit:
    I moved the effect part before the model and actor part and did some other restructuring in the table of contents as well.

    Start over from "Creating Sam's weapon" and you should be okay.
  16. Rivante

    Rivante New Member

    Siretu,

    My compliments, that was an amazingly effective tutorial. I just followed it through step-by-step and I didn't have one single glitch. Got Sam in-game and working in my test map without one single misstep. Your directions were both fun and non-confusing!! It would have taken me a lot of migraines and heartache to figure out all that stuff on my own (much less, the harrowing thought of trying to do ANY of that process out-of-order, and encountering the enigmatic editor error messages, or lack thereof). I'm sure there are others who feel the same way who haven't voiced their thoughts in the thread log, but for myself I can say thank you very much for posting this - it's really given me a *huge* leg up on one of the harder aspects of the Galaxy Editor!

    Many internets for you,
    -Rivante
    • Like Like x 1
  17. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    Thank you, it is great to know that the tutorial works. One of the things I was afraid of was that I would skip to explain a step that I take for granted that isn't obvious for someone reading. I'm glad you were able to follow everything perfectly.

    I have a great plan for this and I would like it to be at least twice as long with double the amount of information, however my time is extremely limited and I don't even have time to help everyone asking for help on these forums anymore. It's at least something I'm looking to extend upon in the (somewhat distant) future.
  18. Music Man

    Music Man Member

    I'm having a lot of difficult with this, unfortunately.. I'm on my second read through starting over from scratch and I still come across the problem of the "Movement: Mover to Default Missile." under the stats of "Weapon - Laser Blaster". For me I simply don't have the data field "Movement: Mover" under my stats. I'm sure that this field may exist somewhere other than Weapon - Laser Blaster but I wouldn't know, been following your guide verbatim and still have lots of trouble with this step.

    Edit: I actually skipped over the introduction where you said what configuration you had for the buttons, literally the only step I missed. I adjust accordingly and found it! I would recommend that you put this in a more clear place of the actual tutorial, for me it was sort of out of place and therefore I missed it. Great guide thanks very much.

    -Tom
  19. Siretu

    Siretu Starcraft 2 Editor Moderator Staff Member

    Thanks for the feedback. I added some big red text around it to make it stand out more. Hopefully it'll be enough to prevent someone from missing that again.

    Good luck with future modding :)
  20. Phubar

    Phubar Active Member

    ADDING DETAILS

    Hi, first of all sorry for my english...

    I created Sam but now i want to add some "datails" in his equipment like bonuses in damage and armour value. I tried to look in the data editor and i think i have to modify the Research lab ability but i wasn't able to do nothing that will works.

    How can i set the tipe of upgrade that i need for weapon and armour? How to set the ammount of damage/armour for every upgrade? How set the upgrade for a specific target type (like add 5 bonus only against light targets)?

    Tnx :)

Share This Page