System G_Display, a versatile dialog display system.

GFreak45

I didnt slap you, i high 5'd your face.
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.
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
Staff member
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.
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
Staff member
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.
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.
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.
  • The Helper The Helper:
    It is online though at night
  • The Helper The Helper:
    You would probably have to take a loan to get the Rice cert it is like 14l
  • The Helper The Helper:
    I was hoping you were going to say you wanted to be a cook and wished to open up a Food Truck there are so many opportunities for that here
  • The Helper The Helper:
    you can only open the bar if you sell food and a food truck in the parking lot counts
  • The Helper The Helper:
    here in houston
  • The Helper The Helper:
    most bars are struggling to build food prep and even some I know are doing there own food trucks
  • The Helper The Helper:
    but yeah man you should come to Houston there is so much more opportunity here than San Antonio. Just look at all the homeless people on the Riverwalk and downtown there you cannot even walk down the street without getting mobbed them
  • The Helper The Helper:
    check out this place apparently it is the best roommate site out there roommates.com lol
  • Varine Varine:
    The homeless people reminded me of New York
  • Varine Varine:
    I'll check it out, my lease expires in like a few months so I need to figure something out.
  • Varine Varine:
    I tried to open a food truck in Sandpoint a few years ago but the city said no, then like two years later they passed new laws to encourage it and gave them all fucking tax breaks and shit. And at that point I didn't have enough money to go buy one so I was way too late to the game once other cities realized they could just bring their existing truck there, or sell their brick and mortar.
  • Varine Varine:
    I do like food trucks though, they're way more fun than restaurants and usually I also get some of that tip money there.
  • Varine Varine:
    Restaurants are really hard if you don't have a back up source of income to fund them sometimes, in my experience most owners either got really really lucky, had existing money that allowed them to buy an already successful one, or they have family money to fall back on for loans. It's few and far between to see very inspiring success stories where the person actually got it through hard work and perseverance. I thought about opening one lots and I always just end up not thinking it'll work. I would much rather just find someone that has that money and go work for them
  • The Helper The Helper:
    i am not talking about opening a brick and mortar I am talking about food trucks though I have seen some brick and mortar mexican places open up during covid that are doing good because there food is awesome!
  • The Helper The Helper:
    Food trucks are killing out here because Bars cannot open unless they sell food and the governor ok'd the use of a food truck in front as serving food
  • The Helper The Helper:
    Just not enough food trucks
  • The Helper The Helper:
    a buddy of mine just opened up a food truck and he is killing it but he is a great cook and has awesome food right in the middle of the pandemic too food trucks are immune to pandemic because they are take out in Texas you will always be able to get take out or delivery
  • The Helper The Helper:
    He is in the different food facebook groups in houston and posts videos of him making his food
  • The Helper The Helper:
    he is killing it
  • jonas jonas:
    @Varine with the restaurants, there surely is a lot of luck and hard work but most restaurants fail because they suck. Flair isn't right, economics not well thought through, food is mediocre or sucks, location is bad, etc. If you're thinking about opening one, make sure you're looking at the stories of those that would be playing at your level, don't let your hopes be dragged down by all the subpar restaurants out there.
  • jonas jonas:
    I'm a bit worried about the future of data science, there's an influx of incompetent people hired by incompetent managers, that can't last. But I'm sure smart data scientists will always be useful and hireable. Same as smart security people.
  • jonas jonas:
    My sister in law worked in a vegan food truck, the owners were also making a killing, added several trucks and opened two restaurants over 5 years
  • Ghan Ghan:
    The CompTIA stuff is pretty much crap unfortunately. The places that ask for those low-level certs aren't likely places you want to work. For IT you really want a degree, but in the meantime you need to figure out some way to learn the skills. Cybersecurity is really hot right now so competition is fierce.
  • tom_mai78101 tom_mai78101:
    I realized I don't have anything much to say, other than "Good luck!". Compared to other places, I'm just very lucky we didn't have a lot of surges of cases coming in.

    Members online

    No members online now.

    Affiliates

    Hive Workshop
    Top