Staredit Network

Staredit Network -> UMS Assistance -> My triggers only work half the time
Report, edit, etc...Posted by LegitXeris on 2004-09-10 at 12:41:06
I am making a Hero Arena. There are 4 battle arenas. There are three levels of heros such as Civilian Pick A Lot, B Lot, and C Lot. In first level, there are 10 beacons and a hero beside it. Each player starts with 1 civilian at "Civilian Pick A Lot". If he/she moves 1 civilian to a certain beacon, that civilian will be removed, and the chosen hero will be created in battle arena 1. If the hero LvL 1 dies, a civilian will be created at "Civilian Pick A Lot." After 5 minutes, all heroes will be teleported to arena 2. 5 min later, to arena 3, then 4, then 1, 2, etc.. Player one's trigger always work, but the others doesn't work all the time. I traced the problem and found no error. For example, Player 3 did not teleport to arena 2 from arena 1, I checked player 3's trigger and it seems fine.

My triggers for moving units are as follows:
Player: 1-6

Condition: Always

Action:::: Set switch "arena 1"
Countdown Timer set at 300
____________________________________________________________________
Player: 1 (Also separate trigger for player 2,3,4,5,6)

Condition:::: Battle Arena 1 is set helpsmilie.gif
Battle Arena 2 is cleared
" " 3 " "
" " 4 " "
Countdown timer is exactly 0 helpsmilie.gif

Action:::: Move all men for current player at "Arena 1" to "Arena 2 Player 1" helpsmilie.gif
Center View for current player at "Arena 2 Player 1" helpsmilie.gif
Clear "Arena 1" helpsmilie.gif
Set "Arena 2" helpsmilie.gif
Set countdown timer to 300 helpsmilie.gif
Preserve Trigger helpsmilie.gif
____________________________________________________________________
Player:1-6

Condition:::: if current player suffers 1 death of zealot LvL2

Action:::: Create 1 civilian for current player at "Civilian Pick B Lot"
Modify death count for current player: subtract 1 for Zealot LvL 2
Center view for current player at "Civilian Pick B Lot"
Preserve Trigger
____________________________________________________________________
Player:1 (also a separate trigger for player 2, 3, 4, 5, 6)

Condition:::: Battle Arena 2 is Set
Current Player brings 1 civilian to "Spawn Tank LvL 3"

Action:::: Remove 1 civilian for current player at "Spawn Tank LvL 3"
Create 1 Tank LvL 3 for current player at "Arena 2 Player One"
Center view for current player at "Arena 2 Player One"
Preserve Trigger
____________________________________________________________________

All of these triggers work good except for "Moving all men from arena 1 to 2" and 2-3, 3-4, 4-1. Weird thing is, I tested each human player by myself in UMS and they teleport exactly where and when I designed it. But when there are 2 or more players, the triggers doesn't work sometimes.

Temporarily, I am manually moving all units from 1 arena to another. I have a master civilan at an island with 4 separate locations that triggers:

Player: all human players
Condition: Player 1 brings 1 civilian to "Move all units to Arena 2"
Action: Move all units for current player from arena 1 to arena 2
Move all " " " " " " 3 to arena 2
" " " " " " " " 4 to arena 2
Move Civilian for player 1 at "Move all units to arena 2" to "Master Civilian"
Preserve Trigger

Thank you for your patience. My map is done except for teleporting units from one arena to another. Please help me out, I have spent countless hours individualizing 50 triggers for player 1, 2, 3,4,5,6. (for the sole purpose of "Center view for player 1,2,3,4,5,6 at different areas")
Report, edit, etc...Posted by (U)Bolt_Head on 2004-09-10 at 13:17:23
Sorry for being lasy and not reading all your of your post but I already know what is wrong.

If you have a trigger that runs for multiple players you have to be extra carefull of the conditions and actions. Take this trigger for example.

Trigger
Description:
Example 1
Players:
¤ Force 1
Conditions:
¤ Switch 1 is set
Actions:
¤ Display Text
¤ Clear switch 1
¤ Center Screen


In this example only one player will run there trigger. This is because the action "clear switch 1" causes the conditions to be faulse for the next player. A easy way to avoid this is to put a wait before you cancil the conditions, or in this case clear the switch.

Trigger
Description:
Example 2
Players:
¤ Force 1
Conditions:
¤ Switch 1 is set
Actions:
¤ Display text
¤ wait 0
¤ clear switch 1
¤ center screen


Because of the effects of waits when the wait is reached the other players will have a opertunity to run there triggers before the first one continues the actions after the wait. To make it simpler (if you don't know if the action is interfering or not, put the wait as the first action of your trigger)

This should solve your problem unless you also made bad hyper triggers.
Report, edit, etc...Posted by Stereo on 2004-09-10 at 17:56:49
Yes, he has it clear the switch for the level.. but only move 1 person's units first.
Report, edit, etc...Posted by LegitXeris on 2004-09-11 at 03:14:44
Doesn't work..... well it helps a bit but triggers still work half the time. I am curerntly using

Players::: Player 1, separate for player 2, 3, 4,5,6
condition arena 1 is set
Action::: move all units for current player at "arena 1" to "arena 2 player 1"
Wait 0 millisec
clear arena 1
set arena 2
center view for current player at arena 2 player 1
preserve trigger
Next Page (1)