1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Choose your means of doom in the 17th Mini Mapping Contest Poll.
    Dismiss Notice
  3. A slave to two rhythms, the 22nd Terraining Contest is here.
    Dismiss Notice
  4. The heavens smile on the old faithful. The 16th Techtree Contest has begun.
    Dismiss Notice
  5. The die is cast - the 6th Melee Mapping Contest results have been announced. Onward to the Hive Cup!
    Dismiss Notice
  6. The glory of the 20th Icon Contest is yours for the taking!
    Dismiss Notice
  7. Shoot to thrill, play to kill. Sate your hunger with the 33rd Modeling Contest!
    Dismiss Notice
  8. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Ultimate GUI Hero Pick System 2.3

Submitted by -Kobas-
This bundle is marked as approved. It works and satisfies the submission rules.
Ultimate GUI Hero Pick System
2.3
Created by -Kobas-
Link to JASS version
-------------------------------------------------------------------------
Please if you find any errors or bugs report them to me so I can fix them

Features:
- Easy to understand/edit/import/use.
- Can be mixed with multiboard together.
- Small file size.
- Unique idea, perfect way to show people something new.
- Now MPI as well.


What is different in my system?
You can edit interface and play with it to make it look like anything you want really easily.
How to add more buttons, for example hero icons
You will need to create new destructible doodads just like I did for buttons, edit texture and scaling value :)
Remember to trigger dummy unit as well.
Why so long triggers and so many variables?
Well this system isn't created for 1 player, you can remove all interfaces except undead (example) and just edit variables easily (using another array integer) to make it usable for all players.
You can copy part of triggers as well, they will work perfectly fine alone cuz they use different variable.
Can we add more options to system?
Of course, especially if you are working on Single Player maps, you will find system funny once when you remove 90% of triggers created for other players and interfaces :)
Why GUI, use script instead, trackables and such things?
I won't answer to such question, and I will try to ignore such comments -.-

Triggers

Setup
  • UGHPS Setup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Player Colors --------
      • Set TextColor[1] = |c00FF0000
      • Set TextColor[2] = |c000042FF
      • Set TextColor[3] = |c001CE6B9
      • Set TextColor[4] = |c00540081
      • Set TextColor[5] = |c00FFFC01
      • Set TextColor[6] = |c00FEBA0E
      • Set TextColor[7] = |c0020C000
      • Set TextColor[8] = |c00E55BB0
      • Set TextColor[9] = |c00959697
      • Set TextColor[11] = |c00FFFFBB
      • Set TextColor[12] = |c00FF00FF
      • -------- Player Interface Regions --------
      • Set UGHPS_InterfaceRegion[1] = Player Interface 1 <gen>
      • Set UGHPS_InterfaceRegion[2] = Player Interface 2 <gen>
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Red Player --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Player multipli value, should be ranged from 100 to 800. Everything above 800 will ruin trigger cuz max array limit will be reached. --------
      • -------- I use 100 cuz 100 - 20 for each hero = 40 more room between. --------
      • Set Integer_i = 100
      • -------- Integer that calculate things, it's easier for me to work like this, if you need different value you can just change 1 variable instead all. --------
      • Set Integer_k = 1
      • -------- Interface Camera --------
      • Set UGHPS_Camera[1] = Interface 1 <gen>
      • -------- Damage --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 1))] = (Center of Damage 1 <gen>)
      • -------- Range --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 2))] = (Center of Range 1 <gen>)
      • -------- Armor --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 3))] = (Center of Armor 1 <gen>)
      • -------- AoE --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 4))] = (Center of AoE 1 <gen>)
      • -------- Support --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 5))] = (Center of Support 1 <gen>)
      • -------- Regeneration --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 6))] = (Center of Regeneration 1 <gen>)
      • -------- Hero Name --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 7))] = (Center of Hero Name 1 <gen>)
      • -------- Hero Class --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 8))] = (Center of Hero 1 <gen>)
      • -------- Hero Introduction --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 9))] = (Center of Intro 1 <gen>)
      • -------- Stats - Attributes --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 10))] = (Center of A 1 <gen>)
      • -------- Hero Spawn Location --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 11))] = (Center of Spawn Location 1 <gen>)
      • -------- OK button --------
      • Set UGHPS_Button_OK = Click 0022 <gen>
      • -------- Random Button --------
      • Set UGHPS_Button_Random = Click 0002 <gen>
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Blue Player --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Player multipli value, should be ranged from 100 to 800. Everything above 800 will ruin trigger cuz max array limit will be reached. --------
      • -------- I use 100 cuz 100 - 20 for each hero = 40 more room between. --------
      • Set Integer_i = 200
      • -------- Integer that calculate things, it's easier for me to work like this, if you need different value you can just change 1 variable instead all. --------
      • Set Integer_k = 1
      • -------- Interface Camera --------
      • Set UGHPS_Camera[2] = Interface 2 <gen>
      • -------- Damage --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 1))] = (Center of Damage 2 <gen>)
      • -------- Range --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 2))] = (Center of Range 2 <gen>)
      • -------- Armor --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 3))] = (Center of Armor 2 <gen>)
      • -------- AoE --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 4))] = (Center of AoE 2 <gen>)
      • -------- Support --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 5))] = (Center of Support 2 <gen>)
      • -------- Regeneration --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 6))] = (Center of Regeneration 2 <gen>)
      • -------- Hero Name --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 7))] = (Center of Hero Name 2 <gen>)
      • -------- Hero Class --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 8))] = (Center of Hero 2 <gen>)
      • -------- Hero Introduction --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 9))] = (Center of Intro 2 <gen>)
      • -------- Stats - Attributes --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 10))] = (Center of A 2 <gen>)
      • -------- Hero Spawn Location --------
      • Set UGHPS_HeroStats[(Integer_i + (Integer_k + 11))] = (Center of Spawn Location 2 <gen>)
      • -------- OK button --------
      • Set UGHPS_Button_OK = Click 0007 <gen>
      • -------- Random Button --------
      • Set UGHPS_Button_Random = Click 0006 <gen>
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- MPI settings --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • For each (Integer A) from 1 to 2, do (Actions)
        • Loop - Actions
          • -------- Disable camera variable for all players --------
          • Set UGHPS_CameraCheck[(Player number of (Player((Integer A))))] = False
          • -------- Add player select unit event to trigger below. --------
          • Trigger - Add to UGHPS Buttons <gen> the event (Player - (Player((Integer A))) Selects a unit)
          • -------- Add player skips cinematic or write xxx to right trigger. --------
          • Trigger - Add to UGHPS Progress <gen> the event (Player - (Player((Integer A))) skips a cinematic sequence)
          • Trigger - Add to UGHPS Progress <gen> the event (Player - (Player((Integer A))) types a chat message containing xxx as An exact match)
          • Trigger - Add to UGHPS Camera x <gen> the event (Time - UGHPS_CameraTimer[(Integer A)] expires)
      • -------- Let's make clickable units transparent (unvisible) --------
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units in (Playable map area) matching (((Unit-type of (Matching unit)) Equal to Click) or ((Unit-type of (Matching unit)) Equal to Settings))) and do (Animation - Change (Picked unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency)
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- HEROES --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Hero destructible model --------
      • -------- RED --------
      • Set UGHPS_HeroModel[((Integer_i x 1) + 20)] = Hero H (Paladin) 0124 <gen>
      • Set UGHPS_HeroModel[((Integer_i x 1) + 40)] = Hero H (Blood Mage) 0247 <gen>
      • Set UGHPS_HeroModel[((Integer_i x 1) + 60)] = Hero H (Ranger) 0154 <gen>
      • -------- BLUE --------
      • Set UGHPS_HeroModel[((Integer_i x 2) + 20)] = Hero H (Paladin) 0141 <gen>
      • Set UGHPS_HeroModel[((Integer_i x 2) + 40)] = Hero H (Blood Mage) 0157 <gen>
      • Set UGHPS_HeroModel[((Integer_i x 2) + 60)] = Hero H (Ranger) 0178 <gen>
      • Set Integer_i = 100
      • For each (Integer A) from 1 to 2, do (Actions)
        • Loop - Actions
          • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
          • -------- Paladin --------
          • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
          • Set Integer_k = 20
          • -------- Hero unit type --------
          • Set UGHPS_HERO_H[((Integer_i x (Integer A)) + Integer_k)] = Paladin
          • -------- Hero destructible model --------
          • Destructible - Hide UGHPS_HeroModel[((Integer_i x (Integer A)) + Integer_k)]
          • -------- Damage --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 1))] = |cFF00FF00IIIIIII|r|cFFFF0000III|r
          • -------- Range --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 2))] = |cFF00FF00II|r|cFFFF0000IIIIIIII|r
          • -------- Armor --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 3))] = |cFF00FF00IIII|r|cFFFF0000IIIIII|r
          • -------- AoE --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 4))] = |cFF00FF00I|r|cFFFF0000IIIIIIIII|r
          • -------- Support --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 5))] = |cFF00FF00IIIII|r|cFFFF0000IIIII|r
          • -------- Regeneration --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 6))] = |cFFFF0000IIIIIIIIII|r
          • -------- Hero Name --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 7))] = Aurrius the Pure
          • -------- Hero Class --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 8))] = |cffffcc00Palladin
          • -------- Hero Introduction --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 9))] = Warrior Hero, exceptional at defense and augmenting nearby friendly troops. Can learn Holy Light, Divine Shield, Devotion Aura and Resurrection. |n|n|cffffcc00Attacks land units.|r
          • -------- Stats - Attributes --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 10))] = (|cffffcc0022 + 2.7|r) (17 + 1.8) (13 + 1.5)
          • -------- Sound - Hero Selected --------
          • Set UGHPS_Sound[((Integer_i x (Integer A)) + Integer_k)] = HeroSelectedPaladin <gen>
          • -------- Sound - Hero Picked --------
          • Set UGHPS_Sound[((Integer_i x (Integer A)) + (Integer_k + 1))] = HeroPickedPaladin <gen>
          • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
          • -------- Blood Mage --------
          • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
          • Set Integer_k = 40
          • -------- Hero unit type --------
          • Set UGHPS_HERO_H[((Integer_i x (Integer A)) + Integer_k)] = Blood Mage
          • -------- Hero destructible model --------
          • Destructible - Hide UGHPS_HeroModel[((Integer_i x (Integer A)) + Integer_k)]
          • -------- Damage --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 1))] = |cFF00FF00IIIIIII|r|cFFFF0000III|r
          • -------- Range --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 2))] = |cFF00FF00IIIII|r|cFFFF0000IIIII|r
          • -------- Armor --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 3))] = |cFF00FF00IIIIIIII|r|cFFFF0000II|r
          • -------- AoE --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 4))] = |cFFFF0000IIIIIIIIII|r
          • -------- Support --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 5))] = |cFFFF0000IIIIIIIIII|r
          • -------- Regeneration --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 6))] = |cFF00FF00II|r|cFFFF0000IIIIIIII|r
          • -------- Hero Name --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 7))] = Kelen the Destroyer
          • -------- Hero Class --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 8))] = |cffffcc00Blood Mage
          • -------- Hero Introduction --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 9))] = Mystical Hero, adept at controlling magic and ranged assaults. Can learn Flame Strike, Banish, Siphon Mana and Phoenix. |n|n|cffffcc00Attacks land and air units.|r
          • -------- Stats - Attributes --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 10))] = (18 + 2.0) (14 + 1.0) (|cffffcc0019 + 3.0|r)
          • -------- Sound - Hero Selected --------
          • Set UGHPS_Sound[((Integer_i x (Integer A)) + Integer_k)] = HeroSelectedBloodElf <gen>
          • -------- Sound - Hero Picked --------
          • Set UGHPS_Sound[((Integer_i x (Integer A)) + (Integer_k + 1))] = HeroPickedBloodElf <gen>
          • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
          • -------- Ranger --------
          • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
          • Set Integer_k = 60
          • -------- Hero unit type --------
          • Set UGHPS_HERO_H[((Integer_i x (Integer A)) + Integer_k)] = Sylvanas Windrunner
          • -------- Hero destructible model --------
          • Destructible - Hide UGHPS_HeroModel[((Integer_i x (Integer A)) + Integer_k)]
          • -------- Damage --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 1))] = |cFF00FF00IIII|r|cFFFF0000IIIIII|r
          • -------- Range --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 2))] = |cFF00FF00IIIII|r|cFFFF0000IIIII|r
          • -------- Armor --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 3))] = |cFF00FF00IIIIIIII|r|cFFFF0000II|r
          • -------- AoE --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 4))] = |cFF00FF00IIIII|r|cFFFF0000IIIII|r
          • -------- Support --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 5))] = |cFFFF0000IIIIIIIIII|r
          • -------- Regeneration --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 6))] = |cFF00FF00II|r|cFFFF0000IIIIIIII|r
          • -------- Hero Name --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 7))] = Sylvanas Windrunner
          • -------- Hero Class --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 8))] = |cffffcc00Ranger
          • -------- Hero Introduction --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 9))] = Warrior Hero, adept at enhancing ranged attacks and slaying enemies from afar. Can learn Scout, Cold Arrows, Trueshot Aura, and Starfall. |n|n|cffffcc00Attacks land and air units.|r
          • -------- Stats - Attributes --------
          • Set UGHPS_StringAttributes[((Integer_i x (Integer A)) + (Integer_k + 10))] = (18 + 1.9 ) (|cffffcc0019 + 1.5|r) (15 + 2.6)
          • -------- Sound - Hero Selected --------
          • Set UGHPS_Sound[((Integer_i x (Integer A)) + Integer_k)] = HeroSelectedRanger <gen>
          • -------- Sound - Hero Picked --------
          • Set UGHPS_Sound[((Integer_i x (Integer A)) + (Integer_k + 1))] = HeroPickedRanger <gen>

Camera
  • UGHPS Camera
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • -------- Each 0.1 sec we create timer that will set camera above system for right player if he use system. --------
      • For each (Integer Integer_c) from 1 to 2, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • UGHPS_CameraCheck[Integer_c] Equal to True
            • Then - Actions
              • Countdown Timer - Start UGHPS_CameraTimer[Integer_c] as a One-shot timer that will expire in 0.00 seconds
            • Else - Actions

Camera x
  • UGHPS Camera x
    • Events
    • Conditions
    • Actions
      • -------- It's camera system, just copy it, nothing important really --------
      • For each (Integer Integer_c) from 1 to 2, do (Actions)
        • Loop - Actions
          • Custom script: if GetExpiredTimer() == udg_UGHPS_CameraTimer[udg_Integer_c] then
          • Camera - Apply UGHPS_Camera[(Player number of (Player(Integer_c)))] for (Player(Integer_c)) over 0.10 seconds
          • Skip remaining actions
          • Custom script: endif

Interface Human
  • Interface Human
    • Events
      • Unit - A unit Sells a unit
    • Conditions
      • (Unit-type of (Sold unit)) Equal to Human Interface
    • Actions
      • Destructible - Pick every destructible in UGHPS_InterfaceRegion[(Player number of (Owner of (Sold unit)))] 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
                  • (Destructible-type of (Picked destructible)) Equal to Border NE (D)
                  • (Destructible-type of (Picked destructible)) Equal to Border Orc (D)
                  • (Destructible-type of (Picked destructible)) Equal to Border UD (D)
            • Then - Actions
              • Set point_p = (Position of (Picked destructible))
              • Destructible - Create a Border H (D) at point_p facing 0.00 with scale 1.00 and variation 0
              • Custom script: call RemoveLocation ( udg_point_p)
              • Destructible - Remove (Picked destructible)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Destructible-type of (Picked destructible)) Equal to Border NE (DL)
                      • (Destructible-type of (Picked destructible)) Equal to Border Orc (DL)
                      • (Destructible-type of (Picked destructible)) Equal to Border UD (DL)
                • Then - Actions
                  • Set point_p = (Position of (Picked destructible))
                  • Destructible - Create a Border H (DL) at point_p facing 0.00 with scale 1.00 and variation 0
                  • Custom script: call RemoveLocation ( udg_point_p)
                  • Destructible - Remove (Picked destructible)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • (Destructible-type of (Picked destructible)) Equal to Border NE (DR)
                          • (Destructible-type of (Picked destructible)) Equal to Border Orc (DR)
                          • (Destructible-type of (Picked destructible)) Equal to Border UD (DR)
                    • Then - Actions
                      • Set point_p = (Position of (Picked destructible))
                      • Destructible - Create a Border H (DR) at point_p facing 0.00 with scale 1.00 and variation 0
                      • Custom script: call RemoveLocation ( udg_point_p)
                      • Destructible - Remove (Picked destructible)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Or - Any (Conditions) are true
                            • Conditions
                              • (Destructible-type of (Picked destructible)) Equal to Border NE (L)
                              • (Destructible-type of (Picked destructible)) Equal to Border Orc (L)
                              • (Destructible-type of (Picked destructible)) Equal to Border UD (L)
                        • Then - Actions
                          • Set point_p = (Position of (Picked destructible))
                          • Destructible - Create a Border H (L) at point_p facing 0.00 with scale 1.00 and variation 0
                          • Custom script: call RemoveLocation ( udg_point_p)
                          • Destructible - Remove (Picked destructible)
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Or - Any (Conditions) are true
                                • Conditions
                                  • (Destructible-type of (Picked destructible)) Equal to Border NE (R)
                                  • (Destructible-type of (Picked destructible)) Equal to Border Orc (R)
                                  • (Destructible-type of (Picked destructible)) Equal to Border UD (R)
                            • Then - Actions
                              • Set point_p = (Position of (Picked destructible))
                              • Destructible - Create a Border H (R) at point_p facing 0.00 with scale 1.00 and variation 0
                              • Custom script: call RemoveLocation ( udg_point_p)
                              • Destructible - Remove (Picked destructible)
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • Or - Any (Conditions) are true
                                    • Conditions
                                      • (Destructible-type of (Picked destructible)) Equal to Border NE (U)
                                      • (Destructible-type of (Picked destructible)) Equal to Border Orc (U)
                                      • (Destructible-type of (Picked destructible)) Equal to Border UD (U)
                                • Then - Actions
                                  • Set point_p = (Position of (Picked destructible))
                                  • Destructible - Create a Border H (U) at point_p facing 0.00 with scale 1.00 and variation 0
                                  • Custom script: call RemoveLocation ( udg_point_p)
                                  • Destructible - Remove (Picked destructible)
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • Or - Any (Conditions) are true
                                        • Conditions
                                          • (Destructible-type of (Picked destructible)) Equal to Border NE (UL)
                                          • (Destructible-type of (Picked destructible)) Equal to Border Orc (UL)
                                          • (Destructible-type of (Picked destructible)) Equal to Border UD (UL)
                                    • Then - Actions
                                      • Set point_p = (Position of (Picked destructible))
                                      • Destructible - Create a Border H (UL) at point_p facing 0.00 with scale 1.00 and variation 0
                                      • Custom script: call RemoveLocation ( udg_point_p)
                                      • Destructible - Remove (Picked destructible)
                                    • Else - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • Or - Any (Conditions) are true
                                            • Conditions
                                              • (Destructible-type of (Picked destructible)) Equal to Border NE (UR)
                                              • (Destructible-type of (Picked destructible)) Equal to Border Orc (UR)
                                              • (Destructible-type of (Picked destructible)) Equal to Border UD (UR)
                                        • Then - Actions
                                          • Set point_p = (Position of (Picked destructible))
                                          • Destructible - Create a Border H (UR) at point_p facing 0.00 with scale 1.00 and variation 0
                                          • Custom script: call RemoveLocation ( udg_point_p)
                                          • Destructible - Remove (Picked destructible)
                                        • Else - Actions

Interface Orc
  • Interface Orc
    • Events
      • Unit - A unit Sells a unit
    • Conditions
      • (Unit-type of (Sold unit)) Equal to Orc Interface
    • Actions
      • Destructible - Pick every destructible in UGHPS_InterfaceRegion[(Player number of (Owner of (Sold unit)))] 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
                  • (Destructible-type of (Picked destructible)) Equal to Border H (D)
                  • (Destructible-type of (Picked destructible)) Equal to Border NE (D)
                  • (Destructible-type of (Picked destructible)) Equal to Border UD (D)
            • Then - Actions
              • Set point_p = (Position of (Picked destructible))
              • Destructible - Create a Border Orc (D) at point_p facing 0.00 with scale 1.00 and variation 0
              • Custom script: call RemoveLocation ( udg_point_p)
              • Destructible - Remove (Picked destructible)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Destructible-type of (Picked destructible)) Equal to Border H (DL)
                      • (Destructible-type of (Picked destructible)) Equal to Border NE (DL)
                      • (Destructible-type of (Picked destructible)) Equal to Border UD (DL)
                • Then - Actions
                  • Set point_p = (Position of (Picked destructible))
                  • Destructible - Create a Border Orc (DL) at point_p facing 0.00 with scale 1.00 and variation 0
                  • Custom script: call RemoveLocation ( udg_point_p)
                  • Destructible - Remove (Picked destructible)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • (Destructible-type of (Picked destructible)) Equal to Border H (DR)
                          • (Destructible-type of (Picked destructible)) Equal to Border NE (DR)
                          • (Destructible-type of (Picked destructible)) Equal to Border UD (DR)
                    • Then - Actions
                      • Set point_p = (Position of (Picked destructible))
                      • Destructible - Create a Border Orc (DR) at point_p facing 0.00 with scale 1.00 and variation 0
                      • Custom script: call RemoveLocation ( udg_point_p)
                      • Destructible - Remove (Picked destructible)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Or - Any (Conditions) are true
                            • Conditions
                              • (Destructible-type of (Picked destructible)) Equal to Border H (L)
                              • (Destructible-type of (Picked destructible)) Equal to Border NE (L)
                              • (Destructible-type of (Picked destructible)) Equal to Border UD (L)
                        • Then - Actions
                          • Set point_p = (Position of (Picked destructible))
                          • Destructible - Create a Border Orc (L) at point_p facing 0.00 with scale 1.00 and variation 0
                          • Custom script: call RemoveLocation ( udg_point_p)
                          • Destructible - Remove (Picked destructible)
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Or - Any (Conditions) are true
                                • Conditions
                                  • (Destructible-type of (Picked destructible)) Equal to Border H (R)
                                  • (Destructible-type of (Picked destructible)) Equal to Border NE (R)
                                  • (Destructible-type of (Picked destructible)) Equal to Border UD (R)
                            • Then - Actions
                              • Set point_p = (Position of (Picked destructible))
                              • Destructible - Create a Border Orc (R) at point_p facing 0.00 with scale 1.00 and variation 0
                              • Custom script: call RemoveLocation ( udg_point_p)
                              • Destructible - Remove (Picked destructible)
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • Or - Any (Conditions) are true
                                    • Conditions
                                      • (Destructible-type of (Picked destructible)) Equal to Border H (U)
                                      • (Destructible-type of (Picked destructible)) Equal to Border NE (U)
                                      • (Destructible-type of (Picked destructible)) Equal to Border UD (U)
                                • Then - Actions
                                  • Set point_p = (Position of (Picked destructible))
                                  • Destructible - Create a Border Orc (U) at point_p facing 0.00 with scale 1.00 and variation 0
                                  • Custom script: call RemoveLocation ( udg_point_p)
                                  • Destructible - Remove (Picked destructible)
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • Or - Any (Conditions) are true
                                        • Conditions
                                          • (Destructible-type of (Picked destructible)) Equal to Border H (UL)
                                          • (Destructible-type of (Picked destructible)) Equal to Border NE (UL)
                                          • (Destructible-type of (Picked destructible)) Equal to Border UD (UL)
                                    • Then - Actions
                                      • Set point_p = (Position of (Picked destructible))
                                      • Destructible - Create a Border Orc (UL) at point_p facing 0.00 with scale 1.00 and variation 0
                                      • Custom script: call RemoveLocation ( udg_point_p)
                                      • Destructible - Remove (Picked destructible)
                                    • Else - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • Or - Any (Conditions) are true
                                            • Conditions
                                              • (Destructible-type of (Picked destructible)) Equal to Border H (UR)
                                              • (Destructible-type of (Picked destructible)) Equal to Border NE (UR)
                                              • (Destructible-type of (Picked destructible)) Equal to Border UD (UR)
                                        • Then - Actions
                                          • Set point_p = (Position of (Picked destructible))
                                          • Destructible - Create a Border Orc (UR) at point_p facing 0.00 with scale 1.00 and variation 0
                                          • Custom script: call RemoveLocation ( udg_point_p)
                                          • Destructible - Remove (Picked destructible)
                                        • Else - Actions

Interface Night Elf
  • Interface Night Elf
    • Events
      • Unit - A unit Sells a unit
    • Conditions
      • (Unit-type of (Sold unit)) Equal to Night Elf Interface
    • Actions
      • Destructible - Pick every destructible in UGHPS_InterfaceRegion[(Player number of (Owner of (Sold unit)))] 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
                  • (Destructible-type of (Picked destructible)) Equal to Border H (D)
                  • (Destructible-type of (Picked destructible)) Equal to Border Orc (D)
                  • (Destructible-type of (Picked destructible)) Equal to Border UD (D)
            • Then - Actions
              • Set point_p = (Position of (Picked destructible))
              • Destructible - Create a Border NE (D) at point_p facing 0.00 with scale 1.00 and variation 0
              • Custom script: call RemoveLocation ( udg_point_p)
              • Destructible - Remove (Picked destructible)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Destructible-type of (Picked destructible)) Equal to Border H (DL)
                      • (Destructible-type of (Picked destructible)) Equal to Border Orc (DL)
                      • (Destructible-type of (Picked destructible)) Equal to Border UD (DL)
                • Then - Actions
                  • Set point_p = (Position of (Picked destructible))
                  • Destructible - Create a Border NE (DL) at point_p facing 0.00 with scale 1.00 and variation 0
                  • Custom script: call RemoveLocation ( udg_point_p)
                  • Destructible - Remove (Picked destructible)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • (Destructible-type of (Picked destructible)) Equal to Border H (DR)
                          • (Destructible-type of (Picked destructible)) Equal to Border Orc (DR)
                          • (Destructible-type of (Picked destructible)) Equal to Border UD (DR)
                    • Then - Actions
                      • Set point_p = (Position of (Picked destructible))
                      • Destructible - Create a Border NE (DR) at point_p facing 0.00 with scale 1.00 and variation 0
                      • Custom script: call RemoveLocation ( udg_point_p)
                      • Destructible - Remove (Picked destructible)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Or - Any (Conditions) are true
                            • Conditions
                              • (Destructible-type of (Picked destructible)) Equal to Border H (L)
                              • (Destructible-type of (Picked destructible)) Equal to Border Orc (L)
                              • (Destructible-type of (Picked destructible)) Equal to Border UD (L)
                        • Then - Actions
                          • Set point_p = (Position of (Picked destructible))
                          • Destructible - Create a Border NE (L) at point_p facing 0.00 with scale 1.00 and variation 0
                          • Custom script: call RemoveLocation ( udg_point_p)
                          • Destructible - Remove (Picked destructible)
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Or - Any (Conditions) are true
                                • Conditions
                                  • (Destructible-type of (Picked destructible)) Equal to Border H (R)
                                  • (Destructible-type of (Picked destructible)) Equal to Border Orc (R)
                                  • (Destructible-type of (Picked destructible)) Equal to Border UD (R)
                            • Then - Actions
                              • Set point_p = (Position of (Picked destructible))
                              • Destructible - Create a Border NE (R) at point_p facing 0.00 with scale 1.00 and variation 0
                              • Custom script: call RemoveLocation ( udg_point_p)
                              • Destructible - Remove (Picked destructible)
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • Or - Any (Conditions) are true
                                    • Conditions
                                      • (Destructible-type of (Picked destructible)) Equal to Border H (U)
                                      • (Destructible-type of (Picked destructible)) Equal to Border Orc (U)
                                      • (Destructible-type of (Picked destructible)) Equal to Border UD (U)
                                • Then - Actions
                                  • Set point_p = (Position of (Picked destructible))
                                  • Destructible - Create a Border NE (U) at point_p facing 0.00 with scale 1.00 and variation 0
                                  • Custom script: call RemoveLocation ( udg_point_p)
                                  • Destructible - Remove (Picked destructible)
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • Or - Any (Conditions) are true
                                        • Conditions
                                          • (Destructible-type of (Picked destructible)) Equal to Border H (UL)
                                          • (Destructible-type of (Picked destructible)) Equal to Border Orc (UL)
                                          • (Destructible-type of (Picked destructible)) Equal to Border UD (UL)
                                    • Then - Actions
                                      • Set point_p = (Position of (Picked destructible))
                                      • Destructible - Create a Border NE (UL) at point_p facing 0.00 with scale 1.00 and variation 0
                                      • Custom script: call RemoveLocation ( udg_point_p)
                                      • Destructible - Remove (Picked destructible)
                                    • Else - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • Or - Any (Conditions) are true
                                            • Conditions
                                              • (Destructible-type of (Picked destructible)) Equal to Border H (UR)
                                              • (Destructible-type of (Picked destructible)) Equal to Border Orc (UR)
                                              • (Destructible-type of (Picked destructible)) Equal to Border UD (UR)
                                        • Then - Actions
                                          • Set point_p = (Position of (Picked destructible))
                                          • Destructible - Create a Border NE (UR) at point_p facing 0.00 with scale 1.00 and variation 0
                                          • Custom script: call RemoveLocation ( udg_point_p)
                                          • Destructible - Remove (Picked destructible)
                                        • Else - Actions

Interface Undead
  • Interface Undead
    • Events
      • Unit - A unit Sells a unit
    • Conditions
      • (Unit-type of (Sold unit)) Equal to Undead Interface
    • Actions
      • Destructible - Pick every destructible in UGHPS_InterfaceRegion[(Player number of (Owner of (Sold unit)))] 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
                  • (Destructible-type of (Picked destructible)) Equal to Border H (D)
                  • (Destructible-type of (Picked destructible)) Equal to Border Orc (D)
                  • (Destructible-type of (Picked destructible)) Equal to Border NE (D)
            • Then - Actions
              • Set point_p = (Position of (Picked destructible))
              • Destructible - Create a Border UD (D) at point_p facing 0.00 with scale 1.00 and variation 0
              • Custom script: call RemoveLocation ( udg_point_p)
              • Destructible - Remove (Picked destructible)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • (Destructible-type of (Picked destructible)) Equal to Border H (DL)
                      • (Destructible-type of (Picked destructible)) Equal to Border Orc (DL)
                      • (Destructible-type of (Picked destructible)) Equal to Border NE (DL)
                • Then - Actions
                  • Set point_p = (Position of (Picked destructible))
                  • Destructible - Create a Border UD (DL) at point_p facing 0.00 with scale 1.00 and variation 0
                  • Custom script: call RemoveLocation ( udg_point_p)
                  • Destructible - Remove (Picked destructible)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Or - Any (Conditions) are true
                        • Conditions
                          • (Destructible-type of (Picked destructible)) Equal to Border H (DR)
                          • (Destructible-type of (Picked destructible)) Equal to Border Orc (DR)
                          • (Destructible-type of (Picked destructible)) Equal to Border NE (DR)
                    • Then - Actions
                      • Set point_p = (Position of (Picked destructible))
                      • Destructible - Create a Border UD (DR) at point_p facing 0.00 with scale 1.00 and variation 0
                      • Custom script: call RemoveLocation ( udg_point_p)
                      • Destructible - Remove (Picked destructible)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Or - Any (Conditions) are true
                            • Conditions
                              • (Destructible-type of (Picked destructible)) Equal to Border H (L)
                              • (Destructible-type of (Picked destructible)) Equal to Border Orc (L)
                              • (Destructible-type of (Picked destructible)) Equal to Border NE (L)
                        • Then - Actions
                          • Set point_p = (Position of (Picked destructible))
                          • Destructible - Create a Border UD (L) at point_p facing 0.00 with scale 1.00 and variation 0
                          • Custom script: call RemoveLocation ( udg_point_p)
                          • Destructible - Remove (Picked destructible)
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Or - Any (Conditions) are true
                                • Conditions
                                  • (Destructible-type of (Picked destructible)) Equal to Border H (R)
                                  • (Destructible-type of (Picked destructible)) Equal to Border Orc (R)
                                  • (Destructible-type of (Picked destructible)) Equal to Border NE (R)
                            • Then - Actions
                              • Set point_p = (Position of (Picked destructible))
                              • Destructible - Create a Border UD (R) at point_p facing 0.00 with scale 1.00 and variation 0
                              • Custom script: call RemoveLocation ( udg_point_p)
                              • Destructible - Remove (Picked destructible)
                            • Else - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • Or - Any (Conditions) are true
                                    • Conditions
                                      • (Destructible-type of (Picked destructible)) Equal to Border H (U)
                                      • (Destructible-type of (Picked destructible)) Equal to Border Orc (U)
                                      • (Destructible-type of (Picked destructible)) Equal to Border NE (U)
                                • Then - Actions
                                  • Set point_p = (Position of (Picked destructible))
                                  • Destructible - Create a Border UD (U) at point_p facing 0.00 with scale 1.00 and variation 0
                                  • Custom script: call RemoveLocation ( udg_point_p)
                                  • Destructible - Remove (Picked destructible)
                                • Else - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • Or - Any (Conditions) are true
                                        • Conditions
                                          • (Destructible-type of (Picked destructible)) Equal to Border H (UL)
                                          • (Destructible-type of (Picked destructible)) Equal to Border Orc (UL)
                                          • (Destructible-type of (Picked destructible)) Equal to Border NE (UL)
                                    • Then - Actions
                                      • Set point_p = (Position of (Picked destructible))
                                      • Destructible - Create a Border UD (UL) at point_p facing 0.00 with scale 1.00 and variation 0
                                      • Custom script: call RemoveLocation ( udg_point_p)
                                      • Destructible - Remove (Picked destructible)
                                    • Else - Actions
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • Or - Any (Conditions) are true
                                            • Conditions
                                              • (Destructible-type of (Picked destructible)) Equal to Border H (UR)
                                              • (Destructible-type of (Picked destructible)) Equal to Border Orc (UR)
                                              • (Destructible-type of (Picked destructible)) Equal to Border NE (UR)
                                        • Then - Actions
                                          • Set point_p = (Position of (Picked destructible))
                                          • Destructible - Create a Border UD (UR) at point_p facing 0.00 with scale 1.00 and variation 0
                                          • Custom script: call RemoveLocation ( udg_point_p)
                                          • Destructible - Remove (Picked destructible)
                                        • Else - Actions

Progress
  • UGHPS Progress
    • Events
    • Conditions
    • Actions
      • Set UGHPS_CameraCheck[(Player number of (Triggering player))] = True
      • Camera - Apply UGHPS_Camera[(Player number of (Triggering player))] for (Triggering player) over 0.00 seconds
      • Trigger - Turn on UGHPS Camera <gen>

Buttons
  • UGHPS Buttons
    • Events
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Click
    • Actions
      • -------- Turn off trigger to fix small bug when player click fast on icon and create few heroes at same time. --------
      • Trigger - Turn off (This trigger)
      • -------- Remove selected unit from player selection. --------
      • Selection - Clear selection for (Triggering player)
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Button Selection --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Paladin --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Triggering unit) Equal to Click 0001 <gen>
              • (Triggering unit) Equal to Click 0008 <gen>
        • Then - Actions
          • -------- Hero number --------
          • -------- WARRNING: 20 is integer_k value from setup trigger, we used 20 as multiple there (20 for 1st hero, 40 for 2nd 60 for 3rd) --------
          • Set Integer_k = 20
          • -------- integer_h is variable that define hero, unneeded really but it makes trigger action below more eye kindly. --------
          • Set Integer_h = ((Integer_i x (Player number of (Triggering player))) + Integer_k)
          • -------- Location variable that use position of created unit, used for cleaning leaks :) --------
          • Set point_p = (Position of (Triggering unit))
          • -------- We create effect on hero icon (variable point_p) --------
          • Special Effect - Create a special effect at point_p using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
          • -------- We destroy same effect to clean leak. --------
          • Special Effect - Destroy (Last created special effect)
          • -------- We destroy point_p to clean leaks. --------
          • Custom script: call RemoveLocation ( udg_point_p)
          • For each (Integer A) from 1 to 3, do (Actions)
            • Loop - Actions
              • -------- WARRNING: 20 is integer_k value from setup trigger, we used 20 as multiple there (20 for 1st hero, 40 for 2nd 60 for 3rd) --------
              • -------- We hide all hero destructibles shown to player --------
              • Destructible - Hide UGHPS_HeroModel[(((Player number of (Triggering player)) x Integer_i) + (20 x (Integer A)))]
          • -------- Now only show right one :) --------
          • Destructible - Show UGHPS_HeroModel[(((Player number of (Triggering player)) x Integer_i) + Integer_k)]
          • -------- Play sound when player click on hero icon --------
          • Sound - Play UGHPS_Sound[((Integer_i x (Player number of (Triggering player))) + Integer_k)] at 100.00% volume, attached to (Triggering unit)
          • -------- Let's remove all text, create new one and store it to variables once again. --------
          • For each (Integer A) from 1 to 11, do (Actions)
            • Loop - Actions
              • Floating Text - Destroy UGHPS_FT[(Integer A)]
              • Floating Text - Create floating text that reads UGHPS_StringAttributes[(((Player number of (Triggering player)) x Integer_i) + (Integer_k + (Integer A)))] at UGHPS_HeroStats[(((Player number of (Triggering player)) x Integer_i) + ((Integer A) + 1))] with Z offset 0.00, using font size 8.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
              • Set UGHPS_FT[(Integer A)] = (Last created floating text)
          • Wait 0.00 seconds
          • Trigger - Turn on (This trigger)
          • Skip remaining actions
        • Else - Actions
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Blood Mage --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Triggering unit) Equal to Click 0005 <gen>
              • (Triggering unit) Equal to Click 0009 <gen>
        • Then - Actions
          • -------- Hero number --------
          • -------- WARRNING: 40 is integer_k value from setup trigger, we used 20 as multiple there (20 for 1st hero, 40 for 2nd 60 for 3rd) --------
          • Set Integer_k = 40
          • -------- integer_h is variable that define hero, unneeded really but it makes trigger action below more eye kindly. --------
          • Set Integer_h = ((Integer_i x (Player number of (Triggering player))) + Integer_k)
          • -------- Location variable that use position of created unit, used for cleaning leaks :) --------
          • Set point_p = (Position of (Triggering unit))
          • -------- We create effect on hero icon (variable point_p) --------
          • Special Effect - Create a special effect at point_p using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
          • -------- We destroy same effect to clean leak. --------
          • Special Effect - Destroy (Last created special effect)
          • -------- We destroy point_p to clean leaks. --------
          • Custom script: call RemoveLocation ( udg_point_p)
          • For each (Integer A) from 1 to 3, do (Actions)
            • Loop - Actions
              • -------- WARRNING: 20 is integer_k value from setup trigger, we used 20 as multiple there (20 for 1st hero, 40 for 2nd 60 for 3rd) --------
              • -------- We hide all hero destructibles shown to player --------
              • Destructible - Hide UGHPS_HeroModel[(((Player number of (Triggering player)) x Integer_i) + (20 x (Integer A)))]
          • -------- Now only show right one :) --------
          • Destructible - Show UGHPS_HeroModel[(((Player number of (Triggering player)) x Integer_i) + Integer_k)]
          • -------- Play sound when player click on hero icon --------
          • Sound - Play UGHPS_Sound[((Integer_i x (Player number of (Triggering player))) + Integer_k)] at 100.00% volume, attached to (Triggering unit)
          • -------- Let's remove all text, create new one and store it to variables once again. --------
          • For each (Integer A) from 1 to 11, do (Actions)
            • Loop - Actions
              • Floating Text - Destroy UGHPS_FT[(Integer A)]
              • Floating Text - Create floating text that reads UGHPS_StringAttributes[(((Player number of (Triggering player)) x Integer_i) + (Integer_k + (Integer A)))] at UGHPS_HeroStats[(((Player number of (Triggering player)) x Integer_i) + ((Integer A) + 1))] with Z offset 0.00, using font size 8.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
              • Set UGHPS_FT[(Integer A)] = (Last created floating text)
          • Wait 0.00 seconds
          • Trigger - Turn on (This trigger)
          • Skip remaining actions
        • Else - Actions
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Ranger --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Triggering unit) Equal to Click 0003 <gen>
              • (Triggering unit) Equal to Click 0010 <gen>
        • Then - Actions
          • -------- Hero number --------
          • -------- WARRNING: 60 is integer_k value from setup trigger, we used 20 as multiple there (20 for 1st hero, 40 for 2nd 60 for 3rd) --------
          • Set Integer_k = 60
          • -------- integer_h is variable that define hero, unneeded really but it makes trigger action below more eye kindly. --------
          • Set Integer_h = ((Integer_i x (Player number of (Triggering player))) + Integer_k)
          • -------- Location variable that use position of created unit, used for cleaning leaks :) --------
          • Set point_p = (Position of (Triggering unit))
          • -------- We create effect on hero icon (variable point_p) --------
          • Special Effect - Create a special effect at point_p using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
          • -------- We destroy same effect to clean leak. --------
          • Special Effect - Destroy (Last created special effect)
          • -------- We destroy point_p to clean leaks. --------
          • Custom script: call RemoveLocation ( udg_point_p)
          • For each (Integer A) from 1 to 3, do (Actions)
            • Loop - Actions
              • -------- WARRNING: 20 is integer_k value from setup trigger, we used 20 as multiple there (20 for 1st hero, 40 for 2nd 60 for 3rd) --------
              • -------- We hide all hero destructibles shown to player --------
              • Destructible - Hide UGHPS_HeroModel[(((Player number of (Triggering player)) x Integer_i) + (20 x (Integer A)))]
          • -------- Now only show right one :) --------
          • Destructible - Show UGHPS_HeroModel[(((Player number of (Triggering player)) x Integer_i) + Integer_k)]
          • -------- Play sound when player click on hero icon --------
          • Sound - Play UGHPS_Sound[((Integer_i x (Player number of (Triggering player))) + Integer_k)] at 100.00% volume, attached to (Triggering unit)
          • -------- Let's remove all text, create new one and store it to variables once again. --------
          • For each (Integer A) from 1 to 11, do (Actions)
            • Loop - Actions
              • Floating Text - Destroy UGHPS_FT[(Integer A)]
              • Floating Text - Create floating text that reads UGHPS_StringAttributes[(((Player number of (Triggering player)) x Integer_i) + (Integer_k + (Integer A)))] at UGHPS_HeroStats[(((Player number of (Triggering player)) x Integer_i) + ((Integer A) + 1))] with Z offset 0.00, using font size 8.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
              • Set UGHPS_FT[(Integer A)] = (Last created floating text)
          • Wait 0.00 seconds
          • Trigger - Turn on (This trigger)
          • Skip remaining actions
        • Else - Actions
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- OK Button --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • And - All (Conditions) are true
            • Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • (Triggering unit) Equal to Click 0022 <gen>
                  • (Triggering unit) Equal to Click 0007 <gen>
              • Integer_h Not equal to 0
        • Then - Actions
          • Set UGHPS_CameraCheck[(Player number of (Triggering player))] = False
          • Unit - Create 1 UGHPS_HERO_H[Integer_h] for (Triggering player) at UGHPS_HeroStats[(((Player number of (Triggering player)) x Integer_i) + 12)] facing Default building facing degrees
          • -------- Let's display message to enemy players --------
          • Set UGHPS_TempForce = (All enemies of (Triggering player))
          • Quest - Display to UGHPS_TempForce the Hint message: (TextColor[(Player number of (Triggering player))] + ((Name of (Triggering player)) + (|r has picked + (Name of (Last created unit)))))
          • Custom script: call DestroyForce (udg_UGHPS_TempForce)
          • -------- Play sound when player select hero --------
          • Sound - Play UGHPS_Sound[((Integer_i x (Player number of (Triggering player))) + (Integer_k + 1))] at 100.00% volume, attached to (Last created unit)
          • -------- Location variable that use position of created unit, used for cleaning leaks :) --------
          • Set point_p = (Position of (Last created unit))
          • Camera - Pan camera for (Triggering player) to point_p over 0.00 seconds
          • Wait 0.00 seconds
          • -------- We create effect on hero spawn location (variable point_p) --------
          • Special Effect - Create a special effect at point_p using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl
          • -------- We destroy same effect to clean leak. --------
          • Special Effect - Destroy (Last created special effect)
          • Camera - Reset camera for (Triggering player) to standard game-view over 0.00 seconds
          • -------- We destroy point_p to clean leaks. --------
          • Custom script: call RemoveLocation ( udg_point_p)
          • Wait 0.00 seconds
          • Trigger - Turn on (This trigger)
          • Skip remaining actions
        • Else - Actions
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • -------- Random Button --------
      • -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • (Triggering unit) Equal to Click 0002 <gen>
              • (Triggering unit) Equal to Click 0006 <gen>
        • Then - Actions
          • Set UGHPS_CameraCheck[(Player number of (Triggering player))] = False
          • Set Integer_h = ((Integer_i x (Player number of (Triggering player))) + (20 x (Random integer number between 1 and 3)))
          • Unit - Create 1 UGHPS_HERO_H[Integer_h] for (Triggering player) at UGHPS_HeroStats[(((Player number of (Triggering player)) x Integer_i) + 12)] facing Default building facing degrees
          • -------- Let's display message to enemy players --------
          • Set UGHPS_TempForce = (All enemies of (Triggering player))
          • Quest - Display to UGHPS_TempForce the Hint message: (TextColor[(Player number of (Triggering player))] + ((Name of (Triggering player)) + (|r has randomed + (Name of (Last created unit)))))
          • Custom script: call DestroyForce (udg_UGHPS_TempForce)
          • -------- Play sound when player select hero --------
          • Sound - Play UGHPS_Sound[Integer_h] at 100.00% volume, attached to (Last created unit)
          • -------- Location variable that use position of created unit, used for cleaning leaks :) --------
          • Set point_p = (Position of (Last created unit))
          • Camera - Pan camera for (Triggering player) to point_p over 0.00 seconds
          • Wait 0.00 seconds
          • -------- We create effect on hero spawn location (variable point_p) --------
          • Special Effect - Create a special effect at point_p using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl
          • -------- We destroy same effect to clean leak. --------
          • Special Effect - Destroy (Last created special effect)
          • Camera - Reset camera for (Triggering player) to standard game-view over 0.00 seconds
          • -------- We destroy point_p to clean leaks. --------
          • Custom script: call RemoveLocation ( udg_point_p)
          • Wait 0.00 seconds
          • Trigger - Turn on (This trigger)
          • Skip remaining actions
        • Else - Actions


Please if you find any errors or bugs report them to me so I can fix them
Change Log

Version 1.0
- Uploaded Spell
Version 1.1
- Added blockade to stop players from creating 2 or more heroes with fast clicking (Thanks to Maker)
- Fixed leak trigger action
- Optimized main trigger a little
- Added more documentation and description (Loading Screen as well)
Version 1.2
- Optimized triggers to max
- New interface design
- Easier to understand/edit/import/use
- Smaller size
Version 1.2b
- Optimized camera triggers (Maker)
Version 2.0 Ultimate
- First MPI version
- New hero stats display
- Removed Spells (for now)
Version 2.1 Ultimate
- Fixed/Optimized triggers
- More comments
Version 2.2 Ultimate
- Added colored text and messages displayed to enemy players when you pick or random your hero
- Added sound when you select or pick hero
- Added Settings button where you can pick 1 between 4 different interfaces
- New system look (Resized models, edited text etc etc)
Version 2.3 Ultimate
Fixed/Improved:
- When pressing ESC, the camera pans to the hero selection screen. Make the camera apply instantly. You can also use fade out, apply cam, fade in.
- One can get two heroes if the OK button is clicked rapidly.
- If one clicks OK before a hero is selected, the camera will pan to the center of the map. This situation is not handled with triggers.
- UGHPS camera timers are not initialized automatically for other indexes than 0 and 1. That means it won't work for player 2. You need to create the other timers yourself.
- You should add the events of UGHPS Camera x trigger in the setup trigger.
- UGHPS Buttons does the checks for the rest of the unit types even if it has found a match already. Use skip remaining actions or put the if/then/elses inside each other.
- P2 hero models aren't initially hidden.
- UGHPS Setup has two events, only use Map Initialization.
- Add importing instructions into the map.


Keywords:
Advanced, GUI, Hero, Pick, System, -Kobas-, Interface, Triggers
Contents

Advanced GUI Hero Pick System (Map)

Reviews
Moderator
Approved. Great system. Improvements: -The units sold triggers should be turned off when there are no players in the screen -Set the number of players into a variable at map initiliazation, use the variable in UGHPS Camera triggers -Perhaps...
  1. millzy

    millzy

    Joined:
    Jul 9, 2008
    Messages:
    1,540
    Resources:
    6
    Maps:
    5
    Spells:
    1
    Resources:
    6
    woooo cant wait for MPI
     
  2. Kanadaj

    Kanadaj

    Joined:
    Oct 18, 2008
    Messages:
    1,584
    Resources:
    2
    Icons:
    2
    Resources:
    2
    Well if u look at my previous post I made it MPI ^^
     
  3. -Kobas-

    -Kobas-

    Joined:
    Jan 17, 2010
    Messages:
    5,892
    Resources:
    28
    Icons:
    1
    Tools:
    2
    Maps:
    10
    Spells:
    4
    Template:
    5
    Tutorials:
    6
    Resources:
    28
    I started working on ultimate version, expect progress soon.

    EDIT:

    Base setup and hero info is done.
    Working on interfaces and buttons.
    EDIT 2:

    I removed coordinates and added regions, I will try to make it as simple as possible so even WE newbie can use it.
    So far everything work fine, I added comment to each trigger action, camera system is rdy as well.
    I removed GetLocalPlayer and added new interfaces to system, it's much easier to copy and paste few doodads/units/regions to edit player number.
     
    Last edited: Jul 31, 2011
  4. -Kobas-

    -Kobas-

    Joined:
    Jan 17, 2010
    Messages:
    5,892
    Resources:
    28
    Icons:
    1
    Tools:
    2
    Maps:
    10
    Spells:
    4
    Template:
    5
    Tutorials:
    6
    Resources:
    28
    sorry for double post -.-

    MPI VERSION IS FINISHED

    And will be uploaded tonight, video as well.
    Testing...
    Triggers in description as well as triggers in map will be optimized and edited, please be patient, fully working version with more things will be uploaded soon.
     
    Last edited: Jul 31, 2011
  5. Magtheridon96

    Magtheridon96

    Joined:
    Dec 12, 2008
    Messages:
    6,003
    Resources:
    26
    Maps:
    1
    Spells:
    8
    Tutorials:
    7
    JASS:
    10
    Resources:
    26
    Can I write this in Jass? :)
     
  6. -Kobas-

    -Kobas-

    Joined:
    Jan 17, 2010
    Messages:
    5,892
    Resources:
    28
    Icons:
    1
    Tools:
    2
    Maps:
    10
    Spells:
    4
    Template:
    5
    Tutorials:
    6
    Resources:
    28
    I will improve it drastically. You can wait to see it or no.
    If you convert this into any script language then I expect credits and link to resource :)

    Btw in final version:
    - Expect 3 taverns (each one will have 6 heroes).
    - Expect special bonuses.
    - Expect more effects.
    - Expect colored text and hint messages.
    - Expect sound effect.
    - Expect different interfaces as well.
    - Expect more players.
    - Expect small arena with few items and creeps to play with:D.
    - Expect hero pick limit selected by vote (from 1 to 5).
    - Expect multiboard that will show picked heroes (will work with mode above).

    Well expect much more in final version, I found inspiration so expect it soon.
     
    Last edited: Aug 1, 2011
  7. Magtheridon96

    Magtheridon96

    Joined:
    Dec 12, 2008
    Messages:
    6,003
    Resources:
    26
    Maps:
    1
    Spells:
    8
    Tutorials:
    7
    JASS:
    10
    Resources:
    26
    Actually, I might not do it because it's such a disaster :p
    No, i'm not insulting the system, I'm just saying that it would be really tedious to write all those LUA scripts :p
    xD
    Anyways, good job :)
     
  8. Laiev

    Laiev

    Joined:
    Oct 11, 2008
    Messages:
    274
    Resources:
    1
    Template:
    1
    Resources:
    1
    Leak :x
    • (Units in (Playable map area) matching..
     
  9. Striker21

    Striker21

    Joined:
    Aug 7, 2009
    Messages:
    376
    Resources:
    0
    Resources:
    0
    Wow, updated... now MPI.. what i expected..
    But,.. why you remove the heroes' abilities icons at the left below the heroes icons?.
    After reading your triggers, i don't think i found something to hide the Hero Model (destructible) to other player but unhide to selecting player only?
     
  10. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,137
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Well, i know this isn't final version, but i think you should fix text tags. Text tags at main attributes are mixed between. At stats, (regen, dmg...) text tags go over buttons, random and pick. At begin of game i see all 3 heroes, they aren't hidden. I think you should get Abilities back. And use all abilities with one destructible, ofc using trackables too in ultimate version. What i meant with one destructible is that you use only one destructible type for all spells, just like click one. And you can use Grab a Tree spell to change it's texture. So you would use only one destructible for all spells :p
    Oh nearly forget, also text tag showing heroes name and title isn't centered... idk why o_O also Hero summary texts start at Hero Summary, so you can't read that anymore... I think it's text tags size.
    EDIT : Now i saw regions... not even strange why text tags work so bad :( can't wait for final version.
    EDIT 2 : Why you use bars instead of reals... ???? f.e. "Damage : IIIIII" Instead of f.e. "Damage : 10-20"
    EDIT 3 : Heroes don't face correctly... and their scale is too small.
    EDIT 4 : I updated your map :) i fixed every text tag :) i fixed regions, i made heroes bigger, and some other little stuff, here it is :) View attachment UGHPS 2.1.w3x
     
    Last edited: Aug 1, 2011
  11. Cihparg

    Cihparg

    Joined:
    Jul 4, 2008
    Messages:
    958
    Resources:
    1
    Models:
    1
    Resources:
    1
    A few improvements could be done;
    Change "For each (Integer A) from 1 to 13, do (Actions)" to something else, than Integer A.
    Display the floating text only to local player, perhaps even the dummies as well.

    No, that is not a leak, as it is being handled with
    • set bj_wantDestroyGroup = true
     
  12. -Kobas-

    -Kobas-

    Joined:
    Jan 17, 2010
    Messages:
    5,892
    Resources:
    28
    Icons:
    1
    Tools:
    2
    Maps:
    10
    Spells:
    4
    Template:
    5
    Tutorials:
    6
    Resources:
    28
    Guys everything you said was checked and nicely tested.
    There are no leaks, Integer A and such variables work without errors etc etc.

    http://www.hiveworkshop.com/forums/1972158-post105.html


    I just placed them, I still need to calculate text size and scale because I based image on image created in WE .
    Can be and will be fixed.

    I like idea, look cool to me, just another way to show you how it can look like.
    Can be and will be fixed if more users find this annoying.

    Can be and will be fixed.

    Thanks but I think that I can do it myself as well :)

    Check description and my post linked above.

    Please download and test map.
    You will understand it then.
     
  13. Bugz

    Bugz

    Joined:
    Apr 18, 2011
    Messages:
    1,642
    Resources:
    2
    Maps:
    1
    StarCraft II Resources:
    1
    Resources:
    2
    Lovely 5/5
     
  14. -Kobas-

    -Kobas-

    Joined:
    Jan 17, 2010
    Messages:
    5,892
    Resources:
    28
    Icons:
    1
    Tools:
    2
    Maps:
    10
    Spells:
    4
    Template:
    5
    Tutorials:
    6
    Resources:
    28
    Progress....

    EDIT:

    I added Settings button, you are now free to easily pick different interface (Human, Orc, Night Elf and Undead)
     

    Attached Files:

    Last edited: Aug 1, 2011
  15. Vengeancekael

    Vengeancekael

    Joined:
    Aug 11, 2009
    Messages:
    5,740
    Resources:
    16
    Tools:
    1
    Maps:
    13
    Spells:
    1
    StarCraft II Resources:
    1
    Resources:
    16
    Mmmh love the new settings button, don't forget to remove the footman sound.
     
  16. DonDustin

    DonDustin

    Joined:
    Jun 15, 2006
    Messages:
    2,293
    Resources:
    1
    Tutorials:
    1
    Resources:
    1
    just subscribing and telling you tht I totally love that system <3
     
  17. -Kobas-

    -Kobas-

    Joined:
    Jan 17, 2010
    Messages:
    5,892
    Resources:
    28
    Icons:
    1
    Tools:
    2
    Maps:
    10
    Spells:
    4
    Template:
    5
    Tutorials:
    6
    Resources:
    28
    Already gone :D
    :aht:

    http://www.youtube.com/watch?v=hGCsCC8Cl8U
     
    Last edited: Aug 1, 2011
  18. Freaky DevA

    Freaky DevA

    Joined:
    Jun 11, 2010
    Messages:
    19
    Resources:
    1
    Spells:
    1
    Resources:
    1
    First of all this rocks!!! But I can't see it properly. Screenshot below.

    Image
    [​IMG]


    Anyone knows why this happens??
     
  19. phoenixfire

    phoenixfire

    Joined:
    Jun 10, 2008
    Messages:
    980
    Resources:
    0
    Resources:
    0
    Did you import everything right?
     
  20. -Kobas-

    -Kobas-

    Joined:
    Jan 17, 2010
    Messages:
    5,892
    Resources:
    28
    Icons:
    1
    Tools:
    2
    Maps:
    10
    Spells:
    4
    Template:
    5
    Tutorials:
    6
    Resources:
    28
    Set graphic options to high.