[Log in / Register]
| News | Chat | Pastebin | Donations | Tutorials | Rules | Forums |
| Maps | Skins | Icons | Models | Spells | Tools | Jass | Packs | Hosted Projects | Starcraft II Modding | Starcraft II Resources | Galaxy Wiki |
(Keeps Hive Alive)
Go Back   The Hive Workshop > Warcraft III Modding > World Editor Help Zone


World Editor Help Zone Ask general questions about World Editor features and use in this forum. If you need help fixing a trigger, please post it in Triggers & Scripts. Please review the forum rules before posting.

Closed Thread
 
Thread Tools
Old 08-12-2012, 09:53 PM   #1 (permalink)
Registered User The_blood
User
 
The_blood's Avatar
 
Join Date: May 2012
Posts: 853
The_blood is on a distinguished road (79)The_blood is on a distinguished road (79)
Special Event

hello, can someone tell me why this trigger doesn't works in multiplayer? What did I do wrong? when playing single player, this works correctly

Special Event 1 Timer Expires
Events
Time - SpecialEvent_Timer[1] expires
Conditions
Actions
Countdown Timer - Hide (Last created timer window)
Countdown Timer - Destroy SpecialEvent_TimerWindow
Set Unit_Group = (Units in (Playable map area))
Unit Group - Pick every unit in Unit_Group and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
((Owner of (Picked unit)) Equal to Player 1 (Red)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 2 (Blue)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 3 (Teal)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 4 (Purple)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 5 (Yellow)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 6 (Orange)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 7 (Green)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 8 (Pink)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
Then - Actions
Game - Display to (Player group((Owner of (Picked unit)))) the text: Special Event!
Unit - Pause (Picked unit)
Else - Actions
Wait 3.00 seconds
Unit Group - Pick every unit in Unit_Group and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Picked unit)) Equal to Player 1 (Red)) and ((((Picked unit) is paused) Equal to True) and (((Picked unit) is A Hero) Equal to True))
Then - Actions
Visibility - Create an initially Enabled visibility modifier for (Owner of (Picked unit)) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for (Owner of (Picked unit)) to (Center of Player 1 Special Event <gen>) over 0.00 seconds
Unit - Move (Picked unit) instantly to (Center of Player 1 Special Event <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Picked unit)) Equal to Player 2 (Blue)) and ((((Picked unit) is paused) Equal to True) and (((Picked unit) is A Hero) Equal to True))
Then - Actions
Visibility - Create an initially Enabled visibility modifier for (Owner of (Picked unit)) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for (Owner of (Picked unit)) to (Center of Player 2 Special Event <gen>) over 0.00 seconds
Unit - Move (Picked unit) instantly to (Center of Player 2 Special Event <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Picked unit)) Equal to Player 3 (Teal)) and ((((Picked unit) is paused) Equal to True) and (((Picked unit) is A Hero) Equal to True))
Then - Actions
Visibility - Create an initially Enabled visibility modifier for (Owner of (Picked unit)) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for (Owner of (Picked unit)) to (Center of Player 3 Special Event <gen>) over 0.00 seconds
Unit - Move (Picked unit) instantly to (Center of Player 3 Special Event <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Picked unit)) Equal to Player 4 (Purple)) and ((((Picked unit) is paused) Equal to True) and (((Picked unit) is A Hero) Equal to True))
Then - Actions
Visibility - Create an initially Enabled visibility modifier for (Owner of (Picked unit)) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for (Owner of (Picked unit)) to (Center of Player 4 Special Event <gen>) over 0.00 seconds
Unit - Move (Picked unit) instantly to (Center of Player 4 Special Event <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Picked unit)) Equal to Player 5 (Yellow)) and ((((Picked unit) is paused) Equal to True) and (((Picked unit) is A Hero) Equal to True))
Then - Actions
Visibility - Create an initially Enabled visibility modifier for (Owner of (Picked unit)) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for (Owner of (Picked unit)) to (Center of Player 5 Special Event <gen>) over 0.00 seconds
Unit - Move (Picked unit) instantly to (Center of Player 5 Special Event <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Picked unit)) Equal to Player 6 (Orange)) and ((((Picked unit) is paused) Equal to True) and (((Picked unit) is A Hero) Equal to True))
Then - Actions
Visibility - Create an initially Enabled visibility modifier for (Owner of (Picked unit)) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for (Owner of (Picked unit)) to (Center of Player 6 Special Event <gen>) over 0.00 seconds
Unit - Move (Picked unit) instantly to (Center of Player 6 Special Event <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Picked unit)) Equal to Player 7 (Green)) and ((((Picked unit) is paused) Equal to True) and (((Picked unit) is A Hero) Equal to True))
Then - Actions
Visibility - Create an initially Enabled visibility modifier for (Owner of (Picked unit)) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for (Owner of (Picked unit)) to (Center of Player 7 Special Event <gen>) over 0.00 seconds
Unit - Move (Picked unit) instantly to (Center of Player 7 Special Event <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Picked unit)) Equal to Player 8 (Pink)) and ((((Picked unit) is paused) Equal to True) and (((Picked unit) is A Hero) Equal to True))
Then - Actions
Visibility - Create an initially Enabled visibility modifier for (Owner of (Picked unit)) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for (Owner of (Picked unit)) to (Center of Player 8 Special Event <gen>) over 0.00 seconds
Unit - Move (Picked unit) instantly to (Center of Player 8 Special Event <gen>)
Else - Actions
Set Arrrggghhhh = Aarggghhhh
Unit - Create 1 Arrrggghhhh for Player 12 (Brown) at (Center of Special Event <gen>) facing 180.00 degrees
Set Arrrggghhhh_unit = (Last created unit)
Hero - Modify Strength of Arrrggghhhh_unit: Add 100000
Hero - Modify Agility of Arrrggghhhh_unit: Add 100000
Hero - Modify Intelligence of Arrrggghhhh_unit: Add 100000
Unit - Pause Arrrggghhhh_unit
Wait 3.00 seconds
Set TempGroup = (Units in Paused Creeps <gen>)
Unit Group - Pick every unit in TempGroup and do (Actions)
Loop - Actions
Unit - Pause (Picked unit)
Wait 3.00 seconds
Unit Group - Pick every unit in Unit_Group and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
((Owner of (Picked unit)) Equal to Player 1 (Red)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 2 (Blue)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 3 (Teal)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 4 (Purple)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 5 (Yellow)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 6 (Orange)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 7 (Green)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 8 (Pink)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
Then - Actions
Game - Display to (Player group((Owner of (Picked unit)))) the text: Try to survive the ...
Else - Actions
Wait 3.00 seconds
Unit Group - Pick every unit in (Units in Special Event <gen>) and do (Actions)
Loop - Actions
Unit - Unpause (Picked unit)
Countdown Timer - Start SpecialEvent_Cooldown[1] as a One-shot timer that will expire in 120.00 seconds
Countdown Timer - Create a timer window for (Last started timer) with title Cooldown:
Set SpecialEvent_CooldownWindow = (Last created timer window)
Countdown Timer - Show SpecialEvent_CooldownWindow for (Owner of (Entering unit))
Trigger - Turn on Special Event 1 Dying hero <gen>
The_blood is offline  
Old 08-12-2012, 10:52 PM   #2 (permalink)
Registered User Spartipilo
User
 
Join Date: Jul 2011
Posts: 2,526
Spartipilo is just really nice (294)Spartipilo is just really nice (294)Spartipilo is just really nice (294)Spartipilo is just really nice (294)Spartipilo is just really nice (294)
There are SOOOOOOOOOO many reasons for this not to work :')

If you use in any other trigger any of the variables you use here (Like the Unit_Group) the trigger will malfunction, since you're replacing the variable value with something else. So, those "Wait" actions may screw everything up.

You have MANY leaks. You have MANY things to improve. You use SO MANY repetitive callings that my eyes bleed.

I tried to do my best improving the trigger, but got tired before ending. Anyway, you may notice how the trigger size is greatly reduced, and how variables are used to avoid repetitive callings (With "Repetitive callings i mean using (Picked Unit) a hundred times. You have to know that parentheses are evil and you have to reduce them as much as possible).

Trigger

Special Event 1 Timer Expires
Events
Time - SpecialEvent_Timer[1] expires
Conditions
Actions
Set Region[1] = Player 1 Special Event <gen>
Set Region[2] = Player 2 Special Event <gen>
Set Region[3] = Player 3 Special Event <gen>
Set Region[4] = Player 4 Special Event <gen>
Set Region[5] = Player 5 Special Event <gen>
Set Region[6] = Player 6 Special Event <gen>
Set Region[7] = Player 7 Special Event <gen>
Set Region[8] = Player 8 Special Event <gen>
Countdown Timer - Hide (Last created timer window)
Countdown Timer - Destroy SpecialEvent_TimerWindow
Set Unit_Group = (Units in (Playable map area))
Unit Group - Pick every unit in Unit_Group and do (Actions)
Loop - Actions
Set u = (Picked Unit)
Set p = (Owner of u)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Player number of p) is less than or equal to 8)
((u is A Hero) equal to True))
((u belongs to an Ally of Player 11 (Dark Green) Equal to True)
Then - Actions
Set f = (Player group(p))
Game - Display to f the text: Special Event!
Custom script: call DestroyForce(udg_f)
Unit - Pause u
Else - Actions
Unit Group - Remove u from Unit_Group
Wait 3.00 seconds
For Each Integer A from 1 to 8 do (Actions)
Loop - Actions
Visibility - Create an initially Enabled visibility modifier for Player(Integer A) emitting Visibility across Special Event <gen>
Visibility - Enable (Last created visibility modifier)
Camera - Pan camera for Player(Integer A) to Region[(Integer A)] over 0.00 seconds
Unit Group - Pick every unit in Unit_Group and do (Actions)
Loop - Actions
Set u = (Picked Unit)
Set Point = (Center of Region[(Player number of (Owner of u))]
Unit - Move u instantly to Point
Custom script: call RemoveLocation(udg_Point)
Else - Actions
Set Arrrggghhhh = Aarggghhhh
Unit - Create 1 Arrrggghhhh for Player 12 (Brown) at (Center of Special Event <gen>) facing 180.00 degrees
Set Arrrggghhhh_unit = (Last created unit)
Hero - Modify Strength of Arrrggghhhh_unit: Add 100000
Hero - Modify Agility of Arrrggghhhh_unit: Add 100000
Hero - Modify Intelligence of Arrrggghhhh_unit: Add 100000
Unit - Pause Arrrggghhhh_unit
Wait 3.00 seconds
Set TempGroup = (Units in Paused Creeps <gen>)
Unit Group - Pick every unit in TempGroup and do (Actions)
Loop - Actions
Unit - Pause (Picked unit)
Wait 3.00 seconds
Unit Group - Pick every unit in Unit_Group and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
((Owner of (Picked unit)) Equal to Player 1 (Red)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 2 (Blue)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 3 (Teal)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 4 (Purple)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 5 (Yellow)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 6 (Orange)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 7 (Green)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
((Owner of (Picked unit)) Equal to Player 8 (Pink)) and ((((Picked unit) is A Hero) Equal to True) and (((Picked unit) belongs to an ally of Player 11 (Dark Green)) Equal to True))
Then - Actions
Game - Display to (Player group((Owner of (Picked unit)))) the text: Try to survive the ...
Else - Actions
Wait 3.00 seconds
Unit Group - Pick every unit in (Units in Special Event <gen>) and do (Actions)
Loop - Actions
Unit - Unpause (Picked unit)
Countdown Timer - Start SpecialEvent_Cooldown[1] as a One-shot timer that will expire in 120.00 seconds
Countdown Timer - Create a timer window for (Last started timer) with title Cooldown:
Set SpecialEvent_CooldownWindow = (Last created timer window)
Countdown Timer - Show SpecialEvent_CooldownWindow for (Owner of (Entering unit))
Trigger - Turn on Special Event 1 Dying hero <gen>


It's better if you tell us what do you exactly want to achieve so we can help you.
Spartipilo is offline  
Old 08-13-2012, 11:21 AM   #3 (permalink)
Registered User The_blood
User
 
The_blood's Avatar
 
Join Date: May 2012
Posts: 853
The_blood is on a distinguished road (79)The_blood is on a distinguished road (79)
so, ''your'' trigger will work in multiplayer now and I musn't use any of those variables somewhere else?
The_blood is offline  
Old 08-13-2012, 04:59 PM   #4 (permalink)
Registered User Spartipilo
User
 
Join Date: Jul 2011
Posts: 2,526
Spartipilo is just really nice (294)Spartipilo is just really nice (294)Spartipilo is just really nice (294)Spartipilo is just really nice (294)Spartipilo is just really nice (294)
Your trigger has flaws everywhere. Let me (us) know what you want to achieve with this and we'll show you a better way to do it, and you can learn in the meanwhile.
Spartipilo is offline  
Closed Thread

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


All times are GMT. The time now is 07:24 AM.





Powered by vBulletin
Copyright 2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.5.1 PL2
Copyright © Ralle