I'm beginning to become seriously annoyed with the SC2 editor.
For example, I'm trying to create a condition that checks the number of units owned by player 1. In Wc3 it would be as simple as
Condition:
Number of units in (Units owned by (Player 1)) Equal to 0
In Sc2, thats impossible. Under conditions, theres no such check as "Number of units owned by player". The closest thing is "Number of units in Unit Group". That would be all fine and dandy if the unit groups were remotely useful. Instead you start with:
(Number of Living units in Unit Group) == 0. From there you click the Unit Group to modify the actual group being checked. If this was Wc3, when you clicked on Unit Group, you would get a huge USEFUL list of unit group options such as (Units owned by player), (Units in region).
In SC2 the closest things you get to what I need is: (Units in Unit Group for Player), (Units in Region Matching Condition), and (Units in Unit Group Matching Condition). Heres the problem with all 3 of those. The first one just makes you choose another unit group which puts exactly where you just were. The other 2 cause you to choose a condition, which starts you ALL over back at creating a condition.
So, where does the madness end?
So please, someone tell me how to do the once simple Wc3 esque function of checking to see how many units owned by a certain player on still on the map. This is absolutely retarded that "Units Owned by Player" isn't an option under Unit Groups. WTF.
Local Variables UnitGroup = (Empty unit group) <Unit Group>
Counter = 0 <Integer>
Actions
Variable - Set UnitGroup = (Any units in (Entire map) owned by player 1 matching Excluded: Missile, Dead, Hidden, with at most Any Amount)
Unit Group - Pick each unit in UnitGroup and do (Actions)
Actions
Variable - Set Counter = (Counter + 1)
If you want to use counter in another trigger then you might want to set UnitGroup as global variable.
You see thats the entire problem with the SC2 editor in general. Something that should have been possible with ONE condition now requires and entire trigger.
That was just an example, no need to use it as trigger. You could create your own function that returns the number of units, then you can use it anywhere in triggers with just 1 line. Some quick notes if you want to achieve this:
-Create a new function with an integer type parameter
-modify 'owned by player 1' with 'owned by <parameter>'
-add a 'Return Counter' as the last action
You should be able to call upon it from any triggers with something like: 'myIntVariable=myCountFunction()', where myCountFunction() is the function you just created, and myIntVariable is an int type varaible that you define within the trigger. Good luck.
You complain about all the simple commands being removed, whislt yes this is a minor inconvenience they have become more complex to allow us to do a lot more with them, There are a few things here and there missing, but we can do a lot more now with what we have than you used to be able to do with the old editor.
You complain about all the simple commands being removed, whislt yes this is a minor inconvenience they have become more complex to allow us to do a lot more with them, There are a few things here and there missing, but we can do a lot more now with what we have than you used to be able to do with the old editor.
The diversity of custom functions overrides any downsides that might be present in GUI, but its still a shortfall overall. The novice map maker might have an extremely hard time grasping things that shouldn't be so hard to begin with. People coming straight from the World Editor aren't going to be very pleased especially if they weren't well versed in JASS to give them an easier transition to Galaxy.
Blizzard has said that the next expansion will be bigger than the Frozen Throne was for WC3, so hopefully it'll get even more Editor enhancements than the world editor did with the expansion's release.
As for now, I guess I'll be spending a little time learning galaxy for my own functions.
Not really a short fall in my book. Since Missiles would be included in your "simple fucntion" thats missing. This would utterly fail btw.
Whats so hard about making your own function that handles this? You dont need to no a bit of galaxy to make your own function. Its not that hard to grasp really .....
Unit Group = Every unit in "Entire Map" owned by player "1" with no exclusions"
Condition Sample
Number of units in Unit Group (Every unit in "Entire Map" owned by player "1" with no exclusions" ) > 0
pretty simple huh works for a charm for me, not any different from using the unit group conditions in WC3 either, If your gonna call this a set back for the editor, well then Im sure you prolly have had a really hard time learning the editor.
Do keep in mind Units are used for alot more then just units that you can control. This is why there is no simplifed function you can use. You could make one for yourself which is pretty simple. But you would have to hard code the exceptions to your own liking.
Meh this should take 1 minute to grasp for a novice. I mean if theyve used WC3 it should take 1 minute to find the differenecies. For someone completely new, well they should learn to do it the right way from the beggining.
Map making is for those that like to do it and want to do it. When your creating a map you almost doing the exact same as a level designer.
The editor was never intended to be an extra part of the game for everyone. If you cant understand the complexity of the system then please leave that to the people that do understand.
The differences between WC3 and SC2 editor are amazing and allow so much more then we could think of before with WC3.
If you need help on something like say add an new little function to count the unit for a player and you have trouble doing it then just ask here. There are quite a few people that are more then glad to help that have quite a bit more understanding of the system then you do.
There is absolutly no foundation for your frustration toward blizz exspecially when your on this website.
I checked the editor for the easiest way to do this and come to the conclusion that the code line that Lordabyss posted will do exactly what you need without even creating a function and also allows you to do alot more with the action then you ever could do in WC3.
After checking with someone that is very good with the trigger editor, my post is probably the easiest and most efficient way of doing that in one comparison without having to set up numerous variables.
Oh well. I did something a little easier. Just set it so when a unit owned by hostile dies it checks to see if a variable (that I set equal to the number of spawns) is equal to 0, and if not it reduces the integer count by 1. That way when the last unit dies, the int variable should be at 0, and then it will move onto the next set of actions.
I still have a lot to learn when it comes to this editor. I guess my frustration was the fact that I'm so well accustomed to World Editor GUI that when I first opened the Galaxy Editor I became a bit baffled. Oh well, its all starting to clear up for me.
Yeah, the editor fails hard.
It randomly disallows functions for no reason, forcing you to create ridiculous workarounds over 10 corners that make you forget what your initial intention was.
Since triggers are essentially just galaxy with an ui filter, I don't get this at all.
It's like you were using a bizarre ide that would randomly tell you using scanf is unknown when it's perfectly fine 2 lines earlier in the code.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
I'm beginning to become seriously annoyed with the SC2 editor.
For example, I'm trying to create a condition that checks the number of units owned by player 1. In Wc3 it would be as simple as
Condition: Number of units in (Units owned by (Player 1)) Equal to 0
In Sc2, thats impossible. Under conditions, theres no such check as "Number of units owned by player". The closest thing is "Number of units in Unit Group". That would be all fine and dandy if the unit groups were remotely useful. Instead you start with:
(Number of Living units in Unit Group) == 0. From there you click the Unit Group to modify the actual group being checked. If this was Wc3, when you clicked on Unit Group, you would get a huge USEFUL list of unit group options such as (Units owned by player), (Units in region).
In SC2 the closest things you get to what I need is: (Units in Unit Group for Player), (Units in Region Matching Condition), and (Units in Unit Group Matching Condition). Heres the problem with all 3 of those. The first one just makes you choose another unit group which puts exactly where you just were. The other 2 cause you to choose a condition, which starts you ALL over back at creating a condition.
So, where does the madness end?
So please, someone tell me how to do the once simple Wc3 esque function of checking to see how many units owned by a certain player on still on the map. This is absolutely retarded that "Units Owned by Player" isn't an option under Unit Groups. WTF.
@HexenLord: Go
Local Variables
UnitGroup = (Empty unit group) <Unit Group>
Counter = 0 <Integer>
Actions
Variable - Set UnitGroup = (Any units in (Entire map) owned by player 1 matching Excluded: Missile, Dead, Hidden, with at most Any Amount)
Unit Group - Pick each unit in UnitGroup and do (Actions)
Actions
Variable - Set Counter = (Counter + 1)
If you want to use counter in another trigger then you might want to set UnitGroup as global variable.
You see thats the entire problem with the SC2 editor in general. Something that should have been possible with ONE condition now requires and entire trigger.
That was just an example, no need to use it as trigger. You could create your own function that returns the number of units, then you can use it anywhere in triggers with just 1 line. Some quick notes if you want to achieve this:
-Create a new function with an integer type parameter
-modify 'owned by player 1' with 'owned by <parameter>'
-add a 'Return Counter' as the last action
You should be able to call upon it from any triggers with something like: 'myIntVariable=myCountFunction()', where myCountFunction() is the function you just created, and myIntVariable is an int type varaible that you define within the trigger. Good luck.
Its ugly but should satisfy what you need.
Here is a broken up portion of the actual comparison.
You complain about all the simple commands being removed, whislt yes this is a minor inconvenience they have become more complex to allow us to do a lot more with them, There are a few things here and there missing, but we can do a lot more now with what we have than you used to be able to do with the old editor.
The diversity of custom functions overrides any downsides that might be present in GUI, but its still a shortfall overall. The novice map maker might have an extremely hard time grasping things that shouldn't be so hard to begin with. People coming straight from the World Editor aren't going to be very pleased especially if they weren't well versed in JASS to give them an easier transition to Galaxy.
Blizzard has said that the next expansion will be bigger than the Frozen Throne was for WC3, so hopefully it'll get even more Editor enhancements than the world editor did with the expansion's release.
As for now, I guess I'll be spending a little time learning galaxy for my own functions.
Not really a short fall in my book. Since Missiles would be included in your "simple fucntion" thats missing. This would utterly fail btw.
Whats so hard about making your own function that handles this? You dont need to no a bit of galaxy to make your own function. Its not that hard to grasp really .....
pretty simple huh works for a charm for me, not any different from using the unit group conditions in WC3 either, If your gonna call this a set back for the editor, well then Im sure you prolly have had a really hard time learning the editor.
Do keep in mind Units are used for alot more then just units that you can control. This is why there is no simplifed function you can use. You could make one for yourself which is pretty simple. But you would have to hard code the exceptions to your own liking.
Meh this should take 1 minute to grasp for a novice. I mean if theyve used WC3 it should take 1 minute to find the differenecies. For someone completely new, well they should learn to do it the right way from the beggining.
You don't even need to know Galaxy to create your own functions. It is quite simple, you can be very creative with using what Blizzard has provided.
@Hexenlord
Map making is for those that like to do it and want to do it. When your creating a map you almost doing the exact same as a level designer.
The editor was never intended to be an extra part of the game for everyone. If you cant understand the complexity of the system then please leave that to the people that do understand.
The differences between WC3 and SC2 editor are amazing and allow so much more then we could think of before with WC3.
If you need help on something like say add an new little function to count the unit for a player and you have trouble doing it then just ask here. There are quite a few people that are more then glad to help that have quite a bit more understanding of the system then you do.
There is absolutly no foundation for your frustration toward blizz exspecially when your on this website.
I checked the editor for the easiest way to do this and come to the conclusion that the code line that Lordabyss posted will do exactly what you need without even creating a function and also allows you to do alot more with the action then you ever could do in WC3.
After checking with someone that is very good with the trigger editor, my post is probably the easiest and most efficient way of doing that in one comparison without having to set up numerous variables.
You could download and check this one: http://www.sc2mapster.com/maps/lordabyss-trigger-specials/
Oh well. I did something a little easier. Just set it so when a unit owned by hostile dies it checks to see if a variable (that I set equal to the number of spawns) is equal to 0, and if not it reduces the integer count by 1. That way when the last unit dies, the int variable should be at 0, and then it will move onto the next set of actions.
I still have a lot to learn when it comes to this editor. I guess my frustration was the fact that I'm so well accustomed to World Editor GUI that when I first opened the Galaxy Editor I became a bit baffled. Oh well, its all starting to clear up for me.
Yeah, the editor fails hard. It randomly disallows functions for no reason, forcing you to create ridiculous workarounds over 10 corners that make you forget what your initial intention was.
Since triggers are essentially just galaxy with an ui filter, I don't get this at all. It's like you were using a bizarre ide that would randomly tell you using scanf is unknown when it's perfectly fine 2 lines earlier in the code.