Модератор форума: staford11 |
Форум Хитрости Пиратских серверов Читы для WoW Использование Lua скриптов. |
Использование Lua скриптов. |
function BuffSrc(self)
enabled = GetSpellCooldown("Разоружение") inRange = IsSpellInRange("Разоружение") if UnitBuff("Вихрь клинков") and enabled == 0 and inRange == 1 then CastSpellByName("Разоружение") end end end CreateFrame("Frame", "frameB") frameB:SetScript("OnUpdate", BuffSrc) вроде сделал как ты сказал но че все равно не пашет может еще что-то не так сделал? |
xeus, попробуй перед переменными(сигнатурами) enabled и inRange дописать local (локальная переменная)
т.е. local enabled =GetSpellCooldown("Разоружение") local inRange = IsSpellInRange("Разоружение") И ещё почему end 3 шт? Один закрывает условие(if), второй завершает код , а третий зачем?
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5 |
chaosway, молодец внимательный:)
local inRange = IsSpellInRange("Разоружение","focus") Походу в этом и главная ошибка была. Одноименный товарищ проверяй и не забудь лишний end убрать
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5 |
incubator, да здесь тоже UnitBuff("focus","Вихрь клинков")
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1507 написано 17.03.2016 в 16:19
|
function BuffSrc(self)
local enabled =GetSpellCooldown("Разоружение") local inRange = IsSpellInRange("Разоружение","focus") if UnitBuff("Вихрь клинков") and enabled == 0 and inRange == 1 then CastSpellByName("Разоружение") end end CreateFrame("Frame", "frameB") frameB:SetScript("OnUpdate", BuffSrc) я сделал как вы посоветовали но почему все рано он не срабатывает) может что-то еще не так я просто не силен в скриптах) |
xeus, local inRange = IsSpellInRange("Разоружение","focus") - он оценивает дистанцию спеллом дизарм до твоего "фокуса"
if UnitBuff("Вихрь клинков") - тут не указано на ком искать баф (таргете или фокусе) CastSpellByName("Разоружение") - тут не указано в кого использовать спелл, по умолчанию в таргет
Сообщение # 1509 написано 17.03.2016 в 17:49
|
xeus,
function BuffSrc(self) local enabled =GetSpellCooldown("Разоружение") local inRange = IsSpellInRange("Разоружение","focus") if UnitBuff("Вихрь клинков") and enabled == 0 and inRange == 1 then CastSpellByName("Разоружение") end end CreateFrame("Frame", "frameB") frameB:SetScript("OnUpdate", BuffSrc) я сделал как вы посоветовали но почему все рано он не срабатывает) может что-то еще не так я просто не силен в скриптах) Код function BuffSrc(self) local enabled =GetSpellCooldown("Разоружение") local inRange = IsSpellInRange("Разоружение","focus") if UnitBuff("focus","Вихрь клинков") and enabled == 0 and inRange == 1 then CastSpellByName("Разоружение", "focus") end end CreateFrame("Frame", "frameB") frameB:SetScript("OnUpdate", BuffSrc) пробуй так, не проверял правда
Сообщение # 1510 написано 17.03.2016 в 21:38
|
То что ты дал не фурычик почему то(
function BuffSrc(self)local enabled =GetSpellCooldown("Разоружение") local inRange = IsSpellInRange("Разоружение","focus") if UnitBuff("focus","Вихрь клинков") and enabled == 0 and inRange == 1 then CastSpellByName("Разоружение", "focus") end end CreateFrame("Frame", "frameB") frameB:SetScript("OnUpdate", BuffSrc)
Сообщение # 1511 написано 17.03.2016 в 23:35
|
Здравствуйте, поясните, пожалуйста, как вообще пользоваться BindPad'om? Вошел я в игру, набрал /bp , открылось окно, далее создаю иконку с именем test (как самый простой пример : мне надо, чтобы через 5секунд после активации произошел каст любого заклинания), а что с ним делать потом?Бинд на сам скрипт делать нельзя (шапку читал - он напишется в чате), а тогда как его использовать? Может кто пояснить?Сам никак не могу разобраться:(
Сообщение # 1513 написано 18.03.2016 в 17:02
|
Добрый день. Посидел в инете несколько часов, попытался сделать скрипт на ферала 3.3.5, но он так и не заработал. Может подскажете в чём трабл. Заранее спасибо :)
Я хочу чтобы при проке "Быстрота хищника" в фокус давалась туча, а если не достаёт туча, то хил на себя. function Storm(self, elapsed) if UnitBuff("player","Быстрота хищника") then local inRange = IsSpellInRange("Целительное прикосновение", "focus") local Range = IsSpellInRange("Смерч", "focus") local enable = GetSpellCooldown(48378) local enabl = GetSpellCooldown(33786) if enable == 0 and inRange == 0 then CastSpellByName("Целительное прикосновение", "player") if enabl == 0 and Range == 1 then CastSpellByName("Смерч", "focus") end end end |
loloalex4, local inRange = IsSpellInRange("Целительное прикосновение", "focus") Зачем по фокусу расстояние, если ты себя лечить собрался?
local enabl = GetSpellCooldown(33786) тут нужно название спелла а не id Да и кд вообще не нужно, ибо оба спелла вроде как без кд local inRange = IsSpellInRange("Целительное прикосновение", "focus") local enable = GetSpellCooldown(48378) local enabl = GetSpellCooldown(33786) убирай эти 3 строки нафиг и дальше допиливай
Сообщение # 1518 написано 19.03.2016 в 18:01
|
1)Спасибо)) Всё получилось))
2)Такой вопрос как проверить комбо(стаки) х5 на дру?)) 3)Почему клиент троху подвисает на автокике, когда я в контроле и кик сделать немогу. Можно как то это исправить или прописывать через if nodebaff? 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("focus") if spell then if interrupt == false then local enabled = GetSpellCooldown("Пронизывающий ветер") if enabled == 0 then inRange = IsSpellInRange("Пронизывающий ветер", "focus") if inRange==1 then CastSpellByName("Пронизывающий ветер", "focus") end end end end end end) Добавлено (21.03.2016, 14:15)
Сообщение # 1519 написано 21.03.2016 в 14:15
|
Помогите дали скрип на автофейк(ВОД 6.2) но он почему то не работает.
Что не так? if not JukeTable then Juketable = {} end if not EventHandlerLog then EventHandlerLog = CreateFrame('Frame') EventHandlerLog:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED") function OnSuccessfulCast(self, event, ...) local timestamp, type, hideCaster, sourceGUID, sourceName, sourceFlags, sourceFlags2, destGUID, destName, destFlags, destFlags2 = select(1, ...) --print("timestamp = "..timestamp, " type = "..type, " sourceGUID = "..sourceGUID, " sourceName = "..sourceName, " sourceFlags = "..sourceFlags, " sourceflags2 = "..sourceFlags2, " destGUID = "..destGUID, " destName = "..destName, " destFlags = "..destFlags, " destFlag2 = "..destFlags2) local COMBATLOG_OBJECT_TYPE_PLAYER = COMBATLOG_OBJECT_TYPE_PLAYER local COMBATLOG_OBJECT_CONTROL_PLAYER = COMBATLOG_OBJECT_CONTROL_PLAYER local COMBATLOG_OBJECT_REACTION_HOSTILE = COMBATLOG_OBJECT_REACTION_HOSTILE local COMBATLOG_OBJECT_REACTION_FRIENDLY = COMBATLOG_OBJECT_REACTION_FRIENDLY local COMBATLOG_OBJECT_REACTION_NEUTRAL = COMBATLOG_OBJECT_REACTION_NEUTRAL local isFriendlySource = (bit.band(sourceFlags,COMBATLOG_OBJECT_REACTION_FRIENDLY) == COMBATLOG_OBJECT_REACTION_FRIENDLY) local isPlayerSource = (bit.band(sourceFlags, COMBATLOG_OBJECT_TYPE_PLAYER) == COMBATLOG_OBJECT_TYPE_PLAYER) or (bit.band(sourceFlags, COMBATLOG_OBJECT_CONTROL_PLAYER) == COMBATLOG_OBJECT_CONTROL_PLAYER) local isHostileSource = (bit.band(sourceFlags,COMBATLOG_OBJECT_REACTION_HOSTILE) == COMBATLOG_OBJECT_REACTION_HOSTILE) local isNeutralSource = (bit.band(sourceFlags,COMBATLOG_OBJECT_REACTION_NEUTRAL) == COMBATLOG_OBJECT_REACTION_NEUTRAL) if (event=="COMBAT_LOG_EVENT_UNFILTERED") then local InterruptSpells = { {Spell = "Mind Freeze", Cooldown = 15 }, {Spell = "Strangulate", Cooldown = 120}, {Spell = "Skull Bash", Cooldown = 15}, {Spell = "Solar Beam", Cooldown = 60}, {Spell = "Counter Shot", Cooldown = 24}, {Spell = "Counterspell", Cooldown = 24}, {Spell = "Spear Hand Strike", Cooldown = 15}, {Spell = "Avenger's Shield", Cooldown = 15}, {Spell = "Rebuke", Cooldown = 15}, {Spell = "Silence", Cooldown = 45}, {Spell = "Kick", Cooldown = 15}, {Spell = "Deadly Throw", Cooldown = 0}, {Spell = "Wind Shear", Cooldown = 12}, {Spell = "Spell Lock", Cooldown = 24}, {Spell = "Optical Blast", Cooldown = 24}, {Spell = "Pummel", Cooldown = 15} -- Add more if you want, make sure to format it correctly } if (type == "SPELL_AURA_APPLIED") or (type == "SPELL_CAST_SUCCESS") then local spellID, spellName, spellSchool = select(12, ...) for i=1, #InterruptSpells do if InterruptSpells.Spell == spellName then if destGUID == UnitGUID("player") then local tspell, _, _, _, tstart, tend, _, _, tint = UnitCastingInfo("player") local tchannel, _, _, _, tchannelstart, tchannelend, _, tchannelint = UnitChannelInfo("player") if tint or tchannelint then -- if immune to disrupts, then return return else SpellStopCasting() -- else stop spell casting end end if not isHostileSource and not isNeutralSource then return end if isFriendlySource and not isNeutralSource then return end if not isPlayerSource and not isNeutralSource then return end -- these are filters for enemy so we don't track friendly disrupts if( not JukeTable [sourceGUID]) then JukeTable [sourceGUID]= {} end if( not JukeTable[sourceGUID][InterruptSpells.Spell]) then JukeTable[sourceGUID][InterruptSpells.Spell] = { time = GetTime(), reset = InterruptSpells.Cooldown + GetTime() } --This tracks GUID interrupt cooldown in a table end end end end end end EventHandlerLog:SetScript('OnEvent', OnSuccessfulCast) EventHandlerLog = true end
Сообщение # 1520 написано 21.03.2016 в 14:31
|
GetComboPoints("player","target")==5
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1521 написано 21.03.2016 в 15:35
|
Fea[n]oR, ну во первых если у вас рускоязычный клиент название спеллов должны быть прописанны кириллицей
во вторых подчистите комментарии в теле скрипта
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1523 написано 21.03.2016 в 18:08
|
Если это водэмпаир или циркуль, то там автофейки не работают. Дело не в пингах и прочем. Добавлено (22.03.2016, 16:47) Я наверное задолбал вас вопросами))))Но не смог найти, можно как-то вбить авто-овечку что-бы учитывался деминишинг? Тобишь 3 овцы потом пауза 15 сек. Нужно, что бы при каждом касте овцы в юнит, этот юнит добавлялся в массив с указанием времени наложения(например) и последующим кд на повторное наложение без диминишинга. Это в общих чертах.
Сообщение # 1525 написано 22.03.2016 в 16:47
|
Всем привет,перечитав 1.5 мессаг ветки,много чего для себя извлёк и сделал скриптов :))
Собственно есть пару мыслей,и хотелось бы услышать ответ,есть ли прок пробовать сделать несколько скриптов: 1) Автокик вару,что бы сам одевал 1ручку и Щит,кикал,одевал обратно 2ручку? 2) На арене смена таргета с фокусом(арена фреймом) местами (как юзал когда-то Гидра). Тоесть,у меня в ТАРГЕТЕ арена 1 таргет,значит в ФОКУС берется АРЕНА 2. При смене мной(Таб) таргета на Арена 2(он становится таргетом) а Арена 1(СТановится фокусом) В общем как-то замудрёно,но надеюсь что меня поймут... Своих знаний хватает лишь на некторые наработки и изменение уже готовых скриптов.
Сообщение # 1526 написано 22.03.2016 в 20:39
|
1) Автокик вару,что бы сам одевал 1ручку и Щит,кикал,одевал обратно 2ручку? 2) На арене смена таргета с фокусом(арена фреймом) местами (как юзал когда-то Гидра). Тоесть,у меня в ТАРГЕТЕ арена 1 таргет,значит в ФОКУС берется АРЕНА 2. При смене мной(Таб) таргета на Арена 2(он становится таргетом) а Арена 1(СТановится фокусом) Все это можно реализовать и не очень трудно. Но насчет первого, зачем это?
Сообщение # 1527 написано 22.03.2016 в 20:45
|
Ну как бЭ что бы небыло лишних запар с веапоном (хотя у меня сейчас есть личный МАКРОС,который отлично работает и не кикает то что ненужно)) Больше интересует реализация 2рого пунктика моей просьбы.... Не мог бы ты мне помочь? Скрипты тебе предлогать-глупо :) Тоесть ябы попробовал сделать его сам,но....Тут небыло ничего подобного,с чего можно было бы брать "пример" Первый макрос,можно тупо обратиться к макросу с : Эквип 1хэнд Эквип Шилд Сам баш Эквип 2хэнд веапон Но нужно еще дописать именно какие спеллы кикать,но я так понимаю что таким путём кик будет где-то через 0.8-1сек |
2) На арене смена таргета с фокусом(арена фреймом) местами (как юзал когда-то Гидра). Тоесть,у меня в ТАРГЕТЕ арена 1 таргет,значит в ФОКУС берется АРЕНА 2. При смене мной(Таб) таргета на Арена 2(он становится таргетом) а Арена 1(СТановится фокусом) Попробуй данный макрос: Код /cleartarget [target=target,dead] /clearfocus [target=focus, dead] /target focus /cleartarget [target=focus,noexists] /targetlasttarget /focus target [nodead] /targetlasttarget
Сообщение # 1530 написано 23.03.2016 в 18:16
|
| |||