Skip to content

8.13. fejezet: A diagnosztikai menü (Diag Menu)

Kezdőlap | << Előző: Kereskedési rendszer építése | A diagnosztikai menü


Összefoglalás: A Diag Menu a DayZ beépített diagnosztikai eszköze, amely kizárólag a DayZDiag futtatható állományon keresztül érhető el. FPS-számlálót, szkript profilozást, renderelési hibakeresést, szabad kamerát, fizikai vizualizációt, időjárás-vezérlést, Central Economy eszközöket, AI navigációs hibakeresést és hangdiagnosztikát biztosít. Ez a fejezet a hivatalos Bohemia Interactive dokumentáció alapján minden menükategóriát, opciót és billentyűparancsot dokumentál.


Tartalomjegyzék


Mi az a Diag Menu?

A Diag Menu egy hierarchikus hibakereső menü, amely a DayZ diagnosztikai futtatható állományába van beépítve. A játék szkriptelésének és eszközeinek hibakereséséhez használt opciókat sorolja fel hét fő kategóriában: Statistics, Enfusion Renderer, Enfusion World, DayZ Render, Game, AI és Sounds.

A Diag Menu nem érhető el a DayZ kereskedelmi futtatható állományában (DayZ_x64.exe). A DayZDiag_x64.exe fájlt kell használnod -- a diagnosztikai buildet, amely a kereskedelmi verzió mellett található meg a DayZ telepítési vagy DayZ Server könyvtáraiban.


Hogyan érhető el

Követelmények

  • DayZDiag_x64.exe -- A diagnosztikai futtatható állomány. A DayZ telepítési mappádban található a szokásos DayZ_x64.exe mellett.
  • A játéknak futnia kell (nem a betöltőképernyőn ülve). A menü bármely 3D nézetben elérhető.

A menü megnyitása

Nyomd meg a Win + Alt billentyűkombinációt a Diag Menu megnyitásához.

Egy alternatív gyorsbillentyű a Ctrl + Win, de ez ütközik egy Windows 11 rendszer-gyorsbillentyűvel, ezért azon a platformon nem ajánlott.

Egérkurzor engedélyezése

Néhány Diag Menu opció megköveteli, hogy az egérrel interakcióba lépj a képernyővel. Az egérkurzor a következő billentyűkombinációval kapcsolható:

LCtrl + Numpad 9

Ez a billentyűkiosztás szkripten keresztül van regisztrálva (PluginKeyBinding).


Amikor a Diag Menu meg van nyitva:

BillentyűMűvelet
Fel / Le nyílNavigálás a menüelemek között
Jobbra nyílAlmenübe lépés, vagy az opció értékeinek léptetése
Balra nyílAz opció értékeinek visszafelé léptetése
BackspaceKilépés az aktuális almenüből (vissza egy szinttel)

Ha az opciók több értéket mutatnak, azok a menüben megjelenő sorrendben vannak felsorolva. Az első opció általában az alapértelmezett.


Gyorselérési billentyűparancsok

Ezek a gyorsbillentyűk bármikor működnek a DayZDiag futtatása közben, anélkül, hogy meg kellene nyitni a menüt:

GyorsbillentyűFunkció
LCtrl + Numpad 1FPS-számláló be-/kikapcsolása
LCtrl + Numpad 9Egérkurzor be-/kikapcsolása a képernyőn
RCtrl + RAlt + WRenderelési hibakeresési mód léptetése
LCtrl + LAlt + PUtófeldolgozási effektek be-/kikapcsolása
LAlt + Numpad 6Fizikai test vizualizáció be-/kikapcsolása
Page UpSzabad kamera: játékos mozgásának be-/kikapcsolása
Page DownSzabad kamera: kamera befagyasztása/feloldása
InsertJátékos teleportálása a kurzor pozíciójára (szabad kamerában)
HomeSzabad kamera be-/kikapcsolása / kikapcsolás és játékos teleportálása a kurzorhoz
Numpad /Szabad kamera be-/kikapcsolása (teleport nélkül)
EndSzabad kamera kikapcsolása (visszatérés a játékos kamerájára)

Megjegyzés: A hivatalos dokumentációban szereplő bármely "Cheat Inputs" hivatkozás a C++ oldalon beégetett bemenetekre vonatkozik, amelyek nem érhetők el szkripten keresztül.


A Diag Menu hét felső szintű kategóriát tartalmaz:

  1. Statistics -- FPS-számláló és szkript profilozó
  2. Enfusion Renderer -- Világítás, árnyékok, anyagok, takarás, utófeldolgozás, terep, widgetek
  3. Enfusion World -- Fizikai motor (Bullet) vizualizáció és hibakeresés
  4. DayZ Render -- Égbolt renderelés, geometria diagnosztika
  5. Game -- Időjárás, szabad kamera, járművek, harc, Central Economy, felületi hangok
  6. AI -- Navigációs háló, útvonalkeresés, AI ágens viselkedés
  7. Sounds -- Lejátszott minták hibakeresése, hangrendszer információk

Statistics

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

FPS

Engedélyezi az FPS-számlálót a képernyő bal felső sarkában.

Az FPS-érték az utolsó 10 képkocka közötti időből számított, tehát rövid gördülő átlagot tükröz, nem pillanatnyi értéket.

Script Profiler UI

Bekapcsolja a képernyőn megjelenő Script Profiler-t, amely valós idejű teljesítményadatokat jelenít meg a szkriptvégrehajtásról.

A profilozó hat adatszekciót mutat:

SzekcióMit mutat
Time per classEgy osztályhoz tartozó összes függvényhívás összesített ideje (top 20)
Time per functionEgy adott függvény összes hívásának összesített ideje (top 20)
Class allocationsEgy osztály allokációinak száma (top 20)
Count per functionEgy függvény meghívásának száma (top 20)
Class countEgy osztály élő példányainak száma (top 40)
Stats and settingsAktuális profilozó konfiguráció és képkocka-számlálók

A Stats and settings panel a következőket mutatja:

MezőJelentés
UI enabled (DIAG)A szkript profilozó UI aktív-e
Profiling enabled (SCRP)A profilozás fut-e akkor is, ha a UI nem aktív
Profiling enabled (SCRC)Ténylegesen folyik-e profilozás
FlagsAktuális adatgyűjtési jelzők
ModuleJelenleg profilozott modul
IntervalAktuális frissítési intervallum
Time ResolutionAktuális időfelbontás
AverageAz értékek átlagok-e
Game FrameÖsszes eltelt képkocka
Session FrameÖsszes képkocka ebben a profilozási munkamenetben
Total FramesÖsszes képkocka az összes profilozási munkamenetben
Profiled Sess FrmsEbben a munkamenetben profilozott képkockák
Profiled FramesAz összes munkamenetben profilozott képkockák

Fontos: A Script Profiler csak szkriptkódot profiloz. A Proto (motorhoz kötött) metódusok nem jelennek meg külön bejegyzésként, de végrehajtási idejük benne van az őket hívó szkriptmetódus összesített idejében.

Fontos: Az EnProfiler API és maga a szkript profilozó csak a diagnosztikai futtatható állományon érhető el.

Script Profiler beállítások

Ezek a beállítások szabályozzák, hogyan történik a profilozási adatok gyűjtése. Programozottan is módosíthatók az EnProfiler API-n keresztül (dokumentálva az EnProfiler.c fájlban).

Always Enabled

A profilozási adatgyűjtés alapértelmezés szerint nem engedélyezett. Ez a kapcsoló mutatja, hogy jelenleg aktív-e.

A profilozás indításkor való engedélyezéséhez használd a -profile indítási paramétert.

A Script Profiler UI figyelmen kívül hagyja ezt a beállítást -- mindig kényszeríti a profilozást, amíg a UI látható. Amikor a UI-t kikapcsolod, a profilozás újra leáll (hacsak az "Always enabled" nincs true-ra állítva).

Flags

Szabályozza az adatgyűjtés módját. Négy kombináció érhető el:

Jelző kombinációHatókörAdatok élettartama
SPF_RESET | SPF_RECURSIVEKiválasztott modul + gyermekekKépkockánkénti (minden képkockában visszaállítva)
SPF_RECURSIVEKiválasztott modul + gyermekekKépkockákon átívelő halmozott
SPF_RESETCsak a kiválasztott modulKépkockánkénti (minden képkockában visszaállítva)
SPF_NONECsak a kiválasztott modulKépkockákon átívelő halmozott
  • SPF_RECURSIVE: Engedélyezi a gyermekmodulok profilozását (rekurzívan)
  • SPF_RESET: Törli az adatokat minden képkocka végén

Module

Kiválasztja, melyik szkriptmodult profilozzuk:

OpcióSzkript réteg
CORE1_Core
GAMELIB2_GameLib
GAME3_Game
WORLD4_World
MISSION5_Mission
MISSION_CUSTOMinit.c

Update Interval

A képkockák száma, amelyet meg kell várni a rendezett adatmegjelenítés frissítése előtt. Ez késlelteti az SPF_RESET által okozott visszaállítást is.

Elérhető értékek: 0, 5, 10, 20, 30, 50, 60, 120, 144

Average

Átlagértékek megjelenítésének engedélyezése vagy letiltása.

  • SPF_RESET esetén és intervallum nélkül: az értékek a nyers képkockánkénti értékek
  • SPF_RESET nélkül: az összegyűjtött értéket elosztja a munkamenet képkockaszámával
  • Beállított intervallummal: elosztja az intervallummal

Az osztályszám soha nem átlagolt -- mindig az aktuális példányszámot mutatja. Az allokációk az átlagos létrehozási számot mutatják.

Time Resolution

Beállítja az idő megjelenítési egységét. Az érték a nevezőt jelöli (a másodperc hányad része):

ÉrtékEgység
1Másodperc
1000Ezredmásodperc
1000000Mikroszekundum

Elérhető értékek: 1, 10, 100, 1000, 10000, 100000, 1000000

(UI) Scale

A képernyőn megjelenő profilozó megjelenítésének vizuális méretezését állítja be különböző képernyőméretekhez és felbontásokhoz.

Tartomány: 0.5-től 1.5-ig (alapértelmezett: 1.0, lépés: 0.05)


Enfusion Renderer

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

A tényleges fényforrásokat kapcsolja (például PersonalLight vagy játékbeli tárgyak, mint zseblámpák). Ez nem érinti a környezeti világítást -- ahhoz a Lighting almenüt használd.

Lighting almenü

Minden kapcsoló egy adott világítási komponenst vezérel:

OpcióHatás kikapcsolt állapotban
Ambient lightingEltávolítja az általános környezeti fényt a jelenetből
Ground lightingEltávolítja a talajról visszaverődő fényt (tetőkön, karakter hónalj alatt látható)
Directional lightingEltávolítja a fő irányított (nap/hold) fényt. A kétirányú világítást is letiltja
Bidirectional lightingEltávolítja a kétirányú fénykomponenst
Specular lightingEltávolítja a tükrös fénycsúcsokat (fényes felületeken látható, mint szekrények, autók)
ReflectionEltávolítja a visszaverődési világítást (fémes/fényes felületeken látható)
Emission lightingEltávolítja az emissziós (önvilágítás) anyagokból

Ezek a kapcsolók hasznosak az egyes világítási hozzájárulások elkülönítéséhez, amikor vizuális problémákat debugolsz egyedi modellekben vagy jelenetekben.

Shadows

Engedélyezi vagy letiltja az árnyékrenderelést. A letiltás eltávolítja az eső objektumokon belüli kiszűrését is (az eső áthullik a tetőkön).

Terrain Shadows

Szabályozza a terepárnyékok generálásának módját.

Opciók: on (slice), on (full), no update, disabled

Render Debug Mode

Renderelési vizualizációs módok között vált a háló geometria játékban történő vizsgálatához.

Opciók: normal, wire, wire only, overdraw, overdrawZ

A különböző anyagok különböző drótváz színekben jelennek meg:

AnyagSzín (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

Kapcsolók az okkluziós kiválogatási rendszerhez:

OpcióHatás
OccludersObjektum okkluziós be-/kikapcsolása
Occlude entitiesEntitás okkluziós be-/kikapcsolása
Occlude proxiesProxy okkluziós be-/kikapcsolása
Show occluder volumesPillanatfelvételt készít és hibakereső alakzatokat rajzol az okkluziós térfogatok vizualizálásához
Show active occludersA jelenleg aktív okkludereket mutatja hibakereső alakzatokkal
Show occludedAz okkludált objektumokat vizualizálja hibakereső alakzatokkal

Widgets

Az összes UI widget renderelésének engedélyezése vagy letiltása. Hasznos tiszta képernyőképek készítéséhez vagy renderelési problémák elkülönítéséhez.

Postprocess

Utófeldolgozási effektek (bloom, színkorrekció, vignetta stb.) engedélyezése vagy letiltása.

Terrain

A terepek renderelésének teljes engedélyezése vagy letiltása.

Materials almenü

Adott anyagtípusok renderelésének be-/kikapcsolása. A legtöbb magától értetődő. Figyelemre méltó bejegyzések:

  • Super -- Átfogó kapcsoló, amely minden "super" shaderhez kapcsolódó anyagot lefed
  • Old Terrain -- Mind a Terrain, mind a Terrain Simple anyagokat lefedi
  • Water -- Minden vízhez kapcsolódó anyagot lefed (óceán, part, folyók)

Enfusion World (Physics)

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]

Megjegyzés: A "Bullet" itt a Bullet fizikai motorra utal, nem a lőszerre.

Show Bullet

Bekapcsolja a Bullet fizikai motor hibakereső vizualizációját.

Bullet almenü

OpcióLeírás
Draw Char CtrlA játékos karaktervezérlő vizualizálása. A "Draw Bullet shape" opciótól függ
Draw Simple Char CtrlAz AI karaktervezérlő vizualizálása. A "Draw Bullet shape" opciótól függ
Max. Collider DistanceMaximális távolság a játékostól az ütközők vizualizálásához (értékek: 0, 1, 2, 5, 10, 20, 50, 100, 200, 500). Alapértelmezett: 0
Draw Bullet shapeFizikai ütköző alakzatok vizualizálása
Draw Bullet wireframeÜtközők megjelenítése csak drótvázként. A "Draw Bullet shape" opciótól függ
Draw Bullet shape AABBAz ütközők tengelyre igazított befoglaló dobozainak megjelenítése
Draw obj center of massObjektumok tömegközéppontjainak megjelenítése
Draw Bullet contactsÉrintkező ütközők vizualizálása
Force sleep BulletAz összes fizikai test alvásra kényszerítése
Show statsHibakereső statisztikák megjelenítése (opciók: disabled, basic, all). A statisztikák 10 másodpercig láthatók maradnak a kikapcsolás után

Figyelmeztetés: A Max. Collider Distance alapértelmezés szerint 0, mert ez a vizualizáció költséges. Nagy távolságra állítása jelentős teljesítményromlást okoz.

Show Bodies

Bullet fizikai testek vizualizálása. Opciók: disabled, only, all


DayZ Render

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

Sky almenü

Egyedi égbolt renderelési komponensek be-/kikapcsolása:

OpcióMit vezérel
SpaceA csillagok mögötti háttér textúra
StarsCsillagok renderelése
SunA Nap és halóeffektje (nem az istensugarak)
MoonA Hold és halóeffektje (nem az istensugarak)
AtmosphereA légkör textúra az égen
Far (Clouds)Felső/távoli felhők. Ezek nem befolyásolják a fénysugarakat (kevésbé sűrűek)
Near (Clouds)Alsó/közelebbi felhők. Sűrűbbek és takarásként működnek a fénysugarakhoz
Physical (Clouds)Elavult objektumalapú felhők. A Chernarus-ból és Livonia-ból eltávolítva a DayZ 1.23-ban
HorizonHorizont renderelés. A horizont megakadályozza a fénysugarakat
God RaysFénysugár utófeldolgozási effekt

Geometry Diagnostic

Hibakereső alakzatrajzolást engedélyez, hogy vizualizáld, hogyan néz ki egy objektum geometriája a játékban.

Geometria típusok: normal, roadway, geometry, viewGeometry, fireGeometry, paths, memory, wreck

Rajzolási módok: solid+wire, Zsolid+wire, wire, ZWire, geom only

Ez rendkívül hasznos egyedi modelleket készítő modderek számára -- ellenőrizheted a tűz geometriát, nézet geometriát és memóriapontokat anélkül, hogy kilépnél a játékból.


Game

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

Hibakereső funkciók az időjárásrendszerhez.

Display

Engedélyezi az időjárás hibakereső vizualizációt. Megjelenít egy képernyőn látható köd/látótávolság hibakeresőt, és megnyit egy külön valós idejű ablakot részletes időjárási adatokkal.

A külön ablak szerveren futtatva való engedélyezéséhez használd a -debugweather indítási paramétert.

Az ablak beállításai a profilokban tárolódnak: weather_client_imgui.ini / weather_client_imgui.bin (vagy szervereknél weather_server_*).

Force Fog at Camera

A köd magasságát a játékos kamera magasságához kényszeríti. Elsőbbséget élvez a Height bias beállítással szemben.

Override Fog

Engedélyezi a ködértékek kézi beállításokkal való felülírását:

ParaméterTartományLépés
Distance density0 -- 10.01
Height density0 -- 10.01
Distance offset0 -- 10.01
Height bias-500 -- 5005

Free Camera

A szabad kamera leválasztja a nézetet a játékos karakteréről, és lehetővé teszi a világ átszelését repüléssel. Ez a modderek egyik leghasznosabb hibakereső eszköze.

Szabad kamera vezérlők

BillentyűEredetFunkció
W / A / S / DInputs (xml)Előre / balra / hátra / jobbra mozgás
QInputs (xml)Felfelé mozgás
ZInputs (xml)Lefelé mozgás
EgérInputs (xml)Körülnézés
Egérgörgő felInputs (C++)Sebesség növelése
Egérgörgő leInputs (C++)Sebesség csökkentése
SzóközCheat Inputs (C++)Célzott objektum képernyőn megjelenő hibakeresésének be-/kikapcsolása
Ctrl / ShiftCheat Inputs (C++)Aktuális sebesség x 10
AltCheat Inputs (C++)Aktuális sebesség / 10
EndCheat Inputs (C++)Szabad kamera kikapcsolása (visszatérés a játékoshoz)
EnterCheat Inputs (C++)Kamera összekapcsolása a célzott objektummal
Page UpCheat Inputs (C++)Játékos mozgásának be-/kikapcsolása szabad kamerában
Page DownCheat Inputs (C++)Kamera pozíciójának befagyasztása/feloldása
InsertPluginKeyBinding (Script)Játékos teleportálása a kurzor pozíciójára
HomePluginKeyBinding (Script)Szabad kamera be-/kikapcsolása / kikapcsolás és teleportálás a kurzorhoz
Numpad /PluginKeyBinding (Script)Szabad kamera be-/kikapcsolása (teleport nélkül)

Szabad kamera opciók

OpcióLeírás
FrCam Player MoveA játékos bemenetek (WASD) mozgatják-e a játékost szabad kamerában
FrCam NoClipA kamera áthaladhat-e a terepen
FrCam FreezeA bemenetek mozgatják-e a kamerát

Vehicles

Kibővített hibakereső funkciók járművekhez. Ezek csak akkor működnek, ha a játékos járműben van.

  • Audio -- Külön ablakot nyit hangbeállítások valós idejű módosításához. Audio vezérlők vizualizációját tartalmazza.
  • Simulation -- Külön ablakot nyit autó szimulációs hibakereséssel: fizikai paraméterek módosítása és vizualizáció.

Combat

Hibakereső eszközök harchoz, lövészethez és találati pontokhoz:

OpcióLeírás
DECombatKépernyőn megjelenő szöveget mutat autók, AI és játékosok távolságával
DEShotsLövedék hibakereső almenü (lásd alább)
DEHitpointsA játékos és a nézett objektum DamageSystem-jét jeleníti meg
DEExplosionsRobbanás behatolási adatokat mutat. A számok a lassulási értékeket jelölik. Piros kereszt = megállítva. Zöld kereszt = áthatolt

DEShots almenü:

OpcióLeírás
Clear vis.Meglévő lövés vizualizáció törlése
Vis. trajectoryLövés útvonalának nyomkövetése, kilépési és megállási pont megjelenítése
Always DeflectKényszeríti az összes kliens által leadott lövés elpattanását

Legacy/Obsolete

  • DEAmbient -- A környezeti hangokat befolyásoló változókat jeleníti meg
  • DELight -- Az aktuális világítási környezet statisztikáit jeleníti meg

DESurfaceSound

A játékos alatt lévő felülettípust és a csillapítás típusát jeleníti meg.

Central Economy

Átfogó hibakereső eszközkészlet a Central Economy (CE) rendszerhez.

Fontos: A legtöbb CE hibakereső opció csak egyjátékos kliensben működik engedélyezett CE-vel. Csak a "Building Stats" működik többjátékos környezetben vagy kikapcsolt CE esetén.

Megjegyzés: Ezek közül sok funkció szkripten keresztül is elérhető a CEApi-n át (CentralEconomy.c).

Loot Spawn Edit

Eszközök loot spawn pontok létrehozásához és szerkesztéséhez objektumokon. Az Edit Volume eszköz használatához a szabad kamerát engedélyezni kell.

OpcióLeírásSzkript megfelelő
Spawn Volume VisLoot spawn pontok vizualizálása. Opciók: Off, Adaptive, Volume, OccupiedGetCEApi().LootSetSpawnVolumeVisualisation()
Setup VisCE beállítási tulajdonságok megjelenítése a képernyőn színkódolt konténerekkelGetCEApi().LootToggleSpawnSetup()
Edit VolumeInteraktív loot pont szerkesztő (szabad kamera szükséges)GetCEApi().LootToggleVolumeEditing()
Re-Trace Group PointsLoot pontok újrakövetése a lebegési problémák javításáraGetCEApi().LootRetraceGroupPoints()
Spawn CandyLoot spawnolása a kiválasztott csoport összes spawn pontján--
Spawn Rotation TestForgatási jelzők tesztelése a kurzor pozíciójánál--
Placement TestElhelyezés vizualizálása gömb hengerrel--
Export GroupKiválasztott csoport exportálása a storage/export/mapGroup_CLASSNAME.xml fájlbaGetCEApi().LootExportGroup()
Export All GroupsÖsszes csoport exportálása a storage/export/mapgroupproto.xml fájlbaGetCEApi().LootExportAllGroups()
Export Mapstorage/export/mapgrouppos.xml generálásaGetCEApi().LootExportMap()
Export Clustersstorage/export/mapgroupcluster.xml generálásaGetCEApi().ExportClusterData()
Export Economy [csv]Gazdaság exportálása a storage/log/economy.csv fájlbaGetCEApi().EconomyLog(EconomyLogCategories.Economy)
Export Respawn Queue [csv]Újraspawn sor exportálása a storage/log/respawn_queue.csv fájlbaGetCEApi().EconomyLog(EconomyLogCategories.RespawnQueue)

Edit Volume billentyűkiosztás:

BillentyűFunkció
[Visszafelé léptetés a konténerek között
]Előre léptetés a konténerek között
LMBÚj pont beszúrása
RMBPont törlése
;Pont méretének növelése
'Pont méretének csökkentése
InsertLoot spawnolása a pontnál
M48 db "AmmoBox_762x54_20Rnd" spawnolása
BackspaceKözeli loot megjelölése takarításra (élettartam lejártatása, nem azonnali)

Loot Tool

OpcióLeírásSzkript megfelelő
Deplete LifetimeÉlettartam 3 másodpercre csökkentése (takarításra ütemezve)GetCEApi().LootDepleteLifetime()
Set Damage = 1.0Életerő 0-ra állításaGetCEApi().LootSetDamageToOne()
Damage + DepleteA fenti kettő végrehajtásaGetCEApi().LootDepleteAndDamage()
Invert AvoidanceJátékos elkerülés (közeli játékosok érzékelése) be-/kikapcsolása--
Project Target LootCélzott tárgy spawnolásának emulálása, képek és naplók generálása. A "Loot Vis" engedélyezése szükségesGetCEApi().SpawnAnalyze() és GetCEApi().EconomyMap()

Infected

OpcióLeírásSzkript megfelelő
Infected VisZombi zónák, helyszínek, élő/halott állapot vizualizálásaGetCEApi().InfectedToggleVisualisation()
Infected Zone InfoKépernyőn megjelenő hibakeresés, amikor a kamera egy fertőzött zónában vanGetCEApi().InfectedToggleZoneInfo()
Infected SpawnFertőzött spawnolása a kiválasztott zónában (vagy "InfectedArmy" a kurzornál)GetCEApi().InfectedSpawn()
Reset CleanupTakarítási időzítő 3 másodpercre állításaGetCEApi().InfectedResetCleanup()

Animal

OpcióLeírásSzkript megfelelő
Animal VisÁllat zónák, helyszínek, élő/halott állapot vizualizálásaGetCEApi().AnimalToggleVisualisation()
Animal SpawnÁllat spawnolása a kiválasztott zónában (vagy "AnimalGoat" a kurzornál)GetCEApi().AnimalSpawn()
Ambient Spawn"AmbientHen" spawnolása a kurzor célpontjánálGetCEApi().AnimalAmbientSpawn()

Building

A Building Stats képernyőn megjelenő hibakeresést mutat az épületek ajtóállapotairól:

  • Bal oldal: minden ajtó nyitott/zárt és szabad/zárolt állapota
  • Közép: statisztikák a buildings.bin-ről (épület perzisztencia)

Az ajtó véletlenszerűsítés az initOpened config értéket használja. Ha rand < initOpened, az ajtó nyitottan spawnol (tehát initOpened=0 azt jelenti, hogy az ajtók soha nem spawnolnak nyitottan).

Gyakori <building/> beállítások az economy.xml-ben:

BeállításViselkedés
init="0" load="0" respawn="0" save="0"Nincs perzisztencia, nincs véletlenszerűsítés, alapértelmezett állapot újraindítás után
init="1" load="0" respawn="0" save="0"Nincs perzisztencia, ajtók véletlenszerűsítve az initOpened által
init="1" load="1" respawn="0" save="1"Csak a zárolt ajtókat menti, ajtók véletlenszerűsítve az initOpened által
init="0" load="1" respawn="0" save="1"Teljes perzisztencia, pontos ajtóállapot mentése, nincs véletlenszerűsítés

Egyéb Central Economy eszközök

OpcióLeírásSzkript megfelelő
Vehicle&Wreck Vis"Vehicle" elkerülésre regisztrált objektumok vizualizálása. Sárga = Autó, Rózsaszín = Roncsok (Building), Kék = InventoryItemGetCEApi().ToggleVehicleAndWreckVisualisation()
Loot VisKépernyőn megjelenő gazdasági adatok bármihez, amit nézel (loot, fertőzött, dinamikus események)GetCEApi().ToggleLootVisualisation()
Cluster VisKépernyőn megjelenő trajektória DE statisztikákGetCEApi().ToggleClusterVisualisation()
Dynamic Events StatusKépernyőn megjelenő DE statisztikákGetCEApi().ToggleDynamicEventStatus()
Dynamic Events VisDE spawn pontok vizualizálása és szerkesztéseGetCEApi().ToggleDynamicEventVisualisation()
Dynamic Events SpawnDinamikus esemény spawnolása a legközelebbi pontnál vagy "StaticChristmasTree" tartalékkéntGetCEApi().DynamicEventSpawn()
Export Dyn EventDE pontok exportálása a storage/export/eventSpawn_CLASSNAME.xml fájlbaGetCEApi().DynamicEventExport()
Overall StatsKépernyőn megjelenő CE statisztikákGetCEApi().ToggleOverallStats()
Updaters StateMegmutatja, mit dolgoz fel jelenleg a CE--
Idle ModeCE alvásra küldése (feldolgozás leállítása)--
Force SaveA teljes storage/data mappa kényszerített mentése (a játékos adatbázist nem tartalmazza)--

Dynamic Events Vis billentyűkiosztás:

BillentyűFunkció
[Visszafelé léptetés az elérhető DE-k között
]Előre léptetés az elérhető DE-k között
LMBÚj pont beszúrása a kiválasztott DE-hez
RMBA kurzorhoz legközelebbi pont törlése
MMBTartva vagy kattintva szög forgatása

AI

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

Fontos: Az AI hibakeresés jelenleg nem működik többjátékos környezetben.

Show NavMesh

Hibakereső alakzatokat rajzol a navigációs háló vizualizálásához. Képernyőn megjelenő hibakeresőt mutat statisztikákkal.

BillentyűFunkció
Numpad 0"Teszt kezdete" regisztrálása a kamera pozíciójánál
Numpad 1Csempe újragenerálása a kamera pozíciójánál
Numpad 2Csempék újragenerálása a kamera pozíciója körül
Numpad 3Előre léptetés a vizualizációs típusok között
LAlt + Numpad 3Visszafelé léptetés a vizualizációs típusok között
Numpad 4"Teszt vége" regisztrálása a kamera pozíciójánál. Gömböket és vonalat rajzol a kezdő és végpont között. Zöld = útvonal találva, Piros = nincs útvonal
Numpad 5NavMesh legközelebbi pozíció teszt (SamplePosition). Kék gömb = lekérdezés, rózsaszín gömb = eredmény
Numpad 6NavMesh raycast teszt. Kék gömb = lekérdezés, rózsaszín gömb = eredmény

Debug Pathgraph World

Képernyőn megjelenő hibakeresés, amely megmutatja, hány útvonalkérés fejeződött be és hány van folyamatban.

Debug Path Agent

Képernyőn megjelenő hibakeresés és hibakereső alakzatok egy AI útvonalkereséshez. Célozz meg egy AI entitást a nyomkövetéshez való kiválasztásához. Használd ezt, amikor kifejezetten az érdekel, hogyan találja meg az útvonalát egy AI.

Debug AI Agent

Képernyőn megjelenő hibakeresés és hibakereső alakzatok egy AI éberségi szintjéhez és viselkedéséhez. Célozz meg egy AI entitást a nyomkövetéshez való kiválasztásához. Használd ezt, amikor az AI döntéshozatalát és tudatossági állapotát akarod megérteni.


Sounds

Sounds
  Show playing samples
  Show system info

Show Playing Samples

Hibakereső vizualizáció a jelenleg lejátszott hangokhoz.

OpcióLeírás
noneAlapértelmezett, nincs hibakeresés
ImGuiKülön ablak (legújabb iteráció). Szűrést és teljes kategória lefedettséget támogat. Beállítások mentése: playing_sounds_imgui.ini / .bin a profilokban
DbgUIRégi. Kategóriaszűréssel rendelkezik, olvashatóbb, de kimegy a képernyőről és hiányzik a jármű kategória
EngineRégi. Valós idejű színkódolt adatokat mutat statisztikákkal, de kimegy a képernyőről és nincs szín jelmagyarázat

Show System Info

A hangrendszer képernyőn megjelenő hibakereső statisztikái (pufferszámok, aktív források stb.).


Hasznos funkciók modderek számára

Bár minden opciónak megvan a haszna, ezeket használják a modderek leggyakrabban:

Teljesítményelemzés

  1. FPS-számláló (LCtrl + Numpad 1) -- Gyors ellenőrzés, hogy a modod nem rontja-e tönkre a képkockasebességet
  2. Script Profiler -- Keresd meg, mely osztályaid vagy függvényeid fogyasztják a legtöbb CPU-időt. Állítsd a modult WORLD-re vagy MISSION-re, hogy a modod szkript rétegére fókuszálj

Vizuális hibakeresés

  1. Szabad kamera -- Repülj körbe a spawnolt objektumok vizsgálatához, pozíciók ellenőrzéséhez, AI viselkedés távolról való megfigyeléséhez
  2. Geometry Diagnostic -- Ellenőrizd az egyedi modelled tűz geometriáját, nézet geometriáját, roadway LOD-ját és memóriapontjait anélkül, hogy kilépnél a játékból
  3. Render Debug Mode (RCtrl + RAlt + W) -- Drótváz átfedések megtekintése a háló sűrűség és anyag hozzárendelések ellenőrzéséhez

Játékmenet tesztelés

  1. Szabad kamera + Insert -- Teleportáld a játékosodat bárhová a térképen azonnal
  2. Időjárás felülírás -- Kényszeríts ki konkrét ködkörülményeket a láthatóságfüggő funkciók teszteléséhez
  3. Central Economy eszközök -- Fertőzöttek, állatok, loot és dinamikus események spawnolása igény szerint
  4. Harc hibakeresés -- Lövés trajektóriák nyomkövetése, találati pont sérülési rendszerek vizsgálata, robbanás behatolás tesztelése

AI fejlesztés

  1. Show NavMesh -- Ellenőrizd, hogy az AI tényleg el tud-e navigálni oda, ahova várod
  2. Debug AI Agent -- Lásd, mit gondol egy fertőzött vagy állat, milyen riasztási szinten van
  3. Debug Path Agent -- Lásd az AI tényleges útvonalát és azt, hogy az útvonalkeresés sikeres-e

Mikor használd a Diag Menüt

Fejlesztés közben

  • Script Profiler képkockánkénti kód optimalizálásakor (OnUpdate, EOnFrame)
  • Szabad kamera objektumok pozicionálásához, spawn helyek ellenőrzéséhez, modell elhelyezés vizsgálatához
  • Geometry Diagnostic közvetlenül egy új modell importálása után a LOD-ok és geometria típusok ellenőrzéséhez
  • FPS-számláló alapértékként új funkciók hozzáadása előtt és után

Tesztelés közben

  • Harc hibakeresés fegyversérülés, lövedékviselkedés, robbanási effektek ellenőrzéséhez
  • CE eszközök loot elosztás, spawn pontok, dinamikus események teszteléséhez
  • AI hibakeresés a fertőzött/állat viselkedés játékos jelenlétére adott helyes válaszának ellenőrzéséhez
  • Időjárás hibakeresés a mod különböző időjárási körülmények közötti teszteléséhez

Hibajelentés vizsgálatakor

  • FPS-számláló + Script Profiler amikor játékosok teljesítményproblémákat jelentenek
  • Szabad kamera + Szóköz (objektum hibakeresés) a nem megfelelően viselkedő objektumok vizsgálatához
  • Render Debug Mode vizuális hibák vagy anyagproblémák diagnosztizálásához
  • Show Bullet fizikai ütközési problémák hibakereséséhez

Gyakori hibák

Kereskedelmi futtatható állomány használata. A Diag Menu csak a DayZDiag_x64.exe-ben érhető el. Ha megnyomod a Win+Alt-ot és semmi nem történik, a kereskedelmi buildet futtatod.

Elfelejteni, hogy a Max. Collider Distance 0. A fizikai vizualizáció (Draw Bullet shape) semmit nem mutat, ha a Max. Collider Distance még az alapértelmezett 0-n van. Állítsd legalább 10-20-ra, hogy lásd a körülötted lévő ütközőket.

CE eszközök többjátékos módban. A legtöbb Central Economy hibakereső opció csak egyjátékos módban működik engedélyezett CE-vel. Ne várd, hogy dedikált szerveren működjenek.

AI hibakeresés többjátékos módban. Az AI hibakeresés jelenleg nem működik többjátékos környezetben. Teszteld az AI viselkedést egyjátékos módban.

A "Bullet" összekeverése a lőszerrel. Az "Enfusion World" kategória "Bullet" opciói a Bullet fizikai motorra vonatkoznak, nem a fegyver lőszerre. A harchoz kapcsolódó hibakeresés a Game > Combat alatt található.

Profilozó bekapcsolva hagyása. A Script Profiler mérhető terhelést jelent. Kapcsold ki, ha befejezted a profilozást, hogy pontos FPS-értékeket kapj.

Nagy ütköző távolsági értékek. A Max. Collider Distance 200-ra vagy 500-ra állítása drasztikusan csökkenti a képkockasebességet. Használd a legkisebb értéket, amely lefedi az érdeklődési területedet.

Előfeltételek engedélyezésének elmulasztása. Több opció is függ mások engedélyezésétől:

  • A "Draw Char Ctrl" és "Draw Bullet wireframe" a "Draw Bullet shape"-től függ
  • Az "Edit Volume" szabad kamerát igényel
  • A "Project Target Loot" megköveteli a "Loot Vis" engedélyezését

Következő lépések

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