LoadOut ‐ Equipe seus jogadores - zerodawnbr/zerodawntoolbox GitHub Wiki

badge1 badge2 badge3 badge4 R$ 40,00

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:

  1. Penalidade (Se o jogador estiver punido).
  2. SteamID (Se o jogador estiver na lista de um grupo especial).
  3. 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:

  1. Momento da Morte:

    • O sistema verifica se o grupo do jogador tem isInventory: 1. Se sim, salva os dados.
    • O sistema verifica isTombstone. Se 1, cria a Lápide e transfere o loot.
    • Se não for Lápide, verifica isZombie. Se 1, cria o Zumbi e transfere o loot.
    • Se ambos forem 0, o corpo permanece no chão (padrão DayZ).
  2. 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.

📝 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"
                    ]
                }
            ]
        }
    ]
}