← modperf · analyzed mods

Trader

This Mod brings AI Trader, Tradercitys and Safezones to DayZ! The standard Currency is the Ruble Item. You can Buy and Sell Items at the Tradercitys or just relax at the Safezones. The standard Tradercity-Locations are at Green-Mountain and Kumyrna. Serverowners can configure the Tradercitys, Safezones and Items. So you can build your own Tradercitys easily! If the Serverowner does'nt add the Currency Item to his… (more)

This Mod brings AI Trader, Tradercitys and Safezones to DayZ! The standard Currency is the Ruble Item. You can Buy and Sell Items at the Tradercitys or just relax at the Safezones. The standard Tradercity-Locations are at Green-Mountain and Kumyrna. Serverowners can configure the Tradercitys, Safezones and Items. So you can build your own Tradercitys easily! If the Serverowner does'nt add the Currency Item to his Loottable, the Currencys will not spawn as Loot in the Game. Only by selling Items to the Traders. I DO NOT ALLOW ANYONE TO REUPLOAD THE MOD IN A MODIFIED OR UNMODIFIED STATE! FAQ Q: How do I install the mod? You add it to your mod list same as all the other mods. After that, copy the Trader folder from inside the extra folder in the mod to your profiles folder. If you don't know where the profiles folder is, ask your hoster or check their FAQ. You can also check this Youtube tutorial. Click here for the Video Tutorial Q: Vehicles are despawning after buying them from trader Change <lifetime>3</lifetime> to <lifetime>3888000</lifetime> for your vehicles . Check this video too. Click here for the Video Tutorial Q: How do I spawn the vehicle with MuchCarKey key? You need to put the vehicle in the TraderConfig as VNK. Then add the MCK key in the vehicle parts. This will add it to the inventory of the car. Q: Can I have multiple currencies? This is a bit of complicated answer. Short answer is no. But you can add other items as currency with a different value in the list. Q: I get this error: Can't compile "World" script module! WG_TraderFix/scripts/4_World/tradermenu.c(1): Multiple declaration of class 'TraderItem' You need to remove the mod Trader Fixes and Features. This mod has been integrated in the Trader mod. If you don't run this mod, then another mod you run has repacked it. Check the server mods or layout mods you run and remove them. Q: I cannot interact with the vending machines or NPC traders There's several reasons this could happen: 1. You may have the machines spawning through some other method than just TraderObjects. Traders (humans or static objects) must be spawned ONLY through TraderObjects. 2. Your coordinates don't match for <TraderMarkerPosition> and <ObjectPosition>. These must be identical 3. Another mod is interfering Q: X Thing doesn't work. My server doesn't start. You need to give us exact information as to why you having this issue. Join the discord and share screenshots of the errors you get. We can only help you if you give us all the information. Up to date Trader profiles folder Click here for up to date files Added Classnames: MoneyRuble1, MoneyRuble5, MoneyRuble10, MoneyRuble25, MoneyRuble50, MoneyRuble100, Hoodie_DrJ0nes, Hoodie_GraffitiTiles, Land_RoadCone Using non Character Traders: To use Objects such as a Vending Machine or an Cashbox you need to add <ObjectAttachment> NPC_DUMMY to the <Object> Entry! This is needed to make the User Actions for the Trading Menu work on non Character Objects that act as Traders. Example: <Object> VendingMachine <ObjectPosition> 3699.27, 402.13, 5967.91 <ObjectOrientation> -13.234265, 0, 0 <ObjectAttachment> NPC_DUMMY Other Currencys If you want to use other Currencys as the Rubles that come with the Trader Mod you can checkout this Links: OFG_Money_Euro LatvianCurrency MoneyMod(Trader) 人民币模组 RMB(CNY) Money for Dayz The above Links lead to Mods from other Devs! They are not Part of the Trader Mod! I just link them here! Use at your own Risk! Setup Example for the Euro Currency: You have to change the Currency Part of the TraderConfig.txt like this: <CurrencyName> Euro <Currency> Euro, 1 <Currency> Euro5, 5 <Currency> Euro10, 10 <Currency> Euro20, 20 <Currency> Euro50, 50 <Currency> Euro100, 100 Checkout the individual Links for further Assistance or Guides. Keep in Mind that you always need an Currency in the Config that is worth exactly 1! Order matters! Lowest Worth first, highest Worth Last! Copyright Repack is not allowed. ALL RIGHTS RESERVED. Copyright Helkhiana, MDC, Dr J0nes This item is not authorized for posting on Steam, except under the Steam accounts Helkhiana MDC Dr J0nes. Credits: Credits go to Dr_J0nes who have done the Mod. Helkhiana and MDC for expanding the mod. ComatoseBadger for the Ruble 3D-Model. inkihh for the Key Lost Mechanic. Translations: Avallanche, TH, many others I forgot the name unfortunately.. :/ Special Thanks to: Septic Falcon and Astley for testing on their Modded Server and all the Support! Classified Rebel for testing DZSA Launcher automatic Mod downloading with me. Everyone on the DayZ Modders Discord Server for helping me out with every Question I had!!! DatLooter for all the support. Of course everyone who helped me to test this Mod or reported Bugs!

Workshop 1590841260 · mod updated 2024-10-16 · analyzed 2026-10-03 09:34 UTC · history · 62 script files

EnvironmentEquipmentMechanics Workshop tags, chosen by the author

Stall risks
None found

No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.

Compatibility
1 by design

1 chain break, all on specific classes the mod replaces wholesale — matters only if another mod patches the same classes.

Structural footprint 1.1
A
1 by design
Heavier than 77% of 328 scripted mods analyzed.

0.017% of each server frame at 100 players (0.170 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.

Where this mod sits

Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 39 others share it. Ranked list.

10
20
30
40
  • 24 mods
    0.0000022 to 0.0000046 ms/s · grade A
  • 7 mods
    0.0000046 to 0.00001 ms/s · grade A
  • 1 mod
    0.00001 to 0.000022 ms/s · grade A
  • 1 mod
    0.000022 to 0.000046 ms/s · grade A
  • 37 mods
    0.0001 to 0.00022 ms/s · grade A
  • 26 mods
    0.00022 to 0.00046 ms/s · grade A
  • 33 mods
    0.00046 to 0.001 ms/s · grade A
  • 23 mods
    0.001 to 0.0022 ms/s · grade A
  • 13 mods
    0.0022 to 0.0046 ms/s · grade A
  • 10 mods
    0.0046 to 0.01 ms/s · grade A
  • 5 mods
    0.01 to 0.022 ms/s · grade A
  • 18 mods
    0.022 to 0.046 ms/s · grade A
  • 17 mods
    0.046 to 0.1 ms/s · grade A
  • This mod
  • 26 mods
    0.22 to 0.46 ms/s · grade A
  • 28 mods
    0.46 to 1 ms/s · grade A
  • 8 mods
    1 to 2.2 ms/s · grade A to B
  • 10 mods
    2.2 to 4.6 ms/s · grade B
  • 1 mod
    4.6 to 10 ms/s · grade B to C
A316
B11
C1
D0
E0
ms/s, log scale: each labelled step is ten times the one before. Letter grade and mods holding it below the axis.
Where the load comes from

Repeating timers carry 82% of this mod's structural load. 0.170 ms/s in all.

15%Every-frame hooks · 15%
1 hook · 0.025 ms/s
Event hooks · 2.9%
25 hooks · 0.0049 ms/s
Lifecycle hooks · <0.1%
6 hooks · 0.000012 ms/s
82%Repeating timers · 82%
1 timer · 0.14 ms/s
Every-frame hooksrun every server frame 1 hook 0.025 ms/s 15% MissionServer.OnUpdate
Event hooksrun when something happens: an inventory move, a hit, an action 25 hooks 0.0049 ms/s 2.9% ActionBurnSewTarget.ActionCondition, ActionCarDoors.ActionCondition, ActionCarDoorsOutside.ActionCondition and 22 more
Lifecycle hooksrun when an entity is created, loaded or deleted 6 hooks 0.000012 ms/s <0.1% Ammo_40mm_ChemGas.EEKilled, Ammo_40mm_Explosive.EEKilled, CarScript.OnStoreLoad and 3 more
Repeating timersstay in the timer queue, which is walked every frame 1 timer 0.14 ms/s 82% every 1 s

Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.

Chain breaks, by consequence

1 override that skip super(), ranked by how much they can affect. On any server a break replaces vanilla's behaviour on that method and silences every earlier-loaded mod hooking it.

By design
Leaf class · VONManagerImplementation
VONManagerImplementation replaced on 1 method · 1 override

SetInSafeZone

Only this class is affected. Matters only if another mod in your stack patches the same class.

1 classVONManagerImplementation
1 locationTrader.pbo::scripts\3_Game\VONManager.c:11

Where this mod runs often

Hooks on per-frame and high-rate surfaces, with what their bodies call. Body work, not the hook itself, is what costs frame time.

OnUpdate on MissionServer
every server frame
no I/O, timers or RPC
ActionCondition × 20 classes
per event
no I/O, timers or RPC super() on some paths
ActionCondition on ActionCheckPulseTarget
per event
no I/O, timers or RPC
CanDisplayAttachmentSlot on CarScript
per event
no I/O, timers or RPC
CanPutIntoHands on BarrelHoles_ColorBase
per event
no I/O, timers or RPC super() on some paths
OnRPC on DayZPlayerImplement
per event
no I/O, timers or RPC
SetActions on PlayerBase
per event
no I/O, timers or RPC

Other findings

What this report can tell you

Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.

What it cannot

How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.

Everything else

All 65 overrides

Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.

methodsurfaceserversuper()where
ActionBurnSewTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\Medical\ActionBurnSewTarget.c:3
ActionCarDoors.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Vehicles\ActionOpenCarDoors.c:3
ActionCarDoorsOutside.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Vehicles\ActionOpenCarDoors.c:20
ActionCheckPulse.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\Medical\ActionCheckPulse.c:3
ActionCheckPulseTarget.ActionCondition T2 yes ✓ Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\actioncheckpulsetarget.c:3
ActionCollectBloodTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\Medical\ActionCollectBloodTarget.c:3
ActionConstructor.RegisterActions — yes ✓ Trader.pbo::scripts\4_World\Classes\UserActionsComponent\ActionConstructor.c:3
ActionDefibrilateTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\Medical\ActionDefibrilateTarget.c:3
ActionDeployObject.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\ActionDeployObject.c:3
ActionDetach.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Interact\ActionDetach.c:3
ActionDisinfectTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\SingleUse\Medical\ActionDisinfectTarget.c:3
ActionForceConsume.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\ActionForceConsume.c:3
ActionForceConsumeSingle.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\SingleUse\ActionForceConsumeSingle.c:3
ActionForceFeedCan.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\ActionForceFeedCan.c:3
ActionGiveBloodTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\Medical\ActionGiveBloodTarget.c:3
ActionGiveSalineTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\Medical\ActionGiveSalineTarget.c:3
ActionInjectTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\SingleUse\Medical\ActionInjectTarget.c:3
ActionLockDoors.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\ActionLockDoors.c:3
ActionRestrainSelf.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\ActionRestrainSelf.c:3
ActionRestrainTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\ActionRestrainTarget.c:3
ActionSewTarget.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\Continuous\Medical\ActionSewTarget.c:3
ActionUnpin.ActionCondition T2 yes conditional Trader.pbo::scripts\4_World\Classes\UserActionsComponent\Actions\SingleUse\ActionUnpin.c:3
Ammo_40mm_ChemGas.OnActivatedByItem — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\ChemGas_Grenade.c:43
Ammo_40mm_ChemGas.EEKilled T3 yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\ChemGas_Grenade.c:52
Ammo_40mm_Explosive.OnActivatedByItem — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\ChemGas_Grenade.c:21
Ammo_40mm_Explosive.EEKilled T3 yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\ChemGas_Grenade.c:30
Ammunition_Base.AddQuantityTR — yes ✗ none Trader.pbo::scripts\4_World\Entities\Ammunition_Base.c:3
Ammunition_Base.SetQuantityTR — yes ✗ none Trader.pbo::scripts\4_World\Entities\Ammunition_Base.c:27
AreaExposureMdfr.OnTick — yes conditional Trader.pbo::scripts\4_World\Classes\SafeZone\areaexposure.c:3
BarrelHoles_ColorBase.CanPutIntoHands T2 yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\FireplaceBase\BarrelHoles_ColorBase.c:5
BarrelHoles_ColorBase.DeferredInit — yes ✓ Trader.pbo::scripts\4_World\Entities\ItemBase\FireplaceBase\BarrelHoles_ColorBase.c:13
BarrelHoles_ColorBase.CalcAndSetQuantity — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\FireplaceBase\BarrelHoles_ColorBase.c:23
BarrelHoles_ColorBase.SpendFireConsumable — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\FireplaceBase\BarrelHoles_ColorBase.c:33
BarrelHoles_ColorBase.BurnItemsInFireplace — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\FireplaceBase\BarrelHoles_ColorBase.c:45
BarrelHoles_ColorBase.AddWetnessToFireplace — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\FireplaceBase\BarrelHoles_ColorBase.c:88
BoatScript.OnEngineStart — yes ✓ Trader.pbo::scripts\4_World\Entities\Vehicles\BoatScript.c:5
CarScript.OnStoreSave T3 yes ✓ Trader.pbo::scripts\4_World\Entities\Vehicles\CarScript.c:30
CarScript.OnStoreLoad T3 yes ✓ Trader.pbo::scripts\4_World\Entities\Vehicles\CarScript.c:42
CarScript.OnEngineStart — yes ✓ Trader.pbo::scripts\4_World\Entities\Vehicles\CarScript.c:73
CarScript.CanDisplayAttachmentSlot T2 yes ✓ Trader.pbo::scripts\4_World\Entities\Vehicles\CarScript.c:82
CarScript.CanDisplayAttachmentCategory — yes ✓ Trader.pbo::scripts\4_World\Entities\Vehicles\CarScript.c:90
ContaminatedArea_Local.DeferredInit — yes conditional Trader.pbo::scripts\4_World\Classes\SafeZone\contaminatedarea_local.c:3
DayZGame.FirearmEffects — yes conditional Trader.pbo::scripts\3_Game\DayZGame.c:36
DayZPlayerImplement.OnRPC T2 yes ✓ Trader.pbo::scripts\4_World\Entities\DayZPlayerImplement.c:71
DayZPlayerMeleeFightLogic_LightHeavy.HandleFightLogic — yes conditional Trader.pbo::scripts\4_World\Entities\ManBase\DayZPlayer\DayZPlayerMeleeFightLogic_LightHeavy.c:3
Grenade_Base.InitiateExplosion — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\Grenade_Base.c:3
Grenade_ChemGas.OnExplode — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\ChemGas_Grenade.c:3
MissionBase.CreateScriptedMenu — yes ✓ Trader.pbo::scripts\5_Mission\mission\missionBase.c:3
MissionGameplay.OnKeyRelease — yes ✓ Trader.pbo::scripts\5_Mission\mission\missionGameplay.c:3
MissionServer.OnInit T3 yes ✓ Trader.pbo::scripts\5_Mission\mission\missionServer.c:54
MissionServer.HandleBody — yes ✓ Trader.pbo::scripts\5_Mission\mission\missionServer.c:72
MissionServer.OnUpdate T0 yes ✓ Trader.pbo::scripts\5_Mission\mission\missionServer.c:85
MissionServer.InvokeOnConnect T3 yes ✓ Trader.pbo::scripts\5_Mission\mission\missionServer.c:368
ModItemRegisterCallbacks.RegisterOneHanded — yes ✓ Trader.pbo::scripts\4_World\Animations.c:3
PlayerBase.SetSuicide — yes ✓ Trader.pbo::scripts\4_World\Entities\ManBase\PlayerBase.c:116
PlayerBase.CanBeTargetedByAI — yes conditional Trader.pbo::scripts\4_World\Entities\ManBase\PlayerBase.c:124
PlayerBase.Expansion_IsInSafeZone — yes conditional Trader.pbo::scripts\4_World\Entities\ManBase\PlayerBase.c:135
PlayerBase.SetActions T2 yes ✓ Trader.pbo::scripts\4_World\Entities\ManBase\PlayerBase.c:146
PluginManager.Init — yes ✓ Trader.pbo::scripts\4_World\Plugins\PluginManager.c:4
PluginTransmissionAgents.InjectAgentsWithPlayer — yes conditional Trader.pbo::scripts\4_World\Plugins\PluginBase\PluginTransmissionAgents.c:3
PluginTransmissionAgents.InjectAgentsWithPlayerCount — yes conditional Trader.pbo::scripts\4_World\Plugins\PluginBase\PluginTransmissionAgents.c:20
TrapBase.StartActivate — yes conditional Trader.pbo::scripts\4_World\Entities\ItemBase\TrapBase.c:3
VONManagerImplementation.SetInSafeZone — yes ✗ none Trader.pbo::scripts\3_Game\VONManager.c:11
VONManagerImplementation.HandleInput — yes conditional Trader.pbo::scripts\3_Game\VONManager.c:33
WeaponManager.CanFire — yes conditional Trader.pbo::scripts\4_World\Classes\Weapons\WeaponManager.c:3
Dispatch surfaces and timers the grade prices
surfacetierrate (Hz)rate sourcems/s
MissionServer.OnUpdateT0 1000.0measured0.0248
ActionCheckPulseTarget.ActionConditionT2 8.0placeholder0.0002
ActionDeployObject.ActionConditionT2 8.0placeholder0.0002
ActionForceConsume.ActionConditionT2 8.0placeholder0.0002
ActionForceFeedCan.ActionConditionT2 8.0placeholder0.0002
ActionLockDoors.ActionConditionT2 8.0placeholder0.0002
ActionRestrainSelf.ActionConditionT2 8.0placeholder0.0002
ActionRestrainTarget.ActionConditionT2 8.0placeholder0.0002
ActionBurnSewTarget.ActionConditionT2 8.0placeholder0.0002
ActionCheckPulse.ActionConditionT2 8.0placeholder0.0002
ActionCollectBloodTarget.ActionConditionT2 8.0placeholder0.0002
ActionDefibrilateTarget.ActionConditionT2 8.0placeholder0.0002
ActionGiveBloodTarget.ActionConditionT2 8.0placeholder0.0002
ActionGiveSalineTarget.ActionConditionT2 8.0placeholder0.0002
ActionSewTarget.ActionConditionT2 8.0placeholder0.0002
ActionDetach.ActionConditionT2 8.0placeholder0.0002
ActionForceConsumeSingle.ActionConditionT2 8.0placeholder0.0002
ActionUnpin.ActionConditionT2 8.0placeholder0.0002
ActionDisinfectTarget.ActionConditionT2 8.0placeholder0.0002
ActionInjectTarget.ActionConditionT2 8.0placeholder0.0002
ActionCarDoors.ActionConditionT2 8.0placeholder0.0002
ActionCarDoorsOutside.ActionConditionT2 8.0placeholder0.0002
DayZPlayerImplement.OnRPCT2 8.0placeholder0.0002
BarrelHoles_ColorBase.CanPutIntoHandsT2 8.0placeholder0.0002
PlayerBase.SetActionsT2 8.0placeholder0.0002
CarScript.CanDisplayAttachmentSlotT2 8.0placeholder0.0002
Ammo_40mm_Explosive.EEKilledT3 0.1placeholder0.0000
Ammo_40mm_ChemGas.EEKilledT3 0.1placeholder0.0000
CarScript.OnStoreSaveT3 0.1placeholder0.0000
CarScript.OnStoreLoadT3 0.1placeholder0.0000
MissionServer.OnInitT3 0.1placeholder0.0000
MissionServer.InvokeOnConnectT3 0.1placeholder0.0000

Repeating timers

period (ms)residency ms/sfiring ms/swhere
10000.1400 0.000025Trader.pbo::scripts\4_World\Classes\SafeZone\SafeZone.c:12

Includes 0.005 ms/s from placeholder-rated surfaces.

Load-order constraints (CfgPatches)

What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.

Trader.pbo

  • trader requiredVersion 0.1 — requires DZ_Data

census 1.1 · findings 1.1 · hash 4a7f3224464ddd90