FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login
    The current pre-release of the client ("pioneer" in the version) is only compatible to itself. So you can only play with other testers. Please be aware!

    Unit Logger mod

    Scheduled Pinned Locked Moved Modding & Tools
    1 Posts 1 Posters 179 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N Offline
      Nooby
      last edited by Nooby

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

      It logs information on every unit in the game log of the 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"

      Log size for long games is normally a few MegaBytes

      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 @Ctrl-K / 4z0t for some of the code that makes this work

      This data is not in an compact format. It will compress at around ~ 8>1 ratio

      Build order can be extracted from this data - and not just the time units / buildings are started or commands given but when units are finished and where they actually are on the map.

      using an external tool unit icons could be plotted onto a map with this data for a kind of "replay prieview" function that can be scrolled fowards and back in time, without having to launch the FAF executable.

      Does anyone know about selecting all units while in observer? I would like to convert replay files to this unit position format, and currently I can only run one army at a time.

      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
      

      An example log from a high ranked setons game
      replay ID 22654992
      from the south air player from 0 mins to 20 mins in
      20 mins of a setons game is now only 1.6MB log size with the floating point decimal trimming
      test.log

      1 Reply Last reply Reply Quote 2
      • First post
        Last post