Аддон "Locknotes" - показывает большим цветным текстом, применение и окончание действия важных спелов.
Вопрос: Что добавить в код, чтобы переместить фрейм аддона чуть выше? Готового параметра что-то не нахожу, ну чтоб строчку там указать и тд.
Скрытый текст
Код:
function LockNotes_OnLoad() this:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED"); WarlockArmorActive = true; MySpellReflected = false; end
function LockNotes_OnEvent(event)
------------------------------------------------------------- Friendly Buffs ------------------------------------------------------------- --Hand of Protection or Hand Of Freedom or Hand of Salvation if (arg2 == "SPELL_CAST_SUCCESS") then if bit.band(arg8, COMBATLOG_OBJECT_AFFILIATION_MINE) > 0 then if (arg9 == 10278) or (arg9 == 1044) or (arg9 == 1038) then SpellName = arg10 ZoneTextString:SetText(""..SpellName.." up."); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 1 ZoneTextFrame.fadeOutTime = 2 ZoneTextString:SetTextColor(0, 1, 0); PVPInfoTextString:SetText(""); ZoneTextFrame:Show() PlaySoundFile("Interface\\AddOns\\LockNotes\\Sounds\\cling.wav"); end end end
--Eradication, Molten Core, Decimation if (arg2 == "SPELL_AURA_APPLIED") then if bit.band(arg8, COMBATLOG_OBJECT_AFFILIATION_MINE) > 0 then if (arg9 == 64371) or (arg9 == 71165) or (arg9 == 63167) then SpellName = arg10 ZoneTextString:SetText(""..SpellName.." up!"); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 2 ZoneTextFrame.fadeOutTime = 2 if (arg9 == 64371) then ZoneTextString:SetTextColor(0, 1, 0); end if (arg9 == 71165) then ZoneTextString:SetTextColor(1, 0.5, 0); end if (arg9 == 63167) then ZoneTextString:SetTextColor(1, 0.5, 0); end PVPInfoTextString:SetText(""); ZoneTextFrame:Show() PlaySoundFile("Interface\\AddOns\\LockNotes\\Sounds\\bell.wav"); end end end
-- Shadow Trance or BackSlash if (arg2 == "SPELL_AURA_APPLIED") then if bit.band(arg8, COMBATLOG_OBJECT_AFFILIATION_MINE) > 0 then if (arg9 == 17941) or (arg9 == 34936) then ZoneTextString:SetText("Shadow Bolt!"); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 1 ZoneTextFrame.fadeOutTime = 2 if (arg9 == 17941) then ZoneTextString:SetTextColor(1, 0, 1); end if (arg9 == 34936) then ZoneTextString:SetTextColor(1, 0.5, 0); end PVPInfoTextString:SetText(""); ZoneTextFrame:Show() PlaySoundFile("Interface\\AddOns\\LockNotes\\Sounds\\ding.wav"); end end end
------------------------------------------------------------- Hostile Spells ------------------------------------------------------------- if (arg2 == "SPELL_CAST_SUCCESS") then if bit.band(arg5, COMBATLOG_OBJECT_REACTION_HOSTILE) > 0 then -- Makes sure it's an enemy player if (arg9 == 31224) or (arg9 == 41196) or (arg9 == 1719) or (arg9 == 12472) or (arg9 == 31821) or (arg9 == 65961) or (arg9 == 50334) or (arg9 == 38484) or (arg9 == 48792) or (arg9 == 54428) or (arg9 == 642) or (arg9 == 47891) or (arg9 == 47585) or (arg9 == 23920) or (arg9 == 48707) or (arg9 == 45438) or (arg9 == 49039) or (arg9 == 12292) or (arg9 == 18499) or (arg9 == 59672) or (arg9 == 31687) or (arg9 == 48066) or (arg9 == 34692) or (arg9 == 6346) or (arg9 == 19263) then -- Make sure Shadow Ward and Nether prot use this same event? SpellName = arg10 ZoneTextString:SetText(""..SpellName.." up!"); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 1 ZoneTextFrame.fadeOutTime = 2 ZoneTextString:SetTextColor(1, 0, 0); PVPInfoTextString:SetText(""); ZoneTextFrame:Show() PlaySoundFile("Interface\\AddOns\\LockNotes\\Sounds\\pulse.wav"); if (arg9 == 23920) then MySpellReflected = false; end end end end
if (arg2 == "SPELL_AURA_REMOVED") then if bit.band(arg8, COMBATLOG_OBJECT_REACTION_HOSTILE) > 0 then if (arg9 == 31224) or (arg9 == 41196) or (arg9 == 1719) or (arg9 == 12472) or (arg9 == 31821) or (arg9 == 65961) or (arg9 == 50334) or (arg9 == 38484) or (arg9 == 48792) or (arg9 == 54428) or (arg9 == 642) or (arg9 == 47891) or (arg9 == 47585) or (arg9 == 23920) or (arg9 == 48707) or (arg9 == 45438) or (arg9 == 49039) or (arg9 == 12292) or (arg9 == 18499) or (arg9 == 59672) or (arg9 == 31687) or (arg9 == 48066) or (arg9 == 34692) or (arg9 == 6346) then SpellName = arg10 ZoneTextString:SetText(""..SpellName.." down."); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 1 ZoneTextFrame.fadeOutTime = 2 ZoneTextString:SetTextColor(0, 1, 0); PVPInfoTextString:SetText(""); ZoneTextFrame:Show() end end end
if (arg2 == "SPELL_AURA_REMOVED") then -- apply same filtering on reflecting for Shadow Ward, and for /deflect? if bit.band(arg8, COMBATLOG_OBJECT_REACTION_HOSTILE) > 0 then if (arg9 == 23920) then if (not MySpellReflected) then SpellName = arg10 ZoneTextString:SetText(""..SpellName.." down."); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 1 ZoneTextFrame.fadeOutTime = 2 ZoneTextString:SetTextColor(0, 1, 0); PVPInfoTextString:SetText(""); ZoneTextFrame:Show() end end end end ------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------- Other ---------------------------------------------------------------------- if (arg2 == "SPELL_AURA_DISPELLED") or (arg2 == "SPELL_AURA_STOLEN") then if bit.band(arg8, COMBATLOG_OBJECT_AFFILIATION_MINE) > 0 then -- Makes sure it's my buff only if (arg12 == 47893) or (arg12 == 47889) then SpellName = arg13 ZoneTextString:SetText(""..SpellName.." removed."); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 1 ZoneTextFrame.fadeOutTime = 2 ZoneTextString:SetTextColor(1, 0, 0); PVPInfoTextString:SetText(""); ZoneTextFrame:Show() PlaySoundFile("Interface\\AddOns\\LockNotes\\Sounds\\buzz.wav"); WarlockArmorActive = false; end end end
if (arg2 == "SPELL_AURA_REMOVED") then if bit.band(arg8, COMBATLOG_OBJECT_AFFILIATION_MINE) > 0 then -- Makes sure it's my buff only if (arg9 == 47893) or (arg9 == 47889) or (arg9 == 19028) then if (WarlockArmorActive) then -- makes sure buff is still active as to not spam twice when dispelled, since it shows both dispelled and removed events, but the removed event .5sec slower SpellName = arg10 ZoneTextString:SetText(""..SpellName.." removed."); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 1 ZoneTextFrame.fadeOutTime = 2 ZoneTextString:SetTextColor(1, 0, 0); PVPInfoTextString:SetText(""); ZoneTextFrame:Show() PlaySoundFile("Interface\\AddOns\\LockNotes\\Sounds\\buzz.wav"); WarlockArmorActive = false; end end end end
if (arg2 == "SPELL_CAST_SUCCESS") then if bit.band(arg5, COMBATLOG_OBJECT_AFFILIATION_MINE) > 0 then if (arg9 == 47893) or (arg9 == 47889) then WarlockArmorActive = true; end end end ------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------- Resists -------------------------------------------------------------------- if (arg2 == "SPELL_MISSED") then -- need to add: evade, deflect (what is this?), check what happens when debuff is on an evading mob, dont want spam for each dot tick, even tho most evades remove all debuffs on them, not all if bit.band(arg5, COMBATLOG_OBJECT_AFFILIATION_MINE) > 0 then -- Makes sure it's my own spell or my pet's spell if (arg9 == 47860) or (arg9 == 5138) or (arg9 == 47857) or (arg9 == 47813) or (arg9 == 47864) or (arg9 == 11719) or (arg9 == 6215) or (arg9 == 47811) or (arg9 == 50511) or (arg9 == 47862) or (arg9 == 47843) or (arg9 == 18223) or (arg9 == 47865) or (arg9 == 18647) or (arg9 == 19647) or (arg9 == 6358) then SpellName = arg10 if (arg7 == "Grounding Totem") or (arg7 == "Тотем заземления") then ResistMethod = "Grounded" elseif (arg12 == "REFLECT") then ResistMethod = "reflected" MySpellReflected = true; elseif (arg12 == "IMMUNE") then ResistMethod = "failed" else ResistMethod = "resisted" end if (arg12 ~= "ABSORB") then ZoneTextString:SetText(""..SpellName.." "..ResistMethod.."."); ZoneTextFrame.startTime = GetTime() ZoneTextFrame.fadeInTime = 0 ZoneTextFrame.holdTime = 1 ZoneTextFrame.fadeOutTime = 2 ZoneTextString:SetTextColor(1, 1, 1); PVPInfoTextString:SetText(""); ZoneTextFrame:Show() if (ResistMethod ~= "failed") then -- only play sound file when you need to instantly recast what you just casted PlaySoundFile("Interface\\AddOns\\LockNotes\\Sounds\\thud.wav"); end end end end end ------------------------------------------------------------------------------------------------------------------------------------------
Сервер: Страж Смерти
Рейтинг поля боя: 1571
2х2: 2067
3х3: 1897
5х5: 1817
0
Скрипты Neilyo и не только
Дрюшкалоль писал(а):
Картинка Выделенное можно убрать посредством скриптов?
Up.
03 май 2013, 09:32
Cepish
[-0.2]
0
Скрипты Neilyo и не только
wit4er писал(а):
Cepish писал(а):
ZoneTextFrame:SetPoint(x,y);
Так вообще перестает работать, но когда я написал в таком виде: "ZoneTextFrame:SetPoint("CENTER", 0, 300);" Аддон снова заработал, но позиция не изменилась.
03 май 2013, 10:00
Ксел
[0.5]
0
Скрипты Neilyo и не только
Подскажите аддон/скрипт который делает настройки вова еще меньше минимального для нормализации игр на арене, где-то видел но потерял данную темку/сообщение на это дельце.
03 май 2013, 20:26
Straik
0
Скрипты Neilyo и не только
Доброй ночи, ребята может кто скинуть фул UI или другими словами говоря все скрипты игрока Original Вот видео, из которого и понравилось расположение рамок и т.д. :-) мб есть у кого то.. если Neilyo выложили, может и его есть у кого.. заранее спасибо!
Подскажите из-за чего выдаёт ошибку при смены талантов.
f=CreateFrame("Frame") f:RegisterEvent("LOSS_OF_CONTROL_ADDED") f:RegisterEvent("LOSS_OF_CONTROL_UPDATE") f:SetScript("OnEvent",function()for b in pairs(ActionBarActionEventsFrame.frames)do b.cooldown:SetLossOfControlCooldown(0,0)end end)
Фернир, есть вопрос, какой параметр надо изменить, чтобы можно было увеличить количество бафов/дебафов в стоке? Просто когда берешь в таргет, то их (бафов /дебафов) становится 4 в строке.
Фернир, есть вопрос, какой параметр надо изменить, чтобы можно было увеличить количество бафов/дебафов в стоке? Просто когда берешь в таргет, то их (бафов /дебафов) становится 4 в строке.
local LARGE_AURA_SIZE =27-- развер ВАШИХ баффов/дебаффов.
local SMALL_AURA_SIZE =15-- развер чужих баффов/дебаффов.
local size
local offsetY = AURA_OFFSET_Y
local rowWidth =0
local firstBuffOnRow =1
for i=1, numAuras do
if( largeAuraList[i])then
size = LARGE_AURA_SIZE
offsetY = AURA_OFFSET_Y + AURA_OFFSET_Y
else
size = SMALL_AURA_SIZE
end
if( i ==1)then
rowWidth = size
self.auraRows = self.auraRows +1
else
rowWidth = rowWidth + size + offsetX
end
if( rowWidth > maxRowWidth )then
updateFunc(self, auraName, i, numOppositeAuras, firstBuffOnRow, size, offsetX, offsetY)
rowWidth = size
self.auraRows = self.auraRows +1
firstBuffOnRow = i
offsetY = AURA_OFFSET_Y
else
updateFunc(self, auraName, i, numOppositeAuras, i -1, size, offsetX, offsetY)
end
end
end)
это сделано не просто так. но можно конечно напрямую задать ширину строки иконок
Скрытый текст
Код:
--Big Debuffs-- local numIcons = 6 hooksecurefunc("TargetFrame_UpdateAuraPositions", function(self, auraName, numAuras, numOppositeAuras,largeAuraList, updateFunc, maxRowWidth, offsetX) local AURA_OFFSET_Y = 3 local LARGE_AURA_SIZE = 27 -- развер ВАШИХ баффов/дебаффов. local SMALL_AURA_SIZE = 15 -- развер чужих баффов/дебаффов. local size local offsetY = AURA_OFFSET_Y local rowWidth = 0 local firstBuffOnRow = 1
maxRowWidth = LARGE_AURA_SIZE * numIcons
for i=1, numAuras do if largeAuraList[i] then size = LARGE_AURA_SIZE offsetY = AURA_OFFSET_Y + AURA_OFFSET_Y else size = SMALL_AURA_SIZE end if i == 1 then rowWidth = size self.auraRows = self.auraRows + 1 else rowWidth = rowWidth + size + offsetX end if rowWidth > maxRowWidth then updateFunc(self, auraName, i, numOppositeAuras, firstBuffOnRow, size, offsetX, offsetY) rowWidth = size self.auraRows = self.auraRows + 1 firstBuffOnRow = i offsetY = AURA_OFFSET_Y else updateFunc(self, auraName, i, numOppositeAuras, i - 1, size, offsetX, offsetY) end end end)
numIcons это количество иконок собсно. не тестил и подставил LARGE_AURA_SIZE, а может быть надо SMALL
Спасибо Фернир, все работает! Только надо ставить в строчке local numIcons = 6 на 1 больше, при значении 6 бафов/дебафов будет 5.
06 май 2013, 09:11
fanzerg
[-0.9]
0
Скрипты Neilyo и не только
Вот скрипт для иконок класа вместо портрета ,нужно сделать чтобы иконка была только на таргете\фокусе\групее.Помогите
UFP = "UnitFramePortrait_Update" UICC = "Interface\\TargetingFrame\\UI-Classes-Circles" CIT = CLASS_ICON_TCOORDS hooksecurefunc(UFP,function(self) if self.portrait then if UnitIsPlayer(self.unit) and UnitIsVisible(self.unit) then self.portrait:SetTexture(UICC) self.portrait:SetTexCoord(unpack(CIT[select(2,UnitClass(self.unit))])) else self.portrait:SetTexCoord(0,1,0,1) end end end)
Фернир, помнится ты давно обещал доработать этот скрипт, чтобы можно было отслеживать свои дебафы на цели. Там еще баг был при смене таргета иконки дебафов не пропадали. Еще бы замутить массив из дебафов, чтобы при наличии одного из них, показывался текущий. Посмотри, что можно сделать, если время будет)
Скрытый текст
Код:
local f = CreateFrame("Frame") f:RegisterEvent("PLAYER_ENTERING_WORLD") f:RegisterEvent("UNIT_AURA") f:RegisterEvent("ZONE_CHANGED_NEW_AREA") f:SetScript("OnEvent", function(self, event, ...) local SE = GetSpellInfo(125359) if event=="PLAYER_ENTERING_WORLD" then local TRINKET = _G["TRINKET"] or CreateFrame("Frame", "TRINKET", UIParent) TRINKET.c = TRINKET.c or CreateFrame("Cooldown","$parentCooldown", TRINKET) TRINKET.c:SetAllPoints(TRINKET) TRINKET:SetPoint("CENTER", -195,100) TRINKET:SetSize(40,40) TRINKET.t = TRINKET.t or TRINKET:CreateTexture("$parentIcon","BORDER") TRINKET.t:SetAllPoints() end if event=="UNIT_AURA" or event=="ZONE_CHANGED_NEW_AREA" 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 TRINKET:Show() TRINKET.t:SetTexture(t) if d>0 then TRINKET.c:SetCooldown(x-d-0.5,d) end end if not found then TRINKET:Hide() end end end end)
(тут монковский баф на лапу тигра, не нашел версси на дебафы, где то потерял)
Нужно что бы клацая 1 кнопку выкладывал товар на аук.
Например у меня 50 стаков травы - Чая. Я выставлю его по цене допустим 30 - 00 -00. Каждый раз клацать пкв в сумках надоело. Аддон аукционер ставить не буду. Есть ли скрипт/макрос что бы клацая 1 кнопку он выставлял подрят все стакию
Нужно что бы клацая 1 кнопку выкладывал товар на аук.
Например у меня 50 стаков травы - Чая. Я выставлю его по цене допустим 30 - 00 -00. Каждый раз клацать пкв в сумках надоело. Аддон аукционер ставить не буду. Есть ли скрипт/макрос что бы клацая 1 кнопку он выставлял подрят все стакию
Ну или что то похожее.
Если есть протосй аддон, тоже можно
Это есть и в стандартном аукционе, выставляешь "количество стопок" (или как-то так) на максимум и он выставит все что есть.
12 май 2013, 10:25
neerololxq
0
Скрипты Neilyo и не только
НАрод существуют такие скрипты что бы во время пвп RVR ловить ванишем блайнд/чш.
local Shadowdance, _, sdicon = GetSpellInfo(51713) local SLICE, _, sndicon = GetSpellInfo(5171) local stf = CreateFrame('frame', 'sd', PlayerFrame) sd:SetPoint("BOTTOMRIGHT", -60, 80) sd:SetSize(43,43) sd.c = CreateFrame("Cooldown", "SD", sd) sd.c:SetAllPoints() sd.t = sd:CreateTexture(nil, 'BORDER') sd.t:SetAllPoints() sd.t:SetTexture(sdicon) sd:Hide() local snd = CreateFrame('frame', 'snd', PlayerFrame) snd:SetPoint("LEFT", stf, "RIGHT", 1, 0) snd:SetSize(43,43) snd.c = CreateFrame("Cooldown", "sndc", snd) snd.c:SetAllPoints() snd.t = snd:CreateTexture(nil, 'BORDER') snd.t:SetAllPoints() snd.t:SetTexture(sndicon) snd:Hide() local f = CreateFrame("Frame") f:RegisterEvent("UNIT_AURA") f:SetScript("OnEvent", function(self, event, ...) local unit = ... local sfound, rfound = false, false if event == "UNIT_AURA" and unit=='player' then for i = 1, 40 do local name, _, _, _, _, d, x = UnitBuff("player", i) if not name then break end if name == Shadowdance then sd:Show() sd.c:SetCooldown(x - d - 0.5, d) rfound = true elseif name == SLICE then snd:Show() snd.c:SetCooldown(x - d - 0.5, d) sfound = true end if not sfound then snd:Hide() end if not rfound then sd:Hide() end end end end)
Есть вот такой код для аптайма снд и шд. Если не трудно, помогите добавить туда еще и тринку шадопан. Отслеживать тока прок без внутреннего кд
На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.