Survivor Animations
Description This mod adds custom survivor animations (emotes/actions) including vehicles. Our goal is to provide the most wanted animations for characters and provide supporting animations for other mods like bikes, snowmobiles, helicopters, horses and more. Installation Install the mod like any other mod. This mod has no other dependencies. Don't forget to copy the key to the keys folder on your server and add it… (more)
Description This mod adds custom survivor animations (emotes/actions) including vehicles. Our goal is to provide the most wanted animations for characters and provide supporting animations for other mods like bikes, snowmobiles, helicopters, horses and more. Installation Install the mod like any other mod. This mod has no other dependencies. Don't forget to copy the key to the keys folder on your server and add it to your server mod list like this: mod=@SurvivorAnims Modders If you develop modded vehicles and want have a soft dependency on this mod use a pre-processor definition for example: #ifdef SURVIVOR_ANIMS yours code here #endif This includes getting the specific animation instance for the vehicle, so you can still use vanilla animations when this mod is not installed and plus you can automatically change animations for your vehicle when this mod is installed. More info on discord. Mods using our vehicle anims Blackouts Scorpion Savage Snowmobile izh_motorcycle RedFalcon Watercraft Dayz Bicycle Arma Bicycles Rusforma Motorcycles DayZ Horse Current Custom Animations: around 30 new emotes include gun on shoulder (its just vanilla enabled anim) Chopper: CustomVehicleAnimInstances.CHOPPER Snowmobile: CustomVehicleAnimInstances.SNOWMOBILE ATV: CustomVehicleAnimInstances.ATV Helicopter: CustomVehicleAnimInstances.HELICOPTER Horse: CustomVehicleAnimInstances.HORSE Motorcycle: CustomVehicleAnimInstances.MOTORCYCLE Bicycle: CustomVehicleAnimInstances.BICYCLE another Bicycle: CustomVehicleAnimInstances.BICYCLE2 ladies Bicycle: CustomVehicleAnimInstances.BICYCLE3 Quadbike: CustomVehicleAnimInstances.QUADBIKE Coming Soon: Other custom emotes and more... Let us know which animations are needed for your mod, we will try to add it. Known Issues - its not possible use multiple animation mods together (enfusion engine limitation) - probably some hidden bugs can be there Additional Information Due to the limitations of the Enfusion engine IS NOT POSSIBLE TO INSTALL MORE THAN ONE MOD WHICH MODIFIES ANIMATIONS !!! so do not install other mods that have custom animations or the game will crashed or you will get unexpected results. No repacks allowed. Don't ask. Repacking is cancer of DayZ community. Mod was originally created for the server Renegade RP (Role Play animations) but ofc can be used at every servers. You are allowed to look into mod for learning purposes or if you want know how it works. Discord: https://discord.gg/49FvN7rRpF Any feedback welcome! -Hunterz- Credits Kamo and Nazzgy - figured out together howto properly import new anims to correct format Blackouts - we figured out together how to make proper vehicle animations Mrtea101 - he did lot of awesome animations for dog mod and helped me well with many additional hints regarding animations and file formats MarioE - guru of animations - many thanks for all valuable hints regarding animations/tools all who helps translate to other languanges Leo - did animations for mod Kactet - help with scripts and particles Bastard - quadbike animations
Patterns that can stall a single frame regardless of the load figure — see below.
1 chain break, all on specific classes the mod replaces wholesale — matters only if another mod patches the same classes.
0.00996% of each server frame at 100 players (0.100 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.
Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 16 others share it. Ranked list.
Per-player hooks carry 75% of this mod's structural load. 0.100 ms/s in all.
1 hook · 0.025 ms/s
1 hook · 0.074 ms/s
2 hooks · 0.0004 ms/s
| Every-frame hooksrun every server frame | 1 hook | 0.025 ms/s | 25% | MissionServer.OnUpdate |
| Per-player hooksrun about 30 times a second for each player | 1 hook | 0.074 ms/s | 75% | PlayerBase.CommandHandler |
| Event hooksrun when something happens: an inventory move, a hit, an action | 2 hooks | 0.0004 ms/s | 0.4% | Magnum_Base.SetActions, PlayerBase.SetActions |
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.
InitStateMachine
Only this class is affected. Matters only if another mod in your stack patches the same class.
1 class
Magnum_Base1 location
SurvivorAnims.pbo::Scripts\4_World\Magnum.c:3Where 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.
Other findings
super() only on some paths · 2 · warning
- EmoteCB.OnAnimationEvent calls super.OnAnimationEvent() only on some paths — on the others the chain below this mod is dropped.
SurvivorAnims.pbo::Scripts\4_World\EmoteManager.c:116 - EmoteManager.PlayEmote returns true without consulting super.PlayEmote() on some paths — vanilla's conditions and every earlier-loaded mod's vetoes are bypassed there.
SurvivorAnims.pbo::Scripts\4_World\EmoteManager.c:14
- EmoteCB.OnAnimationEvent calls super.OnAnimationEvent() only on some paths — on the others the chain below this mod is dropped.
Per-player-per-frame hooks · 1 · warning
- PlayerBase.CommandHandler runs once per player per tick (~30 Hz/player): cost scales with population on the hottest per-player surface.
SurvivorAnims.pbo::Scripts\4_World\PlayerBase.c:115
- PlayerBase.CommandHandler runs once per player per tick (~30 Hz/player): cost scales with population on the hottest per-player surface.
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.
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 16 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.
| method | surface | server | super() | where |
|---|---|---|---|---|
ActionConstructor.RegisterActions |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\actions\ActionConstructor.c:3 |
ActionConstructor.RegisterActions |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\Magnum.c:128 |
EmoteCB.OnAnimationEvent |
— | yes | conditional | SurvivorAnims.pbo::Scripts\4_World\EmoteManager.c:116 |
EmoteConstructor.RegisterEmotes |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\EmoteConstructor.c:3 |
EmoteManager.CreateEmoteCallback |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\EmoteManager.c:3 |
EmoteManager.PlayEmote |
— | yes | conditional | SurvivorAnims.pbo::Scripts\4_World\EmoteManager.c:14 |
GesturesMenu.GetGestureItems |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\5_Mission\gui\gesturesmenu.c:13 |
GesturesMenu.OnMenuRelease |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\5_Mission\gui\gesturesmenu.c:112 |
Magnum_Base.InitStateMachine |
— | yes | ✗ none | SurvivorAnims.pbo::Scripts\4_World\Magnum.c:3 |
Magnum_Base.SetActions |
T2 | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\Magnum.c:88 |
MissionServer.OnUpdate |
T0 | yes | ✓ | SurvivorAnims.pbo::Scripts\5_Mission\missionserver.c:5 |
PlayerBase.Init |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\PlayerBase.c:9 |
PlayerBase.SetActions |
T2 | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\PlayerBase.c:19 |
PlayerBase.CommandHandler |
T1 | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\PlayerBase.c:115 |
PlayerBase.ModCommandHandlerAfter |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\PlayerBase.c:121 |
PlayerBase.OnParticleEvent |
— | yes | ✓ | SurvivorAnims.pbo::Scripts\4_World\PlayerBase.c:148 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
PlayerBase.CommandHandler | T1 | 3000.0 | measured | 0.0744 |
MissionServer.OnUpdate | T0 | 1000.0 | measured | 0.0248 |
Magnum_Base.SetActions | T2 | 8.0 | placeholder | 0.0002 |
PlayerBase.SetActions | T2 | 8.0 | placeholder | 0.0002 |
Includes 0.000 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.
0_SurvivorAnimsDefines.pbo
SurvivorAnimsDefinesrequiredVersion 0.1 — no requiredAddons
SurvivorAnims.pbo
SurvivorAnimsrequiredVersion 0.1 — requiresDZ_Data,DZ_Sounds_Effects,DZ_Characters
census 1.1 · findings 1.1 · hash db6418b09641d523