-
Notifications
You must be signed in to change notification settings - Fork 124
Viewing item specific item timers in .mvd or qtv streams
The old item-timer logic used to depend on looking at the player's stats (armor, health etc), sound effects etc and guessing as well as it could what items were picked up and when the respawns would be happening. Most of the time this was very effective but sometimes (especially when picking up packs next to where items spawn) it would break. Now newer versions of KTX send extra data in the .mvd/qtv-stream to enable clients to be 100% accurate.
The server-side code commit that makes this all possible (with details about the data the client is using) is here.
The client-side code commit is here
The combination of the two can be used to create item timers which show the specific details for each item on the map, as well as specifics on backpacks dropped and picked up by each player (AllStars 2018 DM2 example)
This is all liable to improvements in the future, but that video was produced with the following setup:
Requirements: ezQuake 3.2-dev (current nightly builds), KTX 1.38 (released June 2018)
hud_itemsclock_style "5"
mvd_autoadd_items "1"
hud_itemsclock_backpacks "1"
hud_itemsclock_filter "ga gl suit"
alias f_demomatchstart "exec matchstart_$mapname.cfg"
From the top:
-
hud_itemsclock_style 5
is an item listing with the name of the item then how long it is until it respawns (rather than the type of the item and how long, or a picture of the item) -
mvd_autoadd_items
means that when the match starts, the baseline entities are scanned and added to the static item list. My config files then remove items I'm not interested in (you could set this to0
and then simply add items you are interested in) -
hud_itemsclock_backpacks 1
ensures dropped backpacks are included -
hud_itemsclock_filter
tells the client which items to not add to the items clock -
f_demomatchstart
is triggered when the countdown hits 0 and the match starts. Standard items-tracking/best-attempt-guessing is disabled andmvd_autoadd_items
will take effect before the trigger is fired.
My config files look like this (matchstart_dm2.cfg
):
mvd_remove_item 2056 -936 16 ya // big ya #1
mvd_remove_item 1312 -952 16 ya // big ya #2
mvd_name_item 1920 -704 184 quad "quad"
if $deathmatch = 1 mvd_name_item 1472 -704 160 rl "high rl"
mvd_name_item 2040 -992 320 mh "high mega"
if $deathmatch = 1 mvd_name_item 2480 -1712 0 rl "low rl"
mvd_name_item 2384 -1992 112 mh "back mega"
mvd_name_item 2480 -1984 112 ra "back ra"
mvd_name_item 2400 -656 64 ra "box ra"
mvd_name_item 2800 -32 -96 ya "tele ya"
This is a simple script file naming items at certain coordinates. If you name an item it is always shown-on/added-to the items list. To get a list of the co-ordinates of each item, load up a .mvd and type mvd_list_items
at the console.
The matchstart_XXX.cfg scripts I used can be downloaded here
Also you can set different colors for RL & LG packs with /gl_custom_rlpack_color
and /gl_custom_rlpack_color
respectively. The additional data required for this functionality is not sent to normal connected clients (only qtv-stream & .mvd).
// meag (23rd December 2019)