Add a latest replay URL

I am trying to understand how to make a mod that captures information about units through the replay

Looking at the LUA documentation:
https://supcom.fandom.com/wiki/LUADOC_1.5.3599#User
https://github.com/FAForever/fa/blob/develop/engine/User/UserUnit.lua

does using User.UserUnit make it a UI only mod?

For the dump to file script

if unit is alive (using IsDead)

if it is dump a line to log that contains

GetGameTick
GetArmy
GetUnitId
GetPosition
GetOrientation
GetVelocity
GetMaxHealth
GetHealth
GetShieldRatio
IsIdle
UserUnit

repeat every X seconds.

Could dump some unit types info at a faster rate than others, depending on unit speed, or importance for instance.

Do sim mods have access to any files that are not the game log?
Could just add an identifier start charicter to each line of the game log however.
Data could then be put into a better datasctructure and compressed using other external tools / scripting

Is this much script to write? is anyone here able to do so? @maudlin27

@nooby I’ve no experience with UI mods (only SIM mods), you could try in the FAF modding discord in terms of finding out what is possible: https://discord.com/channels/197033481883222026/832710161847287819
You might need to set your roles to indicate an interest in modding to access the channel

However if it was possible then most likely you’d need to write the code yourself (unless one of the modders was interested in doing the same thing)

I have created the "Unit Logger" mod. It is in the mod vault. It is a UI mod.

EDIT - V2 Released with reduced decimal places and unit masskilled added

Logs information on every unit of of focus army every 10 game ticks, configureable in main.lua
Information logged:
"UL02","GameTick","EntityId","Army","UnitId","FractionComplete","Position.x","Position.y","Position.z","MaxHealth","Health","ShieldRatio","IsIdle","MassKilled"
WARNING: If you have 1500 units and an hour game expect gigabyte size logs.
It works in replays if you select the army of the player you require logging.
It requires UMT / UI Mod Tools / ui-mod-tools-4z0t-v12
Thanks for 4z0t for some of the code that makes this work

This data is not in an eficcient format at all - that can be done after the game has ended.

I need to look at logging all units from all armies at once when observer. i dont know if this is possible with a UI mod.

Example data:

info: UL02	GameTick	EntityId	Army	UnitId	FractionComplete	Position.x	Position.y	Position.z	MaxHealth	Health	ShieldRatio	IsIdle	MassKilled
info: UL02	1350	321	1	uea0303	1	171.915	35.555	717.439	2300	1550	0	0	180
info: UL02	1350	421	1	uea0303	1	231.838	34.695	652.384	2300	300	0	0	482
info: UL02	1350	344	1	uea0303	1	109.883	35.376	720.888	2300	2050	0	0	45
info: UL02	1350	369	1	uea0303	1	142.596	38.140	688.592	2300	1300	0	0	45
info: UL02	1360	736	1	uea0303	1	111.701	36.286	717.892	2300	1550	0	0	270
info: UL02	1360	0	1	ual0001	1	108.207	25.830	920.259	11000	11000	0	1	0
info: UL02	1360	262	1	uea0303	1	98.083	37.232	730.919	2300	1550	0	0	450
info: UL02	1360	280	1	uea0303	1	97.939	36.571	708.237	2300	1050	0	0	90
info: UL02	1360	364	1	uea0303	1	145.077	37.485	686.651	2300	1800	0	0	225
info: UL02	1360	318	1	uea0303	1	142.312	37.525	684.928	2300	1550	0	0	360
info: UL02	1360	438	1	uea0303	1	196.809	37.850	668.522	2300	1550	0	0	433