Модератор форума: staford11 |
Форум Хитрости Пиратских серверов Читы для WoW Использование Lua скриптов. |
Использование Lua скриптов. |
Код SpellBase = {"Ментальный крик"} SpellFrame = CreateFrame("Frame", "FrameSpell", UIParent); SpellFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED"); SpellFrame:SetScript("OnEvent", function(self, event, arg1, arg2, ...) if(event=="COMBAT_LOG_EVENT_UNFILTERED") then for s = 1,#SpellBase do local name = UnitName("player") if arg2 == "SPELL_CAST_SUCCESS" and name ~= arg4 and name == arg7 and arg10 == SpellBase [s]then local enabled = GetSpellCooldown("Тотем трепета") if enabled == 0 then CastSpellByName("Тотем трепета") print(arg1,arg2,...) end end end end end)SpellBase = {"Ментальный крик"} SpellFrame = CreateFrame("Frame", "FrameSpell", UIParent); SpellFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED"); SpellFrame:SetScript("OnEvent", function(self, event, arg1, arg2, ...) if(event=="COMBAT_LOG_EVENT_UNFILTERED") then for s = 1,#SpellBase do local name = UnitName("player") if arg2 == "SPELL_CAST_SUCCESS" and name ~= arg4 and name == arg7 and arg10 == SpellBase [s]then local enabled = GetSpellCooldown("Тотем трепета") if enabled == 0 then CastSpellByName("Тотем трепета") print(arg1,arg2,...) end end end end end) Что здесь не так? Или совершенно по другому писать нужно? Помогите пожалуйста!(
Сообщение # 1622 написано 28.04.2016 в 23:23
|
SpellBase = {"Ментальный крик"}
SpellFrame = CreateFrame("Frame", "FrameSpell", UIParent); SpellFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED"); SpellFrame:SetScript("OnEvent", function(self, event, arg1, arg2, ...) if (event=="COMBAT_LOG_EVENT_UNFILTERED") then for s = 1,#SpellBase do local name = UnitName("player") if arg2 == "SPELL_CAST_SUCCESS" and name ~= arg4 and name == arg7 and arg10 == SpellBase then local enabled = GetSpellCooldown("Тотем трепета") if enabled == 0 then CastSpellByName("Тотем трепета") end end end end end) Чуток подправил. Знаю што "Ментальный крик" ето АОЕ скил, можети не сработать скрипт. На 5.4.8 при фире шаман может поставить тотем. Может можна и для раних версий ВОВ. |
Код local f=CreateFrame("Frame","f") f:RegisterEvent("UNIT_ENERGY") f:SetScript("OnEvent", function() cheat() end) local enabled = false SLASH_VANISH1 = "/vanish" local lastEnergy = 0 function cheat() if (enabled) then if UnitPower("target") < lastEnergy and (UnitIsEnemy("player","target")) then CastSpellByName("Исчезновение") end lastEnergy = UnitPower("target") end end SlashCmdList["VANISH"] = function(msg) if msg == "enable" then enabled = true elseif msg == "disable" then enabled = false else print("wrong command bre: use enable or disable") end end Что делает этот скрипт? обьясните)
Сообщение # 1626 написано 01.05.2016 в 10:01
|
парни помогите плз со скриптом. Как сделать чтобы шаман чекал арена 1 2 3 фреймы и если допустим кастуют циклон то ставил граундинг в конец каста
function Reflekt(self, elapsed) local spell, , , , , endTime, , , interrupt = UnitCastingInfo("arena1", "arena2", "arena3") if spell == "Сглаз" or spell == "Превращение" or spell == "Смерч" or spell == "Выброс лавы" or spell == "Стрела Хаоса" then if name == myname then local finish = endTime/1000 - GetTime() if finish <= 0.4 then SpellStopCasting() CastSpellByName("Тотем заземления", "arena1", "arena2", "arena3") end end end end end CreateFrame("Frame", "ReflektFrame") ReflektFrame:SetScript("OnUpdate", Reflekt) не работает
Сообщение # 1627 написано 01.05.2016 в 11:16
|
парни помогите плз со скриптом. Как сделать чтобы шаман чекал арена 1 2 3 фреймы и если допустим кастуют циклон то ставил граундинг в конец каста function Reflekt(self, elapsed) local spell, , , , , endTime, , , interrupt = UnitCastingInfo("arena1", "arena2", "arena3") if spell == "Сглаз" or spell == "Превращение" or spell == "Смерч" or spell == "Выброс лавы" or spell == "Стрела Хаоса" then if name == myname then local finish = endTime/1000 - GetTime() if finish <= 0.4 then SpellStopCasting() CastSpellByName("Тотем заземления", "arena1", "arena2", "arena3") end end end end end CreateFrame("Frame", "ReflektFrame") ReflektFrame:SetScript("OnUpdate", Reflekt) не работает function Reflekt(self, elapsed) local spell1, _, _, _, _, endTime1 = UnitCastingInfo("arena1") local spell2, _, _, _, _, endTime2 = UnitCastingInfo("arena2") local spell3, _, _, _, _, endTime3 = UnitCastingInfo("arena3") if spell1 == "Сглаз" or spell1 == "Превращение" or spell1 == "Смерч" or spell1 == "Выброс лавы" or spell1 == "Стрела Хаоса" or spell2 == "Сглаз" or spell2 == "Превращение" or spell2 == "Смерч" or spell2 == "Выброс лавы" or spell2 == "Стрела Хаоса" or spell3 == "Сглаз" or spell3 == "Превращение" or spell3 == "Смерч" or spell3 == "Выброс лавы" or spell3 == "Стрела Хаоса" then local finish1 = endTime1/1000 - GetTime() local finish2 = endTime2/1000 - GetTime() local finish3 = endTime3/1000 - GetTime() if finish1 <= 0.4 or finish2 <= 0.4 or finish3 <= 0.4 then SpellStopCasting() CastSpellByName("Тотем заземления") end end end CreateFrame("Frame", "ReflektFrame") ReflektFrame:SetScript("OnUpdate", Reflekt)
Сообщение # 1628 написано 01.05.2016 в 11:30
|
Kieg, бро не пашет , помоги пожалуйста чтобы работал сделать. Как я только не пробовал , я уже не знаю к кому и обратиться.
Добавлено (01.05.2016, 15:31)
Сообщение # 1629 написано 01.05.2016 в 15:31
|
Нужен скрипт пве ротация на анхоли дк или фроста!!! В ПВЕ! 3.3.5. Оплата бонусами на вовцирциль любую шмотку есть 550 бонусов. Пишите в личку либо сюда. Нужен скрипт пве ротация на анхоли дк или фроста!!! В ПВЕ! 3.3.5. Оплата бонусами на вовцирциль любую шмотку есть 550 бонусов. Пишите в личку либо сюда. Нужен скрипт пве ротация на анхоли дк или фроста!!! В ПВЕ! 3.3.5. Оплата бонусами на вовцирциль любую шмотку есть 550 бонусов. Пишите в личку либо сюда. Напишу для фроста под свою прогу без всяких анлокеров которые меняют память процесса,с тебя 32 битный клиент и время на тестирование в игре Добавлено (04.05.2016, 15:05) --------------------------------------------- porabetazz () Возможно ли сделать скрипт для шп, который проверял бы сколько осталось на цели до окончания действия доты Прикосновение вампира и если осталось меньше 1 сек., то начинал бы кастовать снова эту доту? http://wowprogramming.com/docs/api/UnitBuff expires local controlled_=0; local namelo_,_,_,_,_,durationlo_,expirationTime=UnitAura('target','Прикосновение вампира', nil, "PLAYER|HARMFUL"); if name_=='Прикосновение вампира' then if expirationTime_-GetTime()>1 then controlled_=1 end end if controlled_==0 then нажимаем на кнопочку Прикосновения вампира end Добавлено (04.05.2016, 15:38) --------------------------------------------- leenks Скаут Репутация: -7 имеется скрипт на кик в 0.1 до конца каста можно ли сделать еще 1 макрос чтобы кикал потоковые спелы в 0.1 начала и чтобы они не мешали друг другу? 1й макрос брал с 1й страницы на защиту каста Добавлено (04.05.2016, 15:30) --------------------------------------------- function Kick(self, elapsed) local t='target' local s_channel, _, _, _, sstart_channel, tend_channel = UnitChannelInfo(t); local enabled = GetSpellCooldown("Заморозка разума") local inRange = IsSpellInRange("Заморозка разума", t) if s_channel and enabled == 0 and inRange == 1 and (UnitBuff(t,'Сила духа')==nil and UnitBuff(t,'Мастер аур')==nil and UnitBuff(t,'Длань защиты')==nil and UnitBuff(t,'Божественный щит')==nil and UnitBuff(t,'Внутреннее сосредоточение')==nil) then if (GetTime() - sstart_channel/1000)>0.1 then RunMacroText("/cast Заморозка разума") end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick) скрипт на кик потокового спела на 1 странице очень плохой скрипт,учет только 1 цели и без проверки на имунитет к сбитию кастов,и за кик каста в 0.1 получишь бан если запишут на видео под конец каста и не раньгше нескольких милисек от начала чтобы не получить бан пишем так local s, _, _, _, sstart, tend = UnitCastingInfo(t); if (tend/1000 - GetTime())<0.8 and (GetTime() - sstart/1000)>0.7 then // сбитие каста будет в промежутке 0.7 от начала,и не раньше за 0.8 до окончания нажимаем на кнопку end Добавлено (04.05.2016, 16:04) --------------------------------------------- PaulDousen ()Для этого нужно парсить сообщния об ошибках в игре, и дальше уже состовлять условие использования PaulDousen, привет)) Очень понравилась идея cheburator2000, сам играю за ферала и хотелось бы сделать макрос аналогичный макросу cheburator2000, только со скилами Полоснуть и Увечье... С таким ещо не сталкивался и опыта не много имею в таких макросах(( Не мог бы ты пожалуйста написать макрос..=) Ну или скинуть хоть какие то шаблоны или наработки...)) реализовано по типу если скрипт пытается нажать на кнопку несколько раз подряд то это означает что цель за текстурой или не может быть атакована этим спелом. -------проверка на текстуры,местоположение----глобальные переменные na1=0; na2=0; na3=0; np1=0; np2=0; nback=0; a1=0; a2=0; a3=0; p1=0; p2=0; back=0; -------функции блокировки разблокировки спела function unblock() if a1-GetTime()<0 then a1=0 end if a2-GetTime()<0 then a2=0 end if a3-GetTime()<0 then a3=0 end if p1-GetTime()<0 then p1=0 end if p2-GetTime()<0 then p2=0 end if back-GetTime()<0 then back=0 end end function block(key) if key~=100 then if key==23 or key==26 then ------a1 na1=na1+1; if na1>5 then a1=GetTime()+3; na1=0; end else na1=0; end if key==24 or key==27 then -------a2 na2=na2+1; if na2>5 then a2=GetTime()+3; na2=0; end else na2=0; end if key==25 or key==28 then --------a3 na3=na3+1; if na3>5 then a3=GetTime()+3; na3=0; end else na3=0; end if key==29 or key==31 or key==33 or key==35 or key==37 or key==39 then -------p1 np1=np1+1; if np1>5 then p1=GetTime()+3; np1=0; end else np1=0; end if key==20 or key==32 or key==34 or key==36 or key==38 or key==30 then -------p2 np2=np2+1; if np2>5 then p2=GetTime()+3; np2=0; end else np2=0; end if key==51 then -------back например если спелл удар в спину скрипт вытается выполнить раз 5 подряд nback=nback+1; if nback>5 then back=GetTime()+1; nback=0; end else nback=0; end end end --func ----в событии onupdate function CombatEnter(...) if start==1 then var2=100; unblock(); --- start code--------- var2=Start(var2); возвращает последнюю нажатую клавишу ----end code-------- block(var2); end end Добавлено (05.05.2016, 13:43) |
Привет всем. Хочу спросить совет у знающих, как реализовать правильно проверку на каст таргета и фокуса в 1 зацикленном скрипте, потом добавить действие к нему 1. castspellbyname на таргет и 2. runmacrotext на фокус. Ещё, как объединить 2 скрипта на разные действия, к примеру кик и рефлект, какие условия нужны для того, чтобы: в мили зоне если кик не на кд, кд рефлекта не имеет значения, юзался кик, если кик в кд, юз рефлект, в ренж зоне - кд кика не имеет значение, приоритет идёт на рефлект, всё никак не могу разобраться, что именно нужно указывать. Нужен именно совет по условиям куда как и что, и ещё, допустим в 1 фрейме можно сделать 2 скрипта с разных фреймов, если после 1 скрипта сделать end end и начать новый скрипт и закрыть всё это 4 end, и если да, то какие нюансы в этом есть?
Сообщение # 1633 написано 05.05.2016 в 17:59
|
ReaverDay, можно один длинный сделать, либо несколько отдельных скриптов. На счет приоритета нужно добавлять такие условия:
В скрипте рефлекта указать колдаун кика, то есть если рефлект доступен, а кик нет, тогда юзается рефлект. Если условия соблюдены тогда будет юзаться рефлект, если кик не на кд то этот скрипт не сработает. В это время сработает обычный скрипт на кик |
Всем привет) Играю на WoW Circle 3.3.5
В скриптах полное дно,но очень хотел бы попробовать. Играю варом и хотел бы поставить себе авто рефлект и автокик,ну и ознакомиться с какими скриптами еще играют вары. Читал некоторые страницы этой темы,видел коды. Но совершенно не имею представления что и как нужно сделать,чтобы поставить скрипт и он работал. Очень прошу чтобы с 0 поэтапно если можно расписали что нужно,что качать,куда вставлять)) Буду нереально благодарен этому человеку)
Сообщение # 1635 написано 06.05.2016 в 18:49
|
на первой странице написаны аддоны,которые заблочены на сервере,а при попытке скачивания и ренейма выходит неудача,т.к. на 48 стр. описано как правильно делать ренейм,но у меня в аддоне SDM нет файла .xml т.о. я не могу полноценно сделать ренейм и аддон просто не работает. Я пробовал сам разобраться,но испытав неудачу обратился за помощью Скинули аддон SDM но не очень понятно что делать чтобы сделать скрипт Добавлено (07.05.2016, 15:25) |
chaosway ()на первой странице вроде как расписано на первой странице написаны аддоны,которые заблочены на сервере,а при попытке скачивания и ренейма выходит неудача,т.к. на 48 стр. описано как правильно делать ренейм,но у меня в аддоне SDM нет файла .xml т.о. я не могу полноценно сделать ренейм и аддон просто не работает. Я пробовал сам разобраться,но испытав неудачу обратился за помощью Скинули аддон SDM но не очень понятно что делать чтобы сделать скрипт Добавлено (07.05.2016, 15:25) --------------------------------------------- сейчас решил протестировать работу аддона,зашел за дк и взял код скрипта на сбитие каста с 1ой страницы. Нажал New,выбрал Script,назвал его,вставил код. Прописал /sdm run Kick(так я назвал) далее в меня кастует маг,но ничего не сбивается есть рабочее SDM
Сообщение # 1640 написано 08.05.2016 в 13:14
|
Здравствуйте еще раз. Помогите, пожалуйста, мне слегка переделать готовый скрипт.
Код /run local f=CreateFrame("Frame","LBSTF")f:SetScript("OnUpdate",function(self)if IsMouseButtonDown(2)and IsMouselooking()then MouselookStart()end end) Данный скрипт блокирует выделение игровых объектов левым кликом мыши. Пытался переписать, чтобы не реагировал на правый клик. На wowprogramming написано: 1 or LeftButton - Primary mouse button 2 or RightButton - Secondary mouse button Но если в скрипте написать IsMouseButtonDown(1), он все равно не дает желаемого результата. Я искренне пытаюсь понять, что не так, посему прошу вашей помощи.
Сообщение # 1641 написано 08.05.2016 в 19:05
|
Нужно подкорректировать рабочий скрипт
Код if GetSpellCooldown("Удар щитом")==0 and IsSpellInRange("Удар щитом","target") and (UnitCastingInfo("target") or UnitChannelInfo("target")) and (not UnitBuff("target", "Мастер аур")) and (not UnitBuff("target", "Божественный щит")) then RunMacro("BASH") end Автокик,как и надо,не дается в мастер аур и бабл,но когда я юзаю бш и цель кастует,то меняются пушки с шм на т1+щит Пытался решить проблему вписав Код and (not UnitBuff("player", "Вихрь клинков")) но не робит. Как сделать так чтобы на бш при касте таргет не менялись пушки?
Сообщение # 1642 написано 09.05.2016 в 11:23
|
function Kick(self, elapsed)
local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Çóáîòû÷èíà") local inRange = IsSpellInRange("Çóáîòû÷èíà", "target") if spell then if interrupt == false and enabled == 0 and inRange == 1 then RunMacro("õûõ") end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick) Почему такой автокик не кикает в пенанс?
Сообщение # 1646 написано 09.05.2016 в 17:59
|
Либо сделай скрипт второй, типа if UnitBuff("player", "Вихрь клинков") then RunMacro ("Twohand") сделал, все равно переодевает на касте пушки и со щитом крутит,есть еще идеи или кто то другой еще мб поможет? Добавлено (09.05.2016, 19:52) Нужно подкорректировать рабочий скрипт Код if GetSpellCooldown("Удар щитом")==0 and IsSpellInRange("Удар щитом","target") and (UnitCastingInfo("target") or UnitChannelInfo("target")) and (not UnitBuff("target", "Мастер аур")) and (not UnitBuff("target", "Божественный щит")) then RunMacro("BASH") end Автокик,как и надо,не дается в мастер аур и бабл,но когда я юзаю бш и цель кастует,то меняются пушки с шм на т1+щит Пытался решить проблему вписав Код and (not UnitBuff("player", "Вихрь клинков")) но не робит. Как сделать так чтобы на бш при касте таргет не менялись пушки? Оказалось,что мой автокик не юзается ВООБЩЕ в мастер аур и бабл. Значит в скрипте проблемы. Хотя должно же как минимум эквип на шм делать О.о. Кто поможет разобраться?
Сообщение # 1647 написано 09.05.2016 в 19:52
|
GStriker, Попробуй так
function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Удар щитом") local inRange = IsSpellInRange("Удар щитом", "target") if spell then if interrupt == false and enabled == 0 and inRange == 1 and not UnitBuff("target", "Мастер аур") and not UnitBuff("target", "Божественный щит") and not UnitBuff("player", "Вихрь клинков") then RunMacro("BASH") end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Сообщение # 1648 написано 09.05.2016 в 22:02
|
chaosway, Спасибо!) Наконец то избавился от этого эквипа,уже даже от безысходности сделал макрос /cast бш /target player :DDD чтобы не смотреть на эти касты:DD Лайк тебе)
Добавлено (10.05.2016, 23:15) Код function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Удар щитом") local inRange = IsSpellInRange("Удар щитом", "target") if spell then if interrupt == false and enabled == 0 and inRange == 1 and not UnitBuff("target", "Мастер аур") and not UnitBuff("target", "Божественный щит") and not UnitBuff("player", "Вихрь клинков") then RunMacro("BASH") end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick) Добавлено (10.05.2016, 23:16)
Сообщение # 1649 написано 10.05.2016 в 23:16
|
Сколько там раги надо для БШ? Я поставил and rage >= 50 (вместо 50 ставь сколько нужно, я не помню уже)
Код function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Удар щитом") local inRange = IsSpellInRange("Удар щитом", "target") if spell then if interrupt == false and enabled == 0 and inRange == 1 and not UnitBuff("target", "Мастер аур") and not UnitBuff("target", "Божественный щит") and not UnitBuff("player", "Вихрь клинков") and rage >= 50 then RunMacro("BASH") end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Сообщение # 1650 написано 11.05.2016 в 07:45
|
| |||