Модератор форума: staford11  
Использование Lua скриптов.
DiSq
Рыцарь
gapk,
Код
function arcanee(self)   
local name, _, _, count  = UnitDebuff("player", "Чародейская вспышка")   
local inCombat = UnitAffectingCombat("target")   
   if inCombat == 1 then   
    if (name == "Чародейская вспышка" and count==3) and UnitBuff("player", "Ясность мысли")  then   
     print("Заклинание №1 если условия соблюдены")
    else   
     print("Заклинание №2 во всех остальных случаях")   
    end   
   end   
end   
CreateFrame("Frame", "arcanefre")   
arcanefre:SetScript("OnUpdate", arcanee)
Сообщение # 871 отредактировано DiSq - Воскресенье, 12.04.2015, 20:23
Рорк
Скаут
Доброго времени суток! Я пока новичок в этой теме, но стараюсь понять и разобраться в ней, столкнулся с проблемой в самом начале знакомства.. Скачал bindbp, он успешно был перекинут в папку аддонов, в игре запускается. Ввожу скрипт, который был на 1-й странице темы и...ничего! Может из-за смещения текста при вставке скрипт не робит? Я просто хз, что я не так делаю, помогите, парни!
Вот скрипт, который я юзал:
DefPet = CreateFrame("Frame", "PetFrame", UIParent);
DefPet:RegisterEvent("UNIT_HEALTH");
DefPet:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="UNIT_HEALTH") then
if arg1 == "pet" then
local enabled = GetSpellCooldown("Сжаться")
if enabled == 0 then
local health = UnitHealth("pet")
if health <= 5000 then
CastPetAction(4)
end
end
end
end
end)

Добавлено (13.04.2015, 19:05)
---------------------------------------------
И вот этот
DefPet2 = CreateFrame("Frame", "PetFrame2", UIParent);
DefPet2:RegisterEvent("UNIT_HEALTH");
DefPet2:SetScript("OnEvent", function(self, event, arg1, arg2, ...)
if(event=="UNIT_HEALTH") then
if arg1 == "target" then
local enabled = GetSpellCooldown("Отгрызть")
if enabled == 0 then
inRange = IsSpellInRange("Отгрызть", "target")
if inRange==1 then
local isEnemy = UnitIsEnemy("player","target")
if isEnemy == 1 then
local health = UnitHealth("target")
if health <= 3000 then
RunMacro("кус")
end
end
end
end
end
end
end)

Сообщение # 872 написано 13.04.2015 в 19:05
gapk
Скаут
Цитата DiSq ()
DiSq


Спасибо большое smile Очень красиво написал, у меня не так красиво, но тоже сработал smile

Добавлено (14.04.2015, 09:31)
---------------------------------------------
Цитата Рорк ()
Доброго времени суток! Я пока новичок в этой теме, но стараюсь понять и разобраться в ней, столкнулся с проблемой в самом начале знакомства.. Скачал bindbp, он успешно был перекинут в папку аддонов, в игре запускается. Ввожу скрипт, который был на 1-й странице темы и...ничего! Может из-за смещения текста при вставке скрипт не робит? Я просто хз, что я не так делаю, помогите, парни!

Цитата Рорк ()
Рорк


Чтобы длинные скрипты вроде этого начали работать - необходимо запустить анлокер луа. Их существует множество, но ссылка на один из них выложена в этой теме на 1 странице - называется Gagarin 1.7.
Запускаешь ВОВ, запускаешь гагарина - устанавливаешь в нём - анлок луа, выбираешь процесс вов и жмешь ATTACH
После этого заходишь на персонажа, открываешь аддон с макросами и открываешь свой скрипт - нажимаешь "Запустить"
Теперь, если скрипт написан правильно, он начинает работать smile
Скрипт на укус зомбаком какой-то нелогичный, даже не представляю когда он может быть использован smile

Если кто-то заинтересован в скриптах на авторотацию(см. далее) ПВЕ любому классу 3.3.5 (вам останется лишь бегать и соблюдать тактику, атакующие умения нажимать не надо - они автоматически будут использоваться по приоритету (не по ротации, а именно по выгодному приоритету) т.е. максимально эффективно) - пишите в личку, напишу для вас за символическую сумму на webmoney smile
Сообщение # 873 отредактировано gapk - Вторник, 14.04.2015, 09:35
light117
Рыцарь
Цитата gapk ()
Скрипт на укус зомбаком какой-то нелогичный, даже не представляю когда он может быть использован

Там на лоу хп станит таргет, чтобы там не хильнулся или еще чего
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 874 написано 14.04.2015 в 09:37
Рорк
Скаут
Цитата gapk ()
Чтобы длинные скрипты вроде этого начали работать - необходимо запустить анлокер луа. Их существует множество, но ссылка на один из них выложена в этой теме на 1 странице - называется Gagarin 1.7.
Запускаешь ВОВ, запускаешь гагарина - устанавливаешь в нём - анлок луа, выбираешь процесс вов и жмешь ATTACH
После этого заходишь на персонажа, открываешь аддон с макросами и открываешь свой скрипт - нажимаешь "Запустить"

Огромное спасибо за ответ, но самое странное, что вчера в конечном итоге у меня получилось запустить некоторые скрипты и без гагарина, например скрипт на автонезыблемость, когда кидают покаяние и прочие каки, но когда я сегодня включил вов, они перестали работать, не понимаю почему...
Запустил гагарина, поставил галку на анлок луа, но не нашел процесс вов, там есть только процесс 3500, когда его поставил, то все равно скрипт не заработал..
Сообщение # 875 отредактировано Рорк - Вторник, 14.04.2015, 17:55
gapk
Скаут
Цитата Рорк ()
там есть только процесс 3500, когда его поставил, то все равно скрипт не заработал..


Всё правильно, выбираешь эту "3500" и жмешь ATTACH.
Скорее всего у тебя перестали работать скрипты, потому что названия функций в скриптах одинаковые, вроде это багает их работу.
Каждый раз когда ты заходишь в WoW или делаешь /reload, /reloadui надо запускать скрипты заного smile
На каком сервере ты пытаешься их запустить?
Сообщение # 876 отредактировано gapk - Вторник, 14.04.2015, 19:54
Рорк
Скаут
Цитата gapk ()
Всё правильно, выбираешь эту "3500" и жмешь ATTACH.
Скорее всего у тебя перестали работать скрипты, потому что названия функций в скриптах одинаковые, вроде это багает их работу.
Каждый раз когда ты заходишь в WoW или делаешь /reload, /reloadui надо запускать скрипты заного
На каком сервере ты пытаешься их запустить?

Так я нажал, все равно не работали,хотя через некоторое время один из скриптов заработал, но криво, вчера все норм шло, хоть и гагарин не стоял, не понимаю почему..
Про релоад знаю, каждый раз как включаю игру или делаю релоад, то в bp заново запускаю скрипты, все равно не получается
Я тестирую на фан 3.3.5 цыркуля
Кстати как понять одинаковые функции в скриптах? и как это исправить?
Сообщение # 877 отредактировано Рорк - Вторник, 14.04.2015, 22:39
Samatwh
Скаут
Привет всем, у мну вопрос сейчас работает скрипты на циркле в частности на х100? если работает можете поделится скриптом ловли блайнд ванишом! Спс заранее
Сообщение # 878 написано 15.04.2015 в 09:22
PaulDousen
Рыцарь
Цитата Samatwh ()
сейчас работает скрипты на циркле в частности на х100?


Работают.
Сообщение # 879 написано 15.04.2015 в 14:33
Dalshi
Скаут
Нужна помощь со скриптами на:
1) варовский дизарм в бш
2) диспел бопа, если у меня 20000+ хп
3) рефлект пальца, лавы, лягушки, смерча за долю секунды до конца каста.
Прочитал всю тему, пытался написать сам, эти 3 макроса не получились.
Буду очень признателен, если поможете хотя бы с одним из них.
Сообщение # 880 написано 15.04.2015 в 22:12
Рорк
Скаут
Ку всем!
Написал скрипт на швд против Покаяния, но когда пытаюсь внести туда блайнд, скатер, то перестает работать, наверно я неправильно что-то пишу?
вот скрипт только против Покаяния:
Код
test2 = CreateFrame("Frame")   
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 spellName == "Покаяние" and destGUID == UnitGUID("player") then   
CastSpellByName("Слово Тьмы: Смерть")   
end   
end   
end   
end   
test2:SetScript("OnEvent", ev)   
test2:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED")   
test2:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")

Вот с Ослеплением:
Код
test2 = CreateFrame("Frame")
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 spellName == "Покаяние" or spellName == "Ослепление" and destGUID == UnitGUID("player") then
CastSpellByName("Слово Тьмы: Смерть")
end
end
end
end
test2:SetScript("OnEvent", ev)
test2:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
test2:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
Сообщение # 881 отредактировано Рорк - Четверг, 16.04.2015, 11:11
Samatwh
Скаут
может кто написать скрипт? Блайнд ловить ванишем
Сообщение # 882 написано 16.04.2015 в 17:44
SuperSerious
Сержант
Samatwh, confused еще один. тебе лень тему пролистать?
Сообщение # 883 написано 16.04.2015 в 18:23
Dalshi
Скаут
Помогите довести до ума скрипт на рефлект. Тестил с локовским испепелением, все идеально (срабатывает на последней доле секунды каста), но, когда пробую вписывать другие спелы, все идет криво - рефлект либо прожимается после каста, либо прожимается от пары фейков, эксперементировал с заменой значения if self.total >= 1.5 then, не нашел оптимального, чтобы подошло под все спелы. Нельзя ли указывать момент рефлекта не в секундах, а в % каста?
Цитата


local ScriptAddon = CreateFrame("Frame", "vanish1", nil)
function ScriptAddon:OnEvent(event, ...) -- functions created in "object:method"-style have an implicit first parameter of "self", which points to object
self[event](self, ...) -- route event parameters to ScriptAddon:event methods
end
ScriptAddon:SetScript("OnEvent", ScriptAddon.OnEvent)
ScriptAddon:RegisterEvent("UNIT_SPELLCAST_START")

function ScriptAddon:UNIT_SPELLCAST_START(unit)
local spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(unit)
if not spell then return end
if displayName == "Испепеление" then
self:SetScript("OnUpdate", self.OnUpdate)
self.unit = unit
self.total = 0
self.endTime = endTime/1000 -- this is equal to GetTime() at which the cast will end
self.unitName = UnitName(unit)
end
end

function ScriptAddon:OnUpdate(elapsed)
self.total = self.total + elapsed
-- only call function every 50ms to improve performance
if self.total >= 1.5 then
self.total = 0
local spell, rank, displayName, icon, startTime, endTime, isTradeSkill = UnitCastingInfo(self.unit)
if endTime and endTime/1000 - GetTime() <= 1 then
-- stop using performance heavy onupdate function if no spellcast is currently going on
self:SetScript("OnUpdate", nil)
TargetUnit(self.unit)
CastSpellByName("Отражение заклинания")
elseif self.endTime-1 <= GetTime() then -- lost Unit (changed target e.g.), guessing cast timer
self:SetScript("OnUpdate", nil)
TargetUnit(self.unitName)
CastSpellByName("Отражение заклинания")
end
end
end
Сообщение # 884 отредактировано Dalshi - Пятница, 17.04.2015, 20:24
unknown43
Скаут
помогите доработать скрипт, необходимо, чтобы он швдшил те скилы, которые в нём написаны только тогда, когда они летят именно в меня, а то когда в напарника дают блайнд например, у меня скрипт реагирует, и ещё момент, можно ли как то нагрузить вов, чтоб поднять задержу в игре не на много, а то без фпс совсем не успевает скрипт сработать =\
Код
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")
Сообщение # 885 отредактировано unknown43 - Суббота, 18.04.2015, 04:52
light117
Рыцарь
Цитата unknown43 ()
можно ли как то нагрузить вов, чтоб поднять задержу в игре не на много, а то без фпс совсем не успевает скрипт сработать =\

wtf? Ты хочешь поднять задержку в игре, чтобы увеличить фпс? От увеличенного пинга у тебя скрипт тем более не сработает, а на фпс влияет мощность компьютера, чем мощнее компьютер тем больше фпс.
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 886 написано 19.04.2015 в 17:45
Felheart
Скаут
Подскажите как зделать когда Реванш недоступен чтобы кастовалось Сокрушение
Сообщение # 887 написано 22.04.2015 в 22:54
Terranova3211
Скаут
Дарова парни , сделал все как написано , но пишет что макрос доступен только для интерфейса близард , в чем проблема не подскажете ?)
Сообщение # 888 написано 23.04.2015 в 15:08
PaulDousen
Рыцарь
Цитата Terranova3211 ()
доступен только для интерфейса близард


Значит не анлочил луа
Сообщение # 889 написано 23.04.2015 в 23:09
Acc_228
Рыцарь
Всем привет, сколько читаю эту тему, все кто-то пытался найти авто-ваниш и не один человек, и авто-ваниш уже выкладывали, но не внимательные и не опытные форумчани, проморгали его ну это я про тех кому требуется авто-ваниш и они хотят его заполучить любыми путями, писать сами не хотят и покупать тоже, ну ладно так уж и быть я решил выложить 3 способа рабочего авто-ваниша.
Реагировать данные скрипты будут если во первых, рабочий анлокер, во вторых приличный пинг, ну и в третьих это флайтайм сервера и его работоспособность.
Скрипты состоят из трех по функциям одинаковым способам но по разным эвентам.

1. Скрипт реагирующий на UNIT_SPELLCAST_SUCCEEDED.

OneScriptForVanish = CreateFrame("Frame", "OneScriptForVanish", UIParent);
OneScriptForVanish:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
OneScriptForVanish:SetScript("OnEvent", function(self, event, ...)
VanishSpellOne = {"Ослепление", "Подлый трюк", "Удар по почкам"} -- Вписываем название спеллов вот так "Название",
for v = 1,#VanishSpellOne do
local args = {...}
if (arg1 == "target" and arg2 == VanishSpellOne[v]) then
CastSpellByID("26889")
print("АвтоВаниш Среагировал! А поймал или нет, это уже зависит от пинга!")
end
end
end)

2. Скрипт реагирующий на COMBAT_LOG_EVENT_UNFILTERED. Думаю многим скриптерам известный эвент.

TwoScriptForVanish = CreateFrame("Frame", "TwoScriptForVanish", UIParent);
TwoScriptForVanish: RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
TwoScriptForVanish:SetScript("OnEvent", function(self, event, ...)
VanishSpellTwo = {"Ослепление", "Подлый трюк", "Удар по почкам"} -- Вписываем название спеллов вот так "Название",
for x = 1,#VanishSpellTwo do
local args = {...}
if (arg10 == VanishSpellTwo[x] and arg2 == "SPELL_CAST_SUCCESS" and arg7 ==UnitName("player")) then
CastSpellByID("26889")
print(""..arg3..", кинул \124cffff0000\124Hspell:"..arg8.."\124h["..arg9.."]\124h\124r\124cffffffff = \124cff06ff00Miss\124r")
end
end
end)

3. Скрипт реагирующий на UNIT_ENERGY. Изучил я его не до конца, реагирует как харм, кому интересно можете его переделать под именные спеллы, но я этим себе голову не забивал.

local f=CreateFrame("Frame","f")
f:RegisterEvent("UNIT_ENERGY")
f:SetScript("OnEvent", function() cheat() end)

local enabled = false

SLASH_VANISH1 = "/vanish"

local lastEnergy = 0

function cheat()
if (enabled) then
if UnitPower("target") < lastEnergy and (UnitIsEnemy("player","target")) then
CastSpellByName("Исчезновение")
end
lastEnergy = UnitPower("target")
end
end

SlashCmdList["VANISH"] = function(msg)
if msg == "enable" then
enabled = true
elseif msg == "disable" then
enabled = false
else
print("wrong command bre: use enable or disable")
end
end

Удачи в использовании тем, кто искал данные скрипты, если что отписывайте работают или нет, у меня все отлично работает, так что думаю они не вызовут не каких ошибок, если вы только сами их себе не создадите)
Как запускать их думаю всем уже понятно, и настройка запуска написана на 1 странице.
Делаю на заказ аддоны, читы, патчи. Обращайтесь. Skype: AccLeito или vk.com/acclua так-же есть группа: vk.com/wowscriptcheat
Скрипты и функциональные меню, на заказ.
AccHacK v2.0 WoW 3.3.5
Unlocker WoW 3.3.5
Мой канал на YouTube
Сообщение # 890 отредактировано Acc_228 - Пятница, 24.04.2015, 14:08
Frosy
Капрал
Кто может написать скрипты на автокик и автограундинг определенных абилок (дип/ходж) в пм или сюда.
Сообщение # 891 написано 24.04.2015 в 19:17
light117
Рыцарь
Acc_228, Как бы подредактировать его, чтобы ловил даже если тебя контролят по фокусу?
Твой первый скрипт ловит при условии targettarget, а второй ловит абсолютно все, даже при попадании по крысе biggrin

Добавлено (25.04.2015, 20:49)
---------------------------------------------
Necrofobianx, у меня ловит и при пинге в 85

Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 892 написано 25.04.2015 в 20:49
Acc_228
Рыцарь
Цитата light117 ()
Твой первый скрипт ловит при условии targettarget

Напиши в 1 скрипте место target focus и все)
А на счет 2 там arg настроить если то будет ловить только если по тебе летит спелл.
Делаю на заказ аддоны, читы, патчи. Обращайтесь. Skype: AccLeito или vk.com/acclua так-же есть группа: vk.com/wowscriptcheat
Скрипты и функциональные меню, на заказ.
AccHacK v2.0 WoW 3.3.5
Unlocker WoW 3.3.5
Мой канал на YouTube
Сообщение # 893 отредактировано Acc_228 - Понедельник, 27.04.2015, 10:35
light117
Рыцарь
Цитата Acc_228 ()
Напиши в 1 скрипте место target focus и все)

В таком случае он будет ловить онли targetfocus :DDD
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 894 написано 27.04.2015 в 17:59
printf
Скаут
Цитата light117 ()
В таком случае он будет ловить онли targetfocus :DDD

Можно же записать несколько юнитов, арена1, 2, 3, для арены вполне.
Сообщение # 895 написано 27.04.2015 в 18:50
light117
Рыцарь
printf, а если destGUID == UnitGUID("player")

Добавлено (27.04.2015, 19:42)
---------------------------------------------
У меня есть свой скрипт, только я не могу понять как он реагирует на спелы... При тестах он реагирует именно при касте в меня, даже если держать меня в таргете а контроль идет по фокусу - скрипт не реагирует.. Но иногда просто стоишь в клоаке и он неизвестно на что реагирует

Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 896 написано 27.04.2015 в 19:42
Acc_228
Рыцарь
Цитата light117 ()
В таком случае он будет ловить онли targetfocus :DDD

Ну яж не сказал targetfocus а мне таргета фокус, это уж самое легкое из части ваниша вроде, поменять унит. Я уж думал сами справитесь если надо)
Делаю на заказ аддоны, читы, патчи. Обращайтесь. Skype: AccLeito или vk.com/acclua так-же есть группа: vk.com/wowscriptcheat
Скрипты и функциональные меню, на заказ.
AccHacK v2.0 WoW 3.3.5
Unlocker WoW 3.3.5
Мой канал на YouTube
Сообщение # 897 написано 27.04.2015 в 20:13
PaulDousen
Рыцарь
Цитата light117 ()
В таком случае он будет ловить онли targetfocus


используй таблицу со списком всех нужных юнитов
Сообщение # 898 написано 28.04.2015 в 00:51
Рорк
Скаут
Цитата Acc_228 ()
1. Скрипт реагирующий на UNIT_SPELLCAST_SUCCEEDED.

OneScriptForVanish = CreateFrame("Frame", "OneScriptForVanish", UIParent);
OneScriptForVanish:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")
OneScriptForVanish:SetScript("OnEvent", function(self, event, ...)
VanishSpellOne = {"Ослепление", "Подлый трюк", "Удар по почкам"} -- Вписываем название спеллов вот так "Название",
for v = 1,#VanishSpellOne do
local args = {...}
if (arg1 == "target" and arg2 == VanishSpellOne[v]) then
CastSpellByID("26889")
print("АвтоВаниш Среагировал! А поймал или нет, это уже зависит от пинга!")
end
end
end)

Привет! Пытался переделать твой скрипт под швд приста, чтобы ловить покаяние и прочую мразоту, получилось так:
Код
OneScriptForVanish = CreateFrame("Frame", "OneScriptForVanish", UIParent);     
OneScriptForVanish:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED")     
OneScriptForVanish:SetScript("OnEvent", function(self, event, ...)     
VanishSpellOne = {"Покаяние"}     
for v = 1,#VanishSpellOne do     
local args = {...}     
if (arg1 == "target" and arg2 == VanishSpellOne[v]) then     
CastSpellByID("32379")     
print("Автошвд среагировал!")     
end     
end     
end)

Но чет перестает робить скрипт, когда я дописываю другие спелы, например если дописываю к покаянию еще и ослепление, то перестает робить sad а после того как удаляю дописанное и оставляю только покаяниЕ, то тоже не робит!
я нуб в этом еще, подскажи, что я не так написал плиз!
Сообщение # 899 отредактировано Рорк - Вторник, 28.04.2015, 21:23
light117
Рыцарь
Рорк, потому что с ошибками пишешь
Нажатие на кнопку "запомнить пароль" не поможет вам запомнить пароль
Сообщение # 900 написано 28.04.2015 в 21:31
Поиск: