gazon87 0 Report post Posted May 18, 2011 Есть вопрос, кто знает макрос на рэнд, чтобы проверял, если на цели нету рэнда то вешает ренд, если есть то ничего не делает либо (лучший вариант) каст героика, мортала и т.д. пол желанию. У друидов есть аддон Druidskill, так вот там есть подобная функция которая проверяет если на цели нету FaeriFire то кастует его, если есть, то соответственно далее идет атакующая абилка. Как подобное реализовать у вара с рэндом? 0 Share this post Link to post Share on other sites
plantago 5 Report post Posted May 18, 2011 попробуйте этот переделать:Лечение если нет такого (у друида)/script h = 0 for j=1,16 do if UnitBuff("target", j) then if string.find(UnitBuff("target", j), "Rejuvenation") then h = 1 end end end if h == 0 then CastSpellByName("Rejuvenation") end 0 Share this post Link to post Share on other sites
Darniuss 495 Report post Posted May 19, 2011 /run r=0 for k=1,16 do if UnitDebuff("target", k) then if string.find(UnitDebuff("target", k), "Ability_Gouge") then r=1 end end end if r==0 then CastSpellByName("Rend") else CastSpellByName("Heroic Strike") end 1 Share this post Link to post Share on other sites
gazon87 0 Report post Posted May 19, 2011 Лечение если нет такого (у друида)/script h = 0 for j=1,16 do if UnitBuff("target", j) then if string.find(UnitBuff("target", j), "Rejuvenation") then h = 1 end end end if h == 0 then CastSpellByName("Rejuvenation") endПеределал его, работает, но не так как надо. Если рэнда нету, он его вешает и потом каждый рез его опять навешивает. Пробовал макрос по if then else, где указывал что если рэнда нету, то вешать ренд, если ренд есть то каст героика или мортала. Но почему то не получается, он пытается скастовать мортал или героик, но потом снова вешает ренд и так по кругу и соответственно мортал, героик не проходят. Нужно как то сделать так, что если рэнда нету, то вешает ренд, и пока он не спадет его вообще не перевешивать, а пускать в ход мортал, героик. Смотрел lua из DruidSkill, но так и не понял как это там задействовано. Пробовал прописать свою функцию на проверку дебафа, все нормально, но ренд опять заного при каждом клике обновляется./run r=0 for k=1,16 do if UnitDebuff("target", k) then if string.find(UnitDebuff("target", k), "Ability_Gouge") then r=1 end end end if r==0 then CastSpellByName("Rend") else CastSpellByName("Heroic Strike") end Ахаха, все гениальное просто. Вся проблема была в string.find(UnitDebuff("target", k), "Ability_Gouge"). Хотя я так и не понял при чем тут Гоуж. Darniuss, Выражаю большую благодарность за помощь. 0 Share this post Link to post Share on other sites
Darniuss 495 Report post Posted May 19, 2011 Хотя я так и не понял при чем тут Гоуж. http://www.wowwiki.com/Queriable_Buff_effects 1 Share this post Link to post Share on other sites
gazon87 0 Report post Posted May 19, 2011 Все, теперь понял. Спасибо за информацию. 0 Share this post Link to post Share on other sites
plantago 5 Report post Posted May 20, 2011 Пожалуйста помогите с макросом: он должен проверить несколько игроков на наличие повреждения И на отсутствие определенного бафа, оставить эту цель выбранной (хотелось бы еще действие добавить, но в 255 не влезет)И еще вопрос: почему во время боя есть сложность с выбором в таргет дружественной цели ? 0 Share this post Link to post Share on other sites
Darniuss 495 Report post Posted May 20, 2011 проверка на "наличие повреждения" /run if UnitHealth("target")/UnitHealthMax("target") < 1 then %blah-blah-blah% endсам же это писал в теме друидовпроверка баффа/run b=0 for k=1,16 do if UnitBuff("target", k) then if string.find(UnitBuff("target", k), "Buff_name") then b=1 end end end if b==0 then CastSpellByName("Buff_name") else end И еще вопрос: почему во время боя есть сложность с выбором в таргет дружественной цели ? руки мб?/run TargetNearestFriend ()P.S. Не понял чего ты хочешь добиться от макроса потому не могу написать полный макрос. 1 Share this post Link to post Share on other sites
plantago 5 Report post Posted May 20, 2011 Darniuss, благодарю за внимание к своему вопросу, попытаюсь изъяснится понятнее:Мне необходим макрос, который просканирует дружественные цели, и выберет из них ту у которой здоровья меньше 70% и отсутствует эффект Rejuvenation.Кастую "ручками" Rejuvenation.При следующем нажатии макроса должна определиться другая цель.З.Ы. для посвященных: как организовать цикл в цикле ?поиск бафа на цели - for i=1,16 do if UnitBuff("target", i) then if string.find(UnitBuff("target", i), "Rejuvenation") thenвыбор цели по параметру - for i=1,10 do TargetNearestFriend(); if UnitHealth("target")/UnitHealthMax("target") < 0.7 then if UnitIsPlayer("target") then 0 Share this post Link to post Share on other sites
Iam 130 Report post Posted May 20, 2011 Я конечно не знаю сами ли вы ацкие кодеры макросов или умело переделываете исходники, но может админчикам поможите в скриптовании? . Это даже не вопрос, а скорее пожелание. 0 Share this post Link to post Share on other sites
Darniuss 495 Report post Posted May 20, 2011 Darniuss, благодарю за внимание к своему вопросу, попытаюсь изъяснится понятнее:Мне необходим макрос, который просканирует дружественные цели, и выберет из них ту у которой здоровья меньше 70% и отсутствует эффект Rejuvenation.Кастую "ручками" Rejuvenation.При следующем нажатии макроса должна определиться другая цель.З.Ы. для посвященных: как организовать цикл в цикле ?поиск бафа на цели - for i=1,16 do if UnitBuff("target", i) then if string.find(UnitBuff("target", i), "Rejuvenation") thenвыбор цели по параметру - for i=1,10 do TargetNearestFriend(); if UnitHealth("target")/UnitHealthMax("target") < 0.7 then if UnitIsPlayer("target") thenа если 1 таргет ниже 70% а у другого нет реджувки? или таких таргетов несколько?<цикл1> if ... then <цикл2>if then <цикл2> else...<цикл1> end endЯ конечно не знаю сами ли вы ацкие кодеры макросов или умело переделываете исходники, но может админчикам поможите в скриптовании? . Это даже не вопрос, а скорее пожелание.lua != C++ 0 Share this post Link to post Share on other sites
plantago 5 Report post Posted May 22, 2011 Darniuss, попробую точнее указать 1) перебираем группу игроков for i=1,10 do TargetNearestFriend() 2) условие урон if UnitHealth("target")/UnitHealthMax("target") < 0.7 then 3) перебираем бафы на этой цели (позиции бафов) for j=1,16 do if UnitBuff("target", j) then 4) отыскиваем нужный и сравниваем if string.find(UnitBuff("target", j), "Rejuvenation") then В итоге должна остаться выбранной дружественная цель, побитая, но на ней еще нет ХОТа Помоги, пожалуйста, собрать это до кучи ) 0 Share this post Link to post Share on other sites
Irbez 862 Report post Posted May 22, 2011 Хотелось бы макрос на взятие и сдатие квеста 0 Share this post Link to post Share on other sites
plantago 5 Report post Posted May 22, 2011 Irbez, нашел тут http://forum.rpgarea.ru/topic/16807-makrosi/Макрос автоматической сдачи квеста неограниченное кол-во раз: /script SelectGossipAvailableQuest(1); CompleteQuest(); GetQuestReward(); 2 Share this post Link to post Share on other sites
Iam 130 Report post Posted May 22, 2011 <p> lua != C++</p><p>Это как бы да, но циклы вы знаете, условия тоже, с интерфейсами вроде ен просят работать, там же ког вроде ничего особо сложно, попытайте удачу, авось накс откроете <img src="http://valkyrie-wow.com/forum/public/style_emoticons/default/biggrin.gif" class="bbc_emoticon" alt=""></p> 0 Share this post Link to post Share on other sites
Irbez 862 Report post Posted May 22, 2011 plantago, спасибо, помог!А есть макрос, чтобы начать разговор с НПЦ? К примеру, стоит таргет с квестом, а мне лень на него курсором нажать 0 Share this post Link to post Share on other sites
Darniuss 495 Report post Posted May 23, 2011 2 plantago Ну вот, как-то так. /run r=0 for i=1,10 do TargetNearestFriend() end /run h=0 if UnitHealth("target")/UnitHealthMax("target") <0.7 then h=1 end/run for b=1,16 do if UnitBuff("target", then if string.find(UnitBuff("target", , Spell_Nature_Rejuvenation) then r=1 end end/run if r==0 and h==1 then CastSpellByName("Rejuvenation") else end Берёт в таргет ближайшую. цель, проверяет её ХП и наличие реджувки, если ХП меньше 70% и нет реджувки кастует её. Минус данного макроса в том, что TargetNearestFriend() работает в маленьком радиусе. В 255 символов, понятное дело, не влезет, потому поставь аддон SuperMacroSuperMacro_v3.15b.zip 1 Share this post Link to post Share on other sites
plantago 5 Report post Posted May 24, 2011 Darniuss, у меня проблема с Super Macro. С английским я туговат, а там три окна в которые можно прописывать макрос. Погуглил не нашел, пожалуйста напиши кратенькую инструкцию на него или дай ссылочку (на форуме про него описания не нашел). Заранее спасибо ) 0 Share this post Link to post Share on other sites
WhiteB00z 152 Report post Posted May 24, 2011 вот самые клевые и полезные макросы/e Moo/e Laugh/y PRIVET POTSAN %t 1 Share this post Link to post Share on other sites
Darniuss 495 Report post Posted May 24, 2011 Ставишь аддон. Запускаешь коммандой /macro. В аддоне выбираешь вкладку "Super" и жмёшь кнопку "New Super". Дальше как обычно 0 Share this post Link to post Share on other sites
gazon87 0 Report post Posted July 2, 2011 Макрос на ренд работает отлично, а можно как то на его основе сделать макрос на Sunder armor? То есть, чтобы проверял, если дебаф не весит то навешивать СА, если дебаф есть, но меньше 5 стаков, то навешивать до 5 стаков, если уже есть 5 стаков, то чтобы прекратил попытку вешать дебаф и перешел к другой процедуре, ну так ревенж, шилд блок и прочее. Я пытался тут кое-что сделать, но в макросах я не силен, собирал из нескольких, получилось:/run r=0 for s=1,16 do if UnitDebuff("target", s) then if string.find(UnitDebuff("target", s), "Ability_Warrior_Sunder") or s[4]==1 or s[4]==2 or s[4]==3 or s[4]==4 then CastSpellByName("Sunder Armor") then r=1; else if (s[4]==5 and s[7]-GetTime()<=4) then CastSpellByName("Sunder Armor") then r==0; return; end; endПри попытке его запустить никаких ошибок не выдает, но СА не вешает. До этого использовал такой макрос: /run r=0 for k=1,5 do if UnitDebuff("target", k) then if string.find(UnitDebuff("target", k), "Ability_Warrior_Sunder") and k==1 then r=1 end end end if r==0 then CastSpellByName("Sunder Armor"); end;Он работает, но проблема в том, что после того, как на цели 5 стаков СА, макрос все равно пытается их перевешать, тем самым не дает выполнят другие атакующие действия, которые прописаны ниже в том же макросе. Кто в курсе, прошу помочь с решением данной проблемы. Спасибо. 0 Share this post Link to post Share on other sites
Jessy 33 Report post Posted July 2, 2011 помогите пожалуйста написать макрос на смены стоек + эквип одноручки и щита\ двуручки. спасибо) 0 Share this post Link to post Share on other sites
gazon87 0 Report post Posted July 6, 2011 Проблема с макросом на Sunder armor решена. 0 Share this post Link to post Share on other sites
Acmepom 60 Report post Posted July 11, 2011 хм..искал ,искал,пыталс,пытался и нефига не нашел )помогите написать макрос , на диспел себя без потери таргета.. так же как и баф себя без потери таргета.. 0 Share this post Link to post Share on other sites
Ragrik 79 Report post Posted July 11, 2011 Ищу макрос для сбивания вражеских тотемов петом 1 Share this post Link to post Share on other sites