Advertisement
Guest User

Untitled

a guest
Apr 12th, 2023
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.80 KB | None | 0 0
  1. function btn:configure(id,posex,posey,sizex,sizey,zzid,message)
  2.     self[id] = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate");
  3.     self[id]:SetPoint("CENTER",posex, posey)
  4.     self[id]:SetSize(sizex, sizey)
  5.     self[id]:SetText(message)
  6.     self[id]:Hide();
  7.     self[id]:SetScript("OnClick",function(self, button)
  8.            SendChatMessage(zzzid, "GUILD", nil, 1) end)
  9. end
  10.  
  11. local btn = {};
  12. -- вместо цикла явная индексация, так как у тебя один фиг ifы
  13. -- видимо я так понял имеет значение порядок создания кнопок
  14. btn:configure(1,0,400,300,30,"#zzs","Взять квест");
  15. btn:configure(2,0,370,300,30,"#zzr","Сдать квест");
  16. btn:configure(3,0,340,300,30,"#zzz","Взять бонусный квест вне лимита");
  17. btn:configure(4,0,310,300,30,"#zzy","Сдать бонусный квест вне лимита");
  18. btn:configure(5,0,280,300,30,"#zzt","Узнать свой гилдлвл");
  19.  
  20. local minibtn = CreateFrame("Button", nil, Minimap)
  21. minibtn:SetFrameLevel(8)
  22. minibtn:SetSize(32,32)
  23. minibtn:SetMovable(true)
  24.  
  25. --minibtn:SetNormalTexture("Interface/AddOns/NSQuestClient/icon.tga")
  26. --minibtn:SetPushedTexture("Interface/AddOns/NSQuestClient/icon.tga")
  27. --minibtn:SetHighlightTexture("Interface/AddOns/NSQuestClient/icon.tga")
  28.     minibtn:SetNormalTexture("Interface/COMMON/Indicator-Red.png")
  29.     minibtn:SetPushedTexture("Interface/COMMON/Indicator-Red.png")
  30.     minibtn:SetHighlightTexture("Interface/COMMON/Indicator-Red.png")
  31.  
  32. local myIconPos = 0
  33.  
  34. -- Control movement
  35. local function UpdateMapBtn()
  36.     local Xpoa, Ypoa = GetCursorPosition()
  37.     local Xmin, Ymin = Minimap:GetLeft(), Minimap:GetBottom()
  38.     Xpoa = Xmin - Xpoa / Minimap:GetEffectiveScale() + 70
  39.     Ypoa = Ypoa / Minimap:GetEffectiveScale() - Ymin - 70
  40.     myIconPos = math.deg(math.atan2(Ypoa, Xpoa))
  41.     minibtn:ClearAllPoints()
  42.     minibtn:SetPoint("TOPLEFT", Minimap, "TOPLEFT", 52 - (80 * cos(myIconPos)), (80 * sin(myIconPos)) - 52)
  43. end
  44. minibtn:RegisterForDrag("LeftButton")
  45. minibtn:SetScript("OnDragStart", function()
  46.     minibtn:StartMoving()
  47.     minibtn:SetScript("OnUpdate", UpdateMapBtn)
  48. end)
  49. minibtn:SetScript("OnDragStop", function()
  50.     minibtn:StopMovingOrSizing();
  51.     minibtn:SetScript("OnUpdate", nil)
  52.     UpdateMapBtn();
  53. end)
  54. -- Set position
  55. minibtn:ClearAllPoints();
  56. minibtn:SetPoint("TOPLEFT", Minimap, "TOPLEFT", 52 - (80 * cos(myIconPos)),(80 * sin(myIconPos)) - 52)
  57. pokazat=0
  58. minibtn:SetScript("OnClick", function()
  59.     if pokazat~=1 then
  60.         ii=6
  61.         btn[ii] = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate")
  62.         btn[ii]:SetPoint("CENTER",0,250)
  63.         btn[ii]:SetSize(300, 30)
  64.         btn[ii]:SetText("Закрыть")
  65.         btn[ii]:Hide();
  66.         btn[ii]:SetScript("OnClick", function(self, button)
  67.         for ii=1,6 do
  68.             btn[ii]:Hide();
  69.         end
  70.         pokazat=0
  71.         minibtn:SetNormalTexture("Interface/COMMON/Indicator-Red.png")
  72.         minibtn:SetPushedTexture("Interface/COMMON/Indicator-Red.png")
  73.         minibtn:SetHighlightTexture("Interface/COMMON/Indicator-Red.png")
  74.         end)
  75.         for ii=1,6 do
  76.             btn[ii]:Show();
  77.         end
  78.         pokazat=1
  79.         minibtn:SetNormalTexture("Interface/COMMON/Indicator-Green.png")
  80.         minibtn:SetPushedTexture("Interface/COMMON/Indicator-Green.png")
  81.         minibtn:SetHighlightTexture("Interface/COMMON/Indicator-Green.png")
  82.     else
  83.         for ii=1,6 do
  84.             btn[ii]:Hide();
  85.         end
  86.         minibtn:SetNormalTexture("Interface/COMMON/Indicator-Red.png")
  87.         minibtn:SetPushedTexture("Interface/COMMON/Indicator-Red.png")
  88.         minibtn:SetHighlightTexture("Interface/COMMON/Indicator-Red.png")
  89.         pokazat=0
  90.  
  91.     end
  92. end)
  93.  
  94.  
  95.  
  96.  
  97.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement