DayZ Modding Glossary & Page Index
Home | Glossary & Index
A comprehensive reference of terms used throughout this wiki and DayZ modding.
A
Ação — A player interaction with an item or the world (eating, opening doors, repairing). Açãos are built using AçãoBase with conditions and callback stages. See Capítulo 6.12.
Addon Builder — DayZ Tools application that packs mod files into PBO archives. Handles binarization, file signing, and prefix mapping. See Capítulo 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 in DayZ modding (prefer explicit ref). See Capítulo 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. See Capítulo 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). See Capítulo 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. See Capítulo 6.10.
CfgMods — Top-level config.cpp class that registers a mod with the engine. Defines the mod name, script directories, required dependencies, and addon loading order. See Capítulo 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. See Capítulo 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. See Capítulo 2.2.
Class.CastTo — Static method for safe downcasting in Enforce Script. Retorna true if the cast succeeds. Required because Enforce Script has no as keyword. Usage: Class.CastTo(result, source). See Capítulo 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. See Capítulo 7.2.
config.cpp — The central configuration file for every DayZ mod. Defines CfgPatches, CfgMods, CfgVehicles, and other class hierarchies that the engine reads at startup. This is NOT C++ code despite the extension. See Capítulo 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. See Capítulo 6.1.
DayZ Tools — Free Steam application containing the official modding toolkit: Object Builder, Terrain Builder, Addon Builder, TexView2, Workbench, and P: drive management. See Capítulo 4.5.
DayZPlayer — Base class for all player entities in the engine. Provides access to movement, animation, inventory, and input systems. PlayerBase extends this class and is the typical modding entry point. See Capítulo 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. See Capítulo 6.1.
EEKilled — Engine event method called when an entity's health reaches zero. Used for death logic, loot drops, and kill tracking. See Capítulo 6.1.
EEHitBy — Engine event method called when an entity receives damage. Parâmetros include the damage source, component hit, damage type, and damage zones. See Capítulo 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. See Capítulo 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). See Part 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. See Capítulo 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. See Capítulo 7.6.
F
File Patching — Launch parameter (-filePatching) that allows the engine 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 6.1.
GetUApi() — Global function returning the UAInputAPI singleton for the input system. Used to register and query custom keybindings. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 6.1.
ItemBase — The standard base class for all in-game items (extends EntityAI). Weapons, tools, food, clothing, containers, and attachments all inherit from ItemBase. See Capítulo 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. See Capítulo 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. See Capítulo 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(). See Capítulo 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. See Capítulo 8.1.
LOD (Level of Detalhe) — 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. See Capítulo 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). See Capítulo 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(). See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 4.2.
Net Sync Variável — A variable automatically synchronized from server to all clients by the engine's network replication system. Registered via RegisterNetSyncVariável*() methods and received in OnVariávelsSynchronized(). See Capítulo 6.9.
notnull — Enforce Script parameter modifier that tells the compiler a reference parameter must not be null. Provides compile-time safety and documents intent. Usage: void DoWork(notnull MyClass obj). See Capítulo 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. See Capítulo 4.5.
OnInit — Lifecycle method called when a module or plugin is first initialized. Used for registration, subscription to events, and one-time setup. See Capítulo 7.2.
OnUpdate — Lifecycle method called every frame (or at a fixed interval) on modules and certain entities. Use sparingly — per-frame code is a performance concern. See Capítulo 7.7.
OnMissionFinish — Lifecycle method called when a mission ends (server shutdown, disconnect). Used for cleanup, saving state, and releasing resources. See Capítulo 6.11.
Override — The override keyword in Enforce Script, marking a method that replaces a parent class method. Required (or strongly recommended) when overriding virtual methods. Always call super.MétodoName() to preserve parent behavior unless intentionally replacing it. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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 cannot be overridden. See Capítulo 1.3.
Q
Quaternion — A four-component rotation representation used internally by the engine. In practice, DayZ modders typically work with Euler angles (vector of pitch/yaw/roll) and the engine converts internally. See Capítulo 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 memory leaks. See Capítulo 1.8.
requiredAddons — Array in CfgPatches specifying which addons must load before yours. Controla script compilation and config inheritance order between mods. Getting this wrong causes "missing class" or silent load failures. See Capítulo 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. See Capítulo 6.9.
RVMAT — Material definition file (.rvmat) used by DayZ's renderer. Specifies textures, shaders, and surface properties for 3D models. See Capítulo 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. See Capítulo 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. See Capítulo 6.9.
SEffectManager — Singleton manager for visual and sound effects. Handles particle creation, sound playback, and effect lifecycle. Use SEffectManager.PlayInWorld() for positioned effects. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 5.1.
super — Keyword used inside a method override to call the parent class implementation. Always call super.MétodoName() in overridden methods unless you intentionally want to skip parent logic. See Capítulo 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. See Capítulo 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;. See Capítulo 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. See Capítulo 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. See Capítulo 6.13.
Unlink — Método 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. See Capítulo 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). See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 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. See Capítulo 6.1.
Missing a term? Open an issue or submit a pull request.
