Wega:Панель взаимодействий: различия между версиями

Материал из Space Station 14 Вики
 
(не показано 10 промежуточных версий 3 участников)
Строка 1: Строка 1:
'''Кхем, кхем, панель взаимодействий - В С Ё''' <ref>[[Файл: панелька_всё.png]]
<small><small>https://discord.com/channels/1286594744432066562/1293190429768028160/1427402074039255171</small></small>
</ref> <p>
<small><small>Чек сноску</small></small>
</p>
== Пособие по созданию прототипов взаимодействий для чайников ==
== Пособие по созданию прототипов взаимодействий для чайников ==
Данное пособие несет в себе лишь пояснение по возможностям создания прототипов взаимодействия с пояснением как сделать таки этот прототип, чтобы он работал, к работе естественно приложен файл пример с разметкой в нем самом
Данное пособие несет в себе лишь пояснение по возможностям создания прототипов взаимодействия с пояснением как сделать таки этот прототип, чтобы он работал, к работе естественно приложен файл пример с разметкой в нем самом
Строка 29: Строка 37:
=== 1. Основные поля прототипа ===
=== 1. Основные поля прототипа ===
Вот основные поля, которые используются при создании прототипов:
Вот основные поля, которые используются при создании прототипов:
- *ID — уникальный идентификатор прототипа. Должен быть уникальным для каждого нового прототипа.*
* <code>ID</code> — уникальный идентификатор прототипа. Должен быть уникальным для каждого нового прототипа.*
- *Name — название прототипа, которое будет отображаться в интерфейсе.*
* <code>Name</code> — название прототипа, которое будет отображаться в интерфейсе.*
- *Icon — путь к иконке, которая будет отображаться для этого прототипа.*
* <code>Icon</code> — путь к иконке, которая будет отображаться для этого прототипа.*
- *ERP — флаг, который указывает, относится ли это взаимодействие к ERP*
* <code>ERP</code> — флаг, который указывает, относится ли это взаимодействие к ERP*
- *UserMessages — сообщение которые будет воспроизведено от этого взаимодействия*
* <code>UserMessages</code> — сообщение которые будет воспроизведено от этого взаимодействия*
- *AllowedGenders, AllowedSpecies — списки допустимых полов и рас для взаимодействия.*
* <code>AllowedGenders</code>, <code>AllowedSpecies</code> — списки допустимых полов и рас для взаимодействия.*
- *BlackListSpecies — список рас, которые не могут и по отношению к которым не могут использовать это взаимодействие.*
* <code>BlackListSpecies</code> — список рас, которые не могут и по отношению к которым не могут использовать это взаимодействие.*
- *NearestAllowedGenders, NearestAllowedSpecies — списки допустимых полов и видов для ближайшего объекта.*
* <code>NearestAllowedGenders</code>, <code>NearestAllowedSpecies</code> — списки допустимых полов и видов для ближайшего объекта.*
- *RequiredClothingSlots — списки слотов одежды, которые должны быть сняты для возможности воспроизвести взаимодейтсвие.*
* <code>RequiredClothingSlots</code> — списки слотов одежды, которые должны быть сняты для возможности воспроизвести взаимодействие.*
- *SoundPerceivedByOthers — если true, звук взаимодействия будет слышен другим игрокам.*
* <code>SoundPerceivedByOthers</code> — если true, звук взаимодействия будет слышен другим игрокам.*
- *InteractSound — звук, который воспроизводится при взаимодействии.*
* <code>InteractSound</code> — звук, который воспроизводится при взаимодействии.*


===2. Как создавать прототипы?===
===2. Как создавать прототипы?===
Строка 45: Строка 53:


====2.1 В блокноте (текстовом редакторе)====
====2.1 В блокноте (текстовом редакторе)====
Просто создайте файл в формате YAML (Достаточно создать файлик блокнота .txt и к названию добавить .yml) и заполните поля. Или отредактируйте уже экспортированный файл.
Просто создайте файл в формате YAML (достаточно создать файлик блокнота .txt и к названию добавить .yml) и заполните поля. Или отредактируйте уже экспортированный файл.
Например:
Например:
yml
<syntaxhighlight lang="yaml" line>
# ---- example.yml ----
- type: interaction
- type: interaction
   id: MyInteraction
   id: MyInteraction
Строка 59: Строка 68:
   allowedGenders:
   allowedGenders:
     - all
     - all
 
</syntaxhighlight>


====2.2 С помощью специальных программ====
====2.2 С помощью специальных программ====
Строка 67: Строка 76:
В прототипах часто используются списки. Они могут быть записаны двумя способами, кому как удобнее:
В прототипах часто используются списки. Они могут быть записаны двумя способами, кому как удобнее:
- Через дефисы (-):
- Через дефисы (-):
yml
yml
allowedSpecies:
allowedSpecies:
   - Human
   - Human
   - Felinid
   - Felinid
Строка 75: Строка 84:


- В квадратных скобках ([ ]):
- В квадратных скобках ([ ]):
yml
yml
allowedSpecies: [ "Human", "Felinid", "SlimePerson" ]
allowedSpecies: [ "Human", "Felinid", "SlimePerson" ]
 


===4. Пояснение про сообщение===
===4. Пояснение про сообщение===
В примерах вы могли заметить идентификатор $target, поясняю
В примерах вы могли заметить идентификатор $target, поясняю
Если вам нужно, чтобы в сообщении взаимодействия написало имя того с кем вы взаимодействуете, то добавив это вы точно можете знать, что именно в данной точке сообщения точно отобразится его имя
Если вам нужно, чтобы в сообщении взаимодействия написало имя того с кем вы взаимодействуете, то добавив это вы точно можете знать, что именно в данной точке сообщения точно отобразится его имя
yml
yml
   userMessages:
   userMessages:
     - пожал руку $target
     - пожал руку $target
Строка 90: Строка 98:


===5. Пояснение про RequiredClothingSlots===
===5. Пояснение про RequiredClothingSlots===
Данное поле отвечает за необходимость снять одежду с двух партнеров(для указанных слотов), для возможности взаимодействия.*
Данное поле отвечает за необходимость снять одежду с двух партнеров(для указанных слотов), для возможности взаимодействия.
Если вам вдруг необходимо указать такую зависимость, то можете добавить поле с указанием этого самого списка
Если вам вдруг необходимо указать такую зависимость, то можете добавить поле с указанием этого самого списка
Например:
Например:
yml
yml
   requiredClothingSlots:
   requiredClothingSlots:
     - outerClothing
     - outerClothing
     - jumpsuit
     - jumpsuit
     - underwearbottom
     - underwearbottom


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


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

Текущая версия от 19:57, 27 октября 2025

Кхем, кхем, панель взаимодействий - В С Ё [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 Даёт пощёчину цели эмоута.