📄 PalSummon.json
Файл PalSummon определяет встречу с фиксированным местоположением, запускаемую с помощью /summon <filename>. Сохраняйте файлы в <PalServer>/Pal/Binaries/Win64/PalDefender/Pals/Summons/, а ссылки на PalTemplates — в Pals/Templates/.
Поиск идентификаторов
Используйте paldeck.cc/pals для PalID, paldeck.cc/passives для пассивных способностей и paldeck.cc/skills для идентификаторов навыков, используемых в указанном шаблоне.
Ключи встречи
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
PalTemplate |
string | Требуется | Имя файла шаблона в Pals/Templates/; .json можно опустить. |
BossBattleName |
string | Идентификатор Pal | Отображаемое имя, используемое в объявлениях, журналах, вебхуках и результатах урона. |
Uncapturable |
bool | false |
Предотвращает захват вызванного Pal. |
CapturableAtHealthPercent |
номер | 15 |
Если возможен захват, разрешает захват только при этом проценте HP или ниже (0–100). Игнорируется, если Uncapturable равен true. |
DisableAI |
bool | false |
Отключает обычный ИИ. Некоторое пассивное поведение, например уклонение, все еще может иметь место. |
DisableDamageMeter |
bool | false |
Отключает отслеживание, диалоговое окно результатов и награды за ранги. Вместо этого награда Default предоставляется всем онлайн-игрокам. |
SpawnScale |
номер | 1.0 |
Визуальный и физический множитель размера; неположительные значения возвращаются к 1.0. |
DamageTakenMultiplier |
номер | 1.0 |
Множитель полученного урона; отрицательные значения возвращаются к 1.0. |
DamageDealtMultiplier |
номер | 1.0 |
Множитель нанесенного урона; отрицательные значения возвращаются к 1.0. |
X, Y, Z |
номер | Требуется | Координаты карты. Используйте /getpos, чтобы получить их. |
DisableStatuses |
array | Пусто | Имена статусов, которые нужно скрыть. Недопустимые имена пропускаются. Допустимые названия. |
Rewards |
object или array | Пусто | Необязательные определения наград для отдельных мест и награды по умолчанию. Рекомендуется использовать форму object. |
CapturableAt, CapturableAtPercent и capturable_at являются допустимыми псевдонимами совместимости. AdditionalEnemyReceiveDamageRate и AdditionalEnemyInflictDamageRate также принимаются, но имена из таблицы являются предпочтительными.
Миграция максимального HP
Максимальный HP призванного Pal теперь берётся из HP указанного PalTemplate. HealthMultiplier, HPMultiplier и AdditionalEnemyMaxHPRate больше не поддерживаются; удалите эти поля из существующих файлов PalSummon.
Отключение статусов
DisableStatuses — массив названий статусов в виде строк. Указанные статусы удаляются у призванного Пала и больше не могут быть наложены на него. Регистр букв не учитывается; используйте английские идентификаторы без перевода, сохраняя символы подчёркивания. Пустой массив [] не отключает никакие статусы. Пустые строки и недопустимые названия пропускаются; None использовать нельзя.
Пример: заблокировать отравление, горение, заморозку, электрические эффекты, оглушение и сон.
Полный список включает также усиления и внутренние статусы игры, а не только вредоносные эффекты.
Все допустимые названия статусов
ControlSP
GainHP
StepCooldown
DrownCheck
Poison
UNKOTimer
Stun
Coma
Sleep
Overwork
Happiness
Resistance
Moratorium
Drown
Dying
ShieldRecovery
FallDamage
LavaDamage
Burn
Wetness
Freeze
Electrical
Muddy
IvyCling
Darkness
AttackUp
DefenseUp
AttackDown
CollectItem
LifeSteal
RaidBossStatusChange
RarePalEffect
MorphChange
PalEnhancement
PalEnhancement2
PalEnhancement3
PartBreak
FishingSpotElectrical
HPLock
AcidDamage
WorldTreeAuraPalEffect
AwakeningAuraEffect
ToxicGas
ToxicGas_FromAttack
Stealth
TeleportStealth
LowGravity
PlayerLowHealthBlast
PlayerElementStepAttack_Fire
PlayerElementStepAttack_Water
PlayerElementStepAttack_Leaf
PlayerInflictEffect_AttackBurning_ApplyExplosion
PlayerInflictEffect_AttackIvyCling_ApplyExplosion
PlayerInflictEffect_AttackBurning_ApplyFireVortex
PlayerInflictEffect_AttackElectrified_ApplySpark
PlayerInflictEffect_AttackPoisoned_ApplyAttackDown
PlayerInflictEffect_AttackMuddy_ApplyAttackDown
PlayerInflictEffect_MeleeHitBarrier
PlayerInflictEffect_AttackWet_ApplyFreeze
PlayerInflictEffect_AttackWet_ApplyFreeze_Resist
Player_ArrowExplosion
BulletHit_StackBuff
DefeatEnemy_StackBuff
MapObjectOverHeat
JumpingFrog
JumpingFrog_dark
LifeDrainPower_AttackUp
AttackRateHPThresholdPassive
DefenseRateHPThresholdPassive
WeakPointHitDamageUp
WeakPointHitDamageUp_Buff
SwimSpeedUp
WorldTreeHolyWaterEffect
DefeatEnemy_ActiveSkillCoolTime_Decrease
DefeatEnemy_RecoverHP
RecoverHPOnHPThresholdPassive
FloatStun
Счетчик урона и награды
Награды разыгрываются после того, как призванный Pal умрет или будет захвачен. Таблица лидеров урона отсортирована от самого высокого до самого низкого урона. Диалоговое окно результатов показывает пятерку лучших, выделяет тройку лучших, а также показывает собственную позицию принимающего игрока, когда этот игрок не входит в пятерку лучших.
Если включено отслеживание повреждений, с каждым участвующим игроком обращаются следующим образом:
- PalDefender ищет числовой ключ
Rewards, соответствующий окончательному рангу этого игрока. - Если такого точного ранга не существует, PalDefender использует
Rewards.Default. - Если ни того, ни другого не существует, этот игрок не получает награды.
- Выбранная награда выпадает отдельно для этого игрока. Таким образом, два игрока, использующие одно и то же определение
Default, могут получить разные случайные результаты.
Только участники, которые всё ещё находятся в сети и имеют доступный контроллер игрока на момент завершения боя, могут получить ранговые награды. Пронумерованная награда не включает награду Default; она заменяет её для соответствующего места.
"Rewards": {
"1": {
"Drops": [
{ "ItemID": "Money", "Count": 50000 },
{ "TechnologyPoints": 5 }
]
},
"2": {
"Drops": [
{ "EXP": { "Min": 10000, "Max": 20000 } }
]
},
"Default": {
"Drops": [
{ "ItemID": "Money", "Count": 1000, "Chance": 75 }
]
}
}
В этом примере первое место получает обе гарантированные награды, второе — случайное количество опыта, а каждый из остальных участников рейтинга независимо получает шанс 75 % получить 1 000 единиц валюты.
Ключи ранга должны представлять собой положительные целые числа, записанные как ключи JSON object, например "1", "2" или "10". "0", отрицательные ранги и произвольные имена недействительны. Default сопоставляется без учета регистра.
форма Array
Rewards также может быть array. Array элемент 0 имеет ранг 1, элемент 1 — ранг 2 и т. д. Форма array не может определить Default, поэтому форма object более понятна и рекомендуется.
Структура определения вознаграждения
Каждый ранг и Default содержат одно определение награды. Определение может содержать оба:
Drops: записи оцениваются напрямую и независимо.Pools: группы, управляющие выбором записей.
Он также может содержать сокращения прогрессии EXP, TechnologyPoints и AncientTechnologyPoints. Сокращения гарантированы и полезны, когда им не нужны собственные настройки Chance, Weight или Unique.
{
"EXP": { "Min": 10000, "Max": 20000 },
"TechnologyPoints": 2,
"AncientTechnologyPoints": 1,
"Drops": [
{ "ItemID": "Money", "Count": 5000 }
],
"Pools": [
{
"Entries": [
{ "ItemID": "AncientArmor", "Weight": 1 },
{ "ItemID": "AncientHelmet", "Weight": 1 }
]
}
]
}
Типы вознаграждений
Каждая запись должна определять ровно один тип вознаграждения. Не объединяйте поле предмета, яйца и прогресса в одной записи.
| Награда | Обязательные поля | Необязательные поля | Примечания |
|---|---|---|---|
| Товар | ItemID |
Count, Chance, Weight, Unique |
Count по умолчанию равен 1. |
| Pal яйцо | EggID, PalTemplate |
Count, Level, Chance, Weight, Unique |
Count по умолчанию равен 1; Level: 0 использует уровень шаблона. |
| Опыт | EXP |
Chance, Weight, Unique |
Значение EXP — это сумма или диапазон. |
| Технологические точки | TechnologyPoints |
Chance, Weight, Unique |
Значением поля является сумма или диапазон. |
| Древние технологические точки | AncientTechnologyPoints |
Chance, Weight, Unique |
Значением поля является сумма или диапазон. |
Chance, Weight и Unique эффективны только в контекстах, описанных ниже. То, что поле принимается анализатором, не означает, что оно влияет на каждый режим распространения.
Рекомендуется использовать приведенные выше канонические имена полей. Парсер также принимает следующие псевдонимы:
| Каноническое поле | Принятые псевдонимы |
|---|---|
ItemID |
ItemId, ID |
EggID |
EggId |
PalTemplate |
Template |
Count |
Amount, Num |
EXP |
Exp, Experience |
TechnologyPoints |
TechPoints |
AncientTechnologyPoints |
BossTechnologyPoints |
Фиксированные значения, диапазоны и шансы
Суммы могут быть фиксированным целым числом или инклюзивным диапазоном:
{
"Drops": [
{ "ItemID": "Money", "Count": 25000 },
{ "ItemID": "AssaultRifleBullet", "Count": { "Min": 100, "Max": 250 } },
{ "EXP": { "Min": 10000, "Max": 20000 } },
{ "TechnologyPoints": 2 }
]
}
Count, количество опыта и технологических очков должно быть целым числом не ниже1.- Для диапазона требуются как
Min, так иMax, аMaxне должен быть нижеMin. - Текстовые диапазоны, такие как
"1-3", недействительны; используйте{ "Min": 1, "Max": 3 }. - Яйцо
Levelможет быть0; это сохраняет уровень из указанного PalTemplate. Положительный уровень переопределяет уровень шаблона и ограничивается уровнем 255, когда яйцо предоставляется. Chanceпринимает число или числовой текст с необязательным%, например30,30.5или"30%".Chance: 0никогда не завершается успешно,Chance: 100всегда завершается успешно, а значения должны находиться в диапазоне от0до100.- Для шанса строго от 0 до 100 сгенерированный бросок должен быть ниже настроенного значения. Таким образом, бросок ровно
30.0не дает результатаChanceиз30.
Прямые капли
Каждая запись в Drops оценивается независимо. Между соседними записями нет отношения выбора одного. Отсутствие Chance означает 100.
{
"Drops": [
{ "ItemID": "Money", "Count": { "Min": 25000, "Max": 75000 } },
{ "ItemID": "AssaultRifleBullet", "Count": { "Min": 100, "Max": 250 }, "Chance": 30 },
{ "EXP": 15000, "Chance": "50%" },
{ "TechnologyPoints": 2, "Chance": 10 }
]
}
Деньги гарантированы. Боеприпасы, опыт и технологические очки имеют свой собственный шанс. Ноль, один, два или все три дополнительных сброса могут быть успешными.
Weight и Unique не работают напрямую с Drops и выдают предупреждения. Используйте Chance для необязательного прямого сброса.
Пулы добычи
Пул сначала создает свой собственный Chance. Если пул выходит из строя, ни одна из его записей не учитывается. В случае успеха Mode решает, как оценивать записи.
| Ключ от бассейна | Тип | По умолчанию | Описание |
|---|---|---|---|
Name |
string | Пусто | Дополнительная диагностическая этикетка. Это не влияет на выбор. |
Mode |
string | OneOf |
OneOf, Pick, All или Independent. Сопоставление нечувствительно к регистру. |
Chance |
число или процентный текст | 100 |
Шанс, что активируется весь пул. |
Rolls |
целое число | 1 |
Количество вариантов в Pick; игнорируется другими режимами. |
Unique |
bool | true |
Политика повторения по умолчанию для Pick; запись может переопределить ее. |
Entries |
array | Требуется | Непустой список записей вознаграждений. |
One принимается как псевдоним для OneOf, а PickN как псевдоним для Pick, но рекомендуется использовать канонические имена режимов.
| Режим | Сколько заявок может быть предоставлено? | Использует Weight? |
Использует запись Chance? |
Использует Rolls/Unique? |
|---|---|---|---|---|
OneOf |
Ровно один, если пул успешен | Да | Нет | Нет |
Pick |
До Rolls выбора |
Да | Нет | Да |
All |
Каждая запись один раз, если пул успешен | Нет | Нет | Нет |
Independent |
Ноль во всех записях | Нет | Да | Нет |
Все четыре режима по-прежнему используют Chance уровня пула. Несколько пулов в одном определении вознаграждения обрабатываются независимо, и их результаты добавляются в прямой Drops.
OneOf: один взвешенный результат
OneOf — режим по умолчанию. Если его шанс на уровне пула успешен, выбирается ровно одна запись. Вероятность записи равна ее Weight, деленному на сумму всех весов записей.
{
"Pools": [
{
"Name": "Equipment jackpot",
"Mode": "OneOf",
"Chance": 35,
"Entries": [
{ "ItemID": "AncientArmor", "Weight": 7 },
{ "ItemID": "AncientHelmet", "Weight": 7 },
{ "ItemID": "SkyAssaultRifle", "Weight": 5 },
{ "EggID": "PalEgg_Dark_05", "PalTemplate": "RaidReward.json", "Weight": 1 }
]
}
]
}
Сумма весов равна 20. При условии успеха пула четыре записи имеют вероятности 35%, 35%, 25% и 5%. Поскольку сам пул активируется только в 35% случаев, абсолютная вероятность яйца равна 35% × 5% = 1.75%.
- Отсутствующий
Weightпо умолчанию равен1. Weightдолжно быть целым числом не ниже1; удалить запись вместо присвоения веса0.Rollsигнорируется и выдает предупреждение, посколькуOneOfвсегда выбирает один раз.- Начальный уровень
Chanceигнорируется и выдает предупреждение. ИспользуйтеWeightдля управления относительной вероятностью выбора. Uniqueне имеет практического эффекта, поскольку выбирается только одна запись.
Pick: множественные взвешенные результаты без повторов
Pick повторяет взвешенный выбор Rolls раз. При использовании значения по умолчанию Unique: true выбранная запись удаляется перед следующим выбором и не может быть выбрана снова. Веса пересчитываются из оставшихся записей после каждого выбора.
{
"Pools": [
{
"Name": "Choose two different rewards",
"Mode": "Pick",
"Rolls": 2,
"Unique": true,
"Entries": [
{ "ItemID": "AncientArmor", "Weight": 1 },
{ "ItemID": "AncientHelmet", "Weight": 1 },
{ "ItemID": "SkyAssaultRifle", "Weight": 1 }
]
}
]
}
Это дает две разные записи. Если Rolls превышает количество доступных уникальных записей, выбор прекращается, когда записей не остается; это не ошибка.
Pick: разрешение повторных результатов
Установите для Unique пула значение false, чтобы выбранные записи оставались доступными для последующих обновлений. Повторные гранты одного и того же предмета перед доставкой объединяются.
{
"Pools": [
{
"Name": "Three supply rolls",
"Mode": "Pick",
"Rolls": 3,
"Unique": false,
"Entries": [
{ "ItemID": "Money", "Count": 5000, "Weight": 5 },
{ "ItemID": "AssaultRifleBullet", "Count": 100, "Weight": 2 }
]
}
]
}
Все три броска могут выбрать деньги, все могут выбрать боеприпасы, или результаты могут быть смешанными. Например, двойной выбор «Деньги» дает один денежный грант в размере 10 000, а не два отдельных гранта.
Pick: переопределение Unique для каждой записи
Unique начального уровня переопределяет значение пула по умолчанию только для этой записи. Это позволяет повторять общие награды и разовые джекпоты в одном и том же пуле.
{
"Pools": [
{
"Name": "Repeatable currency with unique jackpots",
"Mode": "Pick",
"Rolls": 3,
"Unique": true,
"Entries": [
{ "ItemID": "Money", "Count": { "Min": 5000, "Max": 7000 }, "Weight": 10, "Unique": false },
{ "ItemID": "AncientArmor", "Weight": 1 },
{ "ItemID": "AncientHelmet", "Weight": 1 }
]
}
]
}
Деньги остаются в списке кандидатов после выбора, поскольку в их записи указано Unique: false. Броня и шлем наследуют Unique: true из пула и удаляются после выбора. Обратное также справедливо: пул может использовать Unique: false, в то время как конкретная запись использует Unique: true.
All: предоставить каждую запись
All предоставляет каждую запись ровно один раз, когда Chance уровня пула завершается успешно.
{
"Pools": [
{
"Name": "Complete reward bundle",
"Mode": "All",
"Chance": 100,
"Entries": [
{ "ItemID": "Money", "Count": 10000 },
{ "ItemID": "AssaultRifleBullet", "Count": { "Min": 100, "Max": 250 } },
{ "EXP": 15000 },
{ "TechnologyPoints": 2 },
{ "EggID": "PalEgg_Dark_05", "PalTemplate": "RaidReward.json", "Level": 50 }
]
}
]
}
Weight, Chance начального уровня и Unique не влияют на All. Rolls игнорируется и выдает предупреждение. Чтобы сделать весь пакет необязательным, установите для пула Chance; чтобы сделать отдельные записи необязательными, вместо этого используйте Independent или напрямую Drops.
Independent: прокручивать каждую запись отдельно
Independent проверяет каждую запись и использует собственный Chance каждой записи. Он может предоставить ни одной записи, одну запись, несколько записей или все записи.
{
"Pools": [
{
"Name": "Independent bonus rolls",
"Mode": "Independent",
"Chance": 80,
"Entries": [
{ "ItemID": "Money", "Count": 10000 },
{ "ItemID": "AssaultRifleBullet", "Count": 250, "Chance": 50 },
{ "ItemID": "AncientArmor", "Chance": 10 },
{ "EggID": "PalEgg_Dark_05", "PalTemplate": "RaidReward.json", "Level": { "Min": 45, "Max": 55 }, "Chance": 5 }
]
}
]
}
Во-первых, пул имеет 80% шанс активироваться. Если он активируется, Money гарантированно, поскольку в его записи отсутствует Chance; остальные три участника получают 50%, 10% и 5% независимо.
- Отсутствующая запись
Chanceпо умолчанию имеет значение100. WeightиUniqueне влияют на этот режим.Rollsигнорируется и выдает предупреждение, поскольку каждая запись проверяется один раз.
Объединение прямых капель и нескольких пулов
Используйте несколько пулов, когда один получатель должен получить несколько независимо структурированных уровней вознаграждения.
{
"Drops": [
{ "ItemID": "Money", "Count": 10000 },
{ "EXP": 5000 }
],
"Pools": [
{
"Name": "One equipment item",
"Mode": "OneOf",
"Entries": [
{ "ItemID": "AncientArmor", "Weight": 1 },
{ "ItemID": "AncientHelmet", "Weight": 1 }
]
},
{
"Name": "Two supply rolls",
"Mode": "Pick",
"Rolls": 2,
"Unique": false,
"Entries": [
{ "ItemID": "Money", "Count": 5000, "Weight": 3 },
{ "ItemID": "AssaultRifleBullet", "Count": 100, "Weight": 1 }
]
},
{
"Name": "Rare independent bonuses",
"Mode": "Independent",
"Entries": [
{ "TechnologyPoints": 1, "Chance": 20 },
{ "AncientTechnologyPoints": 1, "Chance": 5 }
]
}
]
}
Прямые деньги и опыт всегда применяются. Первый пул добавляет один предмет снаряжения, второй делает два взвешенных выбора снабжения с заменой, а третий делает два независимых бонусных броска. Игрок может получать результаты из каждого пула, поскольку пулы не конкурируют друг с другом.
Pal награды за яйца
Яйцу необходимы как EggID, так и PalTemplate. Шаблон загружается из Pals/Templates/, а .json можно опустить. Count контролирует количество предоставляемых яиц. Level: 0 или пропущенный уровень сохраняет уровень шаблона; положительное фиксированное значение или диапазон переопределяет его.
{
"Pools": [
{
"Name": "One random egg reward",
"Mode": "OneOf",
"Entries": [
{
"EggID": "PalEgg_Dark_05",
"PalTemplate": "RaidReward.json",
"Count": 1,
"Level": { "Min": 45, "Max": 55 },
"Weight": 3
},
{
"EggID": "PalEgg_Dragon_05",
"PalTemplate": "DragonReward.json",
"Count": { "Min": 1, "Max": 2 },
"Level": 50,
"Weight": 1
}
]
}
]
}
Если шаблон яйца не может быть импортирован при предоставлении вознаграждения, PalDefender регистрирует ошибку и пропускает это вознаграждение в виде яйца.
Объединение повторяющихся результатов
Результаты прямых капель и всех пулов перед доставкой объединяются:
- Элементы с одинаковым
ItemIDобъединяются путем сложения их количества. - Яйца сливаются только тогда, когда
EggID,PalTemplateи свернутыйLevelидентичны. - Опыт, технологические очки и очки древних технологий суммируются.
- Общее количество предоставляемых предметов и технологических очков ограничено 32-битным знаком (
2,147,483,647).
Это означает, что повторяющиеся результаты Pick не создают повторяющиеся строки инвентаря в запросе вознаграждения. Яйца с разным выпавшим уровнем остаются отдельной наградой.
DisableDamageMeter распространение
Если DisableDamageMeter равен true, PalDefender не строит таблицу лидеров по урону и не использует числовые награды за ранги. Вместо этого он выбрасывает Rewards.Default отдельно для каждого игрока, находящегося в сети на момент завершения боя, включая игроков, которые не нанесли урон вызванному Pal.
{
"DisableDamageMeter": true,
"Rewards": {
"Default": {
"Drops": [
{ "ItemID": "Money", "Count": 5000 }
],
"Pools": [
{
"Mode": "Independent",
"Entries": [
{ "TechnologyPoints": 1, "Chance": 25 },
{ "AncientTechnologyPoints": 1, "Chance": 5 }
]
}
]
}
}
}
Деньги предоставляются каждому онлайн-игроку. Каждый игрок самостоятельно бросает два дополнительных очка. Если Default отсутствует или пуст, в этом режиме никто не получает вознаграждение, а PalDefender записывает предупреждение в журнал.
Неверные и игнорируемые комбинации
Неверные данные вознаграждения препятствуют загрузке файла PalSummon. Неизвестные или игнорируемые по контексту поля выдают предупреждения, поэтому орфографические ошибки и неэффективные настройки отображаются в журнале PalDefender.
| Конфигурация | Результат |
|---|---|
Одна запись содержит как ItemID, так и EXP |
Ошибка: запись может определять только один тип вознаграждения. |
| В записи о награде нет поля предмета, яйца или прогресса | Ошибка: PalDefender не знает, что предоставить. |
Count: 0, Weight: 0 или Rolls: 0 |
Ошибка: эти значения должны быть не ниже 1. |
В диапазоне отсутствуют Min или Max или имеется Max < Min |
Ошибка. |
Chance находится за пределами 0–100 |
Ошибка. |
В пуле нет Entries, пустого Entries array или значения, отличного от array |
Ошибка. |
Chance помещается в запись OneOf, Pick или All |
Предупреждение; шанс входа игнорируется. |
Rolls установлен на OneOf, All или Independent |
Предупреждение; Rolls игнорируется. |
Weight или Unique помещается в прямой Drops |
Предупреждение; используйте Chance для прямого сброса. |
Присутствует неизвестное поле, например Wieght |
Предупреждение; поле не используется. |
Используйте действительный JSON без комментариев и запятых. Просматривайте предупреждения о загрузке, даже если призыв все еще загружается: предупреждения обычно указывают на настройку, которая не имеет никакого эффекта.
Полный пример
{
"PalTemplate": "ArenaBoss.json",
"BossBattleName": "Arena Anubis",
"Uncapturable": false,
"CapturableAtHealthPercent": 10,
"DisableAI": false,
"DisableDamageMeter": false,
"SpawnScale": 1.5,
"DamageTakenMultiplier": 0.75,
"DamageDealtMultiplier": 2.0,
"X": 230,
"Y": -486,
"Z": 4097,
"DisableStatuses": ["Poison", "Burn", "Freeze"],
"Rewards": {
"1": {
"Drops": [
{ "ItemID": "Money", "Count": 50000 },
{ "AncientTechnologyPoints": 3 }
],
"Pools": [
{
"Name": "Winner bonus",
"Mode": "Pick",
"Rolls": 2,
"Unique": true,
"Entries": [
{ "ItemID": "AncientCivilizationParts", "Count": { "Min": 1, "Max": 3 }, "Weight": 5 },
{ "EggID": "PalEgg_Dark_05", "PalTemplate": "RaidReward.json", "Level": { "Min": 45, "Max": 55 }, "Weight": 1 }
]
}
]
},
"Default": {
"Drops": [
{ "EXP": 5000 },
{ "TechnologyPoints": 1 }
]
}
}
}
Контрольный список проверки
- Сначала протестируйте указанный шаблон с помощью
/givemepal_j <template>. - Используйте
/getposдляX,YиZ; RCON должен предоставить идентификатор пользователя/getpos. - Используйте действительный JSON без комментариев и запятых.
- Используйте только один тип вознаграждения для каждой записи о вознаграждении.
- Убедитесь, что каждый пул имеет непустой
Entriesarray и использует только поля, которые влияют на выбранный имMode. - Запустите
/summon <filename>и проверьте журнал PalDefender на наличие точных ошибок проверки и предупреждений.