Skip to content

Kapitola 8.13: Diagnostické menu (Diag Menu)

Domů | << Předchozí: Vytváření obchodního systému | Diagnostické menu


Shrnutí: Diag Menu je vestavěný diagnostický nástroj DayZ, dostupný pouze prostřednictvím spustitelného souboru DayZDiag. Poskytuje počítadla FPS, profilování skriptů, ladění rendereru, volnou kameru, vizualizaci fyziky, ovládání počasí, nástroje Central Economy, ladění navigace AI a diagnostiku zvuků. Tato kapitola dokumentuje každou kategorii menu, volbu a klávesovou zkratku na základě oficiální dokumentace Bohemia Interactive.


Obsah


Co je Diag Menu?

Diag Menu je hierarchické ladící menu zabudované v diagnostickém spustitelném souboru DayZ. Obsahuje volby používané k ladění herních skriptů a assetů v sedmi hlavních kategoriích: Statistics, Enfusion Renderer, Enfusion World, DayZ Render, Game, AI a Sounds.

Diag Menu není dostupné v retailové verzi DayZ (DayZ_x64.exe). Musíte použít DayZDiag_x64.exe -- diagnostický build, který je dodáván společně s retailovou verzí v instalační složce DayZ nebo ve složkách DayZ Serveru.


Jak získat přístup

Požadavky

  • DayZDiag_x64.exe -- Diagnostický spustitelný soubor. Nachází se ve vaší instalační složce DayZ vedle běžného DayZ_x64.exe.
  • Musíte běžet ve hře (ne na načítací obrazovce). Menu je dostupné v jakémkoli 3D zobrazení.

Otevření menu

Stiskněte Win + Alt pro otevření Diag Menu.

Alternativní zkratka je Ctrl + Win, ale ta koliduje se systémovou zkratkou Windows 11 a na této platformě se nedoporučuje.

Povolení kurzoru myši

Některé volby Diag Menu vyžadují interakci s obrazovkou pomocí myši. Kurzor myši lze přepínat stisknutím:

LCtrl + Numpad 9

Tato klávesová zkratka je registrována prostřednictvím skriptu (PluginKeyBinding).


Ovládání navigace

Jakmile je Diag Menu otevřeno:

KlávesaAkce
Šipka nahoru/dolůNavigace mezi položkami menu
Šipka dopravaVstup do podmenu nebo cyklování mezi hodnotami voleb
Šipka dolevaCyklování hodnot voleb v opačném směru
BackspaceOpuštění aktuálního podmenu (návrat o jednu úroveň)

Když volby zobrazují více hodnot, jsou uvedeny v pořadí, v jakém se objevují v menu. První volba je typicky výchozí.


Rychlé klávesové zkratky

Tyto zkratky fungují kdykoli během běhu DayZDiag, bez nutnosti otevírat menu:

ZkratkaFunkce
LCtrl + Numpad 1Přepnutí počítadla FPS
LCtrl + Numpad 9Přepnutí kurzoru myši na obrazovce
RCtrl + RAlt + WCyklování režimu ladění renderování
LCtrl + LAlt + PPřepnutí postprocess efektů
LAlt + Numpad 6Přepnutí vizualizace fyzikálních těles
Page UpVolná kamera: přepnutí pohybu hráče
Page DownVolná kamera: zmrazení/rozmrazení kamery
InsertTeleportace hráče na pozici kurzoru (ve volné kameře)
HomePřepnutí volné kamery / vypnutí a teleportace hráče na kurzor
Numpad /Přepnutí volné kamery (bez teleportace)
EndVypnutí volné kamery (návrat ke kameře hráče)

Poznámka: Jakákoli zmínka o "Cheat Inputs" v oficiální dokumentaci odkazuje na vstupy pevně zakódované na straně C++, nepřístupné prostřednictvím skriptu.


Přehled kategorií menu

Diag Menu obsahuje sedm hlavních kategorií:

  1. Statistics -- Počítadlo FPS a profilování skriptů
  2. Enfusion Renderer -- Osvětlení, stíny, materiály, okluze, postprocess, terén, widgety
  3. Enfusion World -- Vizualizace a ladění fyzikálního enginu (Bullet)
  4. DayZ Render -- Renderování oblohy, diagnostika geometrie
  5. Game -- Počasí, volná kamera, vozidla, boj, Central Economy, povrchové zvuky
  6. AI -- Navigační mesh, hledání cest, chování AI agentů
  7. Sounds -- Ladění přehrávaných vzorků, informace o zvukovém systému

Statistiky

Struktura menu

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

FPS

Povolí počítadlo FPS v levém horním rohu obrazovky.

Hodnota FPS se počítá z času mezi posledními 10 snímky, takže odráží krátký klouzavý průměr spíše než okamžité čtení.

Script Profiler UI

Zapne skriptový profiler zobrazovaný na obrazovce, který ukazuje výkonnostní data skriptů v reálném čase.

Profiler zobrazuje šest datových sekcí:

SekceCo zobrazuje
Time per classCelkový čas všech volání funkcí patřících třídě (top 20)
Time per functionCelkový čas všech volání konkrétní funkce (top 20)
Class allocationsPočet alokací třídy (top 20)
Count per functionPočet volání funkce (top 20)
Class countPočet živých instancí třídy (top 40)
Stats and settingsAktuální konfigurace profileru a počítadla snímků

Panel Stats and settings zobrazuje:

PoleVýznam
UI enabled (DIAG)Zda je UI skriptového profileru aktivní
Profiling enabled (SCRP)Zda profilování běží i když UI není aktivní
Profiling enabled (SCRC)Zda profilování skutečně probíhá
FlagsAktuální příznaky sběru dat
ModuleAktuálně profilovaný modul
IntervalAktuální interval aktualizace
Time ResolutionAktuální časové rozlišení
AverageZda zobrazované hodnoty jsou průměry
Game FrameCelkový počet proběhlých snímků
Session FrameCelkový počet snímků v této profilovací relaci
Total FramesCelkový počet snímků ve všech profilovacích relacích
Profiled Sess FrmsProfilované snímky v této relaci
Profiled FramesProfilované snímky ve všech relacích

Důležité: Skriptový profiler profiluje pouze skriptový kód. Proto (engine-bound) metody nejsou měřeny jako samostatné záznamy, ale jejich doba provádění je zahrnuta v celkovém čase skriptové metody, která je volá.

Důležité: API EnProfiler a samotný skriptový profiler jsou dostupné pouze na diagnostickém spustitelném souboru.

Nastavení skriptového profileru

Tato nastavení řídí, jak jsou sbírána profilová data. Lze je také upravovat programově prostřednictvím API EnProfiler (dokumentováno v EnProfiler.c).

Always Enabled

Sběr profilových dat není ve výchozím nastavení povolen. Tento přepínač ukazuje, zda je aktuálně aktivní.

Pro povolení profilování při startu použijte spouštěcí parametr -profile.

UI skriptového profileru toto nastavení ignoruje -- vždy vynucuje profilování, když je UI viditelné. Když je UI vypnuto, profilování se opět zastaví (pokud není "Always enabled" nastaveno na true).

Příznaky (Flags)

Řídí způsob sběru dat. K dispozici jsou čtyři kombinace:

Kombinace příznakůRozsahŽivotnost dat
SPF_RESET | SPF_RECURSIVEVybraný modul + potomciJeden snímek (reset každý snímek)
SPF_RECURSIVEVybraný modul + potomciKumulováno napříč snímky
SPF_RESETPouze vybraný modulJeden snímek (reset každý snímek)
SPF_NONEPouze vybraný modulKumulováno napříč snímky
  • SPF_RECURSIVE: Povoluje profilování potomkovských modulů (rekurzivně)
  • SPF_RESET: Vymaže data na konci každého snímku

Module

Vybírá, který skriptový modul profilovat:

VolbaSkriptová vrstva
CORE1_Core
GAMELIB2_GameLib
GAME3_Game
WORLD4_World
MISSION5_Mission
MISSION_CUSTOMinit.c

Update Interval

Počet snímků, které je třeba počkat před aktualizací zobrazení seřazených dat. Také zpožďuje reset způsobený SPF_RESET.

Dostupné hodnoty: 0, 5, 10, 20, 30, 50, 60, 120, 144

Average

Povolení nebo zakázání zobrazování průměrných hodnot.

  • S SPF_RESET a bez intervalu: hodnoty jsou surové hodnoty za snímek
  • Bez SPF_RESET: dělí kumulovanou hodnotu počtem snímků relace
  • S nastaveným intervalem: dělí intervalem

Počet tříd se nikdy neprůměruje -- vždy ukazuje aktuální počet instancí. Alokace zobrazí průměrný počet vytvoření instance.

Time Resolution

Nastavuje časovou jednotku pro zobrazení. Hodnota představuje jmenovatel (n-tina sekundy):

HodnotaJednotka
1Sekundy
1000Milisekundy
1000000Mikrosekundy

Dostupné hodnoty: 1, 10, 100, 1000, 10000, 100000, 1000000

(UI) Scale

Upravuje vizuální měřítko zobrazení profileru na obrazovce pro různé velikosti obrazovek a rozlišení.

Rozsah: 0.5 až 1.5 (výchozí: 1.0, krok: 0.05)


Enfusion Renderer

Struktura 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

Přepíná skutečné zdroje světla (jako PersonalLight nebo herní předměty jako baterky). Neovlivňuje osvětlení prostředí -- k tomu použijte podmenu Lighting.

Podmenu Lighting

Každý přepínač ovládá specifickou složku osvětlení:

VolbaEfekt při vypnutí
Ambient lightingOdstraní obecné ambientní světlo ve scéně
Ground lightingOdstraní světlo odražené od země (viditelné na střechách, pod pažemi postavy)
Directional lightingOdstraní hlavní směrové (slunce/měsíc) světlo. Také zakáže obousměrné osvětlení
Bidirectional lightingOdstraní komponentu obousměrného osvětlení
Specular lightingOdstraní spekulární odlesky (viditelné na lesklých površích jako skříňky, auta)
ReflectionOdstraní reflexní osvětlení (viditelné na kovových/lesklých površích)
Emission lightingOdstraní emisi (samo-podsvícení) z materiálů

Tyto přepínače jsou užitečné pro izolaci konkrétních příspěvků osvětlení při ladění vizuálních problémů ve vlastních modelech nebo scénách.

Shadows

Povoluje nebo zakazuje renderování stínů. Vypnutí také odstraní culling deště uvnitř objektů (déšť bude propadat střechami).

Terrain Shadows

Řídí způsob generování stínů terénu.

Volby: on (slice), on (full), no update, disabled

Render Debug Mode

Přepíná mezi režimy vizualizace renderování pro kontrolu geometrie meshe přímo ve hře.

Volby: normal, wire, wire only, overdraw, overdrawZ

Různé materiály se zobrazují v různých barvách drátového modelu:

MateriálBarva (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

Sada přepínačů pro systém okluzního cullingu:

VolbaEfekt
OccludersPovolení/zakázání okluze objektů
Occlude entitiesPovolení/zakázání okluze entit
Occlude proxiesPovolení/zakázání okluze proxy objektů
Show occluder volumesPořídí snímek a vykreslí ladicí tvary vizualizující okluzní objemy
Show active occludersZobrazí aktuálně aktivní okluzory s ladicími tvary
Show occludedVizualizuje okluzované objekty ladicími tvary

Widgets

Povolení nebo zakázání renderování všech UI widgetů. Užitečné pro pořizování čistých screenshotů nebo izolaci renderovacích problémů.

Postprocess

Povolení nebo zakázání post-processing efektů (bloom, korekce barev, viněta atd.).

Terrain

Povolení nebo zakázání renderování terénu.

Podmenu Materials

Přepínání renderování specifických typů materiálů. Většina je samovysvětlující. Pozoruhodné položky:

  • Super -- Zastřešující přepínač pokrývající každý materiál související se "super" shaderem
  • Old Terrain -- Pokrývá jak Terrain, tak Terrain Simple materiály
  • Water -- Pokrývá každý materiál související s vodou (oceán, břehy, řeky)

Enfusion World (Fyzika)

Struktura 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]

Poznámka: "Bullet" zde odkazuje na fyzikální engine Bullet, ne na munici.

Show Bullet

Zapne ladicí vizualizaci fyzikálního enginu Bullet.

Podmenu Bullet

VolbaPopis
Draw Char CtrlVizualizace kontroleru hráčské postavy. Závisí na "Draw Bullet shape"
Draw Simple Char CtrlVizualizace kontroleru AI postavy. Závisí na "Draw Bullet shape"
Max. Collider DistanceMaximální vzdálenost od hráče pro vizualizaci kolizních objektů (hodnoty: 0, 1, 2, 5, 10, 20, 50, 100, 200, 500). Výchozí je 0
Draw Bullet shapeVizualizace tvarů fyzikálních kolizních objektů
Draw Bullet wireframeZobrazení kolizních objektů pouze drátovým modelem. Závisí na "Draw Bullet shape"
Draw Bullet shape AABBZobrazení osově zarovnaných ohraničujících boxů kolizních objektů
Draw obj center of massZobrazení těžišť objektů
Draw Bullet contactsVizualizace kolizních objektů v kontaktu
Force sleep BulletVynucení spánku všech fyzikálních těles
Show statsZobrazení ladicích statistik (volby: disabled, basic, all). Statistiky zůstávají viditelné 10 sekund po zakázání

Varování: Max. Collider Distance je ve výchozím nastavení 0, protože tato vizualizace je náročná. Nastavení na velkou vzdálenost způsobí výrazné snížení výkonu.

Show Bodies

Vizualizace fyzikálních těles Bullet. Volby: disabled, only, all


DayZ Render

Struktura menu

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

Podmenu Sky

Přepínání jednotlivých složek renderování oblohy:

VolbaCo ovládá
SpaceTextura pozadí za hvězdami
StarsRenderování hvězd
SunSlunce a jeho halo efekt (ne god rays)
MoonMěsíc a jeho halo efekt (ne god rays)
AtmosphereTextura atmosféry na obloze
Far (Clouds)Horní/vzdálené mraky. Neovlivňují paprsky světla (méně husté)
Near (Clouds)Nižší/bližší mraky. Hustší a slouží jako okluze pro paprsky světla
Physical (Clouds)Zastaralé objektové mraky. Odstraněny z Chernarus a Livonia v DayZ 1.23
HorizonRenderování horizontu. Horizont bude bránit paprskům světla
God RaysPost-process efekt světelných paprsků

Diagnostika geometrie

Povoluje kreslení ladicích tvarů pro vizualizaci, jak vypadá geometrie objektu přímo ve hře.

Typy geometrie: normal, roadway, geometry, viewGeometry, fireGeometry, paths, memory, wreck

Režimy kreslení: solid+wire, Zsolid+wire, wire, ZWire, geom only

Toto je extrémně užitečné pro moddery vytvářející vlastní modely -- můžete ověřit, že vaše fire geometry, view geometry a memory pointy jsou správně nakonfigurovány bez opuštění hry.


Game

Struktura 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

Ladicí funkcionalita pro systém počasí.

Display

Povoluje ladicí vizualizaci počasí. Zobrazuje na obrazovce ladicí informace o mlze/dohlednosti a otevírá samostatné okno s detailními daty počasí v reálném čase.

Pro povolení samostatného okna při běhu jako server použijte spouštěcí parametr -debugweather.

Nastavení okna jsou uložena v profilech jako weather_client_imgui.ini / weather_client_imgui.bin (nebo weather_server_* pro servery).

Force Fog at Camera

Vynucuje výšku mlhy na shodnou s výškou kamery hráče. Má prioritu nad nastavením Height bias.

Override Fog

Povoluje přepsání hodnot mlhy ručním nastavením:

ParametrRozsahKrok
Distance density0 -- 10.01
Height density0 -- 10.01
Distance offset0 -- 10.01
Height bias-500 -- 5005

Volná kamera

Volná kamera odpojí pohled od postavy hráče a umožňuje létat světem. Toto je jeden z nejužitečnějších ladicích nástrojů pro moddery.

Ovládání volné kamery

KlávesaPůvodFunkce
W / A / S / DInputs (xml)Pohyb vpřed / vlevo / vzad / vpravo
QInputs (xml)Pohyb nahoru
ZInputs (xml)Pohyb dolů
MyšInputs (xml)Rozhlížení
Kolečko myši nahoruInputs (C++)Zvýšení rychlosti
Kolečko myši dolůInputs (C++)Snížení rychlosti
MezerníkCheat Inputs (C++)Přepnutí ladicího zobrazení cílového objektu na obrazovce
Ctrl / ShiftCheat Inputs (C++)Aktuální rychlost x 10
AltCheat Inputs (C++)Aktuální rychlost / 10
EndCheat Inputs (C++)Vypnutí volné kamery (návrat k hráči)
EnterCheat Inputs (C++)Propojení kamery s cílovým objektem
Page UpCheat Inputs (C++)Přepnutí pohybu hráče ve volné kameře
Page DownCheat Inputs (C++)Zmrazení/rozmrazení pozice kamery
InsertPluginKeyBinding (Script)Teleportace hráče na pozici kurzoru
HomePluginKeyBinding (Script)Přepnutí volné kamery / vypnutí a teleportace na kurzor
Numpad /PluginKeyBinding (Script)Přepnutí volné kamery (bez teleportace)

Volby volné kamery

VolbaPopis
FrCam Player MovePovolení/zakázání vstupů hráče (WASD) pohybujících hráčem ve volné kameře
FrCam NoClipPovolení/zakázání průchodu kamery terénem
FrCam FreezePovolení/zakázání vstupů pohybujících kamerou

Vehicles

Rozšířená ladicí funkcionalita pro vozidla. Funguje pouze když je hráč uvnitř vozidla.

  • Audio -- Otevře samostatné okno pro úpravu nastavení zvuku v reálném čase. Zahrnuje vizualizaci audio kontrolerů.
  • Simulation -- Otevře samostatné okno s laděním simulace auta: úprava fyzikálních parametrů a vizualizace.

Combat

Ladicí nástroje pro boj, střelbu a hitpointy:

VolbaPopis
DECombatZobrazuje na obrazovce text se vzdálenostmi k autům, AI a hráčům
DEShotsPodmenu ladění projektilů (viz níže)
DEHitpointsZobrazuje DamageSystem hráče a objektu, na který se dívá
DEExplosionsZobrazuje data penetrace exploze. Čísla ukazují hodnoty zpomalení. Červený kříž = zastaveno. Zelený kříž = proniklo

Podmenu DEShots:

VolbaPopis
Clear vis.Vymazání existující vizualizace střel
Vis. trajectoryTrasování dráhy střely, zobrazení výstupních a koncových bodů
Always DeflectVynucení odrazu všech klientem vystřelených střel

Legacy/Obsolete

  • DEAmbient -- Zobrazuje proměnné ovlivňující ambientní zvuky
  • DELight -- Zobrazuje statistiky aktuálního osvětlení prostředí

DESurfaceSound

Zobrazuje typ povrchu, na kterém hráč stojí, a typ útlumu.

Central Economy

Kompletní sada ladicích nástrojů pro systém Central Economy (CE).

Důležité: Většina ladicích voleb CE funguje pouze v single-player klientovi s povoleným CE. Pouze "Building Stats" funguje v multiplayerovém prostředí nebo když je CE vypnuto.

Poznámka: Mnohé z těchto funkcí jsou také dostupné prostřednictvím CEApi ve skriptu (CentralEconomy.c).

Loot Spawn Edit

Nástroje pro vytváření a úpravu loot spawn bodů na objektech. Pro použití nástroje Edit Volume musí být povolena volná kamera.

VolbaPopisEkvivalent ve skriptu
Spawn Volume VisVizualizace loot spawn bodů. Volby: Off, Adaptive, Volume, OccupiedGetCEApi().LootSetSpawnVolumeVisualisation()
Setup VisZobrazení vlastností CE nastavení na obrazovce s barevně odlišenými kontejneryGetCEApi().LootToggleSpawnSetup()
Edit VolumeInteraktivní editor loot bodů (vyžaduje volnou kameru)GetCEApi().LootToggleVolumeEditing()
Re-Trace Group PointsPřetrasování loot bodů pro opravu problémů se vznášenímGetCEApi().LootRetraceGroupPoints()
Spawn CandySpawn lootu ve všech spawn bodech vybrané skupiny--
Spawn Rotation TestTestování rotačních příznaků na pozici kurzoru--
Placement TestVizualizace umístění válcovou koulí--
Export GroupExport vybrané skupiny do storage/export/mapGroup_CLASSNAME.xmlGetCEApi().LootExportGroup()
Export All GroupsExport všech skupin do storage/export/mapgroupproto.xmlGetCEApi().LootExportAllGroups()
Export MapGenerování storage/export/mapgrouppos.xmlGetCEApi().LootExportMap()
Export ClustersGenerování storage/export/mapgroupcluster.xmlGetCEApi().ExportClusterData()
Export Economy [csv]Export ekonomiky do storage/log/economy.csvGetCEApi().EconomyLog(EconomyLogCategories.Economy)
Export Respawn Queue [csv]Export fronty respawnu do storage/log/respawn_queue.csvGetCEApi().EconomyLog(EconomyLogCategories.RespawnQueue)

Klávesové zkratky Edit Volume:

KlávesaFunkce
[Iterace kontejnery zpět
]Iterace kontejnery vpřed
LMBVložení nového bodu
RMBSmazání bodu
;Zvětšení velikosti bodu
'Zmenšení velikosti bodu
InsertSpawn lootu v bodě
MSpawn 48 "AmmoBox_762x54_20Rnd"
BackspaceOznačení blízkého lootu k úklidu (vyčerpá životnost, ne okamžitý)

Loot Tool

VolbaPopisEkvivalent ve skriptu
Deplete LifetimeVyčerpá životnost na 3 sekundy (naplánováno k úklidu)GetCEApi().LootDepleteLifetime()
Set Damage = 1.0Nastaví zdraví na 0GetCEApi().LootSetDamageToOne()
Damage + DepleteProvede obojí výše uvedenéGetCEApi().LootDepleteAndDamage()
Invert AvoidancePřepíná vyhýbání hráčům (detekce blízkých hráčů)--
Project Target LootEmuluje spawning cílového předmětu, generuje obrázky a logy. Vyžaduje povolené "Loot Vis"GetCEApi().SpawnAnalyze() a GetCEApi().EconomyMap()

Infected

VolbaPopisEkvivalent ve skriptu
Infected VisVizualizace zón zombie, lokací, stavu živý/mrtvýGetCEApi().InfectedToggleVisualisation()
Infected Zone InfoLadicí informace na obrazovce, když je kamera uvnitř zóny nakaženýchGetCEApi().InfectedToggleZoneInfo()
Infected SpawnSpawn nakažených ve vybrané zóně (nebo "InfectedArmy" na kurzoru)GetCEApi().InfectedSpawn()
Reset CleanupNastaví časovač úklidu na 3 sekundyGetCEApi().InfectedResetCleanup()

Animal

VolbaPopisEkvivalent ve skriptu
Animal VisVizualizace zón zvířat, lokací, stavu živý/mrtvýGetCEApi().AnimalToggleVisualisation()
Animal SpawnSpawn zvířete ve vybrané zóně (nebo "AnimalGoat" na kurzoru)GetCEApi().AnimalSpawn()
Ambient SpawnSpawn "AmbientHen" na cíli kurzoruGetCEApi().AnimalAmbientSpawn()

Building

Building Stats zobrazuje ladicí informace na obrazovce o stavu dveří budov:

  • Levá strana: zda jsou jednotlivé dveře otevřené/zavřené a volné/zamčené
  • Střed: statistiky ohledně buildings.bin (persistence budov)

Randomizace dveří používá konfigurační hodnotu initOpened. Když rand < initOpened, dveře se spawnují otevřené (takže initOpened=0 znamená, že dveře se nikdy nespawnují otevřené).

Běžná nastavení <building/> v economy.xml:

NastaveníChování
init="0" load="0" respawn="0" save="0"Žádná persistence, žádná randomizace, výchozí stav po restartu
init="1" load="0" respawn="0" save="0"Žádná persistence, dveře randomizovány podle initOpened
init="1" load="1" respawn="0" save="1"Ukládá pouze zamčené dveře, dveře randomizovány podle initOpened
init="0" load="1" respawn="0" save="1"Plná persistence, ukládá přesný stav dveří, žádná randomizace

Další nástroje Central Economy

VolbaPopisEkvivalent ve skriptu
Vehicle&Wreck VisVizualizace objektů registrovaných jako "Vehicle" avoidance. Žlutá = Auto, Růžová = Vraky (Building), Modrá = InventoryItemGetCEApi().ToggleVehicleAndWreckVisualisation()
Loot VisEconomy Data na obrazovce pro cokoli, na co se díváte (loot, nakažení, dynamické události)GetCEApi().ToggleLootVisualisation()
Cluster VisTrajectory DE statistiky na obrazovceGetCEApi().ToggleClusterVisualisation()
Dynamic Events StatusDE statistiky na obrazovceGetCEApi().ToggleDynamicEventStatus()
Dynamic Events VisVizualizace a úprava DE spawn bodůGetCEApi().ToggleDynamicEventVisualisation()
Dynamic Events SpawnSpawn dynamické události na nejbližším bodě nebo "StaticChristmasTree" jako zálohaGetCEApi().DynamicEventSpawn()
Export Dyn EventExport DE bodů do storage/export/eventSpawn_CLASSNAME.xmlGetCEApi().DynamicEventExport()
Overall StatsCE statistiky na obrazovceGetCEApi().ToggleOverallStats()
Updaters StateZobrazuje, co CE aktuálně zpracovává--
Idle ModeUspí CE (zastaví zpracování)--
Force SaveVynucuje uložení celé složky storage/data (vylučuje databázi hráčů)--

Klávesové zkratky Dynamic Events Vis:

KlávesaFunkce
[Iterace dostupnými DE zpět
]Iterace dostupnými DE vpřed
LMBVložení nového bodu pro vybrané DE
RMBSmazání bodu nejbližšího kurzoru
MMBPodržení nebo klik pro otáčení úhlu

AI

Struktura menu

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

Důležité: Ladění AI v současnosti nefunguje v multiplayerovém prostředí.

Show NavMesh

Vykresluje ladicí tvary pro vizualizaci navigačního meshe. Zobrazuje ladicí informace se statistikami na obrazovce.

KlávesaFunkce
Numpad 0Registrace "Test start" na pozici kamery
Numpad 1Regenerace dlaždice na pozici kamery
Numpad 2Regenerace dlaždic kolem pozice kamery
Numpad 3Iterace typy vizualizace vpřed
LAlt + Numpad 3Iterace typy vizualizace zpět
Numpad 4Registrace "Test end" na pozici kamery. Kreslí koule a čáru mezi startem a koncem. Zelená = cesta nalezena, Červená = žádná cesta
Numpad 5Test nejbližší pozice na NavMesh (SamplePosition). Modrá koule = dotaz, růžová koule = výsledek
Numpad 6Test raycaatu NavMesh. Modrá koule = dotaz, růžová koule = výsledek

Debug Pathgraph World

Ladicí informace na obrazovce ukazující, kolik požadavků na cestu bylo dokončeno a kolik jich aktuálně čeká.

Debug Path Agent

Ladicí informace na obrazovce a ladicí tvary pro hledání cesty AI. Zamiřte na AI entitu pro výběr k sledování. Použijte toto, když se konkrétně zajímáte o to, jak AI nachází svou cestu.

Debug AI Agent

Ladicí informace na obrazovce a ladicí tvary pro bdělost a chování AI. Zamiřte na AI entitu pro výběr k sledování. Použijte toto, když chcete porozumět rozhodování AI a stavu povědomí.


Zvuky

Struktura menu

Sounds
  Show playing samples
  Show system info

Show Playing Samples

Ladicí vizualizace pro aktuálně přehrávané zvuky.

VolbaPopis
noneVýchozí, žádné ladění
ImGuiSamostatné okno (nejnovější iterace). Podporuje filtrování, plné pokrytí kategorií. Nastavení uloženo jako playing_sounds_imgui.ini / .bin v profilech
DbgUIStarší verze. Má filtrování kategorií, čitelnější, ale přesahuje obrazovku a chybí kategorie vozidel
EngineStarší verze. Zobrazuje barevně kódovaná data v reálném čase se statistikami, ale přesahuje obrazovku a chybí legenda barev

Show System Info

Ladicí statistiky zvukového systému na obrazovce (počty bufferů, aktivní zdroje atd.).


Užitečné funkce pro moddery

I když má každá volba své využití, tyto jsou ty, po kterých moddeři sahají nejčastěji:

Analýza výkonu

  1. Počítadlo FPS (LCtrl + Numpad 1) -- Rychlá kontrola, že váš mod neničí snímkovou frekvenci
  2. Skriptový profiler -- Zjistěte, které z vašich tříd nebo funkcí spotřebovávají nejvíce CPU času. Nastavte modul na WORLD nebo MISSION pro zaměření na skriptovou vrstvu vašeho modu

Vizuální ladění

  1. Volná kamera -- Létejte kolem pro kontrolu spawnovaných objektů, ověřování pozic, kontrolu chování AI z dálky
  2. Diagnostika geometrie -- Ověřte fire geometry, view geometry, roadway LOD a memory pointy vašeho vlastního modelu bez opuštění hry
  3. Render Debug Mode (RCtrl + RAlt + W) -- Zobrazte drátové překryvy pro kontrolu hustoty meshe a přiřazení materiálů

Testování hratelnosti

  1. Volná kamera + Insert -- Teleportujte hráče kamkoli na mapě okamžitě
  2. Přepsání počasí -- Vynuťte specifické podmínky mlhy pro testování funkcí závislých na viditelnosti
  3. Nástroje Central Economy -- Spawnujte nakažené, zvířata, loot a dynamické události na vyžádání
  4. Ladění boje -- Trasujte dráhy střel, kontrolujte systémy poškození hitpointů, testujte penetraci explozí

Vývoj AI

  1. Show NavMesh -- Ověřte, že AI skutečně může navigovat tam, kam očekáváte
  2. Debug AI Agent -- Podívejte se, co nakažený nebo zvíře "přemýšlí", na jaké úrovni bdělosti je
  3. Debug Path Agent -- Podívejte se na skutečnou cestu, kterou AI používá, a zda hledání cesty uspěje

Kdy používat Diag Menu

Během vývoje

  • Skriptový profiler při optimalizaci kódu na každý snímek (OnUpdate, EOnFrame)
  • Volná kamera pro umisťování objektů, ověřování spawn lokací, kontrolu umístění modelů
  • Diagnostika geometrie ihned po importu nového modelu pro ověření LOD a typů geometrie
  • Počítadlo FPS jako základ před a po přidání nových funkcí

Během testování

  • Ladění boje pro ověření poškození zbraní, chování projektilů, efektů explozí
  • Nástroje CE pro testování distribuce lootu, spawn bodů, dynamických událostí
  • Ladění AI pro ověření, že chování nakažených/zvířat správně reaguje na přítomnost hráče
  • Ladění počasí pro testování vašeho modu za různých povětrnostních podmínek

Při vyšetřování chyb

  • Počítadlo FPS + Skriptový profiler když hráči hlásí problémy s výkonem
  • Volná kamera + Mezerník (ladění objektu) pro kontrolu objektů, které se nechovají správně
  • Render Debug Mode pro diagnostiku vizuálních artefaktů nebo problémů s materiály
  • Show Bullet pro ladění problémů s fyzikálními kolizemi

Časté chyby

Používání retailového spustitelného souboru. Diag Menu je dostupné pouze v DayZDiag_x64.exe. Pokud stisknete Win+Alt a nic se nestane, používáte retailový build.

Zapomenutí, že Max. Collider Distance je 0. Vizualizace fyziky (Draw Bullet shape) nic nezobrazí, pokud Max. Collider Distance je stále na výchozí hodnotě 0. Nastavte alespoň na 10-20 pro zobrazení kolizních objektů kolem vás.

Nástroje CE v multiplayeru. Většina ladicích voleb Central Economy funguje pouze v single-playeru s povoleným CE. Neočekávejte, že budou fungovat na dedikovaném serveru.

Ladění AI v multiplayeru. Ladění AI v současnosti nefunguje v multiplayerovém prostředí. Testujte chování AI v single-playeru.

Záměna "Bullet" s municí. Volby "Bullet" v kategorii "Enfusion World" odkazují na fyzikální engine Bullet, ne na munici do zbraní. Ladění boje je pod Game > Combat.

Ponechání profileru zapnutého. Skriptový profiler má měřitelnou režii. Vypněte ho, když dokončíte profilování, abyste získali přesné hodnoty FPS.

Velké hodnoty vzdálenosti kolizních objektů. Nastavení Max. Collider Distance na 200 nebo 500 zničí vaši snímkovou frekvenci. Použijte nejmenší hodnotu pokrývající vaši oblast zájmu.

Nepovolení předpokladů. Některé volby závisí na povolení jiných:

  • "Draw Char Ctrl" a "Draw Bullet wireframe" závisí na "Draw Bullet shape"
  • "Edit Volume" vyžaduje volnou kameru
  • "Project Target Loot" vyžaduje povolené "Loot Vis"

Další kroky

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