WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Lua/XML Help (https://www.wowinterface.com/forums/forumdisplay.php?f=16)
-   -   SendWho and SetWhoToUI Questions (https://www.wowinterface.com/forums/showthread.php?t=58038)

Impurity 06-07-20 12:56 PM

SendWho and SetWhoToUI Questions
 
I'm currently working on an addon that uses Who searching. I'm looking to have this done without opening the who result window. Currently I have the following code:

Code:

SetWhoToUI(1)
FriendsFrame:UnregisterEvent("WHO_LIST_UPDATE")
GuildLeader:RegisterEvent("WHO_LIST_UPDATE", "GRAfterWho")
SendWho(ToonLevel)

Perhaps I'm not fully understanding the register and unregister events. My code works and the Who search runs and I'm able to parse and manipulate the data but I've found that afterwards if I try to use /who ingame like normal it doesn't show the result or Who window.

I'm able to resolve it by opening the who window manually (pressing O) and after that my ingame /who commands work.

Is anyone able to point me in the right direction as to what I'm doing wrong? I can post more of the code if necessary or speak on Discord if that's any easier.

Thanks for any help you can provide!

SDPhantom 06-07-20 01:55 PM

You need to set the frame's event handler.

Example:
Lua Code:
  1. GuildLeader:SetScript("OnEvent",function(self,event)
  2.     if event=="WHO_LIST_UPDATE" then
  3.         for i=1,C_FriendList.GetNumWhoResults() do
  4.             local info=C_FriendList.GetWhoInfo(i);
  5. --          Do something with character data in table "info"
  6.         end
  7.  
  8. --      Be nice and re-register the event so "/who" still works
  9.         FriendsFrame:RegisterEvent("WHO_LIST_UPDATE")
  10.     end
  11. end);
See C_FriendList.GetWhoInfo() for the structure of the table returned containing character data.



As a side note, there are a couple misconceptions.
C_FriendList.SetWhoToUI() expects a boolean value, you're giving it a number.
GuildLeader:RegisterEvent() only takes one argument, the event you're registering.

Impurity 06-07-20 02:12 PM

Thanks this was a big help, I had to tweak some other stuff but eventually got it all working. Thanks again!


All times are GMT -6. The time now is 09:06 AM.

vBulletin © 2020, Jelsoft Enterprises Ltd
© 2004 - 2020 MMOUI