stixwow 14 Report post Posted June 17, 2010 эх, так и пришлось на воввики лезть.../script SpellStopCasting()а вообще, http://www.wowwiki.com/Macro_(1.0) - макросы для ванилы, и http://www.wowwiki.com/index.php?title=World_of_Warcraft_API&oldid=335546 - выбираем нужную функцию, тыкаем вверху кнопочку History и смотрим статьи за ноябрь 2006 года и раньше Самый правильный макрос сделаный своими руками!!! 0 Share this post Link to post Share on other sites
Xudojnik 904 Report post Posted October 2, 2010 (edited) Мои панели скилов:Сразу скажу, что смена стоек у меня висит на комбинациях shift+123. Если покопаться в стандартных опциях, то можно настроить это без всяких аддонов.1 и 3 в берсерк стойке заточены под комбинацию для возврата агро моба, который далеко убежал от меня:1) shift+32) 13) еще раз 1, если персонаж не побежал вперед3) спам 3Комбинация хорошо показала себя в МК на Molten Giant"ах.Макрос на 3 в дефенс стойке(таунтит только если цель моба не вы): /run if(GetUnitName("targettarget")~=GetUnitName("player"))then CastSpellByName("Taunt");end; Макрос на 1 в берсерке (если не хватает раги на интерцепт, юзает Bloodrage и затем использует интерцепт): /run if(UnitMana("player")<10) then CastSpellByName("Bloodrage");end;CastSpellByName("Intercept"); Макрос на 3 в баттл стойке (если цель моба - не вы, то юзает мокинг. иначе - хамстринг) Сделал так, чтобы было удобнее кайтить мобов. /run if(GetUnitName("targettarget")~=GetUnitName("player"))then CastSpellByName("Mocking Blow");end;/cast Hamstring Макрос на замену щита на одноручное оружие. Полезно во время оффтанкинга. Меняем #### на название вашего оффхенда (или на часть названия, если все не влезает). /run PickupInventoryItem(17);PutItemInBag(23); for bag=0,4 do for slot=1,GetContainerNumSlots(bag) do if (GetContainerItemLink(bag,slot)) then if (string.find(GetContainerItemLink(bag,slot),"####")) then UseContainerItem(bag,slot) end end end end Макрос на 4 в баттл стойке (просто клик - Shield Slam, Shift+клик -Shield Bash). В дефенс стойке скилы стоят отдельно потому, что в рейдах мне было важно следить за КД Shield Slam"а. В 5 ппл я ставлю на эту кнопку макрос, потому что там бывает очень важно сбивать касты мобов. /run if(IsShiftKeyDown())then CastSpellByName("Shield Bash");else CastSpellByName("Shield Slam");end; С таким расположением скилов на 3, я могу не задумываться в какой стойке я нахожусь и спокойно спамить 3, держа в таргете сорвавшегося моба. Также я могу не задумываясь кликать на 6/8 тогда, когда мне это нужно, т.к. в любом случае там клив/стан. Под 5 в баттл и берс стойке я объединил "АоЕ" умения, а под 1 - различные "разбеги". Интерцепт вытащил на левую дополнительную панель чтобы следить за его КД.Rend на моих панелях скилов отсутствует чуть более чем полностью. Во время танкинга, использование этого скила занимает ценные ГКД, которые можно потратить на более нужные скилы (то, что под 1, 4 и 5), а во время фарма я трачу рагу на скилы с большим выходом урона.На 9 в берс стойке я вытащил Sunder Armor специально для берсерков в ЗГ. Они любят неожиданно фирить, а так я могу танчить их и в берсерке (сорвать агро с меня все так же трудно как и в дефенс стойке, повышенный урон берсерка спокойно выхиливается).Макросы, которые у меня выглядят как глаза: /run local lD,hD,olD,ohD,pBf,nB,pm=UnitDamage("target");DEFAULT_CHAT_FRAME:AddMessage("Main hand average hit: "..((lD+hD)/2).."nOff hand average hit: "..((olD+ohD)/2).."nAttack speed: "..UnitAttackSpeed("target")); /run local a=UnitHealth("target");b=UnitHealthMax("target");c,c1=UnitArmor("target");d=UnitLevel("player");e=(c1/((85*d)+c1+400)*100);DEFAULT_CHAT_FRAME:AddMessage("Target hp:"..a.."/"..b.."narmor: "..e); Первый показывает средний урон в мили у цели (это работает только на мобах), скорость атаки. Второй - процент вашего физ дамага, который будет поглощаться броней моба (формула была согласована с реалиями сервера, также работает только на мобах).Все, что находится на 7 и правее кликается мышью. Execute на 2 - спорно, но долго в этих стойках я нахожусь только во время фарма. (хотя был один случай на хаккаре, когда я стоял под Berserker Rage и Shield Wall и спамил экзекуты, чтобы добить босса. Летели циферки по 1к+ некритом по ГКД. Имхо: только за счет этого и убили его тогда)Героик страйк в дефенс стойке убрал подальше потому что он у меня служит для слива раги. Обычно спамлю 1, 5, 4 и, когда все спокойно, мышью кликаю по героику.Shield Block слегка бледнеет при авоидансе в районе 25-30% и родном блоке 25%, но тем не менее это одна из самых ценных абилок. Блок валуе у меня около 70 (такое можно собрать с 5 ппл инстов), с 3 кусками т1, получится около 100. Это достаточно значимая цифра, чтобы использовать шилд блок по КД. Кроме того, этим я обеспечиваю себе критиммун и крашиммун в МК, т.к. больше 1го моба на мне бывает редко и этот моб практически не наносит мне незаблоченные удары. Механика расчета типа удара, который наносит мне моб отмеряет на некотором абстрактном луче шанс промаха, доджа, парирования, блока, затем на оставшемся месте размещает шанс крита(х2 урона), краша(х1.5 урона) и в последнюю очередь нормального удара. +75% к шансу блока вытесняет только шансы нормального, критового удара и краша, но при этом никак не влияет на шансы мисса, доджа и парирования.Еще была идея повесить на 5 в батл стойке макрос, который проверяет рагу, юзает Thunder Clap, затем переключает в дефенс стойку (если на ТК есть КД).Чем занять пустые ячейки так и не придумал. Все, что нужно, уже распределено. Edited May 25, 2014 by Xudojnik 14 Share this post Link to post Share on other sites
Abiku 31 Report post Posted October 2, 2010 Вот они, секретные разработки Художника. Планы и чертежи... Спасибо, друг. Это действительно ценная информация. От себя хочу добавить, что на панели нужна автоатака. Бывают веселые моменты в рейдах, когда все крутится, бегает, вертится(спавны аддов в рейд и т.д.). Удобнее табом выделять ближайшего и тыкать на панель, чем искать моба на экране. А еще простенький макрос, если резистит таунт: Каст батл стэнс, каст блудрейдж, каст москит. Все это на одной кнопке. Просто судорожно тыкаем на макрос. 0 Share this post Link to post Share on other sites
Xudojnik 904 Report post Posted October 3, 2010 Автоатака включается нажатием правой кнопки мыши на мобе, либо "t", либо после любого атакующего скила.А в случаях резиста таунта мне проще вручную сменить стойку и тыкнуть все ту же кнопку номер 3. Я пытался сделать макрос на автоматизацию этого, но уж слишком сложный и неудобный он получился. 0 Share this post Link to post Share on other sites
Blustoise 21 Report post Posted October 3, 2010 Оффтоп Худ ты суров 0 Share this post Link to post Share on other sites
Motorbreath 923 Report post Posted October 6, 2010 Автоатака включается нажатием правой кнопки мыши на мобе, либо "t", либо после любого атакующего скила.А в случаях резиста таунта мне проще вручную сменить стойку и тыкнуть все ту же кнопку номер 3. Я пытался сделать макрос на автоматизацию этого, но уж слишком сложный и неудобный он получился./script if not IsCurrentAction(№) then AttackTarget() end;где № - номер ячейки хотбара, в которой у вас автоатака.команда, включающая автоатаку и не отключающая ее при повторном использовании (!). по-моему мастхев для варов, паладинов, шаманов...не занимает места на хотбарах - можно воткнуть в любую ячейку, указать ее номер и забыть.лично я использую такие макросы с ней:/script TargetNearestEnemy(); /script if not IsCurrentAction(61) then AttackTarget() end;работает как кнопка Tab, но в дополнение начинает атаковать выбранную цель. у меня стандартная функция кнопки Tab разбиндена и на нее забинден данный макрос. очень удобно в пвп например.можно использовать вот так/script if not IsCurrentAction(73) then AttackTarget() end;/cast Heroic Strike/cast Overpower/cast Purge/script if not IsCurrentAction(28) then AttackTarget() end;/cast Frost Shock/script if not IsCurrentAction(61) then AttackTarget() end;что бы нам не захотелось заюзать на цели, мы автоматически начинаем заносить над ней свой ковыряльник, если вдруг почему-то не начали делать этого ранееp.s. номер ячейки вычисляется по формуле (номер бара - 1) х 12 + номер ячейкиили подбором. последняя ячейка бара всегда будет иметь номер 12, 24, 36 и так далее. первая 1, 13, 25 и так далее. за исключением тех случаев, конечно, если вы используете бармод вроде бонгоса и уменьшили в нем отображаемую длину баров 11 Share this post Link to post Share on other sites
astrix 66 Report post Posted April 4, 2011 Немного реально полезных макросов Устанавливаем Аддон WeaponQuickSwap для смены випона.Экип щита\меча зг + деф стенс реванш/script WeaponSwap("Teebu's Blazing Longsword", "Draconian Deflector")/script Icon, Name, IsActive=GetShapeshiftFormInfo(2); if IsActive then CastSpellByName"Revenge"; else CastShapeshiftForm(2);endЭкип щита\меча зг + деф стенс щит блок/script WeaponSwap("Teebu's Blazing Longsword", "Draconian Deflector")/script Icon, Name, IsActive=GetShapeshiftFormInfo(2); if IsActive then CastSpellByName"Shield Block"; else CastShapeshiftForm(2);endДеф стенс + дизарм/script Icon, Name, IsActive=GetShapeshiftFormInfo(2); if IsActive then CastSpellByName"disarm"; else CastShapeshiftForm(2);endЧарж интерцепт спам/script C=CastSpellByName;if UnitAffectingCombat("player") then i=3;else i=1;end;local w,a,r=GetShapeshiftFormInfo(i);if i==1 then if r then C("Charge()");else C("Battle Stance()");end;else if r then C("Intercept()");else C("Berserker Stance()");end;endПаммл/script Icon, Name, IsActive=GetShapeshiftFormInfo(3); if IsActive then CastSpellByName"pummel"; else CastShapeshiftForm(3);endХамстринг, если цель не в мили юзается интерцепт, если нет раги юзается бладрейж./script Icon, Name, G=GetShapeshiftFormInfo(3); C=CastSpellByName; if G and UnitMana("Player")<10 then C"Bloodrage"; elseif G then C"Intercept";else CastShapeshiftForm(3);end; /script CastSpellByName"Hamstring";Берс+ВВ/script Icon, Name, IsActive=GetShapeshiftFormInfo(3); if IsActive then CastSpellByName"whirlwind"; else CastShapeshiftForm(3);endну и главный макрос.MACRO 1 "1" Ability_Ambush/y DONT TOUCH MAH-HHHR STAEK BTCH RAAAWRENDДумаю по примерам напишите любые нужные вам макросы . Гого ногебать . 4 Share this post Link to post Share on other sites
====AL&AN==== 42 Report post Posted April 25, 2011 Хотел узнать: есть ли в классике макрос по примеру ЛК /cast [stance:1,nocombat] Charge; [stance:2] Intervene; [stance:3] Intercept (рывок в баттл стойке и перехват в берсе)Чарж интерцепт спам/script C=CastSpellByName;if UnitAffectingCombat("player") then i=3;else i=1;end;local w,a,r=GetShapeshiftFormInfo(i);if i==1 then if r then C("Charge()");else C("Battle Stance()");end;else if r then C("Intercept()");else C("Berserker Stance()");end;endСейчас попробовал этот макрос, но чет при наличии раги не юзается перехват в берс стойке. 0 Share this post Link to post Share on other sites
gazon87 0 Report post Posted May 18, 2011 Motorbreath'у и astrix'у спасибо за макросы, помогли. Есть вопрос, кто знает макрос на рэнд, чтобы проверял, если на цели нету рэнда то вешает ренд, если есть то ничего не делает либо (лучший вариант) каст героика, мортала и т.д. пол желанию. У друидов есть аддон Druidskill, так вот там есть подобная функция которая проверяет если на цели нету FaeriFire то кастует его, если есть, то соответственно далее идет атакующая абилка. Как подобное реализовать у вара с рэндом? 0 Share this post Link to post Share on other sites
jumanji 12 Report post Posted May 18, 2011 тру вары юзают токо 1 макрос на смену виэпонав... инфа 100% 2 Share this post Link to post Share on other sites
jumanji 12 Report post Posted May 18, 2011 газон фор ю: /look at the debuff panel; /if there is a rend then cast heroic strike; /else cast rend;еще можна дописать вконце: /say Я ленивый и страдаю ожирением... 2 Share this post Link to post Share on other sites
NickMonk 1144 Report post Posted November 28, 2011 Респект ребятки. Как не парадоксально - банальный макрос на автоатаку. Сэккономил мне кучу нервов и порядочно увеличил дамаг. 0 Share this post Link to post Share on other sites
randomnf 57 Report post Posted July 22, 2012 (edited) Макро: /cast defensive stance/usebyname 1х/usebyname щит/cast battle stance/usebyname 2х Можно сюда впендюрить какую-нить задержку длинной в гдк? Если ткнуть быстро два раза на макрос, то оружие сменится два раза (деф включится, и в руках будет двуруч). Пустой цикл хотя бы, который будет секунду длиться (гкд ведь 1 секунда?) ... PS UseByName не ок аддон. Если в названии предмета встречается дефис (и, возможно, какие-нить другие символы), то оружие не находится. WeaponQuickSwap ок аддон. Edited July 25, 2012 by randomnf 0 Share this post Link to post Share on other sites
randomnf 57 Report post Posted July 25, 2012 (edited) делетед Edited July 25, 2012 by randomnf 0 Share this post Link to post Share on other sites
Motorbreath 923 Report post Posted July 25, 2012 возможно, у друидов из-за наличия формы, как и у варов и рог, меняются странички экшенбаров. может быть, ранее ты по каким-то причинам этого не замечал (лвл дру был мелкий, нечасто юзал данную форму и т.п.).попробуй поставить автоатаку на неосновной бар и соответствующим образом прописать слот в макросе. или выловить его перебором.лично я юзаю бонгос, там можно включить все экшенбары, поставить по ним абилки и, меняя формы, понять какой на какой меняется - емнип у вара в стойках заются 5, 6, 7 (или что-то в этом районе) бары.что там у друидов я не знаю. 1 Share this post Link to post Share on other sites
randomnf 57 Report post Posted July 25, 2012 в стойках заются 5, 6, 7 (или что-то в этом районе) бары.От оно в чем дело было. Я пробовал перебирать, дошел до 72 и дальше не стал, ибо думал, что это бессмысленно, т.к. баров больше нету. Ан нет, на 84 все заработало.Пардон за панику =) 0 Share this post Link to post Share on other sites
cutuzoff 199 Report post Posted July 25, 2012 WeaponQuickSwap ок аддон.Не совсем ок аддон. Бывает очень часто, что макрос зависает и перестает работать, выдавая ошибку. 1 Share this post Link to post Share on other sites
plantago 5 Report post Posted April 22, 2013 (edited) Есть вопрос, кто знает макрос на рэнд, чтобы проверял, если на цели нету рэнда то вешает ренд, если есть то ничего не делает либо (лучший вариант) каст героика, мортала и т.д. пол желанию...Вот наиболее простое решение:/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") end/run CastSpellByName("Heroic Stike") Edited April 22, 2013 by plantago 0 Share this post Link to post Share on other sites
фткyн 1469 Report post Posted April 22, 2013 У меня похожий макрос работал не корректно, Первый раз вешал дебафф. а потом не проверял его наличие. 0 Share this post Link to post Share on other sites
====AL&AN==== 42 Report post Posted April 22, 2013 Кто подскажет макрос, как у фералов в мишке, только надо переделать под шадоумелд эльфа./script i=1;m=0;while(UnitBuff("player",i)~=nil) do if(strfind(UnitBuff("player",i),"Ability_Racial_BearForm")~=nil) then m=1; end;i=i+1;end; c=CastSpellByName; else c("Dire Bear Form");end;чет менял названия, но все равно не работает. 0 Share this post Link to post Share on other sites
фткyн 1469 Report post Posted April 22, 2013 Супермакро ставь, и не будет столько гемора. 0 Share this post Link to post Share on other sites
Bonho 769 Report post Posted April 22, 2013 (edited) i=1;m=0;-- проверка наличия иконки бафаwhile(UnitBuff("player",i)~=nil) do if (strfind(string.lower(UnitBuff("player",i)),"ability_ambush")~=nil) then m=1; end; i=i+1;end;c=CastSpellByName;-- каст при отсутствииif (m==0) then c("Shadowmeld");end; Скрипт /script i=1;m=0; while(UnitBuff("player",i)~=nil) do if(strfind(string.lower(UnitBuff("player",i)),"ability_ambush")~=nil) then m=1; end; i=i+1; end; c=CastSpellByName; if(m==0)then c("Shadowmeld"); end; Edited April 22, 2013 by Bonho 2 Share this post Link to post Share on other sites
====AL&AN==== 42 Report post Posted April 23, 2013 i=1;m=0;-- проверка наличия иконки бафаwhile(UnitBuff("player",i)~=nil) doif (strfind(string.lower(UnitBuff("player",i)),"ability_ambush")~=nil) then m=1;end;i=i+1;end;c=CastSpellByName;-- каст при отсутствииif (m==0) thenc("Shadowmeld");end;Скрипт/script i=1;m=0; while(UnitBuff("player",i)~=nil) do if(strfind(string.lower(UnitBuff("player",i)),"ability_ambush")~=nil) then m=1; end; i=i+1; end; c=CastSpellByName; if(m==0)then c("Shadowmeld"); end;Спасибо, работает отл) 0 Share this post Link to post Share on other sites
Krit 21 Report post Posted April 23, 2013 Кто подскажет макрос, как у фералов в мишке, только надо переделать под шадоумелд эльфа./script i=1;m=0;while(UnitBuff("player",i)~=nil) do if(strfind(UnitBuff("player",i),"Ability_Racial_BearForm")~=nil) then m=1; end;i=i+1;end; c=CastSpellByName; else c("Dire Bear Form");end;чет менял названия, но все равно не работает.этот не работаетвот/script i=1;m=0;while(UnitBuff("player",i)~=nil) do if(strfind(UnitBuff("player",i),"Ability_Racial_BearForm")~=nil) then m=1; end;i=i+1;end; c=CastSpellByName; if(m==0)then c("Dire Bear Form"); end;а как для кота зделать?Ability_Racial_BearForm какая у кота? и де это искать? 0 Share this post Link to post Share on other sites
фткyн 1469 Report post Posted April 23, 2013 Супермакро ставь, и не будет столько гемора. 0 Share this post Link to post Share on other sites