I'm trying to implement a Range upgrade similar to the ones you see in melee maps for damage and armor. I've already a custom building for it, and I've successfully managed to implement it in-game, meaning it upgrades the range of the specified affected units, and adheres to the maximum "stacks" specified in the Data editor. However, after the ceiling is hit ( hitting the button five times = +5 range), I can still mash the button, queue it, lose the resources, but not get an upgrade. The button never disappeared either.
So about four hours ago I decided to just follow the Armor Upgrade 1, Armor Upgrade 2, Armor Upgrade 3-path (though 5 levels instead of 3) of the melee maps. But then I discovered "Requirement Nodes", and these make no sense. I've been unable to find any guide or tutorial that explains how they operate, and just watching the Upgrade-path for the melee maps it's daunting how one upgrade is linked to one node, that is linked to two separate nodes, that in turn are linked to others. It's a random web of nonsense rules, phrased like... I don't know what. The Event+ field was alien at start, but this is a whole new level of alien. Any text I've found online was written pre-1.5 (and almost all in 2010), on vaguely related issues that didn't help me.
Now, four hours later, I'm here asking for your help. Is there any guide, or anyone who can explain how the "network" of nodes should look like for what I described? I wouldn't mind reading up on them and do it myself if no guides are available, so either one works. I just can't find any myself.
Think of nodes as inputs and logic gates (like electronics). You can compare two inputs to each other or a constant. With the comparisons the blah or equals to includes the one value while the one lacking the equals excludes it. The node higher in that tier of the list is the one compared to that lower in the list.
Completed means for whole player, completed at unit is just for the unit. In progress is it is currently being worked on. Queued means it is in the queue to be done but not necessarily being processed at the current time. The killed and kills are related to enemies slain in total or made by the individual unit. Total is the ennumeration of all that input present. No idea about peak, maybe is like total but in retrospect so it still validates if you have less than the total wanted at the time but had reached it..
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Thank you for the reply. I have much better luck with the Triggers, since it at least to some extent mirrors actual programming. The nodes are just utterly confusing. It's an intricate web of major confusement.
Lets work on a a smaller scale so I can grasp the concept. I want to mirror the way the Terran Infantry Armor Level 1-3 works. How would I link all the stuff together? I make 3 separate buttons, and 3 upgrades, link them to each other, add them to the build thingy that I link to the building. In the command card of said building I put the three buttons on the same location, just like Blizzard has done with theirs.
And now time for the nodes.
Level 1
It does not require anything, as the button is already there. I do want it to disappear when used though. So I put a CountUpgrade(this ability,CompleteOnly) to get a flag that turns true when I've researched the Level 1 upgrade? How do I access this flag?
Level 2
I set the same thing as above, CountUpgrade(level1 ability, CompleteOnly). It is checked automatically? And then I do another but for the level 2 ability.
Level 3
Since there's no button after this one, I don't need to send a message to the level above. I just add a CountUpgrade(level2 ability, CompleOnly)?
And that'll work? I ask before I dive into it, since I haven't worked with it before, I expect it to take at least an hour to figure out, and then if it doesn't work it's still not a guarantee I implemented it correctly. That's why I turn to the forums, since I'd rather use that hour effective time on other areas of the map that needs some desperate love. :)
edit:
When reading my post I realized that I only included ways to make buttons appear, but not disappear. So I just do double what I did, but how do I tell these doubles it means to make buttons disappear? (As I said, the nodes makes no sense to me which makes me go idiot-mode).
So you are not using one single upgrade with 5 levels?
In that case you need to make it that the logic of the requirement returns false if the upgrade is queued or better. The next button then needs to be shown
You need to make the button disappear when queued or better. Under tree mode for the requirement editor the State field sets the flags. Right click a node to add a node to the logic tree of that node. Just use completed, there is no complete only.
With level 3 you need to hide it after the lvl 3 is queued or better.
Most upgrade requirements compare using an equals node to a constant with 0 for the tech to be researched and 1 for ones that need to already be researched. They use queued or better for hiding and completed for showing.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
So you are not using one single upgrade with 5 levels?
In that case you need to make it that the logic of the requirement returns false if the upgrade is queued or better. The next button then needs to be shown
You need to make the button disappear when queued or better. Under tree mode for the requirement editor the State field sets the flags. Right click a node to add a node to the logic tree of that node. Just use completed, there is no complete only.
With level 3 you need to hide it after the lvl 3 is queued or better.
Most upgrade requirements compare using an equals node to a constant with 0 for the tech to be researched and 1 for ones that need to already be researched. They use queued or better for hiding and completed for showing.
On the first question, that is correct. Right now I have one button for the 5 upgrades, but I'm trying to switch to one button per upgrade (like Blizzard does, I assume this is the way if you want to change weapon/armor icons and escalate the cost for the different levels)
By queued or "better", you mean queued or... "fully executed"? So I make a node that is queued or better on the rank1, I take it. Then what? How do I link an action to it? Do I link an action-type node to it to execute showing level2 button (if that's possible)? I'm down with the logic behind what I need to do, I'm just iffy on how I actually do it (which is how I found nodes in the first place, didn't even know the existed). If I had a Editor: Requirements+ field on the right side of the upgrades I could probably tinker it out, or add dependencies. To me, right now, Requirement nodes are just a bunch of post-it notes stuck on the wall in random order, all with the word "Post-It Note" on them, and somehow it's supposed to be rules and conditions for something that can only be interpreted the wrong way.
Probably a game breaking question, what's the Requirement Editor? I searched around without finding any button for it, nor did I find it in any menu. I have a list, a tree view of my selection below it, and the Fields to the right (in the Data editor). If there's an editor for requirement nodes that I've missed, it would make sense why it's so complete nonsense to me.
And lastly, and I apologize if I come off wrong, but why make comparisons with a constant? It will always return the same result.
Under both use and show add an Equals node. Under both equals node put two nodes, make the upper one a count upgrade and the lower one a constant.
To add or remove nodes rightclick the desired node in the tree and then click the add/remove requirement node button.
Requirement editor pops up when you click on the Basic - Requirement - Node Link field of the requirement.
Using the equals logic it is not always the same result since you are counting if your upgrade is queued or better. When your upgrade is not queued it counts as 0 while when it is queued or completed it then counts as 1. This way if compared to a constant of either 0 or 1 you can set it that the branch of the requirement tree enables or disables.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Thanks for the reply. You say "under both use and show", where is that? And Basic - Requirement - Node Link, I can find none of those 3 anywhere. On *any* node that I click on, I see:
And+
Editor Comment
Editor Description
Editor Name
Editor Prefix
Editor Suffix
Flags
Node Tooltip.
Though now that I typed it, I noticed the level1 are And+ at the top, and the level2 and level3 upgrades don't have that, but a Equals+ field after Editor Suffix. I'm starting to see a pattern (comparisons between the nodes), though I'm still unclear how I can make that logic into action. I can see how you'd set a requirement that you must be cleared to use the level2 upgrade for instance, but I've no idea how I go about setting that flag. Are they handled automatically? I'm confused, but let me give the logic a shot again.
I put CountUpgrade QueuedOrBetter on the level1 so I can know when to remove the level1 and show the level2 button, and I show CountUpgrade CompleteOnly to know when you can press it. I then do the same for level2, and for level3 I just need to know when to remove the button, so I only put either a QueuedOrBetter or CompleteOnly (both work, depending on when you want it to dissapear?).
If I'm correct with the above, the important question I have is do I have to link other nodes to these nodes?
And about the last thing you wrote, I don't know the technical jargong in the Starcraft 2 Editor/Map making community, but what you're describing is a variable (the value can change, it varies = variable). A constant is something that doesn't change (the value is constant). Like the name of a map is a constant, but a units placement in it is (usually) variable.
And a big thank you for the help so far, I truly appreciate it.
When you have your editor set like that the field I am describing will be obvious. When you click on it a window opens that can be toggled between tree and expression mode. Under tree mode it shows the name of your requirement as a folder icon that leads into two further folders, one is called show and the other use. Show is responsible for making buttons visible while use is for making the button usable.
You are comapring the variable which is your upgrade status to the constant using a comparison (equals in this case). If you compare it to a constant of zero it will return false if you have queued or completed the upgrade while comparison to a constant of one will only make it return true when you have queued or completed the upgrade.
Rollback Post to RevisionRollBack
Contribute to the wiki (Wiki button at top of page) Considered easy altering of the unit textures?
Well, I found it. Trying to figure out how to follow your instructions for a few hours ended up with nothing. I then stumbled upon an unrelated youtube tutorial, and it hit me. I've been browsing the Requirement Node tab, but there was also a Requirement tab. In that tab I found what you were describing. I'm now going to test around and experiment, since stuff suddenly makes sense there. I'll let you know how it turns out, in case someone a few years from now stumbles upon the same problem, googles, and comes to this page, or if I simply have follow up questions.
Worked perfectly. I just cloned the Terran Weapon Upgrade 1 and renamed it and the abilities it was linked to, and with the Weapon Upgrade 2 I just duplicated it for my level 2 range, and then I duplicated the level 2 range, renamed to level 3, fixed the Basic: Requirements+ field, duplicated it and did the level 4. Finally I duplicated the Terran Weapon Upgrade 3, and did the same as I did the Terran Weapon 1 -> My Range Upgrade 1, but for my level 5.
Tested in-game, worked perfectly (once I removed/changed the Armory requirement for level 2 and onwards). This was for the Requirement tab only, I did have to make 5 separate buttons and name them accordingly, and make the actual upgrades, and link them to the building that handled them (though I had already done that prior, so it was just toot the horn and drive).
Thanks for the help DrSuperEvil.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
I'm trying to implement a Range upgrade similar to the ones you see in melee maps for damage and armor. I've already a custom building for it, and I've successfully managed to implement it in-game, meaning it upgrades the range of the specified affected units, and adheres to the maximum "stacks" specified in the Data editor. However, after the ceiling is hit ( hitting the button five times = +5 range), I can still mash the button, queue it, lose the resources, but not get an upgrade. The button never disappeared either.
So about four hours ago I decided to just follow the Armor Upgrade 1, Armor Upgrade 2, Armor Upgrade 3-path (though 5 levels instead of 3) of the melee maps. But then I discovered "Requirement Nodes", and these make no sense. I've been unable to find any guide or tutorial that explains how they operate, and just watching the Upgrade-path for the melee maps it's daunting how one upgrade is linked to one node, that is linked to two separate nodes, that in turn are linked to others. It's a random web of nonsense rules, phrased like... I don't know what. The Event+ field was alien at start, but this is a whole new level of alien. Any text I've found online was written pre-1.5 (and almost all in 2010), on vaguely related issues that didn't help me.
Now, four hours later, I'm here asking for your help. Is there any guide, or anyone who can explain how the "network" of nodes should look like for what I described? I wouldn't mind reading up on them and do it myself if no guides are available, so either one works. I just can't find any myself.
Set the requirement to needing queued or better?
Events+ is actors only.
Think of nodes as inputs and logic gates (like electronics). You can compare two inputs to each other or a constant. With the comparisons the blah or equals to includes the one value while the one lacking the equals excludes it. The node higher in that tier of the list is the one compared to that lower in the list.
Completed means for whole player, completed at unit is just for the unit. In progress is it is currently being worked on. Queued means it is in the queue to be done but not necessarily being processed at the current time. The killed and kills are related to enemies slain in total or made by the individual unit. Total is the ennumeration of all that input present. No idea about peak, maybe is like total but in retrospect so it still validates if you have less than the total wanted at the time but had reached it..
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
Thank you for the reply. I have much better luck with the Triggers, since it at least to some extent mirrors actual programming. The nodes are just utterly confusing. It's an intricate web of major confusement.
Lets work on a a smaller scale so I can grasp the concept. I want to mirror the way the Terran Infantry Armor Level 1-3 works. How would I link all the stuff together? I make 3 separate buttons, and 3 upgrades, link them to each other, add them to the build thingy that I link to the building. In the command card of said building I put the three buttons on the same location, just like Blizzard has done with theirs.
And now time for the nodes.
Level 1 It does not require anything, as the button is already there. I do want it to disappear when used though. So I put a CountUpgrade(this ability,CompleteOnly) to get a flag that turns true when I've researched the Level 1 upgrade? How do I access this flag?
Level 2 I set the same thing as above, CountUpgrade(level1 ability, CompleteOnly). It is checked automatically? And then I do another but for the level 2 ability.
Level 3 Since there's no button after this one, I don't need to send a message to the level above. I just add a CountUpgrade(level2 ability, CompleOnly)?
And that'll work? I ask before I dive into it, since I haven't worked with it before, I expect it to take at least an hour to figure out, and then if it doesn't work it's still not a guarantee I implemented it correctly. That's why I turn to the forums, since I'd rather use that hour effective time on other areas of the map that needs some desperate love. :)
edit: When reading my post I realized that I only included ways to make buttons appear, but not disappear. So I just do double what I did, but how do I tell these doubles it means to make buttons disappear? (As I said, the nodes makes no sense to me which makes me go idiot-mode).
So you are not using one single upgrade with 5 levels?
In that case you need to make it that the logic of the requirement returns false if the upgrade is queued or better. The next button then needs to be shown
You need to make the button disappear when queued or better. Under tree mode for the requirement editor the State field sets the flags. Right click a node to add a node to the logic tree of that node. Just use completed, there is no complete only.
With level 3 you need to hide it after the lvl 3 is queued or better.
Most upgrade requirements compare using an equals node to a constant with 0 for the tech to be researched and 1 for ones that need to already be researched. They use queued or better for hiding and completed for showing.
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
On the first question, that is correct. Right now I have one button for the 5 upgrades, but I'm trying to switch to one button per upgrade (like Blizzard does, I assume this is the way if you want to change weapon/armor icons and escalate the cost for the different levels)
By queued or "better", you mean queued or... "fully executed"? So I make a node that is queued or better on the rank1, I take it. Then what? How do I link an action to it? Do I link an action-type node to it to execute showing level2 button (if that's possible)? I'm down with the logic behind what I need to do, I'm just iffy on how I actually do it (which is how I found nodes in the first place, didn't even know the existed). If I had a Editor: Requirements+ field on the right side of the upgrades I could probably tinker it out, or add dependencies. To me, right now, Requirement nodes are just a bunch of post-it notes stuck on the wall in random order, all with the word "Post-It Note" on them, and somehow it's supposed to be rules and conditions for something that can only be interpreted the wrong way.
Probably a game breaking question, what's the Requirement Editor? I searched around without finding any button for it, nor did I find it in any menu. I have a list, a tree view of my selection below it, and the Fields to the right (in the Data editor). If there's an editor for requirement nodes that I've missed, it would make sense why it's so complete nonsense to me.
And lastly, and I apologize if I come off wrong, but why make comparisons with a constant? It will always return the same result.
Under both use and show add an Equals node. Under both equals node put two nodes, make the upper one a count upgrade and the lower one a constant.
To add or remove nodes rightclick the desired node in the tree and then click the add/remove requirement node button.
Requirement editor pops up when you click on the Basic - Requirement - Node Link field of the requirement.
Using the equals logic it is not always the same result since you are counting if your upgrade is queued or better. When your upgrade is not queued it counts as 0 while when it is queued or completed it then counts as 1. This way if compared to a constant of either 0 or 1 you can set it that the branch of the requirement tree enables or disables.
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
Thanks for the reply. You say "under both use and show", where is that? And Basic - Requirement - Node Link, I can find none of those 3 anywhere. On *any* node that I click on, I see:
Though now that I typed it, I noticed the level1 are And+ at the top, and the level2 and level3 upgrades don't have that, but a Equals+ field after Editor Suffix. I'm starting to see a pattern (comparisons between the nodes), though I'm still unclear how I can make that logic into action. I can see how you'd set a requirement that you must be cleared to use the level2 upgrade for instance, but I've no idea how I go about setting that flag. Are they handled automatically? I'm confused, but let me give the logic a shot again.
I put CountUpgrade QueuedOrBetter on the level1 so I can know when to remove the level1 and show the level2 button, and I show CountUpgrade CompleteOnly to know when you can press it. I then do the same for level2, and for level3 I just need to know when to remove the button, so I only put either a QueuedOrBetter or CompleteOnly (both work, depending on when you want it to dissapear?).
If I'm correct with the above, the important question I have is do I have to link other nodes to these nodes?
And about the last thing you wrote, I don't know the technical jargong in the Starcraft 2 Editor/Map making community, but what you're describing is a variable (the value can change, it varies = variable). A constant is something that doesn't change (the value is constant). Like the name of a map is a constant, but a units placement in it is (usually) variable.
And a big thank you for the help so far, I truly appreciate it.
Your data editor set according to the standards used for referencing fields? It shows all fields that way.
http://www.sc2mapster.com/forums/general/wiki-discussion/20995-info-data-editor-fieldnames/#p1
When you have your editor set like that the field I am describing will be obvious. When you click on it a window opens that can be toggled between tree and expression mode. Under tree mode it shows the name of your requirement as a folder icon that leads into two further folders, one is called show and the other use. Show is responsible for making buttons visible while use is for making the button usable.
You are comapring the variable which is your upgrade status to the constant using a comparison (equals in this case). If you compare it to a constant of zero it will return false if you have queued or completed the upgrade while comparison to a constant of one will only make it return true when you have queued or completed the upgrade.
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
Well, I found it. Trying to figure out how to follow your instructions for a few hours ended up with nothing. I then stumbled upon an unrelated youtube tutorial, and it hit me. I've been browsing the Requirement Node tab, but there was also a Requirement tab. In that tab I found what you were describing. I'm now going to test around and experiment, since stuff suddenly makes sense there. I'll let you know how it turns out, in case someone a few years from now stumbles upon the same problem, googles, and comes to this page, or if I simply have follow up questions.
Thanks a lot for the help so far!
Worked perfectly. I just cloned the Terran Weapon Upgrade 1 and renamed it and the abilities it was linked to, and with the Weapon Upgrade 2 I just duplicated it for my level 2 range, and then I duplicated the level 2 range, renamed to level 3, fixed the Basic: Requirements+ field, duplicated it and did the level 4. Finally I duplicated the Terran Weapon Upgrade 3, and did the same as I did the Terran Weapon 1 -> My Range Upgrade 1, but for my level 5.
Tested in-game, worked perfectly (once I removed/changed the Armory requirement for level 2 and onwards). This was for the Requirement tab only, I did have to make 5 separate buttons and name them accordingly, and make the actual upgrades, and link them to the building that handled them (though I had already done that prior, so it was just toot the horn and drive).
Thanks for the help DrSuperEvil.