• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Hero Selection Window v1.0

Description

Triggers

Credits


This is the Hero Selection Full-Screen Window,this is a 2D Window System w/c allows you to pick heroes in window.You might mistaken this as a Multiboard But it is NOT!
Configurables are on the setup trigger so dont get confused :D

Congratulations to you for picking a very efficient Window System.Good Luck and have Fun!

Setup

Encapsulate

Main Save

Click

Info

Select Hero

Random

Camera

  • HSS Setup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Custom script: set udg_HSS_Hash = InitHashtable()
      • -------- ------------------------------------ --------
      • -------- Determines all the information of the hero --------
      • -------- ------------------------------------ --------
      • Set HSS_HeroType = Paladin
      • Set HSS_Model = Hero(Paladin)
      • Set HSS_Icon = (Icon) Paladin
      • Set HSS_Info = 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
      • Set HSS_Name = |cffffcc00Paladin
      • -------- ------------------------------------ --------
      • -------- Strength --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[1] = 22 + 2.70
      • -------- ------------------------------------ --------
      • -------- Agility --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[2] = 13 + 1.50
      • -------- ------------------------------------ --------
      • -------- Intelligence --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[3] = 17 + 1.80
      • -------- ------------------------------------ --------
      • -------- Trigger --------
      • -------- ------------------------------------ --------
      • Set HSS_Trigger = HSS Info <gen>
      • -------- ------------------------------------ --------
      • -------- Save --------
      • -------- ------------------------------------ --------
      • Set HSS_Button = Button 0012 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Save <gen> (ignoring conditions)
      • Set HSS_Button = Button 0033 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Save <gen> (ignoring conditions)
      • -------- ------------------------------------ --------
      • -------- Determines all the information of the hero --------
      • -------- ------------------------------------ --------
      • Set HSS_HeroType = Archmage
      • Set HSS_Model = Hero(Archmage)
      • Set HSS_Icon = (Icon) Archmage
      • Set HSS_Info = Mystical Hero, adept at ranged assaults. Can learn Blizzard, Summon Water Elemental, Brilliance Aura and Mass Teleport. |n|n|cffffcc00Attacks land and air units.|r
      • Set HSS_Name = |cffffcc00Archmage
      • -------- ------------------------------------ --------
      • -------- Strength --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[1] = 14 + 1.80
      • -------- ------------------------------------ --------
      • -------- Agility --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[2] = 17 + 1.00
      • -------- ------------------------------------ --------
      • -------- Intelligence --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[3] = 19 + 3.20
      • -------- ------------------------------------ --------
      • -------- Trigger --------
      • -------- ------------------------------------ --------
      • Set HSS_Trigger = HSS Info <gen>
      • -------- ------------------------------------ --------
      • -------- Save --------
      • -------- ------------------------------------ --------
      • Set HSS_Button = Button 0013 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Save <gen> (ignoring conditions)
      • Set HSS_Button = Button 0034 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Save <gen> (ignoring conditions)
      • -------- ------------------------------------ --------
      • -------- Determines all the information of the hero --------
      • -------- ------------------------------------ --------
      • Set HSS_HeroType = Mountain King
      • Set HSS_Model = Hero(Mountain King)
      • Set HSS_Icon = (Icon) Mountain King
      • Set HSS_Info = Warrior Hero, adept at offensive combat and disrupting enemy troops. Can learn Storm Bolt, Thunder Clap, Bash and Avatar. |n|n|cffffcc00Attacks land units.|r
      • Set HSS_Name = |cffffcc00Mountain King
      • -------- ------------------------------------ --------
      • -------- Strength --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[1] = 24 + 3.00
      • -------- ------------------------------------ --------
      • -------- Agility --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[2] = 11 + 1.50
      • -------- ------------------------------------ --------
      • -------- Intelligence --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[3] = 15 + 1.50
      • -------- ------------------------------------ --------
      • -------- Trigger --------
      • -------- ------------------------------------ --------
      • Set HSS_Trigger = HSS Info <gen>
      • -------- ------------------------------------ --------
      • -------- Save --------
      • -------- ------------------------------------ --------
      • Set HSS_Button = Button 0035 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Save <gen> (ignoring conditions)
      • Set HSS_Button = Button 0014 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Save <gen> (ignoring conditions)
      • -------- ------------------------------------ --------
      • -------- Determines all the information of the hero --------
      • -------- ------------------------------------ --------
      • Set HSS_HeroType = Blood Mage
      • Set HSS_Model = Hero(Blood Mage)
      • Set HSS_Icon = (Icon) Blood Mage
      • Set HSS_Info = 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
      • Set HSS_Name = |cffffcc00Blood Mage
      • -------- ------------------------------------ --------
      • -------- Strength --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[1] = 18 + 2.00
      • -------- ------------------------------------ --------
      • -------- Agility --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[2] = 14 + 1.00
      • -------- ------------------------------------ --------
      • -------- Intelligence --------
      • -------- ------------------------------------ --------
      • Set HSS_Attribute[3] = 19 + 3.00
      • -------- ------------------------------------ --------
      • -------- Trigger --------
      • -------- ------------------------------------ --------
      • Set HSS_Trigger = HSS Info <gen>
      • -------- ------------------------------------ --------
      • -------- Save --------
      • -------- ------------------------------------ --------
      • Set HSS_Button = Button 0015 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Save <gen> (ignoring conditions)
      • Set HSS_Button = Button 0036 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Save <gen> (ignoring conditions)
      • -------- ------------------------------------ --------
      • -------- Main Buttons --------
      • -------- ------------------------------------ --------
      • -------- ------------------------------------ --------
      • -------- Select Hero Button --------
      • -------- ------------------------------------ --------
      • Set HSS_Trigger = HSS Create Hero <gen>
      • Set HSS_Button = Button 0021 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Main Save <gen> (ignoring conditions)
      • Set HSS_Button = Button 0042 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Main Save <gen> (ignoring conditions)
      • -------- ------------------------------------ --------
      • -------- Random Hero --------
      • -------- ------------------------------------ --------
      • Set HSS_Trigger = HSS Random <gen>
      • Set HSS_Button = Button 0020 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Main Save <gen> (ignoring conditions)
      • Set HSS_Button = Button 0041 <gen>
      • Custom script: set udg_HSS_Key[1] = GetHandleId(udg_HSS_Button)
      • Trigger - Run HSS Main Save <gen> (ignoring conditions)
      • -------- ------------------------------------ --------
      • -------- Cameras --------
      • -------- ------------------------------------ --------
      • Set HSS_Camera[0] = Camera Debugger <gen>
      • Set HSS_Camera[1] = Camera Player 1 <gen>
      • Set HSS_Camera[2] = Camera Player 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Regions --------
      • -------- ------------------------------------ --------
      • -------- ------------------------------------ --------
      • -------- Main --------
      • -------- ------------------------------------ --------
      • Set HSS_MainRegion[1] = Main 1 <gen>
      • Set HSS_MainRegion[2] = Main 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Info --------
      • -------- ------------------------------------ --------
      • Set HSS_RegionInfo[1] = Hero Info 1 <gen>
      • Set HSS_RegionInfo[2] = Hero Info 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Heroes --------
      • -------- ------------------------------------ --------
      • Set HSS_RegionHeroes[1] = Heroes 1 <gen>
      • Set HSS_RegionHeroes[2] = Heroes 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Hero Model --------
      • -------- ------------------------------------ --------
      • Set HSS_HeroModelRegion[1] = Hero 3D Model 1 <gen>
      • Set HSS_HeroModelRegion[2] = Hero 3D Model 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Hero Icon --------
      • -------- ------------------------------------ --------
      • Set HSS_HeroIconRegion[1] = Hero Icon 1 <gen>
      • Set HSS_HeroIconRegion[2] = Hero Icon 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Hero Name --------
      • -------- ------------------------------------ --------
      • Set HSS_HeroNameRegion[1] = Hero Name 1 <gen>
      • Set HSS_HeroNameRegion[2] = Hero Name 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Agility --------
      • -------- ------------------------------------ --------
      • Set HSS_AgiRegion[1] = Hero Agi 1 <gen>
      • Set HSS_AgiRegion[2] = Hero Agi 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Strength --------
      • -------- ------------------------------------ --------
      • Set HSS_StrRegion[1] = Hero Str 1 <gen>
      • Set HSS_StrRegion[2] = Hero Str 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Intelligence --------
      • -------- ------------------------------------ --------
      • Set HSS_IntRegion[1] = Hero Int 1 <gen>
      • Set HSS_IntRegion[2] = Hero Int 2 <gen>
      • -------- ------------------------------------ --------
      • -------- Sets all Players --------
      • -------- ------------------------------------ --------
      • Set HSS_Player[1] = Player 1 (Red)
      • Set HSS_Player[2] = Player 2 (Blue)
      • -------- ------------------------------------ --------
      • -------- You can add all of the players if you want --------
      • -------- Adding the triggers and cameras for them --------
      • -------- ------------------------------------ --------
      • For each (Integer HSS_Integer) from 1 to 2, do (Actions)
        • Loop - Actions
          • Custom script: set udg_HSS_Key[2] = GetHandleId(udg_HSS_Player[udg_HSS_Integer])
          • -------- ------------------------------------ --------
          • -------- Creates a text which will be replaced by an info --------
          • -------- ------------------------------------ --------
          • Set HSS_TextLoc = (Center of HSS_RegionInfo[HSS_Integer])
          • Floating Text - Create floating text that reads at HSS_TextLoc with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
          • Set HSS_InfoText[HSS_Integer] = (Last created floating text)
          • Custom script: call RemoveLocation(udg_HSS_TextLoc)
          • -------- ------------------------------------ --------
          • -------- Creates a text which will be replaced by a hero name --------
          • -------- ------------------------------------ --------
          • Set HSS_TextLoc = (Center of HSS_HeroNameRegion[HSS_Integer])
          • Floating Text - Create floating text that reads at HSS_TextLoc with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
          • Set HSS_NameText[HSS_Integer] = (Last created floating text)
          • Custom script: call RemoveLocation(udg_HSS_TextLoc)
          • -------- ------------------------------------ --------
          • -------- Creates a text which will be replaced by the agility of the hero --------
          • -------- ------------------------------------ --------
          • Set HSS_TextLoc = (Center of HSS_AgiRegion[HSS_Integer])
          • Floating Text - Create floating text that reads at HSS_TextLoc with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
          • Set HSS_Agi[HSS_Integer] = (Last created floating text)
          • Custom script: call RemoveLocation(udg_HSS_TextLoc)
          • -------- ------------------------------------ --------
          • -------- Creates a text which will be replaced by the Strength of the hero --------
          • -------- ------------------------------------ --------
          • Set HSS_TextLoc = (Center of HSS_StrRegion[HSS_Integer])
          • Floating Text - Create floating text that reads at HSS_TextLoc with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
          • Set HSS_Str[HSS_Integer] = (Last created floating text)
          • Custom script: call RemoveLocation(udg_HSS_TextLoc)
          • -------- ------------------------------------ --------
          • -------- Creates a text which will be replaced by the Intelligence of the hero --------
          • -------- ------------------------------------ --------
          • Set HSS_TextLoc = (Center of HSS_IntRegion[HSS_Integer])
          • Floating Text - Create floating text that reads at HSS_TextLoc with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
          • Set HSS_Int[HSS_Integer] = (Last created floating text)
          • Custom script: call RemoveLocation(udg_HSS_TextLoc)
          • -------- ------------------------------------ --------
          • -------- Creates the visibility --------
          • -------- ------------------------------------ --------
          • Set HSS_VisibilityLoc = (Center of HSS_MainRegion[HSS_Integer])
          • Unit - Create 1 Selector for HSS_Player[HSS_Integer] at HSS_VisibilityLoc facing Default building facing degrees
          • Set HSS_Selector[HSS_Integer] = (Last created unit)
          • Custom script: call RemoveLocation(udg_HSS_VisibilityLoc)
          • -------- ------------------------------------ --------
          • -------- Starts the camera --------
          • -------- ------------------------------------ --------
          • Player Group - Add HSS_Player[HSS_Integer] to HSS_CameraGroup
          • Trigger - Turn on HSS Camera <gen>
          • Trigger - Add to HSS Select <gen> the event (Player - HSS_Player[HSS_Integer] Selects a unit)
      • -------- ------------------------------------ --------
      • -------- Hides all buttons --------
      • -------- ------------------------------------ --------
      • For each (Integer HSS_Integer) from 1 to 2, do (Actions)
        • Loop - Actions
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units in HSS_MainRegion[HSS_Integer]) and do (Animation - Change (Picked unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency)
  • HSS Save
    • Events
    • Conditions
    • Actions
      • Custom script: call SaveInteger(udg_HSS_Hash,udg_HSS_Key[1],1,udg_HSS_HeroType)
      • Custom script: call SaveInteger(udg_HSS_Hash,udg_HSS_Key[1],2,udg_HSS_Model)
      • Custom script: call SaveInteger(udg_HSS_Hash,udg_HSS_Key[1],3,udg_HSS_Icon)
      • Hashtable - Save HSS_Info as 4 of HSS_Key[1] in HSS_Hash
      • Hashtable - Save HSS_Attribute[1] as 5 of HSS_Key[1] in HSS_Hash
      • Hashtable - Save HSS_Attribute[2] as 6 of HSS_Key[1] in HSS_Hash
      • Hashtable - Save HSS_Attribute[3] as 7 of HSS_Key[1] in HSS_Hash
      • Hashtable - Save Handle OfHSS_Trigger as 8 of HSS_Key[1] in HSS_Hash
      • Hashtable - Save HSS_Name as 9 of HSS_Key[1] in HSS_Hash
  • HSS Main Save
    • Events
    • Conditions
    • Actions
      • Hashtable - Save Handle OfHSS_Trigger as 8 of HSS_Key[1] in HSS_Hash
  • HSS Select
    • Events
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Button
    • Actions
      • Set HSS_CurrentButton = (Triggering unit)
      • Custom script: set udg_HSS_Key[3] = GetHandleId(udg_HSS_CurrentButton)
      • Set HSS_TempPlayer = (Triggering player)
      • -------- ------------------------------------ --------
      • -------- Starting Trigger --------
      • -------- ------------------------------------ --------
      • Set HSS_ID = (Player number of HSS_TempPlayer)
      • Trigger - Turn off (This trigger)
      • Selection - Clear selection for HSS_TempPlayer
      • Set HSS_TempTrigger = (Load 8 of HSS_Key[3] in HSS_Hash)
      • Trigger - Run HSS_TempTrigger (ignoring conditions)
      • Trigger - Turn on (This trigger)
  • HSS Info
    • Events
    • Conditions
    • Actions
      • -------- ------------------------------------ --------
      • -------- Removing all models --------
      • -------- ------------------------------------ --------
      • Unit - Remove HSS_CurrentModel[HSS_ID] from the game
      • Destructible - Remove HSS_CurrentIcon[HSS_ID]
      • -------- ------------------------------------ --------
      • -------- Load --------
      • -------- ------------------------------------ --------
      • Custom script: set udg_HSS_TempHeroType = LoadInteger(udg_HSS_Hash,udg_HSS_Key[3],1)
      • Custom script: set udg_HSS_TempModel = LoadInteger(udg_HSS_Hash,udg_HSS_Key[3],2)
      • Custom script: set udg_HSS_TempIcon = LoadInteger(udg_HSS_Hash,udg_HSS_Key[3],3)
      • Set HSS_TempInfo = (Load 4 of HSS_Key[3] from HSS_Hash)
      • Set HSS_TempAttribute[1] = (Load 5 of HSS_Key[3] from HSS_Hash)
      • Set HSS_TempAttribute[2] = (Load 6 of HSS_Key[3] from HSS_Hash)
      • Set HSS_TempAttribute[3] = (Load 7 of HSS_Key[3] from HSS_Hash)
      • Set HSS_TempName = (Load 9 of HSS_Key[3] from HSS_Hash)
      • -------- ------------------------------------ --------
      • -------- Creating Icon --------
      • -------- ------------------------------------ --------
      • Set HSS_TempLoc = (Center of HSS_HeroIconRegion[HSS_ID])
      • Destructible - Create a HSS_TempIcon at HSS_TempLoc facing 0.00 with scale 1.50 and variation 0
      • Set HSS_CurrentIcon[HSS_ID] = (Last created destructible)
      • Custom script: call RemoveLocation(udg_HSS_TempLoc)
      • -------- ------------------------------------ --------
      • -------- Creating Hero Model --------
      • -------- ------------------------------------ --------
      • Set HSS_TempLoc = (Center of HSS_HeroModelRegion[HSS_ID])
      • Unit - Create 1 HSS_TempModel for HSS_TempPlayer at HSS_TempLoc facing 180.00 degrees
      • Set HSS_CurrentModel[HSS_ID] = (Last created unit)
      • Custom script: call RemoveLocation(udg_HSS_TempLoc)
      • -------- ------------------------------------ --------
      • -------- Creating Info --------
      • -------- ------------------------------------ --------
      • Set HSS_TempLocSys = (Center of HSS_RegionInfo[HSS_ID])
      • Floating Text - Destroy HSS_InfoText[HSS_ID]
      • Floating Text - Create floating text that reads HSS_TempInfo at HSS_TempLocSys with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Set HSS_InfoText[HSS_ID] = (Last created floating text)
      • Custom script: call RemoveLocation(udg_HSS_TempLocSys)
      • -------- ------------------------------------ --------
      • -------- Creating Name Info --------
      • -------- ------------------------------------ --------
      • Set HSS_TempLocSys = (Center of HSS_HeroNameRegion[HSS_ID])
      • Floating Text - Destroy HSS_NameText[HSS_ID]
      • Floating Text - Create floating text that reads HSS_TempName at HSS_TempLocSys with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Set HSS_NameText[HSS_ID] = (Last created floating text)
      • Custom script: call RemoveLocation(udg_HSS_TempLocSys)
      • -------- ------------------------------------ --------
      • -------- Creates all attribute info --------
      • -------- ------------------------------------ --------
      • -------- ------------------------------------ --------
      • -------- Str --------
      • -------- ------------------------------------ --------
      • Set HSS_TempLocSys = (Center of HSS_StrRegion[HSS_ID])
      • Floating Text - Destroy HSS_Str[HSS_ID]
      • Floating Text - Create floating text that reads HSS_TempAttribute[1] at HSS_TempLocSys with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Set HSS_Str[HSS_ID] = (Last created floating text)
      • Custom script: call RemoveLocation(udg_HSS_TempLocSys)
      • -------- ------------------------------------ --------
      • -------- Agi --------
      • -------- ------------------------------------ --------
      • Set HSS_TempLocSys = (Center of HSS_AgiRegion[HSS_ID])
      • Floating Text - Destroy HSS_Agi[HSS_ID]
      • Floating Text - Create floating text that reads HSS_TempAttribute[2] at HSS_TempLocSys with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Set HSS_Agi[HSS_ID] = (Last created floating text)
      • Custom script: call RemoveLocation(udg_HSS_TempLocSys)
      • -------- ------------------------------------ --------
      • -------- Int --------
      • -------- ------------------------------------ --------
      • Set HSS_TempLocSys = (Center of HSS_IntRegion[HSS_ID])
      • Floating Text - Destroy HSS_Int[HSS_ID]
      • Floating Text - Create floating text that reads HSS_TempAttribute[3] at HSS_TempLocSys with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Set HSS_Int[HSS_ID] = (Last created floating text)
      • Custom script: call RemoveLocation(udg_HSS_TempLocSys)
      • -------- ------------------------------------ --------
      • -------- Creates a current selected indicator --------
      • -------- ------------------------------------ --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • HSS_Indicator[HSS_ID] Equal to No unit
        • Then - Actions
          • Set HSS_TempLoc = (Position of HSS_CurrentButton)
          • Unit - Create 1 Current Selected for HSS_TempPlayer at HSS_TempLoc facing Default building facing degrees
          • Set HSS_Indicator[HSS_ID] = (Last created unit)
          • Custom script: call RemoveLocation(udg_HSS_TempLoc)
        • Else - Actions
          • Set HSS_TempLoc = (Position of HSS_CurrentButton)
          • Unit - Move HSS_Indicator[HSS_ID] instantly to HSS_TempLoc
          • Custom script: call RemoveLocation(udg_HSS_TempLoc)
      • Set HSS_CurrentSelected[HSS_ID] = HSS_CurrentButton
      • Set HSS_CurrentHeroType[HSS_ID] = HSS_TempHeroType
  • HSS Create Hero
    • Events
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • HSS_CurrentSelected[HSS_ID] Not equal to No unit
        • Then - Actions
          • Set HSS_TempLoc = (HSS_TempPlayer start location)
          • Unit - Create 1 HSS_CurrentHeroType[HSS_ID] for HSS_TempPlayer at HSS_TempLoc facing Default building facing degrees
          • -------- ------------------------------------ --------
          • -------- Removing Units --------
          • -------- ------------------------------------ --------
          • Unit - Remove HSS_Selector[HSS_ID] from the game
          • Unit - Remove HSS_CurrentSelected[HSS_ID] from the game
          • -------- ------------------------------------ --------
          • -------- Removing all models --------
          • -------- ------------------------------------ --------
          • Unit - Remove HSS_CurrentModel[HSS_ID] from the game
          • Destructible - Remove HSS_CurrentIcon[HSS_ID]
          • -------- ------------------------------------ --------
          • -------- Restoring Camera --------
          • -------- ------------------------------------ --------
          • Player Group - Remove HSS_TempPlayer from HSS_CameraGroup
          • Camera - Apply HSS_Camera[0] for HSS_TempPlayer over 0.00 seconds
          • Camera - Pan camera for HSS_TempPlayer to HSS_TempLoc over 0.00 seconds
          • Selection - Select (Last created unit) for HSS_TempPlayer
          • Custom script: call RemoveLocation(udg_HSS_TempLoc)
          • -------- ------------------------------------ --------
          • -------- Creating Disabled Icon --------
          • -------- ------------------------------------ --------
          • Set HSS_TempLoc = (Position of HSS_CurrentSelected[HSS_ID])
          • Destructible - Create a Button (Disabled) at HSS_TempLoc facing 0.00 with scale 1.50 and variation 0
          • Custom script: call RemoveLocation(udg_HSS_TempLoc)
          • -------- ------------------------------------ --------
          • -------- Destroying all text --------
          • -------- ------------------------------------ --------
          • Floating Text - Destroy HSS_InfoText[HSS_ID]
          • Floating Text - Destroy HSS_NameText[HSS_ID]
          • Floating Text - Destroy HSS_Agi[HSS_ID]
          • Floating Text - Destroy HSS_Int[HSS_ID]
          • Floating Text - Destroy HSS_Str[HSS_ID]
          • Set HSS_CurrentSelected[HSS_ID] = No unit
        • Else - Actions
  • HSS Random
    • Events
    • Conditions
    • Actions
      • Set HSS_RandomGroup[1] = (Units in HSS_MainRegion[HSS_ID] matching ((((Unit-type of (Matching unit)) Equal to Button) and ((Matching unit) Not equal to Button 0020 <gen>)) and ((((Matching unit) Not equal to Button 0021 <gen>) and ((Matching unit) Not equal to Button 0042 <gen>)) and
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in HSS_RandomGroup[1]) Greater than 0
        • Then - Actions
          • Set HSS_RandomGroup[2] = (Random 1 units from HSS_RandomGroup[1])
          • Set HSS_TempButton[1] = Button 0021 <gen>
          • Set HSS_TempButton[2] = Button 0042 <gen>
          • Unit Group - Pick every unit in HSS_RandomGroup[2] and do (Actions)
            • Loop - Actions
              • Selection - Select (Picked unit) for HSS_TempPlayer
          • Selection - Select HSS_TempButton[HSS_ID] for HSS_TempPlayer
          • Custom script: call DestroyGroup(udg_HSS_RandomGroup[2])
        • Else - Actions
      • Custom script: call DestroyGroup(udg_HSS_RandomGroup[1])
  • HSS Camera
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Player Group - Pick every player in HSS_CameraGroup and do (Actions)
        • Loop - Actions
          • Set HSS_TempID = (Player number of (Picked player))
          • Camera - Apply HSS_Camera[HSS_TempID] for (Picked player) over 0.00 seconds

-Kobas for the icon paths
-doomhammer99 that i remember asking me to upload this :D
Contents

HSS v1.3 (Map)

Reviews
21:51, 2nd Dec 2012 Magtheridon96: Since I approved this months ago and then rejected it for not having proper Credits in it, I guess it can be approved once more :V But seriously, if you want to make something innovative, as soon as a Window...

Moderator

M

Moderator

21:51, 2nd Dec 2012
Magtheridon96: Since I approved this months ago and then rejected it for not having proper Credits in it, I guess it can be approved once more :V

But seriously, if you want to make something innovative, as soon as a Window system is available (A proper, usable version of DGUI), I encourage you to update this to use that.
 
Level 33
Joined
Apr 24, 2012
Messages
5,113
Window System
just like that,is one of the most (currently impossible) complex system idea.
The original window system would be using images instead of destructables and makes the window follow the camera whereever it goes.
Window system has a scrolls(like websites) and doesnt not use trackables.

Also this system i made is approved months ago,but rejected because of not giving the right credits,that's why i reupload it.
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
look cool the design :)

just a question, why dont disable the periodic trigger when dont needed? i talk about "HSS Camera" trigger.


few personal opinion:
- without (unholy) aura maybe look better the button units, exclude the selector aura, that really nice ideea
- units scale, few of them is too tall or dwarf hammer sometimes out from window, why dont use a bit smaller unit scale?
- default selected hero could be somebody else the unholy aura where is normally the hero icon what selected, is a bit weird
- write into description it is MPI or SPI
(overall i cant say nothing bad about system)
 
Last edited:
Level 3
Joined
Jun 13, 2010
Messages
43
Wow... why 1 hero selection menu when you can code it all at just one menu. one menu per player is ridiculous and inefficient of space for the terrain. Just use player numbers to indicate the selection to all variable is way better. you know it don't you..
 
Level 33
Joined
Apr 24, 2012
Messages
5,113
look cool the design :)

just a question, why dont disable the periodic trigger when dont needed? i talk about "HSS Camera" trigger.


few personal opinion:
- without (unholy) aura maybe look better the button units, exclude the selector aura, that really nice ideea
- units scale, few of them is too tall or dwarf hammer sometimes out from window, why dont use a bit smaller unit scale?
- default selected hero could be somebody else the unholy aura where is normally the hero icon what selected, is a bit weird
- write into description it is MPI or SPI
(overall i cant say nothing bad about system)

I cant disable the loop because there are no booleans if the player group is empty or not.
I see... then just the same as the other FS systems...

Pretty neat system btw...

PS: Is it possible to make this work the same way as shadow's inventory system which doesn't need any reserved space on the map?
No.
what the hell Radamantus why u upload bad-ass system is it because you now have many women?

good job by the way :)
LoL thank You :D

Wow... why 1 hero selection menu when you can code it all at just one menu. one menu per player is ridiculous and inefficient of space for the terrain. Just use player numbers to indicate the selection to all variable is way better. you know it don't you..
GetLocalPlayer doesnt work on units that's why :D
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
Wow... why 1 hero selection menu when you can code it all at just one menu. one menu per player is ridiculous and inefficient of space for the terrain. Just use player numbers to indicate the selection to all variable is way better. you know it don't you..

that right if u want show to every player the selection, so player 1 click to somebody that see like selected the player 2 too.....

so this make complication and dont solve a simple array but can solve if he ise getlocalplayer with vertexcolor alpha (transparent unit), then if he use special effect for selection and he add path with getlocalplayer, then also the floating text string must be with getlocalplayer (or what better, create locally the floating text)

so lets check overall:

unit array [player number 1-12] - selected hero (visible only to local player who must be same than triggering player)
special effect array[1-12] or another unit array - with localplayer path setting or if unit then vertex color but special effect better
floating text array[1-12] same way than special effect
could be use a player array/or integer array with player number also if he use +1 integer then could be easily turned on/off the camera settings

if we talk how to hide the interface, if somebody predefine to variable the use doodas and units the with ifgetlocalplayer hide/show destructible and for units the vertex color and add locust to unit could solve it easily
 
Level 7
Joined
Sep 2, 2011
Messages
350
He really meant was the originality came from the very concept of the system which is very similar to yours. They do have different codes but yet I don't see anything in features. But for efficient use, of course, one person will choose one of your systems as self preference by their liking.
 
Level 2
Joined
Jan 27, 2013
Messages
9
can only 1 hero be chosen/randomed now ???

and can u use this for more than 40-50 heroes?
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
But seriously, if you want to make something innovative, as soon as a Window system is available (A proper, usable version of DGUI), I encourage you to update this to use that.
if u meant to Custom Window by maker, that arent dgui, even if somebody vjasser then in dgui too exist working backpack maps etc, in this way we cant do nothing really new :D
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
Magtheridon96 is making one.
He wants me to continue it but i refused,due to my lacking vJASS skills

if u lacking vjass skill then from where u know it is trash what i posted? thats what i dont understand when someone blame a map what cant do it because no skill for it...

somehow i dont see why this trashy lol
 

Attachments

  • WC3ScrnShot_031813_171130_02.tga
    1.4 MB · Views: 115
Level 17
Joined
Nov 13, 2006
Messages
1,814
Not so lacking because of his skill.
That system is trashy because it doesn't support the player's camera(not camera-friendly,because it locks the camera on a certain place).He uses his own libraries even though there are much better.

because if camera doesnt lock then its alot more calculation even that before u mention about libraries i must notice this is
http://www.wc3c.net/showthread.php?t=102351 from 2008 -> ~5 year ago
http://www.wc3c.net/showthread.php?t=104931 from 2009 -> "just" 4 year ago but even that if camera locked to unit still work damn smoothly and eye candy also not slow :p
 
Level 33
Joined
Apr 24, 2012
Messages
5,113
DGUI must allow camera-friendly.We hate this "lock the camera and drag me to the whatnot space where a window of whatever awaits"


and did you say "Eye-Candy"? Humans prefer 75% of the code's eye candy than its function.Dumb people would say "Table is a garbage" but look what awesomeness it did to us. Its like looking into a beautiful woman with very bad attitude than an ugly woman with very beautiful attitude
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
and did you say "Eye-Candy"? Humans prefer 75% of the code's eye candy than its function.Dumb people would say "Table is a garbage" but look what awesomeness it did to us. Its like looking into a beautiful woman with very bad attitude than an ugly woman with very beautiful attitude

@last off
like theory it is right/true but in this world i got difference experience about beautiful vs ugly womans, similair about maps, a player dont look the codes since map is protected anyway
 
Top