YAInteraction/config.cpp
smthspec e4cb0e4009 Rework interaction layer onto ZenProxyFramework proxy API
Furniture (sink/fridge/lekarnicka/vending) are house proxies, not entities, so
actions are now driven by ZenProxyFramework: actions target proxies by name
(GetZenProxyNameTarget), the proxy world position is synced to the server via
ActionData, repair spawns an invisible ZenProxySinkTest marker (presence =
repaired), and gather-water checks for it. Registry is keyed by proxy name;
loot tables / cooldowns / settings JSON kept.

NOTE: superseded approach - ZenProxyFramework does not compile on DayZ 1.29
(HouseType type-name collision). Next: a self-contained @YAProxy framework
(based on ZenProxyFramework + ShowMeInfoV2's geometry-LOD proxy scan) that
YAInteraction will depend on instead.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 09:07:02 +03:00

71 lines
1.2 KiB
C++

class CfgPatches
{
class YAInteraction
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] =
{
"DZ_Data",
"DZ_Scripts",
"ZenProxyFramework" // dependency: ensures ZPF loads before us (proxy API + ZenProxySinkTest)
};
};
};
class CfgMods
{
class YAInteraction
{
dir = "YAInteraction";
picture = "";
action = "";
hideName = 1;
hidePicture = 1;
name = "YAInteraction";
credits = "drasikas";
author = "drasikas";
authorID = "0";
version = "1.0";
extra = 0;
type = "mod";
dependencies[] =
{
"Game",
"World",
"Mission"
};
// Script module registration. We only ship 4_World code in v1, but all three
// modules are declared so future hooks can drop into the correct layer without
// touching this file again.
class defs
{
class gameScriptModule
{
value = "";
files[] =
{
"YAInteraction/scripts/3_Game"
};
};
class worldScriptModule
{
value = "";
files[] =
{
"YAInteraction/scripts/4_World"
};
};
class missionScriptModule
{
value = "";
files[] =
{
"YAInteraction/scripts/5_Mission"
};
};
};
};
};