Ark:Донат-Магазин/Кастомные предметы
Кастомные предметы
<< Ark:Донат-Магазин
| К концу статьи | Предыдущая глава: Система быстрой кастомизация товаров (Аффиксы) | Короткая ссылка
Кастомные предметы - это определяемые на уровне настроек конкретного сервера предметы, наборы или команды. С помощью них можно добавить на сервер любой предмет, присутствующий в моде или специализированную команду. С помощью кастомных предметов в магазине можно добавить уникальные товары, характерные для вашего хостинга или предметы с модов.
Каждый кастомный предмет должен иметь уникальное название, по которому он будет связан с товаром в панели магазина. При этом содержимое товара, которое нужно ввести в панели, не имеет особого значения - оно может быть любым (например стак соломы). При получении товара на сервере оно будет автоматически заменено командами, которые вы прописали для кастомного предмета.
Кастомные предметы прописываются в JSON-файле custom.json (или прямо в config.json, в соответствующем методе):
Пример:
{ "Металлический слиток": { "type": "item", "stackSize": 200, "count": 400, "quality": 1, "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_MetalIngot.PrimalItemResource_MetalIngot'" }, "Чертёж ТЕК-винтовки": { "type": "blueprint", "quality": 10, "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle'" } }
В данном примере определено 2 предмета - "Металлический слиток" и "Чертёж ТЕК-винтовки".
Виды предметов
Предмет | Пример конфигурации |
---|---|
Прокачка персонажа или дино
Выдает опыт выжившему или (если сидит верхом) - дино. |
"Прокачка персонажа или дино": { "type": "experience", "amount": 1000000000 }
|
Товар-услуга
Любая услуга, на которую нет автоматической команды. Реализуется через отправку сообщения в специальный чат админу. |
"Вытащить забаганного дино": { "type": "message", "webHook": "hook1", "webHookMessage": "Сервер %serverInfo%, %playerInfo% попросил вытащить забаганного дино.", "message": "Сообщение отправлено администратору, ожидайте. Если вдруг администратор не пришел - напишите в чат-группу сервера" }
|
Summon-команда
Аналогично admincheat summon. |
"Белый луч": { "type": "summon", "className": "SupplyCrate_Level03_C" }
|
Предмет
Выдача предмета. |
"Металлический слиток": { "type": "item", "stackSize": 200, "count": 400, "quality": 1, "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_MetalIngot.PrimalItemResource_MetalIngot'", "mods": { } }
В качестве значения модификаторов используется объект { "value" : значение }, либо { "min": мин, "max": макс }, которые позволяют, соответственно, установить фиксированное значение или выбрать диапазон. Пример модификатора 2-3 на качество + x2 на броню: "mods": { "quality": { "min": 2, "max": 3 }, "armorMul": { "value": 2 } } |
Чертеж
Выдача чертежа предмета. |
"Чертёж ТЕК-винтовки": { "type": "blueprint", "quality": 10, "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle'" }
|
Энграмма
Выдача чертежа предмета. |
"Энграмма ТЕК-винтовки": { "type": "engram", "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle'" }
|
Динозавр
Выдача существа. |
"Тек-раптор: { "type": "dino", "level": 400, "neutered": true, "gender": 1, "imprint": true, "experience": 5000, "age": 1.0, "wild": false, "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/BionicRaptor_Character_BP.BionicRaptor_Character_BP'", "dcMinutes": 0, "dcHours": 2, "dcDays": 0, "dcInfinite": false, "mods": { } } "Раптор 80лвл селекция (здоровье)": { "type": "dino", "level": 80, "statPriority": "Health=10", "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'", "mods": { } } "Раптор 80лвл улучшенная селекция (здоровье++, выносливость+)": { "type": "dino", "level": 80, "statRounds": 1500, "statPriority": "Health=10,Stamina=5", "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'", "mods": { } }
В качестве значения модификаторов используется объект { "value" : значение }, либо { "min": мин, "max": макс }, которые позволяют, соответственно, установить фиксированное значение или выбрать диапазон. Пример модификатора 2-3 на качество + x2 на броню: "mods": { "healthPoints": { "min": 30, "max": 50 }, "meleePoints": { "value": 25 } } Обязателен только уровень и блюпринт, остальные параметры можно не указывать - тогда у них будет значение по умолчанию
Селекции поддаются только характеристики, доступные для рандомизации/прокачки у выбранного дино. Увеличение количества раундов селекции улучшают выборку селекции, но повышает нагрузку на сервер в момент выдачи.
|
Динозавр + прокачка + седло
Выдача существа с седлом + прокачка по опыту по выбранным характеристикам. |
"Раптор 140лвл (здоровье +30, урон +20, вес +10)": { "type": "spawnsetupdino", "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'", "baseLevel": 80, "statLevel": "Health=30,MeleeDamageMultiplier=20,Weight=10", "saddleBlueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_RaptorSaddle.PrimalItemArmor_RaptorSaddle'", "saddleQuality": 2.0 }
Этот тип товара есть только в ARK: Survival Evolved
Все параметры обязательны, и у этого типа товара нет выбора пола/возраста/покраски и т.д.
Начисляемые через statLevel уровни можно потом перераспределять через респециализацию дино
Прокачке поддаются только характеристики, доступные для прокачки у выбранного дино
Если нужно выдать дино с приоритетными характеристиками для разведения, то следует использовать параметр statPriority товара dino
|
Набор предметов
Выдача набора из нескольких предметов. Можно комбинировать предметы разного типа. Количество предметов в наборе не ограничено. |
"ТЕК-винтовка с 2x уроном + энграмма для использования": { "type": "pack", "items": [ { "type": "engram", "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle'" }, { "type": "item", "count": 1, "quality": 3, "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle'", "mods": { "damageMul": { "value": 2 } } } ], "message": "Сообщение для товара-услуги" } Если в наборе есть товары-услуги, то атрибут "message" (сообщение игроку в чат) у них работать не будет. Вместо этого, надо поставить "message" у самого товара-набора, как на примере выше
|
Право покраски дино
Выдача права на покраску любого дружественного дино на этом сервере |
"Право покраски дино": { "type": "dinocolor", "minutes": 0, "hours": 0, "days": 3, "infinite": false }
|
Респециализация дино
Выдача права на вызов команды сброса и перераспределение прокачки любого дружественного дино на этом сервере, на которого нацелен прицел. |
"Респециализация дино": { "type": "dinorespec", "times": 1 }
|
Вырастить дино
Выдача права на вызов команды роста (мгновенно выращивает дино) для любого дружественного дино на этом сервере, на которого нацелен прицел. |
"Рост дино": { "type": "dinogrow", "times": 1 }
Чтобы "нацелиться" на baby-дино, надо смотреть чуть выше его "маленького" размера
|
Пермишены
Интеграция с плагином Ark Permissions. Добавить или удалить игрока из группы. |
"Добавление в группу Premium": { "type": "permissions", "do": "add", "group": "Premium" }, "Добавление в группу Premium на 3 дня": { "type": "permissions", "do": "add", "group": "Premium", "minutes": 0, "hours": 0, "days": 3, "endMessage": "Время Премиум истекло" }
если игрок оффлайн - то endMessage будет ему отображено при следующем появлении на сервере
Перед тем как использовать этот тип товара, не забудьте добавить все необходимые группы на сервер
|
PlayerCommand
Запуск игровой команды. Поддерживается с версии 2.8. |
"Вознесение Бета": { "type": "playercommand", "command": "Ascend2" }, "Роквелл-Вознесение Альфа (Aberration)": { "type": "playercommand", "command": "AbAscend3" }
Выдача вознесения даст игроку одноименную ачивку в Steam и запустит показ заключительных титров
|
Cheat
Запуск консольной команды. Поддерживается с версии 2.85b. |
"Вылупление яйца": { "type": "cheat", "command": "HatchEgg" }, "Прохождение миссии Генезис": { "type": "cheat", "command": "forcecompleteactivemission 0" }, "Гигантозавр 50 очков в урон (самец) (плагин woolydino)": { "type": "cheat", "command": "woolydino %steamId% Blueprint'/Game/PrimalEarth/Dinos/Giganotosaurus/Gigant_Character_BP.Gigant_Character_BP' 225 0.0 0 1 35 35 20 30 35 50 19 0" }
Консольные команды не возвращают значения, поэтому плагин магазина не может проконтролировать успешность их исполнения. Используйте их на свой страх и риск, обязательно тестируйте товары с это командой!
|
Шестигранники
Добавление внутриигровой валюты DLC Genesos |
"1000000 Шестигранников": { "type": "hexagons", "count": 1000000 }
|
Примеры
Ссылки
Далее: Вебхуки