Скрипты Neilyo и не только  
Автор Сообщение

0
Сообщение Скрипты Neilyo и не только

Благодарю



09 сен 2012, 16:49
Профиль



<ТАКЕ ТНЕ ТОР>


Сервер: Свежеватель Душ
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")

 

#465

 

Кароч арена фреймы недвигаются и криво стоят, что над прописать в луа файле который сверху чтоб всё ок было?) Знает кто? чето было в теме, пробовал менять, ток не че не помогло. 

 



09 сен 2012, 18:47
Профиль Skype

0
Сообщение Скрипты Neilyo и не только

скажите почему не работает в аддоне строка FocusFrame:SetScale(0.85) хотя другие строки типо TargetFrame:SetScale(0.92)
PlayerFrame:SetScale(0.92) работают, что не так? пробовал выключать все остальные аддоны но так же все:(



10 сен 2012, 13:12
Профиль



<Попа в огне>


Сервер: Черный Шрам
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
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Скрипты Neilyo и не только

Как ты его мог перекроить, если там отслеживаются баффы? )

Если хочешь др, попробуй переделать вот этот скрипт, в нем иконки исчезают.

Код:

  1. --rogue drtracker
  2. USD="UNIT_SPELLCAST_SUCCEEDED";OT="OnEvent";FR="Frame";RF=CreateFrame;RD="Border";UE=UnitName
  3. CS=RF(FR) CS.c=RF("Cooldown","CST",CS.t) CS:RegisterEvent(USD)
  4. 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")
  5. 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)
  6. SP=RF(FR) SP.c=RF("Cooldown","SAP",SP.t) SP:RegisterEvent(USD)
  7. 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")
  8. 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)
  9. GR=RF(FR) GR.c=RF("Cooldown","GAR",GR.t)  
  10. 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")
  11. 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
Профиль



<Попа в огне>


Сервер: Черный Шрам
2х2: 1822
3х3: 1567
0
Сообщение Скрипты Neilyo и не только

Я имел ввиду не Диминишинги хДД а вот это

http://ru.wowhead.com/spell=52610#.

 



10 сен 2012, 21:36
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
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
Профиль



<Попа в огне>


Сервер: Черный Шрам
2х2: 1822
3х3: 1567
0
Сообщение Скрипты Neilyo и не только

То что надо! Спасибо Фернир! 



10 сен 2012, 21:44
Профиль

0
Сообщение Скрипты Neilyo и не только

mr1aleks писал(а):

скажите почему не работает в аддоне строка FocusFrame:SetScale(0.85) хотя другие строки типо TargetFrame:SetScale(0.92)
PlayerFrame:SetScale(0.92) работают, что не так? пробовал выключать все остальные аддоны но так же все:(

 

up Smile

 



11 сен 2012, 09:45
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
0
Сообщение Скрипты Neilyo и не только

FocusFrame:SetScale(0.85)

FocusFrame.SetScale = function() end -- делаем ф-цию скейла "пустышкой" чтобы другие аддоны (близз UI) не могли скалировать фрейм



11 сен 2012, 09:51
Профиль

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
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
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
Профиль

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
Профиль Skype

0
Сообщение Скрипты Neilyo и не только

Юзал скрипт на скрытие грифонов и прочих текстур вокруг мэйн бара "как у Джокера" после патча появилась текстурка, что на скрине. Киньте скрипт скрываютщий её.

#869



11 сен 2012, 22:48
Профиль

0
Сообщение Скрипты Neilyo и не только

Fernir писал(а):

FocusFrame:SetScale(0.85)

FocusFrame.SetScale = function() end -- делаем ф-цию скейла "пустышкой" чтобы другие аддоны (близз UI) не могли скалировать фрейм

спасибо работает

 



11 сен 2012, 23:28
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
3
Сообщение Скрипты Neilyo и не только

Arena Trinkets 5.0.5

Код:

  1. --arena trinkets
  2. local trinkets = {}
  3. local events = CreateFrame("Frame")
  4. function events:ADDON_LOADED(addonName)
  5.     if addonName ~= "Blizzard_ArenaUI" then
  6.         return
  7.     end
  8.         ArenaEnemyFrame1:ClearAllPoints()
  9.         ArenaEnemyFrame1:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -100, -200)        
  10.         ArenaEnemyFrame1.SetPoint = function() end     
  11.         ArenaEnemyFrame2:ClearAllPoints()
  12.         ArenaEnemyFrame2:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -50)
  13.         ArenaEnemyFrame2.SetPoint = function() end
  14.         ArenaEnemyFrame3:ClearAllPoints()
  15.         ArenaEnemyFrame3:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -100)
  16.         ArenaEnemyFrame3.SetPoint = function() end             
  17.     local arenaFrame, trinket
  18.     for i = 1, MAX_ARENA_ENEMIES do
  19.             arenaFrame = "ArenaEnemyFrame"..i
  20.         trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames)
  21.         trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6)
  22.         trinket:SetSize(24, 24)
  23.         trinket.icon = trinket:CreateTexture(nil, "BACKGROUND")
  24.         trinket.icon:SetAllPoints()
  25.         trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01")
  26.         trinket:Hide()
  27.         trinkets["arena"..i] = trinket
  28.     end
  29.     self:UnregisterEvent("ADDON_LOADED")
  30. end
  31. function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID)
  32.     if not trinkets[unitID] then
  33.         return
  34.     end
  35.     if spellID == 59752 or spellID == 42292 then
  36.         CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1)
  37.         SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY")
  38.     elseif spellID == 7744 then
  39.         CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1)
  40.         SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY")
  41.     end
  42. end
  43. function events:PLAYER_ENTERING_WORLD()
  44.     local _, instanceType = IsInInstance()
  45.     if instanceType == "arena" then
  46.         self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
  47.     elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then
  48.         self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED")
  49.         for _, trinket in pairs(trinkets) do
  50.             trinket:SetCooldown(0, 0)
  51.             trinket:Hide()
  52.         end
  53.     end
  54. end
  55. SLASH_TESTAEF1 = "/testaef"
  56. SlashCmdList["TESTAEF"] = function(msg, editBox)
  57.     if not IsAddOnLoaded("Blizzard_ArenaUI") then
  58.         LoadAddOn("Blizzard_ArenaUI")
  59.     end
  60.     ArenaEnemyFrames:Show()
  61.     local arenaFrame
  62.     for i = 1, 3 do
  63.         arenaFrame = _G["ArenaEnemyFrame"..i]          
  64.         arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles")
  65.         arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"]))
  66.         arenaFrame.name:SetText("Dispelme")
  67.         arenaFrame:Show()                      
  68.         CooldownFrame_SetTimer(trinkets["arena"..i], GetTime(), 120, 1)        
  69.     end
  70. end
  71. events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
  72. events:RegisterEvent("ADDON_LOADED")
  73. events:RegisterEvent("PLAYER_ENTERING_WORLD")

Хп бары по цвету класса+имена по цвету класса+прозрачный фон у имен

Код:

  1. local frame = CreateFrame("FRAME")
  2. frame:RegisterEvent("PLAYER_ENTERING_WORLD")
  3. frame:RegisterEvent("PARTY_MEMBERS_CHANGED")
  4. frame:RegisterEvent("PLAYER_TARGET_CHANGED")
  5. frame:RegisterEvent("PLAYER_FOCUS_CHANGED")
  6. frame:RegisterEvent("UNIT_FACTION")
  7. frame:RegisterEvent("ARENA_OPPONENT_UPDATE")
  8. frame:RegisterEvent("PLAYER_CONTROL_GAINED")
  9. frame:RegisterEvent("PLAYER_CONTROL_LOST")
  10. frame:RegisterEvent("ADDON_LOADED");  
  11. local function eventHandler(self, event, arg, ...)
  12.         if (event == "UNIT_FACTION" and arg ~= "target" and arg ~= "focus") then return end            
  13.                 if UnitExists("target") then                
  14.                 TargetFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5)
  15.         end
  16.         if UnitExists("focus") then                
  17.                 FocusFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5)
  18.         end        
  19. end
  20. frame:SetScript("OnEvent", eventHandler)
  21. --class colored hp bars
  22. local UnitIsPlayer,UnitIsConnected, UnitClass, RAID_CLASS_COLORS = UnitIsPlayer,UnitIsConnected,UnitClass, RAID_CLASS_COLORS
  23. local _, class, c
  24. local function colour(statusbar, unit, name)
  25.       if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
  26.           _, class = UnitClass(unit) c = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[class] or RAID_CLASS_COLORS[class]
  27.           statusbar:SetStatusBarColor(c.r, c.g, c.b)             
  28.                   statusbar = _G["PlayerFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--playerframe fix   
  29.       end        
  30. end
  31. hooksecurefunc("UnitFrameHealthBar_Update", colour)
  32. hooksecurefunc("HealthBar_OnValueChanged", function(self)colour(self, self.unit)end)
  33. local sb = _G.GameTooltipStatusBar
  34. local addon = CreateFrame("Frame", "StatusColour")
  35. addon:RegisterEvent("UPDATE_MOUSEOVER_UNIT")
  36. addon:SetScript("OnEvent", function()
  37. colour(sb, "mouseover") end)
  38. hooksecurefunc("UnitFrame_Update", function(self)
  39.         if UnitClass(self.unit) then
  40.                 local c = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[select(2,UnitClass(self.unit))]
  41.                 self.name:SetTextColor(c.r,c.g,c.b,1) end end)

Остальные скрипты вроде нормально пашут у меня.

http://pastebin.com/v9F3KJYm

Что касается EnemyCooldowns, он впринципе работает, но большинство спеллов нужно переделывать. :D



12 сен 2012, 17:52
Профиль

0
Сообщение Скрипты Neilyo и не только

Так может кто-то сделать на скрипт интераптбара, что было скрыто и появлялось только после юза? И после того как прошло кд, иконка пропадала



12 сен 2012, 19:30
Профиль Skype WWW



<Мёртвая Хватка>


Сервер: Азурегос
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
Профиль

0
Сообщение Скрипты Neilyo и не только

Выложенный в шапке темы скрипт на каст тайм у дефолт каст бара не работает, умельцы, помогите)



12 сен 2012, 20:23
Профиль

0
Сообщение Скрипты Neilyo и не только

wit4er писал(а):

Arena Trinkets 5.0.5

Код:

  1. --arena trinkets
  2. local trinkets = {}
  3. local events = CreateFrame("Frame")
  4. function events:ADDON_LOADED(addonName)
  5.     if addonName ~= "Blizzard_ArenaUI" then
  6.         return
  7.     end
  8.         ArenaEnemyFrame1:ClearAllPoints()
  9.         ArenaEnemyFrame1:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -100, -200)        
  10.         ArenaEnemyFrame1.SetPoint = function() end     
  11.         ArenaEnemyFrame2:ClearAllPoints()
  12.         ArenaEnemyFrame2:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -50)
  13.         ArenaEnemyFrame2.SetPoint = function() end
  14.         ArenaEnemyFrame3:ClearAllPoints()
  15.         ArenaEnemyFrame3:SetPoint("BOTTOMLEFT", ArenaEnemyFrame1, "BOTTOMLEFT", 0, -100)
  16.         ArenaEnemyFrame3.SetPoint = function() end             
  17.     local arenaFrame, trinket
  18.     for i = 1, MAX_ARENA_ENEMIES do
  19.             arenaFrame = "ArenaEnemyFrame"..i
  20.         trinket = CreateFrame("Cooldown", arenaFrame.."Trinket", ArenaEnemyFrames)
  21.         trinket:SetPoint("TOPRIGHT", arenaFrame, 30, -6)
  22.         trinket:SetSize(24, 24)
  23.         trinket.icon = trinket:CreateTexture(nil, "BACKGROUND")
  24.         trinket.icon:SetAllPoints()
  25.         trinket.icon:SetTexture("Interface\\Icons\\inv_jewelry_trinketpvp_01")
  26.         trinket:Hide()
  27.         trinkets["arena"..i] = trinket
  28.     end
  29.     self:UnregisterEvent("ADDON_LOADED")
  30. end
  31. function events:UNIT_SPELLCAST_SUCCEEDED(unitID, spell, rank, lineID, spellID)
  32.     if not trinkets[unitID] then
  33.         return
  34.     end
  35.     if spellID == 59752 or spellID == 42292 then
  36.         CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 120, 1)
  37.         SendChatMessage("Trinket used by: "..GetUnitName(unitID, true), "PARTY")
  38.     elseif spellID == 7744 then
  39.         CooldownFrame_SetTimer(trinkets[unitID], GetTime(), 45, 1)
  40.         SendChatMessage("WotF used by: "..GetUnitName(unitID, true), "PARTY")
  41.     end
  42. end
  43. function events:PLAYER_ENTERING_WORLD()
  44.     local _, instanceType = IsInInstance()
  45.     if instanceType == "arena" then
  46.         self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
  47.     elseif self:IsEventRegistered("UNIT_SPELLCAST_SUCCEEDED") then
  48.         self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED")
  49.         for _, trinket in pairs(trinkets) do
  50.             trinket:SetCooldown(0, 0)
  51.             trinket:Hide()
  52.         end
  53.     end
  54. end
  55. SLASH_TESTAEF1 = "/testaef"
  56. SlashCmdList["TESTAEF"] = function(msg, editBox)
  57.     if not IsAddOnLoaded("Blizzard_ArenaUI") then
  58.         LoadAddOn("Blizzard_ArenaUI")
  59.     end
  60.     ArenaEnemyFrames:Show()
  61.     local arenaFrame
  62.     for i = 1, 3 do
  63.         arenaFrame = _G["ArenaEnemyFrame"..i]          
  64.         arenaFrame.classPortrait:SetTexture("Interface\\TargetingFrame\\UI-Classes-Circles")
  65.         arenaFrame.classPortrait:SetTexCoord(unpack(CLASS_ICON_TCOORDS["WARRIOR"]))
  66.         arenaFrame.name:SetText("Dispelme")
  67.         arenaFrame:Show()                      
  68.         CooldownFrame_SetTimer(trinkets["arena"..i], GetTime(), 120, 1)        
  69.     end
  70. end
  71. events:SetScript("OnEvent", function(self, event, ...) return self[event](self, ...) end)
  72. events:RegisterEvent("ADDON_LOADED")
  73. events:RegisterEvent("PLAYER_ENTERING_WORLD")

Хп бары по цвету класса+имена по цвету класса+прозрачный фон у имен

Код:

  1. local frame = CreateFrame("FRAME")
  2. frame:RegisterEvent("PLAYER_ENTERING_WORLD")
  3. frame:RegisterEvent("PARTY_MEMBERS_CHANGED")
  4. frame:RegisterEvent("PLAYER_TARGET_CHANGED")
  5. frame:RegisterEvent("PLAYER_FOCUS_CHANGED")
  6. frame:RegisterEvent("UNIT_FACTION")
  7. frame:RegisterEvent("ARENA_OPPONENT_UPDATE")
  8. frame:RegisterEvent("PLAYER_CONTROL_GAINED")
  9. frame:RegisterEvent("PLAYER_CONTROL_LOST")
  10. frame:RegisterEvent("ADDON_LOADED");  
  11. local function eventHandler(self, event, arg, ...)
  12.         if (event == "UNIT_FACTION" and arg ~= "target" and arg ~= "focus") then return end            
  13.                 if UnitExists("target") then                
  14.                 TargetFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5)
  15.         end
  16.         if UnitExists("focus") then                
  17.                 FocusFrameNameBackground:SetVertexColor(0.0, 0.0, 0.0, 0.5)
  18.         end        
  19. end
  20. frame:SetScript("OnEvent", eventHandler)
  21. --class colored hp bars
  22. local UnitIsPlayer,UnitIsConnected, UnitClass, RAID_CLASS_COLORS = UnitIsPlayer,UnitIsConnected,UnitClass, RAID_CLASS_COLORS
  23. local _, class, c
  24. local function colour(statusbar, unit, name)
  25.       if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
  26.           _, class = UnitClass(unit) c = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[class] or RAID_CLASS_COLORS[class]
  27.           statusbar:SetStatusBarColor(c.r, c.g, c.b)             
  28.                   statusbar = _G["PlayerFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--playerframe fix   
  29.       end        
  30. end
  31. hooksecurefunc("UnitFrameHealthBar_Update", colour)
  32. hooksecurefunc("HealthBar_OnValueChanged", function(self)colour(self, self.unit)end)
  33. local sb = _G.GameTooltipStatusBar
  34. local addon = CreateFrame("Frame", "StatusColour")
  35. addon:RegisterEvent("UPDATE_MOUSEOVER_UNIT")
  36. addon:SetScript("OnEvent", function()
  37. colour(sb, "mouseover") end)
  38. hooksecurefunc("UnitFrame_Update", function(self)
  39.         if UnitClass(self.unit) then
  40.                 local c = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[select(2,UnitClass(self.unit))]
  41.                 self.name:SetTextColor(c.r,c.g,c.b,1) end end)

Остальные скрипты вроде нормально пашут у меня.

http://pastebin.com/v9F3KJYm

Что касается EnemyCooldowns, он впринципе работает, но большинство спеллов нужно переделывать. :D

Привет wit4er , как то плохо пашут хп бары, без атаки в цвете класса, когда атакуешь меняется на зелёные... подскажи что сделать чтобы норм было? 

 



12 сен 2012, 20:37
Профиль
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru