-
Posted by kwslavens on Tue, 11 Jan 2011 03:08:57
Is there a way to do a filtered who and bring the data into a table? I'm trying to build a recruiting tool to find people to recruit...
thanks.
-
Posted by jnwhiteh on Tue, 11 Jan 2011 09:58:59
You can use the SendWho function.
-
Posted by kwslavens on Tue, 11 Jan 2011 16:21:51
Ah I see... The Sendwho makes the query. I would need to set SetWhoToUI() to 1 to force the results to come back in the WHOLISTUPDATE. So I'd have an on Event function to catch the WHOLISTUPDATE data.
Sound about right?
-
Posted by jnwhiteh on Tue, 11 Jan 2011 16:34:35
Yep, although there's no guarantee that it will ever come back, or when it does that it will be your response =)
-
Posted by kwslavens on Tue, 11 Jan 2011 16:58:40
Really? How often would you expect to get the right data back?
-
Posted by kwslavens on Tue, 11 Jan 2011 17:25:54
Ok, I'm getting this slowly figured out. So since its a server query you can't be 100% sure that you will always get a response. I'm guessing most of the time it comes back correctly. Is there any way to verify that the response is correct or that it is your response? This is just a small utility project I am working to learn more about wow programming. Its been a long time since I've done much coding, many many years. So lots of new concepts to work through...
thanks!
-
Posted by jnwhiteh on Tue, 11 Jan 2011 17:35:53
Unfortunately the 'who' system is one of the most fragile systems in WoW.
My suggestion is to download WowLua or some other in-game code editor and run some small scripts and tests and see what responses you get. You can use the /eventtrace command in-game to get a listing of all events and arguments as they fire and you can run code interactively.
-
Posted by kwslavens on Thu, 13 Jan 2011 00:15:25
I'm seeing what you mean on this... I have the code working... for the most part... what I've run into is that I do a who and grab the results but what I get is 1 who behind the last one...
So the first one I do is level 1-5... I get 0 hit it again... and it comes back right... then do a 6-10 and I get the 1-5 data... wait a few seconds and hit it again... and I get the right 6-10 data.... or at least what was right one time back.
So looks like I need a way to clear the last data out and wait until x seconds or new data comes up....
any ideas?
-
Posted by jnwhiteh on Thu, 13 Jan 2011 11:04:32
Are you waiting until you get the who event before trying to fetch the results? There's also a library you might want to use that works easier with the who system.
-
Posted by kwslavens on Thu, 13 Jan 2011 19:25:10
I wasn't at the start...
I ended up hooking the friends frame. Then checking to see if I was a: waiting for a reply, and b:that there was a WHOLISTUPDATE event. If so I grabbed the who data if not I passed it on to the original friends frame. It seems to work very well.
Now If I can only create a black list to avoid getting the same person twice... lol :-)
Thanks for all your help... its really been appreciated!