Возможности
Sanny Builder как среда программирования предоставляет пользователю следующие возможности.
Интеграция с Sanny Builder Library
Sanny Builder Library - это портал, наполняемый сообществом, который ставит перед собой задачу задокументировать все известные скриптовые команды, используемые в GTA III, Vice City и San Andreas. Вы можете найти его по адресу https://library.sannybuilder.com/.
Начиная с версии 3.8.0 Sanny Builder использует файлы библиотеки, чтобы дополнить функцию Показ различной информации об опкоде кратким описанием того, что делает этот опкод. Пути к файлам библиотеки контролируются новым параметром <library> в конфигурации режима редактирования.
Если выбранный режим редактирования использует документацию из библиотеки, в нижней панели будет отображаться её версия , например SBL v0.119. Версия может отличаться в разных режимах.
При клике по версии в нижней панели будет показано всплывающее меню, из которого можно проверить наличие новых обновлений и скачать их. Если включить опцию Обновлять автоматически при запуске, Sanny Builder будет проверять обновления и скачивать их автоматически при каждом запуске.
Темы оформления
Внешний вид Sanny Builder может быть изменен при помощи тем оформления. Они задают цвета и стиль элементов интерфейса и правила подсветки синтаксиса. Текущую тему можно сменить в опциях программы.
Также в Sanny Builder имеется встроенный редактор для быстрой модификации существующих тем.
Быстрый переход по тексту
Текущую строку можно запомнить, если поставить закладку нажатием Ctrl+Shift+0..9, а затем вернуться к ней нажатием Ctrl+0..9.
Удалить все закладки можно через меню Правка -> Удалить закладки.
Также можно перейти к строке по ее номеру через опцию Перейти.... Она вызывается комбинацией Ctrl+G. Введите порядковый номер нужной строки, и редактор быстро переместит Вас к ней.
Переход к определению
Редактор позволяет быстро переходить к определенным участкам кода без вызова диалога поиска.
Чтобы перейти к строке, обозначенной меткой (например, :MyLabel), поместите курсор на ссылку на эту метку (@MyLabel) и нажмите Alt+Вправо. Если такая метка существует, редактор немедленно переместит на неё курсор.
Похожим образом можно перейти к началу функции или миссии, если нажать Alt+Вправо на имени функции или миссии.
Чтобы вернуться обратно, нажмите Alt+Влево. Продолжайте нажимать, если переходов было несколько.
Сочетания клавиш для этой функции можно изменить в настройках.
Показ различной информации о текущем опкоде
При включенной опции Показывать информацию об опкодах в нижней панели редактора выводится:
количество параметров для опкода;
ID модели, когда курсор находится над ее именем и
IDEфайлы для текущего режима редактирования загружены;значение константы, когда курсор находится над именем константы и языковая служба включена;
краткое описание того, что делает эта команда (из Sanny Builder Library).
Поиск нужного опкода
Используйте программу поиска опкодов, чтобы найти нужный опкод.
Изменение координат и угла разворота игрока
Нажмите 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. С этого момента редактор запоминает все нажатия клавиш, так что будьте осторожны.
Зажмите
Ctrlи нажмите один разстрелку вправо.Ctrlнужен так как строки разной длины.Теперь нажмите
Shift+HomeиCtrl+Ins.Нажмите
стрелку вниз. Курсор должен оказаться на второй строке, при этом глобальная переменная будет в буфере обмена.Нажмите
Ctrl+стрелка вправоиShift+Ins.Нажмите
Ctrl+стрелка влево,Shift+Home,Ctrl+Insи кнопкуDeleteНажмите
стрелку вверхНажмите
Ctrl+Shift+стрелка вправоиShift+InsНажмите кнопку
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+пробел.
См. также Быстрый переход к миссии.
Использование оригинальных имен миссий
Начиная с версии 3.2.0 Sanny Builder поддерживает оригинальные названия миссий для каждого режима редактирования. Названия содержатся в файле missions.txt. Этот файл используется при дизассемблировании, чтобы добавить название миссии как комментарий рядом командой определения (DEFINE MISSION) или вызова миссии (start_mission).
При дизассемблировании main.scm с измененными миссиями, отредактируйте соответствующий файл missions.txt, чтобы названий миссий соответствовали скрипту.
Многоязычный интерфейс
Sanny Builder обладает интерфейсом, переведенным на 15 языков. Переключить язык можно в опциях (F10). Информацию по созданию или изменению переводов можно найти на sannybuilder/translations.
Меню внешних приложений
Вы можете добавить в меню Инструменты до 9 внешних приложений и запускать по мере необходимости. Каждому приложению можно присвоить комбинацию горячих клавиш и параметры, необходимые для запуска.
Для передачи в запускаемое приложение пути к открытому в редакторе файлу используйте специальное слово: $SB_FileName.
Начиная с версии 3.7.0 также можно использовать переменные @sb: и @game:, которые представляют директорию Sanny Builder и директорию текущей игры соответственно, в параметрах вызываемого приложения:
Параметры:
--cwd=@sb: --game-dir=@game:Проверка обновлений
Sanny Builder может проверить, доступна ли новая версия программы. Чтобы использовать эту возможность, пройдите в меню Справка->Проверить обновления.... Программа подключится к серверу обновлений и предложит скачать и установить обновление, если оно найдено.
Sanny Builder может автоматически проверять наличие обновления при запуске, если вы включите соответствующую опцию в окне меню обновлений.
Last updated