Sanny Builder
На русском (не обновляется)
На русском (не обновляется)
  • Введение
  • Благодарности
  • История изменений
  • Синтаксис
    • Типы данных
    • Константы
    • Переменные
    • Массивы
    • Операторы
    • Условия
    • Циклы
    • Классы
    • Ключевые слова
    • Дополнительные команды
    • HEX..END
    • Директивы
    • Комментарии
  • Редактор
    • Возможности
    • Опции программы
      • Общие настройки
      • Форматирование
      • Редактор
      • Редактор тем оформления
      • Горячие клавиши
    • Консоль
    • Горячие клавиши
    • Поиск опкодов
    • Интерфейс командной строки
    • Языковая служба
  • Режимы редактирования
    • CustomLabels.ini
    • Enums.txt
    • Расширения
    • Список опкодов (SCM.INI)
    • Шаблоны кода
  • Документация по SCM
    • Скриптовые лимиты
    • GTA III
      • Иконки радара
      • Типы пешеходов
    • Vice City
      • Банды
      • Гаражи
      • Иконки радара
      • Интерьеры
      • Номера кнопок
      • Типы оружия
      • Типы пешеходов
    • San Andreas
      • Банды
      • Варианты изменения авто
      • Гаражи
      • Зоны
      • Интерьеры
      • Номера клавиш
      • Одежда
      • Оружие
      • Персонажи
      • Погода
      • Прически
      • Системы частиц
      • Статистика
      • Татуировки
      • Типы пешеходов
      • Типы поездов
      • Части тела игрока
    • Liberty City Stories
      • Банды
      • Модели
      • Одежда
      • Оружие
      • Персонажи
      • Погода
    • Vice City Stories
      • Банды
      • Одежда
      • Погода
  • Исправление проблем
    • Сообщения об ошибках
      • 0001: INI файл не найден
      • 0002: Неизвестный тип массива
      • 0003: Ошибка чтения script.img
      • 0004: Неизвестный тип параметра
      • 0005: Неправильный режим редактирования
      • 0006: Неверный заголовок файла
      • 0007: Файл не найден
      • 0008: Ошибка чтения списка опкодов
      • 0009: Список опкодов не найден
      • 0010: Неизвестный опкод
      • 0011: Неизвестный опкод
      • 0012: Переход за границы файла
      • 0013: Неизвестная команда
      • 0014: Неверное выражение
      • 0016: Скрипт не найден
      • 0017: Переменная не объявлена
      • 0018: Неверный размер массива
      • 0019: Неизвестный тип массива
      • 0020: Переменная не объявлена как массив
      • 0021: Неверное значение в имени переменной
      • 0022: Cчетчик итераций не является переменной
      • 0023: Неверный синтаксис
      • 0024: Ожидалось целочисленное значение
      • 0025: Неверный цикл
      • 0026: Неверное число с плавающей точкой
      • 0027: Слишком длинная строка
      • 0028: Незавершенная строка
      • 0029: Неверный ID отладочного скрипта
      • 0031: Неверное количество элементов
      • 0032: Неверное значение элемента в заголовке
      • 0033: Неверное имя локальной переменной
      • 0034: Локальная переменная вне допустимых границ
      • 0035: Ожидалось слово
      • 0036: Локальная переменная миссии вне допустимых границ
      • 0037: Отладочный скрипт не найден
      • 0038: Неизвестный тип массива
      • 0039: Неверное определение элемента
      • 0040: Имя или значение константы не определено
      • 0041: Неверный ID миссии
      • 0042: Дублирование имени внешнего скрипта
      • 0043: Неверный индекс массива
      • 0044: Неверное имя массива
      • 0045: Неверный синтаксис массива: пропущено имя переменной
      • 0046: Неверный синтаксис массива
      • 0047: Неверный размер массива
      • 0048: Ошибка чтения размера массива
      • 0049: Недостаточно параметров для опкода
      • 0050: Недостаточно параметров для команды
      • 0051: Ошибка записи заголовка script.img
      • 0052: Ошибка записи script.img
      • 0053: Рекурсивное подключение файла
      • 0054: Метка не найдена
      • 0055: Идентификатор не найден
      • 0056: Метка переобьявлена
      • 0057: Внутренная метка не найдена
      • 0058: Недопустимый параметр
      • 0059: Неверное определение опкода
      • 0060: Нет исходного файла
      • 0061: Пустой исходный файл
      • 0062: IDE файл не найден
      • 0063: Ожидалась метка миссии
      • 0064: Метка миссии не найдена
      • 0065: Метка внешнего скрипта не найдена
      • 0067: Недопустимый символ в имени внешнего скрипта
      • 0068: Неверный символ в идентификаторе
      • 0069: Неверный символ в имени объекта
      • 0071: Неверное число условий
      • 0072: Логический оператор пропущен
      • 0073: Лишний логический оператор
      • 0074: Опция отключена
      • 0075: Неверное 16-ричное значение
      • 0076: Ожидалось условие
      • 0079: Недопустимый параметр в команде Alloc
      • 0080: Ожидалось неотрицательное число
      • 0081: Слишком много параметров
      • 0082: Неверный синтаксис
      • 0083: Неизвестный ID модели
      • 0084: Переход на оффсет 0
      • 0086: Неверный индекс массива
      • 0087: Недопустимая переменная
      • 0088: Глобальная переменная вне допустимых границ
      • 0089: Опкод не найден
      • 0090: Константа переобъявлена
      • 0091: Недостаточно памяти для переменной
Powered by GitBook
On this page
  • Формат файла
  • Метаданные
  • Опкоды
  • Параметры опкодов
  1. Режимы редактирования

Список опкодов (SCM.INI)

PreviousРасширенияNextШаблоны кода

Last updated 1 year ago

Документацию по опкодам можно найти в .

Основной файл, который обеспечивает компиляцию и дизассемблирование скриптов, – INI файл со списком опкодов. В Sanny Builder есть список опкодов для каждого .

Начиная с версии 4.0 этот файл является необязательным для работы и может быть заменен определениями команд, доступными для скачивания в формате JSON в Sanny Builder Library. Новые режимы редактирования используют только файлы SBL.

Игра

Имя файла

Директория

GTA III

SCM.INI

data\gta3

Vice City

VCSCM.INI

data\vc

San Andreas

SASCM.INI

data\sa

Liberty City Stories

LCSSCM.INI

data\lcs

Vice City Stories

VCSSCM.INI

data\vcs

VC Mobile

VCSCM.INI

data\vc_mobile

SA Mobile

SASCM.INI

data\sa_mobile

Формат файла

Строки, начинающиеся с ;, игнорируются.

Метаданные

Файл может иметь особые параметры, которые содержат метаданные о его текущей версии.

VERSION – номер версии. См. директиву PUBLISHER – автор изменений DATE – дата обновления Дизассемблер выводит эту информацию в комментарии на первой строке исходника.

Опкоды

Каждая строка с опкодом имеет следующий формат:

xxxx=N, yyyy XXXX – номер опкода N – кол-во параметров yyyy – описание опкода

Не допускается редактирование первых двух значений (номер опкода и кол-во параметров). Описание опкода может меняться свободно.

Если в INI файле содержится несколько определений для одного и того же опкода, используется последнее.

Существует соглашение, по которому описание условного опкода всегда начинается с двух пробелов.

Параметры опкодов

Параметры - это динамическая часть опкода. В описании опкода они начинаются и заканчиваются %

0001=1,wait %1d% ms

Данная строка указывает дизассемблеру, что для опкода 0001 следует написать слова wait и ms, а между ними единственный параметр опкода:

0001: wait 10 ms

Порядок следования параметров

Число в параметре %1d% - его порядковый номер. Он нужен, потому что в некоторых опкодах параметры переставлены местами для улучшения читабельности кода.

0053=5,%5d% = create_player %1o% at %2d% %3d% %4d%

Для опкода 0053 дизассемблер поставит 5-й параметр в начале:

0053: $PLAYER_CHAR = сreate_player #NULL at 2488.562 -1666.865 12.8757 

Если бы параметры выводились в оригинальном порядке, опкод 0053 выглядел бы так:

0053: сreate_player #NULL at 2488.562 -1666.865 12.8757 $PLAYER_CHAR

Изменение порядка следования параметров должно быть крайней мерой, т.к. оно приводит к несовместимости старых скриптов с новым INI файлом.

Типы параметров

Буква после номера параметра обозначает его тип.

Типы параметров могут свободно меняться в случае необходимости.

Определение параметра включает в себя его и .

Порядок следования параметров может различаться от режима к режиму. Смотрите , чтобы узнать больше.

d - любое значение p - имя o - имя (включая объекты) m - имя модели из .ide файла (исключая объекты) g - ключ из файла x - ID внешнего скрипта k - строковый литерал фиксированной длины (128 байтов)

порядковый номер
тип
Sanny Builder Library
модели
метки
сравнительную таблицу
.gxt
режима редактирования
$VERSION