childchild 36 Report post Posted March 26, 2015 Ага, спасибо, работает. Как-то я сам не подумал про кавычки. 0 Share this post Link to post Share on other sites
listener 2 Report post Posted March 31, 2015 (edited) Ищу 2 макроса: 1. Тыкаешь 2 раза на бинд: первый- кушаешь, второй- пьешь. Макрос примерно с такой конструкцией: /script for i=1,30 do d = UnitBuff("player", i) if d then if string.find(d, "INV_Misc_Fork&Knife") then food = 1 end if string.find(d,"INV_Drink_07") then water = 1 end end end if (food == 1) then UseContainerItem(0,1) elseif not (food == 1) then UseContainerItem(0,2) end if (water == 1) then UseContainerItem(0,2) elseif not (water == 1) then UseContainerItem(0,1) end Также желательно, чтобы обращение было не через UseContainerItem, чтобы не следить за слотами сумок. ps: (0,1)- вода. (0,2)- еда. "INV_Misc_Fork&Knife"- иконка "Food". "INV_Drink_07"- иконка "Drink". 2. Тыкаешь- включаетсяотключается автокаст абилки у пета. Edited March 31, 2015 by listener 0 Share this post Link to post Share on other sites
фткyн 1469 Report post Posted April 2, 2015 Супермакро /юс иф нот бафед вотер зен юс вотер /юс иф нот бффед фуд зен юс фуд 0 Share this post Link to post Share on other sites
Disman 1 Report post Posted May 31, 2015 Подскажите как написать макрос: Левой кнопкой хавает еду, правой создаёт. Для мага. 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 1, 2015 (edited) Ну например как-то так, нужен аддон SuperMacro из-за команды use(), можно её заменить на юз конкретного слота в конкретной сумке. /script this:SetScript("OnClick", function() if arg1=="LeftButton" then use("Conjured Sweet Roll") elseif arg1=="RightButton" then CastSpellByName("Conjure Food") end end) p.s. ты стопудово с ностальриуса какого-то, да? Edited June 1, 2015 by shuraken007 1 Share this post Link to post Share on other sites
Disman 1 Report post Posted June 1, 2015 (edited) Ну например как-то так, нужен аддон SuperMacro из-за команды use(), можно её заменить на юз конкретного слота в конкретной сумке. /script this:SetScript("OnClick", function() if arg1=="LeftButton" then use("Conjured Sweet Roll") elseif arg1=="RightButton" then CastSpellByName("Conjure Food") end end) p.s. ты стопудово с ностальриуса какого-то, да? Да Бро. Именно с него. Классный сервер, я сам с оффа. http://eu.battle.net/wow/ru/character/%D1%87%D0%B5%D1%80%D0%BD%D1%8B%D0%B8-%D1%88%D1%80%D0%B0%D0%BC/%D0%94%D1%8D%D0%BD/simple За макрос огромное спасибо! Но, он не корректно работает. По правой создаёт еду. Но вот по левой, отказывается кушать =( Аддон установил. Может его как-то нужно настроить? Edited June 1, 2015 by Disman 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 1, 2015 А у тебя еда как называется? "Conjured Sweet Roll" если что - это жратва 6-го ранга, вставь своё название. 1 Share this post Link to post Share on other sites
Disman 1 Report post Posted June 1, 2015 (edited) Еда: Conjured Muffin Вот так у меня: /script this:SetScript("OnClick", function() if arg1=="LeftButton" then use("Conjured Muffin") elseif arg1=="RightButton" then CastSpellByName("Conjure Food") end end) Не пашет. При нажатии левой, на макросе загорается подсветка краёв. При ещё одном нажатии левой, подсветка спадает. И т.д. Еда в сумках лежит. Edited June 1, 2015 by Disman 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 1, 2015 Попробуй в супермакро сделать макрос. у него значек на миникарте, или esc->supermacro 1 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 1, 2015 (edited) Я даже не знаю в чем дело тогда, а точно - мне говорили у вас там патч какой-то стремный 1.4 что ли, там куча функций не поддерживается. Попробуй UseContainerItem(1, 1) это будет юзаться 1-й слот в 1-й сумке. Ну и выставь что тебе там надо. Отдельно потестируй макросы /script UseContainerItem(1, 1) и /script use("Conjured Muffin") по идее первый должен работать, а второй нет Edited June 1, 2015 by shuraken007 1 Share this post Link to post Share on other sites
Disman 1 Report post Posted June 2, 2015 (edited) Сегодня ещё раз похимичил с макроссом, и он заработал. Нужно было делать перезагрузку игры... /script this:SetScript("OnClick", function() if arg1=="LeftButton" then use("Conjured Water") elseif arg1=="RightButton" then CastSpellByName("Conjure Water") end end) Ещё раз спасибо! Edited June 2, 2015 by Disman 1 Share this post Link to post Share on other sites
Disman 1 Report post Posted June 2, 2015 (edited) А как сделать. Что бы на значке макроса отображалось количество стаков еды, а не значёк изготовления? #showtooltip не пашет =( И ещё, когда нажимаю на макрос не мышкой а биндом на клаве, то выскакивает ошибка. Как сделать что бы юзалось хавка и по левой кнопке и по бинду? Edited June 2, 2015 by Disman 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 2, 2015 (edited) #showtooltip на классике никогда не было, недавно как раз начал аналог делать - аддон /script use("Conjured Water") if not lrclmacro then this:SetScript("OnClick", function() if arg1=="LeftButton" then use("Conjured Water") elseif arg1=="RightButton" then CastSpellByName("Conjure Water") end end) lrclmacro = 1 end только в первый раз надо клацнуть на кнопку, а потом пользоваться можно, а то ошибку выдаст Edited June 2, 2015 by shuraken007 1 Share this post Link to post Share on other sites
Disman 1 Report post Posted June 2, 2015 А можно как то запилить автоатаку? Что бы при касте атакующего спела автоматически включалась автоатака? 0 Share this post Link to post Share on other sites
фткyн 1469 Report post Posted June 3, 2015 Да, можно, но лучше не надо, магов по айсармору будешь фигачить. 1 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 3, 2015 Вроде как-то так. ATTACK_SLOT свой ставь. /script ATTACK_SLOT = 4 if not IsCurrentAction(ATTACK_SLOT) then AttackTarget() end CastSpellByName("Frostbolt") 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 22, 2015 (edited) Вот, попросили - чтоб орало в чат при сапе, один раз юзается, дальше само спамит, запуск в супермакро. Спамит в чат BATTLEGROUND. /script local f = CreateFrame("Frame", "sap", UIParent) f:RegisterEvent("PLAYER_AURAS_CHANGED") f:SetScript("OnEvent", function(event) if buffed("Sap") and not checkfg then SendChatMessage("А..меня сапнули", "BATTLEGROUND", "COMMON") checkfg = 1 elseif checkfg == 1 and not buffed("Sap") then checkfg = nil end end ) лол, не работало с /run - заменил на /script, бред какой-то Edited June 23, 2015 by shuraken007 0 Share this post Link to post Share on other sites
Xudojnik 904 Report post Posted June 23, 2015 Это лучше аддоном тогда сделать. 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted June 23, 2015 (edited) Да лень было из-за 300 символов аддон делать. Вот кстати, помню форум падал, и этот макрос стерся, теперь его нашел - какой-то хант просил чтобы тревогу било, если цель под определенным контролем - ну там овца и т д - чтобы вдруг не сбить. Аналогично одно нажатие - и оно работает само. controls = {"hammer", "repentance"} - тут в кавычках виды контроля вписываются - наводите на дебаф - смотрите как называется. Я прост что на пале было, на том тестил. Можно там polimorf seduct и т д вписать. Может кому пригодиться, удаляю у себя за ненадобностью. Delay - мин задержка с которой звук проигрывать, ща 5 сек. /script DELAY = 5 controls = {"hammer", "repentance"} function cu() if not lastt then lastt = GetTime() - DELAY - 1 end if UnitName("target") then for i = 1, getn(controls) do if buffed(controls[i], "target") then if GetTime() - lastt > DELAY then PlaySound("RaidWarning") lastt = GetTime() end end end end end/script control_frame = CreateFrame("frame") control_frame:SetScript("OnUpdate", cu) Edited June 23, 2015 by shuraken007 1 Share this post Link to post Share on other sites
Traip 0 Report post Posted August 3, 2015 Прошу помочь с написанием следующего макроса, к примеру берем паловский скил - blessing of freedom. Все в одном макросе: Если в таргете я-фридом на меня Если в таргете дружественная цель-фридом на на неё Если в таргете никого -фридом на меня Если в таргете вражеская цель-фридом на меня. 0 Share this post Link to post Share on other sites
herc_valkyrie 190 Report post Posted August 3, 2015 autoselfcastdlaslabakov 3 Share this post Link to post Share on other sites
`Xdembe` 47 Report post Posted August 3, 2015 autoselfcastdlaslabakov перевод: в настройках поставить галочку "auto-self cast" а ну ты иди сюда мать твою... 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted November 3, 2015 (edited) поставь аддон супермакро https://elysium-project.org/forum/index.php?showtopic=16970&page=2#entry219112 там правда небольшой уклон для англоязычного клиента - я учитываю что за спеллом может быть (Rank №) string.find(spellName .. '(Rank ' .. spellRank .. ')', spell) так что поменяй - как там оно на рус клиенте в спеллбуке с рангом пишется всмысле (Ранг ) или (Уровень ) - хз ну вот так - каст иммолейта, если на противнике дебаф, то шедо болт /script local rotation = {"Immolate","Shadow Bolt"} 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", "target") then cd[1].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 т.е. первый по приоритету Immolate, второй Shadow Bolt и приписка в конце if buffed("Immolate", "target") then cd[1].cd = 10 end которая означает, что если на нашей цели дебаф от иммолейта, то мы ставим кулдаун для 1-го спелла из списка(иммолейт), поэтому он пропустится и скастится шедоболт Да да, это все можно написать в две строчки, но с этим макросом можно последовательность из 20-ти спеллов сделать за пару минут(и проверка на возможность каста адекватная). Так сказать поппуляризирую, ибо 80% вопросов по макросам именно на эту тему. (Еще раз логика макроса - кастим то, что можно первым скастить из списка, ежели нам что-то кастить не надо - то по условию в конце перед последним циклом for..end ставим условия, дабы кд насильно повесить, к слову сказать если надо проверить баф на себе, то вместо "target" "player") Edited November 6, 2015 by shuraken007 1 Share this post Link to post Share on other sites
Ruggedo 6 Report post Posted November 8, 2015 Можно ли для прикола осуществить такой макрос на удаление предметов из инвентаря, чтобы работал по принципу распыления/просеивания/измельчения: жмешь кнопку с макросом, наводишь курсор на ячейку в сумке, жмешь лкм и предмет удаляется (без подтверждения)? 0 Share this post Link to post Share on other sites