Перейти к содержанию

Помогите переделать АА скрипт в скрипт на Lua


Рекомендуемые сообщения

Помогите переделать АА скрипт в скрипт на Lua. Есть два варианта АА скрипта которые я написал, но мне нужна именно Lua версия скрипта, из-за того что у меня уже есть скрипты, которые обращаются к этой инструкции.

Первый вариант АА скрипта который нужно переделать на Lua :

Скрытый текст

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscan(RUN,88 1C 08 81 E2 FC FF 1F 00) // should be unique
alloc(newmem,$1000)
label(mylabel)
label(mylabel1)
label(code)
label(return)

newmem:

cmp byte ptr [009F2C47],10    // <- адрес 1 байт
je mylabel
cmp byte ptr [009F5ACB],10   // <- адрес 1 байт
je mylabel1
jmp code

mylabel:
cmp [009E96CC],0               // <- адрес 4 байта
jne code
cmp byte ptr [009B66E2],1     // <- адрес 1 байт
jne code
mov byte ptr [009F2C47],14    // <- адрес 1 байт
jmp code

mylabel1:
cmp [009E96CC],0               // <- адрес 4 байта
jne code
cmp byte ptr [009B66E2],1     // <- адрес 1 байт
jne code
mov byte ptr [009F5ACB],14    // <- адрес 1 байт
jmp code

code:
  mov [eax+ecx],bl
  and edx,001FFFFC
  jmp return

RUN:
  jmp newmem
  nop
  nop
  nop
  nop
return:
registersymbol(RUN)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
RUN:
  db 88 1C 08 81 E2 FC FF 1F 00

unregistersymbol(RUN)
dealloc(newmem)

 

 

 

Второй вариант АА скрипта который нужно переделать на Lua (тот же скрипт, но упрощенная версия) :

Скрытый текст

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscan(RUN,88 1C 08 81 E2 FC FF 1F 00) // should be unique
alloc(newmem,$1000)
label(mylabel)
label(code)
label(return)

newmem:

cmp byte ptr [009F2C47],10       // <- адрес 1 байт
je mylabel
jmp code

mylabel:
cmp [009E96CC],0                 // <- адрес 4 байта
jne code
cmp byte ptr [009B66E2],1       // <- адрес 1 байт
jne code
mov byte ptr [009F2C47],14      // <- адрес 1 байт
mov byte ptr [009F5ACB],14      // <- адрес 1 байт
jmp code

code:
  mov [eax+ecx],bl
  and edx,001FFFFC
  jmp return

RUN:
  jmp newmem
  nop
  nop
  nop
  nop
return:
registersymbol(RUN)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
RUN:
  db 88 1C 08 81 E2 FC FF 1F 00

unregistersymbol(RUN)
dealloc(newmem)

 

 

Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, Razi сказал:

Первый вариант АА скрипта который нужно переделать на Lua :

Кинул в ЛС (не уверен, что сработает как нужно) вариант скрипта - проверь.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Переделанный первый вариант АА скрипта в Lua скрипт от Garik66, скрипт работает :

Скрытый текст

[ENABLE]
{$LUA}
timer = createTimer(true)
timer:setInterval(100)
timer.OnTimer = function()
value1 = readBytes('009F2C47',1)
value2 = readBytes('009F5ACB',1)
value3 = readInteger('009E96CC')
value4 = readBytes('009B66E2',1)
if (value1 == 16) then
    if (value3 == 0) then
         if (value4 == 1) then
            writeBytes('009F2C47',20)
         end
    end
else
if (value2 == 16) then
    if (value3 == 0) then
         if (value4 == 1) then
            writeBytes('009F5ACB',20)
         end
    end
end
end
end

{$ASM}

[DISABLE]
{$LUA}
timer:setEnabled(false)

 

 

Ссылка на комментарий
Поделиться на другие сайты

Переделанный второй вариант АА скрипта в Lua скрипт, (подправил немного предыдущий скрипт от Garik66) и после проверки в несколько минут скрипт работает :

Скрытый текст

[ENABLE]
{$LUA}
timer = createTimer(true)
timer:setInterval(100)
timer.OnTimer = function()
value1 = readBytes('009F2C47',1)
value2 = readInteger('009E96CC')
value3 = readBytes('009B66E2',1)
if (value1 == 16) then
    if (value2 == 0) then
         if (value3 == 1) then
            writeBytes('009F2C47',20)
            writeBytes('009F5ACB',20)
         end
    end
end
end

[DISABLE]
{$LUA}
timer:setEnabled(false)

 

 

Надеюсь, ошибки в скрипте нету.

Изменено пользователем Razi
Ссылка на комментарий
Поделиться на другие сайты

  • 8 месяцев спустя...

Вот у меня почти та же проблема, только надо.

Как мене АА скрипт, записать в Lua и вывести на кнопку активации.

например NUMPAD1. 

Вот скрипт, ну что-то он у меня не работает.

Скрытый текст

function CELabel2Click(sender)
autoAssamble([[

aobscanmodule(INJECT,Tutorial-i386.exe,00 EC FF 8B 45 F4 C9 C2 04 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov eax,[ebp-0C]
  leave
  ret 0004
  jmp return

INJECT+03:
  jmp newmem
  nop
  nop
return:
registersymbol(INJECT)
]])

autoAssamble([[
INJECT+03:
  db 8B 45 F4 C9 C2 04 00

unregistersymbol(INJECT)
dealloc(newmem)
]])

end
createHotkey(CELabel2Click,VK_HOME)

 

 

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

Ты можешь написать АА скрипт как обычно. Активировать и деактивировать по уникальному названию

 

Скрытый текст

function CELabel2Click(sender)
local AADescription = 'God Mode'
local aaMemoryRecord = getAddressList().getMemoryRecordByDescription(AADescription)
aaMemoryRecord.Active = not aaMemoryRecord.Active
end

createHotkey(CELabel2Click,VK_HOME)

 

 

 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Submarinа сказал:

Как мене АА скрипт, записать в Lua и вывести на кнопку активации.

Baracuda, я же тебе видео записал, просто вместо лейбла кнопка и всё:

LUA-скрипт:

Скрытый текст

function CEButton1Click(sender)
if UDF1.CEButton1.Caption == "NUMPAD1 - GodMod - Неaктивно" then
UDF1.CEButton1.Caption = "NUMPAD1 - GodMod - Активно"
UDF1.CEButton1.Font.setColor(0x00000ff)
PlaySound(findTableFile([[Activate]]))

autoAssemble([[
aobscanmodule(GodMod,Tutorial-i386.exe,89 83 80 04 00 00 8D 55 D4 E8 52) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(GodMod)

newmem:
  mov eax,#100
code:
  mov [ebx+00000480],eax
  jmp return

GodMod:
  jmp newmem
  nop
return:
]])

else
if UDF1.CEButton1.Caption == "NUMPAD1 - GodMod - Активно" then
UDF1.CEButton1.Caption = "NUMPAD1 - GodMod - Неaктивно"
UDF1.CEButton1.Font.setColor(0x0008000)
PlaySound(findTableFile([[Deactivate]]))

autoAssemble([[
GodMod:
  db 89 83 80 04 00 00

unregistersymbol(GodMod)
dealloc(newmem)
]])

end end end

createHotkey(CEButton1Click,VK_NUMPAD1)

 

 

Изменено пользователем Garik66
Ссылка на комментарий
Поделиться на другие сайты

звук активации я могу сам добавить, а дезактивации нет, Можно ещё чтобы цвет менялся при активации, и дезактивации.

Скрытый текст

function CELabel2Click(sender)
local AADescription = 'God Mode'
local aaMemoryRecord = getAddressList().getMemoryRecordByDescription(AADescription)
aaMemoryRecord.Active = not aaMemoryRecord.Active
end

createHotkey(CELabel2Click,VK_HOME)

 

 

Ссылка на комментарий
Поделиться на другие сайты

Я Игорь пробовал вот так вот записать скрипт в Lua, но он у меня не работал.

Скрытый текст

function CELabel2Click(sender)
PlaySound(findTableFile([[Activate]]))
autoAssamble([[
aobscanmodule(INJECT,Tutorial-i386.exe,00 EC FF 8B 45 F4 C9 C2 04 00)
alloc(newmem,$1000)
label(code)
label(return)
registersymbol(INJECT)
newmem:
code:
  mov eax,[ebp-0C]
  leave
  ret 0004
  jmp return
INJECT+03:
  jmp newmem
  nop
  nop
return:
]])
else
PlaySound(findTableFile([[Deactivate]]))
autoAssamble([[
INJECT+03:
  db 8B 45 F4 C9 C2 04 00
unregistersymbol(INJECT)
dealloc(newmem)
]])
end end end
createHotkey(CELabel2Click,VK_NUMPAD1)

 

Я так понял что можно на активацию поставить кнопку, кнопку CELabel2Click ставить нельзя.

CEButton1Click
Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

Зараза, не хочет работать.

Пробовал укоротить от лишнего, всё равно не работает.

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

Хоть убей,Игорь Но не работает.

Можно суда цвет активации добавить, пожалуйста.

Скрытый текст

function CELabel2Click(sender)
local AADescription = 'God Mode'
local aaMemoryRecord = getAddressList().getMemoryRecordByDescription(AADescription)
aaMemoryRecord.Active = not aaMemoryRecord.Active
end

createHotkey(CELabel2Click,VK_HOME)

 

 

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

Если чес но, мене самому надоело задавать столько вопросов, от своего не знания программирования, даже на таком простом языке как Lua.

А камеру, постараюсь купить.

Изменено пользователем Submarinа
Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, Submarinа сказал:

Можно суда цвет активации добавить, пожалуйста.

Тебе уже в сумме ....надцать способов дали, неужели нельзя сложить "один + один"  и сделать нужное под себя.

Мне, так как не знаю LUA, придётся также, как и тебе полазить по топикам и сделать скрипт.

 

Попробуй сам сделать, иначе будешь задавать одни и теже вопросы.

Изменение цвета должно тоже на что-то опираться, на изменение названия лейбла например, на изменение статуса актив/неактив, ну и т.д.

 

Короче пробуй. 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Где я ошибся.Делал по другим скриптам.

Скрытый текст

function CELabel1Click(sender)
local AADescription = 'God Mode'
local aaMemoryRecord = getAddressList().getMemoryRecordByDescription(AADescription)
aaMemoryRecord.Active = not aaMemoryRecord.Active
if UDF1.CELabel1.Caption == "God Mode 1" then
UDF1.CELabel1.Font.Color = 0x000C0CB8
else
if UDF1.CELabel1.Caption == "God Mode 0" then
UDF1.CELabel1.Font.Color = 0x000C0CB8

end end end
createHotkey(CELabel1Click,VK_NUMPAD0)

 

 

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Submarinа сказал:

Где я ошибся

У тебя название лейбла не меняется, поэтому в этом случае (в этом скрипте) нет смысла к ней привязывать.

В этом скрипте нужно делать привязку к ативирован или не активирован скрипт в таблице.

Ссылка на комментарий
Поделиться на другие сайты

Инструкция по шагам:

1. Скрипт в таблице, который хочешь де/активировать назови God Mod.

2. Создай форму UDF1.

3. Кинь на неё кнопку CEButton1.

4. Во вкладке Events кнопки активируй OnClick.

5. Попробуй следующий скрипт:

Скрытый текст

function CEButton1Click(sender)
  local AADescription = 'God Mode'
  local aaMemoryRecord = getAddressList().getMemoryRecordByDescription(AADescription)
  aaMemoryRecord.Active = not aaMemoryRecord.Active
end

createHotkey(CEButton1Click,VK_NUMPAD1)

al = getAddressList()
memrec=addresslist_getMemoryRecordByDescription(al, "God Mode")
if memoryrecord_isActive(memrec) then
   UDF1.CEButton1.Font.setColor(0x00000ff)
   PlaySound(findTableFile([[Activate]]))
else
   UDF1.CEButton1.Font.setColor(0x0008000)
   PlaySound(findTableFile([[Deactivate]]))
end

 

6. Отпишись о результатах.

 

ЗЫ:

Можно выкинуть лишнее (которое получилось из-за объединения двух примерно однотипных скриптов):

Скрытый текст
Скрытый текст


al = getAddressList()
memrec=addresslist_getMemoryRecordByDescription(al, "God Mode")
if memoryrecord_isActive(memrec) then
   UDF1.CEButton1.Font.setColor(0x00000ff)
   PlaySound(findTableFile([[Activate]]))
else
   UDF1.CEButton1.Font.setColor(0x0008000)
   PlaySound(findTableFile([[Deactivate]]))
end

function CEButton1Click(sender)
  memrec.Active = not memrec.Active
end

createHotkey(CEButton1Click,VK_NUMPAD1)

 

 

 

Изменено пользователем Garik66
Ссылка на комментарий
Поделиться на другие сайты

Скрытый текст

function CELabel1Click(sender)
local AADescription = 'God Mode'
local aaMemoryRecord = getAddressList().getMemoryRecordByDescription(AADescription)
aaMemoryRecord.Active = not aaMemoryRecord.Active
al = getAddressList()
memrec=addresslist_getMemoryRecordByDescription(al,"God Mode")
if memoryrecord_isActive(memrec) then
memoryrecord_unfreeze(memrec)
UDF1.CELabel1.Font.setColor(0x000000)
else
memoryrecord_freeze(memrec)
UDF1.CELabel1.Font.setColor(0x0000FF)
end end
createHotkey(CELabel1Click,VK_HOME)

 

Вот вроде работает, проверь по другому я не знаю как, я не спец в Lua, подскажи как по другому можно.

Ссылка на комментарий
Поделиться на другие сайты

Только что, Submarinа сказал:

Вот вроде работает, проверь по другому я не знаю как, я не спец в Lua, подскажи как по другому можно.

у тебя каша масленная. дважды активация, проверь мой скрипт.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.