Как контролировать включение и выключение скриптов в таблице
-
Как контролировать включение и выключение скриптов в таблице
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