Jump to content

Макрос для тех кто часто меняет таланты (инк оценит,наверн)


Sqeer

Recommended Posts

Нигде,ни в каких гайдах на пшоше да и в целом не встречал этого макроса

 

данный макрос можно подстроить под любой класс/спек

вот как я его использую.

 

 

ещё нужно указывать в названии обязательно тир таланта для какого вы его используете. Например у меня для этих спеллов макрос носит название T4

Его суть в том что при смене таланта у вас динамически будет меняться используемый спелл на панели в зависимости от таланта. Полезная штука крч)

#showtooltip

/cast Рев дракона

/cast Ударная волна

/cast Вихрь клинков

/run local G=GetSpellInfo SetMacroSpell("T4", G"Вихрь клинков" or G"Ударная волна" or "Рев дракона")

 

- - - Добавлено - - -

 

сорри что ошибся разделом. Если можно - переместите. И ещё - иконка поменяется сразу после юза спелла. Увы. Сделать чтоб это менялось при смене таланта наверное не возможно.

 

Если возможно то инк/дедмауз приди и подскажи)

Edited by Sqeer
Link to comment
Share on other sites

UPD:

нашёлся вот такой вот аддон. Подсказали https://www.curseforge.com/wow/addons/talentswitch/files/746304

 

UPD:

нужно создать папку Scrips в корне игры (создать её если вы ни разу не пользовались луа скиптами) и переместить файлы аддона которые вы скачаете. Вернее луа скрипта.Это не совсем аддон

 

 

UPD:Аддон оказался дерьмом. Он менят строчки в макросах что мешает. Кто шарит как отключить - подскажите.

Если можно,то хотя-бы в определённые макросы

Edited by Sqeer
Link to comment
Share on other sites

Увы. Сделать чтоб это менялось при смене таланта наверное не возможно.

Если возможно то инк/дедмауз приди и подскажи)

 

local macro = CreateFrame('button', nil, nil, 'SecureActionButtonTemplate')
macro:SetAttribute('type', 'macro')
macro:SetScript('OnLeave', function(self)
   self:Hide()
   GameTooltip_Hide()
   self:GetParent():SetScript('OnLeave', GameTooltip_Hide) 
end) 
hooksecurefunc('PlayerTalentFrameTalent_OnEnter', function(self)
   if InCombatLockdown() then return end
   local _, _, _, _, selected, available = GetTalentInfo(self:GetID())
   if not selected and not available then
       macro:SetParent(self)
       macro:ClearAllPoints()
       macro:SetPoint('TOPLEFT', nil, 'BOTTOMLEFT', self:GetLeft(), self:GetTop())
       macro:SetSize(self:GetSize())
       self:SetScript('OnLeave', nil)
       macro:SetAttribute('macrotext', format('/click %s\n/click StaticPopup1Button1', self:GetName()))
       macro:Show()
   end
end)
local function m()
   if IsLoggedIn() and select(2,UnitClass("player"))=="[color=#0000ff][b]MAGE[/b][/color]" then
   SetMacroSpell("[color=#0000cd][i][b]Tier1Macro[/b][/i][/color]", GetSpellInfo("[color=#0000ff][i]Молниеносность[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Величие разума[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Плавучая льдина[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier2Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Барьер времени[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Пламенное сияние[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Ледяная преграда[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier3Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Кольцо мороза[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Ледяной заслон[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Ледяная хватка[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier4Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Великая невидимость[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Прижигание[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Холодная хватка[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier5Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Буря Пустоты[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Живая бомба[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Ледяная бомба[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier6Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Чародейство[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Руна мощи[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Щит заклинателя[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   else return end
end
local f = a or CreateFrame("Frame", "a")
f:SetScript("OnEvent", m)
f:RegisterEvent("PLAYER_LOGIN")
f:RegisterEvent("PLAYER_ENTERING_WORLD")
f:RegisterEvent("SPELLS_CHANGED") 
f:RegisterEvent("ACTIONBAR_SLOT_CHANGED")

 

1) вместо MAGE вставлять класс на эльфийском заглавными (в текущем виде будет работать только на магах)

2) Tier1Macro-Tier6Macro: названия макросов. Для каждого тира нужно создать макрос с уникальным названием. Заменяете Tier1Macro на название вашего макроса для тир1 (или создаете у себя 6 макроссов Tier1Macro - Tier6Macro)

3) GetSpellInfo("Молниеносность") и еще 2 рядом - названия таланта из текущего тира на языке вашего клиента.

4) or GetSpellInfo("Чародейский заряд")) - "заглушка" из которой берется иконка для макроса, пока вы не выбрали талант. Вставьте какой-то постоянный классовый спел или пассивку.

Если играете на маге, варе, паладине и шамане, то надо копировать эту часть нужное кол-во раз заполняя соответствующим способом, описанным выше.

local function m()
   if IsLoggedIn() and select(2,UnitClass("player"))=="[color=#0000ff][b]MAGE[/b][/color]" then
   SetMacroSpell("[color=#0000cd][i][b]Tier1Macro[/b][/i][/color]", GetSpellInfo("[color=#0000ff][i]Молниеносность[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Величие разума[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Плавучая льдина[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier2Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Барьер времени[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Пламенное сияние[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Ледяная преграда[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier3Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Кольцо мороза[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Ледяной заслон[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Ледяная хватка[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier4Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Великая невидимость[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Прижигание[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Холодная хватка[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier5Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Буря Пустоты[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Живая бомба[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Ледяная бомба[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   SetMacroSpell("[color=#0000cd][b][i]Tier6Macro[/i][/b][/color]", GetSpellInfo("[color=#0000ff][i]Чародейство[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Руна мощи[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Щит заклинателя[/i][/color]") or GetSpellInfo("[color=#0000ff][i]Чародейский заряд[/i][/color]"))
   else return end
end

 

Также делает смену таллантов без окон подтверждения.

 

UPD. в toc-файле должна быть строка ## Dependencies: Blizzard_TalentUI или поверх кода должно быть ещё что-то такое:

[font=Verdana]if not IsAddOnLoaded("Blizzard_TalentUI") then LoadAddOn("Blizzard_TalentUI[/font][font=Verdana]") end[/font]

 

upd. не моё, стащил где-то когда-то у кого-то, поудалял что-то и склеил с чем-то. работает и работает. можно и лучше, кто может - правьте.

А вообще я нарушил чьи-то интеллектуальные права)

https://addon.bool.no/ (## Interface: 50400)

Edited by Ink_Forever
Link to comment
Share on other sites

зачем так сложно? есть же аддон TalentActionBars...

Есть 1 луашка и есть TalentActionBars для работы которого нужны ещё 5 библиотек, которые идут с аддоном. Какой выберешь сам какой другу порекомендуешь?

Link to comment
Share on other sites

OnexShot, этот код работает куда эффективнее. Меньше кушает
Link to comment
Share on other sites

OnexShot, этот код работает куда эффективнее. Меньше кушает

 

какой код, у нас скрипт в 1 строчку

опен - ваниш - скрипт - опен

Link to comment
Share on other sites

какой код, у нас скрипт в 1 строчку

опен - ваниш - скрипт - опен

нефф вам это не пофиксил разве?

Или ты про свап с пассивки

Link to comment
Share on other sites

Ink_Forever, upd: после того как я всё сделал у меня пропали из файлов игры все аддоны. Кек.Троллинг от инка чи шо?

На самом деле произошло это из-за конфликта каких-то аддонов с этим

 

А в целом спасибо инку за такое решение

Edited by Sqeer
Link to comment
Share on other sites

Wo-WScrn-Shot-091122-160033.jpg

Подскажи как эту шнягу в смене глифов?Чтоб я мог так же,мгновенно менять глифы

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...