Closed raptormama closed 5 days ago
Will have a look.
I am shy introvert solo player of MMO RPG, so ... some group quests will do to test it if I find a way ;-)
As I type this, I am questing along on my own listening to podcasts. It's a nicely peaceful feeling! I sometimes play with my husband, though, and occasionally a few friends.
I think delves may work in the new expansion to test, or perhaps follower dungeons.
Hmm, I am afraid that Blizz won't give us any data in instances. Will try though.
I haven't looked into it yet if it is even possible in open world. Was bussy adding narrator voice to DialogueUI :-) I hope the PR I posted is not too messy.
I completely forgot about that! But no worries. It will come if it comes.
I don't use DialogueUI (tried it, but I prefer Immersion), but I have friends who love it.
@raptormama Well, I think we are out of luck. Blizz is too secretive about other player information.
The only way I have found is by having every player install some kind of addon (although a simple one, I could even make an option in CompassHUD to do so). This addon would use a communication channel to share their position. This may work with friends or in certain types of guilds...
Would C_Map.GetPlayerMapPosition
work? It won't in instances, of course, but getting facing in instances is also not possible, anyway.
@raptormama Oh, I see. I thought it only worked for the player. I will test it with partyN and raidN. Thanks for correcting my mistake! 😊
OK, seems to work just fine.
Now ... how would you like to display it? dots with name maybe? with 40-raid it will be wild!
Great to hear! I think small dots or arrows may be the best bet, precisely because of the potential crowding.
Would it be okay if I posted some code in a new branch so you can try it?
Certainly! I'm about to give your heading branch a try, too.
@raptormama Just to let you know. I am still thinking how to "best" implement this feature. I think I have a good idea. Now I need to find some time (the new expansion takes all my time away for now :-)
Enjoy! I certainly am.
OK, so. I have made some testing code in party branch.
So, if you will be so kind and try it in different scenarios.
Any suggestion for options is welcome. For now, I am thinking of following: show/hide, throttle interval, pin size and pin vertical alignment. May add choosing pin texture and different textures when in party and in raid. Also, should it hide party members in different zone then player?
Downloaded to test. It does accurately point to party members in the same zone. However, as you say, it doesn't seem to know what to do when I'm in Azj-Kahet and my party-mate is in Dornogal. I will try to test further later.
If this continues to be iffy, I'd recommend a check box to control whether to show party members not on the same continent. Pointers to those elsewhere should be desaturated (or dimmed, to aid the colourblind) to indicate imprecision.
Note that the Isle of Dorn is actually separate from the rest of Khaz Algar in the same way that Zaralek Caverns is not actually connected to the Dragon Isles. The Coreway and the entrances to the Caverns are hidden loading screens and you'll hit a wall if you transit either too quickly.
I have also found that when a party member leaves, the pointer for them seems to stay displayed, at least when I finished running a few dungeons with two people this afternoon. That's just one test run, though; I'll do some more later on if I can.
GROUP_ROSTER_UPDATE will fire when a party or raid gains or loses members, so it can be used to know when to add or remove pointers.
The options I'd suggest, based on what I tweak in my personal installation, are:
So far, no issues with the pre-set update interval. I have it set to 60 Hz. My monitor can go up to 100, but so far 60 is sufficient. I'm not sure how useful the ability to change group member locations would be.
I hope this is helpful! I know it's a lot.
Thanks a lot.
GROUP_ROSTER_UPDATE
event is the only one I am using. It fires every second for me when in group. Don't know why and I don't care as far as it works.Will push some commits as I have more code to test.
Have a nice day.
I think the event fires once a second to check for updates. Seems normal to me.
I'll keep an eye out for possible arrows to use but for now, the ones that exist look good.
Names definitely need to be optional!
I'll install the latest build and let you know if I run into any issues.
Pushed some new code.
Added options to Group
tab (moved Profiles
to the settings tree).
No texture or names yet, though I have few lines of code for names prepared.
Any issues and suggestions are welcomed :-)
I haven't joined a party since installing the new version, but I do get a Lua error (below).
I also think that for the moment the one thing that should be added is the ability to select pointers for group members, defaulted to the dot that is used now. (And I like that you can manually enter an icon by ID!)
I hope to test in a group later today.
1x CompassHUD/CompassHUD.lua:2489: attempt to index field 'Pointers' (a nil value)
[string "@CompassHUD/CompassHUD.lua"]:2489: in function member' [string "@Ace3/AceConfig-3.0-3/AceConfigDialog-3.0-87/AceConfigDialog-3.0.lua"]:215: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:164> [string "@Ace3/AceConfig-3.0-3/AceConfigDialog-3.0-87/AceConfigDialog-3.0.lua"]:1283: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:1113> [string "@Ace3/AceConfig-3.0-3/AceConfigDialog-3.0-87/AceConfigDialog-3.0.lua"]:1642: in function
FeedGroup'
[string "@Ace3/AceConfig-3.0-3/AceConfigDialog-3.0-87/AceConfigDialog-3.0.lua"]:1567: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:1551>
[string "@Ace3/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <Ace3/AceGUI-3.0/AceGUI-3.0.lua:64>
[string "@Ace3/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function Fire' [string "@Ace3/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua"]:522: in function
Select'
[string "@Ace3/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua"]:530: in function SelectByValue' [string "@Ace3/AceConfig-3.0-3/AceConfigDialog-3.0-87/AceConfigDialog-3.0.lua"]:1738: in function
FeedGroup'
[string "@Ace3/AceConfig-3.0-3/AceConfigDialog-3.0-87/AceConfigDialog-3.0.lua"]:1567: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:1551>
[string "@Ace3/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <Ace3/AceGUI-3.0/AceGUI-3.0.lua:64>
[string "@Ace3/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function Fire' [string "@Ace3/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua"]:342: in function
SelectTab'
[string "@Ace3/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua"]:200: in function <...Ace3/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua:197>
Locals: info =
I am not sure if this is possible with the recent API changes, or if the addon did it at one point and now does not.
If it can be done still outside of the existing minimap, an option to add pointers to party members' locations would be a very handy thing to have.