library VoteKick initializer SVS_Init
globals
framehandle SVS_Window
framehandle SVS_Description
framehandle SVS_Label
framehandle SVS_Player1_Button
framehandle SVS_Player2_Button
framehandle SVS_Player3_Button
framehandle SVS_Player4_Button
framehandle SVS_Player5_Button
framehandle SVS_Player6_Button
framehandle SVS_Player7_Button
framehandle SVS_Player8_Button
framehandle SVS_Player9_Button
framehandle SVS_Player10_Button
framehandle SVS_Player11_Button
framehandle SVS_Player12_Button
framehandle SVS_Yes_Button
framehandle SVS_No_Button
framehandle array SVS_Voted_Icon
trigger SVS_Yes_Trigger
trigger SVS_No_Trigger
real array SVS_Slot_Offsets
endglobals
function SVS_Show_Callback takes nothing returns nothing
local player p = GetEnumPlayer()
if GetLocalPlayer() == p then
call BlzFrameSetVisible(SVS_Window, true)
call BlzFrameSetText(SVS_Description, udg_SVS_Description)
call BlzFrameSetText(SVS_Label, udg_SVS_Label)
call BlzFrameSetTexture(SVS_Voted_Icon[1], "GreenBar.blp", 0, true)
call BlzFrameSetTexture(SVS_Voted_Icon[2], "GreyBar.blp", 0, true)
call BlzFrameSetTexture(SVS_Voted_Icon[3], "GreyBar.blp", 0, true)
call BlzFrameSetTexture(SVS_Voted_Icon[4], "GreyBar.blp", 0, true)
call BlzFrameSetTexture(SVS_Voted_Icon[5], "GreyBar.blp", 0, true)
call BlzFrameSetTexture(SVS_Voted_Icon[6], "GreyBar.blp", 0, true)
call BlzFrameSetEnable(SVS_Player1_Button, true)
call BlzFrameSetEnable(SVS_Player2_Button, true)
call BlzFrameSetEnable(SVS_Player3_Button, true)
call BlzFrameSetEnable(SVS_Player4_Button, true)
call BlzFrameSetEnable(SVS_Player5_Button, true)
call BlzFrameSetEnable(SVS_Player6_Button, true)
call BlzFrameSetEnable(SVS_Player7_Button, true)
call BlzFrameSetEnable(SVS_Player8_Button, true)
call BlzFrameSetEnable(SVS_Player9_Button, true)
call BlzFrameSetEnable(SVS_Player10_Button, true)
call BlzFrameSetEnable(SVS_Player11_Button, true)
call BlzFrameSetEnable(SVS_Player12_Button, true)
call BlzFrameSetEnable(SVS_Yes_Button, true)
call BlzFrameSetEnable(SVS_No_Button, true)
endif
set p = null
endfunction
function SVS_Show takes nothing returns nothing
call ForForce(udg_SVS_Player_Group, function SVS_Show_Callback)
// Disable voting for the player
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Yes_Button, false)
call BlzFrameSetEnable(SVS_No_Button, false)
endif
endfunction
function SVS_Hide_Callback takes nothing returns nothing
local player p = GetEnumPlayer()
if GetLocalPlayer() == p then
call BlzFrameSetVisible(SVS_Window, false)
endif
set p = null
endfunction
function SVS_Hide takes nothing returns nothing
call ForForce(udg_SVS_Player_Group, function SVS_Hide_Callback)
endfunction
function SVS_Player1_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player1_Button, false)
endif
call TriggerExecute(udg_SVS_Player1_Trigger)
endfunction
function SVS_Player2_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player2_Button, false)
endif
call TriggerExecute(udg_SVS_Player2_Trigger)
endfunction
function SVS_Player3_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player3_Button, false)
endif
call TriggerExecute(udg_SVS_Player3_Trigger)
endfunction
function SVS_Player4_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player4_Button, false)
endif
call TriggerExecute(udg_SVS_Player4_Trigger)
endfunction
function SVS_Player5_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player5_Button, false)
endif
call TriggerExecute(udg_SVS_Player5_Trigger)
endfunction
function SVS_Player6_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player6_Button, false)
endif
call TriggerExecute(udg_SVS_Player6_Trigger)
endfunction
function SVS_Player7_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player7_Button, false)
endif
call TriggerExecute(udg_SVS_Player7_Trigger)
endfunction
function SVS_Player8_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player8_Button, false)
endif
call TriggerExecute(udg_SVS_Player8_Trigger)
endfunction
function SVS_Player9_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player9_Button, false)
endif
call TriggerExecute(udg_SVS_Player9_Trigger)
endfunction
function SVS_Player10_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player10_Button, false)
endif
call TriggerExecute(udg_SVS_Player10_Trigger)
endfunction
function SVS_Player11_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player11_Button, false)
endif
call TriggerExecute(udg_SVS_Player11_Trigger)
endfunction
function SVS_Player12_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Player12_Button, false)
endif
call TriggerExecute(udg_SVS_Player12_Trigger)
endfunction
function SVS_Yes_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Yes_Button, false)
call BlzFrameSetEnable(SVS_No_Button, false)
endif
call TriggerExecute(udg_SVS_Yes_Trigger)
endfunction
function SVS_No_Clicked takes nothing returns nothing
set udg_SVS_Player = GetTriggerPlayer()
if GetLocalPlayer() == udg_SVS_Player then
call BlzFrameSetEnable(SVS_Yes_Button, false)
call BlzFrameSetEnable(SVS_No_Button, false)
endif
call TriggerExecute(udg_SVS_No_Trigger)
endfunction
function SVS_Update_Text_Callback takes nothing returns nothing
local player p = GetEnumPlayer()
if GetLocalPlayer() == p then
call BlzFrameSetText(SVS_Description, udg_SVS_Description)
call BlzFrameSetText(SVS_Label, udg_SVS_Label)
endif
set p = null
endfunction
function SVS_Update_Text takes nothing returns nothing
call ForForce(udg_SVS_Player_Group, function SVS_Update_Text_Callback)
endfunction
function SVS_Update_Slot_Color_Callback takes nothing returns nothing
local player p = GetEnumPlayer()
if udg_SVS_Color == "green" then
if GetLocalPlayer() == p then
call BlzFrameSetTexture(SVS_Voted_Icon[udg_SVS_Slot], "GreenBar.blp", 0, true)
endif
elseif udg_SVS_Color == "red" then
if GetLocalPlayer() == p then
call BlzFrameSetTexture(SVS_Voted_Icon[udg_SVS_Slot], "RedBar.blp", 0, true)
endif
elseif udg_SVS_Color == "grey" then
if GetLocalPlayer() == p then
call BlzFrameSetTexture(SVS_Voted_Icon[udg_SVS_Slot], "GreyBar.blp", 0, true)
endif
endif
set p = null
endfunction
function SVS_Update_Slot_Color takes nothing returns nothing
call ForForce(udg_SVS_Player_Group, function SVS_Update_Slot_Color_Callback)
endfunction
function SVS_Update_Position takes nothing returns nothing
local real xPos = udg_SVS_X_Position
local real yPos = udg_SVS_Y_Position
call BlzFrameSetAbsPoint(SVS_Window, FRAMEPOINT_CENTER, xPos, yPos)
call BlzFrameSetAbsPoint(SVS_Description, FRAMEPOINT_CENTER, xPos, yPos + 0.035)
call BlzFrameSetAbsPoint(SVS_Label, FRAMEPOINT_CENTER, xPos - 0.025, yPos)
call BlzFrameSetAbsPoint(SVS_Yes_Button, FRAMEPOINT_CENTER, xPos + 0.06, yPos + 0.005)
call BlzFrameSetAbsPoint(SVS_No_Button, FRAMEPOINT_CENTER, xPos + 0.10, yPos + 0.005)
endfunction
function SVS_Create_Frames takes nothing returns nothing
local real xPos = udg_SVS_X_Position
local real yPos = udg_SVS_Y_Position
local integer i = 0
// Window background
set SVS_Window = BlzCreateFrame("EscMenuTextAreaTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 0, 0)
call BlzFrameSetSize(SVS_Window, 0.50, 0.12)
call BlzFrameSetAbsPoint(SVS_Window, FRAMEPOINT_CENTER, xPos, yPos)
call BlzFrameSetVisible(SVS_Window, false)
call BlzFrameSetEnable(SVS_Window, false)
call BlzFrameSetLevel(SVS_Window, 1) // higher Level has priority
// Description text telling the users what they're voting for
set SVS_Description = BlzCreateFrameByType("TEXT", "", SVS_Window,"",0)
call BlzFrameSetAbsPoint(SVS_Description, FRAMEPOINT_CENTER, xPos, yPos + 0.040)
call BlzFrameSetText(SVS_Description, udg_SVS_Description)
//call BlzFrameSetScale(SVS_Description, 1.75)
call BlzFrameSetVisible(SVS_Description, true)
call BlzFrameSetEnable(SVS_Description, false)
call BlzFrameSetLevel(SVS_Description, 4)
// Vote player 1 button
set SVS_Player1_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player1_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player1_Button, FRAMEPOINT_CENTER, xPos - 0.20, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player1_Button, 2)
call BlzFrameSetText(SVS_Player1_Button, "Player 1")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player1_Trigger, SVS_Player1_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player1_Trigger, function SVS_Player1_Clicked)
// Vote player 2 button
set SVS_Player2_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player2_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player2_Button, FRAMEPOINT_CENTER, xPos - 0.12, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player2_Button, 2)
call BlzFrameSetText(SVS_Player2_Button, "Player 2")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player2_Trigger, SVS_Player2_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player2_Trigger, function SVS_Player2_Clicked)
// Vote player 3 button
set SVS_Player3_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player3_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player3_Button, FRAMEPOINT_CENTER, xPos - 0.04, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player3_Button, 2)
call BlzFrameSetText(SVS_Player3_Button, "Player 3")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player3_Trigger, SVS_Player3_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player3_Trigger, function SVS_Player3_Clicked)
// Vote player 4 button
set SVS_Player4_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player4_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player4_Button, FRAMEPOINT_CENTER, xPos + 0.04, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player4_Button, 2)
call BlzFrameSetText(SVS_Player4_Button, "Player 4")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player4_Trigger, SVS_Player4_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player4_Trigger, function SVS_Player4_Clicked)
// Vote player 5 button
set SVS_Player5_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player5_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player5_Button, FRAMEPOINT_CENTER, xPos + 0.12, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player5_Button, 2)
call BlzFrameSetText(SVS_Player5_Button, "Player 5")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player5_Trigger, SVS_Player5_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player5_Trigger, function SVS_Player5_Clicked)
// Vote player 6 button
set SVS_Player6_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player6_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player6_Button, FRAMEPOINT_CENTER, xPos + 0.20, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player6_Button, 2)
call BlzFrameSetText(SVS_Player6_Button, "Player 6")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player6_Trigger, SVS_Player6_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player6_Trigger, function SVS_Player6_Clicked)
// Vote player 7 button
set SVS_Player7_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player7_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player7_Button, FRAMEPOINT_CENTER, xPos - 0.20, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player7_Button, 2)
call BlzFrameSetText(SVS_Player7_Button, "Player 7")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player7_Trigger, SVS_Player7_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player7_Trigger, function SVS_Player7_Clicked)
// Vote player 8 button
set SVS_Player8_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player8_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player8_Button, FRAMEPOINT_CENTER, xPos - 0.12, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player8_Button, 2)
call BlzFrameSetText(SVS_Player8_Button, "Player 8")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player8_Trigger, SVS_Player8_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player8_Trigger, function SVS_Player8_Clicked)
// Vote player 9 button
set SVS_Player9_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player9_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player9_Button, FRAMEPOINT_CENTER, xPos - 0.04, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player9_Button, 2)
call BlzFrameSetText(SVS_Player9_Button, "Player 9")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player9_Trigger, SVS_Player9_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player9_Trigger, function SVS_Player9_Clicked)
// Vote player 10 button
set SVS_Player10_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player10_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player10_Button, FRAMEPOINT_CENTER, xPos + 0.04, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player10_Button, 2)
call BlzFrameSetText(SVS_Player10_Button, "Player 10")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player10_Trigger, SVS_Player10_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player10_Trigger, function SVS_Player10_Clicked)
// Vote player 11 button
set SVS_Player11_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player11_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player11_Button, FRAMEPOINT_CENTER, xPos + 0.12, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player11_Button, 2)
call BlzFrameSetText(SVS_Player11_Button, "Player 11")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player11_Trigger, SVS_Player11_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player11_Trigger, function SVS_Player11_Clicked)
// Vote player 12 button
set SVS_Player12_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
call BlzFrameSetSize(SVS_Player12_Button, 0.08, 0.03)
call BlzFrameSetAbsPoint(SVS_Player12_Button, FRAMEPOINT_CENTER, xPos + 0.20, yPos + 0.011)
call BlzFrameSetLevel(SVS_Player12_Button, 2)
call BlzFrameSetText(SVS_Player12_Button, "Player 12")
call BlzTriggerRegisterFrameEvent(udg_SVS_Player12_Trigger, SVS_Player12_Button, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(udg_SVS_Player12_Trigger, function SVS_Player12_Clicked)
// Vote yes button
//set SVS_Yes_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
//call BlzFrameSetSize(SVS_Yes_Button, 0.05, 0.03)
//call BlzFrameSetAbsPoint(SVS_Yes_Button, FRAMEPOINT_CENTER, xPos - 0.025, yPos)
//call BlzFrameSetLevel(SVS_Yes_Button, 2)
//call BlzFrameSetText(SVS_Yes_Button, "YES")
//call BlzTriggerRegisterFrameEvent(SVS_Yes_Trigger, SVS_Yes_Button, FRAMEEVENT_CONTROL_CLICK)
//call TriggerAddAction(SVS_Yes_Trigger, function SVS_Yes_Clicked)
// Vote no button
//set SVS_No_Button = BlzCreateFrame("ScriptDialogButton", SVS_Window, 0, 0)
//call BlzFrameSetSize(SVS_No_Button, 0.05, 0.03)
//call BlzFrameSetAbsPoint(SVS_No_Button, FRAMEPOINT_CENTER, xPos + 0.025, yPos)
//call BlzFrameSetLevel(SVS_No_Button, 2)
//call BlzFrameSetText(SVS_No_Button, "NO")
//call BlzTriggerRegisterFrameEvent(SVS_No_Trigger, SVS_No_Button, FRAMEEVENT_CONTROL_CLICK)
//call TriggerAddAction(SVS_No_Trigger, function SVS_No_Clicked)
// Voted indicator icons
loop
set i = i + 1
set SVS_Voted_Icon[i] = BlzCreateFrameByType("BACKDROP", "Icon", SVS_Window, "", 0)
call BlzFrameSetSize(SVS_Voted_Icon[i], 0.07, 0.03)
call BlzFrameSetAbsPoint(SVS_Voted_Icon[i], FRAMEPOINT_CENTER, xPos + SVS_Slot_Offsets[i], yPos - 0.030)
call BlzFrameSetTexture(SVS_Voted_Icon[i], "GreenBar.blp", 0, true)
call BlzFrameSetEnable(SVS_Voted_Icon[i], false)
call BlzFrameSetLevel(SVS_Voted_Icon[i], 3)
exitwhen i == 6
endloop
endfunction
function SVS_Init takes nothing returns nothing
// Load ui files
call BlzLoadTOCFile("war3mapImported\\Templates.toc")
call BlzLoadTOCFile("war3mapimported\\SaveLoadUI.toc")
// Create triggers
set SVS_Yes_Trigger = CreateTrigger()
set SVS_No_Trigger = CreateTrigger()
// Define the position of the vote bars (green/red/grey)
set SVS_Slot_Offsets[1] = -0.20
set SVS_Slot_Offsets[2] = -0.12
set SVS_Slot_Offsets[3] = -0.04
set SVS_Slot_Offsets[4] = 0.04
set SVS_Slot_Offsets[5] = 0.12
set SVS_Slot_Offsets[6] = 0.20
endfunction
endlibrary