Tutorial Data Editor - A Vital Guide

Let's recap what you want: You want upgrades that modify Sam's damage/armor? Possibly with different amounts of damage to different target types? You then want to add the abilities so you can buy the upgrades in a building?

First of all, you'll need upgrades. Go into the data editor and find the Upgrades type. Create a new upgrade called something like "Sam's damage upgrade". In the Upgrade: Effects, right click in the empty list and add a new effect. This is something that will change when you get the upgrade.

When you get the upgrade you want to change Sam's damage is supposed to increase. The damage comes from the Damage effect you created earlier so make the type "Effect" and the object "Laser Blaster (Damage)". You'll get a list of all fields in that effect. You want the first one called "Amount".

Next, pick an operation. Let's say you want each level to increase damage with 5. In that case choose the "Add" operation and the value 5. If you wanted to increase the attack damage with 50% you could choose the "Multiply" operator and the value "1.5". If you want to upgrade a specific target type you just create a new effect in the list and also set the data reference type to effect and the object to "Laser Blaster (Damage)"(just like you did with the first effect) and modify one of the "Attribute bonus" fields.

To modify the armor, instead of picking the type "Effect" for your upgrade effects, pick "Unit"(Note, I'm talking about upgrade effects. This is the effects upgrades has on units. These are not the same thing as normal effects that I talked about in the tutorial. Basically when you set the type to "Effect" in the upgrade effects you tell the upgrade to change a normal effect)

Set the object to "Sam" and find the "Life maximum" and "Life Starting Amount" fields and modify those how you want it.

To make the upgrades researchable: Create a button for it. Find the building you want to put it in. If the building already has some upgrades, find the Research-type ability that it uses. If you go to the "Engineering bay" unit for example you'll see it has 4 abilities linked to it. One of them is called "Engineering Bay - Research (Engineering Bay)". That is the building's research ability. If it doesn't have one, create your own. Make sure the type is "Research"

Go to the "Ability: info". Scroll down until you find an upgrade slot that isn't used yet. Double-click it to add your upgrade to it. In the pop-up that appears pick the button for your upgrade. Scroll down to the bottom and pick the upgrade for the "Info - Upgrade" field. You can also modify the "Info - Time" field to set the time it takes to research it.
 
Tnx for the answer, i will try asap :)
My question was a little different, i wanted to upgrade Sam's armour/damage with the "common" terran infantry/armour upgrade (the one that upgrades marines, marauders, reapers, ghosts) but with this mini tutorial i have the knowledge to create my own upgrade so i think i will even be able to modify the existing one.
 
Modifying one of the "common" upgrades is even easier. You just have to find the upgrade and check out the effects. There's a lot of upgrade effects in it. Basically it changes the life armor icon, the life armor and the life armor level for each unit affected.
 
I added Ripple smash to Sam and it works but i want to make some changes, i tried making them on my own but i'm not able to find the solution.

I wanted to exclude allied units from direct damage (the one that deals 100) and in the effetct "Ripple smash (Target damage)" i unchecked "ally, player, neutral" like in the area effect but it doesnt work... I will damage the target every time.

Second question, how can i prevent Sam to use the ability on frienly units? (making a frendly unit unable to be selected as target?)
 
To prevent Sam from using the ability on friendly units, go into the Ripple Smash ability and open the "Ability: Target Filters + " field.

In here, add a new target filter to the list by right-clicking and pressing "Add value...". You can now create a target filter like you want it. Check Enemy and Neutral to make it unusable on allied and player units.

This should also solve your first issue since if you can't cast it on an allied unit it will never be the target of the direct damage.
 
Good tutorial - For your next spell for 'Sam'.
You could create an ability that damages a targeted enemy unit and heals the caster, the spell would play a sound and have some healing and damaging eye candy.
I would appriciate a tutorial for creating abilities like that(effects affecting both the target and the caster, even though it might be fairly simple).
 
So from the very beginning I'm not able to place my unit on the map. When I test the map it says, "USER: Invalid preplaced unit: Sam" Am I missing something with my dependencies or something? This problem is kinda brick-walling me in cuz I can mess with the data editor all I want, and nothing is going to happen if I can't even place the unit. Anyone know what's going on?
 
I'm sorry. I completely missed this post.

I have no idea why this is happening. Have you tried doing it on a completely new map? Does it happen for all units or only Sam? At which part did you try placing Sam?
 
First of all I want to thank you for a brilliant tutorial - I was fairly good in the WC3 editor but found that so many things changed in the SC2 that I put it on hold for a bit.
Now I've started trying to get into it and what better place to start than this tutorial about creating "Sam".

I've completed the tutorial but have bumped into a problem. After spending a few hours Googling it I gave up that idea and thought I'd post here.
The problem I am having is that Sam can't attack anything - the generic error "Must target a unit" appears. When I click attack and hover over an enemy unit, it greys out and I am not able to make him attack anything. This is where I was hoping that someone in here could help :)

Back in the old days the unit in question would just have an "allowed targets" field, but that has changed a bit. From what I have found out it seems to point towards the two effects used (Laser Blaster (Damage) and Laser Blaster (Launch)), but "Target: Impact Location - Value" on both are set to "Target unit". I am not sure if you are able to figure it out based on that description or maybe liste a few usual suspects.

- B
 
The targets are filtered in the weapon. So you will have to go to Sam's weapon, and look for the field: Weapon: Target Filters - Check out if something is set up wrong, you can most likely figure it out yourself. Required means that it has to be in that group, and Excluded means that it cant. Allowed, ofcourse means that the target can be allowed to be in that group.

For a reference go see how the Marine's (weapon) Target Filters is set up.
It's always a great help to check out how Blizzard did it when there's something you cant find out;)
 
X-maul: Thanks very much for the (surprisingly quick) response. The tip about checking how Blizzard's done is a good one - find a similar ability/unit/effect and check the values in there. Thanks for that.

I checked the weapons "Weapon: Target Filters" field and it was set to "everything allowed, visible required". I tried checking the Marauder's weapon (grenades) and it had pretty much the same except it excluded dead, invulnerable, missiles etc.
I tried copy pasting the value from the Punisher Grenades just to double check that nothing was missing. Unfortunately, same error. As soon as I hover the attack cursor over an enemy unit it greys out.

I don't think it has anything to do with the enemy units, but they are controlled by Player 2 set to be Computer controlled. I have also tried with Hostile targets, but same problem.
They are basic Zerglings and Marines with default values all around.

I attached the map to this post in case eyes-on is an easier approach.

Thanks a bucket for helping btw, TheHelper has always been the best for editors. Used it a lot back in my WC3 days :)
 

Attachments

  • SAM-test map.SC2Map
    20.1 KB · Views: 749
Update:I have worked out what was wrong and why my Sam couldn't attack. Now don't ask me why, but I must have incorrectly set a value wrong.

Effects -> Laser Blaster (Launch) -> Target: Impact Location - Effect
This was set to "Laser Blaster (Damage)". As I was re-reading the tutorial I noticed this wasn't mentioned so i changed it back to the default (None).

There was another value I had set wrongly - I can't remember where it was, but it didn't solve the problem. I think I forgot to add the "Laser Blaster (Damage)" effect to the "Laser Blaster (Launch)" or something retarded like that.
Anyway, problem solved and tutorial step one and two completed.

Thanks again for the intro, I should be up to speed in the SC2 editor in no time :p

- B
 
Good to know you figure it out :)
And I know it might seem impossible to figure it out by now, but I was at your position not long time ago, but when you get to learn the system and you look at how it's fundamentally set up, you will notice how much sence it makes ;)

For your example, you have to make a weapon fire a missile; then you will have to make an effect that fires a missile. You also want it to deal damage, so you will also need a damage effect that lands upon impact of the missile. And then ofcourse you need a missile unit, which needs an actor to be displayed, and so on ;)

A good way to troubleshoot is always to take it step by step, so starting with the weapon, then the missile effect and then the damage effect. It's almost always your own fault :b
 
General chit-chat
Help Users
  • Varine Varine:
    And since almost all of my programming experience is with defunct shit now, I figure my best place is helping preserve legacy stuff. Which I don't know how to do necessarily, but I need some kind of a hobby and figuring out how older things worked is the only shit that really interests me. Well soldering and restoration is fun too, but no one is bringing me new stuff to fix and restore, so it's mostly old shit, and I LOVE OG Xbox so much. I want to make sure it can function as long as possible, until someone can effectively emulate it at least. I have like 15 I was going to fix over the winter and didn't get to.
    +1
  • Varine Varine:
    I also have a couple OG gameboys, but idk if I can do that without like, manufacturing new parts that no one makes anymore and I can't do that right now
  • tom_mai78101 tom_mai78101:
    Currently in the middle of getting the probate process going. We're doing the informal probate process.
    +3
  • Varine Varine:
    A probate is usually done with a will, yes? If so I am sorry for your loss
    +1
  • The Helper The Helper:
    Yeah Tom, me too sorry for your loss buddy my mom told me she finds out her olds friend died from Google searching them. She had not talked to one of her old friends in a year and found out she died from Google. Also another one in the same session. RIP all of them my sincere condolences Tom
    +1
  • Varine Varine:
    We have some elderly guests that regularly come hang out at the bar at the end of the night, and every once in a while we don't see someone for a few weeks and then someone shows up with their obituary.
  • Varine Varine:
    We usually let them do their memorials there in the morning if they want to and I'll make them some snacks and drinks. There was one guy named Tom that came in like every night and would sit by himself and get a bunch of soup and a glass of wine. idk why but he LOVED our fucking soup, like he would order a fucking quart of it at a time and would always get so sad when we stop doing it for the summer.
    +1
  • Varine Varine:
    But he also loved our calamari, which is another thing I hate but it sells super well so I can't change it. There was one day he came in and was asking me how to make it, because he tried to at home once in the off season when we stop running it and he really wanted it lol
  • Varine Varine:
    I think he's one of the only people I've made recipes for for free because he really wanted a broccoli cheddar, and it was like dude I don't have a recipe, it's just whatever I have, but here, this is how you do it
  • Varine Varine:
    I don't think he ever figured out how to do the calamari in a pan though, like idk how to do that either. He was afraid of the at home deep fryers though and it's like yeah, that's fair, I am too
  • Varine Varine:
    He was just such a sweet old man, we had two servers pregnant and they held a baby shower together, he was soooooo fucking excited to get to see a baby. Unfortunately he died a month or so before they were born
  • The Helper The Helper:
    So I decided to Google some people that I had not seen or heard from in a while and sure enough one of my old best friends, we had a falling out years ago but whatever, find out he died of Pancreatic Cancer in January. I have also lost a few of my closer acquaintances from growing up the last year. Getting old - people die - I kinda thought it was going to be this way a few years ago....
    +2
  • The Helper The Helper:
    Forum running super slow again
  • Ghan Ghan:
    Not really clear from the stats as to what is causing the slowness.
  • Ghan Ghan:
    We get a lot of guest traffic so it may just be the load is getting too high and not from any particular source.
  • Ghan Ghan:
    Looks like the server is maxed out on CPU.
  • Ghan Ghan:
    Oh it looks like a lot of the traffic is Silkroad Forums. That domain isn't protected by Cloudflare.
  • Ghan Ghan:
    But the old Silkroad site is still on its own server. I just had a test site set up on this server for it.
  • Ghan Ghan:
    I just disabled that test site. Let's see if that helps the load.
  • Ghan Ghan:
    Looks much better already.
  • The Helper The Helper:
    I had actually forgot about the Silkroad site. I had asked
  • The Helper The Helper:
    SD Ryoko about it and he said the couple of people left on there really like it, that was a few years ago, maybe I should check back
  • jonas jonas:
    I guess when you're getting old, and the last day of soup season draws near, you start wondering
  • jonas jonas:
    will I make it to the start of the next season? or was this the last time I'll ever have my favorite dish?
  • The Helper The Helper:
    I am doing my first Vibe Coding project. In installed the environment and tools according to instructions but it is all chat doing this for me at my direction. It is fun really and holy shit I might finish in 2 hours what it would have taken a day to in my Access and this would be an electron app complete new

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials
      Top