This update is all about configuring the content of what is displayed.
I tried out a couple different Lua JSON and YAML modules but didn't find any that seemed to provide both reading/writing pretty printed JSON/YAML.
Instead, the configuration is stored in a separate Lua file, which is then included with
settings = require('boxhud-settings')
.
By default,
boxhud-settings.lua
is included with the script. Upon startup, it will be copied to a character specific file
boxhud-settings-charactername.lua
.
An existing
boxhud-settings-charactername.lua
will always take precedence over
boxhud-settings.lua
.
A settings filename can also be provided when starting the script like
lua run boxhud boxhud-settings.lua
Note that since the settings are another lua file, its expecting the settings file to also be in the lua folder, rather than the config folder.
Onto the options...
Columns
Each column includes several settings, for example:
{
Name='MP%',
Properties={caster='Me.PctMana',melee='Me.PctEndurance'},
Thresholds={35,70},
Percentage=true,
InZone=false,
Width=40
},
Each column lists the observed property or properties which it uses to populate its data.
More details on each setting can be found in the provided
boxhud-settings.lua
Note that the
Name column is treated as a special case.
ObservedProperties
Each observed property must be in the
ObservedProperties
list.
The following properties are observed for the
Name column, which is handled separately from the rest:
- Zone.ID
- Me.ID (also required for any Spawn properties)
- Me.Class
- Me.Invis
SpawnProperties
Columns may refer to spawn data, defined in
SpawnProperties
. Spawn data will be based on
${Spawn[observed toon id].PropertyName
Some other configuration options include:
PeerGroup
This can be set to
all or
zone to use either the DanNet All peer group or the zone specific peer group.
Default: all
RefreshInterval
Configure the delay for polling observed properties. Used in
mq.delay()
call.
Default: 250 (0.25 seconds)
StaleDataTimeout
Configure the time in seconds before stale entries are removed from the displayed data.
Default: 60