Форум гильдии Arm Dearg
http://arm-dearg.ru/forum/

Хитрые макросы
http://arm-dearg.ru/forum/viewtopic.php?f=32&t=3134
Страница 1 из 1

Автор:  FallenAngel [ 05 дек 2015, 03:34 ]
Заголовок сообщения:  Хитрые макросы

Дистанция до цели, для тех кто не пользуется гаджетами, координаты, шрифт, цвет можете править сколько угодно, изменили, сохранили, тыркнули макрос повторно :)

Цветом подсвечивается дистанция: до 3м зеленый, до 30 желтый, до 35 оранжевый, дальше красный

Код:
script if not rm then rm=UI.CreateFrame('Text','Text',UI.CreateContext('RM')) end rm:SetPoint("CENTER", UIParent, "TOPLEFT", 300, 300)rm:SetFontSize(24)rm:SetEffectGlow({strength=2})
script Command.Event.Detach(Event.Unit.Detail.Coord, rm.u, "rmu") Command.Event.Detach(Event.Unit.Remove, rm.u, "rmu")
script function rm.c(p,t)if p and t then local dx,dy,dz=p.coordX-t.coordX,p.coordY-t.coordY,p.coordZ-t.coordZ rm.t(math.max(0,math.sqrt(dx*dx+dy*dy+dz*dz)-(p.radius or 0.5)-(t.radius or 0.5))) else rm.t()end end
script function rm.fc(v)if v<3 then rm:SetFontColor(0.6,1,0.6,1)else if v<30 then rm:SetFontColor(1,1,0.6,1) else if v<35 then rm:SetFontColor(1,0.6,0,1)else rm:SetFontColor(1,0,0,1)end end end end
script function rm.t(v)if v then rm:SetText(string.format("%.01f",v))rm.fc(v) else rm:SetText("")end end
script function rm.u()if Inspect.System.Watchdog()<0.1 then return end rm.c(Inspect.Unit.Detail("player"),Inspect.Unit.Detail("player.target")) end
script Command.Event.Attach(Event.Unit.Detail.Coord, rm.u, "rmu")Command.Event.Attach(Event.Unit.Remove, rm.u, "rmu")

Автор:  FallenAngel [ 05 дек 2015, 03:50 ]
Заголовок сообщения:  Re: Хитрые макросы

Невпонин макрос на отображение списка ников ближе 5 метров

Код:
script a=UI.CreateFrame('Text','Text',UI.CreateContext('HUD')) a:SetPoint('CENTER',UIParent,'CENTER',0,0) a:SetFontSize(30)a:SetVisible(true)print('distancemeter on')lr=0
script function p(x1,x2,z1,z2) if x2~= nil and z2~=nil then return math.floor(math.sqrt((x2-x1)^2+(z2-z1)^2)*10+0.5)/10 else return 6 end end
script function l(b)f=''for c,d in pairs(Inspect.Unit.List())do if(string.find(d,'group')~=nil and string.len(d)==7)then e=Inspect.Unit.Detail(c) if p(b.coordX,e.coordX,b.coordZ,e.coordZ)<5 then f=f..' '..e.name end end end return f end
script function r()if(Inspect.Time.Frame()-lr>0.2)then a:SetText(l(Inspect.Unit.Detail('player')))lr=Inspect.Time.Frame()end end table.insert(Event.System.Update.Begin,{r,'Rift','r'})

Автор:  Xenir [ 05 дек 2015, 13:01 ]
Заголовок сообщения:  Re: Хитрые макросы

Что нужно поменять в невпонином скрипте, чтобы список выводился столбцом?

Автор:  FallenAngel [ 05 дек 2015, 15:01 ]
Заголовок сообщения:  Re: Хитрые макросы

Xenir писал(а):
Что нужно поменять в невпонином скрипте, чтобы список выводился столбцом?

f=f..' '..e.name
замени на
f=f..'\n'..e.name

Автор:  Ignil [ 05 дек 2015, 17:14 ]
Заголовок сообщения:  Re: Хитрые макросы

Спасибо большое за дистанс скрипт:) Все работает шикарно, только немного подкорректировал координаты и размер шрифта.

Автор:  FallenAngel [ 26 дек 2015, 01:30 ]
Заголовок сообщения:  Re: Хитрые макросы

Макрос на близнецов
Код:
script if not rr then rr=UI.CreateFrame('Text','Text',UI.CreateContext('rr')) end rr:SetPoint("CENTER", UIParent, "TOPLEFT", 300, 300)rr:SetFontSize(24)rr:SetEffectGlow({strength=2})rr:SetText("RUN!")
script Command.Event.Detach(Event.Unit.Detail.Coord, rr.u, "rru") Command.Event.Detach(Event.Unit.Remove, rr.u, "rru")
script function rr.c(p,t)if p and t then local dx,dy,dz=(p.coordX or 0)-(t.coordX or 0),(p.coordY or 0)-(t.coordY or 0),(p.coordZ or 0)-(t.coordZ or 0)rr.fc(math.max(0,math.sqrt(dx*dx+dy*dy+dz*dz)-(p.radius or 0.5)-(t.radius or 0.5))) else rr.fc()end end
script function rr.fc(v) rr:SetVisible(v ~= nil and v < 50) end
script function rr.u()if Inspect.System.Watchdog()<0.1 then return end rr.c(Inspect.Unit.Detail("player"),Inspect.Unit.Detail("focus")) end
script Command.Event.Attach(Event.Unit.Detail.Coord, rr.u, "rru")Command.Event.Attach(Event.Unit.Remove, rr.u, "rru")

Автор:  FallenAngel [ 26 дек 2015, 01:37 ]
Заголовок сообщения:  Re: Хитрые макросы

Версия по центру
Код:
script if not rr then rr=UI.CreateFrame('Text','Text',UI.CreateContext('rr')) end rr:SetPoint("CENTER", UIParent, "CENTER", 0, 0)rr:SetFontSize(24)rr:SetEffectGlow({strength=2})rr:SetText("RUN!")
script Command.Event.Detach(Event.Unit.Detail.Coord, rr.u, "rru") Command.Event.Detach(Event.Unit.Remove, rr.u, "rru")
script function rr.c(p,t)if p and t then local dx,dy,dz=(p.coordX or 0)-(t.coordX or 0),(p.coordY or 0)-(t.coordY or 0),(p.coordZ or 0)-(t.coordZ or 0)rr.fc(math.max(0,math.sqrt(dx*dx+dy*dy+dz*dz)-(p.radius or 0.5)-(t.radius or 0.5))) else rr.fc()end end
script function rr.fc(v) rr:SetVisible(v ~= nil and v < 50) end
script function rr.u()if Inspect.System.Watchdog()<0.1 then return end rr.c(Inspect.Unit.Detail("player"),Inspect.Unit.Detail("focus")) end
script Command.Event.Attach(Event.Unit.Detail.Coord, rr.u, "rru")Command.Event.Attach(Event.Unit.Remove, rr.u, "rru")

Автор:  FallenAngel [ 26 дек 2015, 01:52 ]
Заголовок сообщения:  Re: Хитрые макросы

Исправил ошибки при потере фокуса, обновите

Автор:  FallenAngel [ 11 фев 2016, 01:27 ]
Заголовок сообщения:  Re: Хитрые макросы

Для печати списка доступных адвенчур с айдишником
Код:
script local m=Inspect.Minion.Adventure.Detail(Inspect.Minion.Adventure.List()) for k,v in pairs(m) do if v.mode=="available" then print(k.." - "..v.name) end end

Автор:  FallenAngel [ 30 июл 2016, 21:02 ]
Заголовок сообщения:  Re: Хитрые макросы

Если кому нужен макрос на ускорение всех отправленных приключений за авентурины
Код:
script local a=Inspect.Minion.Adventure.Detail(Inspect.Minion.Adventure.List()) for k,v in pairs(a) do if v.mode=="working" then pcall(Command.Minion.Hurry, k, "aventurine") end end

Автор:  FallenAngel [ 04 янв 2017, 02:08 ]
Заголовок сообщения:  Re: Хитрые макросы

Код:
script if not spb then spb=UI.CreateFrame('Text','Text',UI.CreateContext('SPB')) end spb:SetPoint("CENTER", UIParent, "TOPLEFT", 300, 300)spb:SetEffectGlow({strength=2})spb.ov=-1
script Command.Event.Detach(Event.System.Update.Begin, spb.u, "spbu")
script function spb.s(x)return spb.i(x<0,1,spb.i(x>0,3,2)) end
script function spb.i(x,t,f)if x then return t else return f end end
script function spb.u()if Inspect.System.Watchdog()<0.1 then return end spb.t((Inspect.Unit.Detail("player") or {}).focus or 100) end
script function spb.t(v)if spb.ov~=v then spb.ov=v spb:SetText(tostring(math.abs(v-100)))spb:SetFontColor(unpack(({{.8,.1,.1},{1,1,1},{.4,.6,.9}})[spb.s(v-100)]))end spb:SetFontSize(spb.i(math.abs(v-100)==100,36,24))end
script Command.Event.Attach(Event.System.Update.Begin, spb.u, "spbu")

Автор:  Fastapoke [ 04 янв 2017, 19:04 ]
Заголовок сообщения:  Re: Хитрые макросы

Какойто особо хитрый макрос) а таки что оно делает?

Автор:  FallenAngel [ 04 янв 2017, 19:21 ]
Заголовок сообщения:  Re: Хитрые макросы

Это для прайма, отображение ярости просто цифиркой, Хорс просил :)

Автор:  FallenAngel [ 08 апр 2017, 01:34 ]
Заголовок сообщения:  Re: Хитрые макросы

Макрос на уничтожение вещей, вписываете название, жмем и чистый инвентарь :) Будьте аккуратны, нет подтверждений и уничтожает все и сразу
Код:
script droplist = {}
script droplist["Puppet: Faceless Man"] = true
script droplist["Puppet: Tasuil"] = true
script droplist["Bogling Snowman"] = true
script droplist["Holiday Snowman"] = true
script droplist["Snowman"] = true
script droplist["Satyr Snowman"] = true
script droplist["Green Light of Yule"] = true
script droplist["Puppet: Dacia"] = true
script droplist["Blue Light of Yule"] = true
script droplist["Red Light of Yule"] = true
script droplist["Yellow Light of Yule"] = true
script droplist["Puppet: Fae Yule Caroller"] = true
script droplist["Puppet: Fae Yule Spirit Singer"] = true
script local items = Inspect.Item.Detail(Utility.Item.Slot.Inventory()) if items ~= nil then for k, v in pairs(items) do if droplist[v.name or ""] then pcall(Command.Item.Destroy, v.id) end end end

Автор:  FallenAngel [ 14 окт 2017, 13:26 ]
Заголовок сообщения:  Re: Хитрые макросы

Все забываю написать, сделайте все макрос на самоубийство, весьма полезная штука для быстрого вайпа, или например когда надо полутать сумочку с рифт-лутом без риска слутать ее всю. Для ачив-рейдов наличие макроса является обязательным требованием.

Прописав первую строчку на show Soul Walk вы будете видеть кд на него, да и иконка подходящая :)

Код:
#show Soul Walk
cast Last Resort

Автор:  FallenAngel [ 21 янв 2018, 14:06 ]
Заголовок сообщения:  Re: Хитрые макросы

Про второй вариант самоубийства: Деп прости, был не прав, я исполнил все через одно место и поэтому у меня не заработало, тебе спасибо за идею :)

Немного теории: для того чтобы можно было вставать прямо на месте, без телепорта к реальному кладбищу, вам надо отвязаться от кладбища. Идея состоит в том, чтобы привязаться к кладбищу, которое временное и исчезнет, сделать это можно в родном дименшене. Инстанс вашего дименшена существует после первого входа туда и до момента релога, соответственно и кладбище так же. Привязка осуществляется при помощи нажатия кнопки Respawn при смерти, и никак иначе, бег около кладбищ или разговор с медиком никак вас не привязывают.

Итак, практика:
1. портуемся в дименшен
2. убиваемся при помощи Last Resort
3. встаем через Respawn
4. выходим из дименшена
5. релогаемся

Ну и собственно сама абилка
Код:
cast Incorporeal


P.S. тут есть некий диссонанс, что вроде как в рейде мы нажимаем респаун и встаем у входа, но привязка не осуществляется, ну видимо это особенность инстанса дименшена, что там все-таки реальное кладбище есть

P.P.S. сие работает не со всеми дименшенами, на данный момент известно, что не работает с Octus Monastery

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/