Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Odd Condition DIscrepancy
Odd Condition DIscrepancy
This topic is locked. You can no longer write replies here.
Jan 3 2009, 8:52 pm
By: Vrael  

Jan 3 2009, 8:52 pm Vrael Post #1



In the map that I'm making, I have come across an odd thing that I would like explained to me, if possible. During a battle (in my rpg) you go to an area, and fight an ultralisk. You get moved to a battle area "Location 128" which is enclosed and inescapable. Now you can either win, by killing the ultralisk, or lose. If you lost, the ultralisk is supposed to be moved to another location for holding so it remains at the same health until you come back and fight it again. It's possible that more than one player could be fighting this at one time, so if just 1 player loses I didn't want it to be moved back. All human players are in force 1, and here's my triggers, in order, with notes:

Trigger("Player 1"){
Conditions:
Deaths("Player 1", "Zeratul (Dark Templar)", Exactly, 1); <-----Detects death of player1's unit
Switch("Switch7", set); <-----Denotes P1 was in battle, no problems here
Deaths("Current Player", "Zerg Ultralisk", Exactly, 5); <-----Denotes which battle p1 is in
Bring("The Tenebrous", "Men", "Location 128", Exactly, 0); <-----Denotes no other human players are in the battle
Actions:
Set Deaths("Player 1", "Zerg Ultralisk", Set To, 0);
Move Location("Player 9", "Zerg Drone", "Location 82", "M");
Move Unit("Player 7", "Zerg Ultralisk", 1, "Location 128", "M");
Set Invincibility("Player 7", "Zerg Ultralisk", "M", enabled);
Remove Unit At Location("Player 12", "Terran Marine", 1, "Location 125");
Set Switch("Switch7", clear);
Preserve Trigger();
; Comment("Hero Loss");
}


Trigger("Player 1"){
Conditions:
Deaths("Player 1", "Zeratul (Dark Templar)", Exactly, 1);
Switch("Switch7", set);
Deaths("Current Player", "Zerg Ultralisk", Exactly, 5);

Actions:
Set Deaths("Player 1", "Zerg Ultralisk", Set To, 0);
Remove Unit At Location("Player 12", "Terran Marine", 1, "Location 125");
Set Switch("Switch7", clear);
Preserve Trigger();
; Comment("Hero Loss");
}


Now the first trigger is to move the ultralisk back when p1 is alone in the battle. The second trigger is to do everything necessary but move the ultralisk back, because there are other players in the battle. However, what I've actually found is that the second trigger will run and the first trigger will not, despite the fact that I have been testing this solo, so there aren't any other players in the game.

So what I would like to know, is: Does starcraft execute unit death registration/detection/whatever its called/ in some strange order?

Since P1's unit is dead and there aren't any other players in the game at the time of testing, that should mean that "Force 1 brings exactly 0 men to Location 128" is fulfilled. I know the other 3 conditions are fulfilled because the second trigger fires and i can see the results.

Note: I do not need a solution to make the first trigger run, already fixed that, I just want to know wtf is going on.



None.

Jan 3 2009, 11:40 pm Falkoner Post #2



Quote
So what I would like to know, is: Does starcraft execute unit death registration/detection/whatever its called/ in some strange order?

No, there must be some problem with your conditions, it looks to me like you are having problems with Bring updating, it takes a trigger cycle or two to update the bring, also, the following actions can immediately update it:
Kill Unit
Kill Unit at Location
Remove Unit
Remove Unit At Location
Move Location
Move Unit

This updating problem was discussed in this topic thoroughly if you want to look into this a bit more.



None.

Jan 4 2009, 6:32 am Vrael Post #3



I knew there was some odd Starcraft glitch going on. Thanks falkoner. Problem solved--> Lock please.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[06:28 am]
NudeRaider -- EUD actions, specifically. The conditions remained. Today we can even have actions again, but they're all virtualized/whitelisted (not sure on the actual technical implementation) so you can only use them for specific intended purposed, not arbitrary code injections.
[06:26 am]
NudeRaider -- I mean yes, maps - through EUDs - were theoretically able to do that as well, but that was patched quickly.
[06:25 am]
NudeRaider -- Symmetry
Symmetry shouted: Ohhh imagine a SC map that could delete itself
not the map, the editor
[02:28 am]
Symmetry -- I vaguely remember Voy doing some ACE back in the day, but I had no idea EUDs could do that kind of shit. I am very much catching up on the technology
[02:28 am]
Symmetry -- Ohhh imagine a SC map that could delete itself
[08:51 pm]
NudeRaider -- Symmetry
Symmetry shouted: NudeRaider Is EUD editor capable of writing shit onto the player's harddrive? That seems like it would be dangerous
yeah an editor that isn't allowed to write files sounds rather pointless, so I'd assume it can. Like most other programs too btw. and yes, obviously that's dangerous, but also kinda necessary. MS introduced that virtualization for exactly that reason.
[2026-7-15. : 4:10 am]
Ultraviolet -- I don't think so. I think they shut that shit down after 1.16, maybe even earlier
[2026-7-15. : 2:19 am]
Symmetry -- NudeRaider
NudeRaider shouted: Symmetry I can't tell if it's relevant. You provided literally no context so I was providing an equally generic answer.
Is EUD editor capable of writing shit onto the player's harddrive? That seems like it would be dangerous
[2026-7-14. : 11:43 pm]
Ultraviolet -- let's take each other's clothes off :teach:
[2026-7-14. : 11:03 pm]
Vrael -- :teach:
Please log in to shout.


Members Online: NudeRaider