SpeakinSpell Fixed

UI and Macro
Anyone find a fix for SpeakinSpell yet? I tried manually updated the ACE3 library but no dice.

Thanks a ton to Toludin for this fix. Download below and drag the contents into your mod folder. Big Kudos again to Toludin!
07/24/2018 01:37 AMPosted by Toludin
I don't use this addon so I don't know how it should function, but I got it to seemingly recognize events and say something that I configured when they fired. Can you let me know if this is working, or if something is still broken?

https://github.com/Toludin/SpeakinSpell
what errors is it coming up with ?
07/20/2018 11:54 PMPosted by Bluspacecow
what errors is it coming up with ?
Here is what another user posted:
------------------------------------------------------------------------------
Got this error logging in to WoW, thought I should post it here for you. I'm no programmer but I'm sure you can figure it out much better than I can. :) Love your addon, always.

Message: ...\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12403: attempt to call global 'RegisterAddonMessagePrefix' (a nil value)
Time: Thu Jul 19 10:50:26 2018
Count: 1
Stack: ...\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12403: attempt to call global 'RegisterAddonMessagePrefix' (a nil value)
...\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12403: in function `?'
...\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12495: in main chunk

Locals: self = <table> {
popupFuncExpired = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12389
Callbacks = <table> {
}
disable = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12488
worldFrameOnMouseDown = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12364
RegisterCallback = <function> defined @Interface\AddOns\DBM-Core\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
start = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12401
popupFuncCanRes = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12375
UnregisterCallback = <function> defined @Interface\AddOns\DBM-Core\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
noop = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12394
IsUnitBeingRessed = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12350
popupFuncRessed = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12370
eventFrame = <unnamed> {
}
UnregisterAllCallbacks = <function> defined @Interface\AddOns\DBM-Core\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
}
(*temporary) = nil
(*temporary) = "CTRA"
(*temporary) = "attempt to call global 'RegisterAddonMessagePrefix' (a nil value)"
lib = <table> {
popupFuncExpired = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12389
Callbacks = <table> {
}
disable = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12488
worldFrameOnMouseDown = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12364
RegisterCallback = <function> defined @Interface\AddOns\DBM-Core\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
start = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12401
popupFuncCanRes = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12375
UnregisterCallback = <function> defined @Interface\AddOns\DBM-Core\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
noop = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12394
IsUnitBeingRessed = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12350
popupFuncRessed = <function> defined @Interface\AddOns\SpeakinSpell\Libs\LibResComm-1.0\LibResComm-1.0.lua:12370
eventFrame = <unnamed> {
}
UnregisterAllCallbacks = <function> defined @Interface\AddOns\DBM-Core\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
}
isResser = true
worldFrameHook = nil
----------------------------------------------------------------------------
To be clear, none of the combat/spell events are triggering. If I talk to an NPC for instance that can trigger an event but not casting a spell
Well I gave it a go. I'm stuck on a null table index which I don't know how to fix.

I was close tho - I could get the interface to load but my tests starting throwing the null table index error.

PS - I don't write any addons. Nor do I maintain them :)
07/21/2018 11:10 AMPosted by Bluspacecow
Well I gave it a go. I'm stuck on a null table index which I don't know how to fix.

I was close tho - I could get the interface to load but my tests starting throwing the null table index error.

PS - I don't write any addons. Nor do I maintain them :)
thanks for giving it a try :(
If anyone mod savvy is willing to give this a fix I would DEARLY appreciate it
For the sake of anyone wanting to take over from where I got stuck here is what I did -

* search for RegisterAddonMessagePrefix and change it to C_ChatInfo.RegisterAddonMessagePrefix
* in SpeakinSpell.toc comment out the lines with user.lua and developer.lua in them. According to the notes on that TOC file those are developer only lines and don't do anything for a user anyhow
* updated all libraries in the libs folder with updated versions. bearing in mind the Lua parser will only look one level deep for libraries to load so you may need to drag the embedded version of the library out of it's download.

After these changes the UI for the addon will load up. If however you assign some text to be said on an ability and use the ability you get the error I got stuck on (as detailed below)

error I got stuck on -

["message"] = "Interface\\AddOns\\SpeakinSpell\\wowevents.lua:828: table index is nil",
["time"] = "2018/07/22 05:57:59",
["stack"] = "Interface\\AddOns\\SpeakinSpell\\wowevents.lua:828: in function `?'\n...Ons\\Ace3\\CallbackHandler-1.0\\CallbackHandler-1.0-7.lua:145: in function <...Ons\\Ace3\\CallbackHandler-1.0\\CallbackHandler-1.0.lua:145>\n[string \"safecall Dispatcher[5]\"]:4: in function <[string \"safecall Dispatcher[5]\"]:4>\n[C]: ?\n[string \"safecall Dispatcher[5]\"]:13: in function `?'\n...Ons\\Ace3\\CallbackHandler-1.0\\CallbackHandler-1.0-7.lua:90: in function `Fire'\nInterface\\AddOns\\Ace3\\AceEvent-3.0\\AceEvent-3.0-4.lua:120: in function <Interface\\AddOns\\Ace3\\AceEvent-3.0\\AceEvent-3.0.lua:119>",


(copied from BugGrabber.lua saved variable file)
I really cant tell you how much I appreciate you trying Blue. It means a ton to me :)
For all the "my faction is better than yours" banter, this community is pretty special
Blind educated guess...
04/24/2018 09:45 AMPosted by Ythisens
Combat Log Event Changes
The COMBAT_LOG_EVENT & COMBAT_LOG_EVENT_UNFILTERED events no longer have any event payload. In order to get the information passed down previously with these events, please use the CombatLogGetCurrentEventInfo function.
Yea, the problem would be in the following function:

function SpeakinSpell:COMBAT_LOG_EVENT_UNFILTERED()

It's expecting a payload with that event, but that no longer happens. You can request the payload with CombatLogGetCurrentEventInfo(), but it will take some more configuration for each eventype in SpeakinSpell.CombatLogEvents to be fed the correct parameters for the event.

If no one else gets to this soon I can try to take a look, but it might be a little bit for me at least.
Should just need to be changed from
function SpeakinSpell:COMBAT_LOG_EVENT_UNFILTERED(_,timestamp, eventtype, hideCaster, srcGUID, srcName, srcFlags, srcFlags2, dstGUID, dstName, dstFlags, dstFlags2, ...)
to
function SpeakinSpell:COMBAT_LOG_EVENT_UNFILTERED()
local _,timestamp, eventtype, hideCaster, srcGUID, srcName, srcFlags, srcFlags2, dstGUID, dstName, dstFlags, dstFlags2 = CombatLogGetCurrentEventInfo()
That's assuming none of their handlings of events relied on any of the parameters passed along in the overflow table '...' - which may well be the case (haven't looked), but if any did those will have to be manually updated.

I found it was better to load the results of CombatLogGetCurrentEventInfo() into a table so that any extra parameters were automatically accounted for (like the old overflow table), and then I could reference those as being x indices forward from the 'main set' of parameters that came with every event (12, if I recall).

I'm sure there are other ways to do this as well.
Its really awesome to see you guys working on this. I cant tell you how much I appreciate it
07/22/2018 03:23 PMPosted by Tresska
Its really awesome to see you guys working on this. I cant tell you how much I appreciate it

I agree. I love this addon, and would like to thank you guys for working on it.
Any luck?
Just checking in to see if there has been any progress
I don't use this addon so I don't know how it should function, but I got it to seemingly recognize events and say something that I configured when they fired. Can you let me know if this is working, or if something is still broken?

https://github.com/Toludin/SpeakinSpell
07/24/2018 01:37 AMPosted by Toludin
I don't use this addon so I don't know how it should function, but I got it to seemingly recognize events and say something that I configured when they fired. Can you let me know if this is working, or if something is still broken?

https://github.com/Toludin/SpeakinSpell


Hi Toludin! Thanks so much! It looks like it's back to working for me. I made the mistake of removing all of the related addons, but after I fixed it by leaving the GUI and other extensions on, it worked like a charm.
Just FYI I see a few other nil table errors occurring so it'll take a bit more finagling clearly. Let me know if you see any LUA errors, along with what you were doing (if possible), either here or on the Github repository. Thanks!

Join the Conversation

Return to Forum