Документация
English
  • Gem RTS v1. Документация
  • Базовая информация о ресурсах в GEM RTS
    • Расположение локальных файлов игры и профиля игрока
    • Архитектура ресурсов игры
      • Пакеты
      • Структура файлов в Пакетах
    • Общая информация о конфигурационных файлах
      • Инструкция include
      • Инструкция define
      • Инструкция mod
  • РАЗРАБОТКА МОДОВ
    • Создание мода
    • Расширенная настройка пакета
    • Создание шаблонов опций
    • Портирование карт из "В тылу врага"
  • РЕДАКТОР
    • Управление камерой в редакторе
    • Горячие клавиши и консольные команды
    • Редактор карт
      • Создание новой карты
      • Редактор сцены
      • Редактор Еntity
      • Редактор ландшафта
        • Редактор высот
        • Редактор полигонов
        • Флаги
        • Редактор типов территорий
        • Редактор материалов земли
        • Редактор цвета
        • Редактор травы
        • Редактор Foliage
      • Редактор воды
      • Создание миникарты
      • Специфика редактирования карт
        • Объекты зданий
        • Объекты Камней
        • Создание складок местности
          • Создание ландшафтного рельефа
          • Объекты обрывов и оврагов
        • Разрушенная техника как антураж карты
        • Объект для озвучивания водных бассейнов
    • Редактор миссий
      • Окно свойств Миссии
      • Редактор Камеры
    • Редактор cпецэффектов
      • Настройка VFX на основе спрайта
      • Настройка VFX на основе декаля
      • Настройка VFX на основе источника света
        • Уровни детализации для локальных источников света
      • VFX на основе генератора частиц
      • Свойства VFX
    • Редактор окружения
      • Общая информация про освещение
      • Создание пресета Environment
      • Настройка Environment
    • Режимы отладки
      • Консольные команды
      • Окно отладки рендера
    • Режим Симуляции
  • НАСТРОЙКИ ИГРОВЫХ ПАРАМЕТРОВ
    • Режимы передвижения юнитов типа human
    • Движение по склонам
    • Настройка бронепробиваемости
      • Алгоритм работы брони
    • Настройка сенсора
    • Модификаторы сложности
    • Пороговое значение для захвата местности
    • Настройка Узла кампании
    • Настройка параметров ветра
    • Metagame
      • Кампании
      • Карты
      • Актеры
      • Юниты
      • Батальоны
      • Факты
      • Счетчики
      • Задачи
      • Page 1
  • АНИМАЦИИ
    • FSM
      • Общие сведения
      • Формат описания FSM
      • Выбор анимации на примерах
      • Выбор анимаций ходьбы и бега
      • Выбор позы
      • Настройка idle
      • Анимации смерти
      • Выбор способа броска гранаты
      • Fsm для юнита Человек
      • Отладка анимаций в редакторе
    • Анимирование объекта placement
    • Звуки и события в анимации
    • Параметры укрытий для аниматоров
  • МОДЕЛИ
    • Плагин для экспорта моделей в игру
    • План настройки моделей техники
      • Создание иерархии элементов модели
        • Корпус
        • Башня
        • Орудие
        • Двигатель
        • Второстепенные кости
        • Трансмиссия
          • Механизмы в шасси
      • Особенности настройки моделей колесной техники
      • Особенности настройки моделей пушек
      • Экспорт модели техники в игру
      • Базовая настройка DEF-файла
      • Тестирование модели техники
      • Назначение материалов на модель
      • Уровни детализации (LOD)
      • Х-модель техники
      • ХХ-модель модели техники
    • Настройка модели дома
      • Описание иерархии структуры модели дома
      • Настройка .def файла модели дома
      • Х-модель дома и его .def файл
      • Тестирование модели дома
  • ТЕКСТУРЫ И МАТЕРИАЛЫ
    • Physically Based Rendering
      • Основные параметры в PBR
      • Компрессия текстур
      • Конверсия текстур в Gem RTS
      • Конверсия текстур с помощью Nvidia Texture Exporter
      • Тестирование материалов
      • Инструменты
    • Текстуры неба
  • ЛОКАЛИЗАЦИЯ
    • Добавление нового языка
    • Переменные строки в локализации
Powered by GitBook
On this page
  • Описание инструкции define
  • Аргументы в инструкции define
  • Вызов инструкции define
  • Вложенные инструкции define
  • Пустые инструкции define
  • Примеры
  1. Базовая информация о ресурсах в GEM RTS
  2. Общая информация о конфигурационных файлах

Инструкция define

Описание инструкции define

Повторяющиеся фрагменты SDL можно описать с помощью инструкции define для дальнейшего многократного вызова в нужных местах.

Формат описания и вызова инструкции define

(define “name” [...])

name - имя инструкции, задается в двойных кавычках [...] - фрагмент SDL, который будет добавляться при вызове инструкции

Аргументы в инструкции define

Фрагмент SDL может содержать , значения которых обычно меняются от вызова к вызову.

Пример описания инструкции define без аргументов
(define "seismic_custom"
    {damage seismic {energy 10} {radius 8}}
)
Пример описания инструкции define с аргументами в виде порядкового номера
(define "seismic_custom"
    {damage seismic {energy %0} {radius %1}}
)
Пример описания инструкции define с именными аргументами
(define "seismic_custom"
    {damage seismic {energy %energy} {radius %radius}}
)

Вызов инструкции define

Вызов инструкции define происходит по ее имени. Имя заключается в двойные кавычки.

Формат вызова инструкции define

("name" [args])

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

Пример вызова инструкции define, которая не содержит аргументы
(“seismic_custom”)
Пример вызова Инструкции define с аргументами, которые заданы порядковым номером
("seismic_custom" args 10 8)
Пример вызова инструкции define с именными аргументами
(“seismic_custom” energy(10) radius(8))

При вызове Инструкции значения для именных агрументов могут отсутствовать.

Пример вызова инструкции define с пустым аргументом
(“seismic_custom” energy() radius(8))

Вложенные инструкции define

Инструкции define могут быть вложенными

Пример описания вложенной инструкции define
(define "set_default" ("content_%con"))

Инструкция set_default вызывает инструкцию content_%con

Пустые инструкции define

Пустые инструкции define используют в случае необходимости выключить одну или несколько вложенных инструкций. При этом часто при вызове инструкции в имени вложенной инструкции используется аргумент

Пример использования пустой инструкции define
(define "content_none")
(define "content_v" 
    {content data1}
)
(define "content_v_officer" 
    {content data2"}
)
(define "set_default" ("content_%con"))
...
("set_default" con(none))
("set_default" con(v) )
("set_default" con(v_officer))

Пустая инструкция content_none вызывается, когда content не нужен.

Инструкция content_%con является вложенной

Ее вызов происходит в инструкции "set_default"

В имени вложенной инструкции используется аргумент %con

При вызове инструкции "set_default" в качестве значения аргумента передают

нужное окончание: none, v или v_officer

От этого зависит, какая из инструкций "content_*" будет вызвана

Примеры

Альтернативное название инструкции define - макрос.

Пример основного макроса с базовым набором параметров
(define "set_generic"
  {charge %ch}
  ("score" sc(%sc))
  {tags "%tag %side"}
  ("cw_%cw")
  {cp %cp}
  {level %lvl}
  {cost 0}
  {fore 1}
)
Пример макроса со стандартным набором настроек
(define "set_default"
    ("content_%con" side(%side) n(%n))
    ("set_generic" ch(%ch) sc(%sc) tag(%tag) side(%side) cw(%cw) cp(%cp) lvl(%lvl))
    ("spawn_distance_%sd")
    ("territory_holder_%th")
)
Пример макроса верхнего уровня, который использует стандартные настройки
(define "set_v" 
    ("set_default" 
        con(v) 
        ch(0) 
        sc(%sc) 
        tag(%tag) 
        side(%side) 
        n(%n) 
        cw(%cw) 
        cp(%cp) 
        lvl(%lvl) 
        sd(default) 
        th(%th)
    )
)

Результатом вызова инструкции set_v будет итоговая настройка для юнита pz1b

{"pz1b" 
    ("set_v" 
        lvl(1) 
        tag(all tnk_light level_1) 
        side(ger) 
        n(2) 
        sc(10) 
        cw(s2) 
        cp(3) 
        th(tanks)
    )
}

Last updated 1 year ago

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

Общая информация о конфигурационных файлах