🇷🇺Руководство по торговой площадке
Как создать/изменить NPC
Запустите игру и подключитесь к своему серверу
Используйте любой административный мод для включения РЕЖИМА ОТЛАДКИ.
После включения режима отладки вы можете открыть Hammer и "создать" NPC, который вам нужен.
Существует два типа NPC: Видимые на карте и Невидимые на карте.



Различие заключается только в том, что NPC, видимые на карте, будут иметь свою метку на карте с любого расстояния.
После размещения NPC в режиме отладки вы можете начать вносить несколько изменений в него. Вы можете открыть два меню: основное меню NPC и меню для Визуального изменения NPC (Fashion Menu).

Основное NPC UI:

На верхней панели есть кнопки для изменения типа NPC (Marketplace, Trader, Info, Teleporter и т. д.).
Вы можете изменить профиль NPC, который будет получать данные из вашего файла конфигурации NpcTypeProfiles.cfg.
Также можно переопределить имя NPC на любое другое или изменить модельNPC на любое существу в игре (даже из других модов).
С помощью функции "Set Patrol Data" можно задать маршрут движения NPC. Например, указав координаты 300, 200, 305, 200, вы зададите маршрут движения NPC от точки 300 x до точки 305 x (на расстоянии 5 метров), при этом высота (Z-координата) останется неизменной.
С помощью кнопки "Snap To Ground And Rotate" вы можете быстро прикрепить NPC к земле и повернуть его в направлении, в котором вы смотрите.
После внесения всех изменений не забудьте нажать кнопку "Apply", чтобы применить изменения.
P.S.: Функция Override NPC Model принимает любой тип персонажа (монстра) (Troll, Greydwarf, Hatchling и т. д.). Однако монстры будут иметь свой собственный аниматор. Если вы хотите использовать переопределенный NPC с анимацией игрока из меню Fashion, то вы можете добавить @humanoid к названию вашего персонажа. Например: Troll@humanoid, Greydwarf@humanoid, Neck@humanoid. Это даст этим существам аниматор игрока, так что они смогут использовать анимации, такие как emote_wave и т. д. (а также анимации создания предметов).
Давайте попробуем это:
Добавление данных:

Результат:

Теперь давайте посмотрим на меню Fashion: (Имейте в виду, что большинство префабов / экипировки из раздела
Интерфейс (Fashion Mode)
Left Hand - префаб левой руки
Right Hand - префаб правой руки
Helmet Item - префаб шлема
Chest Item - префаб нагрудника
Legs Item - префаб штанов
Cape Item; Left Back Item - префаб для левого элемента вспомогательного оборудования на спине
Right Back Item - префаб для правого элемента вспомогательного оборудования на спине
Hair Index - индекс волос (1 2 3 4 5 и т.д.)
Hair Color (#hex) - цвет волос в формате hex, например: #ffffff
Skin Color (#hex) - цвет кожи в формате hex, например: #ffffff
Model scale - размер модели, работает с любой замененной моделью
Interact animation - анимация при взаимодействии с NPC, например: emote_nonono
Greeting animation - анимация при приближении к NPC, например: emote_thumbsup
Bye Animation - анимация при уходе от NPC, например: emote_wave
Greeting Text - текст, который будет показан при приближении к NPC, например: Привет!
Bye Text - текст, который будет показан при уходе от NPC, например: Пока!
Crafting animation index - индекс анимации создания предметов для моделей Player и Player_Female, есть 0, 1, 2, 3 состояния анимации создания предметов
Beard index - индекс бороды (1 2 3 4 5 и т.д.)
Beard color (#hex) - цвет бороды в формате hex, например: #ffffff.
Теперь давайте напишем некоторые случайные данные:
Результат:


Теперь, когда мы научились вызывать/редактировать NPC, давайте попробуем настроить некоторых из них с серверной стороны.
MarketPlace.cfg (настройки разного рода)

ItemMarketLimit - лимит слотов, которые игрок может разместить на Маркетплейсе.
BlockedPlayers - список SteamID игроков, которые не могут размещать предметы на Маркетплейсе.
VIPplayersList - список SteamID игроков, которые являются VIP-игроками (меньше налогов).
MarketTaxes - налоги для товаров на Маркетплейсе (для обычных пользователей).
VIPplayerTaxes - налоги для товаров на Маркетплейсе (для VIP-пользователей).
CanTeleportWithOre - определяет, могут ли игроки телепортироваться с рудой в NPC Телепортер.
MarketSellBlockedPrefabs - префабы, которые игроки не могут продавать на Маркетплейсе.
FeedbackWebhookLink - ссылка на вебхук NPC Обратной связи.
ServerCurrency - валюта, используемая на Маркетплейсе. Если у вас есть свой собственный префаб - аналог Монет, вы можете указать его здесь.
BankerIncomeTime - как часто (в ЧАСАХ) банкир будет давать доход игрокам.
BankerIncomeMultiplier - каждые #BankerIncomeTime (часы) добавят доход с множителем. Например: если у игрока в банке есть 100 монет, а множитель равен 0,1, то каждый BankerIncomeTime он будет иметь 100 + 100 * 0,1 (110). Затем 110 + 110 * 0,1 = 221. И так далее.
BankerVIPIncomeMultiplier - то же самое, что и выше, но для VIP-игроков.
MarketSlotExpirationTime - сколько часов должно пройти, чтобы слот Маркетплейса игрока истек (больше не будет отображаться в списке Маркетплейса).
GamblerEnableWinNotifications - включение глобальных уведомлений в чате при победе кого-либо в NPC Азартные игры.
AllowMultipleQuestsScore - если установлено значение true, то если у игрока есть 2 задания с одной целью, при добавлении очков задания они будут добавлены КО ОБОИМ заданиям, а не только к одному. MaxAcceptedQuests - максимальное количество заданий, которые игрок может принять одновременно.
BattlepassVIPlist - список SteamID игроков, которые являются VIP-игроками в Battlepass.
Enable KG Chat - включить/отключить KG чат.
Торговец
NPC Торговец позволяет установить предметы для обмена. Предмет А в количестве x будет обменян на предмет В в количестве x.
Чтобы начать, давайте создадим профиль нашего торговца.

Формат данных следующий:
Товар А, количество товара А, Товар Б, количество товара Б, уровень Товара Б (если нужно).
Например, я хочу создать трейдера, который будет обменивать 100 монет на 1 меч из железа второго уровня, и обменивать 1 дерево на 10 рубинов:
Мой профиль будет выглядеть так:
[TestTrader]
Coins, 100, SwordIron, 1, 2
Wood, 1, Ruby, 10
Добавление этого в файл TraderProfiles.cfg
(Как и в любом другом НПС, вы можете добавлять столько профилей, сколько хотите, так что у вас может быть 100 разных НПС, торгующих разными предметами)
Хорошо, теперь давай назначим профиль нашему трейдеру-НПС:
On interact trader UI will open:
Поскольку у меня есть дерево и монеты в инвентаре, я могу обменять их. Нажав большую зеленую кнопку со стрелкой вправо посередине экрана, я смогу обменять товар А на товар Б.
Вы также можете добавлять питомцев в качестве товаров для обмена. Например, "Stone, 100, Wolf, 1, 5" будет означать, что можно обменять 100 камней на одного питомца - волка 5 уровня.
Хорошо, давайте добавим еще один профиль только с питомцами!
[PetsTrader]
Stone, 100, Wolf, 1, 5
Ruby, 25, Boar, 10, 2
Назначение профиля PetsTrader нашему НПС даст следующий результат:
Обратите внимание, что волк 5 уровня имеет 4 звезды, потому что отсчет звезд начинается с 0, а отсчет уровней - с 1. То же самое касается кабана.
В правом верхнем углу находятся кнопки-модификаторы x1, x5, x10, x100, которые позволяют игроку изменять курс обмена для более быстрой торговли. Обратите внимание, что они используют исходный курс обмена, так что "Coins, 5, Wood, 1" при курсе обмена x100 станет "500 монет на 100 дерева".
Новый формат позволяет использовать до 5 необходимых предметов и 5 получаемых предметов. Также в новом формате элементы слева могут иметь требование уровня (качества). Формат:
Item, Quality, Level(IF NEEDED), Item2, Quality2, Level2(IF NEEDED),.... = Item, Quality, Level (IF NEEDED), Item2, Quality2, Level2 (IF NEEDED),....
Пример:
BlackMetal, 1, AxeBlackMetal, 1, 9, Coins, 25 = AxeBlackMetal, 1, 10, Wood, 123
^ это даст вам следующий результат:
И помните, что вы все еще можете использовать старый формат в том же профиле. Пример:
[test]
SwordIron, 1, 9, Ruby, 666 = SwordIron, 1, 10
BlackMetal, 1, AxeBlackMetal,1,9, Coins, 25 = AxeBlackMetal, 1,10, Wood, 123
Coins, 0 = AxeBlackMetal, 1, 9
Coins, 0, BlackMetal, 5
Результат будет следующим:
Система квестов
Чтобы создать свои собственные квесты, вам нужно сосредоточиться на двух файлах: QuestDATABASE.cfg и QuestProfiles.cfg.

QuestDATABASE.cfg - это файл, который содержит ВСЕ ваши созданные квесты. Думайте о нем как о месте, где все ваши квесты получают свой ID, чтобы позже вы могли добавить этот ID к NPC в QuestProfiles.cfg.
QuestProfiles.cfg - это файл, который позволяет распределить квесты по профилям NPC. У вас может быть 5 NPC, дающих ОДИН и ТОТ ЖЕ квест, а также 10 NPC, дающих разные квесты.
Хорошо, создадим свой первый квест! Сначала вы должны создать новый квест в файле QuestDATABASE.cfg.
Вот структура задания:
[QuestID]
QuestType
Name
Description
Quest Target Prefab , Amount, Min Level (min level works only on Kill or Collect quest in order to set minimum level or target you need to kill)
QuestRewardType: prefab, Amount, Level
In-Game Days Cooldown
QuestRequirementType: Prefab, MinLevel (only use with Skill requirement)
Существует 6 типов заданий: Убить, Собрать, Собрать урожай, Создать, Поговорить и Построить.
1) Kill - задание, в котором целью является префаб персонажа (любого существа). Можно установить минимальный уровень цели для убийства.
2) Collect - задание, в котором целью является префаб предмета. Обратите внимание, что COLLECT - единственный тип задания, который фактически берет предмет из инвентаря игрока для завершения.
3) Harvest - задание, в котором целью является префаб объекта сбора. Например: Pickable_Carrot, Pickable_Stone и т.д. Для добавления очков в этом задании необходимо собрать любой из этих "фермерских" префабов.
4) Craft - задание, в котором целью является префаб предмета. Вы можете установить уровень предмета, который должен быть создан, или оставить его на уровне 1.
5) Talk - задание, в котором целью является полное имя NPC. После взаимодействия с NPC задание автоматически завершится, и будут выданы награды.
6) Build - задание, в котором целью является префаб части. Обратите внимание, что префабы, которые вы строите для выполнения задания, не вернут никаких ресурсов при уничтожении.
Типы наград за задание могут включать:
1) Item - награда, где целью является префаб ItemDrop. Вы можете установить количество и уровень данного предмета
2) Skill - награда, где целью является навык. Пример: Навык бега, 10. Даст игроку +10 уровней навыка бега после завершения задания.
3) Pet - награда, где целью является создание диких существ в качестве питомцев. Вы можете установить количество и уровень данных питомцев.
4) Skill_EXP - награда, где целью является навык. Пример: Навык Бега_EXP: 100. Даст игроку +100 опыта при выполнении задания навыка Бега.
5) EpicMMO_EXP - награда, где целью является количество опыта. Пример: EpicMMO_EXP: 100. Даст игроку +100 опыта для навыка EpicMMO после выполнения задания.
6) Battlepass_EXP - награда, где целью является количество опыта. Пример: Battlepass_EXP: 100. Даст игроку +100 опыта для навыка Battlepass после выполнения задания.
7) MH_EXP - награда, где целью является количество опыта. Пример: MH_EXP: 100. Даст игроку +100 опыта для навыка MagicHeim после выполнения задания
Типы требований к заданию могут включать:
1) Skill - пример: навык бега, 10. Задание будет доступно только при наличии у игрока навыка Бега не менее чем на 10 уровней.
2) OtherQuest - пример: другое задание: MyQuestID123. Задание будет доступно только после выполнения задания с идентификатором MyQuestID123.
3) GlobalKey - пример: глобальный ключ: defeated_gdking. Задание будет доступно только в том случае, если Yagluth был убит на сервере.
4) EpicMMO_Level - пример: уровень EpicMMO: 20. Задание будет доступно только при наличии у игрока хотя бы 20 уровней в EpicMMO (API другого мода).
5) HasItem - пример: есть предмет: SwordIron. Задание будет доступно только при наличии у игрока по крайней мере 1 меча из железа в инвентаре.
6) NotFinished - пример: не завершено задание: MyQuestID123. Задание будет доступно только в том случае, если игрок НЕ завершил задание с идентификатором MyQuestID123.
7) IsVIP - пример: является VIP. Задание будет доступно только для игроков с VIP-статусом.
8) MH_Level - пример: уровень MagicHeim: 20. Задание будет доступно только при наличии у игрока хотя бы 20 уровней в MagicHeim (API другого мода).
9) Time - пример: время: 60. Задание будет ограничено временным лимитом в 60 секунд на завершение. Если игрок не выполняет задание в течение 60 секунд, то оно провалится.
Обратите внимание, что цели задания, награды за задание и требования к заданию могут быть несколькими в одном задании. Вы можете добавлять их столько, сколько хотите, используя символ |. Пример:
Item: SwordIron, 1, 5 | Pet: Wolf, 2, 10 | Skill: Run, 2 | Item: Coins, 100
^ Задание будет давать: 1 меч из железа уровня 5, 2 волка уровня 10, +2 уровня навыка бега и 100 монет.
То же самое относится к требованиям:
OtherQuest: MyJSOQuest123 | HasItem: PickaxeIron | Skill: Run, 10
^ Задание будет доступно только в том случае, если игрок завершил задание с идентификатором MyQuest123, имеет по крайней мере 1 кирку из железа в инвентаре и имеет навык бега не менее чем на 10 уровней.
Окей, давайте создадим наше первое задание! Я предлагаю создать задание, в котором игроку нужно убить 10 волков и получить награду в виде 100 монет и меча из железа уровня 3 без требований к заданию (оставим этот раздел пустым). Мы также установим время отката задания в 10 игровых дней (5 часов реального времени).
Ваше задание выглядит следующим образом:
[MyTestQuest1]
Kill
This is my first quest!
And this is my first quest description!
Wolf, 10 | Skeleton, 5
Item: SwordIron, 1, 3 | Item: Coins, 100
10
None
Теперь мы можем добавить эту информацию в наш файл QuestDATABASE.cfg:

После этого мы можем дать этот квест любому профилю NPC, который мы создаем в файле QuestProfiles.cfg.
Я создам профиль NPC с названием "TestQuests" и добавлю в него свой квест.

Теперь давайте назначим этот профиль нашему NPC.

При взаимодействии с NPC вы должны получить результат!


Как вы можете видеть, я не указал уровень цели Wolf (Wolf, 10). По умолчанию это будет уровень 0 (0 звезд). Таким образом, убийство любого Wolf будет соответствовать требованиям этого квеста.
Давайте возьмем квест и попробуем его выполнить!
Обратите внимание, что квесты Kill, Collect, Harvest будут иметь маркеры о цели. Вы можете отключить маркер в локальной конфигурации Marketplace на клиенте.

После убийства волка вы получили 1 из 10.

Теперь давайте немного изменим наш квест. Я изменю "Wolf, 10" на "Wolf, 10, 2". Это означает, что для выполнения этого квеста будут подходить только волки уровня 2 или выше (2 звезды).

Как вы можете видеть, цель нашего квеста в игре изменилась.


Теперь подходят только волки уровня 2 и выше в качестве цели квеста. Это можно увидеть по маркеру квеста над головой волка.
После завершения квеста вы можете вернуться к тому же NPC, который дал вам квест, и нажать кнопку "Завершить", чтобы получить вознаграждение.


Если время отката квеста меньше 5000 дней, то он все еще будет виден в интерфейсе квестов. Для одноразовых квестов используйте время отката величиной 10000 или больше.
Некоторые быстрые скриншоты с другими типами квестов:


Результат:
Маркеры на целях квеста "Build":

Маркеры на целях квестов "Harvest" и "Collect":

Маркеры на целях квеста "Talk"

Желаю удачи в создании своих собственных квестов! 👏
События-квесты
Quest Events позволяет «прикреплять» события и действия к конкретным квестам, созданным в файле QuestDatabase.cfg.
Возможные события:
OnAcceptQuest - когда игрок принимает задание
OnCancelQuest - когда игрок отменяет задани
OnCompleteQuest - когда игрок успешно выполняет задание
Возможные действия
GiveItem - пример: GiveItem, SwordIron, 1, 5. Даст игроку 1 железный меч уровня 5
GiveQuest - пример: GiveQuest, MyQuestID123. Даст игроку задание с ID MyQuestID123
RemoveQuest - пример: RemoveQuest, MyQuestID123. Уберет задание с ID MyQuestID123
Spawn - пример: Spawn, Wolf, 5, 2. Создаст 5 волков 2 уровня (рядом)
Teleport - пример: Teleport, 100, 100, 100. Переместит игрока на координаты x100, y100, z100
Damage - пример: Damage, 100. Нанесет игроку 100 единиц урона
Heal - пример: Heal, 100. Пополнит здоровье игрока на 100 единиц
PlaySound - пример: PlaySound, MySound. Проиграет звук MySound
NpcText - пример: NpcText, MyText. Покажет текст MyText над головой ближайшего NPC
Формат Данных:
[questID]
Event: Action, arguments

Вы не ограничены использованием одного события и действия только один раз. Вы можете добавлять столько же одинаковых событий, сколько вам нужно, но с разными действиями. Например:
[TestQuest]
OnAcceptQuest: GiveItem, SwordIron, 1, 5
OnAcceptQuest: GiveItem, Coins, 100, 1
OnAcceptQuest: Heal, 5000
Marketplace
Единственный NPC, для которого не требуется настройка. Он работает "из коробки"

Чтобы продать предметы, нажмите на вкладку "Продажа" => выберите предмет, который вы хотите продать => выберите количество / цену и нажмите "Продать"

После нажатия кнопки "Продать" предмет должен появиться на вкладке "ПОКУПКА" вместе со всеми другими предметами. Если вы являетесь владельцем слота, вы можете нажать на него и нажать кнопку "Отменить", чтобы отменить продажу.

Когда кто-то купит ваш предмет, вы получите валюту в разделе "Доход: 0 (сумма увеличится, когда вы что-то продадите)". Чтобы получить свои деньги, просто нажмите на кнопку "+" рядом с разделом "Доход". Валюта будет добавлена в ваш инвентарь.
Магазин поддерживает все моды данных на пользовательские предметы, такие как EpicLoot, Jewelcrafting, Professions и т.д.
Банкир
Банкир - это НИП (непись), который позволяет вам вносить/снимать свои предметы в банке. Кроме того, если вы установите доход и время дохода Банкира в Marketplace.cfg, то каждые N часов (время дохода Банкира) каждый игрок получит % дохода на свои банковские ресурсы.
Чтобы создать профиль Банкира, перейдите в файл BankerProfiles.cfg и добавьте новый профиль

Я хочу создать профиль банкира, который будет принимать монеты и рубины. Для этого мне нужно добавить профиль [profileName] и указать каждый принимаемый предмет на новой строке
Давайте назначим профиль банкира для нашего NPC-банкира в игре:
При взаимодействии с NPC вы должны увидеть это
Зеленое число = количество ресурсов на банковском счете. Текст внизу = количество предметов в инвентаре
Итак, если я хочу внести (положить) 250 монет на банковский счет, мне нужно написать "250" и нажать кнопку "+" (плюс). :


Как вы можете видеть, у меня теперь есть 250 монет на банковском счете, которые будут храниться там навсегда и принесут доход, если администратор сервера захочет этого.
У вас может быть несколько NPC-банкиров с различными ячейками (ресурсами), чтобы хранить ваши предметы.
Например, вы можете иметь одного банкира, который будет хранить ваши монеты, и другого - который будет хранить ваши рубины.
Можно представить банкира как "глобальный" большой сундук с бесконечным пространством :D.
Info
NPC будет читать информацию из файла ServerInfo.cfg и отображать ее на GUI. Можно применять маркеры форматирования для текстовой информации, которую вы пишете. NPC ServerInfo использует профиль "default" по умолчанию, но вы можете добавить столько профилей, сколько потребуется (аналогично Trader NPC profiles). Приведен пример ниже:



Чтобы добавить данные, вам необходимо создать профиль с помощью [ProfileName], а затем написать нужную информацию под ним. Позже просто назначьте этот профиль для NPC с информацией, и он будет ее отображать. Непрофилированный текст будет применяться к каждому новому NPC с информацией с профилем "default".
Teleporter
NPC работает как центр телепортации, объединяющий все места назначения в одном. Его профиль/данные управляются через BepInEx/MarketplaceKG/TeleportHubProfile.cfg


Чтобы добавить новые точки телепорта, вам нужно добавить их по одной на каждой новой строке с такой структурой: Название точки, координата X, координата Y, координата Z, имя иконки.
Вы можете добавлять иконки в папку BepInEx/config/MarketplaceKG/MapPinsIcons
Я рекомендую использовать иконки размером 32x32 пикселя. Кроме того, вы можете написать название ItemPrefab вместо иконки, чтобы использовать ее значок как метку на карте. Когда вы нажимаете "Interact" на NPC-телепорте с профилем, открывается карта, на которой отображаются метки. После щелчка левой кнопкой мыши по значку вы переместитесь на координаты XYZ этой точки.
Координаты XYZ должны быть только целочисленными значениями (5.6 <= НЕВЕРНО, 5 <= ВЕРНО).
Если вы хоНапримертите, чтобы телепорт работал не мгновенно, а был больше похож на "магический" телепорт, то вы можете добавить параметр <speed=значение> в название точки телепорта.
Example:
Spawn <speed=10>, 0,30,0
Это сделает перемещение на точку телепорта не мгновенным, а более "магическим" со скоростью 10 метров в секунду.
Gambler
Существует NPC, который может быть размещен администратором. Это гэмблер, которому для активации обычно требуются монеты. Гэмблер предлагает список предметов и определенное количество того, что игрок может выиграть. Например, у гэмблера может быть десять предметов в списке, два из которых можно выиграть, и задана цена за бросок костей в попытке выигрыша.
Если вы считаете нужным, то можно объединить территорию, размещенную администратором, с местоположениями NPC. Это может обеспечить безопасный уголок для игроков при взаимодействии с NPC. Область территории также будет объявлять о своем появлении при входе, что может добавить атмосферность в зону. Для получения дополнительной информации о настройке зоны территории обратитесь к файлу README по настройке территорий.
Все NPC-персонажи, размещаемые игроками, могут быть изменены, чтобы включить внешний вид, одежду, интерактивные возможности, патрулирование, приветствия, анимации, приветствия и т. д. Обратитесь к файлу README по способам создания/изменения NPC для получения дополнительной информации о настройке и изменении NPC.
Чтобы добавить новый профиль, вам нужно написать [ИмяПрофиля=КоличествоПредметовНаБросок], а затем на новой строке добавить список предметов (максимум 10 предметов, первый предмет - ЭТО ПРЕДМЕТ НЕОБХОДИМЫЙ ДЛЯ БРОСКА): RollItemPrefab, RollItemCount, Item1, Item1count, Item2, Item2Count, Item3, Item3Count... Количество предметов может быть переменным, как показано ниже.\
Пример:
[test=2] Coins, 10, SwordIron, 1, Tar, 30-50, Wood, 1-100
^ Это добавит профиль к гэмблеру с количеством предметов на бросок = 2 (он может выбрать 2 предмета из списка из 3-х). Игроку потребуется 10 монет за бросок. Предметы: Меч железный (один), Смола (от 30 до 50 случайным образом) и Дерево (от 1 до 100) случайным образом.
Ещё Примеры:
[gmeadows=3] Coins, 250, SpearBronze, 1, Tar, 3-5, Wood, 25, ArrowFire, 20-30, FineWood, 20, Stone, 25, ArrowWood, 20-30, Feathers, 15, MeadTasty, 3-5, TurnipStew, 2-3, ArmorTrollLeatherChest, 1, QueensJam, 3-5, FishRaw, 10, ArrowFlint, 20-30, ArmorTrollLeatherLegs, 1, Coal, 25
[gswamp=3] Coins, 500, AtgeirBronze, 1, ArrowFire, 30-50, ArrowBronze, 20-30, FineWood, 40, Stone, 50, ArrowIron, 10-20, Feathers, 20, MeadTasty, 3-5, TurnipStew, 3-5, ArmorRootChest, 1, OdinsDelight, 2-3, TeriyakiSalmon, 3-5, BoneArrow, 20-30, ArmorRootLegs, 1, Coal, 35
[gmountain=3] Coins, 1000, AtgeirIron, 1, Tar, 30-50, ArrowPoison, 50, FineWood, 60, Stone, 75, ArrowObsidian, 50, Feathers, 25, MeadTasty, 3-5, TurnipStew, 5-10, ArmorFenringChest, 1, OdinsDelight, 3-5, HoneyTeriyakiSalmonWrap, 3-5, BoneArrow, 30-50, ArmorFenringLegs, 1, Coal, 50
Buffer
Buffer - это NPC, который можно разместить на карте с заранее настроенными "баффами", которые временно могут улучшать предметы игроков. Когда игрок взаимодействует с NPC, он может выбрать, какой тип баффа он хочет и на какой инвентарный предмет он будет применен.
Если вы считаете нужным, то можно объединить территорию, размещенную администратором, с местоположениями NPC. Это может обеспечить безопасный уголок для игроков при взаимодействии с NPC. Область территории также будет объявлять о своем появлении при входе, что может добавить атмосферность в зону. Для получения дополнительной информации о настройке зоны территории обратитесь к файлу README по настройке территорий.
Все NPC-персонажи, размещаемые игроками, могут быть изменены, чтобы включить внешний вид, одежду, интерактивные возможности, патрулирование, приветствия, анимации, приветствия и т. д. Обратитесь к файлу README по способам создания/изменения NPC для получения дополнительной информации о настройке и изменении NPC.
Баффы хранятся в файле базы данных конфигурации. В этом файле нужно добавить все баффы, чтобы позже можно было использовать их в профилях NPC, которые вы создадите. Каждый бафф должен иметь УНИКАЛЬНОЕ имя (это будет его собственным уникальным идентификатором). Структура баффа должна быть такой:
[UniqueName] Название Длительность (в секундах) Иконка баффа (может быть взята из названия префаба монстра или префаба предмета) Название префаба цены, количество Модификаторы баффа Визуальный эффект баффа Группа баффов.
Пример:
[TestBuff] First buff i created 180 SwordIron Coins, 1 ModifyAttack = 1.5 vfx_Burning Combat
^ Создает бафф со временем действия 180 секунд, иконкой SwordIron, ценой в 1 монету, модификатором ModifyAttack x1.5, визуальным эффектом - горение и группой Combat.
Modifiers All possible modfifiers:
ModifyAttack,
ModifyHealthRegen,
ModifyStaminaRegen,
ModifyRaiseSkills,
ModifySpeed,
ModifyNoise,
ModifyMaxCarryWeight,
ModifyStealth,
RunStaminaDrain,
DamageReduction
Примечание: Несколько баффов могут быть применены одновременно путем разделения их запятой, например, ModifySpeed = 1.2, ModifyNoise = 1.4
Один "бафф" может иметь девять различных модификаторов, а Бафф Группа объединяет модификаторы баффа в одну группу. Это делается только для балансировки, так что вы можете создавать дешевые, нормальные и дорогостоящие баффы. Примечание: Если баффы находятся в одной группе, то игрок сможет купить только ОДИН БАФФ ИЗ ГРУППЫ за раз. Например, в группе "исследование" есть два примера, так что можно выбрать только один за раз.
Profiles Для того чтобы баффы работали, их нужно применить к профилю NPC. Чтобы добавить новый профиль, вам нужно написать [ИмяПрофиля], а затем на новой строке добавить список баффов (уникальные идентификаторы баффов из BufferDATABASE.cfg).
[MeadowsBuffs] TestBuff1, TestBuff2
^Добавляет профиль MeadowsBuffs к NPC-бафферу с двумя баффами, взятыми из файла конфигурации базы данных баффов.
Ещё примеры:
[Stealth] Stealth Increase
2400
HelmetTrollLeather
Coins, 300
ModifyStealth = 5
None
Exploration
[Speed]
Swiftness
1600
TankardOdin
Coins, 150
ModifySpeed = 1.5
None
Speed
[Run]
Running Increase
1800
GlowingMushroom
Coins, 500
ModifyStaminaRegen = 2, ModifySpeed = 2
vfx_GodExplosion
Exploration
[Tenacity]
Toughness increase
900
HelmetDrake
Coins, 500
DamageReduction = 0.30
vfx_creature_love
Toughness
[Assault]
Fighting increase
600
FlametalOre
Coins, 500
ModifyAttack = 2
vfx_fir_oldlog
Rage
Примечание: вы можете просмотреть все визуальные эффекты в игре, используя Easy Spawner и выполнив поиск vfx. Некоторые распространенные полезные визуальные эффекты - это vfx_HealthUpgrade, vfx_lootspawn, vfx_odin_despawn, vfx_offering, vfx_perfectblock, vfx_odin_despawn.
Система территорий
Файл TerritoryDatabase.cfg
используется для определения территорий или зон в вашем игровом мире. Каждая зона может иметь специфические атрибуты, такие как форма, позиция, размер, цвет, флаги и владельцы. Это руководство поможет вам понять формат и доступные варианты в файле конфигурации.
Формат
Файл конфигурации следует следующему формату:
[Название зоны]
Тип формы (Круг, Квадрат, Пользовательское)
X поз., Z поз., Радиус (для круга/квадрата) или X поз., Z поз., Длина X, Длина Z (для пользовательской зоны)
Красный цвет, Зеленый цвет, Синий цвет, Показывать территорию на воде (True/False)
Флаги зоны (разделены запятой, если их несколько)
SteamID владельцев (разделены запятой, если их несколько)
Атрибуты зоны
Название зоны
Каждая запись начинается с уникального Названия зоны
. Этот идентификатор используется для различения между различными зонами в файле конфигурации.
Тип формы
Форма зоны может быть указана как один из следующих:
Круг: Зона определяется как круг с центральной точкой и радиусом.
Квадрат: Зона определяется как квадрат с центральной точкой и стороной.
Пользовательское: Зона определяется с помощью пользовательских размеров, используя координаты X и Z позиции, а также длины X и Z.
Позиция и размер
В зависимости от типа формы необходимо указать позицию и размер зоны:
Для круга или квадрата укажите координаты X и Z позиции и радиус (для круга) или сторону (для квадрата).
Для пользовательской зоны укажите координаты X и Z позиции, а также длину X и Z.
Цвет и показать территорию на воде
Укажите цвет зоны, используя значения RGB (Красный, Зеленый, Синий). Кроме того, укажите, должна ли территория быть видимой на воде, указав True
или False
после значений цвета RGB.
Флаги зоны
Вы можете назначить определенные флаги зоне, чтобы определить ее поведение и характеристики. Несколько флагов могут быть назначены зоне, разделенные запятыми. Вот доступные флаги:
PushAway
: Игроки отталкиваются от границ зоны.NoBuild
: Строительство структур запрещено внутри зоны.NoPickaxe
: Игроки не могут использовать кирки внутри зоны.NoInteract
: Взаимодействие с объектами или NPC внутри зоны отключено.NoAttack
: Игроки не могут начать атаку или вступать в бой внутри зоны.PvpOnly
: Принудительный режим PvP внутри зоны.PveOnly
: Принудительный режим PvE внутри зоны.PeriodicHeal
: Игроки периодически исцеляются, пока находятся внутри зоны (только владельцы зоны).PeriodicDamage
: Игроки периодически получают урон, находясь внутри зоны.IncreasedPlayerDamage
: Атаки игроков наносят увеличенный урон внутри зоны.IncreasedMonsterDamage
: Монстры наносят увеличенный урон игрокам внутри зоны.NoMonsters
: Монстры не появляются или не существуют внутри зоны.CustomEnvironment
: У зоны есть настраиваемая среда, определенная именем среды.MoveSpeedMultiplier
: Скорость перемещения игроков умножается на определенный множитель внутри зоны.NoDeathPenalty
: Игроки не теряют ничего при смерти внутри зоны.NoPortals
: Нельзя использовать телепортационные порталы внутри зоны.PeriodicHealALL
: Все игроки периодически исцеляются внутри зоны.ForceGroundHeight
: Высота земли устанавливается принудительно внутри зоны.ForceBiome
: Биом внутри зоны принудительно устанавливается.AddGroundHeight
: Дополнительная высота земли добавляется внутри зоны.NoBuildDamage
: Структуры внутри зоны не получают повреждений.MonstersAddStars
: Монстры внутри зоны имеют дополнительные звезды, указывающие на повышенную сложность.InfiniteFuel
: Расход топлива отключен внутри зоны.NoInteractItems
: Взаимодействие с предметами внутри зоны отключено.NoInteractCraftingStation
: Взаимодействие с станциями крафта внутри зоны отключено.NoInteractItemStands
: Взаимодействие со стойками предметов внутри зоны отключено.NoInteractChests
: Взаимодействие с сундуками внутри зоны отключено.NoInteractDoors
: Взаимодействие с дверьми внутри зоны отключено.NoStructureSupport
: Структуры внутри зоны не получают повреждений, если они не поддерживаются.NoInteractPortals
: Взаимодействие с порталами внутри зоны отключено.CustomPaint
: У зоны есть настраиваемая раскраска.LimitZoneHeight
: Минимальная высота зоны ограничена.NoItemLoss
: Игроки не теряют предметы при смерти внутри зоны.SnowMask
: Внутри зоны применяется эффект маски снега.NoMist
: Погодные эффекты тумана отключены внутри зоны.InfiniteEitr
: Расход эйтра отключен внутри зоны.InfiniteStamina
: Расход выносливости отключен внутри зоны.NoCreatureDrops
: Существа внутри зоны не сбрасывают предметы после поражения.
Примечание: Для флагов CustomEnvironment
, PeriodicDamage
, PeriodicHealALL
, PeriodicHeal
, IncreasedMonsterDamage
, IncreasedPlayerDamage
, MoveSpeedMultiplier
, ForceGroundHeight
, AddGroundHeight
, LimitZoneHeight
, ForceBiome
, MonstersAddStars
и CustomPaint
необходимо указать значение флага после знака равенства. Например, CustomEnvironment = Clear
или PeriodicDamage = 10
. Это позволяет более точно настроить параметры зоны и достичь желаемого эффекта.
ForceBiome
принимает следующие значения:
Meadows = 1,
Swamp = 2,
Mountain = 4,
BlackForest = 8,
Plains = 16,
AshLands = 32,
DeepNorth = 64,
Ocean = 256,
Mistlands = 512
(ForceBiome = 2
принудительно устанавливает биом в тропический)
CustomPaint
принимает следующие значения:
Paved = 0,
Grass = 1,
Cultivated = 2,
Dirt = 3
(CustomPaint = 2
раскрашивает зону текстурой "Cultivated")
Владельцы
Укажите SteamID владельцев зоны. Если владельцев несколько, разделите их SteamID запятыми.
Пример
Вот пример записи в файле TerritoryDatabase.cfg
:
[ПримерЗоны]
Square
150, 100, 800
0, 128, 255, false
NoBuild, NoInteract, PeriodicHealALL = 50
None
[ЗонаСБолееВысокимПриоритетом@2]
Square
150, 100, 400
255, 0, 0, false
CustomEnvironment = Clear, NoAttack, NoPickaxe, PeriodicDamage = 10
None
Все зоны по умолчанию имеют приоритет 1. Если вы хотите изменить приоритет зоны, необходимо добавить @
и номер приоритета после названия зоны. Например, ЗонаСБолееВысокимПриоритетом@2
будет иметь приоритет 2. Это позволяет создавать зоны внутри зон. Например, вы можете создать зону с приоритетом 1, а затем создать внутри нее зону с приоритетом 2.
Battlepass (Проход Боевого Пасса)
Боевой Пасс (Battlepass) - это система наград для игроков на сервере, которая позволяет администратору устанавливать предметы в качестве наград. Игроки могут получить свою награду, когда наберут достаточное количество очков опыта. Администратор должен создать задания или найти другой способ начисления опыта игрокам.
Папка Battlepass содержит основной файл конфигурации, конфигурацию для бесплатных наград и еще одну для премиум-наград. Чтобы добавить игроков в список премиум-пользователей, вы должны ввести их Steam ID в основной файл marketplace.cfg в разделе "BattlepassVIPlist". Только эти игроки будут иметь доступ к премиум-наградам.
Основной файл конфигурации имеет две опции. Первая - это имя Боевого Пасса, которое является уникальным. Будьте внимательны при выборе имени, потому что после изменения имени Боевого Пасса все накопленные игроками опыт и награды будут потеряны, что означает, что все накопленные опыт игроков будет потерян, если вы измените имя в середине сезона.
Вторая опция - это шаг опыта Боевого Пасса. Это может быть любое целочисленное значение. Это значение должно соответствовать количеству опыта, начисляемому через задания. Если шаг опыта установлен на 50, то вы можете давать меньше опыта за выполненные задания, например, 10 или 15 за каждое задание. Однако, если вы установите шаги на 200, то вам нужно будет увеличить количество опыта, которое дается за задания, чтобы приспособиться к новому значению.
Наконец, если вы хотите пропустить какой-то уровень, просто не включайте "уровень награды". Например, если вы хотите иметь награду на уровне 2, а затем на следующем уровне (5), вам нужно пропустить уровни между ними. Например, перейти с 3-го уровня на 7-й.
Формат: Формат для создания наград одинаков для бесплатных и премиальных наград. Формат для ввода наград состоит из [уникальное имя = уровень награды], за которым следует сама награда на следующей строке. Формат награды - это имя предмета, количество и уровень предмета.
Пример: [food is good = 1] Carrot,5,0
Ещё Примеры:
[reward = 1] ArmorTrollLeatherLegs,1,0
[reward = 2] ArmorTrollLeatherChest,1,0
[reward = 3] HelmetTrollLeather,1,0
[reward = 4] CapeTrollHide,1,0
[reward = 5] BowFineWood,1,0
[reward = 6] SpearChitin,1,0
[reward = 7] ArmorIronLegs,1,0
[reward = 8] ArmorIronChest,1,0
[reward = 9] HelmetIron,1,0
Диалоги NPC
Формат файла
Файл NpcDialogues.cfg
написан в простом и читаемом формате для человека. Каждая запись диалога состоит из уникального имени профиля, за которым следует текст диалога NPC и варианты ответа игрока. Варианты ответа могут иметь различные атрибуты, такие как текст, переход, команда, значок, условие и всегда видимый.
Вот структура записи диалога:
[УникальноеИмяПрофиля]
Текст диалога
Вариант ответа 1
Вариант ответа 2
...
Варианты ответа могут иметь следующие атрибуты:
Text
: Представляет текст варианта ответа игрока.Transition
: Определяет переход к другому диалогу.Command
: Определяет команду, связанную с вариантом ответа игрока.Icon
: Представляет значок, связанный с вариантом ответа игрока (может быть любым предметом prefab или значками из папки клиента).Condition
: Определяет условия, при которых доступен вариант ответа игрока.AlwaysVisible
: Указывает, что вариант ответа игрока всегда виден, независимо от условий.Color
: Представляет цвет текста варианта ответа игрока.
Диалог может иметь несколько атрибутов, разделенных символом | (вертикальной чертой). Например:
Условия
В файле конфигурации NpcDialogues.cfg
можно использовать следующие условия:
HasItem
Использование:
HasItem, ItemPrefab, Amount
Описание: Проверяет, есть ли у игрока указанное количество конкретного предмета.
NotHasItem
Использование:
NotHasItem, ItemPrefab, Amount
Описание: Проверяет, нет ли у игрока указанного количества конкретного предмета.
HasBuff
Использование:
HasBuff, BuffName
Описание: Проверяет, есть ли у игрока указанный бафф.
NotHasBuff
Использование:
NotHasBuff, BuffName
Описание: Проверяет, нет ли у игрока указанного баффа.
SkillMore
Использование:
SkillMore, SkillName, MinLevel
Описание: Проверяет, превышает ли уровень навыка игрока в указанном навыке минимальный уровень или равен ему.
SkillLess
Использование:
SkillLess, SkillName, MaxLevel
Описание: Проверяет, не превышает ли уровень навыка игрока в указанном навыке максимальный уровень.
GlobalKey
Использование:
GlobalKey, KeyName
Описание: Проверяет, активен ли указанный глобальный ключ.
NotGlobalKey
Использование:
NotGlobalKey, KeyName
Описание: Проверяет, не активен ли указанный глобальный ключ.
IsVIP
Использование:
IsVIP
Описание: Проверяет, является ли игрок VIP.
NotIsVIP
Использование:
NotIsVIP
Описание: Проверяет, не является ли игрок VIP.
HasQuest
Использование:
HasQuest, QuestID
Описание: Проверяет, есть ли у игрока указанный квест.
NotHasQuest
Использование:
NotHasQuest, QuestID
Описание: Проверяет, нет ли у игрока указанного квеста.
QuestProgressDone
Использование:
QuestProgressDone, QuestID
Описание: Проверяет, завершен ли прогресс по квесту (достигнут максимальный балл).
QuestProgressNotDone
Использование:
QuestProgressNotDone, QuestID
Описание: Проверяет, не завершен ли прогресс по квесту (баллы еще не достигли максимума).
QuestFinished
Использование:
QuestFinished, QuestID
Описание: Проверяет, завершен ли указанный квест.
QuestNotFinished
Использование:
QuestNotFinished, QuestID
Описание: Проверяет, не завершен ли указанный квест.
Обратите внимание, что вы можете использовать эти условия в вариантах ответа игрока в ваших записях диалога для управления доступностью и видимостью опций на основе конкретных игровых условий или состояний игрока.
Не стесняйтесь обращаться к этой документации за дополнительным объяснением или предоставлять дополнительные примеры при необходимости.
Обратите внимание, что вы должны заменить заполнители значений (UniqueProfileName
, Текст диалога
, Варианты ответа игрока
, Text
, Transition
, Command
, Icon
, Condition
, AlwaysVisible
, QuestId
, ItemPrefab
, Количество
, BuffName
, SkillName
, Минимальный уровень
, somekey
) на фактические значения, соответствующие вашей игре и диалогам.
Команды
В файле конфигурации NpcDialogues.cfg
можно использовать следующие команды:
OpenUI
: Открывает UI для определенного типа профиля NPC.Использование:
OpenUI, Тип NPC, Имя профиля
Описание: Открывает связанное с определенным типом профиля NPC UI.
Возможные типы NPC: Marketplace, Trader, Info, Teleporter, Feedback, Banker, Gambler, Quests, Buffer, Transmog
FinishQuest
: Заканчивает квест.Использование:
FinishQuest, QuestID
Описание: Завершает указанный квест.
PlaySound
: Проигрывает звук.Использование:
PlaySound, Имя звука
Описание: Проигрывает указанный звук.
GiveQuest
: Дает игроку квест.Использование:
GiveQuest, QuestID
Описание: Дает игроку указанный квест.
GiveItem
: Дает предмет игроку.Использование:
GiveItem, ItemPrefab, Количество, Уровень
Описание: Дает игроку указанное количество предметов определенного уровня.
RemoveItem
: Удаляет предметы из инвентаря игрока.Использование:
RemoveItem, ItemPrefab, Количество
Описание: Удаляет из инвентаря игрока указанное количество предметов.
Spawn
: Создает существ поблизости.Использование:
Spawn, CreaturePrefab, Количество, Уровень
Описание: Создает рядом с игроком указанное количество существ определенного уровня.
Teleport
: Телепортирует игрока в определенное местоположение.Использование:
Teleport, X, Y, Z
Описание: Телепортирует игрока в указанные координаты.
RemoveQuest
: Удаляет квест из журнала заданий игрока.Использование:
RemoveQuest, QuestID
Описание: Удаляет указанный квест из журнала заданий игрока.
Damage
: Наносит урон игроку.Использование:
Damage, Значение
Описание: Наносит игроку урон на указанное значение.
Heal
: Восстанавливает здоровье игроку.Использование:
Heal, Значение
Описание: Восстанавливает здоровье игрока на указанное значение.
GiveBuff
: Дает игроку бафф.Использование:
GiveBuff, BuffID
Описание: Дает игроку указанный бафф.
AddPin
: Добавляет метку на карту игрока.Использование:
AddPin, Имя, X, Y, Z
Описание: Добавляет указанную метку на карту игрока.
PingMap
: Показывает местоположение на карте игрока.Использование:
PingMap, Имя, X, Y, Z
Описание: Показывает указанное местоположение на карте игрока.
Вы можете использовать несколько команд и условий в одном варианте ответа игрока, разделяя их символом | (вертикальная черта).
Пример диалогов:
[default]
Добро пожаловать в деревню!
Текст: Здравствуйте! Что привело вас в наш мирный городок?
Текст: В чем я могу помочь сегодня?
Текст: Расскажите мне больше о нашей деревне | Command: OpenUI, Info, VillageInfoProfile | Icon: village_icon
Текст: Я ищу работу | Transition: JobOptions | Icon: job_icon
[JobOptions]
Доступные варианты работы:
Текст: У нас есть различные вакансии. Какой тип работы вас интересует?
Текст: Фермерство | Command: OpenUI, Quests, Job | Icon: Hoe | Condition: HasItem, Hoe, 1
Текст: Рыболовство | Command: OpenUI, Quests, FishingJob | Icon: Fish1 | Condition: SkillMore, Fishing, 10
После этого начальный диалог (в данном случае default
) можно прикрепить к пользовательскому интерфейсу NPC для запуска разговора при взаимодействии игрока с NPC в игре.
Трансмогрификация
Трансмогрификация - это система, которая позволяет игрокам изменять внешний вид своего снаряжения на любой другой предмет в игре.
Как администратор сервера, вы можете настроить, какие NPC / профили будут давать доступ к определенным скинам. Чтобы начать настройку системы, перейдите в папку Marketplace и откройте файл TransmogrificationProfiles.cfg.
Формат данных:
[ProfileName]
SkinPrefab, Price Prefab, Price Amount, Skip TypeCheck true/false, Special VFX ID (optional)
Для добавления большего количества предметов в профиль просто добавьте их на новой строке. Пример:
[TestProfile]
SwordIron, Coins, 10, false
SwordIron, Coins, 20, false, 2
SwordIron, Coins, 50, false, 20
SwordIronFire, Ruby, 10, false
SwordIronFire, Ruby, 20, false, 2
SwordIronFire, Ruby, 50, false, 20
Этот профиль предоставляет NPC возможность использовать 6 предметов в качестве скинов: обычный меч из железа, меч из железа с эффектом VFX ID 2, меч из железа с эффектом VFX ID 20, меч с огненным клинком, меч с огненным клинком и эффектом VFX ID 2, меч с огненным клинком и эффектом VFX ID 20.
Обратите внимание, что если ID эффекта VFX равен 21, то игроки смогут выбирать эффект вручную для каждого предмета.
Назначение профиля NPC:
Откройте пользовательский интерфейс путем взаимодействия с NPC, чтобы увидеть результат: В левой части вы можете выбрать предмет из своего инвентаря, который вы хотите изменить, а затем выбрать новый предмет в правом окне.
ЕСЛИ ВЫ УСТАНОВИТЕ SKIP TYPECHECK TRUE, ВЫ СМОЖЕТЕ ИСПОЛЬЗОВАТЬ ЛЮБОЙ ПРЕДМЕТ В КАЧЕСТВЕ СКИНА, ДАЖЕ ЕСЛИ ОН НЕ ЯВЛЯЕТСЯ ЭКИПИРОВКОЙ. ЭТО МОЖЕТ ПРИВЕСТИ К НЕКОТОРЫМ ПРОБЛЕМАМ С НЕКОТОРЫМИ ПРЕДМЕТАМИ, ПОЭТОМУ ИСПОЛЬЗУЙТЕ ЭТУ ОПЦИЮ ТОЛЬКО, ЕСЛИ ВЫ ЗНАЕТЕ, ЧТО ДЕЛАЕТЕ.
Кроме того, опция skip typecheck позволяет использовать двуручное оружие в качестве скина для одноручного оружия и наоборот. Или использовать трофей в качестве скина:


Как вы заметили, на Marketplace доступно 20 эффектов VFX. Чтобы использовать их с опцией skip typecheck в режиме true/false, нужно указать ID желаемого эффекта VFX.
Названия эффектов по умолчанию:
mpasn_transmog_eff1: Небесные пепелацы
mpasn_transmog_eff2: Горящий низ
mpasn_transmog_eff3: Голубая обертка
mpasn_transmog_eff4: Ледниковый период
mpasn_transmog_eff5: Ангельское касание
mpasn_transmog_eff6: Фиолетовое пламя
mpasn_transmog_eff7: Пылающий поток
mpasn_transmog_eff8: Турбулентность
mpasn_transmog_eff9: Радиация
mpasn_transmog_eff10: Гнев Локи
mpasn_transmog_eff11: Фантом
mpasn_transmog_eff12: Золотой век
mpasn_transmog_eff13: Ледяная угроза
mpasn_transmog_eff14: Голубое дыхание
mpasn_transmog_eff15: Удар молнии
mpasn_transmog_eff16: Спокойствие
mpasn_transmog_eff17: Магические возрождение
mpasn_transmog_eff18: Вода
mpasn_transmog_eff19: Поток энергии
mpasn_transmog_eff20: Опасность молний
Давайте попробуем заменить наше читерское оружие с помощью трансмогрификации:
Выберите предмет
Выберите скин
(нажмите маленькую квадратную иконку в правом нижнем углу)
Готово:
Теперь ваш предмет выглядит так:
Когда вы наденете этот предмет, вы увидите, что его внешний вид изменился, а также появился VFX. Все характеристики оружия остаются прежними, а также анимация атак и т. д.:
Если вы хотите удалить трансмогрификацию с предмета, выберите предмет в пользовательском интерфейсе и нажмите кнопку "Clear".
Last updated
Was this helpful?