[AddOn] Gatherer with guild collaboration

Re: [AddOn] Gatherer with guild collaboration

by jsb » Sun Nov 08, 2015 2:01 pm

Rinello wrote:I deleted the file you told me, nothing changed unfortunately. Is there a problem with other addons maybe? Or a .lua that I should download and put in the account folder?
I don't know much about addons so sorry if I cannot help in that context

Maybe it's a conflict with another AddOn then. Could you try disabling all other AddOns and see if it works? If it does, could you re-enable your other AddOns one by one until it breaks again to find out which is the conflicting one?
User avatar
jsb
Sergeant
Sergeant
 

Re: [AddOn] Gatherer with guild collaboration

by Guybrush » Mon Nov 09, 2015 12:17 pm

Made this modification for my guild. It adds a button on the map window to share all the nodes in that map:

Code: Select all
<Button name="Gatherer_WorldMapShare" inherits="UIPanelButtonTemplate" text="Share nodes" parent="WorldMapFrame" toplevel="true">
      <Size>
         <AbsDimension x="100" y="25"/>
      </Size>
      <Anchors>
         <Anchor point="BOTTOMLEFT" relativeTo="WorldMapPositioningGuide" relativePoint="BOTTOMLEFT">
            <Offset>
               <AbsDimension x="110" y="5"/>
            </Offset>
         </Anchor>
      </Anchors>
      <Scripts>
         <OnClick>
            local mapContinent = GetCurrentMapContinent();
            local mapZone = GetCurrentMapZone();

            if (mapContinent > 0 and mapZone > 0) then
               Gatherer_ChatPrint("Gatherer: Sharing "..GatherRegionData[mapContinent][mapZone].name.." nodes.")
               Gatherer_ShareZone(mapContinent, mapZone)
            end
         </OnClick>
         <OnShow>
            if ( this:GetParent().GetEffectiveScale ) then
               this:SetScale(this:GetParent():GetEffectiveScale() - 0.2);
            else
               this:SetScale(this:GetParent():GetScale() - 0.2);
            end
         </OnShow>
      </Scripts>      
   </Button>


Code: Select all
function Gatherer_ShareZone(mapContinent, mapZone)
    if (GatherItems[mapContinent][mapZone]) then
        for gatherName, gatherData in GatherItems[mapContinent][mapZone] do
            for hPos, gatherInfo in gatherData do
                Gatherer_BroadcastGather(gatherName, gatherInfo.gtype, mapContinent, mapZone, gatherInfo.x, gatherInfo.y, gatherName, 0)
            end
        end
    end
end


Tried sharing the whole world as well but the server kicked me off from too much message spam. Better to do it one map at a time.
Guybrush
Sergeant Major
Sergeant Major
 

Re: [AddOn] Gatherer with guild collaboration

by jsb » Mon Nov 09, 2015 4:29 pm

Guybrush wrote:Made this modification for my guild. It adds a button on the map window to share all the nodes in that map:

Tried sharing the whole world as well but the server kicked me off from too much message spam. Better to do it one map at a time.

I have been reluctant to add such a feature, for two reasons:
  • Sharing large numbers of nodes in a such a brute-force way seems excessively wasteful and potentially dangerous, as it may cause unexpected disconnects due to server-side rate limiting. With growing databases, this problem is just going to become worse over time. Obviously, client-side rate limiting by the AddOn could be used to reduce the chance of disconnects but this does not address the root cause of the problem: The excessive amount of redundant data transmitted over the AddOn communication layer.
  • Ideally, synchronization of Gatherer databases should happen automatically, without the user noticing or being required to regularly press a button to initiate an expensive sharing procedure.

I fully agree that retroactive sharing of nodes is the missing piece for this AddOn. However, instead of committing to a brute-force solution, I'd rather like to implement a clever, lightweight communication protocol to keep players' databases in sync. Unfortunately, I haven't yet come up with one. Thus, I'm open for your suggestions or different views on my points.
User avatar
jsb
Sergeant
Sergeant
 

Re: [AddOn] Gatherer with guild collaboration

by Guybrush » Mon Nov 09, 2015 6:20 pm

jsb wrote:I have been reluctant to add such a feature, for two reasons:
  • Sharing large numbers of nodes in a such a brute-force way seems excessively wasteful and potentially dangerous, as it may cause unexpected disconnects due to server-side rate limiting. With growing databases, this problem is just going to become worse over time. Obviously, client-side rate limiting by the AddOn could be used to reduce the chance of disconnects but this does not address the root cause of the problem: The excessive amount of redundant data transmitted over the AddOn communication layer.
  • Ideally, synchronization of Gatherer databases should happen automatically, without the user noticing or being required to regularly press a button to initiate an expensive sharing procedure.

I fully agree that retroactive sharing of nodes is the missing piece for this AddOn. However, instead of committing to a brute-force solution, I'd rather like to implement a clever, lightweight communication protocol to keep players' databases in sync. Unfortunately, I haven't yet come up with one. Thus, I'm open for your suggestions or different views on my points.


Problem is a distributed approach would require node to node communication, which the addon communication layer doesn't support in 1.12 and whispering would be throttled by the server.

The current broadcast message can still be optimized. Its sending a huge string when it essentially only needs a zone ID, node ID, X and Y.

It could be further improved by using AceComm-2.0: http://old.wowace.com/AceComm-2.0
This lets you to set messages as BULK priority, sending them only when the bandwidth allows it.
Guybrush
Sergeant Major
Sergeant Major
 

Re: [AddOn] Gatherer with guild collaboration

by antvixx22 » Wed Dec 02, 2015 7:09 am

So I've tried using this addon and whenever I gather a herb it doesn't record it on my map or minimap. How can I fix this?
antvixx22
Tester
 

Re: [AddOn] Gatherer with guild collaboration

by Lebroski » Tue Jan 19, 2016 8:15 pm

Gathering 'Whipper Root Tuber' and 'Night Dragon's Breath' does not save on my map but 'Songflower' and 'Windblossom' are working properly. Anyone else having this issue?
Lebroski
Private
Private
 

Re: [AddOn] Gatherer with guild collaboration

by locario » Mon Feb 08, 2016 1:52 pm

Hi.

Where database records my gatherer herbs? is there any posibility to send all my records to guild members? and is there posibility to guild members spam their gatherer herbs?

Thanks for this addon.
locario
Sergeant
Sergeant
 

Previous

Return to Addons & macros