View Full Version : Mercs preventing loot/cash sharing??
rixcraven
10-30-2013, 10:17 PM
Hi !
Just noticed this, the setup is like this.. myself, the wife, and occasionally the grandkids, all play on my server..
Its working great (with your help), however when we get our mercs in the group, some missions don't add to your kill count, random players can't loot the corpses?.. I've tried this several times, and its always the same..
Is this a known bug with mercs?
BTW, when using Bots, those issues disappear, Bots work normally :)
I'm using the latest (well a few days old db dump), mercs work, (apart from the bug mentioned above), and I'm getting NO error logs at all..
As usual, I am very grateful for all your help :)
Uleat
10-30-2013, 11:13 PM
bad_captain probably has a better answer for this...
I have noticed that the way bots are done, only the group leader can have bots in their group. Additional players' bots can not be added.
Is everyone in the group getting experience 100% of the time? Or do they not for those odd times when other players can't loot, etc..?
rixcraven
10-30-2013, 11:16 PM
bad_captain probably has a better answer for this...
I have noticed that the way bots are done, only the group leader can have bots in their group. Additional players' bots can not be added.
Is everyone in the group getting experience 100% of the time? Or do they not for those odd times when other players can't loot, etc..?
no, once the looting has failed, it says "you may not loot at this time", then no, not everyone gets xp..
Very strange indeed!
bad_captain
10-30-2013, 11:47 PM
My first thought is that the group is somehow getting messed up. I'd have to look into it, though. Feel free to post any more information as you encounter it to help narrow this down.
rixcraven
10-31-2013, 12:02 AM
My first thought is that the group is somehow getting messed up. I'd have to look into it, though. Feel free to post any more information as you encounter it to help narrow this down.
Np at all :) glad to be able to help for once :)
KK.. just tried a little bug testing, If I'm on my own, there is no problem with my merc.. I get xp, can loot etc.
when the wife is with me, the problem re-appears.. (I should point out, we each summon our mercs, THEN group), tomorrow I will try grouping FIRST, then getting mercs (but it's 04:20 here and way past my bed time).
Will post more when I get it.
bad_captain
10-31-2013, 10:17 AM
That will probably help. There may be an issue when both of you are grouped and it tries to merge them (you are added to a group when you unsuspend or hire a merc). Let me know if you have the same issues grouping, then unsuspending.
rixcraven
10-31-2013, 11:12 AM
YEP that seems to have sorted it :)
just tried the suspend merc/invite player/unsuspend merc
there is a slight issue.. I hired a merc, and suspended it, wife did the same,
we grouped, and she unsuspended her merc, I couldn't.. the button just clicked and nothing happened, I had to zone to get the merc back, HOWEVER.. loot, xp etc ALL seems to work on the small time I tested it.
I WILL do more testing later today and report back here.
Many thanks for your time, and your help.
Uleat
10-31-2013, 12:43 PM
Do you think it's reassigning the partymember's merc to the party leader?
(I haven't gotten into the code yet...)
EDIT: I see what you're saying b_c.
rixcraven
10-31-2013, 02:18 PM
Do you think it's reassigning the partymember's merc to the party leader?
(I haven't gotten into the code yet...)
Good thinking, that would explain the party leader being able to loot, and re-thinking about it, it doesn't share coin that's looted either.
bad_captain
11-01-2013, 12:20 AM
I suspect the issue with this code from ClientPacket.cpp, handling the group invite:
if((!Invitee->IsGrouped() && !Invitee->IsRaidGrouped()) ||
(Invitee->GetGroup() && Invitee->CastToClient()->GetMerc() && Invitee->GetGroup()->GroupCount() == 2))
{
if(app->GetOpcode() == OP_GroupInvite2)
{
//Make a new packet using all the same information but make sure it's a fixed GroupInvite opcode so we
//Don't have to deal with GroupFollow2 crap.
EQApplicationPacket* outapp = new EQApplicationPacket(OP_GroupInvite, sizeof(GroupInvite_Struct));
memcpy(outapp->pBuffer, app->pBuffer, outapp->size);
Invitee->CastToClient()->QueuePacket(outapp);
safe_delete(outapp);
return;
}
else
{
//The correct opcode, no reason to bother wasting time reconstructing the packet
Invitee->CastToClient()->QueuePacket(app);
}
}
I'm not sure it correctly handles removing the invitee from their group before trying to add them to the other group, if at all.
I'll try and test it thoroughly this weekend.
rixcraven
11-01-2013, 12:43 AM
THANKS bad_captain :)
and thanks to you we have these mercs, they are great
BTW I notice they are charging now... getting charged 1gold every 3 mins.
are you going to add the ability to alter their charges?
HnathBST
11-01-2013, 01:10 AM
THANKS bad_captain :)
and thanks to you we have these mercs, they are great
BTW I notice they are charging now... getting charged 1gold every 3 mins.
are you going to add the ability to alter their charges?
The charge price is formulated by the server (based off level iirc) HOWEVER! you can change the upkeep time (how often they charge) and whether or not to charge upkeep and purchase.
Check in the rule_values table look for the Merc:: entries. :-)
rixcraven
11-01-2013, 08:05 AM
The charge price is formulated by the server (based off level iirc) HOWEVER! you can change the upkeep time (how often they charge) and whether or not to charge upkeep and purchase.
Check in the rule_values table look for the Merc:: entries. :-)
Yeah, I noted those tables.. but up to now, I didn't realise they were actually charging :)
my char only got to level 10 last night, when I noticed.. I just think they are a wonderful addition to EQemu.
warkid
11-16-2013, 05:36 PM
I suspect the issue with this code from ClientPacket.cpp, handling the group invite:
if((!Invitee->IsGrouped() && !Invitee->IsRaidGrouped()) ||
(Invitee->GetGroup() && Invitee->CastToClient()->GetMerc() && Invitee->GetGroup()->GroupCount() == 2))
{
if(app->GetOpcode() == OP_GroupInvite2)
{
//Make a new packet using all the same information but make sure it's a fixed GroupInvite opcode so we
//Don't have to deal with GroupFollow2 crap.
EQApplicationPacket* outapp = new EQApplicationPacket(OP_GroupInvite, sizeof(GroupInvite_Struct));
memcpy(outapp->pBuffer, app->pBuffer, outapp->size);
Invitee->CastToClient()->QueuePacket(outapp);
safe_delete(outapp);
return;
}
else
{
//The correct opcode, no reason to bother wasting time reconstructing the packet
Invitee->CastToClient()->QueuePacket(app);
}
}
I'm not sure it correctly handles removing the invitee from their group before trying to add them to the other group, if at all.
I'll try and test it thoroughly this weekend.
any luck with this bad? also having same issue with mercs
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.