CELua[RU]
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти

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

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

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

      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

      • 1 / 1
      • Первое сообщение
        Последнее сообщение
      Powered by NodeBB | Contributors
      СeLua[RU] 2025©