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
  • Интеграция с Sanny Builder Library
  • Темы оформления
  • Быстрый переход по тексту
  • Переход к определению
  • Показ различной информации о текущем опкоде
  • Поиск нужного опкода
  • Изменение координат и угла разворота игрока
  • Запись и воспроизведение нажатий кнопок
  • Замена номеров миссий на их названия
  • Использование оригинальных имен миссий
  • Многоязычный интерфейс
  • Меню внешних приложений
  • Проверка обновлений
  1. Редактор

Возможности

PreviousКомментарииNextОпции программы

Last updated 1 year ago

Sanny Builder как среда программирования предоставляет пользователю следующие возможности.

Интеграция с Sanny Builder Library

Sanny Builder Library - это портал, наполняемый сообществом, который ставит перед собой задачу задокументировать все известные скриптовые команды, используемые в GTA III, Vice City и San Andreas. Вы можете найти его по адресу .

Начиная с версии 3.8.0 Sanny Builder использует файлы библиотеки, чтобы дополнить функцию кратким описанием того, что делает этот опкод. Пути к файлам библиотеки контролируются новым параметром <library> в .

Если выбранный режим редактирования использует документацию из библиотеки, в нижней панели будет отображаться её версия , например SBL v0.119. Версия может отличаться в разных режимах.

При клике по версии в нижней панели будет показано всплывающее меню, из которого можно проверить наличие новых обновлений и скачать их. Если включить опцию Обновлять автоматически при запуске, Sanny Builder будет проверять обновления и скачивать их автоматически при каждом запуске.

Темы оформления

Если запустить Sanny Builder v3.8.0 с файлом settings.ini из предыдущей версии программы, настройки подсветки синтаксиса будут сконвертированы в пользовательскую тему оформления (файл themes\custom.ini).

Быстрый переход по тексту

Текущую строку можно запомнить, если поставить закладку нажатием Ctrl+Shift+0..9, а затем вернуться к ней нажатием Ctrl+0..9. Удалить все закладки можно через меню Правка -> Удалить закладки.

Также можно перейти к строке по ее номеру через опцию Перейти.... Она вызывается комбинацией Ctrl+G. Введите порядковый номер нужной строки, и редактор быстро переместит Вас к ней.

Переход к определению

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

Чтобы перейти к строке, обозначенной меткой (например, :MyLabel), поместите курсор на ссылку на эту метку (@MyLabel) и нажмите Alt+Вправо. Если такая метка существует, редактор немедленно переместит на неё курсор.

Похожим образом можно перейти к началу функции или миссии, если нажать Alt+Вправо на имени функции или миссии.

Чтобы вернуться обратно, нажмите Alt+Влево. Продолжайте нажимать, если переходов было несколько.

Показ различной информации о текущем опкоде

  • количество параметров для опкода;

Поиск нужного опкода

Изменение координат и угла разворота игрока

Нажмите Ctrl+Alt+1, когда запущена игра, и появится окно менеджера. Здесь вы можете установить новые координаты и угол разворота игрока и скопировать текущие. В верхнем поле ввода вы можете указать сразу 3 координаты, разделив их пробелом или ,. Также вы можете быстро вставить координаты игрока в редакторе комбинацией Ctrl+Shift+C. Вставка угла разворота (z_angle) в редакторе производится нажатием Ctrl+Shift+E.

Запись и воспроизведение нажатий кнопок

Можно записывать последовательность нажатия клавиш (макрос) и воспроизводить ее позднее. Например, есть следующий код:

$Actor = Actor.Create(CivMale, #MALE01, 100.0, 100.0, 10.0)
$ActorWithGun = Actor.Create(CivMale, #MALE01, 110.0, 100.0, 20.0)
$Gang01 = Actor.Create(CivMale, #MALE01, 120.0, 100.0, 30.0)
$Gang02 = Actor.Create(CivMale, #MALE01, 130.0, 100.0, 40.0)
$Killer = Actor.Create(CivMale, #MALE01, 140.0, 100.0, 50.0)
$ActorWithoutGun = Actor.Create(CivMale, #MALE01, 150.0, 100.0, 60.0) 

Допустим, нужно обменять переменные в каждой паре строк (поставить вместо $Actor $ActorWithGun, а вместо $ActorWithGun - $Actor и т.д.).

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

  1. Зажмите Ctrl и нажмите один раз стрелку вправо. Ctrl нужен так как строки разной длины.

  2. Теперь нажмите Shift+Home и Ctrl+Ins.

  3. Нажмите стрелку вниз. Курсор должен оказаться на второй строке, при этом глобальная переменная будет в буфере обмена.

  4. Нажмите Ctrl+стрелка вправо и Shift+Ins.

  5. Нажмите Ctrl+стрелка влево, Shift+Home, Ctrl+Ins и кнопку Delete

  6. Нажмите стрелку вверх

  7. Нажмите Ctrl+Shift+стрелка вправо и Shift+Ins

  8. Нажмите кнопку Home.

Теперь первые две строки выглядят так:

$ActorWithGun = Actor.Create(CivMale, 100.0, 100.0, 10.0)
$Actor = Actor.Create(CivMale, 110.0, 100.0, 20.0)

и курсор стоит в начале первой строки. Теперь нажмите Ctrl+M. Макрос записан. Теперь можно воспроизводить записанную последовательность комбинацией Ctrl+P. Установите курсор на третью строку, нажмите Ctrl+P, и переменные $Gang01 и $Gang02 поменяются местами.

Во время записи макроса можно поставить/снять запись на паузу нажатием Ctrl+P.

Замена номеров миссий на их названия

Sanny Builder допускает использовать имя миссии в команде start_mission. Именем миссии явлется ее метка, которая определена в блоке DEFINE MISSION.

Например, у вас есть

DEFINE MISSION 10 AT @MYMISSION

Вы можете использовать вместо start_mission 10 команду start_mission MYMISSION.

Для дополнительного удобства после команды start_mission можно вызвать список имен миссий нажатием Ctrl+пробел.

Использование оригинальных имен миссий

При дизассемблировании main.scm с измененными миссиями, отредактируйте соответствующий файл missions.txt, чтобы названий миссий соответствовали скрипту.

Многоязычный интерфейс

Меню внешних приложений

Вы можете добавить в меню Инструменты до 9 внешних приложений и запускать по мере необходимости. Каждому приложению можно присвоить комбинацию горячих клавиш и параметры, необходимые для запуска.

Для передачи в запускаемое приложение пути к открытому в редакторе файлу используйте специальное слово: $SB_FileName.

Начиная с версии 3.7.0 также можно использовать переменные @sb: и @game:, которые представляют директорию Sanny Builder и директорию текущей игры соответственно, в параметрах вызываемого приложения:

Параметры:
--cwd=@sb: --game-dir=@game:

Проверка обновлений

Sanny Builder может проверить, доступна ли новая версия программы. Чтобы использовать эту возможность, пройдите в меню Справка->Проверить обновления.... Программа подключится к серверу обновлений и предложит скачать и установить обновление, если оно найдено.

Sanny Builder может автоматически проверять наличие обновления при запуске, если вы включите соответствующую опцию в окне меню обновлений.

Внешний вид Sanny Builder может быть изменен при помощи тем оформления. Они задают цвета и стиль элементов интерфейса и правила подсветки синтаксиса. Текущую тему можно сменить в программы.

Также в Sanny Builder имеется для быстрой модификации существующих тем.

Сочетания клавиш для этой функции можно изменить в .

При включенной Показывать информацию об опкодах в нижней панели редактора выводится:

ID модели, когда курсор находится над и IDE файлы для текущего загружены;

значение , когда курсор находится над именем константы и включена;

краткое описание того, что делает эта команда (из ).

Используйте программу , чтобы найти нужный опкод.

Также существует Заменять номера миссий. Когда она включена, дизассемблер автоматически заменяет все номера миссий в коде на их имена. Эта опция дает возможность безболезненно удалять миссии, не заботясь о переименовывании номеров в коде.

См. также .

Начиная с версии 3.2.0 Sanny Builder поддерживает оригинальные названия миссий для каждого . Названия содержатся в файле missions.txt. Этот файл используется при дизассемблировании, чтобы добавить название миссии как комментарий рядом командой определения (DEFINE MISSION) или вызова миссии (start_mission).

Sanny Builder обладает интерфейсом, переведенным на 15 языков. Переключить язык можно в (F10). Информацию по созданию или изменению переводов можно найти на .

встроенный редактор
настройках
константы
языковая служба
поиска опкодов
режима редактирования
Sanny Builder Library
Быстрый переход к миссии
https://library.sannybuilder.com/
Показ различной информации об опкоде
sannybuilder/translations
опция
опциях
ее именем
Интерфейс настройки внешних приложений
режима редактирования
конфигурации режима редактирования
опциях
опции