Cheat Engine 6.7 и Lua. Часть 2
Как контролировать включение и выключение скриптов в таблице
AA или "Autoassembler code" код похожий на язык программирования ассемблера.
Кратко, он позволяет менять игровой код. Подробнее Cheat Engine:Auto Assembler (http://wiki.cheatengine.org/index.php?title=Cheat_Engine:Auto_Assembler)
Обычный АА-скрипт состоит из двух директив и добавляется в таблицу CE как запись
// Код срабатывающий как при активации, так и при деактивации
[ENABLE]
// Код активации
[DISABLE]
// Код деактивации
Чтобы код активировался, нужно включить галку напротив записи в таблице и наоборот выключить.
Есть такие директивы как {$lua} и {$asm}.
Под {$lua} пишут Lua скрипт, под {$asm} пишут АА-скрипт.
Мы можем проверить Lua скриптом любое условие и разрешить включать галку или выключать галку. Например, через "syntaxcheck" — проверку синтаксиса или другое условие .
Если проверка не прошла, то не получится галку включить и не получится выключить, если что-то пойдет не так.
В Lua строка из двух минусов "--", обозначает комментарий.
{$lua}
-- Расскоментируйте или закоментируйте пару строк ниже
-- if syntaxcheck then return end
-- error[666] = 666
------------------------------ ENABLE ------------------------------
[ENABLE]
-- Расскоментируйте или закоментируйте пару строк ниже
-- if syntaxcheck then return end
-- error[666] = 666
------------------------------ DISABLE ------------------------------
[DISABLE]
-- Расскоментируйте или закоментируйте пару строк ниже
-- if syntaxcheck then return end
-- error[666] = 666
Попробовав разные варианты вы увидите, что нельзя включать или выключать галку в разных ситуациях. Например в этой получится включить галку, а выключить нет из-за ошибки.
{$lua}
-- if syntaxcheck then return end
-- некоторый lua код правильный или не правильный
-- error[666] = 666
------------------------------ ENABLE ------------------------------
[ENABLE]
--if syntaxcheck then return end
-- некоторый lua код
-- некоторый lua код правильный или не правильный
-- error[666] = 666
------------------------------ DISABLE ------------------------------
[DISABLE]
if syntaxcheck then return end
-- некоторый lua код
-- некоторый lua код правильный или не правильный
error[666] = 666
Следующий вариант проверяет открыт ли процесс. Если нет, то покажет сообщение.
Как узнать, что процесс был закрыт после открытия
process - зарезервированное переменная, показывает что процесс открыт
(http://wiki.cheatengine.org/index.php?title=Lua:process)
В комментариях можно увидеть при каких условиях блокируются включение галки
{$lua}
-- code before either enable/disable section runs for both just like with AA code
if syntaxcheck then return end
[ENABLE]
if process == nil then
showMessage('Процесс не подключен. Галка не будет включена')
return
end
if process ~= nil and readInteger(process) == nil then
showMessage('Процесс был закрыт. Галка не будет включена')
return
end
[DISABLE]
-- Галку можно выключить, но код выключения выполнять если процесс подключен
if process ~= nil and readInteger(process) ~= nil then
print('Attached to ' .. process)
else
showMessage('The process closed')
end
-
1
0 Комментариев
Рекомендуемые комментарии
Комментариев нет
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти