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

Нет описания правки
 
(не показано 11 промежуточных версий 3 участников)
Строка 1: Строка 1:
'''Кхем, кхем, панель взаимодействий - В С Ё''' <ref>[[Файл: панелька_всё.png]]
<small><small>https://discord.com/channels/1286594744432066562/1293190429768028160/1427402074039255171</small></small>
</ref> <p>
<small><small>Чек сноску</small></small>
</p>
== Пособие по созданию прототипов взаимодействий для чайников ==
== Пособие по созданию прототипов взаимодействий для чайников ==
Данное пособие несет в себе лишь пояснение по возможностям создания прототипов взаимодействия с пояснением как сделать таки этот прототип, чтобы он работал, к работе естественно приложен файл пример с разметкой в нем самом
Данное пособие несет в себе лишь пояснение по возможностям создания прототипов взаимодействия с пояснением как сделать таки этот прототип, чтобы он работал, к работе естественно приложен файл пример с разметкой в нем самом
Строка 26: Строка 34:
- Доступные поля одежды: head(слот головы), eyes(слот глаз(очки)), ears(слот ушей(гарнитура)), mask((слот маски), outerClothing(слот скафандра), jumpsuit(слот комбинезона), neck(слот шеи(плащи и тд)), back(слот рюкзака), belt(слот пояса), gloves(слот перчаток), shoes(слот обуви), socks(слот носков), underweartop(слот лифчика), underwearbottom(слот трусов), anal(слот анальной пробки)
- Доступные поля одежды: head(слот головы), eyes(слот глаз(очки)), ears(слот ушей(гарнитура)), mask((слот маски), outerClothing(слот скафандра), jumpsuit(слот комбинезона), neck(слот шеи(плащи и тд)), back(слот рюкзака), belt(слот пояса), gloves(слот перчаток), shoes(слот обуви), socks(слот носков), underweartop(слот лифчика), underwearbottom(слот трусов), anal(слот анальной пробки)
- - В скобках добавлено пояснения для полей, за какой именно слот они отвечают, добавлять следует аналогично с маленькой без скобок, они лишь для пояснения
- - В скобках добавлено пояснения для полей, за какой именно слот они отвечают, добавлять следует аналогично с маленькой без скобок, они лишь для пояснения
=== 1. Основные поля прототипа ===
Вот основные поля, которые используются при создании прототипов:
* <code>ID</code> — уникальный идентификатор прототипа. Должен быть уникальным для каждого нового прототипа.*
* <code>Name</code> — название прототипа, которое будет отображаться в интерфейсе.*
* <code>Icon</code> — путь к иконке, которая будет отображаться для этого прототипа.*
* <code>ERP</code> — флаг, который указывает, относится ли это взаимодействие к ERP*
* <code>UserMessages</code> — сообщение которые будет воспроизведено от этого взаимодействия*
* <code>AllowedGenders</code>, <code>AllowedSpecies</code> — списки допустимых полов и рас для взаимодействия.*
* <code>BlackListSpecies</code> — список рас, которые не могут и по отношению к которым не могут использовать это взаимодействие.*
* <code>NearestAllowedGenders</code>, <code>NearestAllowedSpecies</code> — списки допустимых полов и видов для ближайшего объекта.*
* <code>RequiredClothingSlots</code> — списки слотов одежды, которые должны быть сняты для возможности воспроизвести взаимодействие.*
* <code>SoundPerceivedByOthers</code> — если true, звук взаимодействия будет слышен другим игрокам.*
* <code>InteractSound</code> — звук, который воспроизводится при взаимодействии.*
===2. Как создавать прототипы?===
Прототипы достаточно удобно можно создать во внутриигровом конструкторе, однако он не позволяет быстро сделать все заимодействия, которые вы хотите, поэтому существует опция импорта взаимодействий, которые мы сейчас рассмотрим
====2.1 В блокноте (текстовом редакторе)====
Просто создайте файл в формате YAML (достаточно создать файлик блокнота .txt и к названию добавить .yml) и заполните поля. Или отредактируйте уже экспортированный файл.
Например:
<syntaxhighlight lang="yaml" line>
# ---- example.yml ----
- type: interaction
  id: MyInteraction
  name: Моё взаимодействие
  erp: false
  icon: /Textures/Interface/heart.png
  userMessages:
    - пожал руку $target
  allowedSpecies:
    - Human
  allowedGenders:
    - all
</syntaxhighlight>
====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. Пояснения для более опытных ===
Если вам знакомы понятия абстракции и наследования от парент значений прототипа, то в пределах логики данные поля есть, однако во избежание нестабильности, проблем и прочего прототипы с наследованием и абстракцией будут автоматически исключены и не добавлены
Тоже самое касается любых неправильно указанных полей
Нет, это не админ инструмент, у вас не получится загрузить любые другие прототипы, кроме прототипов действия
Это лишь приведет к ошибкам на вашем клиенте, так же эти протипы напрямую не хранятся на сервере, поэтому и другим игрокам они не будут доступны


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