Jump to content
Alexander

Макросы

Recommended Posts

Всем привет!

 

Хочу написать жене несколько макросов для упрощения игры фералом.. вот то что нужно:

 

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;

Что то не получилось... выдаёт ошибки.

 

Если кто может помочь - очень прошу совета)

Share this post


Link to post
Share on other sites

2. Советую использовать аддон SwiftShift, он упрощает решифт. В readme есть некоторые примеры по использованию с макросами.

3. Работает нормально. Проблема может быть в копировании текста макроса.

Share this post


Link to post
Share on other sites

Спасибо, попробую дома))

 

А в чем может быть ошибка при копировании макроса? ctrl+c ctrl+v..  Или его каким то образом в окошке макроса нужно форматировать? (каким?)

Edited by Viertigo

Share this post


Link to post
Share on other sites

Возможно не выделил крайние символы.

/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;

Share this post


Link to post
Share on other sites

 

Возможно не выделил крайние символы.

/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;

 

Хорошо, буду пробовать. Вечером отпишусь о результатах.

Share this post


Link to post
Share on other sites

На классике за 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 by shuraken007

Share this post


Link to post
Share on other sites

Поставил аддон SwiftShift.

Находясь в форме эльфа макрос /script SwiftShift('Cat Form') работает

Находясь в форме друида макрос /script SwiftShift('Night Elf Form') не работает.  Что не так то? (Пробовал и 'Humanoid Form' . Не помогло)

Может дело в русском клиенте игры? Ставить английский не вариант.

 

Макрос на проверку бафа от Tiger's Fury (by фткун) заработал, пришлось только прописать русские названия скилов. (русский вов).

 

Огромное спасибо за помощь, но осталась не решенная проблема с макросом на смену форм.

 

Установил Supermacro. Ввел макрос shuraken007 на хилку - не работает с любой формы.. что то я не так делаю.

Edited by Viertigo

Share this post


Link to post
Share on other sites
/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 by shuraken007

Share this post


Link to post
Share on other sites

Вот результат использования данного макроса. 

1. Если использовать в форме кота - просто спамит в чат ерунду.

2. Если использовать в форме эльфа - руки персонажа на мгновенье загораются зеленым(начало каста) и сразу же уходит в кота.

 

post-39274-0-45389500-1431462758_thumb.jpg

Edited by Viertigo

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

×