System G_Display, a versatile dialog display system.

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
G_Display
v.1.00

System Uses

This system creates a dialog box on the top right with a pulldown menu. This menu will attach list items to it with names of your choosing. Each menu item will be allowed 1 Dialog Module ID, which will determine what type of dialog box is created for that list item. When you select a list item, it hides the current item and shows the selected one. It is very open to use with modules from other programmers, so anyone who wants to have a link to their module if they create one put up on this thread pm me with a download link and i will check it out.

Customize-ability

  • Box Width
  • Window Ammount
  • Window Type
  • Name Label Sizes
  • Hide All Windows Text (IE: None, Hidden, etc.)
  • The Initial Selected Window

NOTE: These are the customize-able options for the core only.

Initialization Code:
Trigger:
  • G_Display System Init
    • Events
      • Game - Map initialization
    • Local Variables
      • Integer Loop 1 = 0 <Integer>
      • Untitled Variable 001 = 0 <Integer[15]>
    • Conditions
    • Actions
      • ------- Here is what you edit.
      • ------- Here you set the names and Type ID Strings of each window in the pulldown menu.
      • Variable - Set G_Display Window Names[1] = "Test 1: Scores/Kills"
      • Variable - Set G_Display Window Type ID[1] = G_D M_S/K ID Number
      • ------- Here is Where You add the actions from the module in the trigger that begins with: Initialization Actions <gen>
      • Data Table - Save G_D M_S/K Score Window Initialization as ("G_D Mod ID " + (String(G_D M_S/K ID Number))) in the Global data table
      • Player Group - Pick each player in (All players) and do (Actions)
        • Actions
          • General - If (Conditions) then do (Actions) else do (Actions)
            • If
              • (Bank "G_D M_S/K" exists for player (Picked player)) == True
            • Then
              • Bank - Preload and synchronize bank "G_D M_S/K" for player (Picked player)
              • Variable - Set G_D M_S/K Bank[(Picked player)] = (Last opened bank)
              • Variable - Set G_D M_S/K Scores and stats[(Picked player)][4] = (Load "Kill Rating" of section "Kill Rating" from bank (Last opened bank) as integer value)
              • Variable - Set G_D M_S/K Kill/Death Instances[(Picked player)] = (Load "Kill Rating Reduction Factor" of section "Kill Rating" from bank (Last opened bank) as integer value)
            • Else
              • Bank - Open bank "G_D M_S/K" for player (Picked player)
              • Variable - Set G_D M_S/K Bank[(Picked player)] = (Last opened bank)
              • Variable - Set G_D M_S/K Scores and stats[(Picked player)][4] = 1000
              • Variable - Set G_D M_S/K Kill/Death Instances[(Picked player)] = 0
              • Bank - Store integer G_D M_S/K Scores and stats[(Picked player)][4] as "Kill Rating" of section "Kill Rating" in bank G_D M_S/K Bank[0]
              • Bank - Store integer G_D M_S/K Kill/Death Instances[(Picked player)] as "Kill Rating Reduction Factor" of section "Kill Rating" in bank G_D M_S/K Bank[0]
              • Bank - Save bank G_D M_S/K Bank[(Picked player)]
      • General - For each integer Integer Loop 1 from 1 to G_D M_S/K Team Ammount with increment 1, do (Actions)
        • Actions
          • Player Group - Pick each player in (Players on team Integer Loop 1) and do (Actions)
            • Actions
              • Variable - Set G_D M_S/K Team Int[(Picked player)] = Integer Loop 1
              • Variable - Set Untitled Variable 001[G_D M_S/K Team Int[(Picked player)]] = (G_D M_S/K Scores and stats[(Picked player)][4] + Untitled Variable 001[G_D M_S/K Team Int[(Picked player)]])
          • General - If (Conditions) then do (Actions) else do (Actions)
            • If
              • (Number of players in (Players on team Integer Loop 1)) < 0
            • Then
              • Variable - Set G_D M_S/K Scores and stats[(Integer Loop 1 + 14)][4] = (Untitled Variable 001[Integer Loop 1] / (Number of players in (Players on team Integer Loop 1)))
            • Else
              • Variable - Set G_D M_S/K Scores and stats[(Integer Loop 1 + 14)][4] = 0
      • ------- This creates the core pulldown menu.
      • ------- Do not edit below here.
      • Dialog - Create a Modal dialog of size (G_Display Width, 100) at (0, 50) relative to Top Right of screen
      • Dialog - Create a Pulldown for dialog (Last created dialog)
      • Variable - Set G_Display Pulldown = (Last created dialog item)
      • Dialog - Set (Last created dialog item) size to ((G_Display Width - 45), 50) for (All players)
      • Dialog - Move (Last created dialog item) to (26, 26) relative to Top Left of dialog for (All players)
      • Dialog - Show (Last created dialog) for (All players)
      • General - For each integer Integer Loop 1 from 1 to G_Display Window Ammount with increment 1, do (Actions)
        • Actions
          • Dialog - Add list item G_Display Window Names[Integer Loop 1] to (Last created dialog item) for (All players)
          • Variable - Set G_Display Initializer = Integer Loop 1
          • Trigger - Run (("G_D Mod ID " + (String(G_Display Window Type ID[Integer Loop 1]))) from the Global data table) (Check Conditions, Wait until it finishes)
      • Dialog - Add list item "None" to (Last created dialog item) for (All players)
      • Dialog - Select item G_Display Initial Option of (Last created dialog item) for (All players)

Hide/Show Windows Code:
Trigger:
  • G_Display Hide and Show
    • Events
      • Dialog - Any Dialog Item is used by Player Any Player with event type Changed Selection
    • Local Variables
      • Integer Loop 1 = 0 <Integer>
    • Conditions
      • G_Display Pulldown == (Used dialog item)
    • Actions
      • General - For each integer Integer Loop 1 from 1 to G_Display Window Ammount with increment 1, do (Actions)
        • Actions
          • Dialog - Hide G_Display Dialog Windows[Integer Loop 1] for (Player group((Triggering player)))
      • General - If (Conditions) then do (Actions) else do (Actions)
        • If
          • (Selected list item of (Used dialog item) for (Triggering player)) == (G_Display Window Ammount + 1)
        • Then
        • Else
          • Dialog - Show G_Display Dialog Windows[(Selected list item of (Used dialog item) for (Triggering player))] for (Player group((Triggering player)))

Core Download:
View attachment G_Display Core.SC2Map

Test Map With basic Score/Kill Module with an arena style rating system:
View attachment G_Display Demonstration.SC2Map

G_Display Score Window.jpgG_Display Pulldown Menu.jpgG_Display No Window.jpg

Module Info:
G_Display Score/Kills Mod, rating system included.
v. 0.79

This system records the kills, deaths, and assists of all heroes and teams. It also records a rating system based off your kills and deaths that is saved in a bank and adjusted by a large ammount at first, gradually getting to a smaller change with every kill or death, allowing you to reach your true rating as fast as possible. The change from deaths/kills is also dependent on the difference in rating between the players. Label Positions have an algorithm that allows them to be appropriately placed based on the size of the width. It is not yet completed, still changing some things and hopefully getting the teams to properly display the average kill rating average of the team.

Customize-ability:
  • Window Length
  • Window ID #
  • Whether to display teams or not
  • The label width for K/D/A and KR (Kill Rating)
  • Unit Type Conditions (IE: Record only heroic/Massive/Armor kills etc)
  • Algorithm for Kill Rating

Module Coding:
Trigger:
  • G_D M_S/K Score Window Initialization
    • Events
    • Local Variables
      • Untitled Variable 002 = 50 <Integer>
      • Untitled Variable 003 = 0 <Integer>
    • Conditions
    • Actions
      • Variable - Set G_D M_S/K Height = 0
      • General - If (Conditions) then do (Actions) else do (Actions)
        • If
          • G_D M_S/K Show Teams[G_Display Initializer] == True
        • Then
          • Variable - Set G_D M_S/K Height = (+ (120, ((Number of players in (Active Players)) * 30), (G_D M_S/K Team Ammount * 50)))
        • Else
          • Variable - Set G_D M_S/K Height = (+ (120, ((Number of players in (Active Players)) * 30)))
      • Dialog - Create a Modal dialog of size (G_Display Width, G_D M_S/K Height) at (0, 140) relative to Top Right of screen
      • Variable - Set G_Display Dialog Windows[G_Display Initializer] = (Last created dialog)
      • Dialog - Create a label for dialog (Last created dialog) with the dimensions (G_Display Name Width, 50) anchored to Top Left with an offset of (50, Untitled Variable 002) with the text "Player Names" color set to White text writeout set to False with a writeout duration of 2.0
      • Dialog - Create a label for dialog (Last created dialog) with the dimensions (75, 50) anchored to Top Left with an offset of ((G_Display Name Width + ((G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2)))) / 2)), Untitled Variable 002) with the text "K/D/A" color set to Gray text writeout set to False with a writeout duration of 2.0
      • Dialog - Set (Last created dialog item) tooltip to "Kills/Deaths/Assists" for (All players)
      • Dialog - Create a label for dialog (Last created dialog) with the dimensions (75, 50) anchored to Top Left with an offset of ((G_Display Name Width + (+ (G_D M_S/K Field Size, (G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2), ((G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2)))) / 4))))))), Untitled Variable 002) with the text "KR" color set to Gray text writeout set to False with a writeout duration of 2.0
      • Dialog - Set (Last created dialog item) tooltip to "Kill Rating Begins at 1000, then i..." for (All players)
      • Variable - Set Untitled Variable 002 = (Untitled Variable 002 + 50)
      • General - If (Conditions) then do (Actions) else do (Actions)
        • If
          • G_D M_S/K Show Teams[G_Display Initializer] == True
        • Then
          • General - For each integer Untitled Variable 003 from 1 to G_D M_S/K Team Ammount with increment 1, do (Actions)
            • Actions
              • Dialog - Create a label for dialog (Last created dialog) with the dimensions (G_Display Name Width, 50) anchored to Top Left with an offset of (50, Untitled Variable 002) with the text ("Team " + (Text(Untitled Variable 003))) color set to White text writeout set to False with a writeout duration of 2.0
              • Variable - Set G_D M_S/K Score Labels[(Untitled Variable 003 + 14)][1] = (Last created dialog item)
              • Dialog - Create a label for dialog (Last created dialog) with the dimensions (75, 50) anchored to Top Left with an offset of ((G_Display Name Width + ((G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2)))) / 2)), Untitled Variable 002) with the text (Combine ((Text(G_D M_S/K Scores and stats[(Untitled Variable 003 + 14)][1])), "/", (Text(G_D M_S/K Scores and stats[(Untitled Variable 003 + 14)][2])), "/", (Text(G_D M_S/K Scores and stats[(Untitled Variable 003 + 14)][3])))) color set to Gray text writeout set to False with a writeout duration of 2.0
              • Variable - Set G_D M_S/K Score Labels[(Untitled Variable 003 + 14)][2] = (Last created dialog item)
              • Dialog - Create a label for dialog (Last created dialog) with the dimensions (75, 50) anchored to Top Left with an offset of ((G_Display Name Width + (+ (G_D M_S/K Field Size, (G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2), ((G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2)))) / 4))))))), Untitled Variable 002) with the text (Text(G_D M_S/K Scores and stats[(Untitled Variable 003 + 14)][0])) color set to Gray text writeout set to False with a writeout duration of 2.0
              • Variable - Set G_D M_S/K Score Labels[(Untitled Variable 003 + 14)][3] = (Last created dialog item)
              • Variable - Set Untitled Variable 002 = (Untitled Variable 002 + 30)
              • Player Group - Pick each player in (Players on team Untitled Variable 003) and do (Actions)
                • Actions
                  • Dialog - Create a label for dialog (Last created dialog) with the dimensions (G_Display Name Width, 50) anchored to Top Left with an offset of (50, Untitled Variable 002) with the text (Name of player (Picked player)) color set to (Color((Current player (Picked player) color))) text writeout set to False with a writeout duration of 2.0
                  • Variable - Set G_D M_S/K Score Labels[(Picked player)][1] = (Last created dialog item)
                  • Dialog - Create a label for dialog (Last created dialog) with the dimensions (75, 50) anchored to Top Left with an offset of ((G_Display Name Width + ((G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2)))) / 2)), Untitled Variable 002) with the text (Combine ((Text(G_D M_S/K Scores and stats[(Picked player)][1])), "/", (Text(G_D M_S/K Scores and stats[(Picked player)][2])), "/", (Text(G_D M_S/K Scores and stats[(Picked player)][3])))) color set to (Color((Current player (Picked player) color))) text writeout set to False with a writeout duration of 2.0
                  • Variable - Set G_D M_S/K Score Labels[(Picked player)][2] = (Last created dialog item)
                  • Dialog - Create a label for dialog (Last created dialog) with the dimensions (75, 50) anchored to Top Left with an offset of ((G_Display Name Width + (+ (G_D M_S/K Field Size, (G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2), ((G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2)))) / 4))))))), Untitled Variable 002) with the text (Text(G_D M_S/K Scores and stats[(Picked player)][4])) color set to (Color((Current player (Picked player) color))) text writeout set to False with a writeout duration of 2.0
                  • Variable - Set G_D M_S/K Score Labels[(Picked player)][3] = (Last created dialog item)
                  • Variable - Set Untitled Variable 002 = (Untitled Variable 002 + 30)
              • Variable - Set Untitled Variable 002 = (Untitled Variable 002 + 20)
        • Else
          • Player Group - Pick each player in (All players) and do (Actions)
            • Actions
              • Dialog - Create a label for dialog (Last created dialog) with the dimensions (G_Display Name Width, 50) anchored to Top Left with an offset of (50, Untitled Variable 002) with the text (Name of player (Picked player)) color set to (Color((Current player (Picked player) color))) text writeout set to False with a writeout duration of 2.0
              • Variable - Set G_D M_S/K Score Labels[(Picked player)][1] = (Last created dialog item)
              • Dialog - Create a label for dialog (Last created dialog) with the dimensions (75, 50) anchored to Top Left with an offset of ((G_Display Name Width + ((G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2)))) / 2)), Untitled Variable 002) with the text (Combine ((Text(G_D M_S/K Scores and stats[(Picked player)][1])), "/", (Text(G_D M_S/K Scores and stats[(Picked player)][2])), "/", (Text(G_D M_S/K Scores and stats[(Picked player)][3])))) color set to (Color((Current player (Picked player) color))) text writeout set to False with a writeout duration of 2.0
              • Variable - Set G_D M_S/K Score Labels[(Picked player)][2] = (Last created dialog item)
              • Dialog - Create a label for dialog (Last created dialog) with the dimensions (75, 50) anchored to Top Left with an offset of ((G_Display Name Width + (+ (G_D M_S/K Field Size, (G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2), ((G_Display Width - (+ (G_Display Name Width, (G_D M_S/K Field Size * 2)))) / 4))))))), Untitled Variable 002) with the text (Text(G_D M_S/K Scores and stats[(Picked player)][4])) color set to (Color((Current player (Picked player) color))) text writeout set to False with a writeout duration of 2.0
              • Variable - Set G_D M_S/K Score Labels[(Picked player)][3] = (Last created dialog item)
              • Variable - Set Untitled Variable 002 = (Untitled Variable 002 + 30)

Module Refresher Code:
Trigger:
  • G_D M_S/K Window Refresher
    • Events
      • Unit - Any Unit dies
    • Local Variables
      • Integer Loop 1 = 0 <Integer>
      • Untitled Variable 001 = 0 <Integer[15]>
      • Untitled Variable 002 = 0.0 <Real>
      • Untitled Variable 003 = 0 <Integer>
    • Conditions
      • ((Unit type of (Triggering unit)) is Hero) == True
    • Actions
      • Variable - Set G_D M_S/K Kill/Death Instances[(Owner of (Triggering unit))] = (G_D M_S/K Kill/Death Instances[(Owner of (Triggering unit))] + 1)
      • Variable - Set G_D M_S/K Kill/Death Instances[(Owner of (Killing unit))] = (G_D M_S/K Kill/Death Instances[(Owner of (Killing unit))] + 1)
      • Variable - Set Untitled Variable 002 = ((Real(G_D M_S/K Scores and stats[(Owner of (Triggering unit))][4])) / (Real(G_D M_S/K Scores and stats[(Owner of (Killing unit))][4])))
      • Variable - Set G_D M_S/K Scores and stats[(Owner of (Triggering unit))][4] = (G_D M_S/K Scores and stats[(Owner of (Triggering unit))][4] - (Integer((50.0 + (* (Untitled Variable 002, ((Real(G_D M_S/K Kill/Death Instances[(Owner of (Triggering unit))])) ^ 0.5)))))))
      • Dialog - Set G_D M_S/K Score Labels[(Owner of (Triggering unit))][3] text to (Text(G_D M_S/K Scores and stats[(Owner of (Triggering unit))][4])) for (Player group((Owner of (Triggering unit))))
      • Bank - Store integer G_D M_S/K Scores and stats[(Owner of (Triggering unit))][4] as "Kill Rating" of section "Kill Rating" in bank G_D M_S/K Bank[(Owner of (Triggering unit))]
      • Bank - Store integer G_D M_S/K Kill/Death Instances[(Owner of (Triggering unit))] as "Kill Rating Reduction Factor" of section "Kill Rating" in bank G_D M_S/K Bank[(Owner of (Triggering unit))]
      • Bank - Save bank G_D M_S/K Bank[(Owner of (Triggering unit))]
      • Variable - Set G_D M_S/K Scores and stats[(Owner of (Killing unit))][4] = (G_D M_S/K Scores and stats[(Owner of (Killing unit))][4] + (Integer((50.0 + (* (Untitled Variable 002, ((Real(G_D M_S/K Kill/Death Instances[(Owner of (Killing unit))])) ^ 0.5)))))))
      • Dialog - Set G_D M_S/K Score Labels[(Owner of (Killing unit))][3] text to (Text(G_D M_S/K Scores and stats[(Owner of (Killing unit))][4])) for (Player group((Owner of (Killing unit))))
      • Bank - Store integer G_D M_S/K Scores and stats[(Owner of (Killing unit))][4] as "Kill Rating" of section "Kill Rating" in bank G_D M_S/K Bank[(Owner of (Killing unit))]
      • Bank - Store integer G_D M_S/K Kill/Death Instances[(Owner of (Killing unit))] as "Kill Rating Reduction Factor" of section "Kill Rating" in bank G_D M_S/K Bank[(Owner of (Killing unit))]
      • Bank - Save bank G_D M_S/K Bank[(Owner of (Killing unit))]
      • Variable - Set G_D M_S/K Scores and stats[(Owner of (Triggering unit))][2] = (G_D M_S/K Scores and stats[(Owner of (Triggering unit))][2] + 1)
      • Dialog - Set G_D M_S/K Score Labels[(Owner of (Triggering unit))][2] text to (Combine ((Text(G_D M_S/K Scores and stats[(Owner of (Triggering unit))][1])), "/", (Text(G_D M_S/K Scores and stats[(Owner of (Triggering unit))][2])), "/", (Text(G_D M_S/K Scores and stats[(Owner of (Triggering unit))][3])))) for (All players)
      • Dialog - Set G_D M_S/K Score Labels[(Owner of (Triggering unit))][3] text to (Text(G_D M_S/K Scores and stats[(Owner of (Triggering unit))][4])) for (All players)
      • Variable - Set G_D M_S/K Scores and stats[(Owner of (Killing unit))][1] = (G_D M_S/K Scores and stats[(Owner of (Killing unit))][1] + 1)
      • Dialog - Set G_D M_S/K Score Labels[(Owner of (Killing unit))][2] text to (Combine ((Text(G_D M_S/K Scores and stats[(Owner of (Killing unit))][1])), "/", (Text(G_D M_S/K Scores and stats[(Owner of (Killing unit))][2])), "/", (Text(G_D M_S/K Scores and stats[(Owner of (Killing unit))][3])))) for (All players)
      • Dialog - Set G_D M_S/K Score Labels[(G_D M_S/K Team Int[(Owner of (Killing unit))] + 14)][3] text to (Text(G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Killing unit))] + 14)][4])) for (All players)
      • Variable - Set G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Triggering unit))] + 14)][2] = (G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Triggering unit))] + 14)][2] + 1)
      • Dialog - Set G_D M_S/K Score Labels[(G_D M_S/K Team Int[(Owner of (Triggering unit))] + 14)][2] text to (Combine ((Text(G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Triggering unit))] + 14)][1])), "/", (Text(G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Triggering unit))] + 14)][2])), "/", (Text(G_D M_S/K Scores and stats[(G_D M_S/K for (All players)
      • Dialog - Set G_D M_S/K Score Labels[(G_D M_S/K Team Int[(Owner of (Triggering unit))] + 14)][3] text to (Text(G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Triggering unit))] + 14)][4])) for (All players)
      • Variable - Set G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Killing unit))] + 14)][1] = (G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Killing unit))] + 14)][1] + 1)
      • Dialog - Set G_D M_S/K Score Labels[(G_D M_S/K Team Int[(Owner of (Killing unit))] + 14)][2] text to (Combine ((Text(G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Killing unit))] + 14)][1])), "/", (Text(G_D M_S/K Scores and stats[(G_D M_S/K Team Int[(Owner of (Killing unit))] + 14)][2])), "/", (Text(G_D M_S/K Scores and stats[(G_D M_S/K Team for (All players)
      • Dialog - Set G_D M_S/K Score Labels[(Owner of (Killing unit))][3] text to (Text(G_D M_S/K Scores and stats[(Owner of (Killing unit))][4])) for (All players)
      • Unit Group - Pick each unit in (Units in (Region((Position of (Triggering unit)), 9.0)) having alliance Ally Exclude Self with player (Owner of (Killing unit)) matching Required: Heroic; Excluded: Missile, with at most Any Amount) and do (Actions)
        • Actions
          • Variable - Set G_D M_S/K Kill/Death Instances[(Owner of (Picked unit))] = (G_D M_S/K Kill/Death Instances[(Owner of (Picked unit))] + 1)
          • Variable - Set G_D M_S/K Scores and stats[(Owner of (Picked unit))][3] = (G_D M_S/K Scores and stats[(Owner of (Picked unit))][1] + 3)
          • Variable - Set G_D M_S/K Scores and stats[(Owner of (Killing unit))][4] = (G_D M_S/K Scores and stats[(Owner of (Killing unit))][4] + (Integer((50.0 + (* (Untitled Variable 002, ((Real(G_D M_S/K Kill/Death Instances[(Owner of (Killing unit))])) ^ 0.5), 0.1))))))
          • Dialog - Set G_D M_S/K Score Labels[(Picked player)][2] text to (Combine ((Text(G_D M_S/K Scores and stats[(Owner of (Picked unit))][1])), "/", (Text(G_D M_S/K Scores and stats[(Owner of (Picked unit))][2])), "/", (Text(G_D M_S/K Scores and stats[(Owner of (Picked unit))][3])))) for (All players)
          • Dialog - Set G_D M_S/K Score Labels[(Picked player)][3] text to (Text(G_D M_S/K Scores and stats[(Owner of (Picked unit))][4])) for (All players)
          • Dialog - Set G_D M_S/K Score Labels[(Owner of (Picked unit))][3] text to (Text(G_D M_S/K Scores and stats[(Owner of (Picked unit))][4])) for (Player group((Owner of (Picked unit))))
          • Bank - Store integer G_D M_S/K Scores and stats[(Owner of (Picked unit))][4] as "Kill Rating" of section "Kill Rating" in bank G_D M_S/K Bank[(Owner of (Picked unit))]
          • Bank - Store integer G_D M_S/K Kill/Death Instances[(Owner of (Picked unit))] as "Kill Rating Reduction Factor" of section "Kill Rating" in bank G_D M_S/K Bank[(Owner of (Picked unit))]
          • Bank - Save bank G_D M_S/K Bank[(Picked player)]
      • General - For each integer Integer Loop 1 from 1 to 14 with increment 1, do (Actions)
        • Actions
          • Dialog - Set G_D M_S/K Score Labels[(Picked player)][2] text to (Combine ((Text(G_D M_S/K Scores and stats[(Owner of (Picked unit))][1])), "/", (Text(G_D M_S/K Scores and stats[(Owner of (Picked unit))][2])), "/", (Text(G_D M_S/K Scores and stats[(Owner of (Picked unit))][3])))) for (All players)
          • Player Group - Pick each player in (Players on team Integer Loop 1) and do (Actions)
            • Actions
              • Variable - Set G_D M_S/K Team Int[(Picked player)] = Integer Loop 1
              • Variable - Set Untitled Variable 001[G_D M_S/K Team Int[(Picked player)]] = (G_D M_S/K Scores and stats[(Picked player)][4] + Untitled Variable 001[G_D M_S/K Team Int[(Picked player)]])
          • Variable - Set G_D M_S/K Scores and stats[(Integer Loop 1 + 14)][4] = (Untitled Variable 001[Integer Loop 1] / (Number of players in (Players on team Integer Loop 1)))
          • Dialog - Set G_D M_S/K Score Labels[(Integer Loop 1 + 14)][4] text to (Text(G_D M_S/K Scores and stats[(Integer Loop 1 + 14)][4])) for (All players)

Copy and paste to Core Initialization Trigger:
Trigger:
  • G_D M_S/K Initialization Actions Score/Kills
    • Events
    • Local Variables
      • Integer Loop 1 = 0 <Integer>
      • Untitled Variable 001 = 0 <Integer[15]>
    • Conditions
    • Actions
      • ------- These go in the G_Display System Init Trigger where it says to paste it.
      • Data Table - Save G_D M_S/K Score Window Initialization as ("G_D Mod ID " + (String(G_D M_S/K ID Number))) in the Global data table
      • Player Group - Pick each player in (All players) and do (Actions)
        • Actions
          • General - If (Conditions) then do (Actions) else do (Actions)
            • If
              • (Bank "G_D M_S/K" exists for player (Picked player)) == True
            • Then
              • Bank - Preload and synchronize bank "G_D M_S/K" for player (Picked player)
              • Variable - Set G_D M_S/K Bank[(Picked player)] = (Last opened bank)
              • Variable - Set G_D M_S/K Scores and stats[(Picked player)][4] = (Load "Kill Rating" of section "Kill Rating" from bank (Last opened bank) as integer value)
              • Variable - Set G_D M_S/K Kill/Death Instances[(Picked player)] = (Load "Kill Rating Reduction Factor" of section "Kill Rating" from bank (Last opened bank) as integer value)
            • Else
              • Bank - Open bank "G_D M_S/K" for player (Picked player)
              • Variable - Set G_D M_S/K Bank[(Picked player)] = (Last opened bank)
              • Variable - Set G_D M_S/K Scores and stats[(Picked player)][4] = 1000
              • Variable - Set G_D M_S/K Kill/Death Instances[(Picked player)] = 0
              • Bank - Store integer G_D M_S/K Scores and stats[(Picked player)][4] as "Kill Rating" of section "Kill Rating" in bank G_D M_S/K Bank[0]
              • Bank - Store integer G_D M_S/K Kill/Death Instances[(Picked player)] as "Kill Rating Reduction Factor" of section "Kill Rating" in bank G_D M_S/K Bank[0]
              • Bank - Save bank G_D M_S/K Bank[(Picked player)]
      • General - For each integer Integer Loop 1 from 1 to 14 with increment 1, do (Actions)
        • Actions
          • Player Group - Pick each player in (Players on team Integer Loop 1) and do (Actions)
            • Actions
              • Variable - Set G_D M_S/K Team Int[(Picked player)] = Integer Loop 1
              • Variable - Set Untitled Variable 001[G_D M_S/K Team Int[(Picked player)]] = (G_D M_S/K Scores and stats[(Picked player)][4] + Untitled Variable 001[G_D M_S/K Team Int[(Picked player)]])
          • Variable - Set G_D M_S/K Scores and stats[(Integer Loop 1 + 14)][4] = (Untitled Variable 001[Integer Loop 1] / (Number of players in (Players on team Integer Loop 1)))
      • ------- These go in the G_Display System Init Trigger where it says to paste it.

Mod Download:
View attachment G_Display Score-Kills Mod.SC2Map

All Downloads again:
Core: View attachment G_Display Core.SC2Map
Mod: View attachment G_Display Score-Kills Mod.SC2Map
Demonstration Map: View attachment G_Display Demonstration.SC2Map
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
Did some minor updates, if you downloaded the map before october 23rd at 11:17 redownload, there were some errors in the original download
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
I'll check this out after school.

I am a bit confused as to what this actually does. Do you actually need that much code to have a pulldown menu that just shows one of the dialogs at a time depending on which one is selected?

It seems nice but I am just wondering why there's so much code. Also, there's two parts of it, right? There's the core and there's some window for k/d stats. It still looks like a lot of code.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
it syncronizes (size shape and position) as many windows as you want under 1 pulldown menu and makes it so that when more modules are out, people can just grab the modules they want for their map, change some settings and drag it into their own map

im currently working on a hero dps module, a hero threat module, and a research module.
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
The map with only the core gives an error on start-up. This is resolved by adding "Variable - Set G_Display Dialog Windows[1] = (Last created dialog)" in "G_Display System Init" after you create the dialog. Although I guess it should be after the dialog you create yourself, not after the pulldown dialog. To fix this, either set the window amount to 0 or provide a full example that is not as complex as the kill/death module. Just a simple empty dialog window would do.

"G_Display Initializer = 0 <Integer>" seems like an unnecessary variable. You only set it in the Init but then you never use it. There's also an untitled variable 001 in the init function that is never used.

"G_Display Non-Comp Players = (Empty player group) <Player Group>" is also never used. So is G_Display Pulldown Dialog = No Dialog <Dialog>

I would also put it all in a folder. It becomes messy when you mix the core with the module in the other example map. Especially considering how you document the code.

Talking about documentation, you did a good job. I felt I could understand what parts I was allowed to touch and what was off-limits. I also understood how I should change the different variables.

I think some of the variables that I said wasn't used are probably used by the module. If this is the case, they shouldn't be in the core.

Overall, a good job, especially on documentation. Still, I would probably not use it because it is pretty simple. We're talking about like 10 rows of code(+ initialization with creating the dialogs). Although, now that I know it exists here, I might use it if I ever need something like that and I'm extremely lazy.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
it gives an error because there is no module, and it runs a trigger based off the module id number for every window, i had the settings set to 1 window as a test but it doesnt create a window for it

G_Display Initializer is used in the modules to determine the window number

non-comp players isnt implemented just yet, adding an option as to whether to display computer players or not

the G_Display Pulldown Menu is exactly what its named, saved in the init trigger

i was looking for the folder option but couldnt find it lol... just started using sc2 G.E... lol how do you do it? i will update the download link when i update the map :/

its more for creating many many different windows without taking up a ton of space and without them looking unorganized, more centered around orpgs which need 1 for threat 1 for dps 1 for equipment 1 for stats etc, but it might also be great for AOS/Team based games to display past game history K/D/A (the one i have) average hero/race picked game options and handicaps, etc
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
updated the map
organized it better

there is now a sort of a directory as shown:
This is for the demo map

Trigger:
  • G_Display
    • G_Display Core
      • G_Display Core Functions (triggers)
      • G_Display Core Options (variables and constants you set)
      • G_Display Core Variables: DO NOT CHANGE (Uh-duuuh)
    • Mods
      • G_D M_S/K
        • G_D M_S/K Functions (Triggers)
        • G_D M_S/K Options (variables and constants you set)
        • G_D M_S/K Variables: DO NOT CHANGE (also Uh-duuuh)

PS. like how i used the wc3 tags? heh :p
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such
  • Varine Varine:
    That's mostly what I've been looking at
  • Varine Varine:
    I don't think I'm dealing with quite the same pressures though, at the very least its a significantly smaller system. For the time being I'm just going to put together a quick scrubby box though and hope it works good enough to not make my house toxic
  • Varine Varine:
    I mean I don't use this enough to pose any significant danger I don't think, but I would still rather not be throwing styrene all over the air
  • The Helper The Helper:
    New dessert added to recipes Southern Pecan Praline Cake https://www.thehelper.net/threads/recipe-southern-pecan-praline-cake.193555/
  • The Helper The Helper:
    Another bot invasion 493 members online most of them bots that do not show up on stats
  • Varine Varine:
    I'm looking at a solid 378 guests, but 3 members. Of which two are me and VSNES. The third is unlisted, which makes me think its a ghost.
    +1
  • The Helper The Helper:
    Some members choose invisibility mode
    +1
  • The Helper The Helper:
    I bitch about Xenforo sometimes but it really is full featured you just have to really know what you are doing to get the most out of it.
  • The Helper The Helper:
    It is just not easy to fix styles and customize but it definitely can be done
  • The Helper The Helper:
    I do know this - xenforo dropped the ball by not keeping the vbulletin reputation comments as a feature. The loss of the Reputation comments data when we switched to Xenforo really was the death knell for the site when it came to all the users that left. I know I missed it so much and I got way less interested in the site when that feature was gone and I run the site.
  • Blackveiled Blackveiled:
    People love rep, lol
    +1
  • The Helper The Helper:
    The recipe today is Sloppy Joe Casserole - one of my faves LOL https://www.thehelper.net/threads/sloppy-joe-casserole-with-manwich.193585/
  • The Helper The Helper:
    Decided to put up a healthier type recipe to mix it up - Honey Garlic Shrimp Stir-Fry https://www.thehelper.net/threads/recipe-honey-garlic-shrimp-stir-fry.193595/
  • The Helper The Helper:
    Here is another comfort food favorite - Million Dollar Casserole - https://www.thehelper.net/threads/recipe-million-dollar-casserole.193614/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top