Модератор форума: staford11  
Использование Lua скриптов.
Tehnokrat011
Капрал
Цитата xGhostx ()
аддон например АтласЛут, который хранит в втф функцию, вовциркуль подменяет эту функцию на свою, в которой если ты не на сервере вовсиркл удаляет шмот, пересылает голд на указаного чара когда открыта почта
Нет, эти действия нельзя совершить без hardware подтверждения, т.е игрок должен нажать мышкой или кнопкой, чтобы переслать голд или удалить шмот. если lastHardwareAction в клиенте будет равна 0 (а напомню, что в память на личе писать нельзя), то будет дисконнект на офе при попытке сделать такие действия.
Disassembling, Intercepting/Hooking, Sniffing, Cryptography, Cracking - D.I.S.C.C )
IDA - is the best disassembler, SoftICE - is good debugger :) ©
Programming, Hacking, Reverse Engineering - is everything!
Да иди ты в ...регистр eax )
The world is not enough....
Сообщение # 2461 написано 07.10.2017 в 13:13
xGhostx
Скаут
Цитата Tehnokrat011 ()
Нет, эти действия нельзя совершить без hardware подтверждения, т.е игрок должен нажать мышкой или кнопкой, чтобы переслать голд или удалить шмот. если lastHardwareAction в клиенте будет равна 0 (а напомню, что в память на личе писать нельзя), то будет дисконнект на офе при попытке сделать такие действия.
не требует нажатий. на удаление всего одетого шмота for i=1,19 do PickupInventoryItem(i) DeleteCursorItem() end
Сообщение # 2462 написано 07.10.2017 в 14:00
Bernstein
Скаут
Доброго времени суток. Подскажите, пожалуйста? Решил научиться разбираться со скриптами, но вот тут не могу найти ошибку... Должен при использовании ваниша целью/фокусом юзать деморализующий крик, но этого не происходит. Что не так в коде? 
if UnitExists("target")
and UnitBuff("target","Исчезновение")
and Throw ~= 0
and IsItemInRange("item:30651:0:0:0:0:0:0:0:0:0:0", "target") == 1
then
CastSpellByName("Деморализующий Крик")
end
if UnitExists("focus")
and UnitBuff("focus","Исчезновение")
and Throw ~= 0
and IsItemInRange("item:30651:0:0:0:0:0:0:0:0:0:0", "focus") == 1
then
CastSpellByName("Деморализующий Крик")
end
Сообщение # 2463 написано 07.10.2017 в 15:43
vagonpidarasov
Скаут
Цитата Bernstein ()
UnitBuff("target","Исчезновение")
Как ты получишь баффы у цели которая исчезла?
Я бы на UNIT_SPELLCAST_SUCCEEDED привязался.
Сообщение # 2464 написано 08.10.2017 в 17:30
Tttggg
Скаут
Пишу сприпты под пандарию.
Для монаха, для приста тоже применимо.
У монаха есть хилящие сферки.
Подскажите Как реализовать скрипт чтобы эти сферки по ноги кидались мне или напарникам?
Или направьте на путь истинный )
Говорят что такими скриптами на высоких рейтингах все пользовались.
Сообщение # 2465 написано 09.10.2017 в 14:43
Fqlolxl
Скаут
Имеется следующий скрипт для ротации фдк в пве:

Код
function fdk(self, elapsed)
local combat = UnitAffectingCombat("player")
local inRange = IsSpellInRange("Удар чумы", "target")
local a1, b1, c1 = GetRuneCooldown(1) -- start, duration, runeReady = GetRuneCooldown(slot)
local a2, b2, c2 = GetRuneCooldown(2) -- runeReady is boolean
local a3, b3, c3 = GetRuneCooldown(3) -- runes: (1,2,5,6,3,4)
local a4, b4, c4 = GetRuneCooldown(4)
local a5, b5, c5 = GetRuneCooldown(5)
local a6, b6, c6 = GetRuneCooldown(6)
local br1 = GetRuneType(1)
local br2 = GetRuneType(2)
local vFF = 0
local b = {UnitDebuff("target", "Озноб", nil, "PLAYER")}
local stop = IsLeftAltKeyDown()
if (stop == nil) and combat == 1 and inRange == 1 and UnitExists("target") and UnitCanAttack("player", "target") then
   if b[7] ~= nil then
   vFF=b[7] - GetTime()
   print(vFF)
   end
   if vFF ~= nil and vFF <= 3.5 and vFF > 0 then
   elseif c1 == true or c2 == true then
      CastSpellByName("Мор")
   end
   if (vFF - b1 < 2 or vFF - b2 < 2) and vFF <= 2 and combat == 1 then
      CastSpellByName("Кровоотвод")
   end
   if not UnitDebuff("target", "Озноб", nil, "PLAYER") and IsUsableSpell("Ледяное прикосновение") and IsSpellInRange("Ледяное прикосновение","target") then
      CastSpellByName("Ледяное прикосновение", "target")
   end
   if not UnitDebuff("target", "Кровавая чума", nil, "PLAYER") and IsUsableSpell("Удар чумы") and IsSpellInRange("Удар чумы", "target") then
      CastSpellByName("Удар чумы")
   end
   if GetSpellCooldown("Несокрушимая броня") == 0 and IsUsableSpell("Несокрушимая броня") then
      CastSpellByName("Несокрушимая броня")
   end
   if IsUsableSpell("Рунический удар") and IsSpellInRange("Рунический удар","target") and UnitPower("Player") > 20 then
      CastSpellByName("Рунический удар")
   end
   if IsSpellInRange("Воющий ветер","target") and UnitBuff("player", "Морозная дымка") then
      CastSpellByName("Воющий ветер")
   end
   if IsSpellInRange("Уничтожение","target") and (c3 == true and c5 == true) or (c4 == true and c6 == true) or (c3 == true and c6 == true) or (c4 == true and c5 == true) or (c1 == true and c2 == true and br1 == 4 and br2 == 4 and vFF ~= nil and vFF > 10 and vFF > 0) then
      CastSpellByName("Уничтожение", "target")
   end
   if IsSpellInRange("Уничтожение","target") and (c1 == true and c3 == true and br1 == 4) or (c1 == true and c4 == true and br1 == 4) or (c1 == true and c5 == true and br1 == 4) or (c1 == true and c6 == true and br1 == 4) or (c2 == true and c3 == true and br2 == 4) or (c2 == true and c4 == true and br2 == 4) or (c2 == true and c5 == true and br2 == 4) or (c2 == true and c6 == true and br2 == 4) then
      CastSpellByName("Уничтожение")
   end
   if c1 == true and c2 == true and br1 == 4 and br2 == 4 and GetSpellCooldown("Кровоотвод") == 0 then
      CastSpellByName("Уничтожение")
   end
   if UnitPower("Player") > 32 and UnitBuff("player", "Машина для убийств") and IsSpellInRange("Ледяной удар", "target") then
      CastSpellByName("Ледяной удар")
   end
   if br1 == 1 and IsUsableSpell("Кровавый удар") and IsSpellInRange("Кровавый удар", "target") and vFF > 10 then
      CastSpellByName("Кровавый удар")
   end
   if br2 == 1 and IsUsableSpell("Кровавый удар") and IsSpellInRange("Кровавый удар", "target") and vFF > 10 then
      CastSpellByName("Кровавый удар")
   end
   if UnitPower("Player") > 32 and IsSpellInRange("Ледяной удар", "target") then
      CastSpellByName("Ледяной удар")
   end
   if GetSpellCooldown("Зимний горн") == 0 then
      CastSpellByName("Зимний горн")
   end
end
end
CreateFrame("Frame", "fdkFrame")
fdkFrame:SetScript("OnUpdate", fdk)

Тестил на циркуле последний раз, думал неверно высчитывается оставшееся время тика доты "vFF", но после добавления print выяснил что считается все верно. Но все же мор пролжается спамится по откату двух первых рун без оглядки на эту переменную и заложенные условия. Это проблема в сервере или же я что то упустил? С надеждой прошу совета более опытных товарищей (надеюсь кто -то еще здесь остался после смерти гагарина).
Сообщение # 2466 написано 13.10.2017 в 20:38
xGhostx
Скаут
Цитата Fqlolxl ()
Но все же мор пролжается спамится по откату двух первых рун без оглядки на эту переменную и заложенные условия.
это удали local vFF = 0 local b = {UnitDebuff("target", "Озноб", nil, "PLAYER")}
а это if b[7] ~= nil then vFF=b[7] - GetTime() print(vFF) end if vFF ~= nil and vFF <= 3.5 and vFF > 0 then elseif c1 == true or c2 == true then CastSpellByName("Мор") end
замени на это if c1 or c2 then local _, _, _, _, _, _, t = UnitDebuff("target", "Озноб",  nil, "PLAYER") if t and t - GetTime() < 3.5 then CastSpellByName("Мор") end end
Сообщение # 2467 написано 14.10.2017 в 12:36
sberesnevspb
Скаут
Цитата Acc_228 ()
Там защита расчитана на то что ты оденешь персонажа или же проиграешь определенное время в игре, а потом как удар по почкам забанит, я тоже проверял на новым персонаже анлокеры не банило, а как зашел на глада так сразу бан сходу буквально 3-5 минут и бан, они не стали защиту делать просто чтобы сходу банить игрока, так как онлайн будет уменьшаться сразу, а тут как бы постепенно все это будет происходить

Всё верно.
За анлок lua на стартовом персонаже на фане ничего не происходит. За анлок lua на одетом персонаже на x100 дают бан автоматом.
Анолчу при помощи EWT в режиме background.

Добавлено (15.10.2017, 22:08)
---------------------------------------------
Цитата Acc_228 ()
Оо АддонКанал, а что как вариант отрубить его в игре? Чтобы запрос не отсылался от игрока, я так уже делал с пару функциями А на изенгарде там виснет клиент по моей системе фриза, которую я изучил от начала до конца, на циркуле как вариант оффнуть сендаддон в самой игре,
чтобы 0 реакции было если это правда так что запрос идёт от сенд аддона, надо будет чекнуть.


Насколько я понимаю, если lua разлочен то в ответ на попытку исполнения protected функции не приходит события ADDON_ACTION_FORBIDDEN и на сервер не шлется мессадж через аддонканал.
Отключение aддонканалa с данном случае не поможет.

Примерно вот такой код периодически пытается запустить циркулевский варден:
Код
if (not WTainted) then
local f=CreateFrame('frame')
f:SetScript('OnEvent', function(s,e)
    SendAddonMessage(\"CCj\",\"TX3\",\"WHISPER\",\"LzY\")
end)
f:RegisterEvent('ADDON_ACTION_FORBIDDEN')
WTainted=true
end;
RunMacroText('')
StaticPopup_Hide(\"ADDON_ACTION_FORBIDDEN\")
Сообщение # 2468 отредактировано sberesnevspb - Воскресенье, 15.10.2017, 22:13
Acc_228
Рыцарь
Цитата sberesnevspb ()
Насколько я понимаю, если lua разлочен то в ответ на попытку исполнения protected функции не приходит события ADDON_ACTION_FORBIDDEN и на сервер не шлется мессадж через аддонканал.Отключение aддонканалa с данном случае не поможет.

Понятно просто интересен был такой вариант, а так я уже обошел их анти-чит, с помощью игровых функций в игре, смог найти дыру в клиенте с помощью которой можно эти определенные игровые функции юзать)
Делаю на заказ аддоны, читы, патчи. Обращайтесь. Skype: AccLeito или vk.com/acclua так-же есть группа: vk.com/wowscriptcheat
Скрипты и функциональные меню, на заказ.
AccHacK v2.0 WoW 3.3.5
Unlocker WoW 3.3.5
Мой канал на YouTube
Сообщение # 2469 написано 16.10.2017 в 11:25
sberesnevspb
Скаут
Цитата Acc_228 ()
я уже обошел их анти-чит, с помощью игровых функций в игре, смог найти дыру в клиенте с помощью которой можно эти определенные игровые функции юзать
Нам расскажешь как? Или хотя бы в личку мне напиши.
Сообщение # 2470 написано 16.10.2017 в 13:09
xGhostx
Скаут
Цитата sberesnevspb ()
Примерно вот такой код периодически пытается запустить циркулевский варден: 
Код
if (not WTainted) then
local f=CreateFrame('frame')
f:SetScript('OnEvent', function(s,e)
    SendAddonMessage(\"CCj\",\"TX3\",\"WHISPER\",\"LzY\")
end)
f:RegisterEvent('ADDON_ACTION_FORBIDDEN')
WTainted=true
end;
RunMacroText('')
StaticPopup_Hide(\"ADDON_ACTION_FORBIDDEN\")
тогда просто
local _RunMacroText = RunMacroText
RunMacroText = function(text,button) if text == "" then SendAddonMessage(\"CCj\",\"TX3\",\"WHISPER\",\"LzY\") else _RunMacroText(text,button) end end

но сам я не пробовал, мне теперь впадлу заходит на тот серв.
Сообщение # 2471 отредактировано xGhostx - Понедельник, 16.10.2017, 13:11
sberesnevspb
Скаут
Цитата xGhostx ()
тогда просто

Ты не знаешь наверняка что за сообщение шлется в аддонканал и с каким текстом вызывается RunMacroText.
Но это не проблема. Можно в пропатченном методе вызывать залоченную lua функцию (которая не алночиться твоим анлокером) и тогда будет триггериться ADDON_ACTION_FORBIDDEN
Проблема в том что сегодня они дергают RunMacroText а завтра могут дергать что-то другое.
Сообщение # 2472 написано 16.10.2017 в 15:50
xGhostx
Скаут
Цитата sberesnevspb ()
Ты не знаешь наверняка что за сообщение шлется в аддонканал и с каким текстом вызывается RunMacroText.
че это не знаю?
/run for _,v ipairs{"RunMacroText","SendAddonMessage"} do hooksecurefunc(v,print) end
Сообщение # 2473 написано 16.10.2017 в 17:58
sberesnevspb
Скаут
Цитата xGhostx ()
че это не знаю?

К тому моменту как ты узнаешь будет уже поздно, разве нет?
Сообщение # 2474 написано 16.10.2017 в 23:47
xGhostx
Скаут
Цитата sberesnevspb ()
разве нет?

поздно когда три чека подряд пропустишь.
Сообщение # 2475 написано 17.10.2017 в 04:26
tobmaps
Капрал
Цитата xGhostx ()
f:RegisterEvent('ADDON_ACTION_FORBIDDEN')
Для примера каст скилов (CastSpellByName) можно делать через JMP (или подмена EIP) из 0x5191F3/0x5191F5 в 0x519247. Окошко Forbidden будет выдаваться, с окошком жить можно, тем более они сами его прячут при возникновении судя из вышеупомянутого кода, НО это не гарантирует, что нельзя другими методами отловить.

Причем, как написал выше, предыдущее решение "другими методами" отловить можно, на Изенгарде используется RunMacroText с исполнением определенных команд от которых зависает клиент, т.е. если выполнится то клиент зависает, а долбится с этим методом он каждые несколько минут.
Для этого случая нужен трюк хитрее, в случае чит-отладчика, например, такого как Гагарин, можно просто встать точкой останова на 0x5191E0 и при Context.Ecx = 3 ничего не делать (Context.Eflags = 0x10000), в остальных случаях прыгать в 0x519239 (Context.Eip = ...). Фактически это отключает нам RunMacroText при анлоке почти всех остальных функций. Ну и функции GuildInvite, TargetNearestEnemy, InteractUnit и др. нужно анлокать отдельными оффсетами т.к. CanPerformAction в 3.3.5, зараза, не всё анлокает.

Быть может, я мог бы и выпустить анлокер с вариантами анлока в виде обновления Гагарина, но мой рисовщик давно канул в пучину, без годного скина не торт будет. Если кто-то желает подсобить с рисованием, сообщайте.
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 2476 отредактировано tobmaps - Четверг, 26.10.2017, 06:25
Kieg
Сержант
В кого есть LUA анлокер для оф? EWT не работает.
Сообщение # 2477 написано 18.11.2017 в 18:28
Acc_228
Рыцарь
Цитата Fuckyouz ()
Ребятки , как взять в таргет суккубу , которая кастует сидакт ? /ц "Имя" - но имена разные у всех . Вот думаю сижу . Может знает кто . Спасибо
Создать скрипт с local args = {...} который будет оказывать реакцию на COMBAT_LOG,  тем самым отслеживать каст спелла "Соблазн" выводя нумерацию args от 1 до 12 из этих 1 до 12 как раз таки и будет показываться ник, затем через RunMacroText("/target "..arg(номер с ником).."") выделять таргет, а чтобы он не выделял невражескую цель понадобиться проверка UnitIsFriend("player","target") ну и там уже вставить апдейт скрипт что позволит кикнуть соблазн или же совершить с ним какую либо функцию, главное понимать механику написания скриптов и тогда что угодно напишешь.
Делаю на заказ аддоны, читы, патчи. Обращайтесь. Skype: AccLeito или vk.com/acclua так-же есть группа: vk.com/wowscriptcheat
Скрипты и функциональные меню, на заказ.
AccHacK v2.0 WoW 3.3.5
Unlocker WoW 3.3.5
Мой канал на YouTube
Сообщение # 2478 отредактировано Acc_228 - Вторник, 21.11.2017, 09:12
Banancores
Скаут
есть у кого PQR на Ванилу?
Сообщение # 2479 написано 25.11.2017 в 17:05
s3ek
Скаут
Благодаря  тому,что делает дыркуль на 3.3.5, возможность использовать заблокированные функции теперь доступна только избранным?
Сообщение # 2480 отредактировано s3ek - Среда, 29.11.2017, 03:53
tobmaps
Капрал
Цитата s3ek ()
Благодаря  тому,что делает дыркуль на 3.3.5, возможность использовать заблокированные функции теперь доступна только избранным?
Был пост об этом страницу назад, но видимо никому не интересно, следовательно - никому не нужно?
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 2481 отредактировано tobmaps - Среда, 29.11.2017, 12:20
s3ek
Скаут
Цитата tobmaps ()
Был пост об этом страницу назад, но видимо никому не интересно, следовательно - никому не нужно?

Пост видел. Временное решение стоит, полет нормальный. Все равно страшно бесит их показательная "борьба" с пустыней при помощи пылесоса.
Когда-то добрый программист снабдил отличной программой, которую сам и написал, но ее титанический минус для меня в том, что она сделана под автоматизацию ротации.
Также автор этой темы писал в одной из других тем, что уже анлокеры то и не нужны, и что такой софт есть на этом форуме.
Видимо, он имел ввиду PQR или аналоги. Жаль это тоже автоматизация ротации, которую совсем терпеть не могу.

В общем, вариантов есть несколько, и пара из них такая, что дыркл себе быстрее жопу порвет горизонтально, чем кого либо из пользователей этих программ забанит, но они созданы как автоматизация ротации sad
Сообщение # 2482 отредактировано s3ek - Четверг, 30.11.2017, 13:13
Rextown
Скаут
Доброго всем времени суток
Собственно такой вопрос, а возможно ли найти анлокер для х64 битной вовки?
Сообщение # 2483 написано 01.12.2017 в 17:46
RUSisakov
Скаут
Всегда были читеры и будут
Сообщение # 2484 отредактировано RUSisakov - Суббота, 02.12.2017, 01:13
s3ek
Скаут
Цитата RUSisakov ()
Всегда были читеры и будут


Конечно. На оффе читерил года 4, еще давно, равно как и ботоводил каждую ночь, ни разу не был в бане, сам забил.
На сыркле пылесосят пустыню, громко говорят слова о высоком и вставляют палки в колеса начинающих скриптеров.
Борьбу с летающими, багающими, абузящими игроками понимаю, но с луа нет и она бесполезна. Жесткие кодеры уже давно не сидят на анлокерах.
Сам делаю код только для более удобной игры, но циркуль вынуждает сесть на программы которые возьмут глада пока ты на кухне.

С автоматизацией, скорее всего, станет уныло играть. Следовательно будет отток "среднячка" и останутся только игроки без всего и любители автоматизации.
У рукастых много шансов победить отточенную годами программу?

Забавно, но за почти 8 лет на сыркле, я еще не видел рукастых пивипишеров без кода в кармане.
Сообщение # 2485 отредактировано s3ek - Суббота, 02.12.2017, 08:06
Rextown
Скаут
Может кто-нибудь скинуть SDM для 7.1.5?Или же на данном патче будет работать и более поздняя версия SDM, например для Панд или Дренора?
И еще, если не затруднит, можно ссылочку на анлокер для 7.1.5
Сообщение # 2486 написано 04.12.2017 в 05:00
mopf5
Скаут
Киньте авто кик на шамана (3.3.5) PQR , ну сам код русский клиент
Сообщение # 2487 написано 04.12.2017 в 23:42
ganus1993
Сержант
Цитата mopf5 ()
Киньте авто кик на шамана (3.3.5) PQR , ну сам код русский клиент
что-то в духе этого 
local Spell, _, _, _, _, endTime = UnitCastingInfo("target")
if Spell and endTime/1000 - GetTime() < 0.5 and (not UnitBuff("target", "Мастер аур")) and (not UnitBuff("target", "Божественный щит")) 
then RunMacroText("/cast Пронизывающий ветер") end
Пишу макросы и профили PQR
Моя подборка пве скриптов-ротаций 3.3.5
Сообщение # 2488 написано 06.12.2017 в 06:54
mihay
Скаут
Привет.
Ребят, мой вопрос немного не в тему, не по скрипту для программы WoW
С языком lua - знаком только очень поверхностно на уровне недолгово любительского занятия.
Вопрос по существу: есть 2 скрипта назовем их коробка 1 и коробка 2 - цель заставить работать по команде при изменении переменных значений.
Т.е.допустим, если а=2 то работает коробка 1, если а=5 то работает коробка 2.
Как или с помощью чего заставить скрипты не мешать друг другу (отделить друг от друга, как бы вставить в отдельные оболочки) ?
Скрипты работают по отдельности (одна программа - один скрипт) задача сгруппировать т.е. одна программа два скрипта и заставить работать поочередно в зависимости какое значение имеет - а, стартуют командой start(), останавливаются stop()
Извините если вопрос показался наивным и не понятным!
Полазил поисковиком, но форумов не специализированных, не повстречал.
Буду признателен если подскажите.
Сообщение # 2489 отредактировано mihay - Среда, 13.12.2017, 21:33
tobmaps
Капрал
Цитата mihay ()
Скрипты работают по отдельности (одна программа - один скрипт) задача сгруппировать т.е. одна программа два скрипта и заставить работать поочередно в зависимости какое значение имеет - а, стартуют командой start(), останавливаются stop()

Вот скрипты для хантов которые использовались в мультибоксе на 4.3.4 https://yadi.sk/d/-nvPDcchCPDLP . Там есть немного примеров схожего характера, аддон вложен, без него не будет работать, разумеется нужен анлокер. Делаешь один макрос который вызывает InitiateAttack(), и второй InitiatePvPAttack() - с одним запускается часть кода, со вторым - полностью, аналогично можешь попробовать.
reverse engineering your soul... балуюсь C++, C#, SQL, LUA. Владыка 1C. Окончательно забил на emuDev
Сообщение # 2490 написано 14.12.2017 в 06:01
Поиск: