Автор |
Сообщение |
rpuHbI4
[0.5]
|
0
Скрипты Neilyo и не только
вот так
Dispella Код:
---Dispella
dStuff = { ["dispelannouncement"] = { enable = true, justify = "CENTER", fontsize = 16, textcolor = "|cff00ff00", },
font = "Fonts\\FRIZQT__.ttf", }
local f = CreateFrame("MessageFrame", "dDispelFrame", UIParent) f:SetPoint("TOP", 0, -220) f:SetSize(200, 100) f:SetFont(dStuff.font, dStuff.dispelannouncement.fontsize) f:SetShadowOffset(1, -1) f:SetShadowColor(0,0,0) f:SetTimeVisible(2) f:SetBackdrop({bgFile = "Interface\\ChatFrame\\ChatFrameBackground"}) f:SetBackdropColor(0,0,0,0) f:SetMovable(true) f:SetFrameStrata("HIGH") f:SetInsertMode("TOP") f:SetJustifyH(dStuff.dispelannouncement.justify) f:SetClampedToScreen(true) f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") f:SetScript("OnEvent", function(self, event, ...) local timestamp, eventType, _, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags, spellID, spellName = ... if (eventType == "SPELL_DISPEL" or eventType == "SPELL_STOLEN") and sourceName == UnitName("player") then f:AddMessage("- "..dStuff.dispelannouncement.textcolor..select(16, ...), 1, 1, 1) end end)
добавлю сюда
Necrotic Tracker(цифры в дебаффе некротика (8k/15k/...) Код:
--Necrotic Tracker-- CreateFrame('GameTooltip', 'NecroticTooltip', nil, 'GameTooltipTemplate'):SetOwner(WorldFrame, 'ANCHOR_NONE')
local function GetNecroticStrikeAbsorption(buff) NecroticTooltip:ClearLines() NecroticTooltip:SetUnitDebuff('player', buff:GetID()) return tonumber(NecroticTooltipTextLeft2:GetText():match('.* (%d+%s?) .*')) end
local function short(n) return n >= 1000 and ('%dk'):format(floor(n / 1000)) or n >= 100 and ('%dh'):format(floor(n / 100 )) or n end
local NecroticStrike = GetSpellInfo(73975)
hooksecurefunc('AuraButton_Update', function(buttonName, index, filter) if UnitAura('player', index, filter) ~= NecroticStrike then return end
local buff = _G[ buttonName .. index ] local absorption = GetNecroticStrikeAbsorption(buff)
if absorption then buff.count:SetText(short(absorption)) buff.count:Show() return true end end)
Target/FocusHp % (более детальный) Код:
---Target/FocusHp %--- local registerOnShow = function(frame) frame:RegisterEvent("UNIT_HEALTH") end local unregisterOnHide = function(frame) frame:UnregisterEvent("UNIT_HEALTH") end
local healthUpdate = function(frame, _, unit) if not unit or unit == frame.target then local hp = UnitHealth(frame.target) if hp > 0 then hp = hp / UnitHealthMax(frame.target) * 100 frame.text:SetFormattedText("%.1f%%", hp) else frame.text:SetText("0%") end end end
local t_hpFrame = CreateFrame("Frame", "TargetPercent", TargetFrameHealthBar) t_hpFrame:SetPoint("LEFT", TargetFrameHealthBar, "LEFT", -48, 0) t_hpFrame:SetWidth(50) t_hpFrame:SetHeight(20) t_hpFrame.text = t_hpFrame:CreateFontString("TargetPercentText", "OVERLAY") t_hpFrame.text:SetAllPoints(t_hpFrame) t_hpFrame.text:SetFontObject(TextStatusBarText) t_hpFrame.text:SetJustifyH("RIGHT") t_hpFrame:RegisterEvent("PLAYER_TARGET_CHANGED") t_hpFrame:SetScript("OnShow", registerOnShow) t_hpFrame:SetScript("OnHide", unregisterOnHide) t_hpFrame:RegisterForDrag("LeftButton") t_hpFrame:SetClampedToScreen(true) t_hpFrame:SetScript("OnDragStart", startDrag) t_hpFrame:SetScript("OnDragStop", stopDrag) t_hpFrame:SetScript("OnEvent", healthUpdate) t_hpFrame.target = "target"
local f_hpFrame = CreateFrame("Frame", "FocusPercent", FocusFrameHealthBar) f_hpFrame:SetPoint("LEFT", FocusFrameHealthBar, "LEFT", -46, 0) f_hpFrame:SetWidth(50) f_hpFrame:SetHeight(20) f_hpFrame.text = f_hpFrame:CreateFontString("FocusPercentText", "OVERLAY") f_hpFrame.text:SetAllPoints(f_hpFrame) f_hpFrame.text:SetFontObject(TextStatusBarText) f_hpFrame.text:SetJustifyH("RIGHT") f_hpFrame:RegisterEvent("PLAYER_FOCUS_CHANGED") f_hpFrame:SetScript("OnShow", registerOnShow) f_hpFrame:SetScript("OnHide", unregisterOnHide) f_hpFrame:RegisterForDrag("LeftButton") f_hpFrame:SetClampedToScreen(true) f_hpFrame:SetScript("OnDragStart", startDrag) f_hpFrame:SetScript("OnDragStop", stopDrag) f_hpFrame:SetScript("OnEvent", healthUpdate) f_hpFrame.target = "focus"
local bossHealthUpdate = function(frame) local hp = UnitHealth(frame.target) if hp > 0 then hp = hp / UnitHealthMax(frame.target) * 100 frame.text:SetFormattedText("%.1f%%", hp) else frame.text:SetText("0%") end end
ChatEditbox on top Код:
---Editbox on top--- ChatFrame1EditBox:ClearAllPoints() ChatFrame1EditBox:SetPoint('BOTTOMRIGHT', _G.ChatFrame1, 'TOPRIGHT', 0, 20) ChatFrame1EditBox:SetPoint('BOTTOMLEFT', _G.ChatFrame1, 'TOPLEFT', 0, 5)
Party full Debuffs Код:
--Party full Debuffs--
for i=1,4 do local f = _G["PartyMemberFrame"..i] f:UnregisterEvent("UNIT_AURA") local g = CreateFrame("Frame") g:RegisterEvent("UNIT_AURA") g:SetScript("OnEvent",function(self,event,a1) if a1 == f.unit then RefreshDebuffs(f,a1,20,nil,1) else if a1 == f.unit.."pet" then PartyMemberFrame_RefreshPetDebuffs(f) end end end) local b = _G[f:GetName().."Debuff1"] b:ClearAllPoints() b:SetPoint("TOPLEFT",48,-30)
for j=5,20 do local l = f:GetName().."Debuff"
local n = l..j local c = CreateFrame("Frame",n,f,"PartyDebuffFrameTemplate") c:SetPoint("LEFT",_G[l..(j-1)],"RIGHT",1,0)
end end
Focuser Код:
--Focuser-- local modifier = "alt" local mouseButton = "1"
local function SetFocusHotkey(frame) frame:SetAttribute(modifier.."-type"..mouseButton,"focus") end
local function CreateFrame_Hook(type, name, parent, template) if template == "SecureUnitButtonTemplate" then SetFocusHotkey(_G[name]) end end
hooksecurefunc("CreateFrame", CreateFrame_Hook)
local f = CreateFrame("CheckButton", "FocuserButton", UIParent, "SecureActionButtonTemplate") f:SetAttribute("type1","macro") f:SetAttribute("macrotext","/focus mouseover") SetOverrideBindingClick(FocuserButton,true,modifier.."-BUTTON"..mouseButton,"FocuserButton")
local duf = { PlayerFrame, PetFrame, PartyMemberFrame1, PartyMemberFrame2, PartyMemberFrame3, PartyMemberFrame4, PartyMemberFrame1PetFrame, PartyMemberFrame2PetFrame, PartyMemberFrame3PetFrame, PartyMemberFrame4PetFrame, TargetFrame, TargetofTargetFrame, ArenaEnemyFrame1, ArenaEnemyFrame2, ArenaEnemyFrame3, ArenaEnemyFrame4, ArenaEnemyFrame5, ArenaEnemyFrame1PetFrame, ArenaEnemyFrame2PetFrame, ArenaEnemyFrame3PetFrame, ArenaEnemyFrame4PetFrame, ArenaEnemyFrame5PetFrame, }
for i,frame in pairs(duf) do SetFocusHotkey(frame) end
всё это сейчас в моём конфиге, без ошибок
|
13 апр 2012, 02:03 |
|
|
Пушкин
[2]
|
0
Скрипты Neilyo и не только
Можешь скрин с Necrotic Tracker запостить. ИНтересно глянуть, как оно выглядит.
|
13 апр 2012, 14:06 |
|
|
xelly
[1.3]
Сервер: Outland
Рейтинг поля боя: 1859
2х2: 2438
3х3: 2441
|
1
Скрипты Neilyo и не только
Реально ли скриптами написать аддон наподобии Dominos_Bufftimes, но чтобы спелы вбивались по спелл id, проще говоря Buff Tracker ,но с отображением времени действия абилки на панели.
#444
|
13 апр 2012, 21:29 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
xelly писал(а):
Реально ли скриптами написать аддон наподобии Dominos_Bufftimes, но чтобы спелы вбивались по спелл id, проще говоря Buff Tracker ,но с отображением времени действия абилки на панели.
#715
а что делает этот аддон?
|
14 апр 2012, 16:19 |
|
|
xelly
[1.3]
Сервер: Outland
Рейтинг поля боя: 1859
2х2: 2438
3х3: 2441
|
0
Скрипты Neilyo и не только
wit4er писал(а):
xelly писал(а):
Реально ли скриптами написать аддон наподобии Dominos_Bufftimes, но чтобы спелы вбивались по спелл id, проще говоря Buff Tracker ,но с отображением времени действия абилки на панели.
#690
а что делает этот аддон?
Допустим показывает на кнопке рекупирейта/снд/любого другого бафа время его действия, как будто на нем кд, так же он показывает как видно на скрине время действия дот дебаффа на таргете как кд.
|
14 апр 2012, 23:12 |
|
|
rpuHbI4
[0.5]
|
0
Скрипты Neilyo и не только
скажу тебе что это юзлесс, больше запутаешься
|
14 апр 2012, 23:18 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
На AJ появилась интересная темка, где есть очень интересные скрипты.
Например
Включение сияющей обводки вокруг стилящихся баффов, даже если вы не маг
hooksecurefunc("TargetFrame_UpdateAuras",function(s) for i =1, MAX_TARGET_BUFFS do _, _, ic, _, dT =UnitBuff(s.unit, i) if(ic and(not s.maxBuffs or i<=s.maxBuffs))then fS=_G[s:GetName()..'Buff'..i..'Stealable'] if(UnitIsEnemy(PlayerFrame.unit, s.unit)and dT=='Magic')then fS:Show() else fS:Hide() end end end end)
Вы также можете адаптировать этот скрипт, чтобы он показывал энрейдж эффекты (для шива). Для этого нужно поменять dT=='Magic' на dT='' По неизвестным причинам энрейдж эффекты возвращают пустое значение, а не название типа "Magic" или "Enrage".
|
17 апр 2012, 17:14 |
|
|
Timkapro
[0.2]
|
0
Скрипты Neilyo и не только
реально ли подружить Class Colored Party Frames со стандартными рейдфреймами?
чтобы они были одновременно
|
17 апр 2012, 19:15 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
Timkapro писал(а):
реально ли подружить Class Colored Party Frames со стандартными рейдфреймами?
чтобы они были одновременно
я включал одновременно, все работало
|
17 апр 2012, 19:41 |
|
|
Timkapro
[0.2]
|
0
Скрипты Neilyo и не только
wit4er писал(а): одновременно, все работало
а у меня слетают почему-то, может из-за lorti ui конечно...
|
17 апр 2012, 20:46 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
Timkapro писал(а):
wit4er писал(а): одновременно, все работало
а у меня слетают почему-то, может из-за lorti ui конечно...
а где ты в это время находишься? бг/арена/рейд?
|
17 апр 2012, 20:57 |
|
|
Timkapro
[0.2]
|
0
Скрипты Neilyo и не только
wit4er писал(а): а где ты в это время находишься? бг/арена/рейд?
тестил в пати/рейде
перекликивал галочку на показывать рейдфреймы в пати, не помогало :(
|
17 апр 2012, 21:08 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
Timkapro писал(а):
wit4er писал(а): а где ты в это время находишься? бг/арена/рейд?
тестил в пати/рейде
перекликивал галочку на показывать рейдфреймы в пати, не помогало :(
Этот скрипт очень нестабильный. Я долго пытался сделать его на все случаи жизни, но получилось более-менее
ТОЛЬКО на БГ, где нет никаких машин (остров, берег и т.п). Фреймы начинают пропадать в комбате и затем снова появляться.
В рейде ввобще бред творится и лучше не использовать их в данжах. На остальных БГ и аренах все должно быть окей.
|
17 апр 2012, 21:12 |
|
|
Timkapro
[0.2]
|
0
Скрипты Neilyo и не только
wit4er писал(а): Этот скрипт очень нестабильный. Я долго пытался сделать его на все случаи жизни, но получилось более-менее
ТОЛЬКО на БГ, где нет никаких машин (остров, берег и т.п). Фреймы начинают пропадать в комбате и затем снова появляться.
В рейде ввобще бред творится и лучше не использовать их в данжах. На остальных БГ и аренах все должно быть окей.
а еще он слетал при маусовере на пати
короче не совсем юзабелен :(
|
17 апр 2012, 21:14 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
Timkapro писал(а):
wit4er писал(а): Этот скрипт очень нестабильный. Я долго пытался сделать его на все случаи жизни, но получилось более-менее
ТОЛЬКО на БГ, где нет никаких машин (остров, берег и т.п). Фреймы начинают пропадать в комбате и затем снова появляться.
В рейде ввобще бред творится и лучше не использовать их в данжах. На остальных БГ и аренах все должно быть окей.
а еще он слетал при маусовере на пати
короче не совсем юзабелен :(
К сожалению, пока решения не нашел. Может кто-то более шарящий в луа поможет в этом.
Но как вариант можно использовать отдельно скрипт на класс колор.
Код:
-
----------------------------------------------------------------------------------------------------
-
--Class Colored PartyFrames--
-
----------------------------------------------------------------------------------------------------
-
local UnitIsPlayer,UnitPlayerOrPetInParty,
-
UnitIsConnected, UnitClass, RAID_CLASS_COLORS =
-
UnitIsPlayer, UnitPlayerOrPetInParty, UnitIsConnected,
-
UnitClass, RAID_CLASS_COLORS
-
local _, class, c
-
local function colour(statusbar, unit)
-
if UnitIsPlayer(unit) and
-
UnitPlayerOrPetInParty(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["TargetFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--targetframe fix
-
statusbar = _G["FocusFrame".."HealthBar"]:SetStatusBarColor(0.1, 1.0, 0.1)--focusframe 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)
|
17 апр 2012, 21:21 |
|
|
Timkapro
[0.2]
|
0
Скрипты Neilyo и не только
юзал раньше скрипт на совместную работу патифреймов с рейдфреймами
постоянно слетал ни с чего, очень напрягало
хочу найти замену
|
17 апр 2012, 21:30 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
Немного модифицировал фреймы под себя.
#196
Вот скрипты:
|
18 апр 2012, 18:27 |
|
|
rpuHbI4
[0.5]
|
0
Скрипты Neilyo и не только
хотелось бы чтобы фокус фрейм выглядел так же как и арена фрейм
|
18 апр 2012, 23:45 |
|
|
witcher
[14.3]
|
0
Скрипты Neilyo и не только
rpuHbI4 писал(а):
хотелось бы чтобы фокус фрейм выглядел так же как и арена фрейм
зачем?
|
18 апр 2012, 23:58 |
|
|
rpuHbI4
[0.5]
|
0
Скрипты Neilyo и не только
просто огромная хуйня бесит...
скейлить = получится уебанство
снять в дефолте галочку "биг фокус фрейм" = тоже гуано
а аренафрейм(без де/баффов) - то что надо, лишь бы сделать его такого вида, а там остаётся только двигать кастбар куда хочется
захотелось после того как увидел
http://www.wowinterface.com/downloads/info17095-Oversight.html
|
19 апр 2012, 01:11 |
|