Self-contained framework for attaching user actions to furniture proxies inside house models. Detection via geometry-LOD selection scan (works on DayZ 1.29); resolved proxy name + world position synced to server via ActionData. No entities used for detection. - modded House: geometry-LOD proxy position/name maps (client-side) - YAProxyActionBase: cursor->proxy matching + sync + subclass hooks - YAProxyActionData: client->server proxy target sync - YAProxyDebug: validation action + per-house scan logging (DEBUG flag) Credit: Zenarchist (ZenProxyFramework) and ShowMeInfoV2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
60 lines
1.5 KiB
C++
60 lines
1.5 KiB
C++
// ============================================================================
|
|
// @YAProxy - a lightweight DayZ house-proxy interaction framework (1.29+)
|
|
// ----------------------------------------------------------------------------
|
|
// Lets dependent mods attach user actions to furniture PROXIES baked into
|
|
// house p3d models (sinks, fridges, cabinets, ...), which are not separate
|
|
// entities. Detection uses the building's geometry-LOD selections; the
|
|
// targeted proxy's name + world position are synced to the server via the
|
|
// action's ActionData.
|
|
//
|
|
// Credit: technique adapted from Zenarchist's ZenProxyFramework (action API /
|
|
// position sync) and the ShowMeInfoV2 mod (geometry-LOD proxy enumeration that
|
|
// works on DayZ 1.29).
|
|
// ============================================================================
|
|
class CfgPatches
|
|
{
|
|
class YAProxy
|
|
{
|
|
units[] = {};
|
|
weapons[] = {};
|
|
requiredVersion = 0.1;
|
|
requiredAddons[] =
|
|
{
|
|
"DZ_Data",
|
|
"DZ_Scripts"
|
|
};
|
|
};
|
|
};
|
|
|
|
class CfgMods
|
|
{
|
|
class YAProxy
|
|
{
|
|
dir = "YAProxy";
|
|
picture = "";
|
|
action = "";
|
|
hideName = 1;
|
|
hidePicture = 1;
|
|
name = "YAProxy";
|
|
credits = "drasikas; technique from Zenarchist (ZenProxyFramework) & ShowMeInfoV2";
|
|
author = "drasikas";
|
|
authorID = "0";
|
|
version = "1.0";
|
|
extra = 0;
|
|
type = "mod";
|
|
dependencies[] = { "Game", "World" };
|
|
class defs
|
|
{
|
|
class gameScriptModule
|
|
{
|
|
value = "";
|
|
files[] = { "YAProxy/scripts/3_Game" };
|
|
};
|
|
class worldScriptModule
|
|
{
|
|
value = "";
|
|
files[] = { "YAProxy/scripts/4_World" };
|
|
};
|
|
};
|
|
};
|
|
};
|