Документация
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
  • Типы переменных строк
  • Отдача команд в игре
  • Указание действия в игре
  • Указание конкретной кнопки
  • Для действий из Хотбара
  • Пример использования переменных строк в локализации
  • Файлы настроек
  1. ЛОКАЛИЗАЦИЯ

Переменные строки в локализации

Last updated 9 months ago

В Настройках игры доступна функция настройки клавиши отдачи команд и назначения для действий в игре горячих клавиш. В связи с этим возникает необходимость идентификации соответствующих клавиш в файлах локализации. Для этого используются переменные строки.

Типы переменных строк

Отдача команд в игре

<&mouse_action_key>

Способ отдачи команд в игре задается в Настройках игры. По умолчанию работает управление по ПКМ. При выставленном флажке в поле "Команды левой клавишей мыши" команды будут отдаваться по ЛКМ.

Указание действия в игре

<&optkey:anyAction>

При выводе локализационных текстов вместо <&optkey:anyAction> будет подставляться значение, соотвествующее настройкам пользователя, записанное в файле keys.opt

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

Допустим, действие "отмена" [cancel] назначено на клавишу Z. Тогда в файле keys.opt будут строки:

{"actions/cancel"
    {value KEY_Z}
}

Для действия actions/cancel строки локализации могут выглядеть следующим образом:

{"stand_still" "Для отмены приказа нажмите хоткей <&optkey:actions/cancel>."}

Соответственно, игре в тексте на месте переменной строки <&optkey:actions/cancel> будет выводиться буква Z и игрок увидит текст:

"Для отмены приказа нажмите хоткей Z."

Примечание: чтобы действие находилось по хоткею необходимо, чтобы в файле action.set для соответствующего действия был прописан параметр key.

{...{name "[action_name]"} ...{key "actions/[action_name]"}...}

Если нужно добавить возможность вызвать действие по хоткею, можно создать файл action+.set и воспользоваться блоком с параметром modify. Например, для действия "Отмена":

{modify "cancel"...{key "actions/cancel"}...}

Указание конкретной кнопки

<&key:keycode>

Используется для указания конкретной кнопки клавиатуры.

Пример указания в локализационных текстах конкретной кнопки

Для клавиши пробел переменная строка будет выглядеть как

<&key:key_space>

Для указания кнопок необходимо использовать значения из списка keycode.

Список значений keycode для клавиш клавиатуры

Примечание: для повышения читабельности необходимо писать в нижнем регистре

keymap["KEY_ESCAPE"] = 0x01;

keymap["KEY_1"] = 0x02;

keymap["KEY_2"] = 0x03;

keymap["KEY_3"] = 0x04;

keymap["KEY_4"] = 0x05;

keymap["KEY_5"] = 0x06;

keymap["KEY_6"] = 0x07;

keymap["KEY_7"] = 0x08;

keymap["KEY_8"] = 0x09;

keymap["KEY_9"] = 0x0A;

keymap["KEY_0"] = 0x0B;

keymap["KEY_MINUS"] = 0x0C;

keymap["KEY_EQUALS"] = 0x0D;

keymap["KEY_BACK"] = 0x0E;

keymap["KEY_TAB"] = 0x0F;

keymap["KEY_Q"] = 0x10;

keymap["KEY_W"] = 0x11;

keymap["KEY_E"] = 0x12;

keymap["KEY_R"] = 0x13;

keymap["KEY_T"] = 0x14;

keymap["KEY_Y"] = 0x15;

keymap["KEY_U"] = 0x16;

keymap["KEY_I"] = 0x17;

keymap["KEY_O"] = 0x18;

keymap["KEY_P"] = 0x19;

keymap["KEY_LBRACKET"] = 0x1A;

keymap["KEY_RBRACKET"] = 0x1B;

keymap["KEY_RETURN"] = 0x1C;

keymap["KEY_LCONTROL"] = 0x1D;

keymap["KEY_A"] = 0x1E;

keymap["KEY_S"] = 0x1F;

keymap["KEY_D"] = 0x20;

keymap["KEY_F"] = 0x21;

keymap["KEY_G"] = 0x22;

keymap["KEY_H"] = 0x23;

keymap["KEY_J"] = 0x24;

keymap["KEY_K"] = 0x25;

keymap["KEY_L"] = 0x26;

keymap["KEY_SEMICOLON"] = 0x27;

keymap["KEY_APOSTROPHE"] = 0x28;

keymap["KEY_GRAVE"] = 0x29;

keymap["KEY_LSHIFT"] = 0x2A;

keymap["KEY_BACKSLASH"] = 0x2B;

keymap["KEY_Z"] = 0x2C;

keymap["KEY_X"] = 0x2D;

keymap["KEY_C"] = 0x2E;

keymap["KEY_V"] = 0x2F;

keymap["KEY_B"] = 0x30;

keymap["KEY_N"] = 0x31;

keymap["KEY_M"] = 0x32;

keymap["KEY_COMMA"] = 0x33;

keymap["KEY_PERIOD"] = 0x34;

keymap["KEY_SLASH"] = 0x35;

keymap["KEY_RSHIFT"] = 0x36;

keymap["KEY_MULTIPLY"] = 0x37;

keymap["KEY_LALT"] = 0x38;

keymap["KEY_SPACE"] = 0x39;

keymap["KEY_CAPSLOCK"] = 0x3A;

keymap["KEY_F1"] = 0x3B;

keymap["KEY_F2"] = 0x3C;

keymap["KEY_F3"] = 0x3D;

keymap["KEY_F4"] = 0x3E;

keymap["KEY_F5"] = 0x3F;

keymap["KEY_F6"] = 0x40;

keymap["KEY_F7"] = 0x41;

keymap["KEY_F8"] = 0x42;

keymap["KEY_F9"] = 0x43;

keymap["KEY_F10"] = 0x44;

keymap["KEY_NUMLOCK"] = 0x45;

keymap["KEY_SCROLL"] = 0x46;

keymap["KEY_NUMPAD7"] = 0x47;

keymap["KEY_NUMPAD8"] = 0x48;

keymap["KEY_NUMPAD9"] = 0x49;

keymap["KEY_SUBTRACT"] = 0x4A;

keymap["KEY_NUMPAD4"] = 0x4B;

keymap["KEY_NUMPAD5"] = 0x4C;

keymap["KEY_NUMPAD6"] = 0x4D;

keymap["KEY_ADD"] = 0x4E;

keymap["KEY_NUMPAD1"] = 0x4F;

keymap["KEY_NUMPAD2"] = 0x50;

keymap["KEY_NUMPAD3"] = 0x51;

keymap["KEY_NUMPAD0"] = 0x52;

keymap["KEY_DECIMAL"] = 0x53;

keymap["KEY_F11"] = 0x57;

keymap["KEY_F12"] = 0x58;

keymap["KEY_F13"] = 0x64;

keymap["KEY_F14"] = 0x65;

keymap["KEY_F15"] = 0x66;

keymap["KEY_KANA"] = 0x70;

keymap["KEY_CONVERT"] = 0x79;

keymap["KEY_NOCONVERT"] = 0x7B;

keymap["KEY_YEN"] = 0x7D;

keymap["KEY_NUMPADEQUALS"] = 0x8D;

keymap["KEY_CIRCUMFLEX"] = 0x90;

keymap["KEY_AT"] = 0x91;

keymap["KEY_COLON"] = 0x92;

keymap["KEY_UNDERLINE"] = 0x93;

keymap["KEY_KANJI"] = 0x94;

keymap["KEY_STOP"] = 0x95;

keymap["KEY_AX"] = 0x96;

keymap["KEY_UNLABELED"] = 0x97;

keymap["KEY_NUMPADENTER"] = 0x9C;

keymap["KEY_RCONTROL"] = 0x9D;

keymap["KEY_NUMPADCOMMA"] = 0xB3;

keymap["KEY_DIVIDE"] = 0xB5;

keymap["KEY_SYSRQ"] = 0xB7;

keymap["KEY_RALT"] = 0xB8;

keymap["KEY_PAUSE"] = 0xC5;

keymap["KEY_HOME"] = 0xC7;

keymap["KEY_UP"] = 0xC8;

keymap["KEY_PRIOR"] = 0xC9;

keymap["KEY_LEFT"] = 0xCB;

keymap["KEY_RIGHT"] = 0xCD;

keymap["KEY_END"] = 0xCF;

keymap["KEY_DOWN"] = 0xD0;

keymap["KEY_NEXT"] = 0xD1;

keymap["KEY_INSERT"] = 0xD2;

keymap["KEY_DELETE"] = 0xD3;

keymap["KEY_LWIN"] = 0xDB;

keymap["KEY_RWIN"] = 0xDC;

keymap["KEY_APPS"] = 0xDD;

keymap["KEY_ESC"] = KEY_ESCAPE;

keymap["KEY_ENTER"] = KEY_ENTER;

keymap["KEY_BACKSPACE"] = KEY_BACK;

keymap["KEY_NUMPADSTAR"] = KEY_MULTIPLY;

keymap["KEY_NUMPADMINUS"] = KEY_SUBTRACT;

keymap["KEY_NUMPADPLUS"] = KEY_ADD;

keymap["KEY_NUMPADPERIOD"] = KEY_DECIMAL;

keymap["KEY_NUMPADSLASH"] = KEY_DIVIDE;

keymap["KEY_UPARROW"] = KEY_UP;

keymap["KEY_PGUP"] = KEY_PRIOR;

keymap["KEY_LEFTARROW"] = KEY_LEFT;

keymap["KEY_RIGHTARROW"] = KEY_RIGHT;

keymap["KEY_DOWNARROW"] = KEY_DOWN;

keymap["KEY_PGDN"] = KEY_NEXT;

keymap["MOUSE0"] = MOUSE0;

keymap["MOUSE1"] = MOUSE1;

keymap["MOUSE2"] = MOUSE2;

keymap["MOUSE3"] = MOUSE3;

keymap["MOUSE4"] = MOUSE4;

keymap["MOUSE5"] = MOUSE5;

keymap["MOUSE6"] = MOUSE6;

keymap["MOUSE7"] = MOUSE7;

keymap["MOUSE_LEFT"] = MOUSE_LEFT;

keymap["MOUSE_RIGHT"] = MOUSE_RIGHT;

keymap["MOUSE_MIDLE"] = MOUSE_MIDLE;

keymap["KEY_CONTROL"] = KEY_CONTROL;

keymap["KEY_ALT"] = KEY_ALT;

keymap["KEY_SHIFT"] = KEY_SHIFT;

keymap["ALT"] = KF_ALT;

keymap["CTRL"] = KF_CTRL;

keymap["SHIFT"] = KF_SHIFT;

keymap["DOUBLE"] = KF_DOUBLE;

keymap["~ALT"] = KF_NOALT;

keymap["~CTRL"] = KF_NOCTRL;

keymap["~SHIFT"] = KF_NOSHIFT;

keymap["~DOUBLE"] = KF_NODOUBLE.

Для действий из Хотбара

<&hotbar_key:anyAction>

Алгоритм работы

  1. Если указанное действие находится на панели Хотбара, то игра в тексте на месте переменной строки выведет значение соответствующей клавиши хотбара

  2. Если указанного действия нет на панели Хотбара, то выведет значение хоткея для экшена, если он задан. Иначе, выведет пустое значение []

Пример использования переменной строки для действий из Хотбара
<&hotbar_key:actions/cancel>

Пример использования переменных строк в локализации

Фрагмент .lng файла с использованием переменных строк:

{"02" " Чтобы возвести бруствер, выделите стрелков и нажмите <&hotbar_key:barricade>. После выберите место для начала бруствера и нажмите <&mouse_action_key>. Тяните курсор мыши, чтобы задать длину укрепления. Нажмите <&mouse_action_key> повторно, чтобы отдать приказ о возведении бруствера. "}

Файлы настроек

Название файла
Назначение

keys.opt

Настройки соответствия действий в игре [actions] хоткеям

scene\hud2\action.set

Файл с описаниями действий [actions] в игре

interface\text\#ingame+.lng

Файл локализации действий в игре

*.lng

Файлы локализации

Переключение в настройках игры команд с правой кнопки мыши на левую