Set vending proxy keyword to vending_machine

Editor + YAProxy scan show the vending proxy is 'vending_machine.NNN' (same
pattern as case_d/phonebox), not ZPF's override name 'sodamachine'. Update the
default so Search matches it.

Note: the old on-disk interactables.json used the pre-YAProxy schema
(ClassName/ComponentMatch), so ProxyName deserialized empty -> 0 interactables.
Deleting it (server) regenerates with the current schema.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
smthspec 2026-06-19 13:25:21 +03:00
parent fadfbaeee4
commit e2135794d6

View file

@ -107,13 +107,13 @@ class YAInteractionConfigLoader
// "case_sink_a" is confirmed (it's in ZenProxyConstants.SINKS). The search
// names are best guesses - confirm via ZPF's proxy dump / debug F-key and
// correct them in interactables.json (or here + rebuild).
// Proxy names confirmed via YAProxy debug: case_sink_a / fridge / lekarnicka.
// Vending not yet confirmed - "sodamachine" is ZenProxyFramework's name;
// adjust here (or in interactables.json) if your map differs.
d.Interactables.Insert(MakeEntry("case_sink_a", YAInteractionConfig.ACTION_REPAIR_WATER, "", Settings.SinkPlayerCooldownSec));
d.Interactables.Insert(MakeEntry("lekarnicka", YAInteractionConfig.ACTION_SEARCH, YAInteractionConfig.TABLE_MED, Settings.ObjectCooldownSec));
d.Interactables.Insert(MakeEntry("fridge", YAInteractionConfig.ACTION_SEARCH, YAInteractionConfig.TABLE_FOOD, Settings.ObjectCooldownSec));
d.Interactables.Insert(MakeEntry("sodamachine", YAInteractionConfig.ACTION_SEARCH, YAInteractionConfig.TABLE_VENDING, Settings.ObjectCooldownSec));
// Proxy names (from YAProxy scan / DayZ editor): the resolved name carries
// a ".NNN" instance suffix (e.g. "fridge.001"); the keyword is matched as
// a substring, so the base name is enough.
d.Interactables.Insert(MakeEntry("case_sink_a", YAInteractionConfig.ACTION_REPAIR_WATER, "", Settings.SinkPlayerCooldownSec));
d.Interactables.Insert(MakeEntry("lekarnicka", YAInteractionConfig.ACTION_SEARCH, YAInteractionConfig.TABLE_MED, Settings.ObjectCooldownSec));
d.Interactables.Insert(MakeEntry("fridge", YAInteractionConfig.ACTION_SEARCH, YAInteractionConfig.TABLE_FOOD, Settings.ObjectCooldownSec));
d.Interactables.Insert(MakeEntry("vending_machine", YAInteractionConfig.ACTION_SEARCH, YAInteractionConfig.TABLE_VENDING, Settings.ObjectCooldownSec));
// --- Loot tables (classnames verified in P:\DZ) ---
YALootTable med = MakeTable(YAInteractionConfig.TABLE_MED);