Да, для Лк нужен такой скрипт/набор скриптов. Сейчас стоит скрипт на тринкеты у арена фреймов, но хотелось бы еще отображение диминишингов.
Да, для Лк нужен такой скрипт/набор скриптов. Сейчас стоит скрипт на тринкеты у арена фреймов, но хотелось бы еще отображение диминишингов.
И отсюда тоже брал, ставил, эффект тот же, что и от скрипта с ПГ: Есть только арена фреймы, но тринкеты и диминишинг вообще не отображаются.
- - - Updated - - -
И отсюда тоже брал, ставил, эффект тот же, что и от скрипта с ПГ: Есть только арена фреймы, но тринкеты и диминишинг вообще не отображаются.
- - - Updated - - -
Пытался ставить скрипт с ПГ, но результата это не дало, хотя мб просто руки-крюки.
Скрипт с ПГ:
Код HTML:--[[ DR Tracker drx = x position drs = icon size DRt={{DRLIST1},{DRLIST2},{DRLIST3}...} DEFAULT : DRt={{fear},{polymorph}} -- show frame in left of arena enemyframe drx : set minus value(ex drx : -120) dp : "LEFT" and insert in macro 5 drx+(r-1) -> drx-(r-1) ]]-- /run DRt={{5782,8122,5484,20511,2094},{118,6770,1776,49203,28272,28271,61305,61721,61780,82691,51514}} /run drx=110;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 /run function rDR(f)f.e=1;f.t:SetTexture(nil)f.c:Hide()end function sDR(f)f.e=f.e+1;f.c:Show()end function gDRt(i,j)return _G["drc"..i..":"..j]end function runDR(f,n)CooldownFrame_SetTimer(f.c,GetTime(),18,1)eDR(f,n)sDR(f)oDR(n)end /run function eDR(f,n)local t=1;f:SetScript("OnUpdate",function(s,e)t=t+e;if(t>=18)then f:SetScript("OnUpdate",nil)rDR(f)oDR(n)end end)end function cDR(f,n,s)if f.e<4 then local _,_,t=GetSpellInfo(s)f.t:SetTexture(t)runDR(f,n)end end /run function oDR(n)local r=1;for j in ipairs(DRt)do local f=gDRt(n,j)f:SetPoint(dp,gaef(f,n),dp,drx+(r-1)*50,0)r=r+1;end end function uDR(n,s)for i,t in ipairs(DRt)do for _,j in ipairs(t)do if s==j then cDR(gDRt(n,i),n,s)end end end end /run function DRc(i,j)local f=CreateFrame("Frame",nil,UIParent)f:SetSize(drs,drs)f.t=f:CreateTexture(nil,"BORDER")f.t:SetAllPoints(true)f.c=CreateFrame("Cooldown",nil,f)f.c:SetAllPoints(f)f.e=1 return f end /run function clDR(_,e,_,_,_,_,_,d,_,_,_,s)if(e=="SPELL_AURA_REMOVED" or e=="SPELL_AURA_REFRESH")then for i=1,5 do local ag=UnitGUID("arena"..i)if(ag ~= nil and d==ag)then uDR(i,s)end end end end /run function iDRt(o,m)for i=1,m do for j in ipairs(DRt)do local f=gDRt(i,j)rDR(f)if o then f:Show()end end end end for i=1,5 do for j in ipairs(DRt)do _G["drc"..i..":"..j]=DRc(i,j)end end /run dt=CreateFrame("Frame")dt:SetScript("OnEvent",function(_,e,...)if e==dre then clDR(...)elseif e==dra then iDRt(1,GetNumArenaOpponents())else iDRt(nil,5)end end)dt:RegisterEvent(dra)dt:RegisterEvent(drp)dt:RegisterEvent(dre)
Нашел старый скрипт для 3.3.5. Арена тринкеты. Попробуй.
Отпиши ответ. Самому нету сейчас возможности потестить. Ноутбука моего нет на котором 3.3.5.
ДР,ыКод: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", 300.0, 155.0) --Координаты Вертикаль\Горизонталь ArenaEnemyFrames:SetScale(1.2) --Размер 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(24, 24) --Размер тринкета trinket.icon = trinket:CreateTexture(nil, "BACKGROUND") trinket.icon:SetAllPoints() trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01") trinket:Show() 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 spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1) SendChatMessage("Использовал тринкет: "..GetUnitName(unitID, true), "PARTY") elseif spell == GetSpellInfo(7744) then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1) SendChatMessage("Использовал рассовую: "..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:Show() 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")
Отпиши, как и что создаешь! Если не получается!Код:DRt={{5211,12809,44572,47481,2812,853,408,22570,6785,30283,46968,20549,85388,1833,9005},{118,6770,1776,49203,28272,28271,61305,61721,61780,82691,51514},{5782,8122,5484,20511,2094},{676,51722,64044},{12958,703,2139,50479,34490,13867,15487,19647,47476}} drx=86;drs=36;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 function rDR(f)f.e=1;f.t:SetTexture(nil)f.c:Hide()end function sDR(f)f.e=f.e+1;f.c:Show()end function gDRt(i,j)return _G["drc"..i..":"..j]end function runDR(f,n)CooldownFrame_SetTimer(f.c,GetTime(),18,1)eDR(f,n)sDR(f)oDR(n)end function eDR(f,n)local t=1;f:SetScript("OnUpdate",function(s,e)t=t+e;if(t>=18)then f:SetScript("OnUpdate",nil)rDR(f)oDR(n)end end)end function cDR(f,n,s)if f.e<4 then local _,_,t=GetSpellInfo(s)f.t:SetTexture(t)runDR(f,n)end end function oDR(n)local r=1;for j in ipairs(DRt)do local f=gDRt(n,j)f:SetPoint(dp,gaef(f,n),dp,drx+(r-1)*25,-2)r=r+1;end end function uDR(n,s)for i,t in ipairs(DRt)do for _,j in ipairs(t)do if s==j then cDR(gDRt(n,i),n,s)end end end end function DRc(i,j)local f=CreateFrame("Frame",nil,UIParent)f:SetSize(drs,drs)f.t=f:CreateTexture(nil,"BORDER")f.t:SetAllPoints(true)f.c=CreateFrame("Cooldown",nil,f)f.c:SetAllPoints(f)f.e=1 return f end function clDR(_,e,_,_,_,_,_,d,_,_,_,s)if(e=="SPELL_AURA_REMOVED" or e=="SPELL_AURA_REFRESH")then for i=1,5 do local ag=UnitGUID("arena"..i)if(ag ~= nil and d==ag)then uDR(i,s)end end end end function iDRt(o,m)for i=1,m do for j in ipairs(DRt)do local f=gDRt(i,j)rDR(f)if o then f:Show()end end end end for i=1,5 do for j in ipairs(DRt)do _G["drc"..i..":"..j]=DRc(i,j)end end dt=CreateFrame("Frame")dt:SetScript("OnEvent",function(_,e,...)if e==dre then clDR(...)elseif e==dra then iDRt(1,GetNumArenaOpponents())else iDRt(nil,5)end end)dt:RegisterEvent(dra)dt:RegisterEvent(drp)dt:RegisterEvent(dre)
- - - Updated - - -
Это команда запуска в игре. При вписывании в аддон это слово нужно удалять
- - - Updated - - -
/testaef набери в игре. Запустится тестовый режим.
Cataclysm x1 Logon 3
Насчет /run я знаю, убираю эту команду из луа файлов. Команду теста арена фреймов тоже знаю. Скрипт на арена тринкеты у меня стоит точно такой же, он работает. Скрипт на ДР'ы сейчас нет возможность проверить, как проверю - отпишу.
- - - Updated - - -
На диминишинги скрипт у меня не пашет.
Как я все делал:
1. Скопировал скрипт отсюда.
2. Открыл луа с моим скриптом на тринкеты.
3. Вставил ДР'ы ниже скрипта на арена тринкеты.
Что получилось:
Зашел в вов, ввел /testaef, включилось отображение арена фреймов и тринкетов. Диминишинги не видно. Сходил на арену, история точно такая же.Код: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", 295.0, 40.0) ArenaEnemyFrames:SetScale(1.2) 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(24, 24) 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 spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1) SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY") elseif spell == GetSpellInfo(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") ArenaEnemyFrame1:SetScale(1.6) ArenaEnemyFrame2:SetScale(1.6) ArenaEnemyFrame3:SetScale(1.6) ArenaEnemyFrame1PetFrame:SetScale(1.6) ArenaEnemyFrame3PetFrame:SetScale(1.6) ArenaEnemyFrame2PetFrame:SetScale(1.6) DRt={{5211,12809,44572,47481,2812,853,408,22570,6785,30283,46968,20549,85388,1833,9005}, {118,6770,1776,49203,28272,28271,61305,61721,61780,82691,51514},{5782,8122,5484,20511,2094},{676,51722,64044}, {12958,703,2139,50479,34490,13867,15487,19647,47476}} drx=86;drs=36;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 function rDR(f)f.e=1;f.t:SetTexture(nil)f.c:Hide()end function sDR(f)f.e=f.e+1;f.c:Show()end function gDRt(i,j)return _G["drc"..i..":"..j]end function runDR(f,n) CooldownFrame_SetTimer(f.c,GetTime(),18,1)eDR(f,n)sDR(f)oDR(n)end function eDR(f,n)local t=1;f:SetScript("OnUpdate",function(s,e)t=t+e;if(t>=18)then f:SetScript("OnUpdate",nil)rDR(f)oDR(n)end end)end function cDR(f,n,s)if f.e<4 then local _,_,t=GetSpellInfo(s)f.t:SetTexture(t)runDR(f,n)end end function oDR(n)local r=1;for j in ipairs(DRt)do local f=gDRt(n,j)f:SetPoint(dp,gaef(f,n),dp,drx+(r-1)*25,-2)r=r+1;end end function uDR(n,s)for i,t in ipairs(DRt)do for _,j in ipairs(t)do if s==j then cDR(gDRt(n,i),n,s)end end end end function DRc(i,j)local f=CreateFrame("Frame",nil,UIParent)f:SetSize(drs,drs)f.t=f:CreateTexture(nil,"BORDER")f.t:SetAllPoints(true)f.c=CreateFrame ("Cooldown",nil,f)f.c:SetAllPoints(f)f.e=1 return f end function clDR(_,e,_,_,_,_,_,d,_,_,_,s)if(e=="SPELL_AURA_REMOVED" or e=="SPELL_AURA_REFRESH")then for i=1,5 do local ag=UnitGUID("arena"..i)if(ag ~= nil and d==ag)then uDR(i,s)end end end end function iDRt(o,m)for i=1,m do for j in ipairs(DRt)do local f=gDRt(i,j)rDR(f)if o then f:Show()end end end end for i=1,5 do for j in ipairs(DRt)do _G["drc"..i..":"..j] =DRc(i,j)end end dt=CreateFrame("Frame")dt:SetScript("OnEvent",function(_,e,...)if e==dre then clDR(...)elseif e==dra then iDRt(1,GetNumArenaOpponents())else iDRt(nil,5)end end)dt:RegisterEvent(dra)dt:RegisterEvent(drp)dt:RegisterEvent(dre)
Пункт второй - трекеры, Горн - этот трекер, а дымка и машина с другого аддона, отображение стандарт кд не правильно, т.е. горн заполняется нормальной текстурой, когда в др аддоне нормальная текстура уменьшается, как нибудь можно исправить?
http://s43.radikal.ru/i101/1308/9f/4beaf55c780d.jpg
Аддон как флигер, только sFilter, там настройка муторная, а тут и место ок расположено, и для всех классов - не надо указывать ничего кроме ИД спелла.
Ну я поставил флигер, ничего не настраивал, на шп все ок показывает, а пару спелов дописать вообще не проблема, но он мне понравился своим оформлением + кушает реально копейки, а вообще люблю аддоны которые не надо настраивать ингейм, ибо мало ли че, перенастраивать все кайфоломно.
Кнопки тупят - ответ,ответить с цетированием и тд, и при редактировании нельзя сохранить и тд,туоп не жмутся( В Филгере как я понял, нельзя перемещать кнопки по 1-ой? на сфильтре ставь куда угодно. http://i020.radikal.ru/1308/72/7a6ab6eff6bc.jpg
Украдено всё)