Кастомные предметы
Кастомные предметы - это определяемые на уровне настроек конкретного сервера предметы, наборы или команды. С помощью них можно добавить на сервер любой предмет, присутствующий в моде или специализированную команду. С помощью кастомных предметов в магазине можно добавить уникальные товары, характерные для вашего хостинга или предметы с модов.
Каждый кастомный предмет должен иметь уникальное название, по которому он будет связан с товаром в панели магазина. При этом содержимое товара, которое нужно ввести в панели, не имеет особого значения - оно может быть любым (например стак соломы). При получении товара на сервере оно будет автоматически заменено командами, которые вы прописали для кастомного предмета.
! Если кастомный предмет не сработал (например поврежден конфиг-файл), то будет выдан предмет, прописанный в панели магазина
! Название кастомного предмета должно на 100% совпадать с названием соответствующего ему товара в панели магазина
! При работе с кастомными предметами убедитесь, что в конфиг-файле включена настройка customGoods
Кастомные предметы прописываются в JSON-файле custom.json (или прямо в config.json, в соответствующем методе):
Пример```bash
Заголовок раздела «Пример```bash»{ “Металлический слиток”: { “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 предмета - "Металлический слиток" и "Чертёж ТЕК-винтовки".
## Виды предметов
| Предмет | Пример конфигурации || --- | --- || **Прокачка персонажа или дино**Выдает опыт выжившему или (если сидит верхом) - дино.
|
```bash"Прокачка персонажа или дино": { "type": "experience", "amount": 1000000000}- amount - количество выдаваемого опыта
| | Товар-услуга
Любая услуга, на которую нет автоматической команды. Реализуется через отправку сообщения в специальный чат админу.
|
"Вытащить забаганного дино": { "type": "message", "webHook": "hook1", "webHookMessage": "Сервер %serverInfo%, %playerInfo% попросил вытащить забаганного дино.", "message": "Сообщение отправлено администратору, ожидайте. Если вдруг администратор не пришел - напишите в чат-группу сервера"}- webHook - название вебхука
- webHookMessage - сообщение для администратора. Поддерживаются слова-заменители:
- %serverInfo% - название сервера
- %playerInfo% - steamId, steam-ник, имя выжившего и трайб игрока
- %characterName% - имя выжившего
- %steamName% - steam-ник
- %tribeName% - трайб
- %steamId% - steam-ID
- %title% - название товара
- message - сообщение для игрока (в игровой чат)
| | Summon-команда
Аналогично admincheat summon.
|
"Белый луч": { "type": "summon", "className": "SupplyCrate_Level03_C"}- className - класс вызываемого предмета, см. [1]
| | Предмет
Выдача предмета.
|
"Металлический слиток": { "type": "item", "stackSize": 200, "count": 400, "quality": 1, "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_MetalIngot.PrimalItemResource_MetalIngot'", "mods": { }}- stackSize - размер стака, по умолчанию 1
- count - сколько предметов выдать (обязательный параметр)
- quality - качество (если предмет его поддерживает)
- blueprint - блюпринт предмета (обязательный параметр)
- mods - модификации предмета (необязательно). Представляет собой объект, в котором каждый ключ устанавливает модификацию.
- quality - установить качество
- armor - установить броню
- durability - установить прочность
- damage - установить урон
- coldResist - установить защиту от холода
- warmResist - установить защиту от жары
- qualityAdd - добавить к текущему качеству
- armorAdd - добавить к текущей броне
- durabilityAdd - добавить к прочности
- damageAdd - добавить к урону
- coldResistAdd - добавить к защите от холода
- warmResistAdd - добавить к защите от жары
- qualityMul - умножить качество
- armorMul - умножить броню
- durabilityMul - умножить умножить прочность
- damageMul - умножить урон
- coldResistMul - умножить защиту от холода
- warmResistMul - умножить защиту от жары
В качестве значения модификаторов используется объект { “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'"}- quality - качество чертежа
- blueprint - блюпринт предмета (обязательный параметр)
| | Энграмма
Выдача чертежа предмета.
|
"Энграмма ТЕК-винтовки": { "type": "engram", "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle'"}- blueprint - блюпринт предмета (обязательный параметр)
| | Динозавр
Выдача существа.
|
"Тек-раптор: { "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": { }}"Тек-страйдер с харвестером и пушкой (доступен с версии 3.3)": { "type": "dino", "level": 100, "neutered": true, "gender": 1, "imprint": true, "experience": 5000, "age": 1.0, "wild": false, "blueprint": "Blueprint'/Game/Genesis2/Dinos/TekStrider/TekStrider_Character_BP.TekStrider_Character_BP'", "striderHead": 0, "striderChest": 2}"Гача с кастомными ресурсами": { "type": "dino", "level": 100, "neutered": true, "gender": 1, "imprint": true, "experience": 5000, "age": 1.0, "wild": false, "blueprint": "Blueprint'/Game/Extinction/Dinos/Gacha/Gacha_Character_BP.Gacha_Character_BP'", "gachaResources": { "Blueprint'/Game/Extinction/CoreBlueprints/Resources/PrimalItemResource_ElementDust.PrimalItemResource_ElementDust'": 60, "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_Silicon.PrimalItemResource_Silicon'": 20, "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_Crystal.PrimalItemResource_Crystal'": 20, "Blueprint'/Game/Extinction/CoreBlueprints/Resources/PrimalItemResource_CorruptedWood.PrimalItemResource_CorruptedWood'": 40, "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_Thatch.PrimalItemResource_Thatch'": 40, "Blueprint'/Game/ScorchedEarth/CoreBlueprints/Resources/PrimalItemResource_RawSalt.PrimalItemResource_RawSalt'": 40 }}- level - уровень выдаваемого существа, обязательный параметр
- neutered - кастрирован или нет (если не указан - то в соответствии с настройками плагина)
- gender - пол, 1 - М, 2 - Ж
- imprint - привязать существо (да или нет)
- experience - стартовый опыт
- age - возраст (от 0 до 1), 0 выдаст детеныша, 1 - взрослая особь
- wild - заспавнить дикого
- blueprint - блюпринт динозавра (обязательный параметр)
- statRounds - количество раундов селекции, по умолчанию 50, максимальное значение 4096. Количество особей в селекции.
- statPriority - приоритет характеристик для селекции (весовые коэфициенты, обозначающие важность характеристики), строка вида “хар1=значение1,хар2=значение2”. Все характеристики:
- Health - здоровье
- Stamina - выносливость
- Oxygen - кислород
- Food - еда
- Water - вода
- Weight - вес
- MeleeDamageMultiplier - урон
- SpeedMultiplier - скорость
- TemperatureFortitude - температурная стойкость
- CraftingSpeedMultiplier - скорость крафта
- Право покраски только что выданного дино (команда /красить или /sdc):
- dcMinutes - на сколько минут
- dcHours - на сколько часов
- dcDays - на сколько дней
- dcInfinite - бессрочно (true/false)
- mods - модификации динозавра (необязательно). Представляет собой объект, в котором каждый ключ устанавливает модификацию.
- health - установить % от стандартных очков здоровья
- stamina - установить % от стандартных очков выносливости
- torpidity - установить % от стандартных очков торпора
- oxygen - установить % от стандартных очков кислорода
- food - установить % от стандартных очков еды
- water - установить % от стандартных очков воды
- weight - установить % от стандартных очков веса
- melee - установить % от стандартных очков урона
- speed - установить % от стандартных очков скорости
- fortitude - установить % от стандартных очков стойкости
- crafting - установить % от стандартных очков крафтинга
- healthAdd - добавить % от стандартных очков здоровья
- staminaAdd - добавить % от стандартных очков выносливости
- torpidityAdd - добавить % от стандартных очков торпора
- oxygenAdd - добавить % от стандартных очков кислорода
- foodAdd - добавить % от стандартных очков еды
- waterAdd - добавить % от стандартных очков воды
- weightAdd - добавить % от стандартных очков веса
- meleeAdd - добавить % от стандартных очков урона
- speedAdd - добавить % от стандартных очков скорости
- fortitudeAdd - добавить % от стандартных очков стойкости
- craftingAdd - добавить % от стандартных очков крафтинга
- healthMul - умножить очки здоровья
- staminaMul - умножить очки выносливости
- torpidityMul - умножить очки торпора
- oxygenMul - умножить очки кислорода
- foodMul - умножить очки еды
- waterMul - умножить очки воды
- weightMul - умножить очки веса
- meleeMul - умножить очки урона
- speedMul - умножить очки скорости
- fortitudeMul - умножить очки стойкости
- craftingMul - умножить очки крафтинга
- healthPoints - установить очки здоровья
- staminaPoints - установить очки выносливости
- torpidityPoints - установить очки торпора
- oxygenPoints - установить очки кислорода
- foodPoints - установить очки еды
- waterPoints - установить очки воды
- weightPoints - установить очки веса
- meleePoints - установить очки урона
- speedPoints - установить очки скорости
- fortitudePoints - установить очки стойкости
- craftingPoints - установить очки крафтинга
- healthPointsAdd - добавить очки здоровья
- staminaPointsAdd - добавить очки выносливости
- torpidityPointsAdd - добавить очки торпора
- oxygenPointsAdd - добавить очки кислорода
- foodPointsAdd - добавить очки еды
- waterPointsAdd - добавить очки воды
- weightPointsAdd - добавить очки веса
- meleePointsAdd - добавить очки урона
- speedPointsAdd - добавить очки скорости
- fortitudePointsAdd - добавить очки стойкости
- craftingPointsAdd - добавить очки крафтинга
- striderHead - установить голову страйдера (-1 random, 0 harvester, 1 silence cannon, 2 machine gun, 3 radar) - доступно с версии 3.3
- striderChest - установить тело страйдера (-1 random, 0 shield, 1 onesided shield, 2 cannon, 3 saddlebags) - доступно с версии 3.3
- gachaResources - установить ресурсы Гачи (объект с ключами “блюпринт - количество”) - доступно с версии 3.3
- modBalanceStats (true/false) - используется совместно с mods. Пытается сбаллансировать дино после корректировки. Балансировка заключается в приведении общей суммы характеристик к “природному” знаменателю, который имеет вид “уровень дино - 1”. Если в результате изменения характеристик произошло увеличение одной из них - то все остальные характеристики будут уменьшены на соответствующее число (если есть такая возможность - характеристика не может быть меньше 0). И наоборот. В качестве значения модификаторов используется объект { “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}- blueprint - чертеж дино
- baseLevel - базовый уровень выдаваемого существа (со случайными статами)
- statLevel - уровни, выдаваемые на конкретные характеристики, строка вида “хар1=значение1,хар2=значение2”. Все характеристики:
- Health - здоровье
- Stamina - выносливость
- Oxygen - кислород
- Food - еда
- Water - вода
- Weight - вес
- MeleeDamageMultiplier - урон
- SpeedMultiplier - скорость
- TemperatureFortitude - температурная стойкость
- CraftingSpeedMultiplier - скорость крафта
- saddleBlueprint - чертеж седла
- saddleQuality - качество седла
! Этот тип товара есть только в 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}- minutes - на сколько минут
- hours - на сколько часов
- days - на сколько дней
- infinite - бессрочно (true/false)
| | Респециализация дино
Выдача права на вызов команды сброса и перераспределение прокачки любого дружественного дино на этом сервере, на которого нацелен прицел.
|
После получения права, становится возможным использование команды /respec или !респец.
"Респециализация дино": { "type": "dinorespec", "times": 1}- times - сколько раз можно применить
| | Вырастить дино
Выдача права на вызов команды роста (мгновенно выращивает дино) для любого дружественного дино на этом сервере, на которого нацелен прицел.
|
После получения права, становится возможным использование команды /grow или !рост, а также /printdino.
"Рост дино": { "type": "dinogrow", "times": 1}- times - сколько раз можно применить
! Чтобы “нацелиться” на baby-дино, надо смотреть чуть выше его “маленького” размера
| | Привязать дино
Выдача права на вызов команды привязки дино (делает привязку выбранного дино к игроку) для любого дружественного дино на этом сервере, на которого нацелен прицел.
|
После получения права, становится возможным использование команды /imprint или !привязать.
"Привязка дино": { "type": "dinoimprint", "times": 1}- times - сколько раз можно применить
! Чтобы “нацелиться” на baby-дино, надо смотреть чуть выше его “маленького” размера
! Доступно начиная с версии 3.3 плагина
| | Приручить дино
Выдача права на вызов команды приручения дино (делает приручение выбранного дино к игроку) для любого дикого дино на этом сервере, на которого нацелен прицел.
|
После получения права, становится возможным использование команды /tame или !приручить.
"Приручение дино": { "type": "dinotame", "times": 1}- times - сколько раз можно применить
! Доступно начиная с версии 3.3 плагина
| | Пермишены
Интеграция с плагином Ark Permissions. Добавить или удалить игрока из группы.
|
"Добавление в группу Premium": { "type": "permissions", "do": "add", "group": "Premium"},"Добавление в группу Premium на 3 дня": { "type": "permissions", "do": "add", "group": "Premium", "minutes": 0, "hours": 0, "days": 3, "endMessage": "Время Премиум истекло"}- do - действие (add или remove)
- group - название группы
- minutes - на сколько минут
- hours - на сколько часов
- days - на сколько дней
- endMessage - это сообщение будет отображено игроку по окончанию времени
! если игрок оффлайн - то endMessage будет ему отображено при следующем появлении на сервере
! Перед тем как использовать этот тип товара, не забудьте добавить все необходимые группы на сервер
| | PlayerCommand
Запуск игровой команды. Поддерживается с версии 2.8.
|
"Вознесение Бета": { "type": "playercommand", "command": "Ascend2"},"Роквелл-Вознесение Альфа (Aberration)": { "type": "playercommand", "command": "AbAscend3"}- command - текст команды, типичные значения для Ark:
- Ascend1, Ascend2, Ascend3 - вознесения Tek Cave
- AbAscend1, AbAscend2, AbAscend3 - вознесения Абберации
- EXTAscend1, EXTAscend2, EXTAscend3 - вознесения Extinction
- Genascend1, Genascend2 - вознесения Genesis (команды Genascend3 для альфа вознесения не существует)
! Выдача вознесения даст игроку одноименную ачивку в 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"}- command - текст команды, поддерживаются подстановочные переменные:
- %characterName% - ник игрока
- %steamName% - имя игрока в Steam/EGS
- %tribeName% - имя трайба
- %steamId% - ID игрока в Steam/EGS
- %playerId% - внутри-игровой номер персонажа (печатается на импланте)
! Консольные команды не возвращают значения, поэтому плагин магазина не может проконтролировать успешность их исполнения. Используйте их на свой страх и риск, обязательно тестируйте товары с это командой!
| | Шестигранники
Добавление внутриигровой валюты DLC Genesos
|
"1000000 Шестигранников": { "type": "hexagons", "count": 1000000}- count - сколько выдать
|