Bloqueio de Itens por Grupos - zerodawnbr/zerodawntoolbox GitHub Wiki

badge1 badge2 badge3 badge4 R$ 50,00

🧩 Descrição

Este mod permite restringir o uso de itens do arquivo types.xml para grupos específicos de jogadores.

A ideia é simples: você cria grupos, define quais SteamIDs pertencem a cada grupo e quais itens cada grupo pode usar.

Se um jogador tentar pegar ou usar um item que não pertence ao seu grupo, ele receberá uma mensagem de aviso e não conseguirá manter o item no inventário.

Ideal para servidores RP, PvP com classes ou facções, ou qualquer cenário onde se queira controle granular de acesso a itens.


⚠️ Requer os mods @CF e @Notications para funcionar corretamente.


⚙️ Recursos Principais

✅ Atualização de configurações via comando (sem reiniciar o servidor)
✅ Criação ilimitada de grupos
✅ Sem limite de itens por grupo
✅ Aceita qualquer item listado em types.xml
✅ Exibe mensagem personalizada ao jogador sem permissão
✅ Bloqueia completamente o uso e armazenamento de itens não permitidos
✅ Itens restritos permanecem no chão (não desaparecem)
✅ Suporte total a containers (mochilas, roupas, caixas, etc.) — itens restritos são ejetados, mas o container pode ser pego
✅ Recuperação automática do arquivo JSON caso esteja inválido (gera backup do original)
✅ Controle sobre quais comandos podem atualizar a configuração
✅ Variável m_isEnabled permite ativar/desativar o mod facilmente


🎞️ Demonstração

SDBXASh61HA


🧠 Como Funciona

  • O mod lê um arquivo JSON de configuração que define:
    • Se o mod está habilitado (m_isEnabled)
    • Quais comandos são aceitos para recarregar as configurações (m_reloadCommands)
    • Lista de grupos (m_accessGroups) com suas permissões e restrições

Quando um jogador tenta pegar ou mover um item:

  1. O mod verifica se o item está listado no grupo ao qual o jogador pertence.
  2. Se sim, o jogador pode pegar normalmente.
  3. Se não, o item é bloqueado, uma mensagem de aviso é exibida e o item permanece onde está.

💬 Exemplo de Mensagem

"Este item é restrito ao GRUPO 1."

A mensagem pode ser personalizada por grupo no arquivo de configuração.


🧾 Estrutura do Arquivo JSON

⚙️ Parâmetros de Configuração (itemgrouprestriction.json)

Atributo Descrição Valor Padrão
m_isEnabled Define se o mod está ativo. 1 = habilitado / 0 = desativado. 1
m_reloadCommands Lista de comandos que recarregam o arquivo JSON sem reiniciar o servidor. ["\\itemreload", "!itemreload"]
m_accessGroups Lista de grupos configurados com suas permissões e restrições. []
m_groupName Nome do grupo de acesso. Serve apenas para organização e identificação. "GROUP1"
m_restrictionMessage Mensagem exibida ao jogador quando tentar pegar um item sem permissão. "Este item é restrito ao GRUPO 1."
m_allowedSteamIds Lista de SteamIDs que têm permissão para usar os itens do grupo. []
m_classType Lista de nomes de classes dos itens do arquivo types.xml que o grupo pode usar. []
{
    "m_isEnabled": 1,
    "m_reloadCommands": [
        "\\itemreload",
        "!itemreload"
    ],
    "m_accessGroups": [
        {
            "m_groupName": "GROUP1",
            "m_restrictionMessage": "Este item é restrito ao GRUPO 1.",
            "m_allowedSteamIds": [
                "00000000000000000"
            ],
            "m_classType": [
                "BDUJacket",
                "BDUPants",
                "BalaclavaMask_BDU"
            ]
        },
        {
            "m_groupName": "GROUP2",
            "m_restrictionMessage": "Este item é restrito ao GRUPO 2.",
            "m_allowedSteamIds": [
                "00000000000000001"
            ],
            "m_classType": [
                "Hatchet",
                "Apple"
            ]
        },
        {
            "m_groupName": "GROUP3",
            "m_restrictionMessage": "Este item é restrito ao GRUPO 3.",
            "m_allowedSteamIds": [
                "00000000000000002"
            ],
            "m_classType": [
                "WaterBottle",
                "MKII"
            ]
        }
    ]
}