@SouLCarveRR: GoNo need to be so condescendant.
"Your telling your trigger to run with out checking conditions.... Why?"
Because conditions have been already checked.
"I bet if you use a local variable for the random integer and set it = 1 for an initial value I bet you dont have this problem. Your Global Region Variables there may also be an issue if they are not initialized before running this trigger. "
You can also bet I already tried local/global and change default values. And of course it's not that at all, you can see value is set on each beginning of Obliterate trigger.
And you can see too I was not using region variable on screenshot. (TW_ZGreen and TW_ZRed are the regions names (for "TwoWorlds_ZoneGreen")
Of course the problem is OBVIOUSLY NOT the coding of the Obliterate trigger... Everything in the Obliterate trigger is correct and there is no reason to have a bug with that. I don't even understand why some people thought that.
But like it would be really surprising the editor got a damn bug like that, I search with regions (thought a ID error) and finally found... enjoy:
The unit is created just on top of a teleport, so the unit is teleported because she "enters" the region while being created... :D
And if it's only occur during first trigger execution, it's because players got an interdiction to have units teleported. This interdiction lasts 10 seconds only for players 1 to 8... so like player 0 is stuck with this interdiction, everything was working fine after the first occurrence...
xD
But the bright side of this: I would never found it if I'd not posted here, and I keep the $10,000 :P
If the trigger is on his first execution, I ask to create the unit on the WRONG region.
If the trigger is not on his first execution, I ask to create the unit on the good region.
And it's WORK... YES! I have to ask a unit creation on another region to have my unit created in the right place!
Seriously WTF? What's wrong with the editor? It's just a nonsense. It shouldn't be possible.
Anyways, I keep my $10,000 ;) But if you got an explanation to that editor bug, feel free to post.
"One right after setting the variable ObliterateZone to the random value, then: right after you created your purifier(s). I could imagine that the game needs longer to load and create the unit the first time since all values have to be loaded into memory. "
Agree in theory, but have you ever seen a map in your life (something like Dota or Golem Wars) creating the unit in the bad region for that purpose? :p
I thought like you some weeks ago so I already tried to create the unit with a separate trigger after beginning of the map, and guess what? Don't work :p
True I've not tried to set the two regions in a array, let's see what's the editor behavior with that. :)
I'm confiant with that. That's how every randoms work in my map, dunno why I didn't made that in the first place.
Edit : Hahaha, don't work xD (it's not funny at all in fact :/)
I also replaced the "last created unit" by a var and put/remove the Wait 0 second.
"my next question. why do you have 4 seperate "if then else" when this could be put into one with half the code, see a summary below:"
Because I said I had it in the first place but didn't worked (like switch or else-if). I tried every solutions, so the stupidest (4 if) was the last.
"why are you using a neutral player rather than a computer player? try changing from player 0 and add a computer player in?"
Same problem.
If I use player 0 it's because I don't have to add a computer player in the lobby (or maybe it changed since WC3). But anyways, player 0 is a computer player ;)
"and what is calling this trigger? how is this trigger activated?"
The trigger is called here:
"another thing I just noticed yuo make variables for your timer but you still refer to it as last created timer >.< why not use the variables you created, this is the same thing for the last created unit lol"
Because I need to stop the Obliterate (so timer) when the map ends (when someone achieves the objective) and destroy the timer window.
I also need to reset everything when I start the auto-remake system.
@nevjmac: Go
"Its not the point of of there being no other last created unit. its bad coding and practice to keep doing it, you should be storing the last created unit as a variable. It is your choice whether you do this. but it is generally frowned upon among other programmers."
Hum... maybe but there is no point between the bug and "last created unit".
And if I want to quibble: why creating a new variable and additionnal code lines if there is a function which prevent me to do that? :p (unless if "last created unit" = massive amount of code in script)
"is that not what the problem is? that its happening in the wrong place?"
The unit is created in the wrong place, but damage are dealt in the good place.
"can you post a screenshot of the other trigger that obliteratezone variable is in."
Sure. The other trigger:
Like I said :
Unit - Create 1 Purifier for player 0 at (Center of TW_ZRed) facing 270.0 degrees (No Options)
Unit - Move (Last created unit) instantly to (Center of TW_ZRed) (No Blend)
Unit - Hide (Last created unit)
Unit - Order (Last created unit) to (Purifier - Planet Cracker) (Replace Existing Orders)
I use "last created unit" directly. The Wait is before the Remove, and the Remove works well ;)
"whos to say another unit has been created and the one your wanting to remove is no longer the last created unit."
Because there is no other "Create unit" in the trigger. No matter if another unit is created is another trigger during this 3 seconds, because the "Last created unit" don't care about that ;)
It's just checking units created by the trigger itself.
"is obliteratezone a variable of type interger? where else does this variable get used/changed. because you have so many waits in your trigger. the variable could be changed before the 2nd half of your trigger."
Yes it's an integer, only changed here "Variable - Set ObliterateZone = (Random integer between 1 and 2)" (in that trigger).
It's used in another trigger (turned on by the "ObliterateDamage = true") which is work well.
And like I said earlier, the variable is correct when I display it before creating the unit :)
Anyways, if the variable changed before the 2nd half of the trigger, the damage would be dealt in the wrong place and not the right one.
@WallArcher: Go
In the script, everything is fine. And if something was wrong, I presume the trigger would be broken all the time, not only on the first execution.
Indeed there is no other timers. But fortunately that wouldn't bet a problem anyway, because "last created" refer to the "last created in the trigger" and don't care about other things created in other triggers. ;)
@RileyStarcraft: Go
Mmmh... I don't really understand.
I use "last created unit" after calling Wait, but I create the unit after calling Wait too, just before using "last created unit".
If you refer to the "Remove (last created unit) from the game", there is no bug with that action. The unit is correctly removed, because "last created unit" only check the last created unit by the trigger itself.
(I don't understand that sentence at all: "but that's a HUGE no-no as it is likely to lead to race conditions when a unit is created while the trigger is waiting." ^-^ (not english ftw))
@WallArcher: Go
Unfortunately, I've got that bug for weeks and close/reopened editor dozens of times. :/
You had the same problem occuring on the first trigger execution then working properly too?
@happy04: Go
I forgot to tell: I move the unit instantly to the same region as a "security", because I have the same bug without it (on the first place, the move action was not here).
But with or without, not working.
But even if it was that, that wouldn't explain why the unit is created on the opposite region ;)
The bug:
On the first trigger execution, the unit is always created on the OTHER region. I mean : If ObliterateZone == 1, it's created it TW_ZGreen (instead of ZRed) and if ==2, it's created on TW_ZRed (instead of ZGreen)
But it ONLY happens on the first execution and works very well on next occurrences.
I check 3 times the ObliterateZone :
To display a message, to prevent which zone will be obliterated (Red or Green). Message is always good even on first execution.
To create the invisible purifier in the correct zone. Unit is created on the wrong place during first trigger execution.
To deal damage to all units in the correct zone (another trigger). Damage are dealt on the good zone, even during first execution.
I tried to replace the 2 "if" by :
"If ==1
then TW_ZRed
else TW_ZGreen"
Don't work.
"Switch depending on ObliterateZone
if (1) then TW_ZRed
if (2) then TW_ZGeen"
Don't work.
"If then else-if
else-if == 1 then TW_ZRed
else-if == 2 then TW_ZGreen"
Don't work.
...
If I display the current value of ObliterateZone before the unit spawning, the value is correct, but the unit is created on the wrong place. WTFFFFFFF.
I've seen lot of maps having a team called "Watchers" and people in there gettin tagged with "Spectators".
I tried to reproduce that on my map. It simply don't work. I have 6 teams, I want a 7th one as the spectators one.
If I use "(none)" as race for the spectator player in player properties, nothing happens.
If I define that player as "Watcher" in game variants, all teams are fucked up in Lobby and i've got 9 slots in the team 1, even if I place it in a sperate 7th team. No Watchers or Spectators yet.
If I define that player as "Spectator" in game variants, nothing happen. The team is still "Team 7" and the tag is not here.
No matter if I mix this 3 things, nothing happen.
So how to make that "Watcher" team in addition to my 6-oneplayer-teams ?
Tournament is now over, I hope all players had fun and enjoyed it.
Rules and Brackets
If you finish 1st in a match, you score 3 points.
If you finish 2nd in a match, you score 2 points.
If you finish 3rd in a match, you score 1 point.
If you finish 4th, 5th or 6th in a match, you score 0 point.
At the end of round 5, best players will make an additional final round.
Entry:
- Available on EU servers
- Have to be online on Saturday, October the 16th at 2:00 PM London Time (so 3:00 PM Paris Time).
Rules:
- Mode: Sudden Death. Don't vote anything else.
- Good manners required.
- If one of players is not logged in time, he don't play the round.
- If you finish first in a game, you score 3 points.
- If you finish second in a game, you score 2 points.
- If you finish third in a game, you score 1 point.
- If you finish fourth, fifth or sixth in a game, you score 0 point.
- After the last round, a final match will oppose best players.
To register, post here using that template:
- Player 1 name.Player 1 code (example: Tenshi.711)
0
@SouLCarveRR: GoNo need to be so condescendant.
"Your telling your trigger to run with out checking conditions.... Why?"
Because conditions have been already checked.
"I bet if you use a local variable for the random integer and set it = 1 for an initial value I bet you dont have this problem. Your Global Region Variables there may also be an issue if they are not initialized before running this trigger. "
You can also bet I already tried local/global and change default values. And of course it's not that at all, you can see value is set on each beginning of Obliterate trigger.
And you can see too I was not using region variable on screenshot. (TW_ZGreen and TW_ZRed are the regions names (for "TwoWorlds_ZoneGreen")
Even that was not working:
Of course the problem is OBVIOUSLY NOT the coding of the Obliterate trigger... Everything in the Obliterate trigger is correct and there is no reason to have a bug with that. I don't even understand why some people thought that.
But like it would be really surprising the editor got a damn bug like that, I search with regions (thought a ID error) and finally found... enjoy:
The unit is created just on top of a teleport, so the unit is teleported because she "enters" the region while being created... :D
And if it's only occur during first trigger execution, it's because players got an interdiction to have units teleported. This interdiction lasts 10 seconds only for players 1 to 8... so like player 0 is stuck with this interdiction, everything was working fine after the first occurrence...
xD
But the bright side of this: I would never found it if I'd not posted here, and I keep the $10,000 :P
0
@HellGateSc2: Go You can download it in the maps section.
Edit : http://www.sc2mapster.com/maps/bounty-hunters/files/
Ok guys this is ridiculous. I finally found a way to fix it, but just take a look to that:
If the trigger is on his first execution, I ask to create the unit on the WRONG region.
If the trigger is not on his first execution, I ask to create the unit on the good region.
And it's WORK... YES! I have to ask a unit creation on another region to have my unit created in the right place!
Seriously WTF? What's wrong with the editor? It's just a nonsense. It shouldn't be possible.
Anyways, I keep my $10,000 ;) But if you got an explanation to that editor bug, feel free to post.
0
"One right after setting the variable ObliterateZone to the random value, then: right after you created your purifier(s). I could imagine that the game needs longer to load and create the unit the first time since all values have to be loaded into memory. "
Agree in theory, but have you ever seen a map in your life (something like Dota or Golem Wars) creating the unit in the bad region for that purpose? :p
I thought like you some weeks ago so I already tried to create the unit with a separate trigger after beginning of the map, and guess what? Don't work :p
True I've not tried to set the two regions in a array, let's see what's the editor behavior with that. :)
I'm confiant with that. That's how every randoms work in my map, dunno why I didn't made that in the first place.
Edit : Hahaha, don't work xD (it's not funny at all in fact :/)
I also replaced the "last created unit" by a var and put/remove the Wait 0 second.
0
@nevjmac: Go
"my next question. why do you have 4 seperate "if then else" when this could be put into one with half the code, see a summary below:"
Because I said I had it in the first place but didn't worked (like switch or else-if). I tried every solutions, so the stupidest (4 if) was the last.
"why are you using a neutral player rather than a computer player? try changing from player 0 and add a computer player in?"
Same problem.
If I use player 0 it's because I don't have to add a computer player in the lobby (or maybe it changed since WC3). But anyways, player 0 is a computer player ;)
"and what is calling this trigger? how is this trigger activated?"
The trigger is called here:
(just the part of the trigger calling Obliterate)
"another thing I just noticed yuo make variables for your timer but you still refer to it as last created timer >.< why not use the variables you created, this is the same thing for the last created unit lol"
Because I need to stop the Obliterate (so timer) when the map ends (when someone achieves the objective) and destroy the timer window.
I also need to reset everything when I start the auto-remake system.
Np for questions :)
0
@nevjmac: Go "Its not the point of of there being no other last created unit. its bad coding and practice to keep doing it, you should be storing the last created unit as a variable. It is your choice whether you do this. but it is generally frowned upon among other programmers."
Hum... maybe but there is no point between the bug and "last created unit".
And if I want to quibble: why creating a new variable and additionnal code lines if there is a function which prevent me to do that? :p (unless if "last created unit" = massive amount of code in script)
"is that not what the problem is? that its happening in the wrong place?"
The unit is created in the wrong place, but damage are dealt in the good place.
"can you post a screenshot of the other trigger that obliteratezone variable is in."
Sure. The other trigger:
But the state is changed to "true" after unit creation...
(edit: btw, I already tried to create unit in TW_EntireX instead of TW_ZX, don't work either)
0
@nevjmac: Go
Like I said :
Unit - Create 1 Purifier for player 0 at (Center of TW_ZRed) facing 270.0 degrees (No Options)
Unit - Move (Last created unit) instantly to (Center of TW_ZRed) (No Blend)
Unit - Hide (Last created unit)
Unit - Order (Last created unit) to (Purifier - Planet Cracker) (Replace Existing Orders)
I use "last created unit" directly. The Wait is before the Remove, and the Remove works well ;)
"whos to say another unit has been created and the one your wanting to remove is no longer the last created unit."
Because there is no other "Create unit" in the trigger. No matter if another unit is created is another trigger during this 3 seconds, because the "Last created unit" don't care about that ;)
It's just checking units created by the trigger itself.
"is obliteratezone a variable of type interger? where else does this variable get used/changed. because you have so many waits in your trigger. the variable could be changed before the 2nd half of your trigger."
Yes it's an integer, only changed here "Variable - Set ObliterateZone = (Random integer between 1 and 2)" (in that trigger).
It's used in another trigger (turned on by the "ObliterateDamage = true") which is work well.
And like I said earlier, the variable is correct when I display it before creating the unit :)
Anyways, if the variable changed before the 2nd half of the trigger, the damage would be dealt in the wrong place and not the right one.
0
@WallArcher: Go In the script, everything is fine. And if something was wrong, I presume the trigger would be broken all the time, not only on the first execution.
Indeed there is no other timers. But fortunately that wouldn't bet a problem anyway, because "last created" refer to the "last created in the trigger" and don't care about other things created in other triggers. ;)
@RileyStarcraft: Go Mmmh... I don't really understand.
I use "last created unit" after calling Wait, but I create the unit after calling Wait too, just before using "last created unit".
If you refer to the "Remove (last created unit) from the game", there is no bug with that action. The unit is correctly removed, because "last created unit" only check the last created unit by the trigger itself.
(I don't understand that sentence at all: "but that's a HUGE no-no as it is likely to lead to race conditions when a unit is created while the trigger is waiting." ^-^ (not english ftw))
0
@WallArcher: Go Unfortunately, I've got that bug for weeks and close/reopened editor dozens of times. :/
You had the same problem occuring on the first trigger execution then working properly too?
0
@happy04: Go I forgot to tell: I move the unit instantly to the same region as a "security", because I have the same bug without it (on the first place, the move action was not here).
But with or without, not working.
But even if it was that, that wouldn't explain why the unit is created on the opposite region ;)
0
The trigger:
The bug:
On the first trigger execution, the unit is always created on the OTHER region. I mean : If ObliterateZone == 1, it's created it TW_ZGreen (instead of ZRed) and if ==2, it's created on TW_ZRed (instead of ZGreen)
But it ONLY happens on the first execution and works very well on next occurrences.
I check 3 times the ObliterateZone :
To display a message, to prevent which zone will be obliterated (Red or Green). Message is always good even on first execution.
To create the invisible purifier in the correct zone. Unit is created on the wrong place during first trigger execution.
To deal damage to all units in the correct zone (another trigger). Damage are dealt on the good zone, even during first execution.
I tried to replace the 2 "if" by :
"If ==1
then TW_ZRed
else TW_ZGreen"
Don't work.
"Switch depending on ObliterateZone
if (1) then TW_ZRed
if (2) then TW_ZGeen"
Don't work.
"If then else-if
else-if == 1 then TW_ZRed
else-if == 2 then TW_ZGreen"
Don't work.
...
If I display the current value of ObliterateZone before the unit spawning, the value is correct, but the unit is created on the wrong place. WTFFFFFFF.
0
And don't forget the splash screen "Play Bounty Hunters now!" each time someone comes on SC2mapster :p
0
Heya,
I've seen lot of maps having a team called "Watchers" and people in there gettin tagged with "Spectators".
I tried to reproduce that on my map. It simply don't work. I have 6 teams, I want a 7th one as the spectators one.
If I use "(none)" as race for the spectator player in player properties, nothing happens.
If I define that player as "Watcher" in game variants, all teams are fucked up in Lobby and i've got 9 slots in the team 1, even if I place it in a sperate 7th team. No Watchers or Spectators yet.
If I define that player as "Spectator" in game variants, nothing happen. The team is still "Team 7" and the tag is not here.
No matter if I mix this 3 things, nothing happen.
So how to make that "Watcher" team in addition to my 6-oneplayer-teams ?
0
@Seditiar: Go Yes it is. =)
0
Of course I sign for this :p
Maybe put this thread on homepage to make it popular and see if people are really interested?
0
Tournament is now over, I hope all players had fun and enjoyed it.
Rules and Brackets
If you finish 1st in a match, you score 3 points.
If you finish 2nd in a match, you score 2 points.
If you finish 3rd in a match, you score 1 point.
If you finish 4th, 5th or 6th in a match, you score 0 point.
At the end of round 5, best players will make an additional final round.
Rankings
1. Rommsteinz (17 points)
2. Seditiar (14 points)
3. ikky (13 points)
4. Wolrek (12 points)
5. Inuira (10 points)
6. TiakaniZ (8 points)
7. Hadron (7 points)
8. Latill & Trubadidudei (6 points ex-aequo)
9. BuuGhost (5 points)
10. Zumomaki (2 points)
11. Eternal (0 points)
Finale results
1st. Rommsteinz
2nd. Inuira, ikky, Wolrek (ex-aequo)
3rd. Seditiar
4th. TiakaniZ
ROUND 1
Match 1
1 - ikky.962
2 - Eternal.183
3 - BuuGhost 316
4 - srsRZRdlovan.670
5 - TiakaniZ.107
6 - Yrael.199
Match 2
7 - Seditiar.811
8 - Trubadidudei.761
9 - Meldterren.709
10 - Theolin.774
11 - derpistole.802
12 - Zumomaki.306
Match 3
13 - Atlas.732
14 - Inuira.545
15 - Wolrek.517
16 - Rommsteinz.987
17 - Latill.270
18 - Hadron.191
ROUND 2
Match 1
1 - ikky.962
2 - Eternal.183
7 - Seditiar.811
8 - Trubadidudei.761
13 - Atlas.732
14 - Inuira.545
Match 2
3 - BuuGhost 316
4 - srsRZRdlovan.670
9 - Meldterren.709
10 - Theolin.774
15 - Wolrek.517
16 - Rommsteinz.987
Match 3
5 - TiakaniZ.107
6 - Yrael.199
11 - derpistole.802
12 - Zumomaki.306
17 - Latill.270
18 - Hadron.191
ROUND 3
Match 1
1 - ikky.962
3 - BuuGhost 316
6 - Yrael.199
12 - Zumomaki.306
15 - Wolrek.517
18 - Hadron.191
Match 2
2 - Eternal.183
4 - srsRZRdlovan.670
7 - Seditiar.811
11 - derpistole.802
14 - Inuira.545
17 - Latill.270
Match 3
5 - TiakaniZ.107
8 - Trubadidudei.761
9 - Meldterren.709
10 - Theolin.774
13 - Atlas.732
16 - Rommsteinz.987
ROUND 4
Match 1
1 - ikky.962
5 - TiakaniZ.107
7 - Seditiar.811
11 - derpistole.802
13 - Atlas.732
17 - Latill.270
Match 2
2 - Eternal.183
4 - srsRZRdlovan.670
8 - Trubadidudei.761
10 - Theolin.774
14 - Inuira.545
16 - Rommsteinz.987
Match 3
3 - BuuGhost 316
6 - Yrael.199
9 - Meldterren.709
12 - Zumomaki.306
15 - Wolrek.517
18 - Hadron.191
ROUND 5
Match 1
1 - ikky.962
2 - Eternal.183
3 - BuuGhost 316
7 - Seditiar.811
8 - Trubadidudei.761
9 - Meldterren.709
Match 2
10 - Theolin.774
11 - derpistole.802
12 - Zumomaki.306
13 - Atlas.732
14 - Inuira.545
15 - Wolrek.517
Match 3
4 - srsRZRdlovan.670
5 - TiakaniZ.107
6 - Yrael.199
16 - Rommsteinz.987
17 - Latill.270
18 - Hadron.191
Registered Players
1 ikky.962
2 Eternal.183
3 BuuGhost 316
4 srsRZRdlovan.670
5 TiakaniZ.107
6 Yrael.199
7 Seditiar.811
8 Trubadidudei.761
9 Meldterren.709
10 Theolin.774
11 derpistole.802
12 Zumomaki.306
13 Atlas.732
14 Inuira.545
15 Wolrek.517
16 Rommsteinz.987
17 Latill.270
18 Hadron.191
Map overview:
http://www.sc2mapster.com/maps/bounty-hunters/
Entry:
- Available on EU servers
- Have to be online on Saturday, October the 16th at 2:00 PM London Time (so 3:00 PM Paris Time).
Rules:
- Mode: Sudden Death. Don't vote anything else.
- Good manners required.
- If one of players is not logged in time, he don't play the round.
- If you finish first in a game, you score 3 points.
- If you finish second in a game, you score 2 points.
- If you finish third in a game, you score 1 point.
- If you finish fourth, fifth or sixth in a game, you score 0 point.
- After the last round, a final match will oppose best players.
To register, post here using that template:
- Player 1 name.Player 1 code (example: Tenshi.711)