Skip to main content
Framework Menu Movable

Menu Plugin System (+RunStats)

Menu Plugin System is a framework for showing and hiding Labels as interactive hover menu displays.  With it, you can toggle plugins on and off in-game, pin and drag data all over the screen. And the settings are automatically saved, no need to copy over or edit config files.

Menus appear in variety of docking areas that border the screen. Hovering over them reveals menu panels that can be pinned open and repositioned by dragging (via integration with the Movable Plugin System's Edit Mode). To help prevent obscuring combat with accidental hovers, when you are in combat outside of town, unpinned hover menu panels will remain hidden unless you click on its label to open it.

When you click the pin icon, the title bar with pin icon will disappear to help prevent accidental unpinnings, but will reappear if you hover over the panel for at least 1.5 seconds (configurable via MenuPlugin.HoverDelay property). You can also access an overview of all the menu addons and can pin/unpin menus in addition to enabling/disabling them from there:

Once a menu panel is pinned, it can be dragged when in the Edit Mode (default hotkey F12) of the Movable Plugin System. Menu labels can also be dragged to other docks or even reordered within the same dock while in Edit Mode.

Note: The save button is there just in case you want to manually trigger a config save. All of your changes should be saved automatically, and you should never have to click it. If you didn't like your changes, click the red X to delete the config file that was generated with your changes.

Included with the distribution is:

  • a plugin management menu addon to allow you to enable or disable plugins on-the-fly in-game
  • a plugin management menu addon to allow you to enable or disable menu addons on-the-fly in-game
  • a basic volume control menu addon
  • RunStats

RunStats is now a suite of menu addons that offers data displays and statistics related to various aspects of playing the game. Currently, this includes:

  • MenuAttackSpeed - shows your attacks per second for yourself and your pets, and if you have Pain Enhancer equipped, it attempts to determine your current stack count
  • MenuBounties - shows your current status on bounty completion when in Adventure Mode
  • MenuCrowdControl - shows icons and durations of crowd control effects applied on you and elite monsters and bosses

  • MenuDamageDone - records the values of some damage stats made available by TH and adds them to the menu bar, visualizing the data in a line graph, shows 30 seconds at time, but you can page backwards and forwards to see the last 20+ minutes of data. Logging to file feature can be toggled on or off to auto-save data every 5 seconds.
  • MenuDamageReduction - graphs your current damage reduction value history; similar to MenuDamageDone, you can page backwards and forwards to see the last 20+ minutes of data and logging to file feature can be toggled on or off to auto-save data every 5 seconds.
  • MenuDamageTypes - substitute for Default\DamageBonusPlugin.cs
  • MenuGreaterRift - shows nephalem rift history
  • MenuNephalemRift - shows nephalem rift history
  • MenuHealth - shows health change history
  • MenuLoot - shows loot history
  • MenuMapShrines - shows a list of pylons, shrines, and pool count seen in the current map
  • MenuMaterial (Blood Shard, Deaths Breath, Greater Rift Keystones, Gold)
  • MenuMoveSpeed - shows your current run speed bonus and its panel shows the buffs currently active on your character (work in progress, still filling in the speed buff data)
  • MenuParagon - substitute for Default\TopExperienceStatistics.cs, and allows you to change which stat tracker is used to calculate the time-to-level
  • MenuPools - shows pool count of your characters, your party, and history of pools found in the current game
  • MenuSpiritBarrage - Spirit Barrage inspector
  • MenuUptime - shows your in-combat uptime for a few different effects, and it will only appear if it is relevant to your character
  • MenuXP - shows xp stats from various built-in stat trackers

Other plugins I've included:

  • BountyDropTracker - shows on screen alerts and remembers the location if a horadric cache is dropped to the ground (for example, if someone turns in a bounty reward quest while your inventory is full) (required by MenuBounties)
  • GreaterRiftHints - shows gem upgrade status for the party under Urshi's and Orek's feet, and shows Greater Rift levels unlocked and shard caps for each party member in the obelisk menu, marks monsters that are still alive in a Greater Rift after completion (these were features in older versions of RunStats' Greater Rift Helper plugin, but were cut for feature bloat, so I included them in a separate plugin so that older version users didn't feel like it was a downgrade)
  • ImmunityHelper - shows countdown bars - and a visual indicator on yourself - when you and party members are immune to damage (required by MenuDamageReduction)
  • ItemMapMarkers - Remembers and marks on the minimap items that match customizable rules. (this was a feature in older versions of RunStats' LootHelper plugin)
  • PartyProcTracker - shows countdown bars for cheat death effects and announces them with audio or TTS cues (required by MenuDamageReduction and MenuHealth)
  • SpiritBarrageHelper - shows countdown bars and ground indicators for spirit barrage phantasms and keep tracks of snapshot/buff status for each phantasm for the Spirit Barrage Inspector (MenuSpiritBarrage)

Note: These additional plugin files must be installed if you are using RunStats so that TurboHUD's compiler knows about them, but you can toggle the plugins off if you don't want to use them.


The following ICustomizer files are automatically generated in your TurboHUD \ plugins \ User folder when you configure menu plugins through the in-game interface. You can delete any of them at any time if you want to return to the default settings:

  • DefaultPluginEnablerOrDisabler.cs
  • CustomPluginEnablerOrDisabler.cs
  • LightningModPluginEnablerOrDisabler.cs
  • MenuPluginConfig.cs
  • MovablePluginConfig.cs


RunStats? LiveStats? Why is all this stuff so similar?

I wrote RunStats back in June 2019 in response to KillerJohn's (the author of TurboHUD) open challenge to rework his run stats box as a plugin. While I was taking a break from Diablo (and computing in general) for personal reasons, API updates to TH broke RunStats. 

Another mod author, hakache decided to fork RunStats into a project that he named LiveStats and wrote in some cool features of his own. While LiveStats was actively maintained, I decided that I didn't need to release new versions of RunStats to the public so that I could focus on building out other ideas. Now that LiveStats is no longer available/maintained, I've been asked if I would do it.

The answer to that is no because I already have been evolving RunStats as a labor of love as a side project for a while, so that is what I would aim to release. This project includes the third rewrite of RunStats and showcases a lot of new stuff I've figured out how to do since I wrote the first version.


October 4, 2021

  • Label\LabelTableDecorator - fixed "flickering" when multi-column row widths result in MaxRowWidth value that changes the next iteration's value
  • Plugin\MenuTogglePlugins - fixed Page Forward arrow button being allowed to advance to a blank page

September 30, 2021

  • Menu\MenuPlugin - updated to use the path value passed by ITextLogger.Log()

September 27, 2021

  • Menu\MenuPlugin - fixed MovableArea not being disposed when panel is unpinned

September 25, 2021

  • Plugin\MenuTogglePlugins - fixed toggling plugins on overflow pages
  • RunStats\MenuPools - fixed the position math for repositioned party pool count indicators
  • Menu\MenuManifests - added manifest entry for MenuPools

September 24, 2021

  • Menu\MenuManifests - implemented IPluginManifest and added more plugin descriptions and dependencies
  • Menu\MenuDocksConfig - implemented IPluginManifest

September 23, 2021

  • ItemMapMarkers - new supplemental plugin to restore and improve upon RunStats LootHelper functionality that was removed: remembers and marks on the minimap items that match customizable filters
  • Plugin\MenuTogglePlugins - updated category filters to separate LightningMod plugins into their own category (thanks to MGun for the info)
  • Plugin\MenuTogglePlugins - added exclusion list for hiding plugins (especially for those required by Menu Plugin System so that they don't get disabled accidentally)
  • Plugin\MenuTogglePlugins - fixed showing RequiresUI list with manifests that are defined separately from the plugin
  • Plugin\MenuTogglePlugins - changed execution order flow for saving a snapshot of plugin toggle states to be more compatible with old config files
  • Label\LabelTableDecorator - fixed column calculations when total data size resulted in data being pushed left off the screen

September 21, 2021

  • Log\TextLogger - added detection of relative plugins directory, which is passed along to a revised Log function signature
  • Movable\MovableController - updated Log() signature
  • Movable\MovableController - implemented the Log-provided relative plugins path
  • Menu\MenuPlugin - updated Log() signature
  • Menu\MenuPlugin - implemented the Log-provided relative plugins path
  • Plugin\MenuTogglePlugins - updated Log() signature
  • Plugin\MenuTogglePlugins - fixed ConfigFilePath property not being used, and implemented the Log-provided relative plugins path
  • Plugin\MenuTogglePlugins - optimized config file generation to only create toggle calls for plugins with Enabled states that differ from their value after loading and customization

September 19, 2021

  • RunStats\MenuPools - added a PortraitAnchor movable area to shift the pool display for all party members relative to your portrait

September 18, 2021

  • Plugin\MenuTogglePlugins - fixed edge case/race condition where only the last config changed is written to file if more than one config is updated within the update delay window

September 17, 2021

  • Plugin\MenuTogglePlugins - only generate category filter tab for filters that have plugins to show

September 15, 2021

  • Menu\MenuPlugin - added TooltipFontSize property
  • Plugin\MenuTogglePlugins - combined Manifest, Required By, and Performance data into one tooltip
  • Plugin\MenuTogglePlugins - fixed category paging arrow display
  • Plugin\MenuTogglePlugins - fixed tooltip being blank for the first entry in any category

September 14, 2021

  • RunStats\MenuBounties - removed the extra left and right padding in the hover panel
  • Plugin\MenuTogglePlugins - implemented PluginManifest handling
  • Plugin\PluginManifest - new class for defining manifest data without modifying the plugins themselves
  • Menu\MenuManifests - new file with some manifest definitions for Menu Plugin System addons and supporting files

September 12, 2021

  • Menu\HorizontalMenuDock - fixed NullPointerException thrown when TH is first loaded in menus and then you enter a game (bug introduced by docks config initialization change)
  • Menu\VerticalMenuDock - fixed NullPointerException thrown when TH is first loaded in menus and then you enter a game (bug introduced by docks config initialization change)
  • ..\User\ - added the User folder to the download instead of assuming it already exists

September 8, 2021

  • Menu\MenuPlugin - fixed click to open
  • Menu\HorizontalMenuDock - fixed click to open
  • Menu\VerticalMenuDock - fixed click to open
  • Menu\VerticalMenuDock - fixed label hover background coloring
  • Label\LabelCanvasDecorator - added label hover registration to fix click to open
  • Plugin\MenuTogglePlugins - displays dependency information provided by plugins that have IPluginManifest implemented
  • Menu\MenuDocksConfig - defined a default label hover color for each dock except for the minimap ones

September 7, 2021

  • Menu\MenuPlugin - added IPluginManifest data
  • Plugin\MenuTogglePlugins - added paging for plugin categories that have so many plugins that they don't fit on one screen
  • Plugin\IPluginManifest - new interface: an optional, basic plugin metadata definition scheme

September 5, 2021

  • Menu\MenuTogglePlugins - moved to Plugin\MenuTogglePlugins
  • Plugin\MenuTogglePlugins - optimized max plugin count checking to only occur once
  • Menu\MenuPlugin - separated dock definitions into its own customization file (Menu\MenuDocksConfig)
  • Menu\MenuDocksConfig - new customizer file to configure dock positions, alignment, orientation
  • Label\LabelController - implemented a psuedo 3rd dimension to label drawing so that nested labels can be layered above its parent
  • Label\LabelDecorator - added the LabelDecorator.Queue(Action) to bridge LabelController layering with ILabelDecorator
  • Label\LabelExpandDecorator - implemented drawing above its containing label 

August 2, 2021

  • Menu\MenuPlugin - added a brush setting for hovered label backgrounds
  • Menu\HorizontalMenuDock - removed town check in the default HoverCondition
  • Menu\VerticalMenuDock - removed town check in the default HoverCondition
  • Proc\PartyProcTracker - shifted the default starting position down slightly to avoid overlap with a minimap IMenuDock
  • ImmunityHelper - fixed the shield indicator from shifting during movement (player.FloorCoordinate.ToScreenCoordinate() is not the same thing as player.ScreenCoordinate, apparently)
  • ImmunityHelper - implemented ShowCountdownOthers (off by default)
  • GreaterRiftHints - attempt to fix duplicate entries from being displayed
  • RunStats\MenuPools - fixed duplicate entries being displayed
  • RunStats\MenuPools - fixed filtering of heroes list
  • RunStats\MenuLoot - fixed the alignment of the 'type' labels (left instead of center)
  • RunStats\MenuLoot - fixed the Primal tooltip showing Legendary drop rate instead of Primal drop rate
  • Label\LabelStringDecorator - added FontSize property for scaling the displayed font dynamically
  • Click\ClickEventHandler - now uses MethodInvoker to add listeners to the hook thread so that the thread can be shared by multiple plugins
  • Click\ClickExtensions - adds Hud.Input.GetThread() factory method as an extension

July 23, 2021

  • GreaterRiftHints - (re)added in the quest check to prevent Post Greater Rift Monsters marking feature from from marking all monsters in Challenge Rifts
  • Menu\MenuPlugin - added IMenuDock.Enabled check before rendering it
  • Menu\HorizontalMenuDock - implemented new IMenuDock properties, HoverCondition includes a check for idle state when outside of town to help prevent accidental menu openings
  • Menu\VerticalMenuDock - implemented new IMenuDock properties, HoverCondition includes a check for idle state when outside of town to help prevent accidental menu openings
  • Menu\IMenuDock - added Enabled and HoverCondition properties
  • RunStats\MenuLatency - workaround for the current broken IP address data, Region tags scan for a match end to beginning instead of the other way around, and it is now cached for efficiency

July 22, 2021

  • Drawing\Decorators\GroundFixedTimerDecorator - optimized the clock face drawing code (thanks to Kyle for giving me the idea to use arcs for efficiency)
  • Menu\MenuTogglePlugins - added the "Enhanced" plugin namespace to the Default plugins filter

July 21, 2021

  • ImmunityHelper - Added follower Cheat Death immunity checks (thanks to Jembo for the buff data and testing)
  • Label\LabelColumnDecorator - fixed issue with Height factoring in non-visible labels (thanks to Jembo for the heads up about MenuGreaterRift hiding behind the dock while a GR is active)
  • RunStats\MenuLoot - added Ethereals to the display
  • RunStats\MenuLoot - added loot per hour statistic to the tooltip of each loot type count
  • Seasonal\EtherealExtensions - adds IItem.IsEthereal()
  • Menu\MenuPlugin - shifted BottomLeft dock over to the right a little to make space for the "Unleashed" text

July 19, 2021

  • Menu\MenuVolume - implemented Reset button to clear custom settings
  • Menu\MenuVolume - implemented settings persistence with IMenuAddon.Config
  • Razor\ImmunityHelper - fixed ShowIndicator = false resulting in not showing Countdown as well 

July 18, 2021

  • RunStats\MenuPools - added filter to Hero display to only show if it is of the same classification of the currently used character (hardcore, seasonal)
  • GreaterRiftHints - added post greater rift monster marking option (on by default)
  • Log\TextLogger - added two ways to delay the ITextLogger.Log() call
  • Menu\MenuPlugin - added a 3s delay to the ITextLogger.Log() call so that quick successive changes can be written together (e.g. fast clicking to toggle a lot of addons or change addon settings)
  • Menu\MenuTogglePlugins - now implements ITextLogger to add a 3s delay to file write so that quick successive changes can be written together (e.g. fast clicking to toggle a lot of plugins)
  • Menu\BaseMenuAddon - fixed BasePlugin inheritance (added base() call to constructor)

July 17, 2021

  • RunStats\MenuPools - shifted the pool count portrait display up closer to the top of the portrait to not overlap with the PartyUnitFrames plugin
  • RunStats\MenuPools - now it won't show the label if the character has 0 pools
  • RunStats\MenuPools - added loading and saving Hero pool data from file for persistence (via IMenuAddon.Config string)
  • RunStats\MenuPools - added a button to each table row for the option to delete individual saved Hero data

July 15, 2021

  • Util\UtilExtensions - changed the CapStyle used by GetHeroBrush for usage in the PartyTracker suite of plugins
  • Util\UIOverlapHelper - added UIGroup.Custom category and the ability to define custom blocking regions via UIOverlapHelper.CustomBlockingAreas for overlap checks
  • Movable\MovableController - removed UIGroup.Tooltip from overlap checks of MovableArea
  • Movable\MovableController - added UIGroup.Custom to overlap checks of MovableArea

July 14, 2021

  • SpiritBarrageHelper - fixed the inconsistent rendering of the background shading of countdown bars
  • Util\UIOverlapHelper - added the portrait context menu to UIGroup.Clip
  • Click\ILeftBlockHandler - now inherits IPlugin so that doesn't need to be cast to check the Enabled flag
  • Click\ClickEventHandler - no longer casts IBlockLeftHandler to IPlugin to check the Enabled flag

July 12, 2021

  • Initial release


The Menu Plugin System should play nice with most other plugins, but please archive (remove, but feel free to save a backup!) the following plugins first if you have them installed:

  • plugins \ LiveStats \ (draws data in the same areas of the screen)
  • plugins \ Razor \ ImmunityIndicator.cs (has been updated and renamed to ImmunityHelper.cs)
  • plugins \ Razor \ PartyProcTracker.cs (has been updated and moved to its own Proc\ subfolder)
  • plugins \ Razor \ RunStats \ (has been rewritten)
  • plugins \ Razor \ VolumeControls.cs (has been converted to a menu addon)
  • plugins \ Razor \ Decorators \ GroundFixedTimerDecorator.cs (has been moved to plugins \ Razor \ Drawing \ Decorators)
  • plugins \ Razor \ Decorators \ ClockwiseRotationTransformator.cs (has been moved to the plugins \ Razor \ Drawing\ RotationTransformators \ subfolder)
  • plugins \ Razor \ Menu \ MenuTogglePlugins (has been moved to Razor\Plugin\)

You want to overwrite everything in the Razor folder that it asks you to because this download should include the latest versions of my supporting files. The files and folders should go in the following places:

TurboHUD \ plugins \ Razor \ Click \
TurboHUD \ plugins \ Razor \ Drawing \
TurboHUD \ plugins \ Razor \ Hotkey \
TurboHUD \ plugins \ Razor \ Label \
TurboHUD \ plugins \ Razor \ Log \
TurboHUD \ plugins \ Razor \ Menu \
TurboHUD \ plugins \ Razor \ Movable \
TurboHUD \ plugins \ Razor \ Plugin \
TurboHUD \ plugins \ Razor \ Proc \
TurboHUD \ plugins \ Razor \ RunStats \
TurboHUD \ plugins \ Razor \ Seasonal \
TurboHUD \ plugins \ Razor \ Util \
TurboHUD \ plugins \ Razor \ BountyDropTracker.cs
TurboHUD \ plugins \ Razor \ GreaterRiftHints.cs
TurboHUD \ plugins \ Razor \ ImmunityHelper.cs
TurboHUD \ plugins \ Razor \ ItemMapMarkers.cs
TurboHUD \ plugins \ Razor \ SpiritBarrageHelper.cs
TurboHUD \ plugins \ User \
TurboHUD \ sound \ ProcYou.wav

Then (re)start TurboHUD.

Works with Diablo 3 patch, TurboHUD v21.9.5.0, API v9.2


  1. Hey razor i tried turnning the arcs around your character during the immunity effects off by changing it to 0 but it didnt work??? and for some reason the code is all over the place and not in lines to eaily read.

    1. ShowIndicator is now a boolean, so you can set it to false instead of 0. Also, I found a bug while checking out your problem, and I just pushed out an update to plugins\Razor\ImmunityHelper.cs to fix it. It's in the new download dated July 19th.

    2. Yeah, i saw that and i did set it to false... BUT the countdown timer doesn't work when that's false =(.... I can live without it i guess haha.

    3. Did the July 19th update work for you? The countdown timer not showing up when ShowIndicator is false is the error I tried to fix with it.

  2. OH no it didnt work for me.... i have the 7/19 plugin changed, ShowIndicator = false and ( ) are gone with the timer.

    1. Hmm, could you check line 145? should be right below the PaintArea(...) signature, does it say !ShowCountdown or !ShowCountdownBar (either one works) instead of !ShowIndicator?

    2. it does, idk if that's line 145 tho.....

      if (!ShowCountdown || !IsImmune)

      P>S i just check the post and it is line 145,

  3. It's a cool plugin. Thank you for your hard work and enthusiasm.

  4. MenuToggleAddons / MenuTogglePlugins Can't these two be displayed by clicking on them instead of hovering over them? Even when the mouse touches while playing the game, it covers the entire screen, so turning it on and off unintentionally is pressed.

    1. I'll see what I can do about that in the next update before season starts. The bigger plan is to add some in-game configuration options for menu docks that will allow you to tailor the behavior to your liking, but I can probably add in some idle animation check when outside of town or something simple in the meantime.

    2. Just updated the download with a potential solution to your request. Details in the Changelog section.

  5. BTW razor..... idk how or why, but the timer works when i added it to the new hud

    1. Always good to hear that the problem resolved itself! Maybe it was a caching issue... I saw someone mention in RB's chat room mention that one of the recent releases of TH had a caching issue, which may have meant that it wasn't compiling new versions of plugin files.

  6. Anyway to disable the little black backgrounds behind everything, also MinimapLeft Buffs dont seem to grow up or down they grow in each direction anyway to change it so the buffs only grow down ?

    1. At the moment, only two ways by modifying the code in TurboHUD\plugins\Razor\Menu\MenuPlugin.cs, (1) where the docks are defined (starts at line 487), each dock definition has a LabelBrush = BgBrush, which can be commented out in order to remove the background, OR (2) setting BgBrush's alpha transparency to 0 on line 113 (or in a customization file).

      Minimap buff list grow around a center point along the side of the minimap, and that is the behavior of a default TurboHUD plugin, this plugin doesn't change that.

    2. Alright thank you very much <3

  7. i get this expections with the lastest update

    2021.08.10 06:50:35.060 StatTracker file is damaged: C:\Users\Krazy\Desktop\Dhud\turbohud_21.7.22.20_free\stat_tracker\133262256_total_t16_20210809.xml (System.Xml.XmlException: Root element is missing.
    at System.Xml.XmlTextReaderImpl.Throw(Exception e)
    at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
    at System.Xml.XmlReader.ReadToFollowing(String name)
    at Class96.vmethod_2(XmlReader xmlReader_0)
    at Class96.method_69(String string_1)
    at Class340.method_23(String string_3))

    1. NVVMMMMMM ROFL>............ solved it sorry razor<3

  8. How do I scroll the list of plugins if the menu overflows?

    1. I was hoping that this case would be rare, as it doesn't currently handle having so many plugins that they don't fit on screen. I'll see what I can do about it in a future update.

  9. Hi Razor.

    i love your addon! truly amazing! but i encounter some weird stuff. im new and i hope its not a dumb "user-error" :) : I cant click anything, my chars walk instead. i can do f12 and move stuff. i can hover over buttons to see the popupwindow (menü, dmg, network, everything i can see) but i cant click anything on it (like pin it). what did i wrong? :/

    1. When you move stuff with F12, does your character move around too? Did you disable any of the plugins that came in this download?

    2. hi, thanks for the fast response

      if i use f12 i can move the plugin elements without charaktermovement.
      i disabled a couple thinks like spiritbarage helper (from you), playerbottombuff (from default). i also thought i did a misstake by setting
      Hud.TryTogglePlugin("Enhanced.UiElementClickBlockerPlugin", false);
      to true. but i changed it back to false in code and still same problem. i dont know if it helps, but it all startet as i played with the cc-plugin. i pinned it down to see what i can get for informations in grifts... after 1 grift it annoyed me that it is over that chat window. so i moved the cc-window to the right. after a couple runs i decided that i dont need it. thats where i encountered the problem. i couldnt close the window cause my carakter moves instead of clicking the hud-ui-element-what-ever-it-is-called xD
      then i wanted to deactivate it over your menü (top right). same thing. charakter walks instead of doing a click. so i deactivated the cc-list in the scriptfiles.

    3. with f12 my problem :)

    4. only cc deactivated:
      default i cant click ingame, so heres the file:

    5. Your custom plugins picture shows that Razor.Label.LabelController is disabled - that is the plugin that manages all of the menu click events.

    6. oh my god. u are a amazing. sorry for bothering you. maybe you remove the option to deactivate it from you menu? or make big ass tooltip when u hover it? so dumb ppl like me accidendly dont deactivate it by playing around :(

      love u and keep going with this amazing plugin!

  10. This comment has been removed by the author.

  11. @Razor doesn't this rifthelp show legendary names on mini map? i have one that does ground only but not on minimap

    1. LootHelper from the old RunStats used to show ancient and primal legendary markers on the minimap, but I removed it due to feature bloat (or rather, I forgot to add it into the new version since I got lost in the sea of work on the other addons) and the previous questions from users about how to disable it.

      I can probably add the feature back in as an optional plugin in the next update to Menu Plugin System, which should be pretty soon (almost done with this round of bugfixing and feature creep).

    2. YEah that would be COOL !!! I like it in t16 zooming pass shit and hate going back to see what the item is..... LOL.... BTW I couldnt get this plugin to work inside C HUD???? i tried so many things.... all ended in errors....

    3. Since I don't run TurboHUD CN/Lightning, I would need to see the error log to be sure what is going on there. Meanwhile, I helped a with a TurboHUD CN/Lightning user with a similar issue in my Movable plugin thread at Ownedcore the other day. His error log revealed that TurboHUD CN does not have a plugins\User folder, which is where my plugins are trying to write config files. The solution was a to create a new "User" folder in the "plugins" folder.

  12. Certain values are shown outside the screen for the MenuPools plugin (eg. 8.49, with 8 being printed halfway outside)

    1. Hmm, I wasn't able to reproduce that problem, even when setting the pool plugin to print 8.49 specifically. What screen resolution are you running the plugin in? Is your monitor curved? Do you have a screenshot (at least the part of the screen that shows the problem) that I could look at?

    2. Sorry, it was not 8.49 but 7.49 and 7.67. I tested it in Windowed (Fullscreen) in 1920x1080 and Windowed 1280x720. Both had the same issue with the first digit being printed halfway outside the game window.
      I have no curved monitor.
      I have 2 screenshots depicting the issue:

    3. What are those white bands along the left edge of the screenshots? They look like they're from some other plugin that is drawing on top of mine.

    4. It's the white background of Windows Explorer, it got caught in the screenshot capture when D3 was in windowed mode.

    5. This latest update to MenuPools allows you to move the pool counter anchor for your portrait around on your screen, and all party members' pools will be shifted accordingly

  13. @razor
    SO i think i see the problem with this plugin and Chud.... this is the error im getting

    2021.09.19 06:24:58.043 OnCollectFinishedUnSafe exception (System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Krazy\Desktop\TurboHUD_LightningMOD\plugins\User\MovablePluginConfig.cs'.
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
    at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
    at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
    at System.IO.File.InternalWriteAllText(String path, String contents, Encoding encoding, Boolean checkHost)
    at Turbo.Plugins.Razor.Movable.MovableController.Log()
    at Turbo.Plugins.Razor.Log.DelayedLogQueue.Queue(ITextLogController TextLog, ITextLogger plugin, Single delay)
    at Turbo.Plugins.Razor.Movable.MovableController.AfterCollect()
    at ‌‫‌‪‮‪‌‬‮‌‭‍‬‪‪‪​‍​‌‎​‎‬‮.‬‫‭‬‏‮‍‮‪​‫‭‌​​‭​‪‭‍‮‏​‎‏‮.‫‪‭‮‭‭‌‎‌‬‪‭‬‍‭‪‪‌‪‫‎‏‌‏‮()
    at ‌‫‌‪‮‪‌‬‮‌‭‍‬‪‪‪​‍​‌‎​‎‬‮.‎‭‮​‫‍‌‪‏‮‬‏‬‫‌‪‫‫‌‪‍‍‮(IPlugin , String , Action )
    at ‌‫‌‪‮‪‌‬‮‌‭‍‬‪‪‪​‍​‌‎​‎‬‮.‏‫‎‭​‭‬‭‌‬‍‭‍‫‮‭​‍‫‍‪‫‬‪‏​‮‮(Object , EventArgs )
    at ​‎​‌‍‪‍‬‪‌‎‌‭‫​‪‮‌‭‮‎‭‪​‭‌‪‮.‏‎‭‌‍‍‫‌‌‬‫‌‭‪‭‮‫‪‫‌‎‌‬‭‭‍‪‮(Boolean ))

    The path isn't right to the user folder on C-hud the path would be TurboHUD_LightningMOD\TurboHUD\plugins\User

    but the error says its going TurboHUD_LightningMOD\plugins\User

    how can i make it go to TurboHUD_LightningMOD\TurboHUD\plugins\User

    1. WELL ATM I cheated...... i just made a folder "plugins" added user folder to that path and it worked...... But yeah so the pathing to the user folder on Chud is different if anyone ask about the above error!!!!!!! =)

    2. NOw i cant save tho.... It doesn't auto save and when i try saving. By clicking the button at the top right... i get this error OVER and over

      2021.09.19 08:07:35.761 OnCollectFinishedUnSafe exception (System.NullReferenceException: Object reference not set to an instance of an object.
      at Turbo.Plugins.Razor.Menu.MenuTogglePlugins.Log()
      at Turbo.Plugins.Razor.Log.DelayedLogQueue.NotifyLogQueue(ITextLogController TextLog)
      at ‌‫‌‪‮‪‌‬‮‌‭‍‬‪‪‪​‍​‌‎​‎‬‮.‬‫‭‬‏‮‍‮‪​‫‭‌​​‭​‪‭‍‮‏​‎‏‮.‫‪‭‮‭‭‌‎‌‬‪‭‬‍‭‪‪‌‪‫‎‏‌‏‮()
      at ‌‫‌‪‮‪‌‬‮‌‭‍‬‪‪‪​‍​‌‎​‎‬‮.‎‭‮​‫‍‌‪‏‮‬‏‬‫‌‪‫‫‌‪‍‍‮(IPlugin , String , Action )
      at ‌‫‌‪‮‪‌‬‮‌‭‍‬‪‪‪​‍​‌‎​‎‬‮.‏‫‎‭​‭‬‭‌‬‍‭‍‫‮‭​‍‫‍‪‫‬‪‏​‮‮(Object , EventArgs )
      at ​‎​‌‍‪‍‬‪‌‎‌‭‫​‪‮‌‭‮‎‭‪​‭‌‪‮.‏‎‭‌‍‍‫‌‌‬‫‌‭‪‭‮‫‪‫‌‎‌‬‭‭‍‪‮(Boolean ))

    3. You could try changing the ConfigFilePath property near the top of the MenuTogglePlugins file. The default value is "plugins\User\" but changing it to "TurboHUD\plugins\User\" might get CN TH to find the right location.

    4. WORKED! i started to just copy pass like the old days in runstat ROFL... but no, changing the location worked great.

  14. @Razor how do i move the toggle plugins over more to the right??? Yours up above shows them far to the right, but mine are far to the left???

  15. If you click on page 2, the plugin settings on page 1 will be changed.

    1. Thanks for letting me know about the issue. It looks like I forgot to update the toggling function to factor in paging. I'll have it fixed in the next update, but meanwhile, you can fix it yourself in Razor\Plugin\MenuTogglePlugins.cs on line 627 - change SelectedFilter.Plugins[Table.HoveredRow] to SelectedFilter.Plugins[Table.HoveredRow + SelectedFilter.Skip]

    2. Thank you. It works after the change.


Post a Comment