Spawn natural no DayZ: do zumbi simples ao animal de mod com território próprio
Os dois métodos de fazer uma entidade dar spawn natural: o simples (evento + posição) e o avançado (animal de mod com território e IA de manada). O corpo CERTO do evento por tipo, a diferença zumbi × animal, e o erro de nome que faz o território nunca carregar.
Fazer um mob (de mod ou vanilla) dar spawn natural no mapa **não mexe em config de mod** — só em arquivos da sua mission. E existem **dois métodos**: o SIMPLES (evento + posição, pra zumbi, veículo, static) e o AVANÇADO (animal com território próprio e IA de manada, pra urso/crocodilo/predador de mod). Este guia cobre os dois, com as regras que a documentação oficial da Bohemia manda e que quase todo mundo erra.
O CE escolhe o "spawner" pelo PREFIXO do nome do evento — não é nome livre. Zumbi começa com `Infected`, animal com `Animal`, veículo com `Vehicle`, objeto/heli com `Static`. Nome sem prefixo válido = o servidor DESABILITA o evento no boot ("failed to determine spawner type"). É funcional, não estético.
Método simples — o corpo do evento muda por tipo
O erro mais comum é copiar um evento e mudar só o nome. Mas o CE trata cada tipo diferente, e o `position` + o `limit` precisam bater com o tipo:
| Tipo | position | limit | Onde a posição fica |
|---|---|---|---|
| Infected | player | custom | env/zombie_territories.xml (nasce ao redor do jogador nas áreas) |
| Animal | fixed | child | cfgeventspawns.xml (+ território, ver método avançado) |
| Vehicle | fixed | mixed | cfgeventspawns.xml (pontos x/z + ângulo) |
| Static | fixed | child | cfgeventspawns.xml (heli crash, wreck) |
No ZUMBI, o `name` da zona em zombie_territories.xml É o nome do evento, e os contadores (`dmin`/`dmax`) ficam na zona. No ANIMAL, o `name` da zona é um COMPORTAMENTO (`Graze`, `HuntingGround`, `Water`), a zona fica zerada, e quem controla a população é o cfgenvironment. Trocar essa lógica é o erro clássico.
A ferramenta da Tecplay monta o events.xml, o globals.xml e a posição já com o corpo CERTO de cada tipo, valida o prefixo e avisa "evento sem zona = spawn morto". Você preenche e baixa.
Método avançado — animal de mod com território próprio
Um animal de mod (crocodilo, urso, predador) com território PRÓPRIO e IA de manada é uma **cadeia de 5 peças amarradas por nome idêntico**. Se um nome não bate, some.
- 1`db/types.xml` — registra o classname do animal no CE (lifetime/persistência).
- 2`db/events.xml` — o evento `Animal<X>` (position=fixed): QUANTOS e QUAIS spawnam (só no tipo Herd).
- 3`env/<base>.xml` — o arquivo de território: `<territory-type>` + `<zone name=comportamento x z r>` (onde o bicho vive).
- 4`cfgenvironment.xml` (RAIZ da mission) — (a) `<file path="env/<base>.xml"/>` carrega o arquivo; (b) `<territory type="Herd|Ambient" name behavior><file usable="<base>"/></territory>` amarra zona ↔ espécie ↔ IA.
- 5`cfgeconomycore.xml` — só se você usar um arquivo CE modular (mods_ce); registra o arquivo pro CE carregar.
`Herd` (manada: urso, lobo, crocodilo) — os classnames e a quantidade vêm do EVENTO `Animal*`; o bloco no cfgenvironment é enxuto (name + behavior + file). `Ambient` (disperso: galinha, raposa) — os classnames ficam INLINE no cfgenvironment via `<agent><spawn configName>` + os contadores (`globalCountMax`, `playerSpawnRadius…`); não precisa de evento.
O `path` do include, o `usable` do território e o NOME FÍSICO do arquivo em env/ têm que ser IDÊNTICOS (sem o `env/` e sem o `.xml` no usable). Vimos um servidor real registrar `croco_territories` mas o arquivo se chamava `croco_territories_chernarus.xml` — o território **nunca carregou**, e o dono passou meses achando que era outra coisa. Confira os três.
O `behavior` (classe de IA, ex.: `DZCrocoGroupBeh`) tem que existir no PBO do mod, senão o território é ignorado em silêncio. O classname tem que ser IGUAL nos 4 arquivos. E o teto global (`AnimalMaxCount`/`ZombieMaxCount` no globals.xml) segura tudo — se estiver cheio, o bicho "não aparece".
A ferramenta avançada da Tecplay monta as 5 peças com os nomes já batendo (path = usable = arquivo), oferece Herd × Ambient e os behaviors, e avisa justamente o mismatch de nome que quebra o carregamento.
Feito pela Tecplay
Quer loot, economia e eventos ajustados do jeito certo, sem dor de cabeça? A gente monta o servidor completo.
Ferramentas que ajudam aqui
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.
