Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Collapse
Brand Logo

CELua[RU]

  1. Главная
  2. Программирование
  3. Как контролировать включение и выключение скриптов в таблице

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

Запланировано Прикреплена Закрыта Перенесена Программирование
ce luaусловиеуправление
1 Сообщения 1 Posters 32 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • MasterGHM Не в сети
    MasterGHM Не в сети
    MasterGH Администраторы
    написал в отредактировано MasterGH
    #1

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

    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

Powered by NodeBB | Contributors
СeLua[RU] 2024©
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы