Wega:Панель взаимодействий

Кхем, кхем, панель взаимодействий - В С Ё [1]

Чек сноску


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

Данное пособие несет в себе лишь пояснение по возможностям создания прототипов взаимодействия с пояснением как сделать таки этот прототип, чтобы он работал, к работе естественно приложен файл пример с разметкой в нем самом Пособие подготовлено отделом разработки Corvax Wega

Примечание: Учтите, что данные добавленных прототипов прямо хранятся на вашем клиенте(в вашем окне игры), в случае перезагрузки клиента, то есть выхода из игры, перезагрузки и так далее, прототипы сбросятся.

В данном случае ваш лучший друг это сочетание клавиш ctrl + c, ctrl + v И, если вам нужны звуки, можете посмотреть доступные по директории в [обычного корвакса] или по приложенному ниже списку доступных звуков из нашей сборки

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

Что такое прототип?

Прототип — это шаблон, который описывает объект или сущность. Он содержит набор полей (свойств), которые определяют, как этот объект будет работать. В этом случае прототип используется для описания взаимодействий (interactions).

Для удобства ниже будут представлены существующие виды полов, рас, а также некоторых доступных директорий звука и тд: Обязательно учитывайте, что как оно указано в примере, так и должно указываться в прототипе. С большой буквы, так с большой, с малой так с малой* - Доступные виды пола: Male, Female, Unsexed - Доступные виды рас: Human, Dwarf, Felinid, Moth, Reptilian, SlimePerson, Vulpkanin, Skrell, Resomi, Vox, Arachnid, Diona Вполне себе читается и в пояснениях не нуждается, так же для этих двух полей есть универсальные идентификатор all, означающий что просто будут использованы все без исключений. Он стоит по умолчанию, если не указывать поле, но для сводки

- Доступные директории звуков (начинаются с): /Audio/Voice/, /Audio/Effects/, /Audio/_Wega/Voice/, /Audio/_Wega/Interacrtions/ Обязательно для звуков, на конце должно указываться название звука и .ogg Если вы неправильно введете значение, ничего страшного, игра за вас исключит неправильные типы прототипов, во избежание ошибок - Пример: /Audio/_Wega/Voice/Human/moan_f1.ogg (звук стона)

- Доступные поля одежды: head(слот головы), eyes(слот глаз(очки)), ears(слот ушей(гарнитура)), mask((слот маски), outerClothing(слот скафандра), jumpsuit(слот комбинезона), neck(слот шеи(плащи и тд)), back(слот рюкзака), belt(слот пояса), gloves(слот перчаток), shoes(слот обуви), socks(слот носков), underweartop(слот лифчика), underwearbottom(слот трусов), anal(слот анальной пробки) - - В скобках добавлено пояснения для полей, за какой именно слот они отвечают, добавлять следует аналогично с маленькой без скобок, они лишь для пояснения

1. Основные поля прототипа

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

  • ID — уникальный идентификатор прототипа. Должен быть уникальным для каждого нового прототипа.*
  • Name — название прототипа, которое будет отображаться в интерфейсе.*
  • Icon — путь к иконке, которая будет отображаться для этого прототипа.*
  • ERP — флаг, который указывает, относится ли это взаимодействие к ERP*
  • UserMessages — сообщение которые будет воспроизведено от этого взаимодействия*
  • AllowedGenders, AllowedSpecies — списки допустимых полов и рас для взаимодействия.*
  • BlackListSpecies — список рас, которые не могут и по отношению к которым не могут использовать это взаимодействие.*
  • NearestAllowedGenders, NearestAllowedSpecies — списки допустимых полов и видов для ближайшего объекта.*
  • RequiredClothingSlots — списки слотов одежды, которые должны быть сняты для возможности воспроизвести взаимодействие.*
  • SoundPerceivedByOthers — если true, звук взаимодействия будет слышен другим игрокам.*
  • InteractSound — звук, который воспроизводится при взаимодействии.*

2. Как создавать прототипы?

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

2.1 В блокноте (текстовом редакторе)

Просто создайте файл в формате YAML (достаточно создать файлик блокнота .txt и к названию добавить .yml) и заполните поля. Или отредактируйте уже экспортированный файл. Например:

# ---- example.yml ----
- type: interaction
  id: MyInteraction
  name: Моё взаимодействие
  erp: false
  icon: /Textures/Interface/heart.png
  userMessages:
    - пожал руку $target
  allowedSpecies:
    - Human
  allowedGenders:
    - all

2.2 С помощью специальных программ

Если у вас уже есть инструменты для редактирования прототипов, используй их (Например Microsoft Visual Studio). Это упрощает процесс и уменьшает вероятность ошибок.

3. Как работают списки?

В прототипах часто используются списки. Они могут быть записаны двумя способами, кому как удобнее: - Через дефисы (-):

yml
allowedSpecies:
 - Human
 - Felinid
 - SlimePerson


- В квадратных скобках ([ ]):

yml
allowedSpecies: [ "Human", "Felinid", "SlimePerson" ]

4. Пояснение про сообщение

В примерах вы могли заметить идентификатор $target, поясняю Если вам нужно, чтобы в сообщении взаимодействия написало имя того с кем вы взаимодействуете, то добавив это вы точно можете знать, что именно в данной точке сообщения точно отобразится его имя

yml
 userMessages:
   - пожал руку $target

Отобразится как эмоция в чате: Ваше имя: Пожал руку Вася Пупкин

5. Пояснение про RequiredClothingSlots

Данное поле отвечает за необходимость снять одежду с двух партнеров(для указанных слотов), для возможности взаимодействия. Если вам вдруг необходимо указать такую зависимость, то можете добавить поле с указанием этого самого списка Например:

yml
 requiredClothingSlots:
   - outerClothing
   - jumpsuit
   - underwearbottom

6. Пояснения для более опытных

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

Нет, это не админ инструмент, у вас не получится загрузить любые другие прототипы, кроме прототипов действия Это лишь приведет к ошибкам на вашем клиенте, так же эти протипы напрямую не хранятся на сервере, поэтому и другим игрокам они не будут доступны

Часть панели взаимодействий

Название Картинка Что делает
Поцеловать в губы Heart (Wega).png Целует цель эмоута в губы.
Погладить по щеке Heart (Wega).png Гладит цель эмоута по щеке.
Погладить по голове Heart (Wega).png Гладит цель эмоута по голове.
Кивнуть Heart (Wega).png Кивает в сторону цели эмоута.
Погладить волосы Heart (Wega).png Гладит цель эмоута по волосам.
Обнять Heart (Wega).png Обнимает цель эмоута прижимая её\его к себе.
Помахать хвостом Heart (Wega).png Водит хвостом между ног цели эмоута.
Дать пять Heart (Wega).png Даёт ладонью пять цели эмоута.
Воздушный поцелуй Heart (Wega).png Отправляет воздушный поцелуй в сторону цели эмоута.
Похлопать по плечу Heart (Wega).png Похлопывает по плечу цель эмоута.
Погладить по спине Heart (Wega).png Медленно поглаживает спину цели эмоута.
Тискать за щёки Heart (Wega).png Тискает цель эмоута за щёчки.
Подержать за лицо Heart (Wega).png Нежно держит цель эмоута за лицо.
Крепко обнять Heart (Wega).png Крепко обнимает цель эмоута.
Подмигнуть Heart (Wega).png Подмигивает в сторону цели эмоута.
Взять за руку Heart (Wega).png Берёт цель эмоута за руку.
Пожать руку Heart (Wega).png Пожимает руку цели эмоута.
Массировать плечи Heart (Wega).png Массирует плечи цели эмоута.
Поклониться Heart (Wega).png Слегка кланяется в сторону цели эмоута.
Пощекотать Heart (Wega).png Щекочет цель эмоута.
Поцеловать в шею Heart (Wega).png Целует цель эмоута в шею.
Поцеловать в лоб Heart (Wega).png Целует цель эмоута в лоб.
Поцеловать в щёку Heart (Wega).png Целует цель эмоута в щёку.
Дать пощёчину Heart (Wega).png Даёт пощёчину цели эмоута.