Skip to content

Capítulo 8.13: O Menu de Diagnóstico (Diag Menu)

Início | << Anterior: Construindo um Sistema de Comércio | O Menu de Diagnóstico


Resumo: O Diag Menu é a ferramenta de diagnóstico integrada do DayZ, disponível apenas através do executável DayZDiag. Ele fornece contadores de FPS, profiling de scripts, depuração de renderização, câmera livre, visualização de física, controle de clima, ferramentas da Economia Central, depuração de navegação de IA e diagnósticos de som. Este capítulo documenta cada categoria de menu, opção e atalho de teclado com base na documentação oficial da Bohemia Interactive.


Sumário


O Que é o Diag Menu?

O Diag Menu é um menu de depuração hierárquico integrado ao executável de diagnóstico do DayZ. Ele lista opções usadas para depurar scripts e assets do jogo em sete categorias principais: Statistics, Enfusion Renderer, Enfusion World, DayZ Render, Game, AI e Sounds.

O Diag Menu não está disponível no executável de varejo do DayZ (DayZ_x64.exe). Você deve usar o DayZDiag_x64.exe -- a versão de diagnóstico que acompanha a versão de varejo na sua pasta de instalação do DayZ ou nos diretórios do DayZ Server.


Como Acessar

Requisitos

  • DayZDiag_x64.exe -- O executável de diagnóstico. Encontra-se na pasta de instalação do DayZ junto com o DayZ_x64.exe normal.
  • Você deve estar rodando o jogo (não na tela de carregamento). O menu está disponível em qualquer viewport 3D.

Abrindo o Menu

Pressione Win + Alt para abrir o Diag Menu.

Um atalho alternativo é Ctrl + Win, mas ele conflita com um atalho do sistema do Windows 11 e não é recomendado nessa plataforma.

Habilitando o Cursor do Mouse

Algumas opções do Diag Menu exigem que você interaja com a tela usando o mouse. O cursor do mouse pode ser alternado pressionando:

LCtrl + Numpad 9

Essa associação de tecla é registrada por script (PluginKeyBinding).


Controles de Navegação

Quando o Diag Menu está aberto:

TeclaAção
Seta para cima / baixoNavegar entre itens do menu
Seta para direitaEntrar em um submenu, ou alternar entre valores de opção
Seta para esquerdaAlternar valores de opção na direção inversa
BackspaceSair do submenu atual (voltar um nível)

Quando as opções mostram múltiplos valores, eles são listados na ordem em que aparecem no menu. A primeira opção é tipicamente o padrão.


Atalhos de Teclado de Acesso Rápido

Esses atalhos funcionam a qualquer momento enquanto o DayZDiag está rodando, sem precisar abrir o menu:

AtalhoFunção
LCtrl + Numpad 1Alternar contador de FPS
LCtrl + Numpad 9Alternar cursor do mouse na tela
RCtrl + RAlt + WAlternar modo de depuração de renderização
LCtrl + LAlt + PAlternar efeitos de pós-processamento
LAlt + Numpad 6Alternar visualização de corpos de física
Page UpCâmera Livre: alternar movimento do jogador
Page DownCâmera Livre: congelar/descongelar câmera
InsertTeletransportar jogador para posição do cursor (na câmera livre)
HomeAlternar câmera livre / desativar e teletransportar jogador para cursor
Numpad /Alternar câmera livre (sem teletransporte)
EndDesativar câmera livre (retornar à câmera do jogador)

Nota: Qualquer menção a "Cheat Inputs" na documentação oficial refere-se a inputs codificados no lado C++, não acessíveis por script.


Visão Geral das Categorias do Menu

O Diag Menu contém sete categorias de nível superior:

  1. Statistics -- Contador de FPS e profiler de scripts
  2. Enfusion Renderer -- Iluminação, sombras, materiais, oclusão, pós-processamento, terreno, widgets
  3. Enfusion World -- Visualização e depuração do motor de física (Bullet)
  4. DayZ Render -- Renderização do céu, diagnósticos de geometria
  5. Game -- Clima, câmera livre, veículos, combate, Economia Central, sons de superfície
  6. AI -- Malha de navegação, pathfinding, comportamento de agentes IA
  7. Sounds -- Depuração de amostras de áudio, informações do sistema de som

Statistics

Estrutura do Menu

Statistics
  FPS                              [LCtrl + Numpad 1]
  Script profiler UI
  > Script profiler settings
      Always enabled
      Flags
      Module
      Update interval
      Average
      Time resolution
      (UI) Scale

FPS

Habilita o contador de FPS no canto superior esquerdo da tela.

O valor de FPS é calculado a partir do tempo entre os últimos 10 frames, então ele reflete uma média móvel curta em vez de uma leitura instantânea.

Script Profiler UI

Ativa o Script Profiler na tela, que exibe dados de desempenho em tempo real para execução de scripts.

O profiler mostra seis seções de dados:

SeçãoO Que Mostra
Time per classTempo total de todas as chamadas de função pertencentes a uma classe (top 20)
Time per functionTempo total de todas as chamadas a uma função específica (top 20)
Class allocationsNúmero de alocações de uma classe (top 20)
Count per functionNúmero de vezes que uma função foi chamada (top 20)
Class countNúmero de instâncias ativas de uma classe (top 40)
Stats and settingsConfiguração atual do profiler e contadores de frames

O painel Stats and settings mostra:

CampoSignificado
UI enabled (DIAG)Se a interface do script profiler está ativa
Profiling enabled (SCRP)Se o profiling executa mesmo quando a interface não está ativa
Profiling enabled (SCRC)Se o profiling está realmente ocorrendo
FlagsFlags atuais de coleta de dados
ModuleMódulo sendo analisado atualmente
IntervalIntervalo de atualização atual
Time ResolutionResolução temporal atual
AverageSe os valores exibidos são médias
Game FrameTotal de frames passados
Session FrameTotal de frames nesta sessão de profiling
Total FramesTotal de frames em todas as sessões de profiling
Profiled Sess FrmsFrames analisados nesta sessão
Profiled FramesFrames analisados em todas as sessões

Importante: O Script Profiler analisa apenas código de script. Métodos Proto (vinculados ao motor) não são medidos como entradas separadas, mas seu tempo de execução é incluído no tempo total do método de script que os chama.

Importante: A API EnProfiler e o próprio script profiler estão disponíveis apenas no executável de diagnóstico.

Script Profiler Settings

Essas configurações controlam como os dados de profiling são coletados. Elas também podem ser ajustadas programaticamente através da API EnProfiler (documentada em EnProfiler.c).

Always Enabled

A coleta de dados de profiling não está habilitada por padrão. Essa opção mostra se ela está ativa no momento.

Para habilitar o profiling na inicialização, use o parâmetro de lançamento -profile.

A interface do Script Profiler ignora essa configuração -- ela sempre força o profiling enquanto a interface está visível. Quando a interface é desativada, o profiling para novamente (a menos que "Always enabled" esteja definido como true).

Flags

Controla como os dados são coletados. Quatro combinações estão disponíveis:

Combinação de FlagsEscopoTempo de Vida dos Dados
SPF_RESET | SPF_RECURSIVEMódulo selecionado + filhosPor frame (reinicia a cada frame)
SPF_RECURSIVEMódulo selecionado + filhosAcumulado entre frames
SPF_RESETApenas módulo selecionadoPor frame (reinicia a cada frame)
SPF_NONEApenas módulo selecionadoAcumulado entre frames
  • SPF_RECURSIVE: Habilita profiling de módulos filhos (recursivamente)
  • SPF_RESET: Limpa dados ao final de cada frame

Module

Seleciona qual módulo de script analisar:

OpçãoCamada de Script
CORE1_Core
GAMELIB2_GameLib
GAME3_Game
WORLD4_World
MISSION5_Mission
MISSION_CUSTOMinit.c

Update Interval

O número de frames a esperar antes de atualizar a exibição de dados ordenados. Isso também atrasa o reset causado por SPF_RESET.

Valores disponíveis: 0, 5, 10, 20, 30, 50, 60, 120, 144

Average

Habilita ou desabilita a exibição de valores médios.

  • Com SPF_RESET e sem intervalo: valores são o valor bruto por frame
  • Sem SPF_RESET: divide o valor acumulado pela contagem de frames da sessão
  • Com um intervalo definido: divide pelo intervalo

A contagem de classes nunca é calculada como média -- ela sempre mostra a contagem atual de instâncias. Alocações mostrarão o número médio de vezes que uma instância foi criada.

Time Resolution

Define a unidade de tempo para exibição. O valor representa o denominador (enésimo de um segundo):

ValorUnidade
1Segundos
1000Milissegundos
1000000Microssegundos

Valores disponíveis: 1, 10, 100, 1000, 10000, 100000, 1000000

(UI) Scale

Ajusta a escala visual da exibição do profiler na tela para diferentes tamanhos de tela e resoluções.

Faixa: 0.5 a 1.5 (padrão: 1.0, passo: 0.05)


Enfusion Renderer

Estrutura do Menu

Enfusion Renderer
  Lights
  > Lighting
      Ambient lighting
      Ground lighting
      Directional lighting
      Bidirectional lighting
      Specular lighting
      Reflection
      Emission lighting
  Shadows
  Terrain shadows
  Render debug mode                [RCtrl + RAlt + W]
  Occluders
  Occlude entities
  Occlude proxies
  Show occluder volumes
  Show active occluders
  Show occluded
  Widgets
  Postprocess                      [LCtrl + LAlt + P]
  Terrain
  > Materials
      Common, TreeTrunk, TreeCrown, Grass, Basic, Normal,
      Super, Skin, Multi, Old Terrain, Old Roads, Water,
      Sky, Sky clouds, Sky stars, Sky flares,
      Particle Sprite, Particle Streak

Lights

Alterna fontes de luz reais (como PersonalLight ou itens do jogo como lanternas). Isso não afeta a iluminação do ambiente -- use o submenu Lighting para isso.

Cada opção controla um componente específico de iluminação:

OpçãoEfeito Quando Desativada
Ambient lightingRemove a luz ambiente geral da cena
Ground lightingRemove a luz refletida do chão (visível em telhados, axilas do personagem)
Directional lightingRemove a luz direcional principal (sol/lua). Também desativa iluminação bidirecional
Bidirectional lightingRemove o componente de luz bidirecional
Specular lightingRemove destaques especulares (visíveis em superfícies brilhantes como armários, carros)
ReflectionRemove iluminação de reflexo (visível em superfícies metálicas/brilhantes)
Emission lightingRemove emissão (auto-iluminação) dos materiais

Essas opções são úteis para isolar contribuições específicas de iluminação ao depurar problemas visuais em modelos ou cenas personalizadas.

Shadows

Habilita ou desabilita a renderização de sombras. Desabilitar também remove o culling de chuva dentro de objetos (a chuva cairá através dos telhados).

Terrain Shadows

Controla como as sombras do terreno são geradas.

Opções: on (slice), on (full), no update, disabled

Render Debug Mode

Alterna entre modos de visualização de renderização para inspecionar geometria de malha no jogo.

Opções: normal, wire, wire only, overdraw, overdrawZ

Diferentes materiais são exibidos em diferentes cores de wireframe:

MaterialCor (RGB)
TreeTrunk179, 126, 55
TreeCrown143, 227, 94
Grass41, 194, 53
Basic208, 87, 87
Normal204, 66, 107
Super234, 181, 181
Skin252, 170, 18
Multi143, 185, 248
Terrain255, 127, 127
Water51, 51, 255
Ocean51, 128, 255
Sky143, 185, 248

Occluders

Um conjunto de opções para o sistema de occlusion culling:

OpçãoEfeito
OccludersHabilitar/desabilitar oclusão de objetos
Occlude entitiesHabilitar/desabilitar oclusão de entidades
Occlude proxiesHabilitar/desabilitar oclusão de proxies
Show occluder volumesTira um snapshot e desenha shapes de depuração visualizando volumes de oclusão
Show active occludersMostra occluders ativos com shapes de depuração
Show occludedVisualiza objetos ocluídos com shapes de depuração

Widgets

Habilita ou desabilita a renderização de todos os widgets de interface. Útil para tirar screenshots limpos ou isolar problemas de renderização.

Postprocess

Habilita ou desabilita efeitos de pós-processamento (bloom, correção de cor, vignette, etc.).

Terrain

Habilita ou desabilita completamente a renderização do terreno.

Alterna a renderização de tipos específicos de material. A maioria é autoexplicativa. Entradas notáveis:

  • Super -- Uma opção abrangente que cobre todo material relacionado ao shader "super"
  • Old Terrain -- Cobre tanto materiais Terrain quanto Terrain Simple
  • Water -- Cobre todo material relacionado a água (oceano, costa, rios)

Enfusion World (Physics)

Estrutura do Menu

Enfusion World
  Show Bullet
  > Bullet
      Draw Char Ctrl
      Draw Simple Char Ctrl
      Max. Collider Distance
      Draw Bullet shape
      Draw Bullet wireframe
      Draw Bullet shape AABB
      Draw obj center of mass
      Draw Bullet contacts
      Force sleep Bullet
      Show stats
  Show bodies                      [LAlt + Numpad 6]

Nota: "Bullet" aqui se refere ao motor de física Bullet, não a munição.

Show Bullet

Ativa a visualização de depuração do motor de física Bullet.

OpçãoDescrição
Draw Char CtrlVisualizar o controlador do personagem do jogador. Depende de "Draw Bullet shape"
Draw Simple Char CtrlVisualizar o controlador de personagem da IA. Depende de "Draw Bullet shape"
Max. Collider DistanceDistância máxima do jogador para visualizar colisores (valores: 0, 1, 2, 5, 10, 20, 50, 100, 200, 500). O padrão é 0
Draw Bullet shapeVisualizar formas de colisores de física
Draw Bullet wireframeMostrar colisores apenas como wireframe. Depende de "Draw Bullet shape"
Draw Bullet shape AABBMostrar bounding boxes alinhadas aos eixos dos colisores
Draw obj center of massMostrar centros de massa dos objetos
Draw Bullet contactsVisualizar colisores em contato
Force sleep BulletForçar todos os corpos de física a dormir
Show statsMostrar estatísticas de depuração (opções: disabled, basic, all). As estatísticas permanecem visíveis por 10 segundos após desativar

Aviso: Max. Collider Distance é 0 por padrão porque essa visualização é cara. Definir uma distância grande causará degradação significativa de desempenho.

Show Bodies

Visualiza corpos de física Bullet. Opções: disabled, only, all


DayZ Render

Estrutura do Menu

DayZ Render
  > Sky
      Space
      Stars
      > Planets
          Sun
          Moon
      Atmosphere
      > Clouds
          Far
          Near
          Physical
      Horizon
      > Post Process
          God Rays
  > Geometry diagnostic
      diagnostic mode

Alterna componentes individuais de renderização do céu:

OpçãoO Que Controla
SpaceA textura de fundo atrás das estrelas
StarsRenderização de estrelas
SunSol e seu efeito de halo (não god rays)
MoonLua e seu efeito de halo (não god rays)
AtmosphereA textura da atmosfera no céu
Far (Clouds)Nuvens superiores/distantes. Não afetam raios de luz (menos densas)
Near (Clouds)Nuvens inferiores/próximas. São mais densas e atuam como oclusão para raios de luz
Physical (Clouds)Nuvens obsoletas baseadas em objetos. Removidas de Chernarus e Livonia no DayZ 1.23
HorizonRenderização do horizonte. O horizonte bloqueará raios de luz
God RaysEfeito de pós-processamento de raios de luz

Geometry Diagnostic

Habilita desenho de shapes de depuração para visualizar como a geometria de um objeto aparece no jogo.

Tipos de geometria: normal, roadway, geometry, viewGeometry, fireGeometry, paths, memory, wreck

Modos de desenho: solid+wire, Zsolid+wire, wire, ZWire, geom only

Isso é extremamente útil para modders criando modelos personalizados -- você pode verificar se sua fire geometry, view geometry e memory points estão configurados corretamente sem sair do jogo.


Game

Estrutura do Menu

Game
  > Weather & environment
      Display
      Force fog at camera
      Override fog
        Distance density
        Height density
        Distance offset
        Height bias
  Free Camera
    FrCam Player Move              [Page Up]
    FrCam NoClip
    FrCam Freeze                   [Page Down]
  > Vehicles
      Audio
      Simulation
  > Combat
      DECombat
      DEShots
      DEHitpoints
      DEExplosions
  > Legacy/obsolete
      DEAmbient
      DELight
  DESurfaceSound
  > Central Economy
      > Loot Spawn Edit
          Spawn Volume Vis
          Setup Vis
          Edit Volume
          Re-Trace Group Points
          Spawn Candy
          Spawn Rotation Test
          Placement Test
          Export Group
          Export All Groups
          Export Map
          Export Clusters
          Export Economy [csv]
          Export Respawn Queue [csv]
      > Loot Tool
          Deplete Lifetime
          Set Damage = 1.0
          Damage + Deplete
          Invert Avoidance
          Project Target Loot
      > Infected
          Infected Vis
          Infected Zone Info
          Infected Spawn
          Reset Cleanup
      > Animal
          Animal Vis
          Animal Spawn
          Ambient Spawn
      > Building
          Building Stats
      Vehicle&Wreck Vis
      Loot Vis
      Cluster Vis
      Dynamic Events Status
      Dynamic Events Vis
      Dynamic Events Spawn
      Export Dyn Event
      Overall Stats
      Updaters State
      Idle Mode
      Force Save

Weather & Environment

Funcionalidade de depuração para o sistema de clima.

Display

Habilita a visualização de depuração do clima. Mostra uma depuração na tela de névoa/distância de visão e abre uma janela separada em tempo real com dados detalhados de clima.

Para habilitar a janela separada enquanto rodando como servidor, use o parâmetro de lançamento -debugweather.

As configurações da janela são armazenadas nos profiles como weather_client_imgui.ini / weather_client_imgui.bin (ou weather_server_* para servidores).

Force Fog at Camera

Força a altura da névoa a corresponder à altura da câmera do jogador. Tem prioridade sobre a configuração Height bias.

Override Fog

Habilita a substituição de valores de névoa com configurações manuais:

ParâmetroFaixaPasso
Distance density0 -- 10.01
Height density0 -- 10.01
Distance offset0 -- 10.01
Height bias-500 -- 5005

Free Camera

A câmera livre desacopla a visão do personagem do jogador e permite voar pelo mundo. Essa é uma das ferramentas de depuração mais úteis para modders.

Controles da Câmera Livre

TeclaOrigemFunção
W / A / S / DInputs (xml)Mover para frente / esquerda / trás / direita
QInputs (xml)Mover para cima
ZInputs (xml)Mover para baixo
MouseInputs (xml)Olhar ao redor
Roda do mouse para cimaInputs (C++)Aumentar velocidade
Roda do mouse para baixoInputs (C++)Diminuir velocidade
Barra de espaçoCheat Inputs (C++)Alternar depuração na tela do objeto alvo
Ctrl / ShiftCheat Inputs (C++)Velocidade atual x 10
AltCheat Inputs (C++)Velocidade atual / 10
EndCheat Inputs (C++)Desativar câmera livre (retornar ao jogador)
EnterCheat Inputs (C++)Vincular câmera ao objeto alvo
Page UpCheat Inputs (C++)Alternar movimento do jogador na câmera livre
Page DownCheat Inputs (C++)Congelar/descongelar posição da câmera
InsertPluginKeyBinding (Script)Teletransportar jogador para posição do cursor
HomePluginKeyBinding (Script)Alternar câmera livre / desativar e teletransportar para cursor
Numpad /PluginKeyBinding (Script)Alternar câmera livre (sem teletransporte)

Opções da Câmera Livre

OpçãoDescrição
FrCam Player MoveHabilitar/desabilitar inputs do jogador (WASD) movendo o jogador enquanto na câmera livre
FrCam NoClipHabilitar/desabilitar a câmera passando através do terreno
FrCam FreezeHabilitar/desabilitar inputs movendo a câmera

Vehicles

Funcionalidade de depuração estendida para veículos. Funciona apenas enquanto o jogador está dentro de um veículo.

  • Audio -- Abre uma janela separada para ajustar configurações de som em tempo real. Inclui visualização de controladores de áudio.
  • Simulation -- Abre uma janela separada com depuração de simulação de carro: ajuste de parâmetros de física e visualização.

Combat

Ferramentas de depuração para combate, tiro e hitpoints:

OpçãoDescrição
DECombatMostra texto na tela com distâncias para carros, IA e jogadores
DEShotsSubmenu de depuração de projéteis (veja abaixo)
DEHitpointsExibe o DamageSystem do jogador e do objeto para o qual está olhando
DEExplosionsMostra dados de penetração de explosão. Números mostram valores de desaceleração. Cruz vermelha = parou. Cruz verde = penetrou

Submenu DEShots:

OpçãoDescrição
Clear vis.Limpar qualquer visualização de tiro existente
Vis. trajectoryRastrear o caminho de um tiro, mostrando pontos de saída e ponto de parada
Always DeflectForça todos os tiros disparados pelo cliente a defletir

Legacy/Obsolete

  • DEAmbient -- Exibe variáveis que influenciam sons ambientes
  • DELight -- Exibe estatísticas sobre o ambiente de iluminação atual

DESurfaceSound

Exibe o tipo de superfície em que o jogador está parado e o tipo de atenuação.

Central Economy

Um conjunto abrangente de ferramentas de depuração para o sistema de Economia Central (CE).

Importante: A maioria das opções de depuração da CE funciona apenas em cliente single-player com CE habilitada. Apenas "Building Stats" funciona em ambiente multiplayer ou quando a CE está desativada.

Nota: Muitas dessas funções também estão disponíveis através da CEApi em script (CentralEconomy.c).

Loot Spawn Edit

Ferramentas para criar e editar pontos de spawn de loot em objetos. A câmera livre deve estar habilitada para usar a ferramenta Edit Volume.

OpçãoDescriçãoEquivalente em Script
Spawn Volume VisVisualizar pontos de spawn de loot. Opções: Off, Adaptive, Volume, OccupiedGetCEApi().LootSetSpawnVolumeVisualisation()
Setup VisMostrar propriedades de setup da CE na tela com contêineres codificados por coresGetCEApi().LootToggleSpawnSetup()
Edit VolumeEditor interativo de pontos de loot (requer câmera livre)GetCEApi().LootToggleVolumeEditing()
Re-Trace Group PointsRe-traçar pontos de loot para corrigir problemas de flutuaçãoGetCEApi().LootRetraceGroupPoints()
Spawn CandyCriar loot em todos os pontos de spawn do grupo selecionado--
Spawn Rotation TestTestar flags de rotação na posição do cursor--
Placement TestVisualizar posicionamento com cilindro esférico--
Export GroupExportar grupo selecionado para storage/export/mapGroup_CLASSNAME.xmlGetCEApi().LootExportGroup()
Export All GroupsExportar todos os grupos para storage/export/mapgroupproto.xmlGetCEApi().LootExportAllGroups()
Export MapGerar storage/export/mapgrouppos.xmlGetCEApi().LootExportMap()
Export ClustersGerar storage/export/mapgroupcluster.xmlGetCEApi().ExportClusterData()
Export Economy [csv]Exportar economia para storage/log/economy.csvGetCEApi().EconomyLog(EconomyLogCategories.Economy)
Export Respawn Queue [csv]Exportar fila de respawn para storage/log/respawn_queue.csvGetCEApi().EconomyLog(EconomyLogCategories.RespawnQueue)

Atalhos de teclado do Edit Volume:

TeclaFunção
[Iterar para trás nos contêineres
]Iterar para frente nos contêineres
LMBInserir novo ponto
RMBDeletar ponto
;Aumentar tamanho do ponto
'Diminuir tamanho do ponto
InsertCriar loot no ponto
MCriar 48 "AmmoBox_762x54_20Rnd"
BackspaceMarcar loot próximo para limpeza (reduz lifetime, não é instantâneo)

Loot Tool

OpçãoDescriçãoEquivalente em Script
Deplete LifetimeReduz o lifetime para 3 segundos (agendado para limpeza)GetCEApi().LootDepleteLifetime()
Set Damage = 1.0Define a vida para 0GetCEApi().LootSetDamageToOne()
Damage + DepleteExecuta ambos acimaGetCEApi().LootDepleteAndDamage()
Invert AvoidanceAlterna evitação de jogador (detecção de jogadores próximos)--
Project Target LootEmula o spawn do item alvo, gera imagens e logs. Requer "Loot Vis" habilitadoGetCEApi().SpawnAnalyze() e GetCEApi().EconomyMap()

Infected

OpçãoDescriçãoEquivalente em Script
Infected VisVisualizar zonas de zumbis, localizações, status vivo/mortoGetCEApi().InfectedToggleVisualisation()
Infected Zone InfoDepuração na tela quando a câmera está dentro de uma zona de infectadosGetCEApi().InfectedToggleZoneInfo()
Infected SpawnCriar infectado na zona selecionada (ou "InfectedArmy" no cursor)GetCEApi().InfectedSpawn()
Reset CleanupDefine o temporizador de limpeza para 3 segundosGetCEApi().InfectedResetCleanup()

Animal

OpçãoDescriçãoEquivalente em Script
Animal VisVisualizar zonas de animais, localizações, status vivo/mortoGetCEApi().AnimalToggleVisualisation()
Animal SpawnCriar animal na zona selecionada (ou "AnimalGoat" no cursor)GetCEApi().AnimalSpawn()
Ambient SpawnCriar "AmbientHen" no alvo do cursorGetCEApi().AnimalAmbientSpawn()

Building

Building Stats mostra depuração na tela sobre estados de portas de construções:

  • Lado esquerdo: se cada porta está aberta/fechada e livre/trancada
  • Centro: estatísticas sobre buildings.bin (persistência de construções)

A randomização de portas usa o valor de config initOpened. Quando rand < initOpened, a porta inicia aberta (então initOpened=0 significa que as portas nunca iniciam abertas).

Configurações comuns de <building/> no economy.xml:

ConfiguraçãoComportamento
init="0" load="0" respawn="0" save="0"Sem persistência, sem randomização, estado padrão após reinício
init="1" load="0" respawn="0" save="0"Sem persistência, portas randomizadas por initOpened
init="1" load="1" respawn="0" save="1"Salva apenas portas trancadas, portas randomizadas por initOpened
init="0" load="1" respawn="0" save="1"Persistência total, salva estado exato das portas, sem randomização

Outras Ferramentas da Economia Central

OpçãoDescriçãoEquivalente em Script
Vehicle&Wreck VisVisualizar objetos registrados na evitação "Vehicle". Amarelo = Carro, Rosa = Destroços (Building), Azul = InventoryItemGetCEApi().ToggleVehicleAndWreckVisualisation()
Loot VisDados de Economia na tela para qualquer coisa que você olhar (loot, infectados, eventos dinâmicos)GetCEApi().ToggleLootVisualisation()
Cluster VisEstatísticas de Trajetória DE na telaGetCEApi().ToggleClusterVisualisation()
Dynamic Events StatusEstatísticas DE na telaGetCEApi().ToggleDynamicEventStatus()
Dynamic Events VisVisualizar e editar pontos de spawn DEGetCEApi().ToggleDynamicEventVisualisation()
Dynamic Events SpawnCriar um evento dinâmico no ponto mais próximo ou "StaticChristmasTree" como fallbackGetCEApi().DynamicEventSpawn()
Export Dyn EventExportar pontos DE para storage/export/eventSpawn_CLASSNAME.xmlGetCEApi().DynamicEventExport()
Overall StatsEstatísticas CE na telaGetCEApi().ToggleOverallStats()
Updaters StateMostra o que a CE está processando atualmente--
Idle ModeColoca a CE em hibernação (para processamento)--
Force SaveForça o salvamento de toda a pasta storage/data (exclui banco de dados de jogadores)--

Atalhos de teclado do Dynamic Events Vis:

TeclaFunção
[Iterar para trás nos DE disponíveis
]Iterar para frente nos DE disponíveis
LMBInserir novo ponto para o DE selecionado
RMBDeletar ponto mais próximo do cursor
MMBSegurar ou clicar para rotacionar ângulo

AI

Estrutura do Menu

AI
  Show NavMesh
  Debug Pathgraph World
  Debug Path Agent
  Debug AI Agent

Importante: A depuração de IA atualmente não funciona em ambiente multiplayer.

Show NavMesh

Desenha shapes de depuração para visualizar a malha de navegação. Mostra depuração na tela com estatísticas.

TeclaFunção
Numpad 0Registrar "Test start" na posição da câmera
Numpad 1Regenerar tile na posição da câmera
Numpad 2Regenerar tiles ao redor da posição da câmera
Numpad 3Iterar para frente nos tipos de visualização
LAlt + Numpad 3Iterar para trás nos tipos de visualização
Numpad 4Registrar "Test end" na posição da câmera. Desenha esferas e uma linha entre início e fim. Verde = caminho encontrado, Vermelho = sem caminho
Numpad 5Teste de posição mais próxima da NavMesh (SamplePosition). Esfera azul = consulta, esfera rosa = resultado
Numpad 6Teste de raycast da NavMesh. Esfera azul = consulta, esfera rosa = resultado

Debug Pathgraph World

Depuração na tela mostrando quantas requisições de trabalho de caminho foram concluídas e quantas estão pendentes.

Debug Path Agent

Depuração na tela e shapes de depuração para o pathfinding de uma IA. Mire em uma entidade IA para selecioná-la para rastreamento. Use isso quando estiver especificamente interessado em como uma IA encontra seu caminho.

Debug AI Agent

Depuração na tela e shapes de depuração para o estado de alerta e comportamento de uma IA. Mire em uma entidade IA para selecioná-la para rastreamento. Use isso quando quiser entender as decisões e o estado de percepção de uma IA.


Sounds

Estrutura do Menu

Sounds
  Show playing samples
  Show system info

Show Playing Samples

Visualização de depuração para sons sendo reproduzidos.

OpçãoDescrição
nonePadrão, sem depuração
ImGuiJanela separada (iteração mais recente). Suporta filtragem, cobertura completa de categorias. Configurações salvas como playing_sounds_imgui.ini / .bin nos profiles
DbgUILegado. Tem filtragem por categoria, mais legível, mas sai da tela e não tem categoria de veículo
EngineLegado. Mostra dados em tempo real codificados por cor com estatísticas, mas sai da tela e não tem legenda de cores

Show System Info

Estatísticas de depuração na tela do sistema de som (contagens de buffer, fontes ativas, etc.).


Recursos Úteis para Modders

Embora cada opção tenha sua utilidade, estas são as que os modders usam com mais frequência:

Análise de Desempenho

  1. Contador de FPS (LCtrl + Numpad 1) -- Verificação rápida de que seu mod não está destruindo a taxa de frames
  2. Script Profiler -- Encontre quais de suas classes ou funções consomem mais tempo de CPU. Defina o módulo como WORLD ou MISSION para focar na camada de script do seu mod

Depuração Visual

  1. Câmera Livre -- Voe ao redor para inspecionar objetos criados, verificar posições, checar comportamento de IA à distância
  2. Geometry Diagnostic -- Verifique fire geometry, view geometry, roadway LOD e memory points do seu modelo personalizado sem sair do jogo
  3. Render Debug Mode (RCtrl + RAlt + W) -- Veja sobreposições de wireframe para verificar densidade de malha e atribuições de material

Teste de Gameplay

  1. Câmera Livre + Insert -- Teletransporte seu jogador para qualquer lugar do mapa instantaneamente
  2. Weather Override -- Force condições específicas de névoa para testar funcionalidades dependentes de visibilidade
  3. Ferramentas da Economia Central -- Crie infectados, animais, loot e eventos dinâmicos sob demanda
  4. Depuração de combate -- Rastreie trajetórias de tiros, inspecione sistemas de dano de hitpoints, teste penetração de explosão

Desenvolvimento de IA

  1. Show NavMesh -- Verifique que a IA pode realmente navegar para onde você espera
  2. Debug AI Agent -- Veja o que um infectado ou animal está "pensando", qual nível de alerta possui
  3. Debug Path Agent -- Veja o caminho real que uma IA está tomando e se o pathfinding tem sucesso

Quando Usar o Diag Menu

Durante o Desenvolvimento

  • Script Profiler ao otimizar código por frame (OnUpdate, EOnFrame)
  • Câmera Livre para posicionar objetos, verificar locais de spawn, inspecionar posicionamento de modelos
  • Geometry Diagnostic imediatamente após importar um novo modelo para verificar LODs e tipos de geometria
  • Contador de FPS como referência antes e depois de adicionar novas funcionalidades

Durante Testes

  • Depuração de combate para verificar dano de armas, comportamento de projéteis, efeitos de explosão
  • Ferramentas CE para testar distribuição de loot, pontos de spawn, eventos dinâmicos
  • Depuração de IA para verificar se o comportamento de infectados/animais responde corretamente à presença do jogador
  • Depuração de clima para testar seu mod em diferentes condições climáticas

Durante Investigação de Bugs

  • Contador de FPS + Script Profiler quando jogadores relatam problemas de desempenho
  • Câmera Livre + Barra de espaço (depuração de objeto) para inspecionar objetos que não estão se comportando corretamente
  • Render Debug Mode para diagnosticar artefatos visuais ou problemas de material
  • Show Bullet para depurar problemas de colisão de física

Erros Comuns

Usar o executável de varejo. O Diag Menu está disponível apenas no DayZDiag_x64.exe. Se você pressionar Win+Alt e nada acontecer, você está rodando a versão de varejo.

Esquecer que Max. Collider Distance é 0. A visualização de física (Draw Bullet shape) não mostrará nada se Max. Collider Distance ainda estiver no padrão de 0. Defina pelo menos 10-20 para ver colisores ao seu redor.

Ferramentas CE em multiplayer. A maioria das opções de depuração da Economia Central funciona apenas em single-player com CE habilitada. Não espere que funcionem em um servidor dedicado.

Depuração de IA em multiplayer. A depuração de IA atualmente não funciona em ambiente multiplayer. Teste o comportamento de IA em single-player.

Confundir "Bullet" com munição. As opções "Bullet" da categoria "Enfusion World" se referem ao motor de física Bullet, não à munição de armas. A depuração relacionada a combate está em Game > Combat.

Deixar o profiler ligado. O Script Profiler tem overhead mensurável. Desligue-o quando terminar de analisar para obter leituras de FPS precisas.

Valores grandes de distância de colisores. Definir Max. Collider Distance para 200 ou 500 vai destruir sua taxa de frames. Use o menor valor que cubra sua área de interesse.

Não habilitar pré-requisitos. Várias opções dependem de outras estarem habilitadas primeiro:

  • "Draw Char Ctrl" e "Draw Bullet wireframe" dependem de "Draw Bullet shape"
  • "Edit Volume" requer câmera livre
  • "Project Target Loot" requer "Loot Vis" habilitado

Próximos Passos

Released under CC BY-SA 4.0 | Code examples under MIT License