WIM (WoW Instant Messenger) v3
WIM (WoW Instant Messenger) is a World of Warcraft addon which brings an instant messenger feel to communication in game.
Features
- Whispers in their own windows.
- Chat in their own windows.
- Tabbed windows
- Highly configurable.
- History
- Copy and paste as:
- Raw Text
- BBCode
- Copy and paste as:
- Advanced, intellectual window behaviors & animations.
- Skins
- Emoticons
- Clickable web URLS for easy viewing. No more retyping a long url a friend sends you.
- Customizable sound options.
- Expose - great way to clear your screen of windows when you are in combat.
- Addon Compatibility: (Always make sure you are running the latest versions.
- Prat
- DBM
@mw999
This post is wonderful. The party chat is 100% fixed.!!
Your other contribution, the WIM3_History, there was no need at the end. The recording of conversation also works OK.
Now I'll block the WIM in the r344 until the next expansion. It's the best, because developers are not for the issue and you had to be you, mw999, who had to solve the problem.
Thank you again for ChatEngine.lua modification. :)
By my side, ticket 344 is fixed and ready to close (if someone does).
Long life for WIM.
Regards
@mw999
Forgive my ingnorance but what exactly did you replace with what?
Would like to try it :)
@krovikania
I'm still quite new to programming addons, and lua isn't really my language. But maybe "_G.WIM3_History" isn't defined. Which would result in an empty object.
In file <WoW Folder>\Interface\AddOns\WIM\Modules\WIM.lua on line 366
_G.WIM3_History = _G.WIM3_History or {};
history = _G.WIM3_History;
So similar to the previous problem, using the global variable WIM3_History, if there is one, might help. Couldn't try it though, got to go to work ^^
_G.WIM3_History = _G.WIM3_History or {};
if not _G.WIM3_History and WIM3_History
//or maybe ..._G.WIM3_History == {} ... not sure what will work in lua
history = WIM3_History;
else
history = _G.WIM3_History;
end
Of course, probably won't work if WIM:VARIABLES_LOADED is only invoked once on startup. Maybe then you would have to move the declaration of "history" to the History.lua or somewhere fitting, if possible.
@mw999
Works very very well. 2 days straight and still work. Work with players in the same realm, work in Escenarios, work in LFD.
Only remains 1 test. Tomorrow, in my EU server, test chat group in LFR.
EDIT: Conversation in Escenarios and LFD not record to history of WIM. With players on the same realm, yes.
@mw999
I'm trying. At the moment, works.
When I'm sure 100% (yes or not), I'll write again.
about that party chat problem. I tried this:
In file <WoW Folder>\Interface\AddOns\WIM\Modules\ChatEngine.lua on line 478
if UnitExists ~= nil and UnitExists("party"..i) or _G.UnitExists ~= nil and _G.UnitExists("party"..i) then
Seems to work fine up to now, would be great to hear your comments about it.
@krovikania
the other icons are what SwagDog created for their T-Shirts everything is in the same place.
@Cloudancer2
thanks.
@Lothaer
Icons Blizz, WIM, Black, Diablo y SC, better.
Rest of icons are.. I simply do not associate a picture with a class (except the mage through the eye of Dalaran).
@Lothaer
Honestly Better :)
honest comments please.
old
new
@Lothaer
Yea i've tried that one too :/
@Cloudancer2
try this one then
if UnitExists("party"..i) then
with
if _G.UnitExists("party"..i) then
@Lothaer
Party chat still broken after that too. thanks for the try though :)
@krovikania
Try the following:
In file <WoW Folder>\Interface\AddOns\WIM\Modules\ChatEngine.lua on line 478 replace
if UnitExists("party"..i) then
with
if (UnitExists("party"..i)) then
Yes ... simply adding brackets :) For me that solved the problem - hope it helps you too.
use notepad++
Ticket 344 have 17 votes and no mention from authors if they are working on it or no?
Very serious...
Regards
Date: 2012-10-23 15:21:20 ID: 2 Error occured in: Global Count: 1 Message: ..\AddOns\WIM\Modules\ChatEngine.lua line 478: attempt to call global 'UnitExists' (a nil value) Debug: [C]: UnitExists() WIM\Modules\ChatEngine.lua:478: PARTY_MEMBERS_CHANGED() WIM\Modules\ChatEngine.lua:507: handler() ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:274: ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:259 ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:326: ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:314 Locals: self = <table> { CHAT_MSG_PARTY_LEADER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:535 UnregisterChatEvent = <function> defined @Interface\AddOns\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:370 db_defaults = <table> { } partyWindow = WIM3_msgFrame2 { } OnWindowDestroyed = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:459 CHAT_MSG_PARTY_CONTROLLER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:488 enableByDefault = false db = <table> { } resources = <table> { } enabled = 1 CHAT_MSG_PARTY_LEADER_CONTROLLER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:525 RegisterWidget = <function> defined @Interface\AddOns\WIM\WIM.lua:245 CHAT_MSG_PARTY = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:498 RegisterEvent = <function> defined @Interface\AddOns\WIM\WIM.lua:240 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:471 LibChatHandler_Delegate = true OnDisable = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:455 OnEnable = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:448 dPrint = <function> defined @Interface\AddOns\WIM\WIM.lua:243 title = "PartyChat" Enable = <function> defined @Interface\AddOns\WIM\WIM.lua:241 canDisable = true RegisterChatEvent = <function> defined @Interface\AddOns\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:340 hasWidget = false Disable = <function> defined @Interface\AddOns\WIM\WIM.lua:242 } myName = "Dragonrunner" count = 0 (for index) = 1 (for limit) = 4 (for step) = 1 i = 1 (*temporary) = nil (*temporary) = "party1" (*temporary) = "attempt to call global 'UnitExists' (a nil value)" Party = <table> { CHAT_MSG_PARTY_LEADER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:535 UnregisterChatEvent = <function> defined @Interface\AddOns\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:370 db_defaults = <table> { } partyWindow = WIM3_msgFrame2 { } OnWindowDestroyed = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:459 CHAT_MSG_PARTY_CONTROLLER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:488 enableByDefault = false db = <table> { } resources = <table> { } enabled = 1 CHAT_MSG_PARTY_LEADER_CONTROLLER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:525 RegisterWidget = <function> defined @Interface\AddOns\WIM\WIM.lua:245 CHAT_MSG_PARTY = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:498 RegisterEvent = <function> defined @Interface\AddOns\WIM\WIM.lua:240 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:471 LibChatHandler_Delegate = true OnDisable = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:455 OnEnable = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:448 dPrint = <function> defined @Interface\AddOns\WIM\WIM.lua:243 title = "PartyChat" Enable = <function> defined @Interface\AddOns\WIM\WIM.lua:241 canDisable = true RegisterChatEvent = <function> defined @Interface\AddOns\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:340 hasWidget = false Disable = <function> defined @Interface\AddOns\WIM\WIM.lua:242 } cleanChatList = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:192 _G = <table> { ARKINV_SearchFrameViewTableRow12T1 = ARKINV_SearchFrameViewTableRow12T1 { } ContainerFrame5Item7 = ContainerFrame5Item7 { } MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown { } MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock { } GetTrainerServiceTypeFilter = <function> defined =[C]:-1 UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names." UNIT_NAMEPLATES_TYPE_TOOLTIP_3 = "This method avoids overlapping nameplates by spreading them out horizontally and vertically." Recount_MainWindow_Bar6 = Recount_MainWindow_Bar6 { } SetTrainerServiceTypeFilter = <function> defined =[C]:-1 KSKLootRankFilterChildButton5 = KSKLootRankFilterChildButton5 { } SPELL_FAILED_CUSTOM_ERROR_71 = "This AddOns: Swatter, v5.14.5335 (KowariOnCrutches) ACP, v3.4 ArkInventory, v30315 ArkInventoryRules, v ArkInventoryRulesExample, v1.00 Atlas, v1.22.1 AtlasBurningCrusade, v1.22.0 AtlasClassicWoW, v1.22.1 AtlasDungeonLocs, v1.22.0 AtlasWrathoftheLichKing, v1.22.0 AtlasLoot, vv7.03.01 AtlasLootCataclysm, vv7.03.01 AtlasLootClassicWoW, vv7.03.01 AtlasLootLoader, vv7.03.01 AtlasLootMistsofPandaria, vv7.03.01 AucAdvanced, v5.14.5335 (KowariOnCrutches) AucFilterBasic, v5.14.5335 (KowariOnCrutches) AucFilterOutlier, v5.14.5335.5335(5.14/embedded) AucMatchUndercut, v5.14.5335.5225(5.14/embedded) AucStatHistogram, v5.14.5335 (KowariOnCrutches) AucStatiLevel, v5.14.5335 (KowariOnCrutches) AucStatPurchased, v5.14.5335 (KowariOnCrutches) AucStatSales, v5.14.5335.5335(5.14/embedded) AucStatSimple, v5.14.5335 (KowariOnCrutches) AucStatStdDev, v5.14.5335 (KowariOnCrutches) AucStatWOWEcon, v5.14.5335.5335(5.14/embedded) AucUtilAHWindowControl, v5.14.5335.5133(5.14/embedded) AucUtilAppraiser, v5.14.5335.5335(5.14/embedded) AucUtilAskPrice, v5.14.5335.5160(5.14/embedded) AucUtilAutoMagic, v5.14.5335.5335(5.14/embedded) AucUtilCompactUI, v5.14.5335.5335(5.14/embedded) AucUtilEasyBuyout, v5.14.5335.5238(5.14/embedded) AucUtilFixAH, v5.14.5335 (KowariOnCrutches) AucUtilItemSuggest, v5.14.5335.5335(5.14/embedded) AucUtilPriceLevel, v5.14.5335.5237(5.14/embedded) AucUtilScanButton, v5.14.5335.5335(5.14/embedded) AucUtilScanFinish, v5.14.5335.5153(5.14/embedded) AucUtilScanProgress, v5.14.5335.4979(5.14/embedded) AucUtilScanStart, v5.14.5335.5153(5.14/embedded) AucUtilSearchUI, v5.14.5335.5335(5.14/embedded) AucUtilSimpleAuction, v5.14.5335.5208(5.14/embedded) AucUtilVendMarkup, v5.14.5335.4828(5.14/embedded) Auctionator, v3.0.5 AutoLogger, v Babylonian, v5.1.DEV.312(/embedded) BadBoy, v11.100 Bartender4, v4.5.5 BeanCounter, v5.14.5335 (KowariOnCrutches) BittensSpellFlashLibrary, v3.15.0 BlizzMove, vv1.2.5 Configator, v5.1.DEV.330(/embedded) Cromulent, vv1.6.1 DBMCore, v DBMLDB, v DebugLib, v5.1.DEV.312(/embedded) EasyCopy, v3.5 EnhancedStackSplit, v50001-1 FishingBuddy, v1.1f FlightMapEnhanced, v1.5.31 FramesResized, v2.5.0-56 GatherMate2, v1.22 GearCheck, vv3.94 GearingGuide, v1.0.5 Genie, v5.0.4 GenieLDB, v5.0.4 GenieUI, v5.0.4 GLottery, v2.1.3 Beta GTFO, v4.16.2 GuildCheck, vv2.3.9 GuildMains, v1.4.1 GuildMemberStatus, v1.34 GuildSearch, v1.2 HealersHaveToDie, v2.0.2 HunterFocusBar, v0.93beta Informant, v5.14.5335 (KowariOnCrutches) KKonferSK, v502 LibExtraTip, v5.12.DEV.324(/embedded) MikScrollingBattleText, v5.7.123 MogIt, v3.0.6 MoveAnything, v13.2.1 Omen, v3.1.7 Ovale, v5.0.22 Pawn, v1.6.8 Postal, v3.5.0 PVPSound, v5.0.4.0 RatingBuster, v5.0.4.361 Recount, v recruitmentenhancement, v50001-0.6-release RobBossMods, v SexyMap, v2.3 SilverDragon, vv3.0.1 SlideBar, v5.14.5335 (KowariOnCrutches) SpellFlash, v6.2 SpellFlashCore, v2.0 Stubby, v5.14.5335 (KowariOnCrutches) TipHelper, v5.12.DEV.315(/embedded) TomTom, vv50001-1.2.1 TriviaAnswers, v1.01 TriviaBot, v2.8.5b TriviaBotQuestionMaker, v1.3 TriviaBotQuestionsWoW1, v TriviaBotQuestionsWoW2, v TriviaBotQuizAnythingHessinger, v Warden, v3.3.2 WhichRankDoesWhat, v1.4 WIM, vr344 WowDings, v1.1 BlizRuntimeLib_enUS v5.0.5.50001 <us> (ck=d5f)
1x WIM-r344\Libs\LibWho-2.0\LibWho-2.0-121.lua:903: attempt to index field "Result" (a nil value) WIM-r344\Libs\LibWho-2.0\LibWho-2.0-121.lua:903: in function "ProcessWhoResults" WIM-r344\Libs\LibWho-2.0\LibWho-2.0-121.lua:895: in function "?" WIM-r344\Libs\LibWho-2.0\LibWho-2.0-121.lua:916: in function <WIM\Libs\LibWho-2.0\LibWho-2.0.lua:915>
Locals: self = <table> { GetNextFromScheduler = <func> @WIM\Libs\..\LibWho-2.0.lua:363 ReturnWho = <func> @WIM\Libs\..\LibWho-2.0.lua:488 Cache = <table> {} UserInfo = <func> @WIM\Libs\..\LibWho-2.0.lua:168 MinInterval = 2.5 CachedUserInfo = <func> @WIM\Libs\..\LibWho-2.0.lua:246 SetWhoToUIState = 1 AskWhoNextIn5sec = <func> @WIM\Libs\..\LibWho-2.0.lua:315 CapitalizeInitial = <func> @WIM\Libs\..\LibWho-2.0.lua:723 CancelPendingWhoNext = <func> @WIM\Libs\..\LibWho-2.0.lua:323 WHOLIB_QUEUE_QUIET = 2 embeds = <table> {} hooked = <table> {} ProcessWhoResults = <func> @WIM\Libs\..\LibWho-2.0.lua:898 WHO_LIST_UPDATE = <func> @WIM\Libs\..\LibWho-2.0.lua:889 AllQueuesEmpty = <func> @WIM\Libs\..\LibWho-2.0.lua:300 CHAT_MSG_SYSTEM = <func> @WIM\Libs\..\LibWho-2.0.lua:881 RegisterCallback = <func> @Ace3\..\CallbackHandler-1.0.lua:118 CheckCallback = <func> @WIM\Libs\..\LibWho-2.0.lua:661 TriggerEvent = <func> @WIM\Libs\..\LibWho-2.0.lua:736 UnregisterCallback = <func> @Ace3\..\CallbackHandler-1.0.lua:181 PossibleEvents = <table> {} DupAll = <func> @WIM\Libs\..\LibWho-2.0.lua:711 ConsoleWho = <func> @WIM\Libs\..\LibWho-2.0.lua:596 Embed = <func> @WIM\Libs\..\LibWho-2.0.lua:277 Dup = <func> @WIM\Libs\..\LibWho-2.0.lua:697 WHOLIB_FLAG_ALWAYS_CALLBACK = 1 simple_dump = <func> @WIM\Libs\..\LibWho-2.0.lua:687 GetQueryInterval = <func> @WIM\Libs\..\LibWho-2.0.lua:313 external = <table> {} callbacks = <table> {} CheckArgument = <func> @WIM\Libs\..\LibWho-2.0.lua:633 RaiseCallback = <func> @WIM\Libs\..\LibWho-2.0.lua:623 MaxInterval = 10 AskWho = <func> @WIM\Libs\..\LibWho-2.0.lua:480 GuiWho = <func> @WIM\Libs\..\LibWho-2.0.lua:578 Library = <func> @WIM\Libs\..\LibWho-2.0.lua:290 ReturnUserInfo = <func> @WIM\Libs\..\LibWho-2.0.lua:617 AskWhoNext = <func> @WIM\Libs\..\LibWho-2.0.lua:395 L = <table> {} queue_bounds = <table> {} UnregisterAllCallbacks = <func> @Ace3\..\CallbackHandler-1.0.lua:202 UpdateWeights = <func> @WIM\Libs\..\LibWho-2.0.lua:344 Total = 48 Debug = false SetWhoLibDebug = <func> @WIM\Libs\..\LibWho-2.0.lua:262 CheckPreset = <func> @WIM\Libs\..\LibWho-2.0.lua:643 GetWhoLibDebug = <func> @WIM\Libs\..\LibWho-2.0.lua:258 hook = <table> {} Queue = <table> {} WhoInProgress = false CacheQueue = <table> {} events = <table> {} Who = <func> @WIM\Libs\..\LibWho-2.0.lua:147 WHOLIB_QUEUE_SCANNING = 3 frame = LibWho-2.0 {} WHOLIB_QUEUE_USER = 1 Reset = <func> @WIM\Libs\..\LibWho-2.0.lua:141 } lib = <table> { GetNextFromScheduler = <func> @WIM\Libs\..\LibWho-2.0.lua:363 ReturnWho = <func> @WIM\Libs\..\LibWho-2.0.lua:488 Cache = <table> {} UserInfo = <func> @WI
@Cloudancer2
Means that I agree with you or share your comment.
Regards