Модератор форума: staford11  
Использование Lua скриптов.
Feor2
Скаут
Существует ли скрипт на ловлю блаинда ванишем? или швд блаинда/скатера и тд. копался на овнедкор нашел такое:
if sourceGUID == UnitName("target") then
if spellname==("Blind") then
RunTextMacro ("/cast Vanish(Rank 3)")
end
end
end

но сразу идет луа ошибка

и еще натолкнулся на такое видео: http://www.youtube.com/watch?v=Osw5lz1Gqok
Сообщение # 31 отредактировано Feor2 - Четверг, 10.07.2014, 07:26
tobmaps
Капрал
Цитата Feor2 ()
копался на овнедкор нашел такое:

Цитата Feor2 ()
но сразу идет луа ошибка

Это только часть скрипта.

Цитата Feor2 ()
и еще натолкнулся на такое видео:

Даже если допустить возможность что оно работает где-либо кроме того сервера - оно будет пофиксено как только выплывет в паблик.
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 32 написано 10.07.2014 в 07:37
Feor2
Скаут
Цитата tobmaps ()
Это только часть скрипта.

и где тогда взять другую часть?
Цитата tobmaps ()
Даже если допустить возможность что оно работает где-либо кроме того сервера - оно будет пофиксено как только выплывет в паблик.

это ат. Был там недавно, так там прист сап юзал, уже ничего не удивляет
Сообщение # 33 написано 10.07.2014 в 07:48
sess
Скаут
привет
помогите со скриптами
1. если на кого-то в рейде (включая петов) вешается дебаф "Пылающий огонь" использовать рассеивание заклинаний на ту цель
2. если у кого-то в рейде или у пета в рейде меньше 70% хп, то быстрое исцеление (сначала проверить рейд, потом-петов)
в идеале приоритет был бы
1)у кого в рейде меньше 40% 2)у кого из петов меньше 40% 3)у кого в рейде меньше 70% потом 4)у кого из петов меньше 70%
но это, кажется, для профи луа)
в целом очень интересует именно как запихнуть петов в список целей для проверки
Сообщение # 34 написано 10.07.2014 в 12:24
Rempage934
Скаут
мне нужен скрипт на автокик для дк , что бы сбивал каст в конце каста а не в начале , такой есть ? помогите очень нужно

Добавлено (10.07.2014, 14:38)
---------------------------------------------

Цитата DiSq ()
а) Написать самому.
б) Изложить идею для реализации тут, в доступной, простой форме, желательно со ссылками и полными названиями спелов и может быть я что-то сделаю, либо кто-то другой.

Мне надо что бы дк выдавал больше дпса , возможно написать какой нибудь скрипт такой на спелы ? если это возможно конечно !
Сообщение # 35 написано 10.07.2014 в 14:38
Feor2
Скаут
Цитата Rempage934 ()
мне нужен скрипт на автокик для дк , что бы сбивал каст в конце каста а не в начале , такой есть ? помогите очень нужно


Цитата DiSq ()
AutoKick = CreateFrame("Frame", "AutoKick", UIParent);
AutoKick:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
AutoKick:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
     local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")     
     if spell then         
      local finish = endTime/1000 - GetTime()     
      if finish <= 0.6 then     
       if interrupt == false then     
       local enabled = GetSpellCooldown("Заморозка разума")     
        if enabled == 0 then     
        inRange = IsSpellInRange("Заморозка разума", "target")     
         if inRange==1 then     
          RunMacroText("/cast Заморозка разума")     
         end     
        end     
       end     
      end     
     end
end
end)

в строке IF FINISH <=0.6 then 0.6 это время до конца окончания каста. т.е за это время до конца он собьет каст
Сообщение # 36 написано 10.07.2014 в 16:32
Rempage934
Скаут
Слушай , а можно сделать скрипт , на локовский диспел ( пожирание магии) , что бы снимал именно эффекты подчинения ( шип,фир) , и скрипт на сбив тотема трепета ожогом тьмы или автоатакой собаки?
Сообщение # 37 написано 10.07.2014 в 17:15
multimedia
Скаут
Цитата Rempage934 ()
Слушай , а можно сделать скрипт , на локовский диспел ( пожирание магии) , что бы снимал именно эффекты подчинения ( шип,фир) , и скрипт на сбив тотема трепета ожогом тьмы или автоатакой собаки?

Мне бы тоже эти скрипты, только чтобы пет убивал тремор, как только он появится.
Сообщение # 38 написано 11.07.2014 в 17:48
DiSq
Рыцарь
Нельзя на 3.3.5 брать в цель скриптами\макрасами тотемы, только по mouseover. Видимо где-то в клиенте эта часть зарыта и без изменений в нем не обойтись, хотя возможно это и серверная часть. Опыта в таких делах мало, сунулся в интерфейс близов, а там все файлы сравниваются по хэш суммам и любое изменение в любом файле не даст клиенту запуститься.
Сообщение # 39 написано 11.07.2014 в 22:01
Feor2
Скаут
есть функция пета http://wowprogramming.com/docs/api/TargetTotem но она защищена
есть самый простой способ сбивать тотемы
1)сделать макрос вида:
/target Тотем
/petattack
/targetlasttarget
2)записать его в скрипт через runmacro
и сделать что бы скрипт всегда был активен(как, например, автокик)
Сообщение # 40 написано 11.07.2014 в 22:42
DiSq
Рыцарь
Правильней наверное было бы создавать все скрипты с параметром "OnUpdate" во фрейме.

Frame:SetScript("OnUpdate", function)
Сообщение # 41 отредактировано DiSq - Суббота, 12.07.2014, 02:01
didjeypvpdk
Wrathful gladiator
хайд хотя бы 200 поставь
Сообщение # 42 написано 12.07.2014 в 05:00
Feor2
Скаут
1)протестил тотемы, на АТ работает /target ТОТЕМ, на циркуле не работает не одна извесная мне команда для взятия тотема в таргет даже через циклы.
2)
AutoKick = CreateFrame("Frame", "AutoKick", UIParent);
AutoKick:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
AutoKick:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")
if spell then
if interrupt == false then
local enabled = GetSpellCooldown("Shield Bash")
if enabled == 0 then
inRange = IsSpellInRange("Shield Bash", "target")
if inRange==1 then
RunMacro("BASH")
end
end
end
end
end
end)

Макрос BASH
#showtooltip Shield Bash
/cancelaura Bladestorm
/equip 1hd
/equip shield
/cast Shield Bash

3)
/run if GetSpellCooldown("Shield Bash")==0 and IsSpellInRange("Shield Bash","target") and (UnitCastingInfo("target") or UnitChannelInfo("target")) and (not UnitBuff("target", "Aura Mastery")) and (not UnitBuff("target", "Divine Shield")) then RunMacro("BASH") end

*2 сбивает всегда, когда цель кастует. запускать через /sdm run NAME
**NAME - имя скрипта в sdm
***3 сбивает при нажатии
**** Скрипты не тестил, копипаст с автора темы, немного изменил под воина)
Сообщение # 43 отредактировано Feor2 - Суббота, 12.07.2014, 05:35
Feor2
Скаут
Сейчас тестану
-------------------------------
тестанул, у меня все работает исправно
-------------------------------
1. качаем Гагарина(ссылка у автора темы в начале)
2. запускаем WOW
3.запускаем гагарина
4.выбираем процесс
5.жмем attach
6.создаем в sdm скрипт(когда нажимаешь new надо поставить галочку на слове script)

AutoKick = CreateFrame("Frame", "AutoKick", UIParent);
AutoKick:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
AutoKick:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")
if spell then
if interrupt == false then
local enabled = GetSpellCooldown("Shield Bash")
if enabled == 0 then
inRange = IsSpellInRange("Shield Bash", "target")
if inRange==1 then
RunMacro("BASH")
end
end
end
end
end
end)

7. создаем макрос BASH
#showtooltip Shield Bash
/equip 1hd
/equip shield
/cast Shield Bash

8. пишем /sdm run script_name
--------------------------------------------
если совсем не работает сбивай памелом

AutoKick = CreateFrame("Frame", "AutoKick", UIParent);
AutoKick:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
AutoKick:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")
if spell then
if interrupt == false then
local enabled = GetSpellCooldown("Pummel")
if enabled == 0 then
inRange = IsSpellInRange("Pummel", "target")
if inRange==1 then
RunMacro("BASH")
end
end
end
end
end
end)

BASH
/cast berserker stance
/cast pummel
Сообщение # 44 отредактировано Feor2 - Суббота, 12.07.2014, 05:54
Feor2
Скаут
скинь мне в лс свой пак я скорее всего придумаю что можно подредактировать там что бы работало все на бизе. сейчас я допишу макрос с баблом и мастер аурой и выложу. у самого много чаров на бизе затестить смогу думаю

Добавлено (12.07.2014, 06:07)
---------------------------------------------

Цитата Stubbzero ()
FEOR2,Можешь посоветовать нормальный анлокер lua?

гагарин, на циркуле пашет по крайне мере

Добавлено (12.07.2014, 06:12)
---------------------------------------------
1)для баша, где макрос BASH эт equip 1hd+bash+cast bash

AutoKick = CreateFrame("Frame", "AutoKick", UIParent);
AutoKick:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
AutoKick:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")
if spell then
if interrupt == false then
local enabled = GetSpellCooldown("Shield Bash")
if enabled == 0 then
inRange = IsSpellInRange("Shield Bash", "target")
if inRange==1 then
if not UnitBuff("target", "Aura Mastery") then
if not UnitBuff("target", "Divine Shield") then
RunMacro("BASH")
end
end
end
end
end
end
end
end)

2) для памела, где макрос BASH /cast berserker stance /cast pummel

AutoKick = CreateFrame("Frame", "AutoKick", UIParent);
AutoKick:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
AutoKick:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target")
if spell then
if interrupt == false then
local enabled = GetSpellCooldown("Pummel")
if enabled == 0 then
inRange = IsSpellInRange("Pummel", "target")
if inRange==1 then
if not UnitBuff("target", "Aura Mastery") then
if not UnitBuff("target", "Divine Shield") then
RunMacro("BASH")
end
end
end
end
end
end
end
end)

Сообщение # 45 написано 12.07.2014 в 06:12
Rempage934
Скаут
Цитата Feor2 ()
1)протестил тотемы, на АТ работает /target ТОТЕМ.

работает без всяких скриптов , ахах)

Добавлено (12.07.2014, 09:43)
---------------------------------------------
Цитата Rempage934 ()
работает без всяких скриптов , ахах)

хм , сбивается ближайший тотем , а нужен тремор
Сообщение # 46 отредактировано Rempage934 - Суббота, 12.07.2014, 09:46
multimedia
Скаут
Можно ли сделать макрос, чтобы пет диспелил фир/шип/сало, даже при пресутсвии левых дотов и стаков мага?
Сообщение # 47 написано 12.07.2014 в 10:26
tobmaps
Капрал
Даю ещё пример как можно автоматизировать юз спеллов. Ваш вар наденет щит + одноруч, войдет в деф стойку и сделает глухую оборону, затем как баф пройдет - вернется в Боевую стойку и оденет двуручку. В данном примере вар это сделает если его хп упадут ниже 30%, условие легко поменять на любое другое! Также можно на кнопку макросом, см ниже.


По аналогии можно сделать например следующее:
1) автокик: овер, паммел или шилд баш с прыжком в деф стойку и обратно
2) рефлект
3) прыжок в берс стойку (+урон) для БШ с одновременным включением реклы и с обратным переходом после БШ
4) интервен для прыжка на близжайшего союзника или по таргету с прыжком в стойку и последующим выходом из неё. Причем если грамотно проставить условия то кнопку можно спамить пока не попадется подходящий союзник
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 48 отредактировано tobmaps - Суббота, 12.07.2014, 13:12
Ланс
Сержант
Нужен скрипт который будет использовать способность - при определенных дебафф
Сообщение # 49 написано 13.07.2014 в 14:57
light117
Рыцарь
Цитата Ланс ()
Нужен скрипт который будет использовать способность - при определенных дебафф

В первом посту же было тринкет на определенные дебафы, просто заменяешь тринкет на определенный спелл:
Deduff = CreateFrame("Frame", "DeBuffFrame", UIParent);
Deduff:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
Deduff:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
if UnitDebuff("player","Указать гадость(дэбаф)") or UnitDebuff("player","Указать гадость(дэбаф)") then
local enabled = GetItemCooldown("Медальон Орды")
if enabled == 0 then
RunMacroText("/use Медальон орды")
end
end
end
end)

Добавлено (13.07.2014, 18:24)
---------------------------------------------
Есть скрипт, чтобы пет дк ловил трапу с мейтов?

Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 50 написано 13.07.2014 в 18:24
Ланс
Сержант
Цитата light117 ()
В первом посту же было тринкет на определенные дебафы, просто заменяешь тринкет на определенный спелл:
Deduff = CreateFrame("Frame", "DeBuffFrame", UIParent);
Deduff:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
Deduff:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="COMBAT_LOG_EVENT_UNFILTERED") then
if UnitDebuff("player","Указать гадость(дэбаф)") or UnitDebuff("player","Указать гадость(дэбаф)") then
local enabled = GetItemCooldown("Медальон Орды")
if enabled == 0 then
RunMacroText("/use Медальон орды")
end
end
end
end)

Он почему то только триню юзает
Сообщение # 51 отредактировано Ланс - Понедельник, 14.07.2014, 00:23
Rempage934
Скаут
Можно написать скрипт зеленку на дк что б сама юзалась когда у тебя лоу xp ?
Сообщение # 52 написано 14.07.2014 в 03:32
DiSq
Рыцарь
Проявите хоть немного интереса. Вот в 1-м посту

Цитата DiSq ()
Скрипт чисто для фана, к примеру на БГ. Кастует бабл если ХП опустилось ниже 1000(можно изменить)
Код
HealthFrame = CreateFrame("Frame", "HealthF", UIParent);
HealthFrame:RegisterEvent("UNIT_HEALTH");
HealthFrame:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="UNIT_HEALTH") then
     if arg1 == "player" then
      local health = UnitHealth("Player")
      if health <= 1000 then
       RunMacroText("/cast Божественный щит")
      end
     end
end
end)


 RunMacroText("/cast Божественный щит") меняем на RunMacroText("/cast Антимагический панцирь") или если у вас проблемы с разблокировкой то - CastSpellByName("Антимагический панцирь")

и в 6-й строке указываем нужное количество ХП или же поступаем следующим образом:
Дописываем % часть 4-мя строками, их вставляем заместо 6-й и 7-й строк

Код

health = UnitHealth("player")
healthMax =  UnitHealthMax("player")
percentHealth = health * 100 /  healthMax
if percentHealth <=5 then


теперь мы можем указывать проценты(5)

Готовый вариант:

Код
HealthFrame = CreateFrame("Frame", "HealthF", UIParent);  
HealthFrame:RegisterEvent("UNIT_HEALTH");  
HealthFrame:SetScript("OnEvent", function(self, event, arg1, arg2, ...)  
if(event=="UNIT_HEALTH") then  
  if arg1 == "player" then  
   health = UnitHealth("player")
   healthMax =  UnitHealthMax("player")
   percentHealth = health * 100 /  healthMax
   if percentHealth <= 5 then  
    CastSpellByName("Антимагический панцирь")  
   end  
  end  
end  
end)
Сообщение # 53 написано 14.07.2014 в 12:41
Just_Owen
Капрал
Ребят нужен скрипт на Дизарм (тоесть когда вар крутиться ) я его не брал в фрейм (фокус) и дизарм кидался в 1сек , реал это сделать?
Скайп Apokalipcic1
Сообщение # 54 написано 14.07.2014 в 14:42
light117
Рыцарь
Есть скрипт, чтобы пет дк ловил трапу с мейтов?
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 55 написано 14.07.2014 в 17:00
DiSq
Рыцарь
Цитата Just_Owen ()
Ребят нужен скрипт на Дизарм (тоесть когда вар крутиться ) я его не брал в фрейм (фокус) и дизарм кидался в 1сек , реал это сделать?


Если для арены то
Код
function BuffSrc(self)
   for i = 1, 5 do   
   enabled = GetSpellCooldown("Долой оружие")
   inRange = IsSpellInRange("Долой оружие", "focus")
   if UnitBuff("arena"..i, "Вихрь клинков") and enabled == 0 and inRange == 1 then   
    CastSpellByName("Долой оружие", "arena"..i)
   end
   end
end

CreateFrame("Frame", "frameB")
frameB:SetScript("OnUpdate", BuffSrc)


Если же для всего мира, то нужно немного посидеть и покрапеть над кодом.



Добавлено (14.07.2014, 17:56)
---------------------------------------------
Цитата light117 ()
Есть скрипт, чтобы пет дк ловил трапу с мейтов?

"Игроки" такие "игроки". Каким образом? Опиши процесс, что ты делаешь руками чтобы поймать трапу.
Сообщение # 56 отредактировано DiSq - Понедельник, 14.07.2014, 19:02
light117
Рыцарь
/cast [target=party1] (party2) Прыжок
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 57 написано 14.07.2014 в 18:50
Feor2
Скаут
Скрипт

Макрос Leap


*Вам осталось лишь зациклить его, т.е он будет при нажатии проверять всех персонажей в пати на наличие скатера на них и прыгать на них, но это лишь один из способов кинуть трапу, зато самый распространенный
Сообщение # 58 отредактировано Feor2 - Понедельник, 14.07.2014, 19:06
donvladon
Скаут
Цитата DiSq ()
Нельзя на 3.3.5 брать в цель скриптами\макрасами тотемы, только по mouseover. Видимо где-то в клиенте эта часть зарыта и без изменений в нем не обойтись, хотя возможно это и серверная часть. Опыта в таких делах мало, сунулся в интерфейс близов, а там все файлы сравниваются по хэш суммам и любое изменение в любом файле не даст клиенту запуститься.

В SuperDuperMacro создаем script и назовем его Tremor
В скрипте пишем:



Теперь создаем macros для вызова этой "минипрограммы" и пишем в нем:

________________________________________________
Если мы подбежали к тремору, то можно 1 раз нажать на макрос и он сразу его собьет. Если находимся не рядом, то в таргет будет браться любой enemy и он НЕ будет стукнут автоатакой. НО если клацать макрос, то каждый раз таргетится новый враг и из условия until (UnitName("target") == "Тотем трепета") таргет перестанет меняться при нажатии сразу как этим врагом будет тремор. i добавил для того, чтобы выходили из цикла и игра не висла.
Всю эту байду можно засунуть в один обыкновенный макрос, который работает получше...
P.S. Как-то получилось написать одним макросом так, что тремор сразу таргетится даже находясь среди других тотемов, но этот макрос нужно было ctrl+c ctrl+v в чат, а если тупо нажимать то не пахало. Вообще не понял из-за чего так работает wacko (если будет нужно, то попробую восстановить)
Сообщение # 59 отредактировано donvladon - Понедельник, 14.07.2014, 20:00
light117
Рыцарь
Цитата Feor2 ()
*Вам осталось лишь зациклить его, т.е он будет при нажатии проверять всех персонажей в пати на наличие скатера на них и прыгать на них, но это лишь один из способов кинуть трапу, зато самый распространенный

Может немного глупо, но как его зациклить?) В идеях только автокликер, но это ведь не вариант)
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 60 написано 14.07.2014 в 19:44
Поиск: