# HG changeset patch # User Tercio # Date 1425583825 10800 # Node ID 789bf9e40966b561e9e9bc76e8b78e0485c9ab84 # Parent 1c3534391efb1f95885aee2629e495b9797db3f7 Version v0.6 change log: - new command /hansgar users: show who is using the addon in the raid. - new command /hansgar lock: lock or unlock the frame. - new command /hansgar dance: toggle the dance bar. - fixed the cooldown animation. diff -r 1c3534391efb -r 789bf9e40966 Hansgar_And_Franzok_Assist.lua --- a/Hansgar_And_Franzok_Assist.lua Mon Mar 02 21:28:33 2015 -0300 +++ b/Hansgar_And_Franzok_Assist.lua Thu Mar 05 16:30:25 2015 -0300 @@ -8,6 +8,7 @@ local f = CreateFrame ("frame", "Hansgar_And_Franzok_Assist", UIParent) f:SetFrameStrata ("DIALOG") +f.version = "v0.6" local tframe = CreateFrame ("frame", "Hansgar_And_Franzok_Assist_PTrack", UIParent) @@ -19,6 +20,7 @@ f:SetBackdropBorderColor (0, 0, 0, 1) f:SetMovable (true) f:EnableMouse (true) +f.all_blocks = {} f:Hide() local title = f:CreateFontString (nil, "overlay", "GameFontNormal") @@ -105,6 +107,58 @@ local AceComm = LibStub:GetLibrary ("AceComm-3.0") AceComm:Embed (f) +function f:CommReceived (_, data, _, source) + if (data == "US") then + f:SendCommMessage ("HAFR", UnitName ("player") .. " " .. f.version, "RAID") + else + f.users [data] = true + end +end +function f:ShowUsers() + f.users_schedule = nil + + local users_frame = Hansgar_And_Franzok_Assist_UsersPanel + if (not users_frame) then + users_frame = CreateFrame ("frame", "Hansgar_And_Franzok_Assist_UsersPanel", UIParent) + users_frame:SetBackdrop ({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 16, insets = {left = -1, right = -1, top = -1, bottom = -1}, + edgeFile = "Interface\\AddOns\\Hansgar_And_Franzok_Assist\\border_2", edgeSize = 8}) + users_frame:SetBackdropColor (0, 0, 0, 1) + tinsert (UISpecialFrames, "Hansgar_And_Franzok_Assist_UsersPanel") + users_frame:SetSize (200, 500) + users_frame:SetPoint ("right", f, "left", -15, 0) + users_frame.text = users_frame:CreateFontString (nil, "overlay", "GameFontHighlight") + users_frame.text:SetPoint ("topleft", users_frame, "topleft", 10, -10) + users_frame.text:SetJustifyH ("left") + + users_frame.title = users_frame:CreateFontString (nil, "overlay", "GameFontNormal") + users_frame.title:SetText ("Hansgar & Franzok Assist: Users") + users_frame.title:SetPoint ("center", users_frame, "center") + users_frame.title:SetPoint ("bottom", users_frame, "top", 0, 2) + + end + + local s = "" + + for key, value in pairs (f.users) do + s = s .. "|cFF33FF33" .. key .. "\n" + end + + s = s .. "|r\n\n\n|cFFFFFFFFOut of Date or Not installed:|r\n\n" + + for i = 1, GetNumGroupMembers() do + local name = UnitName ("raid" .. i) + if (not s:find (name)) then + s = s .. "|cFFFF3333" .. name .. "|r\n" + end + end + + users_frame.text:SetText (s) + + users_frame:Show() + +end +f:RegisterComm ("HAFR", "CommReceived") + local db f.block_tracker = {} @@ -128,13 +182,28 @@ if (db.SHOW_DANCE == nil) then db.SHOW_DANCE = true end + if (db.FRAME_LOCK == nil) then + db.FRAME_LOCK = false + end -- SLASH_Hansgar_And_Franzok_Assist1, SLASH_Hansgar_And_Franzok_Assist2 = "/hansgar", "/franzok" function SlashCmdList.Hansgar_And_Franzok_Assist (msg, editbox) local command, rest = msg:match ("^(%S*)%s*(.-)$") - if (command == "delay") then + if (command == "users") then + if (f.users_schedule) then + print ("|cFFFFAA00Hansgar and Franzok Assist|r please wait 5 seconds...") + elseif (IsInRaid()) then + f.users = {} + f:SendCommMessage ("HAFR", "US", "RAID") + f.users_schedule = f:ScheduleTimer ("ShowUsers", 5) + print ("|cFFFFAA00Hansgar and Franzok Assist|r please wait 5 seconds...") + else + print ("|cFFFFAA00Hansgar and Franzok Assist|r you aren't in a raid group.") + end + + elseif (command == "delay") then local t = tonumber (rest) if (t) then db.STAMPERS_DELAY = t @@ -158,6 +227,15 @@ end f:EndTrackPlayerPosition() + elseif (command == "lock") then + f:SetLockState() + + if (db.FRAME_LOCK) then + print ("|cFFFFAA00Hansgar and Franzok Assist|r frame locked.") + else + print ("|cFFFFAA00Hansgar and Franzok Assist|r frame unlocked.") + end + elseif (command == "dance") then db.SHOW_DANCE = not db.SHOW_DANCE if (db.SHOW_DANCE) then @@ -175,13 +253,13 @@ f:RefreshCooldownSettings() else - print ("|cFFFFAA00Hansgar and Franzok Assist|r |cFF00FF00v0.5|r Commands:") + print ("|cFFFFAA00Hansgar and Franzok Assist|r |cFF00FF00" .. f.version .. "|r Commands:") + print ("|cFFFFFF00/hansgar lock|r: toggle lock and unlock on the frame.") + print ("|cFFFFFF00/hansgar test show hide|r: active the addon on test mode or hide it.") print ("|cFFFFFF00/hansgar delay