• 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? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->
boxhud.lua (Requires MQNext and MQ2Lua)

Utility boxhud.lua (Requires MQNext and MQ2Lua) 1.3

Download now: Join us with Level 2 access
or earn your way in with RedCents.
Software Requirements
MQNext
MQ2Lua
MQ2DanNet
Server Type
Live, TLP, Test Server
Overview

This Lua script provides an alternative to a similar MQ2HUD/MQ2NetBots based HUD. Instead, it uses observed properties from MQ2DanNet to watch various bits of information about all your peers.

Includes the following information by default:
General Tab
- Name -- in green if in same zone as the toon running the script, in ( ) if invis, in red if not in same zone
- HP% -- with % threshold based coloring, red < 35, yellow < 70, green > 70
- Mana% -- with % threshold based coloring, red < 35, yellow < 70, green > 70
- Endurance% -- with % threshold based coloring, red < 35, yellow < 70, green > 70
- Distance -- if toon is in same zone, displays distance away from the toon, green if dist < 100, yellow < 200, red > 200
- Target -- if toon is in same zone, name of their target
- Spell/Disc -- name of spell currently being cast or current running disc
Macro Tab
- Macro Name -- the name of the currently running macro
- Paused -- shows PAUSED if the currently running macro is paused
XP tab
- Exp -- current level experience value (out of 100,000)
- AA Unspent -- current number of unspent AAs

Additionally, the character names are buttons which can be clicked to bring that character to the foreground. This is more just to play around with the capabilities we have now with an interactive window like this.

Example: (names just replaced with xxxxxx for screenshot)
example-tab1.png

example-tab2.png

example-tab3.png


The window will dynamically grow/shrink based on peers available from the DanNet All or Zone peer group depending on how it is configured.
The script takes a few seconds to start up as it waits for the DanNet observers to be ready before displaying the UI.
Toons which log off or for some reason stop being available will go stale and be removed from the table after 30 seconds.

Requirements

- MQNext
- MQ2Lua
- MQ2DanNet

Installation

Add boxhud.lua and boxhud-settings.lua to the lua folder of your MQ directory.

Usage

Run the script with:

INI:
/lua run boxhud
Stop the script with:

INI:
/boxhudend
or
lua stop boxhud

Toggle the window with:

INI:
/boxhud
Configuration
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.

Tabs
Each tab includes a name and list of columns to be included in that tab, for example:

INI:
    {
        Name='General',
        Columns={
            {
                Name='HP%',
                ...
            }
        }
    },
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:
- Me.Class

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: zone

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

Extra notes:
- I'm far from (read: not at all) a Lua expert, so don't be too surprised if any Lua best practices haven't been followed here or things could be done in much more clean ways.
- I'm open to suggestions / improvements :)
- This is mostly just written as me wanting to explore some of the possibilities provided by the new Lua support
- This is still very much a work in progress
Author
aquietone
First release
Last update
Rating
4.83 star(s) 6 ratings

More resources from aquietone

Latest updates

  1. v1.3

    Updates to the configuration to allow columns to be split up into different tabs: See the...
  2. v1.2 - minor fixes

    Fix for determining zone peer group name to handle instance zones. Fix for updating zone peer...
  3. boxhud.lua v1.1 -- now configurable

    This update is all about configuring the content of what is displayed. I tried out a couple...

Latest reviews

Someone beat me to it, now I dont' have to work on it. Is there any way tho to remove the server name from the name in the box. But I like more info, and it gives me a starting spot
This hud is a big quality of life improvement. Very customizable!
This is a great tool!

The click to bring the character into the foreground is a fantastic feature, really changes how I play. I just make sure the Hud is on a separate monitor and just let the EQ windows stack on top of each other.

Adding columns is really easy! I've got a new box crew going, so I was constantly looking at levels, % to go till the next level, and bag space... Putting these values on the Hud kept me focused on leveling and not swapping screens all the time lol.
Dude this is awesome! Nice work!
This is awesome, very useful as it is and shows how easily lua can be used to make some impressive tools for use in EverQuest. Thank you for sharing!
Using it already, and has given me a few ideas about my own hud's
Top