"Meu item é válido?" depende de ONDE ele vai (types CE × lista de classes)
A dúvida que mais derruba quem configura mod: validar um classname no lugar errado. Um item que vai pro trader/loot se valida nos types da Central Economy; uma peça de veículo ou um bot de evento NÃO — e validar no lugar errado faz você jogar fora item válido (ou cadastrar item fantasma). Mais as regras de ouro do cadastro.
Antes de cadastrar qualquer classname, responda UMA pergunta: **pra onde esse item vai?** A "autoridade" que decide se ele é válido MUDA conforme o destino — e é o erro nº1 de quem mexe em mod. Errar isso faz você descartar uma peça boa achando que é fantasma, ou colocar no trader um item que nunca vai existir.
Caso 1 — vai pro trader OU é loot do mundo
Item que spawna como loot ou que você vende no trader PRECISA existir nos types do CE (`db/types.xml` ou um `ModdedTypes.xml` chamado no cfgeconomycore). Sem um `<type>` registrado, o CE não "enxerga" o item — ele simplesmente nunca aparece. Aqui a autoridade é o **types.xml**.
Caso 2 — peça de veículo OU objeto de evento
Peça de veículo (anexada via slot), bot/zumbi de evento, objeto de spawn dinâmico — esses NÃO têm `<type>` no CE e mesmo assim são válidos. Eles são spawnados por outro sistema (slots do veículo, eventos), e a única validação que importa é: **o classname EXISTE no jogo/mod?** Procurar ele no types e não achar NÃO quer dizer que é inválido — quer dizer que ele não é loot de CE.
Validar uma peça de veículo nos types do CE → não acha → você descarta uma peça VÁLIDA achando que é fantasma. OU: validar um item de loot só na "lista de classes" → ele existe → você cadastra no trader, mas sem type CE ele nunca spawna = item fantasma. Pergunte sempre o DESTINO primeiro.
Regras de ouro do cadastro (decoradas no sangue)
- **min ≤ nominal**, sempre. O min é o gatilho de restock; nunca deve passar do alvo.
- **Objeto sem "kit"** (cenário/estático) no types leva só `lifetime` + `flags` + `category` — SEM nominal/min. Item de loot/kit leva nominal + min + lifetime + restock.
- **Magazine NÃO leva munição** no cadastro do CE — isso corrompe o script de munição do jogo. Cadastre o mag vazio.
- **Float não é int.** Num campo de número inteiro, `1.0` ≠ `1` — o parser do jogo recusa. Respeite o tipo do campo.
- **types.xml comentado:** nunca reescreva com uma ferramenta que apaga comentário (vários editores de XML "limpam" os `<!-- -->`). Edite por substituição de texto pra não perder suas anotações.
Na dúvida se um classname existe, suba o servidor uma vez e leia o `.RPT`: `Cannot create <classname>` = fantasma; boot limpo = existe. Um boot vale mais que mil leituras de XML.
Ferramentas que ajudam aqui
Continue lendo
Conteúdo original da Tecplay. Referências à wiki oficial da Bohemia Interactive servem apenas como atribuição de fonte — não reproduzimos textos, tabelas ou assets deles.
