Модератор форума: staford11 |
Форум Хитрости Пиратских серверов Читы для WoW Использование Lua скриптов. |
Использование Lua скриптов. |
В зелень? Ловить стан? Я всегда подозревал, что дк больше всех подвержены аутизму -_- А по сабжу - нет, станы айсбоундом ты не сможешь ловить, т.к. они все не имеют "времени каста", грубо говоря (аналог - это юзать личберн перед сапом роги - что тоже анриал, если ты не дурак, то мог бы это прочесть выше в теме).
Сообщение # 844 написано 05.04.2015 в 14:07
|
В зелень? Ловить стан? Я всегда подозревал, что дк больше всех подвержены аутизму -_- А по сабжу - нет, станы айсбоундом ты не сможешь ловить, т.к. они все не имеют "времени каста", грубо говоря (аналог - это юзать личберн перед сапом роги - что тоже анриал, если ты не дурак, то мог бы это прочесть выше в теме). Кастуются они инстантно, а вот флайтайм имеют, так что вполне возможен скрипт. На первых страницах все эти скрипты есть, все что нужно сделать это абилки повставлять |
name = CreateFrame("Frame", "name", UIParent); name:SetScript("OnUpdate", name) name: RegisterEvent("UNIT_SPELLCAST_SUCCEEDED") name:SetScript("OnEvent", function(self, event, ...) -- if (enabled == 'true') then local args = {...} if (arg1 == "target" and arg2 == "Spell") then CastSpellByID("Number") print(""..arg2.." You skill...") end end end) Банальный автошвд блайнда будет работать на этом баганном шаблоне. По идее должен... Думаю что куда дописать сам догадаешься.
Сообщение # 846 написано 05.04.2015 в 17:33
|
Кастаются они инстантно, а вот флайтайм имеют, так что вполне возможен скрипт. На первых страницах все эти скрипты есть, все что нужно сделать это абилки повставлять Полистай тему - там обсуждался пример - ловить личберном сапы - это аналогично тому, что запросил этот тип - айсбоундом ловить станлоки. И там аргументированно объяснили, что нихера не выйдет из этой затеи, т.к. от слишком большого кол-ва вещей зависит все это дело (и пинг тут тоже, насколько помню, играет не последнюю роль).
Сообщение # 847 написано 05.04.2015 в 17:46
|
Зачастую бывает - юзаешь личберн, а сап на долю секунды раньше = личберн висит, и сап тоже... Думаю похожая ситуация будет и со станом, если конечно на лк. На 5++ помню айсбоунд не только не давал станить, но и снимал стан
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 849 написано 05.04.2015 в 18:57
|
может кто адекватно помочь доработать скрипт? нужно в общем сделать так, чтоб скрипт реагировал только на то, что летит в меня...также добавить в него швд в седакт(локовский). отпишитесь в пм и заранее спасибо.
Код 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 == "Покаяние" or spellName== "Дезориентирующий выстрел" and UnitName("player") == destName then TargetUnit(arg4) 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")
Сообщение # 850 написано 06.04.2015 в 00:40
|
unknown43, а еще добавить чтобы апал дамаг и + к 100 к рейту при каждом использовании
Добавлено (06.04.2015, 11:06) Код local name = UnitName("targettarget") local myname = UnitName("player") if name == myname
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 851 написано 06.04.2015 в 11:06
|
Привет всем
Прочитал всю эту тему, пролистал инфу про написанию апи и попробывал (много, черт возьми, ОЧЕНЬ МНОГО раз) написать скрипт на пвп шамана 3.3.5 со следующим смыслом: Если противник кастует заклинание "овечка", "ледяная стрела" и не фейкает вплоть до 0.4 с до конца каста - поставить тотем заземления. Хотелось бы, чтобы этот макрос работал вместе с автокиком "пронизывающий ветер", т.е. - если я сбил каст цели с помощью пронизывающего ветра = не ставить тотем заземления, если не сбил каст цели и она докастовывает вплоть до 0.4 (кд на "пронизывающем ветре" = поставить тотем заземления. Мои соображения такие: 1) можно прописать условие КД сбивалки (ветра) в скрипт на постановку тотема заземления, но сделать это так, чтобы если противник провел фейк-каст и отменил свой каст (вплоть до 0.4с до конца каста) с начала каста = тотем заземления не ставится. Но тогда придется кикать (скриптом на ветер) в каст за 0.7с до конца каста (могут фейкануть даже скрипт). 2) Можно добавить условие в макрос автокика на 0.4с до конца каста = если нет на мне бафа "эффект тотема заземления", то кикнуть ветром, если есть = не кикать. А макрос на постановку тотема заземления тогда можно будет поставить за 0.2с до конца каста - лучший результат. Может быть никто не поймет, что я тут вообще написал, поэтому попрошу просто скинуть свои варианты скриптов на постановку тотема заземления, которые бы нормально работали со скриптами на автокик "пронизывающим ветром". На данный момент после кика ветром (каст противника сбит), скрипт всё равно ставит тотем заземления (который легко сбить)+берет в таргет цель, которая кастует эти плохие заклинания на меня (т.е. допустим фокус может стать таргетом, что на высоких рейтах арены критично). Нужно сделать так, чтобы таргет оставался таргетом, а фокус фокусом. Для всех новичков, которые ещё не мучились так долго как я, скину мои скрипты для шамана пвп 3.3.5: Добавлено (08.04.2015, 13:49) --------------------------------------------- Вот попробывал сделать так: function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Пронизывающий ветер()") local tote = GetSpellCooldown("Тотем заземления()") if spell then if interrupt == false and enabled == 0 and tote == 0 then local finish = endTime/1000 - GetTime() if finish <= 0.6 then RunMacro("antiot") if finish <= 0.2 then RunMacro ("zazem") end end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick) План был такой - если противник кастует заклинание, то я его прерываю за 0.6с до каста (ветром), если после этого противник опять кастует заклинание(мой ветерок на кд), то каст доходит до отметки 0.2с до завершения каста и я ставлю тотем заземления под влетающую плюху. Но что-то не получается. Выходит так: сбивается каст ветром за 0.6с до каста и всё. Тотем заземления не ставится ни в каком случае. Я думаю, что идет проверка скрипта сверху вниз и скрипт читается только про условие с 0.6с, а 0.2с уже не читает (ведь условие с 0.6с не выполнилось, а именно enabled=1, поэтому проверка на условие "if finish <= 0.2" уже и не запускается. Подскажите пожалуйста, я правильно думаю? И как это исправить, чтобы работало? |
gapk, чет мудренно у тебя все...
Добавлено (08.04.2015, 18:16) Код 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 local finish = endTime/1000 - GetTime() if finish <= 0.2 then RunMacro("antiot") end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick) Код function Totem(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Пронизывающий ветер") local graund = GetSpellCooldown("Тотем заземления") if spell then if interrupt == false and enabled == 1 and graund == 0 then local finish = endTime/1000 - GetTime() if finish <= 0.6 then RunMacro ("zazem") end end end end CreateFrame("Frame", "TotemFrame") TotemFrame:SetScript("OnUpdate", Totem)
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 853 написано 08.04.2015 в 18:16
|
Сообщение # 854 написано 08.04.2015 в 22:58
|
Действительно я с пол года назад впервые увидел это, и после некоторых советов (которые уже описаны в этой теме) научиться сам более менее разбирать в этом. А ты просто потребитель, который имея огромное множество готовых шаблонов упорно отказываешься включить мозг... То что ты просишь, это элементарно. Я бы помог, если бы ты серьезно пытался сам и не сумел, как чел на пару постов выше с тотемом..
P.S. В самом начале я попросил сделать только прыжок в трапу и ничего более, по сравнению с твоими выпрашиваниями это вообще ничего) P.S2 Зря я тебе аддон дал, неблагодарный)
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 857 написано 09.04.2015 в 07:28
|
Спасибо большое за совет! Вчера ещё забыл написать, но смог написать правильные скрипты, причём добавил проверку на враждебность цели (чтобы если у меня в таргете напарник по арене (варлок) и он кастит страх в противников - я не прерывал кастящуюся хилку в него+ставил заземление :))) (выглядело бы нелепо да?) Добавлено (09.04.2015, 08:33) --------------------------------------------- А сейчас хотелось бы попросить помощи в реализации скрипта на stopcasting при получении прерываний каста (автофейк). Вот мои наработки, они не работают как надо, но уже близки к победе А именно - при получении "Антимагии" (сала) и других прерываний - происходит проверка на условие и выполняется действие, НО: Если я кастую в это время что-либо, то скрипт не успевает запустить /stopcasting. В лучшем случае получается так - если я не кастую ничего, то при получении сала(антмагии и т.д.) - я инстант кидаю тотем поглощения. Но если я кастую, то ловлю сало в каст (эффекта ноль). Под тотемом поглощения я имею ввиду макрос RunMacro("poglot"), где poglot - макрос, содержащий /stopcasting /cast Тотем каменного когтя Пробывал менять макрос и вставлять умения без ГКД ("Пронизывающий ветер"), но эффекта ноль - сало ловится в каст, стопкастинг не успевает запустится. Скидываю свои два варианта (первый - начальный, второй - с исправлениями, но оба не работают как надо! ) Буду очень рад любому совету, так как уже не столько интересна сама игра, как написание скриптов, это действительно затягивает! Может быть попробывать команду не stopcasting, а "шагнуть вперед"? Есть ли у кого-нибудь какие идеи (воплотим мечту в реальность вместе ) Добавлено (09.04.2015, 08:52) --------------------------------------------- Нужна помощь по скрипту, /script local enabled = GetSpellCooldown("72"); if enabled == 0 else RunMacroText("/equip Темная скорбь") end Но мне нужно наоборот,тобишь - если Удар щитом на КД то одевается Темная скорбь Примерно должно выглядеть вот так: Этот скрипт нужно запускать вторым, вместе со скриптом на Автокик ударом щита Скорее всего я ошибся и условий нужно будет добавить побольше. На моем нубском уровне лучше создать два скрипта, один на автосбивание каста, второй на одевание топора при условии кд сбивания, чем все эти условия запихивать в один. Но, впринципе, я думаю это несложно сделать, если ты разбираешься в написании скриптов хорошо А вообще, сейчас подумал, не лучше ли тебе дописать в скрипт на автокик ещё один /run с одеванием рыжего топора??? (по твоим запросам это и будет работать как надо?) Но, если честно, не особо представляю применение такого скрипта |
gapk, для проверки подобных скриптов используй в макросе какое нибудь сообщение, чтобы быть уверенным что он сработал.
P.S. Мне говорили что автофэйк работает при пинге в районе 10, но с моим стабильным 150+ мне не его не видать)
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 859 написано 09.04.2015 в 08:58
|
gapk, для проверки подобных скриптов используй в макросе какое нибудь сообщение, чтобы быть уверенным что он сработал. P.S. Мне говорили что автофэйк работает при пинге в районе 10, но с моим стабильным 150+ мне не его не видать) light117 , хорошая идея, спасибо! Вот у меня тоже этот скрипт вроде как и срабатывает = видно, что нажимается макрос, если его вынести на панельку, но срабатывает уже после получения антимагии Пинг-50. Может быть мы сможем как-нибудь побороться с этой проблемой? Возможно у отличной команды от /stopcasting, например, такой как "нажать кнопку W" приоритет выше и такая команда успеет прожаться? |
gapk, Если скрипт срабатывает, значит проблема только в пинге. Я общался с одним торговцем автофэйка, он сказал что работает только при пинге около 10.. Хотя это все же зависит от сервера и флайтайма. Тот же блайнд ловится на одних серверах, а на других почему - то не успевает. Слышал где-то, что некоторые админы намеренно увеличивают задержку на серверах.. Но повторюсь с моим пингом 150+ я уже забил на все инстант спелы)
Добавлено (09.04.2015, 11:31) Возможно у отличной команды от /stopcasting, например, такой как "нажать кнопку W" приоритет выше и такая команда успеет прожаться? Суть не в том, чем именно остановить каст - а в том что сам скрипт реагирует позднее чем нужно. На это может влиять как пинг так и фпс
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 861 написано 09.04.2015 в 11:31
|
Он же есть в списке :DDD
function Kick(self, elapsed) local spell, _, _, _, _, endTime, _, _, interrupt = UnitCastingInfo("target") local enabled = GetSpellCooldown("Пронизывающий ветер()") local isEnemy = UnitIsEnemy("player","target") if isEnemy == 1 then local inRange = IsSpellInRange("Пронизывающий ветер()", "target") if spell == "Превращение" or "Ледяная стрела" or "Выброс лавы" or "Стрела хаоса" or "Огненный шар" or "Смерч" or "Сглаз" or "Прикосновение вампира" or "Звездный огонь" or "Гнев деревьев" or "Цепная молния" then if interrupt == false and enabled == 0 and inRange == 1 then local finish = endTime/1000 - GetTime() if finish <= 1.3 then RunMacro("antiot") end end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick)
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 863 написано 09.04.2015 в 14:11
|
Возможно у отличной команды от /stopcasting, например, такой как "нажать кнопку W" приоритет выше и такая команда успеет прожаться? Можешь использовать JumpOrAscendStart(), но к примеру на циркуле флайтайм на кики очень и очень мал, всего несколько тысячных, когда на остальные абилки доходит до десятых секунд. Поэтому там автокик скорее всего не возможен. На других серверах может и сработает |
/script local enabled = GetSpellCooldown("72") then RunMacroText("/equip Темная скорбь") end операторы начало условия(обязательно): while - пока(в смысле "пока я жив я дышу") for - для if - если операторы сравнения: and - и or - или not - не операторы выполнения(обязательно): do - выполнить then - тогда else - иначе конец условия(обязательно) end - конец цифровые значения не записываются в " " , записываются без них: GetSpellCooldown(72) Понятнее некуда.
Сообщение # 865 написано 09.04.2015 в 20:31
|
В личку по кд спамят с просьбой скинуть скрипт на ваниш...как говорится - допиливаем своими силами там стоит проверка на бафы,если на цели такие то бафы то будет юзать ваш таунт (любое ваше контр заклинание) делайте из него свой несчастный ваниш,с соответствующими проверками Короче мое дело предложить а там делайте что хотите. Сам не разбираешься - не путай других. Скрипт не предназначен для того, что ты описал.
Сообщение # 867 написано 11.04.2015 в 11:44
|
Necrofobianx,
Пусть кто хочет сам переделывает под ваниш,там нет ничего сложного,лично мне ваниш не нужен.. В ванишь его ну никак не переделать лол...
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 868 написано 11.04.2015 в 18:10
|
Помогите пожалуйста, как сделать в этом макросе на кик дк чтобы он сбивал не за 0.6 до конца, а на 0.2 или 0.3 вначале каста?
Цитата 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 local finish = endTime/1000 - GetTime() if finish <= 0.6 then RunMacroText("/cast Заморозка разума") end end end end CreateFrame("Frame", "KickFrame") KickFrame:SetScript("OnUpdate", Kick) И можно ли как нибудь в с аддона BindPad выносить макросы на панель? И последнее скиньте пожалуйста скрипты на шамана, а то не нахожу че то
Сообщение # 869 написано 12.04.2015 в 11:42
|
А кто-нибудь разобрался как добавить два условия в скрипт, например добавить в этот скрипт вторую проверку на баф "Ясность мысли" (помимо проверки на дебаф "Чародейская вспышка"), т.е. если на мне есть дебаф чародейская вспышка 3 стака и есть баф "Ясность мысли" не использовать макрос "arc2", а например использовать также макрос "arc1" ?
По идее должно быть что-то типа: Но почему-то не срабатывает, может быть потому что не расписана функция UnitBuff также как UnitDebuff? Я имею ввиду: Т.е. должно быть что-то типа: Думаю, что запускается проверка условия "count==3" на UnitBuff("target", "Ясность мысли") (3 стаков не может быть у этого бафа), поэтому скрипт выполняет только второе действие несоблюдения условия, а именно RunMacro("arc1") Если мысль верная, то подскажите как убрать соблюдение "count" для второго условия (unitbuff)? Добавлено (12.04.2015, 13:00) --------------------------------------------- Помогите пожалуйста, как сделать в этом макросе на кик дк чтобы он сбивал не за 0.6 до конца, а на 0.2 или 0.3 вначале каста? Получите, распишитесь |
| |||