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
  • INC
  • DEC
  • MUL
  • DIV
  • ALLOC
  • SQR
  • RANDOM
  1. Синтаксис

Дополнительные команды

PreviousКлючевые словаNextHEX..END

Last updated 4 years ago

В компилятор встроено несколько дополнительных команд, которые позволяют некоторые конструкции.

INC

Прибавляет к значению (первый параметр) число (второй параметр):

Inc($IntVariable, $Value)
=
$IntVariable += $Value

Второй параметр по умолчанию равен 1.

Inc(1@)
=
1@ += 1

Начиная с версии 3.06 можно использовать оператор инкремента ++. Он пишется после имени переменной и увеличивает ее значение на 1.

$var++
=
$var += 1

DEC

Вычитает из значения (первый параметр) число (второй параметр):

Dec($IntVariable, $Value)
=
$IntVariable -= $Value

Второй параметр по умолчанию равен 1.

Dec(1@)
=
1@ -= 1

Начиная с версии 3.06 можно использовать оператор декремента --. Он пишется после имени переменной и уменьшает ее значение на 1.

$var--
=
$var -= 1

MUL

Mul($IntVariable, $Value)
=
$IntVariable = $IntVariable * $Value

Второй параметр по умолчанию равен 2.

Mul(1@)
=
1@ = 1@ * 2

DIV

Div($IntVariable, $Value)
=
$IntVariable = $IntVariable / $Value

Второй параметр по умолчанию равен 2.

Div(1@)
=
1@ = 1@ / 2

ALLOC

Первый параметр должен быть глобальной переменной, второй - целым числом больше либо равным нулю.

Alloc($MyVar, 40) - переменная $MyVar будет скомпилирована как $40

См. также help\examples\alloc.txt

SQR

Умножает переменную на саму себя

sqr($var) 
=
$var *= $var

RANDOM

Эта функция возвращает случайное число в заданном интервале:

$rnd = random(1, $high)

Умножает значение (первый параметр) на число (второй параметр):

Делит значение (первый параметр) на число (второй параметр):

Эта функция задает адрес для , по которому она будет хранить свое значение. Значения переменных хранятся в начале файла main.scm.

Применять эту команду следует только к переменным с текстовым именем (например, $text). Для переменных с числовым именем (т.н. ) их адрес определяется самим этим числом. Например, переменная $40 хранит свое значение по смещению 160 (40*4).

Тип переменной должен быть .

Может использоваться как для целых, так и для дробных чисел. Конечный опкод зависит от переменной, в которую записывается результат ($rnd).

упростить
переменной
переменной
переменной
переменной
глобальной переменной
DMA-переменные
объявлен
типа