Jump to content
abeliq

Поиск и вопросы по макросам

Recommended Posts

Пользуй исбоксер, там можно сделать чтоб он через какое-то время второй раз кнопку нажимал, даже если ты её спамишь бешенно, да и в дпс цикле лока не должно быть имоллейтов(офк если не какой-нибудь хром или еще какая-муть), только болты, курса и коррапшен.

 

Да и на ванилле мультибкос - боль, нету фокуса, хотя там вроде какой-то аддон был, но я сомневаюсь что он будет работать с одноименными мобами.

Edited by фткyн

Share this post


Link to post
Share on other sites

Ето не дпс цикл,просто связка,пока я магом стакаю скорч,мой варлок успеет кинуть кое,иммолейт,корапшен и конфу,и повторить иммолейт..ШБ привязал на ту же кнопочку что и ФРб.

Share this post


Link to post
Share on other sites

/script castImmolate() castCurseOfTheElements() castCorruption() castConflagrate()

1ый круг спеллов идёт идеально,дальше при спаме кнопки и попытке сделать castImmolate пишет Interrupted

Share this post


Link to post
Share on other sites

глянь https://elysium-project.org/forum/index.php?showtopic=16970&p=219112

/script local rotation = {"Immolate", "CurseOfTheElements", "Corruption", "Conflagrate"} if not FindInBook then function FindInBook(spell) local i = 1 local SPELLNUM = nil while true do local spellName, spellRank = GetSpellName(i, BOOKTYPE_SPELL) if not spellName then break end if string.find(spellName .. '(Rank ' .. spellRank .. ')', spell) then SPELLNUM = i end i = i + 1 end return SPELLNUM end end if not FindInBar then function FindInBar(spell) local lActionSlot for lActionSlot = 1, 120 do GameTooltip:SetOwner(GameTooltip, "ANCHOR_NONE") GameTooltip:SetAction(lActionSlot) result = "" leftline = getglobal("GameTooltipTextLeft"..1):GetText() or "" rightline = getglobal("GameTooltipTextRight"..1):IsVisible() if rightline then rightline = getglobal("GameTooltipTextRight"..1):GetText() end result = leftline if rightline and string.find(rightline, "Rank") then rightline = "("..rightline..")" result = result..rightline elseif rightline and leftline ~= "" then result = result.." "..rightline end if string.find(result, spell) then return lActionSlot end GameTooltip:Hide() GameTooltip:ClearLines() end return nil end end if not cd then cd = {} for i = 1, getn(rotation) do cd[i] = {} cd[i].name = rotation[i] cd[i].spellnum = FindInBook(cd[i].name) cd[i].slot = FindInBar(cd[i].name) end end for i = 1, getn(cd) do start, duration = GetSpellCooldown(cd[i].spellnum, BOOKTYPE_SPELL) if duration ~= 0 then cd[i].cd = duration - GetTime() + start else cd[i].cd = 0 end end for i = 1, getn(cd) do if cd[i].cd == 0 and IsUsableAction(cd[i].slot) then cast(cd[i].name) break end end

названия мог перепутать

Соответственно легко подправляется, если при каких-то условиях надо запретить каст чего-то типа

if buffed("Immolate") then cd[1].cd = 10 end                                  хз как там дебаффы называются

if buffed("CurseOfTheElements") then cd[2].cd = 10 end

if buffed("Corruption") then cd[3].cd = 10 end

и т д

 

всмысле в конце вставить

/script local rotation = {"Immolate", "CurseOfTheElements", "Corruption", "Conflagrate"} if not FindInBook then function FindInBook(spell) local i = 1 local SPELLNUM = nil while true do local spellName, spellRank = GetSpellName(i, BOOKTYPE_SPELL) if not spellName then break end if string.find(spellName .. '(Rank ' .. spellRank .. ')', spell) then SPELLNUM = i end i = i + 1 end return SPELLNUM end end if not FindInBar then function FindInBar(spell) local lActionSlot for lActionSlot = 1, 120 do GameTooltip:SetOwner(GameTooltip, "ANCHOR_NONE") GameTooltip:SetAction(lActionSlot) result = "" leftline = getglobal("GameTooltipTextLeft"..1):GetText() or "" rightline = getglobal("GameTooltipTextRight"..1):IsVisible() if rightline then rightline = getglobal("GameTooltipTextRight"..1):GetText() end result = leftline if rightline and string.find(rightline, "Rank") then rightline = "("..rightline..")" result = result..rightline elseif rightline and leftline ~= "" then result = result.." "..rightline end if string.find(result, spell) then return lActionSlot end GameTooltip:Hide() GameTooltip:ClearLines() end return nil end end if not cd then cd = {} for i = 1, getn(rotation) do cd[i] = {} cd[i].name = rotation[i] cd[i].spellnum = FindInBook(cd[i].name) cd[i].slot = FindInBar(cd[i].name) end end for i = 1, getn(cd) do start, duration = GetSpellCooldown(cd[i].spellnum, BOOKTYPE_SPELL) if duration ~= 0 then cd[i].cd = duration - GetTime() + start else cd[i].cd = 0 end end if buffed("Immolate") then cd[1].cd = 10 end if buffed("CurseOfTheElements") then cd[2].cd = 10 end if buffed("Corruption") then cd[3].cd = 10 end for i = 1, getn(cd) do if cd[i].cd == 0 and IsUsableAction(cd[i].slot) then cast(cd[i].name) break end end
Edited by shuraken007

Share this post


Link to post
Share on other sites

 

глянь https://elysium-project.org/forum/index.php?showtopic=16970&p=219112

/script local rotation = {"Immolate", "CurseOfTheElements", "Corruption", "Conflagrate"} if not FindInBook then function FindInBook(spell) local i = 1 local SPELLNUM = nil while true do local spellName, spellRank = GetSpellName(i, BOOKTYPE_SPELL) if not spellName then break end if string.find(spellName .. '(Rank ' .. spellRank .. ')', spell) then SPELLNUM = i end i = i + 1 end return SPELLNUM end end if not FindInBar then function FindInBar(spell) local lActionSlot for lActionSlot = 1, 120 do GameTooltip:SetOwner(GameTooltip, "ANCHOR_NONE") GameTooltip:SetAction(lActionSlot) result = "" leftline = getglobal("GameTooltipTextLeft"..1):GetText() or "" rightline = getglobal("GameTooltipTextRight"..1):IsVisible() if rightline then rightline = getglobal("GameTooltipTextRight"..1):GetText() end result = leftline if rightline and string.find(rightline, "Rank") then rightline = "("..rightline..")" result = result..rightline elseif rightline and leftline ~= "" then result = result.." "..rightline end if string.find(result, spell) then return lActionSlot end GameTooltip:Hide() GameTooltip:ClearLines() end return nil end end if not cd then cd = {} for i = 1, getn(rotation) do cd[i] = {} cd[i].name = rotation[i] cd[i].spellnum = FindInBook(cd[i].name) cd[i].slot = FindInBar(cd[i].name) end end for i = 1, getn(cd) do start, duration = GetSpellCooldown(cd[i].spellnum, BOOKTYPE_SPELL) if duration ~= 0 then cd[i].cd = duration - GetTime() + start else cd[i].cd = 0 end end for i = 1, getn(cd) do if cd[i].cd == 0 and IsUsableAction(cd[i].slot) then cast(cd[i].name) break end end

названия мог перепутать

Соответственно легко подправляется, если при каких-то условиях надо запретить каст чего-то типа

if buffed("Immolate") then cd[1].cd = 10 end                                  хз как там дебаффы называются

if buffed("CurseOfTheElements") then cd[2].cd = 10 end

if buffed("Corruption") then cd[3].cd = 10 end

и т д

 

всмысле в конце вставить

/script local rotation = {"Immolate", "CurseOfTheElements", "Corruption", "Conflagrate"} if not FindInBook then function FindInBook(spell) local i = 1 local SPELLNUM = nil while true do local spellName, spellRank = GetSpellName(i, BOOKTYPE_SPELL) if not spellName then break end if string.find(spellName .. '(Rank ' .. spellRank .. ')', spell) then SPELLNUM = i end i = i + 1 end return SPELLNUM end end if not FindInBar then function FindInBar(spell) local lActionSlot for lActionSlot = 1, 120 do GameTooltip:SetOwner(GameTooltip, "ANCHOR_NONE") GameTooltip:SetAction(lActionSlot) result = "" leftline = getglobal("GameTooltipTextLeft"..1):GetText() or "" rightline = getglobal("GameTooltipTextRight"..1):IsVisible() if rightline then rightline = getglobal("GameTooltipTextRight"..1):GetText() end result = leftline if rightline and string.find(rightline, "Rank") then rightline = "("..rightline..")" result = result..rightline elseif rightline and leftline ~= "" then result = result.." "..rightline end if string.find(result, spell) then return lActionSlot end GameTooltip:Hide() GameTooltip:ClearLines() end return nil end end if not cd then cd = {} for i = 1, getn(rotation) do cd[i] = {} cd[i].name = rotation[i] cd[i].spellnum = FindInBook(cd[i].name) cd[i].slot = FindInBar(cd[i].name) end end for i = 1, getn(cd) do start, duration = GetSpellCooldown(cd[i].spellnum, BOOKTYPE_SPELL) if duration ~= 0 then cd[i].cd = duration - GetTime() + start else cd[i].cd = 0 end end if buffed("Immolate") then cd[1].cd = 10 end if buffed("CurseOfTheElements") then cd[2].cd = 10 end if buffed("Corruption") then cd[3].cd = 10 end for i = 1, getn(cd) do if cd[i].cd == 0 and IsUsableAction(cd[i].slot) then cast(cd[i].name) break end end

Все мои попытки его запустить закончились неудачей :( 

Share this post


Link to post
Share on other sites

Ребятки. Привет! Помогите... Нужна ваша помощь! Нужен макрос для роги. На Pick Pocket (Обшаривание карманов). Нужно когда используешь эту способность, то хочу что бы автоматом собирал лут. Есть такой макрос?

Share this post


Link to post
Share on other sites

Анрей, ты случаем не знаешь макрос на снятие блад рейжа? Чет надоело в ручную кликать(

Share this post


Link to post
Share on other sites

Это только с супермакро, без него там гемор

Share this post


Link to post
Share on other sites

/script CancelBuff("bloodrage")

Установил супер макро, все пашет!

Edited by ====AL&AN====

Share this post


Link to post
Share on other sites
/script C=CastSpellByName;if not UnitAffectingCombat("player") then C("Charge()");end
/script C=CastSpellByName;if not UnitAffectingCombat("player") then C("Battle Stance()");end/script C=CastSpellByName;if UnitAffectingCombat("player") then C("Bloodrage()");end/unbuff Bloodrage

Если нет комбата - чарж(сам меняет стойку если не батлстойка),

если комбат врубает блудрейж, если висит блудрейж - вырубает.

 

Короче спамишь и ты топ.

Share this post


Link to post
Share on other sites

Что там говорится в правилах про намеренное использование багов сервера?

Share this post


Link to post
Share on other sites

Всем привет. Решил попробовать классику. Играю за Ханта. Нужен макрос Если на цели есть Укус змеи, то спел не кастуется, если нет то кастуется Укус змеи. Можно ли написать такой макрос не по названию спела , а по его номеру? Да и работают ли макросы на русифицированной версии клиента?  Помогите плз.

Edited by Ruzy

Share this post


Link to post
Share on other sites

Всем привет. Решил попробовать классику. Играю за Ханта. Нужен макрос Если на цели есть Укус змеи, то спел не кастуется, если нет то кастуется Укус змеи. Можно ли написать такой макрос не по названию спела , а по его номеру? Да и работают ли макросы на русифицированной версии клиента?  Помогите плз.

 

Например так

 

/run r=0 for k=1,16 do if UnitDebuff("target", k) then if string.find(UnitDebuff("target", k), "Ability_Hunter_Quickshot") then r=1 end end end if r==0 then CastSpellByName("Serpent Sting") end

 

В конце еще можно ченить через else пулять.

Edited by girk

Share this post


Link to post
Share on other sites

Ребята, подскажите как задать проверку на возможность использования скила, а именно удара со спины? По иконке не получается, она активна что спереди что сзади.

Share this post


Link to post
Share on other sites

Ну эта

/каст бэкстаб

/срипт стопкастинге четатам

/каст синистр

 

Только этого делать не стоит - из-за синхры иногда можно и в лицо бекстабом дать.

Share this post


Link to post
Share on other sites

из-за синхры иногда можно и в лицо бекстабом дать.

А два раза можно в лицо дать? Появилось желание поиграть за рогу  :lol::ph34r:

Share this post


Link to post
Share on other sites

А два раза можно в лицо дать? Появилось желание поиграть за рогу  :lol::ph34r:

Дать то можно хоть десять, но результата не будет, смысл того поста был что время потратится впустую. 

 

Ну эта

/каст бэкстаб

/срипт стопкастинге четатам

/каст синистр

 

Только этого делать не стоит - из-за синхры иногда можно и в лицо бекстабом дать.

Не катит такого типа, я под каждый удар свое оружие меняю.

 

Никак. Прикрути кд, чтобы если бекстаб не сделался, то следующие X секунд энергия бы тратилась на синистр.

Наверно это будет лучший вариант если никак не проверить. А можешь пример кинуть? Только мне нужен таймер который включается со времени попытки дать бэкстаб, или даже не таймер а проверка результата был ли бэкстаб, макрос для спама делаю. Спасибо.

Edited by girk

Share this post


Link to post
Share on other sites

Примерно так

/скрипт ф=ГетТайм()мма=Юнитмана(п)иф нот бф тхен бф=0 энд иф ИзЭкшенинРенж(синистрнапанели)==1энд ГетэкшенКулдаун(синистрнапанели)==0тхен иф ф-бф>2энд мма>65тхен бф=ф КаспелБунейм(Бекстап)элсиф мма>20тхен Каспел(синистрвбуке,0)энд энд энд ... энд энд энд

 

Еще вспомнил вот что - можешь просто проверять являешься ли ты целью цели. Если да, то синистр. В ПВЕ работает 100% если ты не ленивая свинья, в ПВП в принципе тоже.

Да, точно, в пати с проверкой таргета будет хорошо работать, по крайней мере пободрей чем с таймером, еще раз спасибо. А вот мой вопрос по возможности проверки применился бэкстаб или нет (по урону или по промаху) - реализуемо?

Edited by girk

Share this post


Link to post
Share on other sites

Ребята посоветуйте вариант макроса для выбора вражеской цели с наименьшим ХП из находящихся на определенном растоянии.

Share this post


Link to post
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

×