DayZ Modding Glossary & Page Index
Home | Glossary & Index
本wiki和DayZ Modding中使用的术语综合参考。
A
Action — A player interaction with an item or the world (eating, opening doors, repairing). Actions are built using ActionBase with conditions and callback stages. 参见第 6.12.
Addon Builder — DayZ Tools application that packs mod files into PBO archives. Handles binarization, file signing, and prefix mapping. 参见第 4.6.
autoptr — Scoped strong reference pointer in Enforce Script. The referenced object is automatically destroyed when the autoptr goes out of scope. Rarely used 在 DayZ Modding 中 (prefer explicit ref). 参见第 1.8.
B
Binarize — Process of converting source files (config.cpp, .p3d, .tga) into optimized engine-ready formats (.bin, ODOL, .paa). Performed automatically by Addon Builder or the Binarize tool in DayZ Tools. 参见第 4.6.
bikey / biprivatekey / bisign — See Key Signing.
C
CallQueue — DayZ engine utility for scheduling delayed or repeating function calls. Accessed via GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM). 参见第 6.7.
CastTo — See Class.CastTo.
Central Economy (CE) — DayZ's loot distribution and persistence system. Configured through XML files (types.xml, mapgrouppos.xml, cfglimitsdefinition.xml) that define what spawns, where, and how often. 参见第 6.10.
CfgMods — Top-level config.cpp class that registers a mod with 引擎. Defines the mod name, script directories, required dependencies, and addon loading order. 参见第 2.2.
CfgPatches — Config.cpp class that registers individual addons (script packages, models, textures) within a mod. The requiredAddons[] array controls loading order between mods. 参见第 2.2.
CfgVehicles — Config.cpp class hierarchy that defines all game entities: items, buildings, vehicles, animals, and players. Despite the name, it contains far more than vehicles. 参见第 2.2.
Class.CastTo — Static method for safe downcasting in Enforce Script. Returns true if the cast succeeds. Required because Enforce Script has no as keyword. 用法: Class.CastTo(result, source). 参见第 1.9.
CommunityFramework (CF) — Third-party framework mod by Jacob_Mango providing module lifecycle management, logging, RPC helpers, file I/O utilities, and doubly-linked list data structures. Many popular mods depend on it. 参见第 7.2.
config.cpp — The central configuration file for every DayZ mod. Defines CfgPatches, CfgMods, CfgVehicles, and other class hierarchies that 引擎 reads at startup. This is NOT C++ code despite the extension. 参见第 2.2.
D
DamageSystem — Engine subsystem that handles hit registration, damage zones, health/blood/shock values, and armor calculations on entities. Configured through config.cpp DamageSystem class with zones and hit components. 参见第 6.1.
DayZ Tools — Free Steam application containing the official modding toolkit: Object Builder, Terrain Builder, Addon Builder, TexView2, Workbench, and P: drive management. 参见第 4.5.
DayZPlayer — Base class for all player entities in 引擎. Provides access to movement, animation, inventory, and input systems. PlayerBase extends this class and is the typical modding entry point. 参见第 6.1.
Dedicated Server — Standalone headless server process (DayZServer_x64.exe) used for multiplayer hosting. Runs server-side scripts only. Contrast with Listen Server.
E
EEInit — Engine event method called when an entity is initialized after creation. Override this in your entity class to perform setup logic. Called on both client and server. 参见第 6.1.
EEKilled — Engine event method called when an entity's health reaches zero. Used for death logic, loot drops, and kill tracking. 参见第 6.1.
EEHitBy — Engine event method called when an entity receives damage. Parameters include the damage source, component hit, damage type, and damage zones. 参见第 6.1.
EEItemAttached — Engine event method called when an item is attached to an entity's inventory slot (e.g., attaching a scope to a weapon). Paired with EEItemDetached. 参见第 6.1.
Enforce Script — Bohemia Interactive's proprietary scripting language used in DayZ and Enfusion engine games. C-like syntax similar to C#, but with unique limitations (no ternary, no try/catch, no lambdas). 参见第 1.
EntityAI — Base class for all "intelligent" entities in DayZ (players, animals, zombies, items). Extends Entity with inventory, damage system, and AI interfaces. Most item and character modding starts here. 参见第 6.1.
EventBus — A publish-subscribe pattern for decoupled communication between systems. Modules subscribe to named events and receive callbacks when events are fired, without direct dependencies. 参见第 7.6.
F
File Patching — Launch parameter (-filePatching) that allows 引擎 to load loose files from the P: drive instead of packed PBOs. Essential for rapid development iteration. Must be enabled on both client and server. 参见第 4.6.
Fire Geometry — Specialized LOD in a 3D model (.p3d) that defines surfaces where bullets can impact and deal damage. Distinct from View Geometry and Geometry LOD. 参见第 4.2.
G
GameInventory — Engine class managing an entity's inventory system. Provides methods for adding, removing, finding, and transferring items between containers and slots. 参见第 6.1.
GetGame() — Global function returning the CGame singleton. Entry point for accessing mission, players, call queues, RPC, weather, and other engine systems. Available everywhere in script. 参见第 6.1.
GetUApi() — Global function returning the UAInputAPI singleton for the input system. Used to register and query custom keybindings. 参见第 6.13.
Geometry LOD — 3D model level-of-detail used for physical collision detection (player movement, vehicle physics). Separate from View Geometry and Fire Geometry. 参见第 4.2.
Guard Clause — Defensive programming pattern: check preconditions at the start of a method and return early if they fail. Essential in Enforce Script because there is no try/catch. 参见第 1.11.
H
Hidden Selections — Named texture/material slots on a 3D model that can be swapped at runtime via script. Used for camouflage variants, team colors, damage states, and dynamic appearance changes. Defined in config.cpp and the model's named selections. 参见第 4.2.
HUD — Heads-Up Display: on-screen UI elements visible during gameplay (health indicators, hotbar, compass, notifications). Built using .layout files and scripted widget classes. 参见第 3.1.
I
IEntity — The lowest-level entity interface in the Enfusion engine. Provides transform (position/rotation), visual, and physics access. Most modders work with EntityAI or higher classes instead. 参见第 6.1.
ImageSet — XML file (.imageset) defining named rectangular regions within a texture atlas (.edds or .paa). Used to reference icons, button graphics, and UI elements without separate image files. 参见第 5.4.
InventoryLocation — Engine class describing a specific position in the inventory system: which entity, which slot, which cargo row/column. Used for precise inventory manipulation and transfers. 参见第 6.1.
ItemBase — The standard 基类 for all in-game items (extends EntityAI). Weapons, tools, food, clothing, containers, and attachments all inherit from ItemBase. 参见第 6.1.
J
JsonFileLoader — Engine utility class for loading and saving JSON files in Enforce Script. Important gotcha: JsonLoadFile() returns void — you must pass a pre-allocated object by reference, not assign the return value. 参见第 6.8.
K
Key Signing (.bikey, .biprivatekey, .bisign) — DayZ's mod verification system. A .biprivatekey is used to sign PBOs (producing .bisign files). The matching .bikey public key is placed in the server's keys/ folder. Servers only load mods whose signatures match an installed key. 参见第 4.6.
L
Layout (.layout file) — XML-based UI definition file used by DayZ's GUI system. Defines widget hierarchy, positioning, sizing, and style properties. Loaded at runtime with GetGame().GetWorkspace().CreateWidgets(). 参见第 3.2.
Listen Server — A server hosted within the game client (player acts as both server and client). Useful for solo testing. Some code paths differ from dedicated servers — always test both. 参见第 8.1.
LOD (Level of Detail) — Multiple versions of a 3D model at different polygon counts. The engine switches between them based on camera distance to optimize performance. DayZ models also have special-purpose LODs: Geometry, Fire Geometry, View Geometry, Memory, and Shadow. 参见第 4.2.
M
Managed — Enforce Script keyword indicating a class whose instances are reference-counted and automatically garbage collected. Most DayZ classes inherit from Managed. Contrast with Class (manually managed). 参见第 1.8.
Memory Point — Named point embedded in a 3D model's Memory LOD. Used by scripts to locate positions on an object (muzzle flash origin, attachment points, proxy positions). Accessed via GetMemoryPointPosition(). 参见第 4.2.
Mission (MissionServer / MissionGameplay) — The top-level game state controller. MissionServer runs on the server, MissionGameplay runs on the client. Override these to hook into game startup, player connections, and shutdown. 参见第 6.11.
mod.cpp — File placed in a mod's root folder that defines its Steam Workshop metadata: name, author, description, icon, and action URL. Not to be confused with config.cpp. 参见第 2.3.
Modded Class — Enforce Script mechanism (modded class X extends X) for extending or overriding existing classes without modifying original files. The engine chains all modded class definitions together. This is the primary way mods interact with vanilla and other mods. 参见第 1.4.
Module — A self-contained unit of functionality registered with a module manager (like CF's PluginManager). Modules have lifecycle methods (OnInit, OnUpdate, OnMissionFinish) and are the standard architecture for mod systems. 参见第 7.2.
N
Named Selection — A named group of vertices/faces in a 3D model, created in Object Builder. Used for Hidden Selections (texture swapping), damage zones, and animation targets. 参见第 4.2.
Net Sync Variable — A variable automatically synchronized from server to all clients by 引擎's network replication system. Registered via RegisterNetSyncVariable*() methods and received in OnVariablesSynchronized(). 参见第 6.9.
notnull — Enforce Script parameter modifier that tells 编译器 a reference parameter must not be null. Provides compile-time safety and documents intent. 用法: void DoWork(notnull MyClass obj). 参见第 1.3.
O
Object Builder — DayZ Tools application for creating and editing 3D models (.p3d). Used to define LODs, named selections, memory points, and geometry components. 参见第 4.5.
OnInit — Lifecycle method called when a module or plugin is first initialized. Used for registration, subscription to events, and one-time setup. 参见第 7.2.
OnUpdate — Lifecycle method called 每帧 (or at a fixed interval) on modules and certain entities. Use sparingly — per-frame code is a performance concern. 参见第 7.7.
OnMissionFinish — Lifecycle method called when a mission ends (server shutdown, disconnect). Used for cleanup, saving state, and releasing resources. 参见第 6.11.
Override — The override keyword in Enforce Script, marking a method that replaces a 父类 method. Required (or strongly recommended) when overriding virtual methods. Always call super.MethodName() to preserve parent behavior unless intentionally replacing it. 参见第 1.3.
P
P: Drive (Workdrive) — Virtual drive letter mapped by DayZ Tools to your mod project directory. The engine uses P:\ paths internally to locate source files during development. Set up via DayZ Tools or manual subst commands. 参见第 4.5.
PAA — Bohemia's proprietary texture format (.paa). Converted from .tga or .png source files using TexView2 or Addon Builder's binarization step. Supports DXT1, DXT5, and ARGB compression. 参见第 4.1.
PBO — Packed Bohemia Object (.pbo): the archive format for distributing DayZ mod content. Contains scripts, configs, textures, models, and data files. Built with Addon Builder or third-party tools. 参见第 4.6.
PlayerBase — The primary player entity class modders work with. Extends DayZPlayer and provides access to inventory, damage, status effects, and all player-related functionality. 参见第 6.1.
PlayerIdentity — Engine class containing a connected player's metadata: Steam UID, name, network ID, and ping. Accessed server-side from PlayerBase.GetIdentity(). Essential for admin tools and persistence. 参见第 6.9.
PPE (Post-Process Effects) — Engine system for screen-space visual effects: blur, color grading, chromatic aberration, vignette, film grain. Controlled via PPERequester classes. 参见第 6.5.
Print — Built-in function for outputting text to the script log (%localappdata%/DayZ/ log files). Useful for debugging but should be removed or guarded in production code. 参见第 1.11.
Proto Native — Functions declared with proto native are implemented in the C++ engine, not in script. They bridge Enforce Script to engine internals and 不能被重写. 参见第 1.3.
Q
Quaternion — A four-component rotation representation used internally by 引擎. 实际上, DayZ modders typically work with Euler angles (vector of pitch/yaw/roll) and 引擎 converts internally. 参见第 1.7.
R
ref — Enforce Script keyword declaring a strong reference to a managed object. Prevents garbage collection while the reference exists. Use ref for ownership; raw references for non-owning pointers. Beware of ref cycles (A refs B, B refs A) which cause 内存泄漏s. 参见第 1.8.
requiredAddons — Array in CfgPatches specifying which addons must load before yours. Controls script compilation and config inheritance order between mods. Getting this wrong causes "missing class" or silent load failures. 参见第 2.2.
RPC (Remote Procedure Call) — Mechanism for sending data between server and client. DayZ provides GetGame().RPCSingleParam() and ScriptRPC for custom communication. Requires matching sender and receiver on the correct machine. 参见第 6.9.
RVMAT — Material definition file (.rvmat) used by DayZ's renderer. Specifies textures, shaders, and surface properties for 3D models. 参见第 4.3.
S
Scope (config) — Integer value in CfgVehicles controlling item visibility: 0 = hidden/abstract (never spawns), 1 = only accessible via script, 2 = visible in-game and spawnable by Central Economy. 参见第 2.2.
ScriptRPC — Enforce Script class for building and sending custom RPC messages. Allows writing multiple parameters (ints, floats, strings, vectors) into a single network packet. 参见第 6.9.
SEffectManager — Singleton manager for visual and sound effects. Handles particle creation, sound playback, and effect lifecycle. Use SEffectManager.PlayInWorld() for positioned effects. 参见第 6.1.
Singleton — Design pattern ensuring only one instance of a class exists. In Enforce Script, commonly implemented with a static GetInstance() method storing the instance in a static ref variable. 参见第 7.1.
Slot — A named attachment point on an entity (e.g., "Shoulder", "Hands", "Slot_Magazine"). Defined in config.cpp under InventorySlots and the entity's attachments[] array. 参见第 6.1.
stringtable.csv — CSV file providing localized strings for up to 13 languages. Referenced in code via #STR_ prefixed keys. The engine automatically selects the correct language column. 参见第 5.1.
super — Keyword used inside a method override to call the 父类 implementation. Always call super.MethodName() in overridden methods unless you intentionally want to skip parent logic. 参见第 1.3.
T
TexView2 — DayZ Tools utility for viewing and converting textures between .tga, .png, .paa, and .edds formats. Also used to inspect PAA compression, mipmaps, and alpha channels. 参见第 4.5.
typename — Enforce Script type representing a class reference at runtime. Used for reflection, factory patterns, and dynamic type checking. Obtained from an instance with obj.Type() or from a class name directly: typename t = PlayerBase;. 参见第 1.9.
types.xml — Central Economy XML file defining every spawnable item's nominal count, lifetime, restock behavior, spawn categories, and tier zones. Located in the mission's db/ folder. 参见第 6.10.
U
UAInput — Engine class representing a single input action (keybinding). Created from GetUApi().RegisterInput() and used to detect key presses, holds, and releases. Defined alongside inputs.xml. 参见第 6.13.
Unlink — Method to safely destroy and dereference a managed object. Preferred over setting to null when you need to ensure immediate cleanup. Called as GetGame().ObjectDelete(obj) for entities. 参见第 1.8.
V
View Geometry — 3D model LOD used for visual occlusion tests (AI sight checks, player line-of-sight). Determines whether an object blocks vision. Separate from Geometry LOD (collision) and Fire Geometry (ballistics). 参见第 4.2.
W
Widget — Base class for all UI elements in DayZ's GUI system. Subtypes include TextWidget, ImageWidget, ButtonWidget, EditBoxWidget, ScrollWidget, and container types like WrapSpacerWidget. 参见第 3.1.
Workbench — DayZ Tools IDE for editing scripts, configs, and running the game in development mode. Provides script compilation, breakpoints, and the Resource Browser. 参见第 4.5.
WrapSpacer — Container widget that wraps its children into rows/columns (like CSS flexbox wrap). Essential for dynamic lists, inventory grids, and any layout where child count varies. 参见第 3.4.
X
XML Configs — Collective term for the many XML configuration files used by DayZ servers: types.xml, globals.xml, economy.xml, events.xml, cfglimitsdefinition.xml, mapgrouppos.xml, and others. 参见第 6.10.
Z
Zone (Damage Zone) — A named region on an entity's model that receives independent health tracking. Defined in config.cpp under DamageSystem with class DamageZones. Common zones on players: Head, Torso, LeftArm, LeftLeg, etc. 参见第 6.1.
缺少术语?请创建 issue 或提交 pull request。
