Автор | Сообщение |
---|---|
|
0
достаточно перемещать кнопку персонажа, остальные "цепляются" к ней
CharacterMicroButton:ClearAllPoints()
координаты сам подберешь. |
30 сен 2012, 19:15 |
|
<Имя Говорит Само за Себя> Сервер: Гордунни |
0
Скрипт для вертикального микроменю. Код: CharacterMicroButton:ClearAllPoints()CharacterMicroButton:SetPoint("TOPRIGHT",UIParent,"TOPRIGHT",0,-170)CharacterMicroButton.SetPoint = function() end SpellbookMicroButton:ClearAllPoints()SpellbookMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-34)SpellbookMicroButton.SetPoint = function() end TalentMicroButton:ClearAllPoints()TalentMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-68)TalentMicroButton.SetPoint = function() end AchievementMicroButton:ClearAllPoints()AchievementMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-102)AchievementMicroButton.SetPoint = function() end QuestLogMicroButton:ClearAllPoints()QuestLogMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-136)QuestLogMicroButton.SetPoint = function() end GuildMicroButton:ClearAllPoints()GuildMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-170)GuildMicroButton.SetPoint = function() end PVPMicroButton:ClearAllPoints()PVPMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-204)PVPMicroButton.SetPoint = function() end LFDMicroButton:ClearAllPoints()LFDMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-238)LFDMicroButton.SetPoint = function() end CompanionsMicroButton:ClearAllPoints()CompanionsMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-272)CompanionsMicroButton.SetPoint = function() end EJMicroButton:ClearAllPoints()EJMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-306)EJMicroButton.SetPoint = function() end MainMenuMicroButton:ClearAllPoints()MainMenuMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-340)MainMenuMicroButton.SetPoint = function() end HelpMicroButton:ClearAllPoints()HelpMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-374)HelpMicroButton.SetPoint = function() end |
30 сен 2012, 19:18 |
|
|
0
Fernir писал(а): как менять текстуры хп баров Витчер, добавь скрипт в 1 пост плз? Код: hooksecurefunc(getmetatable(PlayerFrameHealthBar).__index,"Show",function(s) if s:GetParent().healthbar then if s.st == nil then s:SetStatusBarTexture("Interface\\TokenFrame\\UI-TokenFrame-CategoryButton") s:GetStatusBarTexture():SetDesaturated(1) s:GetStatusBarTexture():SetTexCoord(0, 1, .609375, .796875) s:GetStatusBarTexture():SetHorizTile(true) s.st = true end end end)
Fernir , подскажи пжл, что дописать чтобы текстурка менялась не только на xp барах, но и на каст барах,тултипах,наймплайнтах... |
30 сен 2012, 20:56 |
|
|
1
PlayerFrameHealthBar меняй на один из этих статусбаров, ну и if s:GetParent().healthbar then end условие убери, я хз как поведет себя скрипт на них, не тестил |
30 сен 2012, 23:02 |
|
|
0
Fernir писал(а): PlayerFrameHealthBar меняй на один из этих статусбаров, ну и if s:GetParent().healthbar then end условие убери, я хз как поведет себя скрипт на них, не тестил
спасибо помогло, единственное не знаю как поменять текстуру у TargetFrameNameBackground, FocusFrameNameBackground и у Tooltip. А для замены текстуры на Nameplate нашел вот такой скрипт от Elv`а, может кому пригодится : Код: local numChildren = -1; local handledNameplates = {}; local function SkinPlate(frame) local healthBar, castBar = frame:GetChildren(); healthBar:SetStatusBarTexture(TEXTURE_PATH); castBar:SetStatusBarTexture(TEXTURE_PATH); handledNameplates[frame:GetName()] = true; end local function HookFrames(...) for index = 1, select('#', ...) do local frame = select(index, ...); if(not handledNameplates[frame:GetName()] and (frame:GetName() and frame:GetName():find("NamePlate%d"))) then SkinPlate(frame); end end end и кстати Fernir вот эта текстура UI-TokenFrame-CategoryButton её надо как то "растягивать" чтобы она нормально смотрелась?
|
30 сен 2012, 23:52 |
|
|
0
1. Red Range постоянно моргают абилки, как будто обновляются, и плюс к этому часть баффов становится как будто "не хватает ресурса" Код: hooksecurefunc(getmetatable(_G['ActionButton1HotKey']).__index, 'SetVertexColor', function(self, ...) local b = self:GetParent() local action = ActionButton_CalculateAction(b) local isUsable, notEnoughMana = IsUsableAction(action) local icon = _G[b:GetName()..'Icon'] if icon then if (ActionHasRange(action) and IsActionInRange(action) == 0) then icon:SetVertexColor(1, 0, 0) return elseif (notEnoughMana) then icon:SetVertexColor(.2, .2, .2) return elseif (isUsable) then icon:SetVertexColor(1, 1, 1, 1) return else icon:SetVertexColor(0.4, 0.4, 0.4, 1) return end end end) Подскажите что исправить или готовый скрипт подкиньте плз. |
01 окт 2012, 00:57 |
|
|
0
Цитата: достаточно перемещать кнопку персонажа, остальные "цепляются" к ней CharacterMicroButton:ClearAllPoints() CharacterMicroButton:SetPoint("TOPRIGHT", UIParent, "TOPLEFT", 20, 20) координаты сам подберешь.
wit4er писал(а): Скрипт для вертикального микроменю. Код: CharacterMicroButton:ClearAllPoints()CharacterMicroButton:SetPoint("TOPRIGHT",UIParent,"TOPRIGHT",0,-170)CharacterMicroButton.SetPoint = function() end SpellbookMicroButton:ClearAllPoints()SpellbookMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-34)SpellbookMicroButton.SetPoint = function() end TalentMicroButton:ClearAllPoints()TalentMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-68)TalentMicroButton.SetPoint = function() end AchievementMicroButton:ClearAllPoints()AchievementMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-102)AchievementMicroButton.SetPoint = function() end QuestLogMicroButton:ClearAllPoints()QuestLogMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-136)QuestLogMicroButton.SetPoint = function() end GuildMicroButton:ClearAllPoints()GuildMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-170)GuildMicroButton.SetPoint = function() end PVPMicroButton:ClearAllPoints()PVPMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-204)PVPMicroButton.SetPoint = function() end LFDMicroButton:ClearAllPoints()LFDMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-238)LFDMicroButton.SetPoint = function() end CompanionsMicroButton:ClearAllPoints()CompanionsMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-272)CompanionsMicroButton.SetPoint = function() end EJMicroButton:ClearAllPoints()EJMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-306)EJMicroButton.SetPoint = function() end MainMenuMicroButton:ClearAllPoints()MainMenuMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-340)MainMenuMicroButton.SetPoint = function() end HelpMicroButton:ClearAllPoints()HelpMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-374)HelpMicroButton.SetPoint = function() end
Как пофиксить? |
01 окт 2012, 09:35 |
|
|
0
Himmka писал(а): 1. Red Range постоянно моргают абилки, как будто обновляются, и плюс к этому часть баффов становится как будто "не хватает ресурса" Код: hooksecurefunc(getmetatable(_G['ActionButton1HotKey']).__index, 'SetVertexColor', function(self, ...) local b = self:GetParent() local action = ActionButton_CalculateAction(b) local isUsable, notEnoughMana = IsUsableAction(action) local icon = _G[b:GetName()..'Icon'] if icon then if (ActionHasRange(action) and IsActionInRange(action) == 0) then icon:SetVertexColor(1, 0, 0) return elseif (notEnoughMana) then icon:SetVertexColor(.2, .2, .2) return elseif (isUsable) then icon:SetVertexColor(1, 1, 1, 1) return else icon:SetVertexColor(0.4, 0.4, 0.4, 1) return end end end) Подскажите что исправить или готовый скрипт подкиньте плз.
Пользуюсь таким скриптом, все работает Код: hooksecurefunc("ActionButton_OnEvent",function(self, event, ...)
|
01 окт 2012, 10:12 |
|
|
0
pokrashitel писал(а): #316
PetFrame:ClearAllPoints() PetFrame:SetPoint("LEFT",PlayerFrame,"RIGHT",-170, -36)
|
01 окт 2012, 11:19 |
|
|
0
ребятки помогите разобраться, воспользовался скриптом с 1-ой страницы для отображение иконок тринкетов возле арена фреймов, сделал аддон, и вроде все гуд, кроме того что тринкеты неотображаються на аренке, хотя с /testaef их показывает (играю на А-Т wotlk 3.3.5a)
elitetrinket.lua Код: 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: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")
elitetrinket.toc Код: ## Interface: 40000 ## Title: elitetrinket ## Author: DontWearSundress ## Version: 1.0 elitetrinket.lua
|
01 окт 2012, 15:04 |
|
<Фулы с коня> Сервер: Черный Шрам |
0
Reimu писал(а): pokrashitel писал(а): #688
PetFrame:ClearAllPoints() PetFrame:SetPoint("LEFT",PlayerFrame,"RIGHT",-170, -36)
Спс. |
01 окт 2012, 17:01 |
|
|
0
Разобрался как поставить запятую, разделяющую большие числа в комбат тексте как на еу клиентах. Нужно прописать в любом луа файле LARGE_NUMBER_SEPERATOR = "," На ру клиентах эта переменная почему-то равна пустой строке. |
01 окт 2012, 22:09 |
|
<Дом Огня> Сервер: Свежеватель Душ |
0
Revilated писал(а): Разобрался как поставить запятую, разделяющую большие числа в комбат тексте как на еу клиентах. Нужно прописать в любом луа файле LARGE_NUMBER_SEPERATOR = "," На ру клиентах эта переменная почему-то равна пустой строке.
|
01 окт 2012, 22:46 |
|
<Имя Говорит Само за Себя> Сервер: Гордунни |
0
Kingsize писал(а): ребятки помогите разобраться, воспользовался скриптом с 1-ой страницы для отображение иконок тринкетов возле арена фреймов, сделал аддон, и вроде все гуд, кроме того что тринкеты неотображаються на аренке, хотя с /testaef их показывает (играю на А-Т wotlk 3.3.5a)
elitetrinket.lua Код: 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: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")
elitetrinket.toc Код: ## Interface: 40000 ## Title: elitetrinket ## Author: DontWearSundress ## Version: 1.0 elitetrinket.lua
Скорее всего, не работает из-за неверного ID тринкет эффекта. Revilated писал(а): Разобрался как поставить запятую, разделяющую большие числа в комбат тексте как на еу клиентах. Нужно прописать в любом луа файле LARGE_NUMBER_SEPERATOR = "," На ру клиентах эта переменная почему-то равна пустой строке.
Вот это очень полезная инфа, добавлю в топик.Спасибо. |
01 окт 2012, 23:23 |
|
|
0
wit4er писал(а): Kingsize писал(а): ребятки помогите разобраться, воспользовался скриптом с 1-ой страницы для отображение иконок тринкетов возле арена фреймов, сделал аддон, и вроде все гуд, кроме того что тринкеты неотображаються на аренке, хотя с /testaef их показывает (играю на А-Т wotlk 3.3.5a)
elitetrinket.lua Код: 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: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")
elitetrinket.toc Код: ## Interface: 40000 ## Title: elitetrinket ## Author: DontWearSundress ## Version: 1.0 elitetrinket.lua
Скорее всего, не работает из-за неверного ID тринкет эффекта.
я вначале тоже так подумал, и даже поменял на айди итемов 264Ilvl тринек орды/альянса, но потом решил проверить что за айдишки стоят там по дефолту итак первый 59752 - это "Каждый сам за себя" (рассовая абилка хуманов) а вот дальше идет интересно, след айди 42292 - это эффект от юза всех подобных сережек и под это айди на вовхеде подпадает все тринкеты от MoP до ванилы
все еще актуально, жду советов
|
02 окт 2012, 03:25 |
|
<Имя Говорит Само за Себя> Сервер: Гордунни |
0
Вот тут по-моему было для 3.3.5 http://prestige-gaming.ru/rabochii_skript_ili_addon_na_defoltnie_arena_trinketi-t26716.html И еще, они могли поменяь id только в катаклизме, так как 42292 - явно в ванилле не мог быть, так что тебе нужно искать вовхед 3.3.5 версии. |
02 окт 2012, 12:26 |
|
|
0
wit4er писал(а): Вот тут по-моему было для 3.3.5 http://prestige-gaming.ru/rabochii_skript_ili_addon_na_defoltnie_arena_trinketi-t26716.html И еще, они могли поменяь id только в катаклизме, так как 42292 - явно в ванилле не мог быть, так что тебе нужно искать вовхед 3.3.5 версии.
с айди все правильно, на 3.3.5 вовхедах тоже 42292, по поводу этой ссылки, попробовал все варианты, не один неработает, в аддон вписывал с /run и без /run всеравно ничего неполучаеться, а если просто вписать скрипт в чат, то там стоит ограничение вроде на 255 символов, разумееться, данные скрипты непомещаються.. перепробовал уже кучу вариантов, ближе к делу скрипт ArenaTrinkets с 1 страницы и DefaultGladius но в них одна все таже проблема, тринкеты нехочет отображать на арене, но в тест режыме все отображаеться
|
02 окт 2012, 19:05 |
|
|
1
Kingsize писал(а): ребятки помогите разобраться, воспользовался скриптом с 1-ой страницы для отображение иконок тринкетов возле арена фреймов, сделал аддон, и вроде все гуд, кроме того что тринкеты неотображаються на аренке, хотя с /testaef их показывает (играю на А-Т wotlk 3.3.5a)
elitetrinket.lua Код: 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: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")
elitetrinket.toc Код: ## Interface: 40000 ## Title: elitetrinket ## Author: DontWearSundress ## Version: 1.0 elitetrinket.lua
Провел тест на лк. Походу тогда не было аргумента spellID в эвенте UNIT_SPELLCAST_SUCCEEDED. Попробуй заменить строчку if spellID == 59752 or spellID == 42292 then на if spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then и elseif spellID == 7744 then на elseif spell == GetSpellInfo(7744) then На арене не тестил.
|
02 окт 2012, 19:50 |
|
|
0
Revilated писал(а): Провел тест на лк. Походу тогда не было аргумента spellID в эвенте UNIT_SPELLCAST_SUCCEEDED. Попробуй заменить строчку if spellID == 59752 or spellID == 42292 then на if spell == GetSpellInfo(59752) or spell == GetSpellInfo(42292) then и elseif spellID == 7744 then на elseif spell == GetSpellInfo(7744) then На арене не тестил.
пасиба друк, ты гений, тринки заработали на арене, но беда в том, что они отображаються только после того как кто-то проюзает ее, т.е. выглядит это весьма паршиво, как сделать чтобы их показывало как в гладиусе - все время?
вот что у меня вышло в lua Код: 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("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: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") там в 2 строчках я менял с trinket:Hide() на trinket:Show() адинхер нипамагает
|
03 окт 2012, 03:59 |
|
|
0
wit4er писал(а): Скрипт для вертикального микроменю. Код: CharacterMicroButton:ClearAllPoints()CharacterMicroButton:SetPoint("TOPRIGHT",UIParent,"TOPRIGHT",0,-170)CharacterMicroButton.SetPoint = function() end SpellbookMicroButton:ClearAllPoints()SpellbookMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-34)SpellbookMicroButton.SetPoint = function() end TalentMicroButton:ClearAllPoints()TalentMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-68)TalentMicroButton.SetPoint = function() end AchievementMicroButton:ClearAllPoints()AchievementMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-102)AchievementMicroButton.SetPoint = function() end QuestLogMicroButton:ClearAllPoints()QuestLogMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-136)QuestLogMicroButton.SetPoint = function() end GuildMicroButton:ClearAllPoints()GuildMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-170)GuildMicroButton.SetPoint = function() end PVPMicroButton:ClearAllPoints()PVPMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-204)PVPMicroButton.SetPoint = function() end LFDMicroButton:ClearAllPoints()LFDMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-238)LFDMicroButton.SetPoint = function() end CompanionsMicroButton:ClearAllPoints()CompanionsMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-272)CompanionsMicroButton.SetPoint = function() end EJMicroButton:ClearAllPoints()EJMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-306)EJMicroButton.SetPoint = function() end MainMenuMicroButton:ClearAllPoints()MainMenuMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-340)MainMenuMicroButton.SetPoint = function() end HelpMicroButton:ClearAllPoints()HelpMicroButton:SetPoint("LEFT",CharacterMicroButton,0,-374)HelpMicroButton.SetPoint = function() end
витч скинь свою сборочку она придется по вкусу многим )
|
03 окт 2012, 06:35 |
|