Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(66 Kb)
Download
Updated: 08-11-15 09:48 PM
Pictures
File Info
Compatibility:
Fury of Hellfire (6.2)
The Adventure Continues (6.1)
Warlords of Draenor (6.0.3)
Warlords of Draenor Pre-Patch (6.0.2)
Updated:08-11-15 09:48 PM
Created:07-29-10 06:15 PM
Downloads:4,600
Favorites:63
MD5:
6.2

Hydra - Multibox Leveling Helper

Version: 6.2.0.31
by: Phanx, Akkorian

Hydra is a multibox leveling helper that aims to minimize the number of times you need to actively control secondary characters.

Scroll down for a full list of features. Options are accessible by typing “/hydra” or by browsing to the Hydra panel in the Interface Options window. Several common commands can also be keybound in the standard Key Bindings window.

Please note that Hydra is not a replacement for key cloning software — addons can’t cast spells, target units, or perform many other actions, so you will still need some way to send your key strokes and mouse clicks to your secondary characters’ instances of WoW.
Bug Reports & Feature Requests
Post an issue on GitHub (preferred), or post a comment here on WoWInterface. If you are reporting a bug, please read this first and provide as much of the requested information as possible.
Language Support
  • Works in all languages.
  • Translated into English, Deutsch, Español, Français, Русский, and 한국어.
  • Add or update translations on the CurseForge project page or send me a PM.
Full Feature List
Hydra operates on the basis of “trust”. You tell it which characters you trust, whether they're your multibox characters or just your questing buddies, and features are enabled or disabled depending on whether you’re in a party with trusted characters or not. For example, whispers are only forwarded to party chat if everyone in the party is on your trusted list.

You can add or remove names to your trusted list in the options panel. There's also an option to add everyone in your current party to your trusted list, for quick setup for multiboxing groups.
Automation
  • Accepts summons and resurrections.
  • Declines duels, guilds, and arena teams.
  • Repairs equipment and sells junk to vendors.
Chat
  • Forwards whispers to secondary characters to party chat.
  • Forwards responses in party chat back to the sender as a whisper from the secondary character.
Follow
  • Notifies you when a party member starts or stops following you.
  • Type “/followme” or “/fme” to command all party members to follow you.
  • Type “/corpse accept” to make all other party members who are ghosts accept their corpse.
  • Type “/corpse release” to make all other party members who are dead release their spirit.
Mount
  • Causes other characters in the party (and in range) to mount when you mount.
Party
  • Accepts party invitations from trusted characters.
  • Request a party invitation by typing “/inviteme name”, where “name” is the target. If no target is specified, your current target unit will be used.
  • Request a promotion to party leader by typing “/promoteme”.
Quest
  • Accepts quests that another trusted party member already accepted, or all quests
  • Accepts quests shared manually or automatically (eg. escort quests) from players
  • Accepts quests started from looted items
  • Shares quests accepted from NPCs
  • Turns in completed quests (you still need to choose a reward if there’s a choice)
  • Abandons quests abandoned by trusted party members
Taxi
  • Autoselects the last taxi node selected by anyone in the party in the last 60 seconds.
  • Type “/cleartaxi” to manually clear the selection for the current character.
  • Hold the Shift key when interacting with the flight master to bypass this module’s functionality.

Limitations & Caveats

Chat module limitations:
Whispers containing a high number of “spam words” (words that commonly appear in goldselling, powerleveling, phishing, or other spam) are forwarded as “POSSIBLE SPAM” instead of the actual text, to avoid having your account appear to send spam. If you want to see the actual message, check the receiving character’s chat log.

Whisper forwarding is disabled in non-trusted parties, and there is currently no notification if someone whispers a secondary character in this situation.
Primary character detection:
Hydra currently offers two methods for detecting the primary character. By default, it assumes that the primary character is the party leader. You can use the options panel to switch to checking for applicaton focus instead, but this method will not work if you are using multiple physical machines, and may not work if you are running multiple clients in windowed mode.
Advanced Chat Usage
If whispers from multiple senders are forwarded to party chat, your responses in party chat are assumed to be directed toward the sender of the most recently forwarded whisper. You can respond to a previously forwarded whisper by prefacing your message in party chat with “@name”, where “name” is the name of your character that forwarded the whisper.

If whispers from multiple senders are forwarded by the same character, you can respond to a previous message by whispering that character with “@name message”, where “name” is the name of the person you want “message” to be whispered to. You can also use this feature to have your secondary characters send whispers to people who haven’t already whispered you.

Version 6.2.0.31
  • Fixed an error in localization

Version 6.2.0.30
  • Updated for WoW 6.2
  • Added an option to disable automatic loot method switching
  • Fixed an issue with taxi destination sharing
  • Fixed some issues with option checkboxes
  • Renamed the "Party" module to "Group" since it also works for raids

Version 6.0.2.206
  • Updated for WoW 6.0
  • Taxi sharing now works immediately for secondary characters who already have the taxi map open
  • Improved dismount detection for noobs who click off auras to dismount
  • Fixed junk selling profit report for stacked items
  • Added alchemy and engineering specialization quests to the ignore list

Version 5.4.8.187
  • Fixed textures overlapping on the "remove name" dropdown when there are no names to remove

Version 5.4.8.186
  • Fixed automatic re-follow after combat
  • Fixed automatic quest abandoning for characters with significant level differences
  • Fixed taxi sharing for characters with different known flight paths
  • More fixes for Blizzard's lazy API inconsistencies

Version 5.4.8.175
  • The dropdown menu for removing trusted names now scrolls when necessary to accomodate users with over 9000 alts
  • [Chat] Fixed the enable checkbox
  • [Group] Promotion requests are now targeted while in a group to avoid spam from non-leader characters
  • [Mount] Fixed a reversion causing comm messages to be incorrectly ignored under certain conditions

Version 5.4.7.169
  • Ambiguate names where necessary to work around annoyingly inconsistent API functions that break when realm names are passed
  • Clear abandoned quests from the accept/accepted lists to they can be automated again later
  • Block automation of the Allegiance to the Aldor/Scryers quests, and the Little Orphan quests in Dalaran

Version 5.4.7.162
  • Fixed problems with cross-realm player names
  • Fixed notifications in the Follow module
  • Fixed the wrong text being used on some options for the Quest module
  • Added an in-game panel for enabling debugging messages on a per-module basis
  • Updated German translations

Version 5.4.2.151
  • Fixed more issues with the Mount module
  • Fixed an issue in the Chat module where "/w Player1 @Player2 message" would cause an infinite loop of whispers when Player1 and Player2 were both trusted group members
  • Adjusted default options for the Automation and Quest modules (eg. "Accept combat resurrections" is no longer enabled by default)

Version 5.4.2.139
  • Added an option to repair using guild funds when possible
  • Fixed an issue with the Mount module

Version 5.4.2.136
  • Fixed some more issues with the Follow module
  • Fixed the options UI for adding/removing trusted names

Version 5.4.1.132
  • Fixed sending /followme without a target
  • Fixed instance chat channel detection
  • Fixed chat master detection method option dropdown
  • Added "Work Order" quests to the automation blacklist
  • Added missing Spanish translations
  • Updated for WoW 5.4

Version 5.2.0.119
  • Added an option to resume following when leaving combat
  • Added a quest blacklist to prevent automating certain quests (eg. suboptimal Tillers turnins)
  • Added checks to prevent attempting to turn in repeatable quests that aren't complete (eg. you need 6 Dread Amber Shards to turn in Seeds of Fear)
  • Fixed an issue with realm names containing spaces
  • Fixed an issue preventing guild invite declining from fully disabling until a reload/relog

Version 5.1.0.103
  • Chat: Added support for forwarding Battle.net whispers and conversations
  • Follow: Fixed the follow key binding
  • Mount: Removed dependency on LibMountInfo, since changes in the library make it useless for Hydra's purposes
  • Quest: Added an option to accept all quests, in addition to shared quests
  • Quest: Added support for starting quests from items
  • Quest: Hide the useless gossip window for auto-pickup quests
  • Quest: Fixed turnin of quests with multiple valueless rewards
  • Quest: Fixed turnin of auto-completing quests
  • Quest: Fixed quest reward selection for class-filtered rewards in MoP
  • Quest: Fixed accepting escort quests started by others

Version 5.0.4.82
  • Fixed a call to a function that was removed in WoW 5.0
  • Added French translations from Araldwenn
  • Added Russian translations from Piton4
  • Updated Spanish translations from Valdesca

Version 5.0.4.80
  • Updated for WoW 5.0
  • Removed an unused library
Archived Files (13)
File Name
Version
Size
Author
Date
6.2.0.30
66kB
Phanx
08-10-15 03:02 AM
6.0.2.206
81kB
Phanx
10-16-14 06:28 AM
5.4.8.187
88kB
Phanx
07-14-14 08:14 AM
5.4.8.186
87kB
Phanx
06-19-14 01:05 AM
5.4.8.175
87kB
Phanx
06-01-14 09:56 PM
5.4.7.169
83kB
Phanx
05-03-14 05:42 AM
5.4.7.162
80kB
Phanx
02-21-14 01:32 PM
5.4.2.151
72kB
Phanx
01-02-14 07:26 PM
5.4.2.139
71kB
Phanx
12-31-13 06:16 AM
5.4.2.136
71kB
Phanx
12-21-13 10:15 PM
5.4.1.132
71kB
Phanx
11-30-13 06:53 AM
5.2.0.119
71kB
Phanx
05-04-13 06:40 AM
5.1.0.103
68kB
Phanx
12-02-12 04:50 PM


Post A Reply Comment Options
Unread 02-21-14, 01:34 PM  
Phanx
No Life!
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5145
File comments: 2196
Uploads: 45
Version 5.4.7.162
  • Fixed problems with cross-realm player names
  • Fixed notifications in the Follow module
  • Fixed the wrong text being used on some options for the Quest module
  • Added an in-game panel for enabling debugging messages on a per-module basis
  • Updated German translations

I have still been unable to reproduce any issues with any options for any module not saving, with any version, and neither have any of the other people I've asked to install the addon and test, so if you're still having this problem, I really don't know what to tell you...
__________________
Author/maintainer of Grid, PhanxChat, ShieldsUp, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
Phanx is offline Report comment to moderator  
Reply With Quote
Unread 02-21-14, 01:21 PM  
kittykatmax
A Deviate Faerie Dragon
 
kittykatmax's Avatar

Forum posts: 16
File comments: 238
Uploads: 0
Re: Re: Fix!!!

I don't know LUA, I'm just brave enough to "fake it 'til I make it" when desperate. lol I wasn't going to do the whole addon testing thingie, but resetting my saved variables didn't help so I just changed the defaults in LUA to be what I wanted.

Originally Posted by acapela
Originally Posted by kittykatmax
function f:CHAT_MSG_ADDON(prefix, message, channel, sender)
if sender == myName or prefix ~= "Hydra" then return end
sender = Ambiguate(sender, "none")
You are a lifesaver! Don't think I could live without Hydra... hope Phanx gets a chance to look at these things soon.

I actually tweaked this slightly:

function f:CHAT_MSG_ADDON(prefix, message, channel, sender)
sender = Ambiguate(sender, "none")
if sender == myName or prefix ~= "Hydra" then return end


...again, works for follow/mount. Have not had quest share/accept work for a while now, have not looked into it.

As for options, I found that my "Automation" options do not save, but my "Quest" options do save (have not looked into this either).
kittykatmax is offline Report comment to moderator  
Reply With Quote
Unread 02-20-14, 09:37 PM  
acapela
A Cobalt Mageweaver
AddOn Author - Click to view AddOns

Forum posts: 237
File comments: 1307
Uploads: 6
Re: Fix!!!

Originally Posted by kittykatmax
function f:CHAT_MSG_ADDON(prefix, message, channel, sender)
if sender == myName or prefix ~= "Hydra" then return end
sender = Ambiguate(sender, "none")
You are a lifesaver! Don't think I could live without Hydra... hope Phanx gets a chance to look at these things soon.

I actually tweaked this slightly:

function f:CHAT_MSG_ADDON(prefix, message, channel, sender)
sender = Ambiguate(sender, "none")
if sender == myName or prefix ~= "Hydra" then return end


...again, works for follow/mount. Have not had quest share/accept work for a while now, have not looked into it.

As for options, I found that my "Automation" options do not save, but my "Quest" options do save (have not looked into this either).
__________________
Current author/maintainer of Aloft (the nameplate addon)
http://www.wowinterface.com/download...AloftBeta.html
-----
Zippy said it best: "All life is a BLUR of Republicans and Meat!"
acapela is offline Report comment to moderator  
Reply With Quote
Unread 02-20-14, 11:56 AM  
kittykatmax
A Deviate Faerie Dragon
 
kittykatmax's Avatar

Forum posts: 16
File comments: 238
Uploads: 0
Fix!!!

Use something with a line editor (I like Notepad ++, free), and look for the following in the core.lua file (lines 232 and 233):

function f:CHAT_MSG_ADDON(prefix, message, channel, sender)
if sender == myName or prefix ~= "Hydra" then return end


Insert a line after that so that it reads:

function f:CHAT_MSG_ADDON(prefix, message, channel, sender)
if sender == myName or prefix ~= "Hydra" then return end
sender = Ambiguate(sender, "none")


that new line, "sender = Ambiguate(sender, "none")" will be line 234

The lines after function are/should be indented in the actual file - don't change that!

I tested it and Hydra is working again in terms of following/mounting, etc.. I'm still having issues getting any changes to settings to save, but haven't tried wiping out my saved variables and starting from scratch, which I will try to do later today.
kittykatmax is offline Report comment to moderator  
Reply With Quote
Unread 02-19-14, 04:40 PM  
kittykatmax
A Deviate Faerie Dragon
 
kittykatmax's Avatar

Forum posts: 16
File comments: 238
Uploads: 0
Discussion of what changed/broke here:

http://us.battle.net/wow/en/forum/topic/11764946863


"With 5.4.7, it seems blizzard now reformats incoming whispers to always include realmname even if same realm. As such, even if you send a whisper to username, their reply will be formated as username-whisperwind for me even though I'm on whisperwind. A silly change, but i can accept it I guess. It becomes trickier though with /who queries on incoming whispers though because /who doesn't accept queries containing -realm for your own realm, it'll return no results.

Formats who accepts
1. "/who name"
2. "/who name-connectedrealm" (only if realm is not same as your own but within your connection)

if you send "/who name-ownrealm" then it fails. My request is that /who accept -realm for own realm to match blizzards own changes with incoming whispers now force including -realm for all incoming whispers, including own, this way mods don't have to go through ridiculous efforts to strip realm name, send who request, then re-add realm name after who request, when starting a new chat window for an incoming whisper. "


http://us.battle.net/wow/en/forum/topic/11765846889
"To elaborate
SendAddonMessage() does not require realmname to be specified. if you send a sync to someone, you can send it like you always have. SendAddonMessage will work if I put in "Omegal" or "Omegal-Whisperwind" as whisper target, because /w also works same way. Of course, you DO need to include realm name if they are on a different realm, even if connected realm.

However, when user gets that message on CHAT_MSG_ADDON, the sender is now ALWAYS "Omegal-Whisperwind" instead of "Omegal" if they were on whisperwind and "Omegal-Whisperwind" only if they were Not on whisperwind.

That is what the change is. Same realm comm RECEIVE now always includes name-realmname format, regardless of whether or not sender is from your own realm

Ambiguate is a blizzard function that is designed to automatically smart handle unit names to strip realm off any name from same realm while retaining it for anyone not on same realm

so sender = Ambiguate(sender, "none") added to CHAT_MSG_ADDON is pretty much the universal fix to restore pre 5.4.7 syncing behavior for your mod. The reason "none" is used is because it was found to be most reliable when used in other applications involving chat. and CHAT_MSG_ADDON, is very much chat. "none" on ambiguate should always get it right.

If you use AceComm then you'd put it in your OnComm function in same manor. "
Last edited by kittykatmax : 02-19-14 at 04:47 PM.
kittykatmax is offline Report comment to moderator  
Reply With Quote
Unread 02-18-14, 06:46 PM  
kittykatmax
A Deviate Faerie Dragon
 
kittykatmax's Avatar

Forum posts: 16
File comments: 238
Uploads: 0
Since the patch, nothing seems to work. Settings don't save, even though follow was already enabled, my toons don't follow. Mounting doesn't work either. My other multi-box addon I use, Useful Extras (can use with people not in party) is also broken so Blizz presumably changed some code. /sigh
kittykatmax is offline Report comment to moderator  
Reply With Quote
Unread 02-18-14, 04:39 PM  
Pocahuntess
A Kobold Labourer

Forum posts: 0
File comments: 10
Uploads: 0
Settings not being saved...

I too am having an issue with settings not saving for follow enable, refollow after combat, and any of the automation settings.
Pocahuntess is offline Report comment to moderator  
Reply With Quote
Unread 02-11-14, 08:26 PM  
Phanx
No Life!
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5145
File comments: 2196
Uploads: 45
Re: Re: Re: Re: Re: Bug: Quest Module Broken in .151 Release

Originally Posted by Sunteenxi
I am still having a problem changing the automation options on my main computer. i have tried re-installing etc with no difference. I have just changed the lua saved variable file outside the game to change some options.
I just tested every single checkbox in the Automation panel. Changes are saved after switching to another panel and back to Automation, and after closing the Interface Options and reopening it, and after reloading the UI, and after logging out and back in, and after exiting the game and restarting it.

If you are 100% sure your addons are all up to date on both computers, and the same problem happens with all other addons disabled, then the only other possibility I can think of is that there is something wrong with your computer's filesystem; completely deleting the saved variables file and letting WoW create a new one may help if that is the issue, though I would think you wouldn't be able to edit the file yourself if it were.

I'm not really sure what else I can tell you... if I can't reproduce the problem, there's not much I can do to try to fix it, sorry.

Originally Posted by levelzerozilch
Edit: Looks like after restarting the client, it doesn't function again. I run the settings-reload-command and it works again.
Same goes for you... I simply cannot reproduce this problem. Accepting, turning in, and sharing quests works perfectly on every one of my characters, and for a friend who I had install the addon to test with me remotely. I can disable and enable each feature, or the whole module, in the options panel, and my settings are saved between sessions and apply to the addon's behavior, all exactly as expected.

Can you post the contents of your saved variables file (or just the quests section) as it appears after the problem arises? eg. reset, log in, make sure it's working, restart without changing anything, make sure it's not working, and log out (or reload) to save the current settings to disk.

(FYI, editing your post doesn't alert me that something new was posted, so I didn't notice your edit until someone else posted a new comment; in the future, you may want to just post a new comment to make sure I see it.)
__________________
Author/maintainer of Grid, PhanxChat, ShieldsUp, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
Phanx is offline Report comment to moderator  
Reply With Quote
Unread 02-11-14, 02:00 AM  
Sunteenxi
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
Options not changing

Hi

I am still having a problem changing the automation options on my main computer. i have tried re-installing etc with no difference. I have just changed the lua saved variable file outside the game to change some options.

help?

Regards
Sunteenxi is offline Report comment to moderator  
Reply With Quote
Unread 01-21-14, 05:04 PM  
levelzerozilch
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Re: Re: Re: Re: Bug: Quest Module Broken in .151 Release

Does the problem still happen if you reset your Hydra settings to default? (Fastest way: enter "/run HydraSettings = nil ReloadUI()" in the chat box and hit Enter)
I reset both accounts' settings and the Quest module started functioning again. Sharing, accepting, etc. Seems the 'hard reset' (as it were) kicked out whatever was causing the bug. Maybe a conflict in settings migrating from .139 to .151?

Thanks for the help -- glad it wasn't a complicated fix.

Edit: Looks like after restarting the client, it doesn't function again. I run the settings-reload-command and it works again.
Last edited by levelzerozilch : 01-26-14 at 05:21 AM.
levelzerozilch is offline Report comment to moderator  
Reply With Quote
Unread 01-21-14, 01:23 AM  
Phanx
No Life!
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5145
File comments: 2196
Uploads: 45
Re: Re: Re: Bug: Quest Module Broken in .151 Release

Originally Posted by levelzerozilch
When I updated to .151, no aspect of the quest module worked while mutliboxing. I have not verified if this bug happens while solo since I don't use Hydra unless I multibox. I wasn't accepting and sharing quests automatically. My alt did not abandon quests that my main did. There were no lua errors or crash reports on the screen.
Does the problem still happen if you reset your Hydra settings to default? (Fastest way: enter "/run HydraSettings = nil ReloadUI()" in the chat box and hit Enter) If it doesn't happen with default settings, which setting(s) have you changed from their defaults? If it does happen, add the following lines to enable debugging, reload your UI, and report back with the debug messages printed to your chat frame (there will be a lot, so a screenshot is fine):

In Core.lua:
Code:
core.L = L
core.debug = true -- add this
core.modules = {}
In Quest.lua:
Code:
module:SetScript("OnEvent", function(f, e, ...) return f[e] and f[e](f, ...) end)
module.debug = true -- add this
module.defaults = {
Specifically, the core messages relating to the quest module at login ("checking state for module" and "enable/disable module") and the messages from the quest module when you interact with an NPC that should trigger some quest-related action.

Originally Posted by levelzerozilch
When I replaced the .151 chunk I quoted with the chunk from .139, the Quests module started working again. Maybe I over thought why on the technicalities but it's up now after my tweak.
All that change would do is unconditionally enable the module regardless of your settings. If you never want to disable the module, that will work for you, but it will not work for the userbase at large.
__________________
Author/maintainer of Grid, PhanxChat, ShieldsUp, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
Last edited by Phanx : 01-21-14 at 01:30 AM.
Phanx is offline Report comment to moderator  
Reply With Quote
Unread 01-20-14, 10:51 PM  
levelzerozilch
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Re: Re: Bug: Quest Module Broken in .151 Release

No need for snark. I like the addon and I'm simply trying to help. I'm new to lua so I'm just applying what I know about python. Yes I misread the module.enabled = enabled. If what I said were true, they would have been flipped.

When I updated to .151, no aspect of the quest module worked while mutliboxing. I have not verified if this bug happens while solo since I don't use Hydra unless I multibox. I wasn't accepting and sharing quests automatically. My alt did not abandon quests that my main did. There were no lua errors or crash reports on the screen.

When I replaced the .151 chunk I quoted with the chunk from .139, the Quests module started working again. Maybe I over thought why on the technicalities but it's up now after my tweak.

You've misread my enthusiasm to help as an 'imagination of problems.'

Edit: spelling & clarification
Last edited by levelzerozilch : 01-20-14 at 10:57 PM.
levelzerozilch is offline Report comment to moderator  
Reply With Quote
Unread 01-20-14, 07:47 PM  
Phanx
No Life!
 
Phanx's Avatar
AddOn Author - Click to view AddOns

Forum posts: 5145
File comments: 2196
Uploads: 45
Re: Bug: Quest Module Broken in .151 Release

Originally Posted by levelzerozilch
You're assigning 'Refresh' as a (local) variable to Core rather than defining it as a function.
Umm... it is defined as a function:

Code:
local Refresh = function(module)
... and it is attached to each module as a method when the module is registered. If it was not defined as a function, or not attached as a method to each module, then you would be getting a lot of Lua errors about attempts to index nil values.

Also, isn't module.enabled overriding module:CheckState()?
No. As you can clearly see in the code you quoted, module.enabled is always set to the value returned by module:CheckState(). The enabled key is merely a faster way for the core to interally determine a particular module's enabled state, without having to call the function over and over again.

I'm not sure what actual problem you are having, since you did not describe one, but I am not having any trouble with the quest module. Quests are automatically picked up and turned in as expected; I am not currently multiboxing, but if the entire module was broken, then pickup and turning wouldn't be working either. If you are having an actual problem (rather than just imagining one based on your misunderstanding of what the code is doing) and you want me to look into it, you're going to have to actually tell me what it is.
__________________
Author/maintainer of Grid, PhanxChat, ShieldsUp, and many more.
Troubleshoot an addonTurn any code into an addonMore addon resources
Need help with your code? Post all of your actual code! Attach or paste your files.
Please don’t PM me about addon bugs or code questions. Post a comment or forum thread instead!
Last edited by Phanx : 01-20-14 at 07:49 PM.
Phanx is offline Report comment to moderator  
Reply With Quote
Unread 01-20-14, 12:38 AM  
levelzerozilch
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Bug: Quest Module Broken in .151 Release

Checked out the code changes you made to the latest version (aside from the adjustment for defaults)

I noticed you changed the function module:CheckState() from

Lua Code:
  1. function module:CheckState()
  2.     self:UnregisterAllEvents()
  3.  
  4.     if self.db.enable then
  5.         self:Debug("Enable module: Quest")
  6.  
  7.         self:RegisterEvent("GOSSIP_SHOW")
  8.         self:RegisterEvent("QUEST_GREETING")
  9.         self:RegisterEvent("QUEST_DETAIL")
  10.         self:RegisterEvent("QUEST_ACCEPT_CONFIRM")
  11.         self:RegisterEvent("QUEST_ACCEPTED")
  12.         self:RegisterEvent("QUEST_PROGRESS")
  13.         self:RegisterEvent("QUEST_COMPLETE")
  14.         self:RegisterEvent("QUEST_ITEM_UPDATE")
  15.         self:RegisterEvent("QUEST_FINISHED")
  16.         self:RegisterEvent("QUEST_AUTOCOMPLETE")
  17.  
  18.         if core.state > SOLO then
  19.             self:RegisterEvent("QUEST_ACCEPT_CONFIRM")
  20.             self:RegisterEvent("QUEST_LOG_UPDATE")
  21.         end
  22.     else
  23.         self:Debug("Quest module disabled.")
  24.     end
  25. end

to 3 separate functions:

Lua Code:
  1. function module:CheckState()
  2.     return self.db.enable
  3. end
  4.  
  5. function module:Enable()
  6.     self:RegisterEvent("GOSSIP_SHOW")
  7.     self:RegisterEvent("QUEST_GREETING")
  8.     self:RegisterEvent("QUEST_DETAIL")
  9.     self:RegisterEvent("QUEST_ACCEPT_CONFIRM")
  10.     self:RegisterEvent("QUEST_ACCEPTED")
  11.     self:RegisterEvent("QUEST_PROGRESS")
  12.     self:RegisterEvent("QUEST_COMPLETE")
  13.     self:RegisterEvent("QUEST_ITEM_UPDATE")
  14.     self:RegisterEvent("QUEST_FINISHED")
  15.     self:RegisterEvent("QUEST_AUTOCOMPLETE")
  16.  
  17.     if core.state > SOLO then
  18.         self:RegisterEvent("QUEST_ACCEPT_CONFIRM")
  19.         self:RegisterEvent("QUEST_LOG_UPDATE")
  20.     end
  21. end
  22.  
  23. function module:Disable()
  24.     self:UnregisterAllEvents()
  25. end

You also used module:Refresh() in line 516 of .151 instead of module:CheckState(). The three function split + switching to a different method seems to be the source of the problem. As a band-aid, I replaced the CheckState() code in .151 to .139's CheckState(). I'm not familiar with WoW's API (this was my first poke at LUA too) so I'm not sure what could be causing the bug. The fact that it fails silently makes it difficult.

Edit:

I'm beginning to suspect the failure may be due to the new assignment in Core.lua Refresh which was meant to replace the if/else statements in CheckState():

Lua Code:
  1. local Refresh = function(module)
  2.     core:Debug("Refreshing module:", module.name)
  3.     local enable = module:CheckState()
  4.     module.enabled = enable
  5.     module:Disable()
  6.     if enable then
  7.         module:Enable()
  8.     end
  9. end

You're assigning 'Refresh' as a (local) variable to Core rather than defining it as a function. I'm curious, why that is. Also, isn't module.enabled overriding module:CheckState()?
Last edited by levelzerozilch : 01-20-14 at 03:39 PM.
levelzerozilch is offline Report comment to moderator  
Reply With Quote
Unread 01-04-14, 11:10 PM  
Sunteenxi
A Kobold Labourer

Forum posts: 0
File comments: 7
Uploads: 0
Hi

yes I retrusted the other character. also even rebooted the computer.

Thanks
Sunteenxi is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: