• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
  • There is a suspension/ban wave happening, we're still gathering information. Please keep regular discussion to Suspension MegaThread and please consider submitting a Suspension report to RG.
Boxhud

Utility Boxhud 04/06/2024

Download now:  Join us with Level 2 access or earn your way in with  RedCents.
- Adds support for defining button columns, like having a /end or /mqp button for each toon which will do /dex toonname /end
- Adds support for sending commands to a toon with /dex toonname <your input> by right clicking the toon name, because reasons.
- Add Ascending property to columns with thresholds defined, to define whether the coloring should go from red to green or green to red as value increases.
- Fix to escape values in observed property names so you can observe things like FindItemCount[=Krono]
- Fix crash when using DanNet.Joined to determine zone peer group name when there are too many observed properties
- Changed default observed property Me.Class to Me.Class.ShortName. You will want to update this in any existing settings files.
- Other, small forgotten changes
Updates to the configuration to allow columns to be split up into different tabs:

example-tab1.png


See the comments in boxhud-settings.lua for details on configuring the tabs.

At risk of piling far too much information into the HUD, it at least helps prevent the size of the HUD from getting too large.

(idea to add tabs shamelessly stolen, please forgive me!)
Fix for determining zone peer group name to handle instance zones.
Fix for updating zone peer group name when zoning.
Update left click on name button to do /dex name /foreground instead of /nav id.
Right clicking a name will target that toon.
Couple other small changes around bugs with toons zoning, hopefully it helps.
Removed some unnecessary observed properties.

Button click behavior isn't configurable but if you'd like to make the buttons do something else, search for CMD.dex
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:
INI:
        {
            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
Back
Top