Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотров
    15 639

Cheat Engine 6.7 и Lua. Часть 2


MasterGH

1 321 просмотр

Как контролировать включение и выключение скриптов в таблице

 

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 Комментариев


Рекомендуемые комментарии

Комментариев нет

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

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

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

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