View Single Post
01-04-15, 11:44 AM   #25
Rythal
Featured Artist
Featured
Join Date: Aug 2012
Posts: 1,458
even if that's the case, it's being called too late, the function is called asking blizz to update the friends list and then right after is doing a check against a variable built from friends list updates

if self.PosSendNext > #self.Friends

It may not have time to update self.Friends before it is checking and then still try to do the
self:Send ("W", msg, self.Friends[self.PosSendNext])

With the current placement, it calls the function which initates FRIENDLIST_UPDATE and Carbonite.lua throws that back to Com.OnFriendguild_update which then rebuilds self.Friends and it would need to do that all before the if statement gets done.

And not only that it's modifying self.Friends so say bubba, joe and john are online and on your friends list. bubba goes offline while this is running, self.Friends goes down to 2 and john never gets get message.

Last edited by Rythal : 01-04-15 at 11:54 AM.