Автор | Сообщение |
---|---|
|
0
Fernir писал(а): Код: /run for i=1,20 do _G['CombatText'..i].SetTextHeight = function(size) _G['CombatText'..i]:SetFont(DAMAGE_TEXT_FONT, size, 'OUTLINE') end end Код: /run for i=1,20 do _G['CombatText'..i].SetTextHeight = function(self, size) _self:SetFont(DAMAGE_TEXT_FONT, size, 'OUTLINE') end end
такую вот ошибку выдает, пробовал из игры с /run запускать - не работает
|
19 мар 2013, 15:52 |
|
|
0
я забыл в начале добавить LoadAddOn("Blizzard_CombatText"), без этого скрипт не видит его |
19 мар 2013, 16:22 |
|
|
0
Код: local trinkets = {} local events = CreateFrame("Frame") function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 310.0, 175.0) ArenaEnemyFrame1.SetPoint = function() end ArenaEnemyFrame2:ClearAllPoints() ArenaEnemyFrame2:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -50) ArenaEnemyFrame2.SetPoint = function() end ArenaEnemyFrame3:ClearAllPoints() ArenaEnemyFrame3:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -100) ArenaEnemyFrame3.SetPoint = function() end ArenaEnemyFrames:SetScale(1.4) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6) trinket:SetSize(27, 27) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket:Hide() trinkets["arena"..i] = trinket end self:UnregisterEvent("ADDON_LOADED") end function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID) if not trinkets[unitID] then return end if spellID == 59752 or spellID == 42292 then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spellID == 7744 then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1) SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY") end end function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance() if instanceType == "arena" then self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") for _, trinket in pairs(trinkets) do trinket:SetCooldown(0, 0) trinket:Hide() end end end
Стандартные арена фреймы с отображением тринкетов. Что нужно изменить, чтобы фреймы противников отображались ещё за минуту до боя, а не с открытием ворот(стартом арены)? Подскажите, если кто разбирается в этом. upd: И можно ли как-то добавить сюда отображение длительности контролей, действующих на оппонентов (на самих арена фреймах или рядом с ними), подобно гладиусу? |
20 мар 2013, 10:39 |
|
|
0
их можно отобразить, но это будут пустышки, которые не берут в таргет противников и не несущие никакой инфы. юниты появляются только после открытия ворот, это механика вова |
20 мар 2013, 11:01 |
|
|
0
Но ведь стандартные фреймы сейчас отображаются сразу с заходом на арену, чтобы видели оппонентов. + если вписать в аддон отображение стандартных фреймов простым скриптом, как этот: Код: local f=CreateFrame('frame') hooksecurefunc('Focus_Spellbar_AdjustPosition', function() то близовские фреймы видны сразу с заходом на арену (видны соперники), и уже с открытием ворот они изменяются под данный скрипт(аддон). Правда этот код иногда "криво" работает, особенно если у противников много петов/стелсеров.
upd: Не разбираюсь в этом, но, если я правильно понял, менять нужно что-то здесь: Код: local trinkets = {} local events = CreateFrame("Frame") function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end поскольку обычный скрипт с вот таким кодом: Код: local f=CreateFrame('frame') как я уже говорил работает.
|
20 мар 2013, 11:31 |
|
|
0
а чего в своем скрипте не зарегил эвенты и не запустил их проверку? у тебя просто создан фрейм и есть 3 функции и все
events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
что-то я сразу внимания не обратил |
20 мар 2013, 13:52 |
|
|
0
Только что вписал их после всей части когда (или нужно было в начале?) - арена фреймы попрежнему появляются только с открытием ворот. Работает всё идеально, никаких траблов, но вот уж очень хотелось бы попробывать сделать так, чтобы соперников видно было и до открытия ворот (как это со стандартными фреймами). |
20 мар 2013, 15:50 |
|
|
0
попробуй замени Код: if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 310.0, 175.0) ArenaEnemyFrame1.SetPoint = function() end ArenaEnemyFrame2:ClearAllPoints() ArenaEnemyFrame2:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -50) ArenaEnemyFrame2.SetPoint = function() end ArenaEnemyFrame3:ClearAllPoints() ArenaEnemyFrame3:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -100) ArenaEnemyFrame3.SetPoint = function() end ArenaEnemyFrames:SetScale(1.4) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6) trinket:SetSize(27, 27) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket:Hide() trinkets["arena"..i] = trinket end Код: if addonName == "Blizzard_ArenaUI" then ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", nil, "CENTER", 310.0, 175.0) ArenaEnemyFrame1.SetPoint = function() end ArenaEnemyFrame2:ClearAllPoints() ArenaEnemyFrame2:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -50) ArenaEnemyFrame2.SetPoint = function() end ArenaEnemyFrame3:ClearAllPoints() ArenaEnemyFrame3:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -100) ArenaEnemyFrame3.SetPoint = function() end ArenaEnemyFrames:SetScale(1.4) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6) trinket:SetSize(27, 27) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket:Hide() trinkets["arena"..i] = trinket end end |
20 мар 2013, 17:02 |
|
|
2
Я просто добавил строчку ArenaPrepFrame, все работает Код: --Arena trinkets local trinkets = {} local events = CreateFrame("Frame") function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -300, -200) ArenaEnemyFrame1.SetPoint = function() end ArenaEnemyFrame2:ClearAllPoints() ArenaEnemyFrame2:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -50) ArenaEnemyFrame2.SetPoint = function() end ArenaEnemyFrame3:ClearAllPoints() ArenaEnemyFrame3:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -100) ArenaEnemyFrame3.SetPoint = function() end ArenaEnemyFrame4:ClearAllPoints() ArenaEnemyFrame4:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -150) ArenaEnemyFrame4.SetPoint = function() end ArenaEnemyFrame5:ClearAllPoints() ArenaEnemyFrame5:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -200) ArenaEnemyFrame5.SetPoint = function() end ArenaPrepFrame1:ClearAllPoints() ArenaPrepFrame1:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -300, -200) ArenaPrepFrame1.SetPoint = function() end ArenaPrepFrame2:ClearAllPoints() ArenaPrepFrame2:SetPoint("TOPRIGHT", ArenaPrepFrame1, "TOPRIGHT", 0, -50) ArenaPrepFrame2.SetPoint = function() end ArenaPrepFrame3:ClearAllPoints() ArenaPrepFrame3:SetPoint("TOPRIGHT", ArenaPrepFrame1, "TOPRIGHT", 0, -100) ArenaPrepFrame3.SetPoint = function() end ArenaPrepFrame4:ClearAllPoints() ArenaPrepFrame4:SetPoint("TOPRIGHT", ArenaPrepFrame1, "TOPRIGHT", 0, -150) ArenaPrepFrame4.SetPoint = function() end ArenaPrepFrame5:ClearAllPoints() ArenaPrepFrame5:SetPoint("TOPRIGHT", ArenaPrepFrame1, "TOPRIGHT", 0, -200) ArenaPrepFrame5.SetPoint = function() end ArenaPrepFrames:SetScale(1.4) ArenaEnemyFrames:SetScale(1.4) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 20, -6) trinket:SetSize(25, 25) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket:Hide() trinkets["arena"..i] = trinket end self:UnregisterEvent("ADDON_LOADED") end function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID) if not trinkets[unitID] then return end if spellID == 59752 or spellID == 42292 then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spellID == 7744 then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1) SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY") end end function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance() if instanceType == "arena" then self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") for _, trinket in pairs(trinkets) do trinket:SetCooldown(0, 0) trinket:Hide() end end end SLASH_TESTAEF1 = "/testaef" SlashCmdList["TESTAEF"] = function(msg, editBox) if not IsAddOnLoaded("Blizzard_ArenaUI") then LoadAddOn("Blizzard_ArenaUI") end ArenaEnemyFrames:Show() local arenaFrame for i = 1, 3 do arenaFrame = _G["ArenaEnemyFrame"..i] arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles") arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"])) arenaFrame.name:SetText("Dispelme") arenaFrame:Show() CooldownFrame_SetTimer(trinkets["arena"..i], GetTime(), 120, 1) end end events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end) events:RegisterEvent("ADDON_LOADED") events:RegisterEvent("PLAYER_ENTERING_WORLD") |
20 мар 2013, 18:16 |
|
|
0
Фернир, уже спрашивал про этот скрипт, ты мне ответил, но немного не то, что я хотел :) Мне нужно подвинуть экшн бары с абилками выше, как это сделать ? Помоги плз) Код: ---Экшн бары -- if things seem odd you can adjust here -- scale of action bars local SCALE = 1.02 -- 0.5 / 0.64 -- height of exp and rep bars local HEIGHT = 4 -- fade micro buttons and bags local FADE_BOX = 1 -- end of config do -- two rows MultiBarBottomRight MultiBarBottomRightButton7:ClearAllPoints() MultiBarBottomRightButton7:SetPoint("BOTTOMLEFT", ActionButton12, "BOTTOMRIGHT", 12, 0) -- adjusts MultiBarRight and MultiBarLeft -- MultiBarRightButton1:ClearAllPoints() -- MultiBarRightButton1:SetPoint("TOPRIGHT", MultiBarRight, x, y) -- MultiBarLeftButton1:ClearAllPoints() -- MultiBarLeftButton1:SetPoint("TOPRIGHT", MultiBarLeft, x, y) -- PetActionButtons on the right side PetActionButton1:ClearAllPoints() PetActionButton1:SetPoint("BOTTOMLEFT", MultiBarBottomRightButton3, "TOPRIGHT", -404, 10) -- 372 + 32 -- StanceButtons on the left side StanceButton1:ClearAllPoints() StanceButton1:SetPoint("BOTTOMLEFT", MultiBarBottomLeftButton2, "TOPRIGHT", 3, 10) -- concerned things with MainMenuBar MainMenuExpBar:SetWidth(761 - 5 ) MainMenuExpBar:SetHeight(HEIGHT) MainMenuExpBar:ClearAllPoints() MainMenuExpBar:SetPoint("CENTER", MainMenuBar, "TOP", 0, -4.5) local fontFile, fontHeight, fontFlags = MainMenuBarExpText:GetFont() MainMenuBarExpText:SetFont(fontFile, floor(fontHeight / SCALE + 0.5), fontFlags) ExhaustionLevelFillBar:SetHeight(HEIGHT) ReputationWatchBar:SetWidth(761 - 5) ReputationWatchBar:SetHeight(HEIGHT) ReputationWatchStatusBar:SetWidth(761 - 5) local fontFile, fontHeight, fontFlags = ReputationWatchStatusBarText:GetFont() ReputationWatchStatusBarText:SetFont(fontFile, floor(fontHeight / SCALE + 0.5), fontFlags) -- re-reconfigure ReputationWatchBar -- we can't use events because of the delay issue local function ReputationWatchBar_Update_posthook(...) local name, reaction, _, _, value = GetWatchedFactionInfo() local hasExpBar = MainMenuExpBar:IsShown() if ( not name ) then if ( hasExpBar and MainMenuBarExpText:GetPoint() ~= "CENTER" ) then MainMenuBarExpText:ClearAllPoints() MainMenuBarExpText:SetPoint("CENTER", MainMenuExpBar, 0, 1) end return ... end ReputationWatchStatusBar:SetHeight(HEIGHT) ReputationWatchStatusBarText:SetText(ReputationWatchStatusBarText:GetText() .. " " .. GetText("FACTION_STANDING_LABEL" .. reaction, UnitSex("player"))) -- adds standing label if ( hasExpBar ) then ReputationWatchBar:ClearAllPoints() ReputationWatchBar:SetPoint("CENTER", MainMenuBar, "TOP", 0, 4.5) if ( ReputationWatchStatusBarText:GetPoint() ~= "RIGHT" ) then ReputationWatchStatusBarText:ClearAllPoints() ReputationWatchStatusBarText:SetPoint("RIGHT", ReputationWatchBarOverlayFrame, -128, 1) end if ( MainMenuBarExpText:GetPoint() ~= "LEFT" ) then MainMenuBarExpText:ClearAllPoints() MainMenuBarExpText:SetPoint("LEFT", MainMenuExpBar, 128, 1) end else ReputationWatchBar:ClearAllPoints() ReputationWatchBar:SetPoint("CENTER", MainMenuBar, "TOP", 0, -4.5) if ( ReputationWatchStatusBarText:GetPoint() ~= "CENTER" ) then ReputationWatchStatusBarText:ClearAllPoints() ReputationWatchStatusBarText:SetPoint("CENTER", ReputationWatchBarOverlayFrame, 0, 1) end end -- removes watched faction if we ware exalted if ( value == 42999 ) then SetWatchedFactionIndex(0) end return ... end local ReputationWatchBar_Update_original = ReputationWatchBar_Update function ReputationWatchBar_Update(...) return ReputationWatchBar_Update_posthook(ReputationWatchBar_Update_original(...)) end -- actual new MainMenuBar's width MainMenuBar:SetWidth(777 - 5) -- 761 + 8 * 2 -- who cares? but i do MainMenuBar:EnableMouse(false) -- unloads un-wanted textures for _, texture in next, { MainMenuXPBarTextureLeftCap,MainMenuXPBarTextureRightCap,MainMenuXPBarTextureMid, MainMenuMaxLevelBar0, MainMenuMaxLevelBar1, MainMenuMaxLevelBar2, MainMenuMaxLevelBar3, MainMenuBarTexture0, MainMenuBarTexture1, --[[MainMenuBarTexture2, MainMenuBarTexture3,]] MainMenuBarLeftEndCap, MainMenuBarRightEndCap, ReputationWatchBarTexture0, ReputationWatchBarTexture1, ReputationWatchBarTexture2, ReputationWatchBarTexture3, ReputationXPBarTexture0, ReputationXPBarTexture1, ReputationXPBarTexture2, ReputationXPBarTexture3, BonusActionBarTexture0, BonusActionBarTexture1, ShapeshiftBarLeft, ShapeshiftBarMiddle, ShapeshiftBarRight, PossessBackground1, PossessBackground2, SlidingActionBarTexture0, SlidingActionBarTexture1, } do texture:SetTexture(nil) end -- scales these bars for _, bar in next, { MainMenuBar, --[[ VehicleMenuBar,]] MultiBarRight } do bar:SetScale(SCALE) end end -- modified by smaltore @2011-11-16 --------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------- -- hide the art frames from bonus action bar hooksecurefunc("UIParent_ManageFramePosition", function () for _,frame in next, { MainMenuBarTexture0,MainMenuBarTexture1,--Цч¶ЇЧчМх±іѕ° MainMenuBarTexture2,MainMenuBarTexture3, --ФїіЧєН±і°ь±іѕ° MainMenuBarLeftEndCap, MainMenuBarRightEndCap, --Цч¶ЇЧчМхБЅ¶ЛµДУҐ MainMenuBarPageNumber,ActionBarUpButton,ActionBarDownButton, --·Ті°ґЕҐ } do frame:Hide() end for i=1,19 do _G["MainMenuXPBarDiv"..i]:SetTexture(nil) end --ѕСйМхµДёсёс end) -------------------------------------bags and micro menu---------------------------------- --create fade function function fade(frame,button) local function showhide(alpha) frame:SetAlpha(alpha) end frame:EnableMouse(true) frame:SetAlpha(0.1) frame:SetScript("OnEnter", function(self) showhide(1) end) frame:SetScript("OnLeave", function(self) showhide(0.1) end) button:HookScript("OnEnter", function(self) showhide(1) end) button:HookScript("OnLeave", function(self) showhide(0.1) end) end --bags and micromenu buttons local MicroButtons = { CharacterMicroButton, SpellbookMicroButton, TalentMicroButton, AchievementMicroButton, QuestLogMicroButton, GuildMicroButton, PVPMicroButton, LFDMicroButton, CompanionsMicroButton, EJMicroButton, MainMenuMicroButton, HelpMicroButton, } local BagButtons = { MainMenuBarBackpackButton, CharacterBag0Slot, CharacterBag1Slot, CharacterBag2Slot, CharacterBag3Slot, --KeyRingButton } local box = CreateFrame("Frame","Micro_and_Bags_Frame",UIParent) box:SetWidth(210) box:SetHeight(55) box:SetPoint("BOTTOMRIGHT", UIParent, 0, 0); box:SetScale(SCALE * 0.8) local function mybox() --bags for _, button in pairs(BagButtons) do if button ~= MainMenuBarBackpackButton then button:Hide() else MainMenuBarBackpackButton:SetParent(box) MainMenuBarBackpackButton:SetScale( 2.2 ) end end MainMenuBarBackpackButton:ClearAllPoints(); MainMenuBarBackpackButton:SetPoint("BOTTOMRIGHT",box,0,0); -- micro menu bar ПµНіІЛµҐ for _, button in pairs(MicroButtons) do button:SetParent(box); end CharacterMicroButton:ClearAllPoints(); CharacterMicroButton:SetPoint("BOTTOMLEFT", MainMenuBarBackpackButton, -155, 30); PVPMicroButton:ClearAllPoints(); PVPMicroButton:SetPoint("TOPLEFT", CharacterMicroButton, "BOTTOMLEFT", 0, 25); end mybox() hooksecurefunc("UpdateMicroButtons",mybox) --fade and move the side bars if FADE_BOX == 1 then for _,button in pairs(MicroButtons) do fade(box,button) end for _,button in pairs(BagButtons) do fade(box,button) end end --[[ -------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------- --patch from Tidy bar --fix pet bar bug, it doesn't show sometime PetActionBarFrame:SetAttribute("unit", "pet") RegisterUnitWatch(PetActionBarFrame) --]] -------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------- --OverRideBar patch from rActionBarStyler local textureList = { "_BG", "EndCapL", "EndCapR", "_Border", "Divider1", "Divider2", "Divider3", "ExitBG", "MicroBGL", "MicroBGR", "_MicroBGMid", "ButtonBGL", "ButtonBGR", "_ButtonBGMid", } for _,tex in pairs(textureList) do OverrideActionBar[tex]:SetAlpha(0) end local hideor = CreateFrame("frame") hideor:Hide() for _,f in next,{ OverrideActionBarExpBar, OverrideActionBarHealthBar, OverrideActionBarPowerBar, OverrideActionBarPitchFrame, } do f:SetParent(hideor) end for i=1, 6 do local button = _G["OverrideActionBarButton"..i] if not button then break end button:SetSize(40, 40) button:ClearAllPoints() if i == 1 then button:SetPoint("BOTTOMLEFT",ActionButton1) else local previous = _G["OverrideActionBarButton"..i-1] button:SetPoint("LEFT", previous, "RIGHT", 10, 0) end end OverrideActionBar.LeaveButton:SetSize(40, 40) OverrideActionBar.LeaveButton:ClearAllPoints() OverrideActionBar.LeaveButton:SetPoint("BOTTOMRIGHT",ActionButton12) |
21 мар 2013, 18:35 |
|
|
0
Reimu писал(а): Я просто добавил строчку ArenaPrepFrame, все работает Код: --Arena trinkets local trinkets = {} local events = CreateFrame("Frame") function events:ADDON_LOADED(addonName) if addonName ~= "Blizzard_ArenaUI" then return end ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -300, -200) ArenaEnemyFrame1.SetPoint = function() end ArenaEnemyFrame2:ClearAllPoints() ArenaEnemyFrame2:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -50) ArenaEnemyFrame2.SetPoint = function() end ArenaEnemyFrame3:ClearAllPoints() ArenaEnemyFrame3:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -100) ArenaEnemyFrame3.SetPoint = function() end ArenaEnemyFrame4:ClearAllPoints() ArenaEnemyFrame4:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -150) ArenaEnemyFrame4.SetPoint = function() end ArenaEnemyFrame5:ClearAllPoints() ArenaEnemyFrame5:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -200) ArenaEnemyFrame5.SetPoint = function() end ArenaPrepFrame1:ClearAllPoints() ArenaPrepFrame1:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -300, -200) ArenaPrepFrame1.SetPoint = function() end ArenaPrepFrame2:ClearAllPoints() ArenaPrepFrame2:SetPoint("TOPRIGHT", ArenaPrepFrame1, "TOPRIGHT", 0, -50) ArenaPrepFrame2.SetPoint = function() end ArenaPrepFrame3:ClearAllPoints() ArenaPrepFrame3:SetPoint("TOPRIGHT", ArenaPrepFrame1, "TOPRIGHT", 0, -100) ArenaPrepFrame3.SetPoint = function() end ArenaPrepFrame4:ClearAllPoints() ArenaPrepFrame4:SetPoint("TOPRIGHT", ArenaPrepFrame1, "TOPRIGHT", 0, -150) ArenaPrepFrame4.SetPoint = function() end ArenaPrepFrame5:ClearAllPoints() ArenaPrepFrame5:SetPoint("TOPRIGHT", ArenaPrepFrame1, "TOPRIGHT", 0, -200) ArenaPrepFrame5.SetPoint = function() end ArenaPrepFrames:SetScale(1.4) ArenaEnemyFrames:SetScale(1.4) local arenaFrame, trinket for i = 1, MAX_ARENA_ENEMIES do arenaFrame = "ArenaEnemyFrame"..i trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames) trinket:SetPoint("TOPRIGHT", arenaFrame, 20, -6) trinket:SetSize(25, 25) trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket:Hide() trinkets["arena"..i] = trinket end self:UnregisterEvent("ADDON_LOADED") end function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID) if not trinkets[unitID] then return end if spellID == 59752 or spellID == 42292 then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spellID == 7744 then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1) SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY") end end function events:PLAYER_ENTERING_WORLD() local _, instanceType = IsInInstance() if instanceType == "arena" then self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") for _, trinket in pairs(trinkets) do trinket:SetCooldown(0, 0) trinket:Hide() end end end SLASH_TESTAEF1 = "/testaef" SlashCmdList["TESTAEF"] = function(msg, editBox) if not IsAddOnLoaded("Blizzard_ArenaUI") then LoadAddOn("Blizzard_ArenaUI") end ArenaEnemyFrames:Show() local arenaFrame for i = 1, 3 do arenaFrame = _G["ArenaEnemyFrame"..i] arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles") arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"])) arenaFrame.name:SetText("Dispelme") arenaFrame:Show() CooldownFrame_SetTimer(trinkets["arena"..i], GetTime(), 120, 1) end end events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end) events:RegisterEvent("ADDON_LOADED") events:RegisterEvent("PLAYER_ENTERING_WORLD")
Спасибо, помогло
|
22 мар 2013, 12:59 |
|
<еХТеам> Сервер: Ясеневый лес |
0
Привет! |
22 мар 2013, 22:39 |
|
|
0
Жуук писал(а): Привет!
интерфейс - бой - цель выбранной цели.
|
23 мар 2013, 06:00 |
|
<еХТеам> Сервер: Ясеневый лес |
0
Цитата: интерфейс - бой - цель выбранной цели.
|
23 мар 2013, 11:20 |
|
<Бехолдэрс> Сервер: Черный Шрам Рейтинг поля боя: 1145 2х2: 1665 3х3: 2143 5х5: 1670 |
0
Можно как то сделать, чтобы вместо портрета игрока отображалась власть крови/льда/нечестивости, в зависимости от того, какая включена? |
23 мар 2013, 12:52 |
|
|
0
Ребят, помогите плиз Вот скрипт DRTracker --[[ DRt={{DRLIST1},{DRLIST2},{DRLIST3}...} -- show frame in left of arena enemyframe DRt={{5782,53759,2094,8122,5246,5484,6358,1513,10326,115268},{108194,91800,91797,22570,9005,5211,102795,117526,24394,90337,50519,44572,118271,119392,119381,122242,120086,853,119072,105593,1833,408,118905,30283,103131,20549}} drx=160;drs=40;dp="RIGHT";dre="COMBAT_LOG_EVENT_UNFILTERED"drp="PLAYER_ENTERING_WORLD"dra="ARENA_OPPONENT_UPDATE"LoadAddOn("Blizzard_ArenaUI")function gaef(f,n)return _G["ArenaEnemyFrame"..n.."HealthBar"]end Всё работает отлично, кроме того, что не показывает диминишинг на http://ru.wowhead.com/spell=53759. Что не так?) |
23 мар 2013, 16:43 |
|
|
0
nemcuk писал(а): #845 c новым патчем добавилась новая возможность, которая на хп баре показывает количество абсорба белой заштрихованной зоной как её убрать?
|
23 мар 2013, 18:36 |
|
|
0
интерфейс - профиль рейда - полученное лечение. |
24 мар 2013, 03:47 |
|
|
1
Reimu писал(а): Фернир, уже спрашивал про этот скрипт, ты мне ответил, но немного не то, что я хотел :) Мне нужно подвинуть экшн бары с абилками выше, как это сделать ? Помоги плз) добавь в начало кода после do Код: local Y_OFFSET = 100 -- сдвиг по вертикали for i=1,12 do _G['ActionButton'..i]:ClearAllPoints() _G['ActionButton'..i]:SetPoint('BOTTOMLEFT', MainMenuBar, 'BOTTOMLEFT', i*42, Y_OFFSET) end |
24 мар 2013, 08:21 |
|
|
0
Пушкин писал(а): интерфейс - профиль рейда - полученное лечение.
это к рейд фреймама относится, а не к хп бару |
24 мар 2013, 11:16 |
|