• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • ✅ The POLL for Hive's Texturing Contest #33 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!

Parted map init vs 1 map init?

Status
Not open for further replies.
Level 18
Joined
Jun 2, 2009
Messages
1,193
Hello everyone. I have a map initialization trigger but it is huge and it causes 2 seconds lag when i click on it.

Question 1: Is there any downside effect of this

Question 2: Separating it into 2 or 3 triggers causes anything bad?

What is the most reliable way to do that?
 

Wrda

Spell Reviewer
Level 26
Joined
Nov 18, 2012
Messages
1,924
You can reorganize the main initialization trigger by grouping a chunk of actions inside a newly created trigger and then "run that trigger" on the init trigger.
Answer 1: in world editor no, just annoying to deal with. In game, not really since it's executed on loading screen (actions with waits obviously not).
Answer 2: No.
 
Level 41
Joined
Feb 27, 2007
Messages
5,210
IMO @Wrda is pretty wrong here.
Question 1: Is there any downside effect of this
Absolutely--it's possible to crash the Map Init event by exceeding the operations limit. If this happens, the rest of the Map Init thread that is needed by the game is never run which may result in things unexpectedly not being as anticipated from the editor. This is able to happen because all Map Init triggers occur as part of the same thread (sequentially after each other), so while any one trigger may not hit the OP limit, all of them together could easily do so.

You should never, ever use the Map Init event if you can avoid it. Instead simply do this:
  • Events
    • Time - Elapsed game-time is 0.10 seconds
    • -------- literally use any time here (even 0.00 or 0.01 if you really want to), I usually do 0.50 --------
Question 2: Separating it into 2 or 3 triggers causes anything bad?
No. This is functionally the same as having one massive trigger if you are using the Map Init event. If you are using Elapsed Game-Time like I suggest then you can make an order to things by choosing what time it executes. There is no downside to this.
 

Wrda

Spell Reviewer
Level 26
Joined
Nov 18, 2012
Messages
1,924
Absolutely--it's possible to crash the Map Init event by exceeding the operations limit. If this happens, the rest of the Map Init thread that is needed by the game is never run which may result in things unexpectedly not being as anticipated from the editor.
The operation limit has been increased to great extents, if I remember, it was even before patch 1.30. But yes, you can crash the thread, although it now requires a shit ton of operations, which is highly unlikely unless you're a crazy person hanging around with 100000 map initialization triggers scattered around,

This is able to happen because all Map Init triggers occur as part of the same thread (sequentially after each other), so while any one trigger may not hit the OP limit, all of them together could easily do so.
but who the fuck does that? People usually use
  • Trigger - Trigger Name <gen> (ignoring conditions)
to organize a bunch of actions.
But... you know what, yeah i've seen some people using map init in some triggers other than in a single one.

You should never, ever use the Map Init event if you can avoid it. Instead simply do this:
  • Events
    • Time - Elapsed game-time is 0.10 seconds
    • -------- literally use any time here (even 0.00 or 0.01 if you really want to), I usually do 0.50 --------
This part is the only part where you're wrong, you can have 1 map init trigger that runs several other triggers on it, and they can be very long as long as each of them doesn't surpass the oplimit, which is needless to say by this way practically impossible to. But why is that so? Because Trigger - run trigger name (checking conditions/ignoring conditions); ExecuteFunc, Pick Every Unit, waits, timers and a few other things make a new thread, thus reseting the operation limit.
Trigger operation limits?
Operation limit
Escaping the Operation Limit
[vJASS] - Does .evaluate() prevent from OpLimit?
No. This is functionally the same as having one massive trigger if you are using the Map Init event. If you are using Elapsed Game-Time like I suggest then you can make an order to things by choosing what time it executes. There is no downside to this.
Using Elapsed Game-Time, yes, there is one. Slight lag spike in game when executed, assuming the trigger is massive, just once though.

I admit I had made the mistake of not explaining everything initially, but the operation limit didn't even cross my mind (been slacking). Yet I couldn't let @Pyrogasm have the last laugh!!! ;)
 
Level 41
Joined
Feb 27, 2007
Messages
5,210
but who the fuck does that? People usually use
There was a time where basically every single resource you could or would need in your map also came with its own initialization being run off the Map Init event. Literally everything (and yes, most of the time it was like 5-20 lines). Nobody would take the time to go back through and add actions to manually run all of these triggers from another init trigger; you would simply delete the event and replace it with something else (elapsed game-time) every time you imported something new.
The operation limit has been increased to great extents, if I remember, it was even before patch 1.30.
Before it was increased it was also in the realm of "this number is so big that you won't ever hit it unless you are doing something wrong"... except basically every trigger that checked or did anything to destructables on the map would hit the op limit and have to be broken up into multiple threads. Every time. Now the WE supports much larger maps with many more things in them. Did the limit increase 'more' than other numbers? Probably. It still seems a reasonable consideration to me, especially when the question "I have a very long trigger running off Map Init, could anything bad happen?" is literally being asked.
This part is the only part where you're wrong, you can have 1 map init trigger that runs several other triggers on it, and they can be very long as long as each of them doesn't surpass the oplimit, which is needless to say by this way practically impossible to. But why is that so? Because Trigger - run trigger name (checking conditions/ignoring conditions); ExecuteFunc, Pick Every Unit, waits, timers and a few other things make a new thread, thus reseting the operation limit.
Yes I am fully aware that all of those can work. But how is breaking your trigger up into multiple triggers and then running them all in sequence with any of those methods to bypass the op limit any less work than just using a different event? Like... instead of clicking to input Map Init you click "elapsed game-time" and you're done. That it. That's all the work you have to do to avoid this potential issue entirely.
Using Elapsed Game-Time, yes, there is one. Slight lag spike in game when executed, assuming the trigger is massive, just once though.
...and that doesn't happen with a bloated/op-limit-reaching Map Init trigger? It absolutely does. Not a downside because it literally happens always unless you go through a lot of effort to break up your initialization crap into many different sections that don't all run instantaneously.


Basically: there are two doors next to each other in front of me leading into the same building. If I take the left door (elapsed game-time) I'm guaranteed to make it inside without having to walk any additional distance over what taking the right door would have been. But if I take the right door (map init) there is a small but finite chance that I when I walk through it I instead end up inside a black hole and everything is fucked for me forever.

I'm never touching the right door. Why would I? It's the same effort to go through the left door and nothing bad could ever happen.
 

Wrda

Spell Reviewer
Level 26
Joined
Nov 18, 2012
Messages
1,924
Yes I am fully aware that all of those can work. But how is breaking your trigger up into multiple triggers and then running them all in sequence with any of those methods to bypass the op limit any less work than just using a different event? Like... instead of clicking to input Map Init you click "elapsed game-time" and you're done. That it. That's all the work you have to do to avoid this potential issue entirely.
Depends, maybe the order of operations matter, so you don't want to have all your elapsed times on 0s. You might have a hard time to figure out why a variable is pointing null. This can also happen on scattered map init triggers, but running them all in a sequence from 1 map init looks the safest way. Of course you could say that you make several elapsed times with different durations, but, IMO, it looks weird (my preference).
...and that doesn't happen with a bloated/op-limit-reaching Map Init trigger? It absolutely does. Not a downside because it literally happens always unless you go through a lot of effort to break up your initialization crap into many different sections that don't all run instantaneously.
No, it doesn't. Go make an init trigger that creates 1600 units, and then change it to elapsed time 0s. You tell me the difference. I tested it and spiked for 0.8s with elapsed time. Map init stuff is executed on loading screen

Basically: there are two doors next to each other in front of me leading into the same building. If I take the left door (elapsed game-time) I'm guaranteed to make it inside without having to walk any additional distance over what taking the right door would have been. But if I take the right door (map init) there is a small but finite chance that I when I walk through it I instead end up inside a black hole and everything is fucked for me forever.

I'm never touching the right door. Why would I? It's the same effort to go through the left door and nothing bad could ever happen.
I take the third door, the one that isn't fast and needs some effort, but avoids any cuckness and buffs my mental resistance not having to backtrack fixing stuff for 2 hours and hitting my head on the wall :D
Sometimes slowly is the fastest way.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,239
Hello everyone. I have a map initialization trigger but it is huge and it causes 2 seconds lag when i click on it.

Question 1: Is there any downside effect of this

Question 2: Separating it into 2 or 3 triggers causes anything bad?
1: It is entirely a World Editor optimisation problem. For some reason loading a big trigger in the editor is not at all well optimised to the point that really big triggers can take seconds to load on modern computers. The entire script the trigger compiles into on map save can be loaded in under a milisecond by a text editor and ironically the JASS/Lua VM likely executes the resulting script faster than World Editor can display it.

2: If using GUI this is recommended to get around the poor optimisation. You can also break the triggers down into independent related actions improving maintainability. Care must be taken that the triggers are independent of each other, or are explicitly executed in the order of dependence.

Technically split triggers will execute slower than monolithic triggers but unless the granularity is very small (thousands of triggers) the difference is trivial and can be ignored. This problem does not really apply if you are using custom script blocks, long script elements load very quickly. Through use of loops it may be possible to shorten some typical map initialisation action sequences making them more friendly for GUI to handle. For example instead of 24 actions doing the same thing to all players individually, a player group loop can be used with just a single action.
 
Level 18
Joined
Jun 2, 2009
Messages
1,193
Wow. Thank you to all. I have learned so much about it. By the way i was tried to split my map initialization trigger into 3 parts and i have realized player colors no more working. It is because of splitting map init into 3 triggers? I have re-rolled my version back.

Here is the example trigger (triggers from my moba map) is there a way to optimize these triggers? In any way can help. I know there are too many unnecessary actions in any mapmakers triggers :)

  • Baslangic Triggerlari
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Game - Set the time of day to 5.00
      • Game - Set time of day speed to 100.00% of the default speed
      • Hashtable - Create a hashtable
      • Set hash = (Last created hashtable)
      • Custom script: call ExecuteFunc("RegisterItemCosts")
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Player 1 (Red) controller) Equal to User
              • (Player 7 (Green) controller) Equal to User
        • Then - Actions
          • -------- Obslu oyun --------
          • Set ClanDevilPlayer = Neutral Victim
          • Camera - Set Player 1 (Red)'s camera Field of view to 90.00 over 0.00 seconds
          • Set ClanReaperPlayer = Neutral Extra
          • Camera - Set Player 7 (Green)'s camera Field of view to 90.00 over 0.00 seconds
        • Else - Actions
          • -------- Obssuz oyun --------
          • Set ClanDevilPlayer = Player 1 (Red)
          • Set ClanReaperPlayer = Player 7 (Green)
          • -------- Devil ayarlar --------
          • Player - Make ClanDevilPlayer treat Player 2 (Blue) as an Ally with shared vision
          • Player - Make ClanDevilPlayer treat Player 3 (Teal) as an Ally with shared vision
          • Player - Make ClanDevilPlayer treat Player 4 (Purple) as an Ally with shared vision
          • Player - Make ClanDevilPlayer treat Player 5 (Yellow) as an Ally with shared vision
          • Player - Make ClanDevilPlayer treat Player 6 (Orange) as an Ally with shared vision
          • Player - Make ClanDevilPlayer treat Player 8 (Pink) as an Enemy
          • Player - Make ClanDevilPlayer treat Player 9 (Gray) as an Enemy
          • Player - Make ClanDevilPlayer treat Player 10 (Light Blue) as an Enemy
          • Player - Make ClanDevilPlayer treat Player 11 (Dark Green) as an Enemy
          • Player - Make ClanDevilPlayer treat Player 12 (Brown) as an Enemy
          • Player - Make Player 2 (Blue) treat ClanDevilPlayer as an Ally with shared vision
          • Player - Make Player 3 (Teal) treat ClanDevilPlayer as an Ally with shared vision
          • Player - Make Player 4 (Purple) treat ClanDevilPlayer as an Ally with shared vision
          • Player - Make Player 5 (Yellow) treat ClanDevilPlayer as an Ally with shared vision
          • Player - Make Player 6 (Orange) treat ClanDevilPlayer as an Ally with shared vision
          • Player - Make Player 8 (Pink) treat ClanDevilPlayer as an Enemy
          • Player - Make Player 9 (Gray) treat ClanDevilPlayer as an Enemy
          • Player - Make Player 10 (Light Blue) treat ClanDevilPlayer as an Enemy
          • Player - Make Player 11 (Dark Green) treat ClanDevilPlayer as an Enemy
          • Player - Make Player 12 (Brown) treat ClanDevilPlayer as an Enemy
          • -------- Reaper ayarlar --------
          • Player - Make ClanReaperPlayer treat Player 2 (Blue) as an Enemy
          • Player - Make ClanReaperPlayer treat Player 3 (Teal) as an Enemy
          • Player - Make ClanReaperPlayer treat Player 4 (Purple) as an Enemy
          • Player - Make ClanReaperPlayer treat Player 5 (Yellow) as an Enemy
          • Player - Make ClanReaperPlayer treat Player 6 (Orange) as an Enemy
          • Player - Make ClanReaperPlayer treat Player 8 (Pink) as an Ally with shared vision
          • Player - Make ClanReaperPlayer treat Player 9 (Gray) as an Ally with shared vision
          • Player - Make ClanReaperPlayer treat Player 10 (Light Blue) as an Ally with shared vision
          • Player - Make ClanReaperPlayer treat Player 11 (Dark Green) as an Ally with shared vision
          • Player - Make ClanReaperPlayer treat Player 12 (Brown) as an Ally with shared vision
          • Player - Make Player 2 (Blue) treat ClanReaperPlayer as an Enemy
          • Player - Make Player 3 (Teal) treat ClanReaperPlayer as an Enemy
          • Player - Make Player 4 (Purple) treat ClanReaperPlayer as an Enemy
          • Player - Make Player 5 (Yellow) treat ClanReaperPlayer as an Enemy
          • Player - Make Player 6 (Orange) treat ClanReaperPlayer as an Enemy
          • Player - Make Player 8 (Pink) treat ClanReaperPlayer as an Ally with shared vision
          • Player - Make Player 9 (Gray) treat ClanReaperPlayer as an Ally with shared vision
          • Player - Make Player 10 (Light Blue) treat ClanReaperPlayer as an Ally with shared vision
          • Player - Make Player 11 (Dark Green) treat ClanReaperPlayer as an Ally with shared vision
          • Player - Make Player 12 (Brown) treat ClanReaperPlayer as an Ally with shared vision
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ClanDevilPlayer Not equal to Player 1 (Red)
        • Then - Actions
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units owned by Player 1 (Red)) and do (Actions)
            • Loop - Actions
              • Unit - Change ownership of (Picked unit) to ClanDevilPlayer and Retain color
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ClanReaperPlayer Not equal to Player 7 (Green)
        • Then - Actions
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units owned by Player 7 (Green)) and do (Actions)
            • Loop - Actions
              • Unit - Change ownership of (Picked unit) to ClanReaperPlayer and Retain color
        • Else - Actions
      • Player - Turn Gives bounty On for ClanDevilPlayer
      • Player - Turn Gives bounty On for ClanReaperPlayer
      • Set GOD_ButtonNumber = 8
      • Set GOD_Buton_Name[1] = |cff00ff00Ormanci|r
      • Set GOD_Buton_Name[2] = |cff87cefaDestek|r
      • Set GOD_Buton_Name[3] = |cffff8c00+%20 vurus hızı|r
      • Set GOD_Buton_Name[4] = |cffff8c00+5 zirh|r
      • Set GOD_Buton_Name[5] = |cffff8c00+12 hasar|r
      • Set GOD_Buton_Name[6] = |cffff8c00+6 strength|r
      • Set GOD_Buton_Name[7] = |cffff8c00+6 intelligence|r
      • Set GOD_Buton_Name[8] = |cffff8c00+6 agility|r
      • -------- Spellbooklar --------
      • Set GOD_Ability[1] = GOD Orman
      • Set GOD_Ability[2] = GOD Destek
      • Set GOD_Ability[3] = God 3 // AS
      • Set GOD_Ability[4] = God 4 // ARMOR
      • Set GOD_Ability[5] = God 5 // DAMAGE
      • Set GOD_Ability[6] = God 6 // str
      • Set GOD_Ability[7] = God 7 // int
      • Set GOD_Ability[8] = God 8 // agi
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • For each (Integer A) from 1 to 12, do (Actions)
            • Loop - Actions
              • Player - Disable GOD_Ability[(Integer A)] for (Picked player)
      • -------- Spellbooklarin içlerindekiler --------
      • Set GOD_Sub_Ability[1] = GOD ORMAN REAL
      • Set GOD_Sub_Ability[2] = GOD DESTEK REAL
      • Set GOD_Sub_Ability[3] = GOD AS (20%)
      • Set GOD_Sub_Ability[4] = GOD ARMOR (+5)
      • Set GOD_Sub_Ability[5] = GOD DAMAGE (+12)
      • Set GOD_Sub_Ability[6] = strength *6
      • Set GOD_Sub_Ability[7] = intelligence *6
      • Set GOD_Sub_Ability[8] = agility *6
      • Set GOD_Sub_Ability[9] = stat int 8//
      • Set GOD_Sub_Ability[10] = stat agi 8//
      • Set GOD_Nick[1] = |cff87cefaOrmanci|n
      • Set GOD_Nick[2] = |cff87cefaDestek|r|n
      • Set GOD_Nick[3] = |cff87cefaAS|r|n
      • Set GOD_Nick[4] = |cff87cefaArmor|r|n
      • Set GOD_Nick[5] = |cff87cefaDamage|r|n
      • Set GOD_Nick[6] = |cff87cefaSTR|r|n
      • Set GOD_Nick[7] = |cff87cefaINT|r|n
      • Set GOD_Nick[8] = |cff87cefaAGI|r|n
      • -------- NC Ayarlar --------
      • -------- not: buraya dön bak gerek varmı --------
      • Player - Make ClanDevilPlayer treat Neutral Passive as an Enemy
      • Player - Make ClanReaperPlayer treat Neutral Passive as an Enemy
      • Player - Make Player 2 (Blue) treat Neutral Passive as an Enemy
      • Player - Make Player 3 (Teal) treat Neutral Passive as an Enemy
      • Player - Make Player 4 (Purple) treat Neutral Passive as an Enemy
      • Player - Make Player 5 (Yellow) treat Neutral Passive as an Enemy
      • Player - Make Player 6 (Orange) treat Neutral Passive as an Enemy
      • Player - Make Player 8 (Pink) treat Neutral Passive as an Enemy
      • Player - Make Player 9 (Gray) treat Neutral Passive as an Enemy
      • Player - Make Player 10 (Light Blue) treat Neutral Passive as an Enemy
      • Player - Make Player 11 (Dark Green) treat Neutral Passive as an Enemy
      • Player - Make Player 12 (Brown) treat Neutral Passive as an Enemy
      • Player - Make Neutral Passive treat ClanDevilPlayer as an Enemy
      • Player - Make Neutral Passive treat ClanReaperPlayer as an Enemy
      • Player - Make Neutral Passive treat Player 2 (Blue) as an Enemy
      • Player - Make Neutral Passive treat Player 3 (Teal) as an Enemy
      • Player - Make Neutral Passive treat Player 4 (Purple) as an Enemy
      • Player - Make Neutral Passive treat Player 5 (Yellow) as an Enemy
      • Player - Make Neutral Passive treat Player 6 (Orange) as an Enemy
      • Player - Make Neutral Passive treat Player 8 (Pink) as an Enemy
      • Player - Make Neutral Passive treat Player 9 (Gray) as an Enemy
      • Player - Make Neutral Passive treat Player 10 (Light Blue) as an Enemy
      • Player - Make Neutral Passive treat Player 11 (Dark Green) as an Enemy
      • Player - Make Neutral Passive treat Player 12 (Brown) as an Enemy
      • -------- --------
      • Player - Make ClanDevilPlayer treat ClanReaperPlayer as an Enemy
      • Player - Make ClanReaperPlayer treat ClanDevilPlayer as an Enemy
      • Set Circle[2] = Kasa 0059 <gen>
      • Set Circle[3] = Kasa 0090 <gen>
      • Set Circle[4] = Kasa 0091 <gen>
      • Set Circle[5] = Kasa 0093 <gen>
      • Set Circle[6] = Kasa 0092 <gen>
      • Set Circle[8] = Kasa 0077 <gen>
      • Set Circle[9] = Kasa 0082 <gen>
      • Set Circle[10] = Kasa 0083 <gen>
      • Set Circle[11] = Kasa 0085 <gen>
      • Set Circle[12] = Kasa 0084 <gen>
      • Unit - Make Clan Reaper's Headquarter 0004 <gen> Invulnerable
      • Unit - Make Clan Devil's Headquarter 0003 <gen> Invulnerable
      • Player - Set name of ClanDevilPlayer to |cffff0000Clan Devi...
      • Player - Change color of ClanDevilPlayer to Red, Changing color of existing units
      • Player - Set name of ClanReaperPlayer to |cffda70d6Clan Reap...
      • Player - Change color of ClanReaperPlayer to Purple, Changing color of existing units
      • Set PlayingPlayers = (All players matching ((((Matching player) controller) Equal to User) and (((Matching player) slot status) Equal to Is playing)))
      • Player Group - Pick every player in PlayingPlayers and do (Actions)
        • Loop - Actions
          • Player - Set (Picked player) Current gold to 700
          • Player - Set (Picked player) Food cap to 3
          • Player - Set (Picked player) Current lumber to 1
          • Camera - Pan camera for (Picked player) to (Center of StartCamera <gen>) over 0.20 seconds
          • Camera - Set (Picked player)'s camera Field of view to 90.00 over 0.00 seconds
          • Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Visibility across StartCamera <gen>
          • Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Visibility across Region 079 <gen>
          • Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Visibility across AltarVisibility <gen>
          • Hero - Make (Picked player) Heroes gain 100.00% experience from future kills
      • Set DevilPlayersArray[0] = ClanDevilPlayer
      • Set DevilPlayersArray[1] = Player 2 (Blue)
      • Set DevilPlayersArray[2] = Player 3 (Teal)
      • Set DevilPlayersArray[3] = Player 4 (Purple)
      • Set DevilPlayersArray[4] = Player 5 (Yellow)
      • Set DevilPlayersArray[5] = Player 6 (Orange)
      • Set ReaperPlayersArray[0] = ClanReaperPlayer
      • Set ReaperPlayersArray[1] = Player 8 (Pink)
      • Set ReaperPlayersArray[2] = Player 9 (Gray)
      • Set ReaperPlayersArray[3] = Player 10 (Light Blue)
      • Set ReaperPlayersArray[4] = Player 11 (Dark Green)
      • Set ReaperPlayersArray[5] = Player 12 (Brown)
      • Set Player_Colors[(Player number of ClanDevilPlayer)] = |CFFFF0303
      • Set Player_Colors[2] = |CFF0042FF
      • Set Player_Colors[3] = |CFF1CE6B9
      • Set Player_Colors[4] = |CFF540081
      • Set Player_Colors[5] = |CFFFFFC00
      • Set Player_Colors[6] = |CFFFE8A0E
      • Set Player_Colors[(Player number of ClanReaperPlayer)] = |CFF20C000
      • Set Player_Colors[8] = |CFFE55BB0
      • Set Player_Colors[9] = |CFF959697
      • Set Player_Colors[10] = |CFF7FBFF1
      • Set Player_Colors[11] = |CFF004040
      • Set Player_Colors[12] = |CFF492A04
      • For each (Integer A) from 1 to 16, do (Actions)
        • Loop - Actions
          • Set PlayerNames[(Integer A)] = ((Player_Colors[(Integer A)] + (Name of (Player((Integer A))))) + |r)
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Player - Turn Gives bounty On for (Picked player)
      • Set Combine_Charged_Items = True
      • Set Combine_Charges_Max = 15
      • Set PlayerNames[(Player number of ClanDevilPlayer)] = |cffff0000Clan Devil|r
      • Set PlayerNames[(Player number of ClanReaperPlayer)] = |cffda70d6Clan Reaper|r
      • Player Group - Add Player 2 (Blue) to ClanDevilPlayers
      • Player Group - Add Player 3 (Teal) to ClanDevilPlayers
      • Player Group - Add Player 4 (Purple) to ClanDevilPlayers
      • Player Group - Add Player 5 (Yellow) to ClanDevilPlayers
      • Player Group - Add Player 6 (Orange) to ClanDevilPlayers
      • Player Group - Add Player 8 (Pink) to ClanReaperPlayers
      • Player Group - Add Player 9 (Gray) to ClanReaperPlayers
      • Player Group - Add Player 10 (Light Blue) to ClanReaperPlayers
      • Player Group - Add Player 11 (Dark Green) to ClanReaperPlayers
      • Player Group - Add Player 12 (Brown) to ClanReaperPlayers
 
Status
Not open for further replies.
Top