Ark:Донат-Магазин/Кастомные предметы: различия между версиями

Материал из SurvivalHost Wiki
Перейти к навигации Перейти к поиску
м
м
(не показано 40 промежуточных версий этого же участника)
Строка 127: Строка 127:
   "dcInfinite": false
   "dcInfinite": false
  }
  }
"Раптор 80лвл селекция (здоровье)": {
  "type": "dino",
  "level": 80,
  "statPriority": "Health=10",
  "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'"
}
"Раптор 80лвл улучшенная селекция (здоровье++, выносливость+)": {
  "type": "dino",
  "level": 80,
  "statRounds": 1500,
  "statPriority": "Health=10,Stamina=5",
  "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'"
}
* level - уровень выдаваемого существа, обязательный параметр
* level - уровень выдаваемого существа, обязательный параметр
* neutered - кастрирован или нет (если не указан - то в соответствии с настройками плагина)
* neutered - кастрирован или нет (если не указан - то в соответствии с настройками плагина)
Строка 135: Строка 151:
* wild - заспавнить дикого
* wild - заспавнить дикого
* blueprint - блюпринт динозавра (обязательный параметр)
* blueprint - блюпринт динозавра (обязательный параметр)
* statRounds - количество раундов селекции, по умолчанию 50, максимальное значение 4096. Количество особей в селекции.
* statPriority - приоритет характеристик для селекции (весовые коэфициенты, обозначающие важность характеристики), строка вида "хар1=значение1,хар2=значение2". Все характеристики:
** Health - здоровье
** Stamina - выносливость
** Oxygen - кислород
** Food - еда
** Water - вода
** Weight - вес
** MeleeDamageMultiplier - урон
** SpeedMultiplier - скорость
** TemperatureFortitude - температурная стойкость
** CraftingSpeedMultiplier - скорость крафта
* Право покраски только что выданного дино (команда /красить или /sdc):
* Право покраски только что выданного дино (команда /красить или /sdc):
** dcMinutes - на сколько минут
** dcMinutes - на сколько минут
Строка 140: Строка 168:
** dcDays - на сколько дней
** dcDays - на сколько дней
** dcInfinite - бессрочно (true/false)
** dcInfinite - бессрочно (true/false)
{{tip|Обязателен только уровень и блюпринт, остальные параметры можно не указывать - тогда у них будет значение по умолчанию}}
{{important|Обязателен только уровень и блюпринт, остальные параметры можно не указывать - тогда у них будет значение по умолчанию}}
{{tip|Селекции поддаются только характеристики, доступные для рандомизации/прокачки у выбранного дино. Увеличение количества раундов селекции улучшают выборку селекции, но повышает нагрузку на сервер в момент выдачи.}}
|-
|-
|'''<span id="dinospawnsetup">Динозавр + седло + подгонка статов</span >'''
|'''<span id="dinospawnsetup">Динозавр + прокачка + седло</span >'''
Выдача существа с седлом и с приоритизацией характеристик.
Выдача существа с седлом + прокачка по опыту по выбранным характеристикам.
|  
|  
  "Раптор (здоровье х3, урон х2)": {
  "Раптор 140лвл (здоровье +30, урон +20, вес +10)": {
   "type": "dinospawnsetup",
   "type": "spawnsetupdino",
  "level": 80,
   "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'",
   "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'",
   "stats": "Health=30,MeleeDamageMultiplier=20,Weight=10",
   "baseLevel": 80,
  "statLevel": "Health=30,MeleeDamageMultiplier=20,Weight=10",
   "saddleBlueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_RaptorSaddle.PrimalItemArmor_RaptorSaddle'",
   "saddleBlueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_RaptorSaddle.PrimalItemArmor_RaptorSaddle'",
   "saddleQuality": 2.0
   "saddleQuality": 2.0
  }
  }
* level - уровень выдаваемого существа
* blueprint - чертеж дино
* blueprint - чертеж дино
* stats - приоритеты характеристик, строка вида "хар1=значение1,хар2=значение2". Все характеристики:
* baseLevel - базовый уровень выдаваемого существа (со случайными статами)
* statLevel - уровни, выдаваемые на конкретные характеристики, строка вида "хар1=значение1,хар2=значение2". Все характеристики:
** Health - здоровье
** Health - здоровье
** Stamina - выносливость
** Stamina - выносливость
** Torpidity - оглушение
** Oxygen - кислород
** Oxygen - кислород
** Food - еда
** Food - еда
** Water - вода
** Water - вода
** Temperature - температура
** Weight - вес
** Weight - вес
** MeleeDamageMultiplier - урон
** MeleeDamageMultiplier - урон
Строка 170: Строка 197:
* saddleBlueprint - чертеж седла
* saddleBlueprint - чертеж седла
* saddleQuality - качество седла
* saddleQuality - качество седла
{{tip|Все параметры обязательны}}
{{important|Этот тип товара есть только в ARK: Survival Evolved}}
{{important|Все параметры обязательны, и у этого типа товара нет выбора пола/возраста/покраски и т.д.}}
{{important|Начисляемые через statLevel уровни можно потом перераспределять через '''респециализацию дино'''}}
{{tip|Прокачке поддаются только характеристики, доступные для прокачки у выбранного дино}}
{{tip|Если нужно выдать дино с приоритетными характеристиками для разведения, то следует использовать параметр '''statPriority''' товара '''dino'''}}
|-
|-
|'''<span id="pack">Набор предметов</span >'''
|'''<span id="pack">Набор предметов</span >'''
Строка 177: Строка 208:
  "ТЕК-винтовка + энграмма для использования": {
  "ТЕК-винтовка + энграмма для использования": {
   "type": "pack",
   "type": "pack",
   "items": {
   "items": [
     {
     {
       "type": "engram",
       "type": "engram",
Строка 188: Строка 219:
       "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle'"
       "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_TekRifle.PrimalItem_TekRifle'"
     }
     }
   }
   ],
  "message": "Сообщение для товара-услуги"
  }
  }
{{important|Если в наборе есть товары-услуги, то атрибут "message" (сообщение игроку в чат) у них работать не будет. Вместо этого, надо поставить "message" у самого товара-набора, как на примере выше}}
|-
|-
|'''<span id="dinocolor">Право покраски дино</span >'''
|'''<span id="dinocolor">Право покраски дино</span >'''
Строка 205: Строка 238:
* days - на сколько дней
* days - на сколько дней
* infinite - бессрочно (true/false)
* infinite - бессрочно (true/false)
|-
|'''<span id="dinorespec">Респециализация дино</span >'''
Выдача права на вызов команды сброса и перераспределение прокачки любого дружественного дино на этом сервере, на которого нацелен прицел.
|
"Респециализация дино": {
  "type": "dinorespec",
  "times": 1
}
* times - сколько раз можно применить
|-
|'''<span id="dinogrow">Вырастить дино</span >'''
Выдача права на вызов команды роста (мгновенно выращивает дино) для любого дружественного дино на этом сервере, на которого нацелен прицел.
|
"Рост дино": {
  "type": "dinogrow",
  "times": 1
}
* times - сколько раз можно применить
{{bug|Чтобы "нацелиться" на baby-дино, надо смотреть чуть выше его "маленького" размера}}
|-
|-
|'''<span id="permissions">Пермишены</span >'''
|'''<span id="permissions">Пермишены</span >'''
Строка 248: Строка 300:
** AbAscend1, AbAscend2, AbAscend3 - вознесения Абберации
** AbAscend1, AbAscend2, AbAscend3 - вознесения Абберации
** EXTAscend1, EXTAscend2, EXTAscend3 - вознесения Extinction
** EXTAscend1, EXTAscend2, EXTAscend3 - вознесения Extinction
{{tip|Выдача вознесения даст игроку одноименную ачивку в Steam и запустит показ заключительных титров}}
|-
|'''<span id="hexagons">Шестигранники</span >'''
Добавление внутриигровой валюты DLC Genesos
|
"1000000 Шестигранников": {
  "type": "hexagons",
  "count": 1000000
}
* count - сколько выдать
|-
|}
|}



Версия 01:02, 6 марта 2020

Кастомные предметы
<< Ark:Донат-Магазин | К концу статьи | Предыдущая глава: Система быстрой кастомизация товаров (Аффиксы) | Короткая ссылка

Кастомные предметы - это определяемые на уровне настроек конкретного сервера предметы, наборы или команды. С помощью них можно добавить на сервер любой предмет, присутствующий в моде или специализированную команду. С помощью кастомных предметов в магазине можно добавить уникальные товары, характерные для вашего хостинга или предметы с модов.

Каждый кастомный предмет должен иметь уникальное название, по которому он будет связан с товаром в панели магазина. При этом содержимое товара, которое нужно ввести в панели, не имеет особого значения - оно может быть любым (например стак соломы). При получении товара на сервере оно будет автоматически заменено командами, которые вы прописали для кастомного предмета.

 Если кастомный предмет не сработал (например поврежден конфиг-файл), то будет выдан предмет, прописанный в панели магазина
 Название кастомного предмета должно на 100% совпадать с названием соответствующего ему товара в панели магазина

Кастомные предметы прописываются в 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
}
  • 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]
Предмет

Аналогично admincheat summon.

"Металлический слиток": {
  "type": "item",
  "stackSize": 200,
  "count": 400,
  "quality": 1,
  "blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_MetalIngot.PrimalItemResource_MetalIngot'"
}
  • stackSize - размер стака, по умолчанию 1
  • count - сколько предметов выдать (обязательный параметр)
  • quality - качество (если предмет его поддерживает)
  • blueprint - блюпринт предмета (обязательный параметр)
Чертеж

Выдача чертежа предмета.

"Чертёж ТЕК-винтовки": {
  "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
}
"Раптор 80лвл селекция (здоровье)": {
  "type": "dino",
  "level": 80,
  "statPriority": "Health=10",
  "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'"
}
"Раптор 80лвл улучшенная селекция (здоровье++, выносливость+)": {
  "type": "dino",
  "level": 80,
  "statRounds": 1500,
  "statPriority": "Health=10,Stamina=5",
  "blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Raptor/Raptor_Character_BP.Raptor_Character_BP'"
}
  • 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)
 Обязателен только уровень и блюпринт, остальные параметры можно не указывать - тогда у них будет значение по умолчанию
 Селекции поддаются только характеристики, доступные для рандомизации/прокачки у выбранного дино. Увеличение количества раундов селекции улучшают выборку селекции, но повышает нагрузку на сервер в момент выдачи.
Динозавр + прокачка + седло

Выдача существа с седлом + прокачка по опыту по выбранным характеристикам.

"Раптор 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
Набор предметов

Выдача набора из нескольких предметов. Можно комбинировать предметы разного типа. Количество предметов в наборе не ограничено.

"ТЕК-винтовка + энграмма для использования": {
  "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'"
    }
  ],
  "message": "Сообщение для товара-услуги"
}
 Если в наборе есть товары-услуги, то атрибут "message" (сообщение игроку в чат) у них работать не будет. Вместо этого, надо поставить "message" у самого товара-набора, как на примере выше
Право покраски дино

Выдача права на покраску любого дружественного дино на этом сервере

"Право покраски дино": {
  "type": "dinocolor",
  "minutes": 0,
  "hours": 0,
  "days": 3,
  "infinite": false
}
  • minutes - на сколько минут
  • hours - на сколько часов
  • days - на сколько дней
  • infinite - бессрочно (true/false)
Респециализация дино

Выдача права на вызов команды сброса и перераспределение прокачки любого дружественного дино на этом сервере, на которого нацелен прицел.

"Респециализация дино": {
  "type": "dinorespec",
  "times": 1
}
  • times - сколько раз можно применить
Вырастить дино

Выдача права на вызов команды роста (мгновенно выращивает дино) для любого дружественного дино на этом сервере, на которого нацелен прицел.

"Рост дино": {
  "type": "dinogrow",
  "times": 1
}
  • times - сколько раз можно применить
 Чтобы "нацелиться" на 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": "Время Премиум истекло"
}
  • 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
 Выдача вознесения даст игроку одноименную ачивку в Steam и запустит показ заключительных титров
Шестигранники

Добавление внутриигровой валюты DLC Genesos

"1000000 Шестигранников": {
  "type": "hexagons",
  "count": 1000000
}
  • count - сколько выдать

Примеры

Ссылки



Далее: Вебхуки

<< Ark:Донат-Магазин | К началу статьи