Viertigo 3 Report post Posted May 12, 2015 Всем привет! Хочу написать жене несколько макросов для упрощения игры фералом.. вот то что нужно: 1. Каст на себя чего либо без смены таргета. - получилось. 2. Выход из формы кота, и моментальный отхил себя в одной кнопке. Шифт обратно в кошку я так понимаю в этот макрос добавить никак (гкд)? - тут получилось сделать выход из формы в человеческий облик и отдельно каст на себя хилки, но вместе в одном макросе работать отказываются. 3. Проверка на наличия бафа на себе (в данном случае Tiger's Fury). Если его нет - бафает и бьет скилом (если реально - в одно нажатие), если баф уже есть - просто удар скилом. - Пробовал делать по примеру фткуна: врубает тайгерфури, если тайгерфури висит - бьет равейжемMACRO 16777233 "tfry ravage" Ability_Mount_JungleTiger /script i=1;m=0;while(UnitBuff("player",i)~=nil) do if(strfind(UnitBuff("player",i),"Ability_Mount_JungleTiger")~=nil) then m=1; end;i=i+1;end; c=CastSpellByName; if(m==1) then c("Ravage");else c("Tiger's Fury");end; Что то не получилось... выдаёт ошибки. Если кто может помочь - очень прошу совета) 0 Share this post Link to post Share on other sites
`Xdembe` 47 Report post Posted May 12, 2015 2. Советую использовать аддон SwiftShift, он упрощает решифт. В readme есть некоторые примеры по использованию с макросами. https://mega.co.nz/#!FMc3RZSR!EgfK9oNjJVHBNWSqwUcIzt4xiCyDD51Ljv0pRhXbhKA 3. Работает нормально. Проблема может быть в копировании текста макроса. 0 Share this post Link to post Share on other sites
Viertigo 3 Report post Posted May 12, 2015 (edited) Спасибо, попробую дома)) А в чем может быть ошибка при копировании макроса? ctrl+c ctrl+v.. Или его каким то образом в окошке макроса нужно форматировать? (каким?) Edited May 12, 2015 by Viertigo 0 Share this post Link to post Share on other sites
`Xdembe` 47 Report post Posted May 12, 2015 Возможно не выделил крайние символы. /script i=1;m=0;while(UnitBuff("player",i)~=nil) do if(strfind(UnitBuff("player",i),"Ability_Mount_JungleTiger")~=nil) then m=1; end;i=i+1;end;c=CastSpellByName; if(m==1) then c("Ravage");else c("Tiger's Fury");end; 0 Share this post Link to post Share on other sites
Viertigo 3 Report post Posted May 12, 2015 Возможно не выделил крайние символы. /script i=1;m=0;while(UnitBuff("player",i)~=nil) do if(strfind(UnitBuff("player",i),"Ability_Mount_JungleTiger")~=nil) then m=1; end;i=i+1;end;c=CastSpellByName; if(m==1) then c("Ravage");else c("Tiger's Fury");end; Хорошо, буду пробовать. Вечером отпишусь о результатах. 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted May 12, 2015 (edited) На классике за 1 нажатие 1 каст, исключение спеллы без гкд, ну и трыни туда входят. Поставь аддон супермакро, дабы с бонгосом не конфликтовал выруби все опции кроме показать на миникарте/в меню тогда всё проще /script if buffed("Tiger's Fury", "player") then CastSpellByName("Ravage") else CastSpellByName("Tiger's Fury") end а по поводу хилки, ну на пример если меньше 80% хп - будет хилить ся хилинг тачем, а если больше, то входить в форму кота /script local heal, cat = nil, nil if UnitHealth("player")/UnitHealthMax("player") < 0.8 then heal = 1 end cat = GetShapeshiftFormInfo(3) if (cat and heal) or ( (not cat) and (not heal) ) then CastShapeshiftForm(3) elseif (not cat) and heal then CastSpellByName("Healing Touch", 1) end т.е. для удобства и понимания в heal и cat лежит что-то, если надо хилиться, и если сейчас форма кошки, иначе там пустое значение если форма кошки, и надо хилиться, или же сейчас не форма кошки, и хилиться не надо, то клацаем на скилл с формой - всмысле в 1-м случае из кошки выйдем, во 2-м случае войдем, ну а иначе - если мы не в кошке, и нада хилиться, то хилимся, вобщем макрос как текст читается p.s. писал так, от фонаря, не проверяя - может какая синтаксическая ошибка закралась Edited May 12, 2015 by shuraken007 0 Share this post Link to post Share on other sites
Viertigo 3 Report post Posted May 12, 2015 (edited) Поставил аддон SwiftShift. Находясь в форме эльфа макрос /script SwiftShift('Cat Form') работает Находясь в форме друида макрос /script SwiftShift('Night Elf Form') не работает. Что не так то? (Пробовал и 'Humanoid Form' . Не помогло) Может дело в русском клиенте игры? Ставить английский не вариант. Макрос на проверку бафа от Tiger's Fury (by фткун) заработал, пришлось только прописать русские названия скилов. (русский вов). Огромное спасибо за помощь, но осталась не решенная проблема с макросом на смену форм. Установил Supermacro. Ввел макрос shuraken007 на хилку - не работает с любой формы.. что то я не так делаю. Edited May 12, 2015 by Viertigo 0 Share this post Link to post Share on other sites
shuraken007 345 Report post Posted May 12, 2015 (edited) /script local CAT_SLOT = 3 local heal, cat = nil, nil if UnitHealth("player")/UnitHealthMax("player") < 0.8 then heal = 1 end _, _, cat = GetShapeshiftFormInfo(CAT_SLOT) if (cat and heal) or ( (not cat) and (not heal) ) then CastShapeshiftForm(CAT_SLOT) elseif (not cat) and heal then CastSpellByName("Healing Touch", 1) end чуток ошибся - над было _, _, cat = GetShapeshiftFormInfo(3) вместо "Healing Touch" ставь своё и к тому же я не знаю, на каком слоте у тя форма кота То есть у тебя есть набор форм - у паладинов аур, у варов стойки - нумеруются слева направо от 1 до конца У тебя может быть форма кота на другом месте, а не третьем - как у полноценного друида(пока там все квесты сделаешь, все стойки появятся и т д), короче говоря в CAT_SLOT запиши нужный номер В принципе можно автоматом определять где оно у тя находится, но это раздует макрос сильно. Edited May 12, 2015 by shuraken007 0 Share this post Link to post Share on other sites
Viertigo 3 Report post Posted May 12, 2015 (edited) Вот результат использования данного макроса. 1. Если использовать в форме кота - просто спамит в чат ерунду. 2. Если использовать в форме эльфа - руки персонажа на мгновенье загораются зеленым(начало каста) и сразу же уходит в кота. Edited May 12, 2015 by Viertigo 0 Share this post Link to post Share on other sites