Автор |
Сообщение |
Outcaste
|
0
Скрипты Neilyo и не только
|
09 сен 2012, 16:49 |
|
|
Keksmendruid
[-0.1]
<ТАКЕ ТНЕ ТОР>
Сервер: Свежеватель Душ
2х2: 765
|
0
Скрипты Neilyo и не только
Кароче вот скрипт - перемещение арена фреймов, трини там Скрытый текст
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", 280.0, 100.0) 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 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")
Кароч арена фреймы недвигаются и криво стоят, что над прописать в луа файле который сверху чтоб всё ок было?) Знает кто? чето было в теме, пробовал менять, ток не че не помогло.
|
09 сен 2012, 18:47 |
|
|
mr1aleks
|
0
Скрипты Neilyo и не только
скажите почему не работает в аддоне строка FocusFrame:SetScale(0.85) хотя другие строки типо TargetFrame:SetScale(0.92) PlayerFrame:SetScale(0.92) работают, что не так? пробовал выключать все остальные аддоны но так же все:(
|
10 сен 2012, 13:12 |
|
|
Reimu
[0.4]
<Попа в огне>
Сервер: Черный Шрам
2х2: 1822
3х3: 1567
|
0
Скрипты Neilyo и не только
Витчер, есть просьба :) Перекроил твой скрипт на СНД/Рекуп под ферала для слежения за ДР. Что нужно дописать, чтобы иконка ДРа показывалась только когда он висит, а не всегда.
Скрытый текст
Код:
local f = CreateFrame("Frame")local function Update(self, event, ...)local SE = GetSpellInfo(52610) if event=="PLAYER_ENTERING_WORLD" then SND=CreateFrame("Frame")SND.c=CreateFrame("Cooldown","SN",SND.t)SND.c:SetAllPoints(SND)SND:SetPoint("BOTTOMRIGHT",PlayerFrame,25,38)SND:SetSize(26,26) SND.t=SND:CreateTexture(nil,"Border")SND.t:SetAllPoints()SND.t:SetTexture("Interface\\Icons\\ability_druid_skinteeth")end if event=="UNIT_AURA" then local maxx=0;local _,N,d,D,x;for i=1,40 do N,_,_, _, _,d,x = UnitBuff("player", i)if not N then break end if N==RE then maxx=x;D=d;if D>0 then RC:SetCooldown(maxx-D-0.5,D)end elseif N==SE then maxx=x;D=d;if D>0 then SN:SetCooldown(maxx-D-0.5,D)end end end end end f:RegisterEvent("PLAYER_ENTERING_WORLD")f:RegisterEvent("UNIT_AURA")f:SetScript("OnEvent", Update)
|
10 сен 2012, 21:09 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
Как ты его мог перекроить, если там отслеживаются баффы? )
Если хочешь др, попробуй переделать вот этот скрипт, в нем иконки исчезают.
Скрытый текст Код:
- --rogue drtracker
- USD="UNIT_SPELLCAST_SUCCEEDED";OT="OnEvent";FR="Frame";RF=CreateFrame;RD="Border";UE=UnitName
- CS=RF(FR) CS.c=RF("Cooldown","CST",CS.t) CS:RegisterEvent(USD)
- CS.c:SetAllPoints(CS) CS:SetPoint("BOTTOMLEFT",438,437)CS:SetSize(26,26)CS:Hide()CS.t=CS:CreateTexture(nil,RD)CS.t:SetAllPoints()CS.t:SetTexture("Interface\\Icons\\ability_rogue_kidneyshot")
- CS:SetScript(OT,function(self,event,...)if UE(select(1,...))==UE("player")and select(5,...)==1833 then CST:SetCooldown(GetTime(),23)CS:Show()CS.elapsed = 0 CS:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 24 then self:SetScript('OnUpdate', nil) self:Hide() else self.elapsed = self.elapsed + elapsed end end)end if UE(select(1,...))==UE("player")and select(5,...)==408 then CST:SetCooldown(GetTime(),25)CS:Show() CS.elapsed = 0 CS:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 26 then self:SetScript('OnUpdate', nil) self:Hide()else self.elapsed = self.elapsed + elapsed end end)end end)
- SP=RF(FR) SP.c=RF("Cooldown","SAP",SP.t) SP:RegisterEvent(USD)
- SP.c:SetAllPoints(SP) SP:SetPoint("BOTTOMLEFT",438+26,437)SP:Hide()SP:SetSize(26,26)SP.t=SP:CreateTexture(nil,RD)SP.t:SetAllPoints()SP.t:SetTexture("Interface\\Icons\\ability_gouge")
- SP:SetScript(OT,function(self,event,...)if UE(select(1,...))==UE("player")and select(5,...)==6770 then SAP:SetCooldown(GetTime(),27)SP:Show()SP.elapsed = 0 SP:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 28 then self:SetScript('OnUpdate', nil) self:Hide()else self.elapsed = self.elapsed + elapsed end end)end if UE(select(1,...))==UE("player")and select(5,...)==1776 then SAP:SetCooldown(GetTime(),23)SP:Show()SP.elapsed = 0 SP:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 24 then self:SetScript('OnUpdate', nil) self:Hide()else self.elapsed = self.elapsed + elapsed end end)end end)
- GR=RF(FR) GR.c=RF("Cooldown","GAR",GR.t)
- GR.c:SetAllPoints(GR) GR:SetPoint("BOTTOMLEFT",438+52,437)GR:Hide()GR:SetSize(26,26)GR.t=GR:CreateTexture(nil,RD)GR.t:SetAllPoints()GR.t:SetTexture("Interface\\Icons\\spell_shadow_mindrot")
- GR:SetScript(OT,function(self,event,...)if UE(select(1,...))==UE("player")and select(5,...)==703 then GAR:SetCooldown(GetTime(),23)GR:Show()GR.elapsed = 0 GR:SetScript('OnUpdate', function(self, elapsed)if self.elapsed > 24 then self:SetScript('OnUpdate', nil) self:Hide()else self.elapsed = self.elapsed + elapsed end end)end end) GR:RegisterEvent(USD)
|
10 сен 2012, 21:35 |
|
|
Reimu
[0.4]
<Попа в огне>
Сервер: Черный Шрам
2х2: 1822
3х3: 1567
|
0
Скрипты Neilyo и не только
Я имел ввиду не Диминишинги хДД а вот это
http://ru.wowhead.com/spell=52610#.
|
10 сен 2012, 21:36 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
3
Скрипты Neilyo и не только
Код: local f = CreateFrame("Frame") local function Update(self, event, ...) local SE = GetSpellInfo(52610) if event=="PLAYER_ENTERING_WORLD" then SND=CreateFrame("Frame") SND.c=CreateFrame("Cooldown","SNDc", SND) SND.c:SetAllPoints(SND) SND:SetPoint("BOTTOMRIGHT",PlayerFrame,25,38) SND:SetSize(26,26) SND.t=SND:CreateTexture(nil,"Border") SND.t:SetAllPoints() end if event=="UNIT_AURA" then local found = false for i=1,40 do local N,_,t, _, _,d,x = UnitBuff("player", i) if not N then break end if N==SE then found = true SND:Show() SND.t:SetTexture(t) if d>0 then SND.c:SetCooldown(x-d-0.5,d) end end if not found then SND:Hide() end end end end f:RegisterEvent("PLAYER_ENTERING_WORLD") f:RegisterEvent("UNIT_AURA") f:SetScript("OnEvent", Update)
|
10 сен 2012, 21:39 |
|
|
Reimu
[0.4]
<Попа в огне>
Сервер: Черный Шрам
2х2: 1822
3х3: 1567
|
0
Скрипты Neilyo и не только
То что надо! Спасибо Фернир!
|
10 сен 2012, 21:44 |
|
|
mr1aleks
|
0
Скрипты Neilyo и не только
mr1aleks писал(а):
скажите почему не работает в аддоне строка FocusFrame:SetScale(0.85) хотя другие строки типо TargetFrame:SetScale(0.92) PlayerFrame:SetScale(0.92) работают, что не так? пробовал выключать все остальные аддоны но так же все:(
up
|
11 сен 2012, 09:45 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
0
Скрипты Neilyo и не только
FocusFrame:SetScale(0.85)
FocusFrame.SetScale = function() end -- делаем ф-цию скейла "пустышкой" чтобы другие аддоны (близз UI) не могли скалировать фрейм
|
11 сен 2012, 09:51 |
|
|
Skytez
|
0
Скрипты Neilyo и не только
Fernir, по личке не отвечаешь, может тут прочитаешь))
Ты выкладывал в теме (20 стр.) сжатый вариант скрипта для окраски в цвет класса дефолтных баров, вот этот:
Код: UnitSelectionColor = function(unit) local color = UnitIsPlayer(unit) and RAID_CLASS_COLORS[select(2, UnitClass(unit))] or FACTION_BAR_COLORS[UnitReaction(unit, 'player')] return (not UnitExists(unit) and 1,1,1,1) or color and ((not UnitIsConnected(unit) and .5, .5, .5, 1) or color.r*.8, color.g*.8, color.b*.8, 1) or ((UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit)) and .5, .5, .5, 1) end
Его более длинный вариант работает, а этот выдает ошибку:
Message: Interface\AddOns\Autoexec2\Autoexec2.lua:4: ')' expected near ',' Time: 09/08/12 12:39:12 Count: 1 Stack: Locals:
Не подскажешь что нужно поправить? Может кто-то другой исправил уже?
|
11 сен 2012, 15:27 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
0
Скрипты Neilyo и не только
Skytez писал(а):
Fernir, по личке не отвечаешь, может тут прочитаешь))
Ты выкладывал в теме (20 стр.) сжатый вариант скрипта для окраски в цвет класса дефолтных баров, вот этот:
Код: UnitSelectionColor = function(unit) local color = UnitIsPlayer(unit) and RAID_CLASS_COLORS[select(2, UnitClass(unit))] or FACTION_BAR_COLORS[UnitReaction(unit, 'player')] return (not UnitExists(unit) and 1,1,1,1) or color and ((not UnitIsConnected(unit) and .5, .5, .5, 1) or color.r*.8, color.g*.8, color.b*.8, 1) or ((UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit)) and .5, .5, .5, 1) end
Его более длинный вариант работает, а этот выдает ошибку:
Message: Interface\AddOns\Autoexec2\Autoexec2.lua:4: ')' expected near ',' Time: 09/08/12 12:39:12 Count: 1 Stack: Locals:
Не подскажешь что нужно поправить? Может кто-то другой исправил уже?
его не пофиксишь, или он станет длиннее первого, ибо цвет определяется при наличии юнита, первый бери
|
11 сен 2012, 19:03 |
|
|
BlackStorm
[10]
|
0
Скрипты Neilyo и не только
Тринкеты к близз арена фреймам можно сейчас как-то?
Код:
LoadAddOn("Blizzard_ArenaUI")
ArenaEnemyFrame1:ClearAllPoints() ArenaEnemyFrame1:SetPoint("CENTER", UIParent, "CENTER", 350, -100) ArenaEnemyFrame1.SetPoint = function() end ArenaEnemyFrame2:ClearAllPoints() ArenaEnemyFrame2:SetPoint("CENTER", UIParent, "CENTER", 350, -150) ArenaEnemyFrame2.SetPoint = function() end ArenaEnemyFrame3:ClearAllPoints() ArenaEnemyFrame3:SetPoint("CENTER", UIParent, "CENTER", 350, -200) ArenaEnemyFrame3.SetPoint = function() end
Код такой сейчас стоит.
|
11 сен 2012, 22:14 |
|
|
Genrix
[4.7]
|
0
Скрипты Neilyo и не только
Юзал скрипт на скрытие грифонов и прочих текстур вокруг мэйн бара "как у Джокера" после патча появилась текстурка, что на скрине. Киньте скрипт скрываютщий её.
|
11 сен 2012, 22:48 |
|
|
mr1aleks
|
0
Скрипты Neilyo и не только
Fernir писал(а):
FocusFrame:SetScale(0.85)
FocusFrame.SetScale = function() end -- делаем ф-цию скейла "пустышкой" чтобы другие аддоны (близз UI) не могли скалировать фрейм
спасибо работает
|
11 сен 2012, 23:28 |
|
|
witcher
[14.3]
|
3
Скрипты Neilyo и не только
Arena Trinkets 5.0.5
Скрытый текст Код:
- --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", -100, -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
- 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 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")
Хп бары по цвету класса+имена по цвету класса+прозрачный фон у имен
Скрытый текст Код:
- local frame = CreateFrame("FRAME")
- frame:RegisterEvent("PLAYER_ENTERING_WORLD")
- frame:RegisterEvent("PARTY_MEMBERS_CHANGED")
- frame:RegisterEvent("PLAYER_TARGET_CHANGED")
- frame:RegisterEvent("PLAYER_FOCUS_CHANGED")
- frame:RegisterEvent("UNIT_FACTION")
- frame:RegisterEvent("ARENA_OPPONENT_UPDATE")
- frame:RegisterEvent("PLAYER_CONTROL_GAINED")
- frame:RegisterEvent("PLAYER_CONTROL_LOST")
- frame:RegisterEvent("ADDON_LOADED");
- local function eventHandler(self, event, arg, ...)
- if (event == "UNIT_FACTION" and arg ~= "target" and arg ~= "focus") then return end
- if UnitExists("target") then
- TargetFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5)
- end
- if UnitExists("focus") then
- FocusFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5)
- end
- end
- frame:SetScript("OnEvent", eventHandler)
- --class colored hp bars
- local UnitIsPlayer,UnitIsConnected, UnitClass, RAID_CLASS_COLORS = UnitIsPlayer,UnitIsConnected,UnitClass, RAID_CLASS_COLORS
- local _, class, c
- local function colour(statusbar, unit, name)
- if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
- _, class = UnitClass(unit) c = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[class] or RAID_CLASS_COLORS[class]
- statusbar:SetStatusBarColor(c.r, c.g, c.b)
- statusbar = _G["PlayerFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--playerframe fix
- end
- end
- hooksecurefunc("UnitFrameHealthBar_Update", colour)
- hooksecurefunc("HealthBar_OnValueChanged", function(self)colour(self, self.unit)end)
- local sb = _G.GameTooltipStatusBar
- local addon = CreateFrame("Frame", "StatusColour")
- addon:RegisterEvent("UPDATE_MOUSEOVER_UNIT")
- addon:SetScript("OnEvent", function()
- colour(sb, "mouseover") end)
- hooksecurefunc("UnitFrame_Update", function(self)
- if UnitClass(self.unit) then
- local c = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[select(2,UnitClass(self.unit))]
- self.name:SetTextColor(c.r,c.g,c.b,1) end end)
Остальные скрипты вроде нормально пашут у меня.
http://pastebin.com/v9F3KJYm
Что касается EnemyCooldowns, он впринципе работает, но большинство спеллов нужно переделывать.
|
12 сен 2012, 17:52 |
|
|
fuss
[0.1]
|
0
Скрипты Neilyo и не только
Так может кто-то сделать на скрипт интераптбара, что было скрыто и появлялось только после юза? И после того как прошло кд, иконка пропадала
|
12 сен 2012, 19:30 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
2
Скрипты Neilyo и не только
минимапа Код: --hide excess buttons for _,v in pairs({MiniMapWorldMapButton, MinimapZoomIn, MinimapZoomOut, MinimapZoneTextButton, MinimapToggleButton, MinimapBorderTop, MinimapNorthTag}) do v:Hide() v.Show=function() end end MinimapCluster:ClearAllPoints() MinimapCluster:SetPoint('TOPRIGHT', -20, -20) Minimap:SetSize(160, 160) Minimap:SetMaskTexture([[Interface/BUTTONS/WHITE8X8]]) MinimapBorder:SetParent(MinimapCluster) MinimapBorder:ClearAllPoints() MinimapBorder:SetTexture(0,0,0) MinimapBorder:SetPoint('TOPLEFT', Minimap, -1, 1) MinimapBorder:SetPoint('BOTTOMRIGHT', Minimap, 1, -1)
--make the minimap scrollable via the mousewheel Minimap:EnableMouseWheel(true) Minimap:SetScript('OnMouseWheel', function(self, arg1) if (self:GetZoom() + arg1 <= self:GetZoomLevels()) and (self:GetZoom() + arg1 >= 0) then self:SetZoom(self:GetZoom() + arg1) end end) могу добавить чтобы пряталась в бою
|
12 сен 2012, 20:01 |
|
|
propaman
[3.8]
|
0
Скрипты Neilyo и не только
Выложенный в шапке темы скрипт на каст тайм у дефолт каст бара не работает, умельцы, помогите)
|
12 сен 2012, 20:23 |
|
|
4p0k
|
0
Скрипты Neilyo и не только
wit4er писал(а):
Arena Trinkets 5.0.5
Скрытый текст Код:
- --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", -100, -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
- 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 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")
Хп бары по цвету класса+имена по цвету класса+прозрачный фон у имен
Скрытый текст Код:
- local frame = CreateFrame("FRAME")
- frame:RegisterEvent("PLAYER_ENTERING_WORLD")
- frame:RegisterEvent("PARTY_MEMBERS_CHANGED")
- frame:RegisterEvent("PLAYER_TARGET_CHANGED")
- frame:RegisterEvent("PLAYER_FOCUS_CHANGED")
- frame:RegisterEvent("UNIT_FACTION")
- frame:RegisterEvent("ARENA_OPPONENT_UPDATE")
- frame:RegisterEvent("PLAYER_CONTROL_GAINED")
- frame:RegisterEvent("PLAYER_CONTROL_LOST")
- frame:RegisterEvent("ADDON_LOADED");
- local function eventHandler(self, event, arg, ...)
- if (event == "UNIT_FACTION" and arg ~= "target" and arg ~= "focus") then return end
- if UnitExists("target") then
- TargetFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5)
- end
- if UnitExists("focus") then
- FocusFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5)
- end
- end
- frame:SetScript("OnEvent", eventHandler)
- --class colored hp bars
- local UnitIsPlayer,UnitIsConnected, UnitClass, RAID_CLASS_COLORS = UnitIsPlayer,UnitIsConnected,UnitClass, RAID_CLASS_COLORS
- local _, class, c
- local function colour(statusbar, unit, name)
- if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
- _, class = UnitClass(unit) c = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[class] or RAID_CLASS_COLORS[class]
- statusbar:SetStatusBarColor(c.r, c.g, c.b)
- statusbar = _G["PlayerFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--playerframe fix
- end
- end
- hooksecurefunc("UnitFrameHealthBar_Update", colour)
- hooksecurefunc("HealthBar_OnValueChanged", function(self)colour(self, self.unit)end)
- local sb = _G.GameTooltipStatusBar
- local addon = CreateFrame("Frame", "StatusColour")
- addon:RegisterEvent("UPDATE_MOUSEOVER_UNIT")
- addon:SetScript("OnEvent", function()
- colour(sb, "mouseover") end)
- hooksecurefunc("UnitFrame_Update", function(self)
- if UnitClass(self.unit) then
- local c = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[select(2,UnitClass(self.unit))]
- self.name:SetTextColor(c.r,c.g,c.b,1) end end)
Остальные скрипты вроде нормально пашут у меня.
http://pastebin.com/v9F3KJYm
Что касается EnemyCooldowns, он впринципе работает, но большинство спеллов нужно переделывать.
Привет wit4er , как то плохо пашут хп бары, без атаки в цвете класса, когда атакуешь меняется на зелёные... подскажи что сделать чтобы норм было?
|
12 сен 2012, 20:37 |
|