DayZ-Expansion-Chat
Features DayZ Expansion Chat allow players to use multiple chat channels. If you have ever played ArmA this feature will be familiar to you. - Global Chat (can be seen by anyone anywhere) - Direct Chat (proximity chat, only nearby players can see what you will write) - Transport Chat (only the players inside the same vehicle) - Admin Chat (only admin can write in it, however everyone can see it. Useful to make… (more)
Features DayZ Expansion Chat allow players to use multiple chat channels. If you have ever played ArmA this feature will be familiar to you. - Global Chat (can be seen by anyone anywhere) - Direct Chat (proximity chat, only nearby players can see what you will write) - Transport Chat (only the players inside the same vehicle) - Admin Chat (only admin can write in it, however everyone can see it. Useful to make announcements while ingame) - Party Chat (only teammates of your group can see it. Requires DayZ Expansion Groups) Colors of this channels can be changed in the server settings. Players can tweak the chat in their ingame options (for example the size of the chat). Players can block other players, preventing them to see their messages Installation If you need help to install the mods or the mission files please follow this guide: https://steamcommunity.com/sharedfiles/filedetails/?id=2430317812 Guides: Please visit the Expansion Wiki for further info on how to use the mod: https://github.com/salutesh/DayZ-Expansion-Scripts/wiki/ Feedback We're grateful to hear any feedback and suggestions from anyone, the best place to give it to us would be our Discord ( https://discord.gg/rMZuS4F ), please also join if you have any questions too! Copyright 2021 DayZ Expansion Mod Team. This item is not authorized for posting on Steam, except under the Steam account https://steamcommunity.com/id/dayzexpansion/
No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.
Every server-visible override preserves its chain.
No server-side script overrides. Counts hook dispatch and timers only, not what the hooks do inside. Methodology.
Other findings
super() only on some paths · 4 · warning
- Chat.Add calls super.Add() only on some paths — on the others the chain below this mod is dropped.
chat_scripts.pbo::5_Mission\DayZExpansion_Chat\Chat.c:75 - Chat.AddInternal calls super.AddInternal() only on some paths — on the others the chain below this mod is dropped.
chat_scripts.pbo::5_Mission\DayZExpansion_Chat\Chat.c:91 - Chat.Clear calls super.Clear() only on some paths — on the others the chain below this mod is dropped.
chat_scripts.pbo::5_Mission\DayZExpansion_Chat\Chat.c:107 - MissionBase.CreateScriptedMenu calls super.CreateScriptedMenu() only on some paths — on the others the chain below this mod is dropped.
chat_scripts.pbo::5_Mission\DayZExpansion_Chat\MissionBase.c:3
- Chat.Add calls super.Add() only on some paths — on the others the chain below this mod is dropped.
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 15 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 |
|---|---|---|---|---|
Chat.Add |
— | yes | conditional | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\Chat.c:75 |
Chat.AddInternal |
— | yes | conditional | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\Chat.c:91 |
Chat.Clear |
— | yes | conditional | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\Chat.c:107 |
ChatInputMenu.Init |
— | yes | ✗ none | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\ChatInputMenu.c:20 |
ChatInputMenu.UseKeyboard |
— | yes | ✗ none | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\ChatInputMenu.c:40 |
ChatInputMenu.UseMouse |
— | yes | ✗ none | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\ChatInputMenu.c:45 |
ChatInputMenu.OnChange |
— | yes | conditional | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\ChatInputMenu.c:50 |
ChatInputMenu.OnShow |
— | yes | ✓ | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\ChatInputMenu.c:120 |
ChatInputMenu.OnHide |
— | yes | conditional | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\ChatInputMenu.c:132 |
ExpansionSettings.Init |
— | yes | ✓ | chat_scripts.pbo::3_Game\DayZExpansion_Chat\ExpansionSettings.c:17 |
MissionBase.CreateScriptedMenu |
— | yes | conditional | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\MissionBase.c:3 |
MissionGameplay.OnMissionLoaded |
— | yes | ✓ | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\MissionGameplay.c:63 |
MissionGameplay.ShowChat |
— | yes | ✓ | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\MissionGameplay.c:81 |
MissionGameplay.HideChat |
— | yes | ✓ | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\MissionGameplay.c:105 |
MissionGameplay.Expansion_OnUpdate |
— | yes | ✓ | chat_scripts.pbo::5_Mission\DayZExpansion_Chat\MissionGameplay.c:263 |
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_chat_preload.pbo
DayZExpansion_Chat_PreloadrequiredVersion 0.1 — no requiredAddons
chat_gui.pbo
DayZExpansion_Chat_GUIrequiredVersion 0.1 — requiresDayZExpansion_Core_GUI
chat_scripts.pbo
DayZExpansion_Chat_ScriptsrequiredVersion 0.1 — requiresDayZExpansion_Core_Scripts
languagecore_chat.pbo
DayZExpansion_LanguageCore_ChatrequiredVersion 0.1 — no requiredAddons
census 1.1 · findings 1.1 · hash 843bd7e3f0b3a8f8