Модератор форума: staford11 |
Форум Хитрости Пиратских серверов Читы для WoW Использование Lua скриптов. |
Использование Lua скриптов. |
Привет
возник вопрос: можно ли указать задержку в использовании способности? например, в ситуации, когда цель использует какую-то мгновенную абилку z, чтобы прожималась моя абилка, но не сразу а через секунду? в теории, надо создать фрейм для ловли z и присвоить переменной x значение GetTime(), и потом создать еще фрейм (onevent или onupdate?), перетащить туда значение x, поставив условие GetTime() - x>=1 для юза абилы но к сожалению мои знания слишком ограничены, потому надеюсь на помощь местных профессионалов;) |
sess, правильно мыслишь. Существует несколько способов реализации.
На свое усмотрение можешь добавить кучу проверок (кд, расстояние, цель/фокус и т.д.). Все это есть в примерах других скриптов этой темы.
|
ошибка Код Message: [string "function Frame123_OnEvent(self,event,...) ..."]:19: Usage: Frame123:SetScript("type", function) Time: 02/16/15 19:56:58 Count: 4 Stack: [C]: in function `SetScript' [string "function Frame123_OnEvent(self,event,...) ..."]:19: in main chunk [C]: in function `RunScript' |
Выложите кому не жалко скрипт на горн по кд и авто призыв пета (воскрешение мертвых)с проверкой на кд и пристутствие пета.Буду очень благодарен. Вроде так попробуй Код function Gorn(self) enabled = GetSpellCooldown("Зимний горн") if not UnitBuff("player", "Зимний горн") and enabled == 0 then CastSpellByName("Зимний горн") end end CreateFrame("Frame", "frameB") frameB:SetScript("OnUpdate", Gorn)
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 635 написано 17.02.2015 в 00:22
|
Проверь новую версию в пред посте под спойлером. Скобка была пропущена. Добавлено (17.02.2015, 04:33) Код local total = 0 function WHorn(self,elapsed) local spell = "Зимний горн" total = total + elapsed if total < 1 then return else total = 0 end if (GetSpellCooldown(spell) == 0) then CastSpellByName(spell) end end CreateFrame("Frame", "WHornFrame") WHornFrame:SetScript("OnUpdate", WHorn)
Сообщение # 637 написано 17.02.2015 в 04:33
|
Разве на это не используется гкд? Я думаю это критично Добавлено (17.02.2015, 11:03)
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 638 написано 17.02.2015 в 11:03
|
Сообщение # 639 написано 17.02.2015 в 16:20
|
Он говорил об использовании горна по его кулдауну. Действие горна - 2 минуты, кулдаун - 15 секунд. Каждое использование горна накапливает руническую силу, в связи с этим появляется необходимость постоянно его прожимать. Это то да, но будет весьма глупо, когда в бою тебе потребуется быстро "убивать" противника, и в это время твой скрипт будет бафать горн и занимать очень важное гкд... Это критично на высоких рейтингах Добавлено (17.02.2015, 18:19) --------------------------------------------- P.S. - Забери его от меня! - .... - Бл*, почему ты не забрал? Теперь меня убили - Не мог забрать, я горн бафал
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
|
Это то да, но будет весьма глупо, когда в бою тебе потребуется быстро "убивать" противника, и в это время твой скрипт будет бафать горн и занимать очень важное гкд... Это просто глупо на высоких рейтингах Белое и черное у каждого свое. Мы не знаем с какой целью и в каких условиях будет использоваться скрипт, поэтому лучше воздержаться от преждевременных заявлений о глупости его использования.
Сообщение # 641 написано 17.02.2015 в 18:32
|
Всем доброго времени суток, в общем вопрос такой:
Искал я тут ответ на данный вопрос и так не понял его решения. Короче, вот голый текст скрипта: Код 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("") end end end end end) Хотелось бы спросить, если вписать в спелбазу Лик смерти, а в CastSpellByName("") вписать Шедоумелд(Слиться с тенью - рассовая у Ночных эльфов) будет, естественно, ловится как и дк койл, так и локовский. Хотелось бы спросить, что можно проделать, чтобы ловился только локовский койл? И как то я натолкнулся на видос один, там где ферал друид в облике кота бежал навстречу локу, а тот отдал ему койл. Койл словился,хотя шедоумелд работает если твой персонаж стоит на месте. Спасибо заранее
Сообщение # 646 написано 21.02.2015 в 13:54
|
Доброго времени суток. Помогите пожалуйста сделать скрипт, который будет давать, сап, чип шот, удар по почкам и т.д. мгновенно после использования трини противником.
Новый или на основе одного из этих скриптов: function BuffSrc(self) enabled = GetSpellCooldown("Ослепление") inRange = IsSpellInRange("Ослепление", "target") if UnitBuff("target", "Медальон Орды") CastSpellByName("Ослепление") end end CreateFrame("Frame", "frameB") frameB:SetScript("OnUpdate", BuffSrc) ---------------------------------------------------------------------------------------------------- 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) Почему то оба не работают. За ранее выражаю свою огромную благодарность. P.S. с меня (+) |
который будет давать, сап, чип шот, удар по почкам и т.д. мгновенно после использования трини противником. Код if not frame then frame = CreateFrame("Frame") end local onEvent = function(self, event, ...) if (event == "COMBAT_LOG_EVENT_UNFILTERED") then local timestamp, type, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags = select(1, ...) if (type == "SPELL_CAST_SUCCESS") then local spellId, spellName, spellSchool = select(9, ...) if spellName == "Каждый за себя" or spellName == "PvP-аксессуар" and UnitName("target") == sourceName then if UnitName("target") == sourceName then CastSpellByName ("Ослепление") else if UnitIsEmeny("target", "player") then ClearTarget() RunMacro ("Target") end end end if spellName == "Ослепление" and UnitName("player") == destName then CastSpellByName ("Исчезновение") CastSpellByName ("Исчезновение") CastSpellByName ("Исчезновение") end end end end frame:SetScript("OnEvent", onEvent) frame:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED") frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") frame:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED") frame:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") Попробуй вписать вместо CastSpellByName ("Ослепление") - CastSpellByName ("Удар по почкам","Подлый трюк","Ослепление") А если не прокнет, то попробуй так: CastSpellByName ("Ослепление") CastSpellByName ("Удар по почкам") CastSpellByName ("Подлый трюк") То есть дополнить вниз на 2 строки. И да, как видишь, этот скрипт сразу даёт контроль при юзе трини и ловит блайнд соперника. Добавлено (24.02.2015, 22:02) |
Помогите разобраться пожалуйста
/run if not UnitDebuff("target", "Прикосновение вампира") then CastSpellByName("Прикосновение вампира") end /run local _,a,_ = GetSpellCooldown("Всепожирающая чума") if (a == 0) then CastSpellByName("Всепожирающая чума") end /run local _,d,_ = GetspellCooldown("Пытка разума") if (d == 0) and UnitDebuff("target", "Прикосновение вампира") and UnitDebuff("Всепожирающая чума") then RunMacroTex("/cast [nochanneling:Пытка разума] Пытка разума") end Первая строчка работает дальше не хочет, в чем моя ошибка ??? |
local total = 0
function BShout(self,elapsed) local spell = "Боевой крик" total = total + elapsed if total < 1 then return else total = 0 end if (GetSpellCooldown() == 0) then CastSpellByName(Боевой крик) end end CreateFrame("Frame", "BShoutFrame") BShoutFrame:SetScript("OnUpdate", BShout) Что нужно добавить чтоб когда висит командирский крик ни ребафало?
Сообщение # 659 написано 25.02.2015 в 03:53
|
| |||