Модератор форума: staford11 |
Форум Хитрости Пиратских серверов Читы для WoW Использование Lua скриптов. |
Использование Lua скриптов. |
Код SWD = CreateFrame("Frame", "SWD", UIParent); SWD:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") SWD:SetScript("OnEvent", function(self, event, arg1, arg2) SpellBase = {"Дезориентирующий выстрел","Грубый прием","Превращение","Покаяние","Ослепление","Ошеломление","Ненасытная стужа"} local cd = GetSpellCooldown("Слово Тьмы: Смерть") for v = 1,#SpellBase do local args = {arg1, arg2} if (arg1 == "target" and arg2 == SpellBase[v]) then if cd == 0 then CastSpellByName("Слово Тьмы: Смерть") end end end end) Просьба к знатокам , помогите исправить данный скрипт , он работает не как надо , то-есть если взять в цель охотника и он даст Дезориентирующий выстрел , то Слово Тьмы: Смерть сработает , а если я буду держать в цели другого игрока , будь то напарник мой или же напарник врага , то проигнорирует .
Сообщение # 2131 написано 13.03.2017 в 05:09
|
Сообщение # 2134 написано 14.03.2017 в 10:30
|
Помоги мне вписать всё это в код , что бы было так не важно где я бы не был пусть то будет бг , пусть арена , да хоть элвинский лес , но что бы когда в меня летит скатер допустим ну или же что вписанно в макросе , я контратаковал скилом швд , даже если у меня в таргете был бы свой таргет , спасибками не абижу , а если вообще от души запилишь и будет всё отточено работать то могу подогнать аккаунт с 1к + репой тут на wow jp , ну об этом уже в лс , да и оскрипте тоже можем там поговорить .
Сообщение # 2135 написано 14.03.2017 в 16:47
|
Помоги мне вписать всё это в код , что бы было так не важно где я бы не был
пусть то будет бг , пусть арена , да хоть элвинский лес , но что бы когда в меня летит скатер допустим ну или же что вписанно в макросе , я контратаковал скилом швд , даже если у меня в таргете был бы свой таргет , спасибками не абижу , а если вообще от души запилишь и будет всё отточено работать то могу подогнать аккаунт с 1к + репой тут на wow jp , ну об этом уже в лс , да и оскрипте тоже можем там поговорить . а вот это сделать нельзя,в рамках скриптов тк как все отслеживания кастов можно делать только по target mouseover arena и тд,а когда ты стоишь в эльвене и в тебя кто-то чтото кастует при этом он ненаходится у тебя в фокусе маусовере или таргете событие UNIT_SPELLCAST_SUCCEEDED просто не будет срабатывать |
а вот это сделать нельзя,в рамках скриптов тк как все отслеживания кастов можно делать только по target mouseover arena и тд,а когда ты стоишь в эльвене и в тебя кто-то чтото кастует при этом он ненаходится у тебя в фокусе маусовере или таргете событие UNIT_SPELLCAST_SUCCEEDED просто не будет срабатывать
Сообщение # 2137 написано 14.03.2017 в 22:07
|
Помоги мне вписать всё это в код , что бы было так не важно где я бы не был пусть то будет бг , пусть арена , да хоть элвинский лес , но что бы когда в меня летит скатер допустим ну или же что вписанно в макросе , я контратаковал скилом швд , даже если у меня в таргете был бы свой таргет , спасибками не абижу , а если вообще от души запилишь и будет всё отточено работать то могу подогнать аккаунт с 1к + репой тут на wow jp , ну об этом уже в лс , да и оскрипте тоже можем там поговорить . Код swd = CreateFrame("Frame", "swd", UIParent); local ev = function(self, event, ...) if (event == "COMBAT_LOG_EVENT_UNFILTERED") then local timestamp, type, sourceGUID, sourceName, sourceFlags, destGUID, destName = select(1, ...) if (type == "SPELL_CAST_SUCCESS") then local spellId, spellName = select(9, ...) if destGUID == UnitGUID("player") then if spellName == "Покаяние" or spellName == "Дезориентирующий выстрел" or spellName == "Ослепление" or spellName == "Превращение" or spellName == "Ошеломление" then RunMacro("SWD") end end end end end swd:SetScript("OnEvent", ev) swd:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED") swd:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") Создать макрос SWD с содержанием Код Для арены /cast [target=arena1]Слово Тьмы: Смерть По фокусу /cast [target=focus]Слово Тьмы: Смерть Вот этот берет в цель врага сразу же запоминает его фокусом и возвращает обратно таргет в последний таргет ( происходит очень быстро, незаметно можно сказать) + кастует швд в цель которую мы только что зафокусили. Тоже на арене норм /stopcasting /targetenemy /focus /targetlasttarget /cast [target=focus]Слово Тьмы: Смерть
Сообщение # 2138 написано 15.03.2017 в 05:18
|
В общем вставил твой скрипт
Код swd = CreateFrame("Frame", "swd", UIParent); local ev = function(self, event, ...) if (event == "COMBAT_LOG_EVENT_UNFILTERED") then local timestamp, type, sourceGUID, sourceName, sourceFlags, destGUID, destName = select(1, ...) if (type == "SPELL_CAST_SUCCESS") then local spellId, spellName = select(9, ...) if destGUID == UnitGUID("player") then if spellName == "Покаяние" or spellName == "Дезориентирующий выстрел" or spellName == "Ослепление" or spellName == "Превращение" or spellName == "Ошеломление" then RunMacro("SWD") end end end end end swd:SetScript("OnEvent", ev) swd:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED") swd:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") Код /stopcasting /targetenemy /focus /targetlasttarget /cast [target=focus]Слово Тьмы: Смерть Запустил Unlocker , далее в чате прописал /sdm run swd , зашел во второе окно магом , кастую шип не какой реакции скрипта =( , в чём проблема ? p/s мб в скайпе спишимся там через демонстрацию экрана всё покажу ???
Сообщение # 2139 написано 15.03.2017 в 14:20
|
В общем я так понял я без скрипта , играю на циркле . (p/s мб есть у кого нормальный на швд скрипт , скиньте в лс обменяю на аккаунт от wow jp с 1к репой)
Сообщение # 2142 написано 16.03.2017 в 02:06
|
Я только что на логон1 х100 протестил свой скрипт все работает просто прекрасно, значит плохо копируешь или делаешь что-то не так. Повторюсь что использую биндпад.
Сообщение # 2143 написано 16.03.2017 в 04:56
|
Я только что на логон1 х100 протестил свой скрипт все работает просто прекрасно, значит плохо копируешь или делаешь что-то не так. Повторюсь что использую биндпад. Код Создать макрос SWD с содержанием Код Для арены /cast [target=arena1]Слово Тьмы: Смерть По фокусу /cast [target=focus]Слово Тьмы: Смерть Вот этот берет в цель врага сразу же запоминает его фокусом и возвращает обратно таргет в последний таргет ( происходит очень быстро, незаметно можно сказать) + кастует швд в цель которую мы только что зафокусили. Тоже на арене норм /stopcasting /targetenemy /focus /targetlasttarget /cast [target=focus]Слово Тьмы: Смерть Как это такой макрос создать один . Или имеется ввиду создать вот такой макрос ? Код /stopcasting /targetenemy /focus /targetlasttarget /cast [target=focus]Слово Тьмы: Смерть Код /cast [target=arena1]Слово Тьмы: Смерть По фокусу /cast [target=focus]Слово Тьмы: Смерть И если можно скинь ссылку на свой бинд панд и какой у тебя Unloker на него если можно тоже ссылку . сам я пользуюсь Super Duper Macro играю на Fun Logon1 circle |
Да вот такой. Я просто дал тебе сразу 3 макроса, чтобы ты протестировал какой лучше себя покажет. 1 макрос для арены, 2 по фокусу, 3 и для пвп и для бг и для арены. на циркуле логон1 все точно пашет, я на фане и х100 протестировал сегодня.
Ребята помогите пожалуйста, пытаюсь написать автованиш ивент (UNIT_ENERGY), все вроде работает хорошо, но как добавить проверку на определенные способности? Чтобы ваниш юзался не от любого изменения энергии противника, а брал в счет название способности? Пробовал прикрутить UnitCastingInfo, но это кажется не то. |
Смотри в Bind Pad я вставил скрипт вот такой , ну который ты дал .
Код swd = CreateFrame("Frame", "swd", UIParent); local ev = function(self, event, ...) if (event == "COMBAT_LOG_EVENT_UNFILTERED") then local timestamp, type, sourceGUID, sourceName, sourceFlags, destGUID, destName = select(1, ...) if (type == "SPELL_CAST_SUCCESS") then local spellId, spellName = select(9, ...) if destGUID == UnitGUID("player") then if spellName == "Покаяние" or spellName == "Дезориентирующий выстрел" or spellName == "Ослепление" or spellName == "Превращение" or spellName == "Ошеломление" then RunMacro("SWD") end end end end end swd:SetScript("OnEvent", ev) swd:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED") swd:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") Далее создал в обычных макросах " не Bind Pad " Макрос вот такой , тоже твой. Код /stopcasting /targetenemy /focus /targetlasttarget /cast [target=focus]Слово Тьмы: Смерть Далее запустил свой анлокер , у меня это Ohack Как теперь запустить сам скрипт ??? Если можешь зайди в игру на Logon 1 Fun Circle , там проще будет общаться , ну или-же Skype . |
Кратко :
Нужен скрипт(или луа макро) на перевешивание дот когда прокнула трыня(на спд). Не кратко: Я ШП, ротация : 2 доты, палец. Прописал через иф нот ЮнитДебаф("таргет", "Дебаф") зен КастСпеллБайНейм("Дебаф") энд Теперь, что я хочу.. Вот скастовал я свои гадости на нежеланного врага, тут у меня прокает трыня, допустим ТБЛ(там +1200 СПД), теперь как граммотный ШП я должен обновить свои гадости т.к под проками они куда более опасны, как прописать !? Всё уже продумал, вот не знаю... Вот есть впринципе идея,не знаю какими командами осуществить, нужно было бы поставить кд на строчку, чтобы юзал строчку, и потом её кидал в кд на секунд 30 например: иф ЮнитБафф("плаер", "ТБЛ") зен КастСпеллБайНейм("Палец") - И вот щас, какую-нибудь бы команду, что-бы Если палец скастован, строчка кидается в КД на 30 секунд. Не знаю, по моему это единственный вариант, по крайней мере, я, пока еще ничего более продуктивного не смог придумать |
я бы так сделал в примитивной форме
--глобальные переменные t_pain=0 t_vamp=0 WD = CreateFrame("Frame", "SWD", UIParent); SWD:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") SWD:SetScript("OnEvent", function(self, event, arg1, arg2) if (arg1 == "player" and arg2 == 'Прикосновение вампира') and UnitBuff('player','Название бафа от тринки') then t_vamp=1 end if (arg1 == "player" and arg2 == 'Боль') and UnitBuff('player','Название бафа от тринки') then t_pain=1 end end а дальше по коду проверка надо ли обновлять или вообще кастить if (tpain=0 and UnitBuff('player','Название бафа от тринки')) or (UnitDeBuff('target','Дебаф от боли')==nil) then кастим дотку end Добавлено (21.03.2017, 10:35) --------------------------------------------- смысл понятен наверно,если мы скастили доту под бафом от тринки то в переменную записывается 1,дальше перед кастом если тпайн=0 и есть баф от тринки или вообще нет дебафа от дотки то кастим пайн это в очень простой форме в идеале надо хранить таблицу с гуидами целей на которые были наложены доты и под какими бафами были наложены,а потом находить в этой таблице гуид текущей цели и сравнивать с таблицей дальше уже принимать решение обновлять или нет |
prn, спасибо большое, отлично придумал!
Прочитал скрипт,с виду работающая штучка!) Должно быть профитно. Не могу потестить, вставил вот так вот в скрипт, выдаёт Эррор. Вот это вставил: --глобальные переменные t_pain=0 t_vamp=0 WD = CreateFrame("Frame", "SWD", UIParent); SWD:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") SWD:SetScript("OnEvent", function(self, event, arg1, arg2) if (arg1 == "player" and arg2 == 'Прикосновение вампира') and UnitBuff('player','Прилив мощи') then t_vamp=1 end if (arg1 == "player" and arg2 == 'Слово Тьмы: Боль') and UnitBuff('player','Прилив мощи') then t_pain=1 end end if (t_pain=0 and UnitBuff('player','Прилив мощи')) or (UnitDeBuff('target','Прикосновение вампира')==nil) then CastSpellByName("Прикосновение вампира") end Вот такую ошибку выдаёт: ("tst" - это название макроса в который я вбиваю скрипт(через аддон hack) Syntax error in "tst" at line 16 [string"tst"]:16:')' expected (to close'('at line 7) near 'if'
Сообщение # 2156 написано 21.03.2017 в 13:51
|
Привет
пытаюсь создать функцию Test(), которая выдает true в течение 5 секунд после использования мною спела false в остальных случаях просьба знающим людям поправить код ошибок не выдает, но Test() всегда false, а timer всегда nil Код local timer --создаем функцию function Test() if timer==nil or GetTime() > timer then return false else return true end end --если условия выполняются (игрок использует spell), то переменной timer присваивается значение Getime() + 5 local function test_OnEvent(self,event,...) if event == "COMBAT_LOG_EVENT_UNFILTERED" then local _, eventType, _, srcName, srcFlag, _, _, _, _, spell = select(1, ...) if eventType == "SPELL_CAST_SUCCESS" and srcName == UnitName("player") and spell == "spell" then local timer = GetTime() + 5 end end end local frame = CreateFrame("Frame", "testFrame"); frame:SetScript("OnEvent", test_OnEvent); frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED"); |
if eventType == "SPELL_CAST_SUCCESS" and srcName == UnitName("player") and spell == "spell" then local timer = GetTime() + 5 end timer = GetTime() + 5 end Добавлено (22.03.2017, 13:50)
Сообщение # 2159 написано 22.03.2017 в 13:50
|
я так понял, пкр разблокирует только тот код, который прописывается в его xml файлах(он еще отображается в самой проге), а унлокер с гагарина 1.7, разблокирует только макросы. но оба варианта отстойнишие ведь? нету такого чтоб аддоны разблокировал?
хотел както связать с аддоном, но как нарошна, если с разблоченого макроса или с пкр скрипта юзнуть функцию или переменную с созданного аддона, то интерфейс ругается и просит заблочить аддон.. Добавлено (23.03.2017, 16:47) там функция и не нужна посути, достаточно лишь переменной timer, ну и проверки (timer-GetTime() > 0) и это зря, когда свои спеллы отслеживаете, то лучше юзать "UNIT_SPELLCAST_SUCCEEDED" с проверкой плеера и спелла. намного шустрее будет. Добавлено (23.03.2017, 16:59) там нужно подключать ооочень сложную формулу, чтоб был профит, и срабатывать она будет крайне редко. без нее в 99% случаях дпс снизится, если конечно ты не зеленый с задоненными тринями. |
| |||