Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: I need your help with some triggers.
I need your help with some triggers.
Aug 25 2010, 4:37 pm
By: Senekis  

Aug 25 2010, 4:37 pm Senekis Post #1



Hi. I'm building a UMS scenario. I'm using Starforge.
I was testing the first level and everything seems to be fine except for two triggers:

Quote from name:1
Bring(CurrentPlayer, AtLeast, 1, Men, Left Spawn human);

DisplayText("Endless Stairs:
* Destroy the Warp Gate.
* Your team gets new civs each 20 kills.", 30);
Comment("left mission display");
SetMissionObjectives("Endless Stairs:
* Destroy the Warp Gate.
* Your team gets new civs each 20 kills.");

The text isn't displayed at all.

Quote from name:2
Command(CurrentPlayer, Exactly, 0, Comsat Station);

KillUnitAt(All, AnyUnit, Anywhere, CurrentPlayer);
PreserveTrigger();
Comment("kill ghost civs");

Civs stay there.


Can you spot the error in the triggers?
They aren't vital for my scenario, but I'm kinda perfectionist and wan every single trigger to work properly. x_x

If you have any questions, need screens or any info, just tell me.

Thanks in advance.



None.

Aug 25 2010, 5:41 pm NudeRaider Post #2

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

The triggers seem fine. At least with the little info you've given us.

But you can't make display text show multiple lines. You need a separate action for every line. "Endless Stairs:" should still be be displayed. If not make sure if the trigger runs at all. Create a unit or whatever. If not, check the condition. You gave too little information to judge if it's correct.

When all units except civilians are removed by the 2nd trigger then this can only mean one thing: The civs didn't belong to Current Player.
I think this has to do with the fact that comsats go to neutral when the main building they were attached to gets removed. Or the player is defeated before the trigger runs, because then the civs (along with all other units) go to P12.
If no units at all get removed then it's a problem with conditions.

Finally it might be a problem with trigger owners. You didn't specify those. Only P1-8, All Players and Forces can own triggers. All other options like "Current Player" or "Player 12" are invalid and will be ignored.

Post has been edited 2 time(s), last time on Aug 26 2010, 7:40 pm by NudeRaider. Reason: what was I thinking? O.o




Aug 25 2010, 7:38 pm rockz Post #3

ᴄʜᴇᴇsᴇ ɪᴛ!

I'm pretty sure you can display more than one line...

Here's a hint while debugging:
create a unit so it either is unplaceable (giving you the error) or just in the middle of the map, so you can always see it. Create it for "current player" so you know who is running the trigger.

If the units aren't being created, and you don't have any transmissions or waits in the trigger, then the trigger is not being run, because the conditions are NOT MET.

Finally, I recommend you use SCMDraft. It's much better at everything except creating triggers (note this is creating, not editing and modifying) and placing extended units.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Aug 25 2010, 9:04 pm Senekis Post #4



I managed to fix the problem with the text. It seems that for some weird reason it won't show the text if I set the display time to 10 or more seconds.

Regarding the civs, I just deleted the trigger. I realized it was useless, as it's purpose was to kill the civs of the players who leave the game, but this scenario requires full house, so... >_>

Thanks for the help.
I will download SCMDraft and try it later. I hope it's compatible with my maps.



None.

Aug 25 2010, 9:13 pm NudeRaider Post #5

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from Senekis
I managed to fix the problem with the text. It seems that for some weird reason it won't show the text if I set the display time to 10 or more seconds.
So you're using transmission, not display text?
Because transmissions include not only the display text but also a wait. And waits cause wait blocks - the longer the wait the worse the effect - when a player is running 2 or more waits the same time.
You should replace any waits with death counters and use wait(0) in transmissions.




Aug 25 2010, 10:10 pm Senekis Post #6



Quote from NudeRaider
Quote from Senekis
I managed to fix the problem with the text. It seems that for some weird reason it won't show the text if I set the display time to 10 or more seconds.
So you're using transmission, not display text?
Because transmissions include not only the display text but also a wait. And waits cause wait blocks - the longer the wait the worse the effect - when a player is running 2 or more waits the same time.
You should replace any waits with death counters and use wait(0) in transmissions.

Nope. I'm using Display Text.

Regarding your last comment, how does that work?
I'll give you an example of a trigger that I'm using with a Wait command. Could you tell me how to use the death counter instead of the wait command?

Thanks.

Quote from name:
Kills(CurrentPlayer, Exactly, 1, Warp Gate);

DisplayText("Good job.", 5);
KillUnitAt(All, AnyUnit, Left, All Players);
CreateUnit(1, Dark Templar, Victory, P8);
Wait(5000);
DisplayText("Select a level", 5);
GiveUnits(1, Civ, P8, Select level, P1);
CenterView(Select level);
Comment("left victory");




None.

Aug 25 2010, 11:08 pm DavidJCobb Post #7



Quote from Senekis
Quote from NudeRaider
Quote from Senekis
I managed to fix the problem with the text. It seems that for some weird reason it won't show the text if I set the display time to 10 or more seconds.
So you're using transmission, not display text?
Because transmissions include not only the display text but also a wait. And waits cause wait blocks - the longer the wait the worse the effect - when a player is running 2 or more waits the same time.
You should replace any waits with death counters and use wait(0) in transmissions.

Nope. I'm using Display Text.

Regarding your last comment, how does that work?
I'll give you an example of a trigger that I'm using with a Wait command. Could you tell me how to use the death counter instead of the wait command?

Thanks.

Quote from name:
Kills(CurrentPlayer, Exactly, 1, Warp Gate);

DisplayText("Good job.", 5);
KillUnitAt(All, AnyUnit, Left, All Players);
CreateUnit(1, Dark Templar, Victory, P8);
Wait(5000);
DisplayText("Select a level", 5);
GiveUnits(1, Civ, P8, Select level, P1);
CenterView(Select level);
Comment("left victory");


Kills(CurrentPlayer, Exactly, 1, Warp Gate);

DisplayText("Good job.", 5);
KillUnitAt(All, AnyUnit, Left, All Players);
CreateUnit(1, Dark Templar, Victory, P8);
Set deaths of UNIT THAT DOESN'T APPEAR IN THE MAP EVER to 1.


Deaths of UNIT THAT DOESN'T APPEAR IN THE MAP EVER > 1

Add 1 to UNIT THAT DOESN'T APPEAR IN THE MAP EVER.
Preserve trigger.


Deaths of UNIT THAT DOESN'T APPEAR IN THE MAP EVER > 59

DisplayText("Select a level", 5);
GiveUnits(1, Civ, P8, Select level, P1);
CenterView(Select level);
Comment("left victory");
Set deaths of UNIT THAT DOESN'T APPEAR IN THE MAP EVER to 0


IIRC. This assumes you're using Hyper Triggers, meaning that triggers are run 11.8 times per second (every other frame of animation) on Fastest. And yes, using death counters does mean that the length of the delay is affected by game speed; Waits don't have that problem but they have the dreaded wait block problem.



None.

Aug 26 2010, 12:39 am rockz Post #8

ᴄʜᴇᴇsᴇ ɪᴛ!

84 ms / trigger is more accurate for hyper triggers (comes out to 11.9 triggers/second). In reality, you'll have to test it yourself, or console yourself to using game time rather than real time. (game time is 125 ms / trigger, aka every other frame).



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Aug 26 2010, 2:31 pm Senekis Post #9



Thank you very much.

I'm not using hypertriggers. I've had bad experiences with them before and stopped used them.
I'll add a couple of hypertriggers and test. If they don't work or mess with my map, I guess I can simply reduce the required number of deaths in the counter to get the same effect.



None.

Aug 26 2010, 2:48 pm Dem0n Post #10

ᕕ( ᐛ )ᕗ

Bad experiences with hyper triggers?! Those things are the greatest things to ever be discovered in sc mapping! :hurr:




Aug 26 2010, 3:59 pm rockz Post #11

ᴄʜᴇᴇsᴇ ɪᴛ!

They don't work with waits, and they cause major problems if you add them after you've made the map.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Aug 26 2010, 4:48 pm NudeRaider Post #12

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from rockz
and they cause major problems if you add them after you've made the map.
What do you mean? They just speed things up. As long as he accounts for that by adjusting timers he should be fine.




Aug 26 2010, 5:55 pm Azrael Post #13



Quote from NudeRaider
But you can't make display text show multiple lines.
Yes you can. It works that way by default, even in StarEdit.

Post has been edited 2 time(s), last time on Oct 12 2010, 2:20 am by DevliN. Reason: Mineral abuse.




Aug 26 2010, 6:07 pm Senekis Post #14



Yeah, bad experiences.

I'm kinda noob when it comes to map making and when I've tried using hypertriggers, I can't seem to build th maps the way I want to. In fact, I drop most of my maps because something goes wrong and then I find myself unable to fix it. I've only made two "good" UMS maps so far and I'm curretly working on the third. I hope it works. (:



None.

Aug 26 2010, 7:41 pm NudeRaider Post #15

We can't explain the universe, just describe it; and we don't know whether our theories are true, we just know they're not wrong. >Harald Lesch

Quote from name:Azrael.Wrath
Quote from NudeRaider
But you can't make display text show multiple lines.
Yes you can. It works that way by default, even in StarEdit.
You're right of course... I don't know what I was thinking...




Aug 27 2010, 3:20 pm rockz Post #16

ᴄʜᴇᴇsᴇ ɪᴛ!

Quote from NudeRaider
Quote from rockz
and they cause major problems if you add them after you've made the map.
What do you mean? They just speed things up. As long as he accounts for that by adjusting timers he should be fine.
People count on the 2 second delay often times (say you have a counter counting to 100). It's often unnecessary to introduce any sort of delay on it. However, if you keep doing that in all your triggers, then decide to throw in hypers, you'll discover that it's much harder to fix every trigger which is firing too fast. Obviously, it's not an ideal reason to not use hypers, but some maps have far too many triggers which will run constantly, like triggers with waits, order triggers, move triggers, create triggers, and timers. All of those need to be delayed, or else the map will lag/run too quickly. You should want to use hypers from the start.



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[09:18 pm]
Ultraviolet -- 🔪🐈
[12:34 pm]
NudeRaider -- curiosity kills the cat!
[06:18 am]
Sylph-Of-Space -- No complaints here, i'm just curious!
[2024-5-18. : 11:05 pm]
Ultraviolet -- :wob:
[2024-5-18. : 3:55 pm]
Zoan -- :wob:
[2024-5-18. : 10:34 am]
NudeRaider -- SEN doesn't rely on spammers initiate its sleep cycle. It hat fully automated rest and clean-up phases. Please understand that this is necessary for the smooth operation of the site. Thank you.
[2024-5-18. : 3:45 am]
Sylph-Of-Space -- Does the shoutbox get disabled when there's spammers?
[2024-5-17. : 6:47 am]
NudeRaider -- lil-Inferno
lil-Inferno shouted: nah
strong
[2024-5-17. : 5:41 am]
Ultraviolet -- 🤔 so inf is in you?
[2024-5-17. : 4:57 am]
O)FaRTy1billion[MM] -- my name is mud
Please log in to shout.


Members Online: l)ark_ssj9kevin, C(a)HeK