Jump to content
Sign in to follow this  
Av_vA

Макрос на использование гранаты

Recommended Posts

Собственно, может кто дать код на использование гранаты без SuperMacro?

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

Если у тебя не дефолтовые девайсы иесть макро опции для клавымышки, можешь создать програмный макрос для вова, например, забиндить на доп клавише на мышке. GUI везде есть и там даже слепой рандом разберется.

Share this post


Link to post
Share on other sites

/script for i=1, NUM_PET_ACTION_SLOTS, 1 do local name  = GetPetActionInfo(i); if ( name == "Furious Howl" ) then CastPetAction(i)  else UseAction(113); end endВсё бы ничего, но он всегда использует гранату в слоте, вне зависимости от того, есть у пета Furious Howl или нет. Как быть? Рабочий вариант: /script local a = GetPetActionInfo(4); if ( a == "Furious Howl" ) then CastSpellByName("Furious Howl") else UseAction(113); end

 

Но хочется побольше универсальности.

Edited by Av_vA

Share this post


Link to post
Share on other sites

Вот под использование ториевой гранаты например.

/script local fg, i, j fg = 0 for i = 0, 4 do for j = 1, GetContainerNumSlots(i) do texture=GetContainerItemInfo(i, j) if(texture) then if(string.find(texture, "Bomb_08")) then UseContainerItem(i, j) fg =1 break end end end if(fg == 1) then break end end

как раз уложился - 254 символа.

дабы узнать кого использовать в string.find(texture, "Bomb_08") юзай 

/script texture = GetContainerItemInfo(bagID, slot) DEFAULT_CHAT_FRAME:AddMessage(texture)

bagID от 0 до 4  slot тут http://www.wowwiki.com/API_UseContainerItem?oldid=265827

или выведи вобще все вещи в сумках, дабы не париться - достаточно вставить в string.find уникальный кусочек текста из названия любой

получится:

/script local fg, i, j for i = 0, 4 do for j = 1, GetContainerNumSlots(i) do texture=GetContainerItemInfo(i, j) if(texture) then DEFAULT_CHAT_FRAME:AddMessage(texture) end end end 

дабы запустить из другого макроса используй RunMacro("Grenade")  например, если ты так назвал, то с петом выглядит:

/script local i, fg, name fg=0 for i = 1, NUM_PET_ACTION_SLOTS, 1 do name = GetPetActionInfo(i) if( name == "Furious Howl" ) then CastPetAction(i) fg = 1 break end end if(fg==0) then RunMacro("Grenade") end 

Единственное, чего я не понял - что это такое:

for i = 1, NUM_PET_ACTION_SLOTS, 1 

почему не

for i = 1, NUM_PET_ACTION_SLOTS 

В супермакро же все донельзя просто и уныло UseItemByName("Ториевая граната"), аж скука - хотя оно внутри работает почти так же, мне места не хватило чтобы по имени использовать в стандартном, а разбивать на 2 макроса лень. Хотя если очень надо по имени использовать - могу двумя макросами написать - делов на пару мин.

Но в супермакро есть довольно приятная штука:

DoOrder("крутая граната", "менее крутая", "совсем хреновая")

что первое найдет - то и заюзает, ну или

DoOrder("healing potion", "lesser healing potion", "healing touch")

p.s. Надеюсь, что исчерпывающее ответил на вопросы)

Edited by shuraken007

Share this post


Link to post
Share on other sites

Покопался я в итем раке, и таки нашёл - как выудить имя из линка, причём так просто.

/run for i=0,4 do for j=1,GetContainerNumSlots(i) do _,_,name = string.find(GetContainerItemLink(i,j) or "","%[(.+)%]") if(name=="Ториевая Граната") then UseContainerItem(i,j) end end end

У тебя аж 83 символа под название.

Edited by shuraken007

Share this post


Link to post
Share on other sites

Можно вставить в макрос не название (которое от локализации зависит), а код предмета в базе данных. В итем линке код предмета это обязательный пункт и он уникально идентифицирует предмет.

if (string.find(GetContainerItemLink(bag,slot),"Hitem:12450")) then UseContainerItem(bag,slot,"player") end
Edited by Xudojnik

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
Sign in to follow this  

×