Модератор форума: staford11  
Использование Lua скриптов.
xeus
Скаут
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)
вроде сделал как ты сказал но че все равно не пашет может еще что-то не так сделал?
Сообщение # 1501 отредактировано xeus - Четверг, 17.03.2016, 12:04
ganus1993
Сержант
xeus, попробуй перед переменными(сигнатурами) enabled и inRange дописать local (локальная переменная)
т.е. local enabled =GetSpellCooldown("Разоружение")
local inRange = IsSpellInRange("Разоружение")
И ещё почему end 3 шт? Один закрывает условие(if), второй завершает код , а третий зачем?
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1502 отредактировано ganus1993 - Четверг, 17.03.2016, 14:33
chaosway
Рыцарь
ganus1993, local inRange = IsSpellInRange("Разоружение") дистанция до кого забыл указать)
Сообщение # 1503 написано 17.03.2016 в 14:53
ganus1993
Сержант
chaosway, молодец внимательный:)
local inRange = IsSpellInRange("Разоружение","focus")
Походу в этом и главная ошибка была.
Одноименный товарищ проверяй и не забудь лишний end убрать
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1504 отредактировано ganus1993 - Четверг, 17.03.2016, 15:04
PaulDousen
Рыцарь
Цитата mogilev18 ()
есть на кота на 4.3.4

Конечно есть, скрипты есть на всех так-то. В открытом доступе много их, но качество не очень. Лучше писать самому или купить.
Сообщение # 1505 написано 17.03.2016 в 15:30
incubator
Скаут
Цитата xeus ()
if UnitBuff("Вихрь клинков")
тут разве не нужно указать, что искать бафф "вихрь клинков" в фокусе?
Сообщение # 1506 написано 17.03.2016 в 16:12
ganus1993
Сержант
incubator, да здесь тоже UnitBuff("focus","Вихрь клинков")
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1507 написано 17.03.2016 в 16:19
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)
я сделал как вы посоветовали но почему все рано он не срабатывает) может что-то еще не так я просто не силен в скриптах)
Сообщение # 1508 отредактировано xeus - Четверг, 17.03.2016, 16:25
chaosway
Рыцарь
xeus, local inRange = IsSpellInRange("Разоружение","focus") - он оценивает дистанцию спеллом дизарм до твоего "фокуса"
if UnitBuff("Вихрь клинков") - тут не указано на ком искать баф (таргете или фокусе)
CastSpellByName("Разоружение") - тут не указано в кого использовать спелл, по умолчанию в таргет
Сообщение # 1509 написано 17.03.2016 в 17:49
incubator
Скаут
xeus
Цитата 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
xeus
Скаут
То что ты дал не фурычик почему то(
Цитата incubator ()
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
chaosway
Рыцарь
xeus, if UnitBuff("focus","Вихрь клинков") нужно наоборот if UnitBuff("Вихрь клинков", "focus")
Сообщение # 1512 написано 18.03.2016 в 15:19
Pandajkee
Скаут
Цитата Pandajkee ()
Здравствуйте, 
поясните, пожалуйста, как вообще пользоваться BindPad'om?
Вошел я в игру, набрал /bp , открылось окно, далее создаю иконку с именем test (как самый простой пример : мне надо, чтобы через 5секунд после активации произошел каст любого заклинания), а что с ним делать потом?Бинд на сам скрипт делать нельзя (шапку читал - он напишется в чате), а тогда как его использовать?

Может кто пояснить?Сам никак не могу разобраться:(
Сообщение # 1513 написано 18.03.2016 в 17:02
PaulDousen
Рыцарь
Цитата chaosway ()
if UnitBuff("focus","Вихрь клинков") нужно наоборот if UnitBuff("Вихрь клинков", "focus")


Не нужно
Сообщение # 1514 написано 19.03.2016 в 00:00
chaosway
Рыцарь
PaulDousen, а что у него не работает? Или из за того что пробел не поставил в том месте
Сообщение # 1515 написано 19.03.2016 в 08:44
loloalex4
Скаут
Добрый день. Посидел в инете несколько часов, попытался сделать скрипт на ферала 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
Сообщение # 1516 отредактировано loloalex4 - Суббота, 19.03.2016, 15:17
incubator
Скаут
Loloalex4, зачем тебе проверка на расстояние заклинания цел.прикосновения в фокус и проверка его на кд? На сколько знаю у него нет кд
Сообщение # 1517 написано 19.03.2016 в 17:17
chaosway
Рыцарь
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
loloalex4
Скаут
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)
---------------------------------------------

Цитата loloalex4 ()
3)Почему клиент троху подвисает на автокике, когда я в контроле и кик сделать немогу. Можно как то это исправить или прописывать через if nodebaff?
Подвисает, когда в шипе или овечке например, и маг кастует фрост болт. А адон пытается сбить каст)))
Сообщение # 1519 написано 21.03.2016 в 14:15
Fea[n]oR
Капрал
Помогите дали скрип на автофейк(ВОД 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
ganus1993
Сержант
Цитата loloalex4 ()
2)Такой вопрос как проверить комбо(стаки) х5 на дру?))
GetComboPoints("player","target")==5
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1521 написано 21.03.2016 в 15:35
chaosway
Рыцарь
loloalex4, тему читай, пару страниц назад было про стаки
Сообщение # 1522 написано 21.03.2016 в 17:07
ganus1993
Сержант
Fea[n]oR, ну во первых если у вас рускоязычный клиент название спеллов должны быть прописанны кириллицей
во вторых подчистите комментарии в теле скрипта
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 1523 написано 21.03.2016 в 18:08
loloalex4
Скаут
Я наверное задолбал вас вопросами))))Но не смог найти, можно как-то вбить авто-овечку что-бы учитывался деминишинг? Тобишь 3 овцы потом пауза 15 сек.
Сообщение # 1524 написано 22.03.2016 в 02:31
PaulDousen
Рыцарь
Цитата Fea[n]oR ()
Что не так?


Если это водэмпаир или циркуль, то там автофейки не работают. Дело не в пингах и прочем.

Добавлено (22.03.2016, 16:47)
---------------------------------------------

Цитата loloalex4 ()
Я наверное задолбал вас вопросами))))Но не смог найти, можно как-то вбить авто-овечку что-бы учитывался деминишинг? Тобишь 3 овцы потом пауза 15 сек.
Можно. Но это будет сложнее чем просто дописать пару условий.

Нужно, что бы при каждом касте овцы в юнит, этот юнит добавлялся в массив с указанием времени наложения(например) и последующим кд на повторное наложение без диминишинга. Это в общих чертах.
Сообщение # 1525 написано 22.03.2016 в 16:47
Mymrax
Скаут
Всем привет,перечитав 1.5 мессаг ветки,много чего для себя извлёк и сделал скриптов :))

Собственно есть пару мыслей,и хотелось бы услышать ответ,есть ли прок пробовать сделать несколько скриптов:
1) Автокик вару,что бы сам одевал 1ручку и Щит,кикал,одевал обратно 2ручку?
2) На арене смена таргета с фокусом(арена фреймом) местами (как юзал когда-то Гидра). Тоесть,у меня в ТАРГЕТЕ арена 1 таргет,значит в ФОКУС берется АРЕНА 2. При смене мной(Таб) таргета на Арена 2(он становится таргетом) а Арена 1(СТановится фокусом)
В общем как-то замудрёно,но надеюсь что меня поймут...
Своих знаний хватает лишь на некторые наработки и изменение уже готовых скриптов.
Сообщение # 1526 написано 22.03.2016 в 20:39
PaulDousen
Рыцарь
Цитата Mymrax ()
1) Автокик вару,что бы сам одевал 1ручку и Щит,кикал,одевал обратно 2ручку?
2) На арене смена таргета с фокусом(арена фреймом) местами (как юзал когда-то Гидра). Тоесть,у меня в ТАРГЕТЕ арена 1 таргет,значит в ФОКУС берется АРЕНА 2. При смене мной(Таб) таргета на Арена 2(он становится таргетом) а Арена 1(СТановится фокусом)


Все это можно реализовать и не очень трудно.
Но насчет первого, зачем это?
Сообщение # 1527 написано 22.03.2016 в 20:45
Mymrax
Скаут
Цитата PaulDousen ()
Все это можно реализовать и не очень трудно.
Но насчет первого, зачем это?

Ну как бЭ что бы небыло лишних запар с веапоном (хотя у меня сейчас есть личный МАКРОС,который отлично работает и не кикает то что ненужно))

Больше интересует реализация 2рого пунктика моей просьбы....
Не мог бы ты мне помочь? Скрипты тебе предлогать-глупо :)

Тоесть ябы попробовал сделать его сам,но....Тут небыло ничего подобного,с чего можно было бы брать "пример"

Первый макрос,можно тупо обратиться к макросу с :
Эквип 1хэнд
Эквип Шилд
Сам баш
Эквип 2хэнд веапон

Но нужно еще дописать именно какие спеллы кикать,но я так понимаю что таким путём кик будет где-то через 0.8-1сек
Сообщение # 1528 отредактировано Mymrax - Вторник, 22.03.2016, 20:55
Jonnyhpal
Скаут
Привет народ, такая ситуация, заблочили аддоны BindPad и SuperDuperMacro, есть ли какой нибудь аналог ? :c
Переименовать пробовал, все равно не работает ((
Сообщение # 1529 написано 23.03.2016 в 11:51
incubator
Скаут
Цитата Mymrax ()
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
Поиск: