Is there a more recent/complete tutorial on creating units from scratch in the data editor? I want to be able to create a few units for a possible map, without messing with the original units / files in any way.
However, I don't know if it's because it's an older tutorial, or because I didn't update my editor or whatever... I really only reach step 1.2. Then it says, "(LINK : Tower Actor - Tower Unit.)" Simple enough, and I even vaguely remember doing this when I last played with the editor, but I literally can't find the link button anywhere on the menu to the right. I already double-checked to confirm I created this actor as a unit, and everything else matches. Examining another unit actor, the Ghost, indicates that on the bottom-left menu, there's a drop down unit for "Unit" with only one item, "Ghost." However, my created unit does not have this drop-down menu.
The right panel seems to have two menus. On top it has "Token" on the left and my actor name on the right, but for some reason it's been shrunk down and I can't expand it. On the bottom, there's no mention of units or links.
I'd like to simply ask for help but I get a feeling I'll be running into problems like this all over. Is there any way I can find up to date information about this kind of stuff?
Looking at that tutorial, they probably mean the standard unitName token/variable added to the CActorUnit, variable which is referenced by all default events as ##unitName##.
In XML, this is :
<CActorUnit id="MyActorName" parent="GenericUnitStandard" unitName="MyUnitName">
though I'm not too sure how to add such variables in the GUI interface.
Very good call on creating everything from scratch. You can still do so by duplicating or copying/pasting without any interference with existing units/files.
Looking at that tutorial, they probably mean the standard unitName token/variable added to the CActorUnit, variable which is referenced by all default events as unitName.
In XML, this is :
<CActorUnit id="MyActorName" parent="GenericUnitStandard" unitName="MyUnitName">
though I'm not too sure how to add such variables in the GUI interface.
Very good call on creating everything from scratch. You can still do so by duplicating or copying/pasting without any interference with existing units/files.
Is it critical that I learn how to work directly in XML if I want to build larger projects in the editor? The GUI for the editor seems a lot more organized than it was when I first cracked it open but it seems like working in XML might be cleaner.
There are a few things that can't be done in the GUI and for which one needs to use XML, but it's some very specific stuff.
I would recommend you do as I do : work in the GUI while keeping an eye on the XML. Some stuff is just more convenient to do in XML, and it's the easiest way to clean stuff up ( the editor can make a mess sometimes ).
For creating your units/whatever, don't be afraid of copying or duplicating existing objects, it can be faster than creating them from scratch for an identical end result. When copying, make sure the object's parent is some fundamental type and not an existing object.
There are a few things that can't be done in the GUI and for which one needs to use XML, but it's some very specific stuff.
I would recommend you do as I do : work in the GUI while keeping an eye on the XML. Some stuff is just more convenient to do in XML, and it's the easiest way to clean stuff up ( the editor can make a mess sometimes ).
For creating your units/whatever, don't be afraid of copying or duplicating existing objects, it can be faster than creating them from scratch for an identical end result. When copying, make sure the object's parent is some fundamental type and not an existing object.
I have a major concern with copying units. Stuff tends to break when I use the duplicate feature. Maybe I'm using it completely wrong, but what I do now is select the unit I want to base my unit on, and then select the variables I want to alter to be duplicated as well. For instance, I decided to make a Dark Templar hero at first. I based it off of Zeratul. I checked Actors, Models, Effects, Sounds, and Weapons.
However, that created a lot of problems for me right away. For instance, it had given the editor name of "zeratul5" to the model. At which point it decided it wanted to use the Zeratul5.m3 model, which doesn't exist. Similarly, it changed all the sound effects from "Zeratul_something" to "Zeratul2_something", except the actual duplicated sounds were called "Zeratul_something_copy." It feels like every time I duplicate a unit, I spend 20-30 minutes going through cleaning up, and usually the results are less than satisfactory. For instance, I just went through and made all the changes so that the unit functions properly. I placed a Zeratul on the test map as well, and found that for some reason, Zeratul's actual armor class was renamed...
If I could simply create a separate, working copy of a unit to mess around with, that would be great. Is there some way to get around the way it tries to rename everything systematically (and incorrectly)? Ideally I'd be able to create a complete, working copy of a unit to mess with, leaving the original version completely intact, but it's not clear what should / shouldn't be duplicated, and things have a habit of ceasing to work after duplicated.
Ah yes, duplicating objects break all the "implicit" references. You need to fix all these references afterward, I'm just saying it's usually still faster than creating stuff from scratch. If you fix all the broken implicit references, the duplicated unit will work just as new.
I really don't like these implicit references at all either, I'm not sure why Blizzard thought the "feature" was a good idea. In fact, none of my units use any implicit reference anywhere and they could be duplicated without any issue.
Ah yes, duplicating objects break all the "implicit" references. You need to fix all these references afterward, I'm just saying it's usually still faster than creating stuff from scratch. If you fix all the broken implicit references, the duplicated unit will work just as new.
I really don't like these implicit references at all either, I'm not sure why Blizzard thought the "feature" was a good idea. In fact, none of my units use any implicit reference anywhere and they could be duplicated without any issue.
Alright. I guess you're right, fixing all the references is still easier than trying to start entirely from scratch.
Generally, what parts of the unit should I be duplicating, and what parts should linked to the original?
Personally, I normally duplicate about all the core objects ( units, actors, weapons, effects, behaviors, abilities, validators ) except sounds and portraits.
Keep in mind that there's always some extra stuff you may need to copy/paste/edit manually, such as attach methods ( example : the marauder's attach method references the launch missile effect in order to producing an alternating pattern, a duplicated launch effect needs a new attach method ).
I just create the stuff from scratch and plug in fields as I need em. If there is already an effect/actor/etc set up how I want already, then I copy and paste just that then alter what it links to.
Usually only copy in general for Action actors because they can be fussy.
Sort of off-topic but since I don't want to spam up the forum I guess I'll keep my questions to one thread.
So I went ahead and instead of trying to build a unit from scratch, duplicated Zeratul and fixed all the references. It turned out to be easier than I thought it would be, since after toying around with it for most of yesterday I knew where most things were. I simply placed the unit into a test map besides the real Zeratul, and checked what parts were broken that way.
I'm having trouble locating something specific though.
In the map editor, when I select the unit, at the bottom left corner it describes the unit. For instance, Zeratul's description is "Zeratul is an elite Dark Templar with [...]" In game, this same description appears when I mouseover Zeratul's wireframe in the standard UI. I can't find this piece of text anywhere. I imagine its some sort of tooltip but it's not part of the standard unit actor as far as I can tell, or part of the unit. Anyone know where I can find this?
Also, on a completely unrelated note, where is the xp value of a unit changed? This seems like a really stupid question and I feel like I'm missing something painfully obvious. :(
EDIT: Wow. Never mind. I found the "Advanced values" button... and all my problems are solved just like that. This post definitely makes me look like an idiot now but I'll leave it in case anyone ever has the same problems and this helps them. :D
I've been watching the tutorials by OneTwoSC and there's something in the comments I'm a little bit confused about. Can anyone clarify this for me?
"Is it possible to set attribute points differently for each hero like in Diablo 2, like a barbarian gets 2hp for 1strength point or a paladin getting 1hp and 1energy for 1 point in an attribute? Or is it all like W3 where heroes get same amount of hp per attribute point regardless of primary attribute?
WFgrayflare"
"@WFgrayflare No you can definitely make it different for each hero (use different attribute behaviors for EACH hero)... just more grunt work.
OneTwoSC 1 month ago"
I know this is possible since SotIS has done it, but I'm not 100% sure on the workings behind the mechanic. Say I wanted to use the same system as SotIS, where a hero has a primary attribute that yields something extra for that hero. Going by those comments, my understanding is that if I were to have three attributes normally (Strength / Intelligence / Agility), I would instead create six attributes, with a primary variant of each. Then a strength hero would use Primary Strength, Intelligence, and Agility for instance.
Is this correct? If it is, items that increase, say, Agility, would have to increase both Agility and primary Agility, right? If the unit does not have the primary agility attribute, will the item simply not apply any bonuses to primary agility?
Yes, just look up my choosable attribute map as an example. Yes they can add a basic ammount while a hidden primary attribute buff adds the damage per attribute. As you need to add attributes with another behaviour like a buff or veterancy you can just get that to add your primary stuff.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Yes, just look up my choosable attribute map as an example. Yes they can add a basic ammount while a hidden primary attribute buff adds the damage per attribute. As you need to add attributes with another behaviour like a buff or veterancy you can just get that to add your primary stuff.
So, what you're saying is that each hero will have 4 attributes instead of 3, with the fourth one being their "primary" attribute and having the additional benefits? A strength hero will have "Strength - increases life by 21 for every 10 points" and then "Primary Strength - increases weapon damage by 1", then anything that boosts strength will add to both, and the second one is hidden?
Wouldn't it be simpler just to give him 3 attributes and ignore the basic version of strength? So, create "Strength - increases life" and "Primary Strength - increases life and weapon damage," and apply the second one to a strength-based hero and the first one to other heroes?
Depends on how you add the attributes. If you are using a buff to add them you can get that to add the damage directly so you would have 3 attributes and 6 buffs.
If you want a choosable attribute system you will be using buffs to add the attributes anyhow.
Depends on how you add the attributes. If you are using a buff to add them you can get that to add the damage directly so you would have 3 attributes and 6 buffs.
If you want a choosable attribute system you will be using buffs to add the attributes anyhow.
I see. That's different than what I had in mind but definitely a useful tip, cause that scenario isn't unlikely.
At the moment I'm just having attributes scale with the unit's veterancy level. So, right now, a unit at level 1 might have 10 points in each attribute, and a level 2 might have 20 instead.
If that's the case, wouldn't it be simpler to have two attribute behaviors for each attribute, and just use the appropriate version (primary versus non-primary) for each hero?
I am swapping one for the other. A strength hero would use primary strength, normal agility, normal intelligence, and an agility hero would use primary agility, normal strength, and normal intelligence for instance. Primary strength would have one more effect than normal strength, and primary agility will have one more effect than normal agility.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Is there a more recent/complete tutorial on creating units from scratch in the data editor? I want to be able to create a few units for a possible map, without messing with the original units / files in any way.
I've been using the tutorial listed here: http://www.sc2mapster.com/wiki/galaxy/tutorials/data-editing/unit/from-scratch-unit/
However, I don't know if it's because it's an older tutorial, or because I didn't update my editor or whatever... I really only reach step 1.2. Then it says, "(LINK : Tower Actor - Tower Unit.)" Simple enough, and I even vaguely remember doing this when I last played with the editor, but I literally can't find the link button anywhere on the menu to the right. I already double-checked to confirm I created this actor as a unit, and everything else matches. Examining another unit actor, the Ghost, indicates that on the bottom-left menu, there's a drop down unit for "Unit" with only one item, "Ghost." However, my created unit does not have this drop-down menu.
The right panel seems to have two menus. On top it has "Token" on the left and my actor name on the right, but for some reason it's been shrunk down and I can't expand it. On the bottom, there's no mention of units or links.
I'd like to simply ask for help but I get a feeling I'll be running into problems like this all over. Is there any way I can find up to date information about this kind of stuff?
Looking at that tutorial, they probably mean the standard unitName token/variable added to the CActorUnit, variable which is referenced by all default events as ##unitName##.
In XML, this is :
<CActorUnit id="MyActorName" parent="GenericUnitStandard" unitName="MyUnitName">
though I'm not too sure how to add such variables in the GUI interface.
Very good call on creating everything from scratch. You can still do so by duplicating or copying/pasting without any interference with existing units/files.
Is it critical that I learn how to work directly in XML if I want to build larger projects in the editor? The GUI for the editor seems a lot more organized than it was when I first cracked it open but it seems like working in XML might be cleaner.
There are a few things that can't be done in the GUI and for which one needs to use XML, but it's some very specific stuff.
I would recommend you do as I do : work in the GUI while keeping an eye on the XML. Some stuff is just more convenient to do in XML, and it's the easiest way to clean stuff up ( the editor can make a mess sometimes ).
For creating your units/whatever, don't be afraid of copying or duplicating existing objects, it can be faster than creating them from scratch for an identical end result. When copying, make sure the object's parent is some fundamental type and not an existing object.
I have a major concern with copying units. Stuff tends to break when I use the duplicate feature. Maybe I'm using it completely wrong, but what I do now is select the unit I want to base my unit on, and then select the variables I want to alter to be duplicated as well. For instance, I decided to make a Dark Templar hero at first. I based it off of Zeratul. I checked Actors, Models, Effects, Sounds, and Weapons.
However, that created a lot of problems for me right away. For instance, it had given the editor name of "zeratul5" to the model. At which point it decided it wanted to use the Zeratul5.m3 model, which doesn't exist. Similarly, it changed all the sound effects from "Zeratul_something" to "Zeratul2_something", except the actual duplicated sounds were called "Zeratul_something_copy." It feels like every time I duplicate a unit, I spend 20-30 minutes going through cleaning up, and usually the results are less than satisfactory. For instance, I just went through and made all the changes so that the unit functions properly. I placed a Zeratul on the test map as well, and found that for some reason, Zeratul's actual armor class was renamed...
If I could simply create a separate, working copy of a unit to mess around with, that would be great. Is there some way to get around the way it tries to rename everything systematically (and incorrectly)? Ideally I'd be able to create a complete, working copy of a unit to mess with, leaving the original version completely intact, but it's not clear what should / shouldn't be duplicated, and things have a habit of ceasing to work after duplicated.
Ah yes, duplicating objects break all the "implicit" references. You need to fix all these references afterward, I'm just saying it's usually still faster than creating stuff from scratch. If you fix all the broken implicit references, the duplicated unit will work just as new.
I really don't like these implicit references at all either, I'm not sure why Blizzard thought the "feature" was a good idea. In fact, none of my units use any implicit reference anywhere and they could be duplicated without any issue.
Alright. I guess you're right, fixing all the references is still easier than trying to start entirely from scratch.
Generally, what parts of the unit should I be duplicating, and what parts should linked to the original?
Personally, I normally duplicate about all the core objects ( units, actors, weapons, effects, behaviors, abilities, validators ) except sounds and portraits.
Keep in mind that there's always some extra stuff you may need to copy/paste/edit manually, such as attach methods ( example : the marauder's attach method references the launch missile effect in order to producing an alternating pattern, a duplicated launch effect needs a new attach method ).
@StragusMapster: Go
Alright. Thank you very much! I'll delete the disaster I managed to create and try this again. Hopefully I'll get it right eventually.
I just create the stuff from scratch and plug in fields as I need em. If there is already an effect/actor/etc set up how I want already, then I copy and paste just that then alter what it links to.
Usually only copy in general for Action actors because they can be fussy.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
Sort of off-topic but since I don't want to spam up the forum I guess I'll keep my questions to one thread.
So I went ahead and instead of trying to build a unit from scratch, duplicated Zeratul and fixed all the references. It turned out to be easier than I thought it would be, since after toying around with it for most of yesterday I knew where most things were. I simply placed the unit into a test map besides the real Zeratul, and checked what parts were broken that way.
I'm having trouble locating something specific though.
In the map editor, when I select the unit, at the bottom left corner it describes the unit. For instance, Zeratul's description is "Zeratul is an elite Dark Templar with [...]" In game, this same description appears when I mouseover Zeratul's wireframe in the standard UI. I can't find this piece of text anywhere. I imagine its some sort of tooltip but it's not part of the standard unit actor as far as I can tell, or part of the unit. Anyone know where I can find this?
Also, on a completely unrelated note, where is the xp value of a unit changed? This seems like a really stupid question and I feel like I'm missing something painfully obvious. :(
EDIT: Wow. Never mind. I found the "Advanced values" button... and all my problems are solved just like that. This post definitely makes me look like an idiot now but I'll leave it in case anyone ever has the same problems and this helps them. :D
I've been watching the tutorials by OneTwoSC and there's something in the comments I'm a little bit confused about. Can anyone clarify this for me?
"Is it possible to set attribute points differently for each hero like in Diablo 2, like a barbarian gets 2hp for 1strength point or a paladin getting 1hp and 1energy for 1 point in an attribute? Or is it all like W3 where heroes get same amount of hp per attribute point regardless of primary attribute? WFgrayflare"
"@WFgrayflare No you can definitely make it different for each hero (use different attribute behaviors for EACH hero)... just more grunt work. OneTwoSC 1 month ago"
I know this is possible since SotIS has done it, but I'm not 100% sure on the workings behind the mechanic. Say I wanted to use the same system as SotIS, where a hero has a primary attribute that yields something extra for that hero. Going by those comments, my understanding is that if I were to have three attributes normally (Strength / Intelligence / Agility), I would instead create six attributes, with a primary variant of each. Then a strength hero would use Primary Strength, Intelligence, and Agility for instance.
Is this correct? If it is, items that increase, say, Agility, would have to increase both Agility and primary Agility, right? If the unit does not have the primary agility attribute, will the item simply not apply any bonuses to primary agility?
Yes, just look up my choosable attribute map as an example. Yes they can add a basic ammount while a hidden primary attribute buff adds the damage per attribute. As you need to add attributes with another behaviour like a buff or veterancy you can just get that to add your primary stuff.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
So, what you're saying is that each hero will have 4 attributes instead of 3, with the fourth one being their "primary" attribute and having the additional benefits? A strength hero will have "Strength - increases life by 21 for every 10 points" and then "Primary Strength - increases weapon damage by 1", then anything that boosts strength will add to both, and the second one is hidden?
Wouldn't it be simpler just to give him 3 attributes and ignore the basic version of strength? So, create "Strength - increases life" and "Primary Strength - increases life and weapon damage," and apply the second one to a strength-based hero and the first one to other heroes?
Depends on how you add the attributes. If you are using a buff to add them you can get that to add the damage directly so you would have 3 attributes and 6 buffs.
If you want a choosable attribute system you will be using buffs to add the attributes anyhow.
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
I see. That's different than what I had in mind but definitely a useful tip, cause that scenario isn't unlikely.
Then what are you intending to do?
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
At the moment I'm just having attributes scale with the unit's veterancy level. So, right now, a unit at level 1 might have 10 points in each attribute, and a level 2 might have 20 instead.
If that's the case, wouldn't it be simpler to have two attribute behaviors for each attribute, and just use the appropriate version (primary versus non-primary) for each hero?
Why not just swap one for the other with each unit?
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
https://www.sc2mapster.com/forums/resources/tutorials/179654-data-actor-events-message-texture-select-by-id
https://media.forgecdn.net/attachments/187/40/Screenshot2011-04-17_09_16_21.jpg
@DrSuperEvil: Go
I am swapping one for the other. A strength hero would use primary strength, normal agility, normal intelligence, and an agility hero would use primary agility, normal strength, and normal intelligence for instance. Primary strength would have one more effect than normal strength, and primary agility will have one more effect than normal agility.