Вопрос по теме написание макросов языке на lua
-
Пользователь @StoneWeaver написал в Вопрос по теме написание макросов языке на lua:
А у тебя разве предыдущих примеров нет с такой строкой?
Вот именно, выше скрипты работают, а когда тот попробовал написать именно на эты строку и ругается, сделаю скриншёт покажу.
-
@Pitronic попробуй разобраться самостоятельно, в чём у тебя проблема. Это поможет тебе улучшить своё понимание, как пользоваться луа в СЕ
-
@StoneWeaver вот скриншёт здесь как видете ругается
на строку 2 хотя именно это строка должна там быть. И как я смогу самостоятельно если не увижу пример? ппо примеру что написано выше уже попробовал а где не правильно написал не знаю, -
@Pitronic а теперь максимально внимательно посмотри свой скрипт, и исправь ошибку синтаксиса.
-
Пользователь @StoneWeaver написал в Вопрос по теме написание макросов языке на lua:
справь ошибку синтаксиса.
в строке 2 на которую ругается се {$lua} я везде использую когда луа в таблицу пишу с этим скриптом такая ошибка, я тоже думал что в ней дело но когда стираю код оставив только {$asm} скрипт добавляется без проблем значит не в этой строке а в самом коде ошибка потому что се думает что это не lua код и говорить что синтаксис {$lua} ошибка.
-
@Pitronic А я разве сказал "внимательно посмотри на вторую строку"? Я сказал "внимательно посмотри свой скрипт", что подразумевает весь скрипт целиком.
-
-
Для блокнота
[ENABLE] {$lua} function send_keys(key) for i=1,string.len(key) do local char = key:upper():sub(i,i) doKeyPress(string.byte(char,1)) end end send_keys("gamehacklab") keyDown(VK_LCONTROL) keyDown(VK_A) keyUp(VK_LCONTROL) keyUp(VK_A) {$asm} [DISABLE]
-
Спасибо Алексей.
-
Пользователь @Partizan1078 написал в Вопрос по теме написание макросов языке на lua:
Для блокнота
Спасибо работает.
-
@Pitronic Можно ещё в функцию всё это заморочить и горячую кнопку назначить.
[ENABLE] {$lua} function ctrl_i_pr() keyDown(VK_LCONTROL) keyDown(VK_A) keyUp(VK_LCONTROL) keyUp(VK_A) end createHotkey(ctrl_i_pr, VK_DOWN) {$asm} [DISABLE]
-
Пользователь @Partizan1078 написал в Вопрос по теме написание макросов языке на lua:
Можно ещё в функцию всё это заморочить и горячую кнопку назначить.
Спасибо, тоже пригодится. -
@Partizan1078 в очередной раз Питронику было предоставлено готовое решение, и в очередной раз этим самым была ему оказана медвежья услуга. Потому что в очередной раз он не станет думать своей головой, и ни капли не продвинется по пути становления нормальным геймхакером.
-
@StoneWeaver Не согласен. Когда я первый раз зарегистрировался на форуме прошлого движка, ещё с другим ником который забанили, я даже не знал команд mov и add сейчас я ассемблер знаю наверное весь, и даже помогал другим по этой теме на прошлом форуме. Вы наверное помните эту первую команду именно вы подсказали. Я не искал инфу в инете, не читал справочники, не изучал статьи. Всё это я получил благодаря так называемым готовым решениям. Не чего страшного если пользователь спрашивает как написать тот или другой скрипт.
-
Питроник спрашивал в чате как сравнить.
[ENABLE] {$lua} function cmp_value() if (readInteger('[code]+7F8') == 100) then -- если не равно 100 тогда прыжок на end writeInteger ('[code]+7F8', 999) end end createHotkey(cmp_value, VK_UP) {$asm} aobscanmodule(INJECT_001,Tutorial-x86_64.exe,81 BB F8 07 00 00 E8 03 00 00) // should be unique alloc(newmem,$1000,INJECT_001) label(code) label(return) registersymbol(code) registersymbol(INJECT_001) newmem: mov [code],rbx cmp [rbx+000007F8],000003E8 jmp return code: dq 00 INJECT_001: jmp newmem nop 5 return: [DISABLE] INJECT_001: db 81 BB F8 07 00 00 E8 03 00 00 unregistersymbol(*) dealloc(newmem)
-
@Partizan1078 твой ример какой шаг в туторе?
-
@Pitronic Первый шаг. Тутор 64 бита который.
СЕ 7.5 -
У меня нубский вопрос. Ни как не догоню.
Почему вот так всё работает как надо.[ENABLE] {$lua} function send_keys(key) for i=1,string.len(key) do local char = key:upper():sub(i,i) doKeyPress(string.byte(char,1)) end end send_keys("gamehacklab") keyDown(VK_LCONTROL) keyDown(VK_A) keyUp(VK_LCONTROL) keyUp(VK_A) {$asm} [DISABLE]
А так нифига
[ENABLE] {$lua} function send_keys(key) for i=1,string.len(key) do local char = key:upper():sub(i,i) doKeyPress(string.byte(char,1)) end end send_keys("gamehacklab") function ctrl_i_pr() keyDown(VK_LCONTROL) keyDown(VK_A) keyUp(VK_LCONTROL) keyUp(VK_A) end {$asm} [DISABLE]
-
@Partizan1078 Я точно не скажу, сам луа пока плохо знаю (а если точнее совсем не знаю, есть готовые шаблоны которые использую) но мне кажется там конфликт двух команд. После строки function.
-
@Pitronic При чём тут это. Вот несколько функций работает всё ок. Это ускорение в гта делал.
[ENABLE] {$lua} function SpeedHack1() boost = 1.5 if (readBytes('[_date_01]') ~= nil) then writeFloat ('[_date_01]', readFloat('[_date_01]')*boost) writeFloat ('[_date_01]+04', readFloat('[_date_01]+04')*boost) end end createHotkey(SpeedHack1, VK_XBUTTON1) function SpeedHack2() boost = 0.5 if (readBytes('[_date_01]') ~= nil) then writeFloat ('[_date_01]', readFloat('[_date_01]')*boost) writeFloat ('[_date_01]+04', readFloat('[_date_01]+04')*boost) end end createHotkey(SpeedHack2, VK_XBUTTON2) {$asm} aobscanmodule(Boost,GTA5.exe,F3 ? ? ? F3 ? ? ? ? F3 ? ? ? F3 ? ? ? F3 ? ? ? ? ? ? ? 44 39) alloc(newmem,$1000,Boost) label(return) label(_date_01) registersymbol(_date_01) registersymbol(Boost) newmem: mov [_date_01],rax mulss xmm0,[rax] mulss xmm6,[rax+08] jmp return _date_01: dq 00 Boost: jmp newmem nop 4 return: [DISABLE] Boost: db F3 0F 59 00 F3 0F 59 70 08 unregistersymbol(*) dealloc(newmem)