LoadOut ‐ Equipe seus jogadores - zerodawnbr/zerodawntoolbox GitHub Wiki
ZeroDawnBRLoadOut
📖 Sobre o Mod
O ZeroDawnBRLoadOut é um sistema avançado de gerenciamento de equipamento inicial e comportamento pós-morte para servidores de DayZ.
Diferente de scripts de spawn simples, este mod oferece um ciclo completo de vida e morte, permitindo criar experiências de sobrevivência únicas, sistemas de VIP, punições por suicídio e mecânicas de recuperação de loot (Lápides).
Principais Funcionalidades
- Loadouts Personalizados: Defina equipamentos diferentes para novos jogadores (Bambis), VIPs (via SteamID) ou Adminstradores.
- Sistema de Penalidade: Detecta mortes frequentes (ex: suicídio para trocar de spawn) e aplica um "Loadout de Penalidade" temporário.
- Comportamento de Morte Dinâmico:
- Lápide: O corpo desaparece e vira uma lápide contendo todo o loot.
- Zumbificação: O corpo desaparece e vira um Zumbi que veste as roupas do jogador e carrega o loot restante.
- Vanilla: Mantém o corpo no chão padrão.
- Save Inventory (Keep Inventory): Opção configurável por grupo para salvar o loot ao morrer e restaurá-lo no próximo respawn.
- Independência: Funciona de forma autônoma, sem depender de outros mods de spawn.
⚙️ Documentação de Configuração (config.json)
O arquivo de configuração é gerado automaticamente na primeira execução do servidor em:
$profile:ZeroDawnBRCoreTools/LoadOut/config.json
Abaixo, detalhamos cada atributo disponível para personalização.
1. Configurações Globais
Controlam o funcionamento geral do mod e as regras de penalidade.
| Atributo | Tipo | Descrição |
|---|---|---|
Enabled |
bool |
1 (true) ativa o mod; 0 (false) desativa. |
MaxDeathsForPenalty |
int |
Número de mortes permitidas dentro do tempo de reset antes de aplicar a penalidade. |
PenaltyDurationMinutes |
int |
Duração (em minutos) que o jogador ficará preso no grupo "Penalised" após exceder o limite. |
HistoryResetMinutes |
int |
Tempo (em minutos) para que uma morte antiga seja removida do histórico do jogador. |
MessagePenaltyActive |
string |
Mensagem exibida na tela quando o jogador nasce sob efeito da penalidade. |
MessagePenaltyWarning |
string |
Mensagem de aviso quando o jogador está prestes a ser penalizado na próxima morte. |
ReloadCommands |
array |
Lista de comandos de chat para recarregar a configuração em tempo real (Requer Admin). Ex: ["\\loadoutreload"]. |
2. Definição de Grupos (Groups)
Os grupos determinam o que o jogador recebe e o que acontece quando ele morre. O mod seleciona o grupo seguindo esta ordem de prioridade:
- Penalidade (Se o jogador estiver punido).
- SteamID (Se o jogador estiver na lista de um grupo especial).
- Padrão (Jogadores comuns).
⚠️ Crie grupos VIP's ilimitados e inclua o steamID dos jogadores para que eles possam receber o seu loot ao renascer.
⚠️ Mas se o atributo isInventory estiver igual 1, ele receberá os itens que estava quando morreu.
Atributos do Grupo
| Atributo | Tipo | Descrição |
|---|---|---|
GroupName |
string |
Nome para identificação interna (ex: "Survivor", "VIP Gold"). |
IsDefault |
bool |
Defina como 1 para ser o grupo padrão de todos os jogadores. Apenas um grupo deve ter isso. |
IsPenalty |
bool |
Defina como 1 para ser o grupo de punição. Apenas um grupo deve ter isso. |
SteamIDs |
array |
Lista de SteamIDs (64 bits) dos jogadores que pertencem a este grupo. |
isInventory |
bool |
Sistema de Save:1: Salva todo o inventário ao morrer e restaura no respawn (ignora LoadoutItems se houver save).0: O jogador perde tudo e nasce com o kit padrão do grupo. |
isTombstone |
bool |
Modo Lápide:1: Ao morrer, cria uma Lápide e move todo o loot para ela. O corpo é deletado.0: Desativado. |
isZombie |
bool |
Modo Zumbi:1: Ao morrer (se não for Lápide), cria um Zumbi que veste as roupas do jogador e carrega o loot. O corpo é deletado.0: Desativado. O loot do jogador que será levado para o zumbi será parcial. |
Creatures |
array |
Lista de classes de Zumbis (ex: ZmbM_PoliceWomanNormal) para spawnar caso isZombie seja 1. |
3. Itens do Loadout (LoadoutItems)
Lista de itens entregues ao jogador caso ele não tenha um inventário salvo (isInventory: 0).
| Atributo | Tipo | Descrição |
|---|---|---|
ClassName |
string |
Nome da classe do item (ex: M4A1, Rag). |
Quantity |
int |
Quantidade do item ou contagem de pilha (ammo/rags). |
QuickBarSlot |
int |
Slot da barra de atalho (0-9). Use -1 para nenhum. |
Attachments |
array |
Lista de acessórios que virão acoplados ao item. |
🔄 Fluxo Lógico de Morte e Respawn
Para entender como configurar, veja como o mod toma decisões:
-
Momento da Morte:
- O sistema verifica se o grupo do jogador tem
isInventory: 1. Se sim, salva os dados. - O sistema verifica
isTombstone. Se1, cria a Lápide e transfere o loot. - Se não for Lápide, verifica
isZombie. Se1, cria o Zumbi e transfere o loot. - Se ambos forem
0, o corpo permanece no chão (padrão DayZ).
- O sistema verifica se o grupo do jogador tem
-
Momento do Respawn (Nascer):
- O sistema verifica se o jogador está penalizado no histórico. Se sim, força o grupo
IsPenalty. - Se não penalizado, busca o grupo por SteamID ou usa o Default.
- Verifica se existe um arquivo de "Save Inventory" (criado na morte anterior).
- Sim: Restaura os itens salvos e deleta o arquivo.
- Não: Entrega os itens definidos na lista
LoadoutItems.
- O sistema verifica se o jogador está penalizado no histórico. Se sim, força o grupo
📝 Exemplo de JSON
{
"Enabled": 1,
"MaxDeathsForPenalty": 2,
"PenaltyDurationMinutes": 1440,
"HistoryResetMinutes": 60,
"MessagePenaltyActive": "You have exceeded the recent deaths limit. You have been penalised for 24 hours!",
"MessagePenaltyWarning": "Many recent deaths will result in a penalty at the next respawn.",
"ReloadCommands": [
"\\loadoutreload",
"!loadoutreload"
],
"Groups": [
{
"GroupName": "Survivor",
"IsDefault": 1,
"IsPenalty": 0,
"isInventory": 1,
"isTombstone": 0,
"isZombie": 0,
"Creatures": [
"ZmbM_PatrolNormal_Autumn",
"ZmbM_PatrolNormal_Flat",
"ZmbM_PatrolNormal_PautRev",
"ZmbM_PatrolNormal_Summer",
"ZmbM_PolicemanFat",
"ZmbM_PolicemanSpecForce",
"ZmbM_PrisonerSkinny",
"ZmbF_PoliceWomanNormal"
],
"SteamIDs": [],
"LoadoutItems": [
{
"ClassName": "TShirt_Green",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "Jeans_Blue",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "AthleticShoes_Black",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "Rag",
"Quantity": 1,
"QuickBarSlot": 0,
"Attachments": []
},
{
"ClassName": "Plum",
"Quantity": 1,
"QuickBarSlot": 1,
"Attachments": []
},
{
"ClassName": "SodaCan_Cola",
"Quantity": 1,
"QuickBarSlot": 2,
"Attachments": []
},
{
"ClassName": "Chemlight_White",
"Quantity": 1,
"QuickBarSlot": 3,
"Attachments": []
}
]
},
{
"GroupName": "Penalised",
"IsDefault": 0,
"IsPenalty": 1,
"isInventory": 1,
"isTombstone": 0,
"isZombie": 0,
"Creatures": [
"ZmbM_PatrolNormal_Autumn",
"ZmbM_PatrolNormal_Flat",
"ZmbM_PatrolNormal_PautRev",
"ZmbM_PatrolNormal_Summer",
"ZmbM_PolicemanFat",
"ZmbM_PolicemanSpecForce",
"ZmbM_PrisonerSkinny",
"ZmbF_PoliceWomanNormal"
],
"SteamIDs": [],
"LoadoutItems": [
{
"ClassName": "CanvasPantsMidi_Blue",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "TShirt_OrangeWhiteStripes",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "AthleticShoes_Grey",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "Rag",
"Quantity": 1,
"QuickBarSlot": 0,
"Attachments": []
}
]
},
{
"GroupName": "VIP Gold",
"IsDefault": 0,
"IsPenalty": 0,
"isInventory": 1,
"isTombstone": 0,
"isZombie": 0,
"Creatures": [
"ZmbM_PatrolNormal_Autumn",
"ZmbM_PatrolNormal_Flat",
"ZmbM_PatrolNormal_PautRev",
"ZmbM_PatrolNormal_Summer",
"ZmbM_PolicemanFat",
"ZmbM_PolicemanSpecForce",
"ZmbM_PrisonerSkinny",
"ZmbF_PoliceWomanNormal"
],
"SteamIDs": [
"00000000000000001"
],
"LoadoutItems": [
{
"ClassName": "MMG_combatshirt_multicam",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "MMG_combatpants_multicam",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "MMG_boots_multicam",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "PlateCarrierVest",
"Quantity": 1,
"QuickBarSlot": -1,
"Attachments": []
},
{
"ClassName": "M4A1",
"Quantity": 1,
"QuickBarSlot": 0,
"Attachments": [
"Mag_STANAG_60Rnd",
"M68Optic",
"M4_Suppressor"
]
}
]
}
]
}