Quantcast Communicating with group member's addons - ESOUI
Thread Tools Display Modes
10/13/18, 04:15 PM   #1
MycroftJr
Join Date: Jun 2015
Posts: 4
Communicating with group member's addons

As part of an addon I requested here, I'll need to (or strictly, would like to) be able to have an instance of the addon running on one group member's client with instance(s) on the other group members' client(s).

https://www.esoui.com/forums/showthread.php?t=7371 should be revived as an open wish, correct?
Are there any new communication hacks that weren't mentioned there that I should know about?

Last edited by MycroftJr : 10/13/18 at 04:17 PM.
  Reply With Quote
10/14/18, 09:54 AM   #2
Baertram
 
Baertram's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 1,800
Check the addons + forum thread for LibGroupSocket. It is able to send a small amount of data to the other players in a group using MapPings.

Maybe a group ready check can do the trick for you as well by sending some info from one addon to another but not showing the ready check dialog (if this is still possible).

Be warned:
Both ways can kick you from the game if you send too many data requests in a short time, so killing a lot of people in a group could kick you or others from the client.
  Reply With Quote
10/14/18, 09:58 AM   #3
Rhyono
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 438
Originally Posted by Baertram View Post
Both ways can kick you from the game if you send too many data requests in a short time, so killing a lot of people in a group could kick you or others from the client.
I'd imagine the best way of going about it would be to accumulate kill counts then send them off every X seconds/minutes, rather than sending every single kill.
  Reply With Quote
10/14/18, 12:39 PM   #4
MycroftJr
Join Date: Jun 2015
Posts: 4
Originally Posted by Rhyono View Post
I'd imagine the best way of going about it would be to accumulate kill counts then send them off every X seconds/minutes, rather than sending every single kill.
Is that really necessary for Blade of Woe kills? Surely it's not possible to make Blade kills faster that 1 every ~2 seconds?
  Reply With Quote
10/14/18, 12:41 PM   #5
Baertram
 
Baertram's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 1,800
If you are playing with about 10 users in a group and each one of them kills there will be 10xkills messages to send.
Not sure how the game is counting them, if it's per account/user or total group or whatever.
I think you'd need to test it but sending the data only once each x seconds sound for a good way if you only wnat to know the total in the end (for your addon).
  Reply With Quote
10/18/18, 01:33 AM   #6
Sordrak
 
Sordrak's Avatar
AddOn Author - Click to view addons
Join Date: May 2017
Posts: 23
The game allows a rapid burst of messages, yet i wouldn't recommend it.

I'm playing around with Map Pings as well, yet I'm not using any library and went for my own implementation. Yet, for such a small addon i wouldn't recommend this. Just use LibGroupSocket. LibGroupSocket should allow sending 3 respectively 7 bytes, which means a single message can transfer all you need. Use a new Message Identifier (first byte wich wasn't counted above) and send the kill count in another byte.

I guess the easiest way would be an update loop with a 1 second interval (1s seems to be a good time for not being kicked from the server for spamming) to send messages. For every kill you make increase a counter, once a message is sent set it to 0.

Shouldn't be a huge deal to implement this.

Regarding the question about simultaneous Map Pings by different group members. That's not an issue. It doesn't really matter if you are 2 players or 24 players in the group. It only matters how often you send something.

Edit: Seems like i have misread the last part. If you send a Map Ping, everyone in the group will see that Map Ping. So in a group of 24 it is sufficient to send one Map Ping with your information. Not 100% sure about how it is handled when someone is in a loading screen, i guess one will miss Map Pings in loading screens. So if that is part of your game, instead of sending an incremental amount of kills, you might go for sending the total kill count and a way to reset the count.

Last edited by Sordrak : 10/18/18 at 01:44 AM.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Communicating with group member's addons

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off