Jump to content
abeliq

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

Recommended Posts

Есть вопрос, кто знает макрос на рэнд, чтобы проверял, если на цели нету рэнда то вешает ренд, если есть то ничего не делает либо (лучший вариант) каст героика, мортала и т.д. пол желанию. У друидов есть аддон Druidskill, так вот там есть подобная функция которая проверяет если на цели нету FaeriFire то кастует его, если есть, то соответственно далее идет атакующая абилка. Как подобное реализовать у вара с рэндом?

Share this post


Link to post
Share on other sites

попробуйте этот переделать:Лечение если нет такого (у друида)/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

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_Gouge") then r=1 end end end if r==0 then CastSpellByName("Rend") else CastSpellByName("Heroic Strike") end 

Share this post


Link to post
Share on other sites

Лечение если нет такого (у друида)/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, Выражаю большую благодарность за помощь.

Share this post


Link to post
Share on other sites

Пожалуйста помогите с макросом: он должен проверить несколько игроков на наличие повреждения И на отсутствие определенного бафа, оставить эту цель выбранной (хотелось бы еще действие добавить, но в 255 не влезет)И еще вопрос: почему во время боя есть сложность с выбором в таргет дружественной цели ?

Share this post


Link to post
Share on other sites

проверка на "наличие повреждения"

/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. Не понял чего ты хочешь добиться от макроса потому не могу написать полный макрос.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Я конечно не знаю сами ли вы ацкие кодеры макросов или умело переделываете исходники, но может админчикам поможите в скриптовании? :D. Это даже не вопрос, а скорее пожелание.

Share this post


Link to post
Share on other sites

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

Я конечно не знаю сами ли вы ацкие кодеры макросов или умело переделываете исходники, но может админчикам поможите в скриптовании? :D. Это даже не вопрос, а скорее пожелание.

lua != C++ ;)

Share this post


Link to post
Share on other sites

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

В итоге должна остаться выбранной дружественная цель, побитая, но на ней еще нет ХОТа

Помоги, пожалуйста, собрать это до кучи )

Share this post


Link to post
Share on other sites

Хотелось бы макрос на взятие и сдатие квеста

Share this post


Link to post
Share on other sites

<p>

lua != C++

</p><p>Это как бы да, но циклы вы знаете, условия тоже, с интерфейсами вроде ен просят работать, там же ког вроде ничего особо сложно, попытайте удачу, авось накс откроете <img src="http://valkyrie-wow.com/forum/public/style_emoticons/default/biggrin.gif" class="bbc_emoticon" alt=":D"></p>

Share this post


Link to post
Share on other sites

plantago, спасибо, помог!А есть макрос, чтобы начать разговор с НПЦ? К примеру, стоит таргет с квестом, а мне лень на него курсором нажать :)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Darniuss, у меня проблема с Super Macro. С английским я туговат, а там три окна в которые можно прописывать макрос. Погуглил не нашел, пожалуйста напиши кратенькую инструкцию на него или дай ссылочку (на форуме про него описания не нашел).

Заранее спасибо )

Share this post


Link to post
Share on other sites

Ставишь аддон. Запускаешь коммандой /macro. В аддоне выбираешь вкладку "Super" и жмёшь кнопку "New Super". Дальше как обычно

Изображение

Share this post


Link to post
Share on other sites

Макрос на ренд работает отлично, а можно как то на его основе сделать макрос на 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 стаков СА, макрос все равно пытается их перевешать, тем самым не дает выполнят другие атакующие действия, которые прописаны ниже в том же макросе. Кто в курсе, прошу помочь с решением данной проблемы. Спасибо.

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

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

×