L2JMobius

Free Users => Solved/Invalid Bug Reports => Topic started by: Pirsys on May 10, 2022, 03:31:46 AM

Title: Party [ BuG Report ] - FIXED
Post by: Pirsys on May 10, 2022, 03:31:46 AM
The problem lies at the time of leaving and entering the party, it does not update the members and the number of members of the same nick will accumulate. I am attaching a picture below https://ibb.co/kXWrZRt
Title: Re: Party [ BuG Report ]
Post by: Mobius on May 10, 2022, 01:35:20 PM
Check this.
https://bitbucket.org/MobiusDev/l2j_mobius/commits/f1f794e500c77f1b962fd95e1380b7168f25c8f6
Title: Re: Party [ BuG Report ]
Post by: Pirsys on May 10, 2022, 02:46:13 PM
I have already added the code line but the problem still persists

https://pastebin.com/DKzdguEs
Title: Re: Party [ BuG Report ]
Post by: ver on May 11, 2022, 09:12:53 PM
Yes...
One of my players reports the same/similar thing
(https://i.snipboard.io/OIPcm3.jpg)



Title: Re: Party [ BuG Report ]
Post by: Mobius on May 12, 2022, 04:37:00 PM
Currently I work on a new Interlude project based on L2jMobius Epilogue.
I do not see myself fixing things on old C6 branch any time soon.
Will gladly commit any fixes shared tho.

https://l2jmobius.org/forum/index.php?topic=8454
Title: Re: Party [ BuG Report ]
Post by: Pirsys on May 19, 2022, 02:10:45 PM
After several days, and attempts to solve the visual bug, I was able to achieve it. I share the part of the code that I modified, I don't know if it's right or wrong, but at least it works.


Code: [Select]
/**
* adds new member to party
* @param player
*/
public synchronized void addPartyMember(Player player)
{
if (_members.contains(player))
{
return;
}

// add player to party
_members.add(player);

// sends new member party window for all members
// we do all actions before adding member to a list, this speeds things up a little
player.sendPacket(new PartySmallWindowAll(player, this));

SystemMessage msg = new SystemMessage(SystemMessageId.YOU_HAVE_JOINED_S1_S_PARTY);
msg.addString(getLeader().getName());
player.sendPacket(msg);

msg = new SystemMessage(SystemMessageId.YOU_HAVE_JOINED_S1_S_PARTY);
msg.addString(player.getName());
broadcastToPartyMembers(msg);

for (Player member : _members)
{
if (member != player)
{
member.updateEffectIcons(true); // update party icons only
member.broadcastUserInfo();
member.sendPacket(new PartySmallWindowAdd(player, this));
}
}
Title: Re: Party [ BuG Report ] - FIXED
Post by: Mobius on May 19, 2022, 06:12:30 PM
Can you try this?
Code: [Select]
Index: java/org/l2jmobius/gameserver/model/Party.java
===================================================================
--- java/org/l2jmobius/gameserver/model/Party.java (revision 10203)
+++ java/org/l2jmobius/gameserver/model/Party.java (working copy)
@@ -351,23 +351,20 @@
  return;
  }
 
- // sends new member party window for all members
- player.sendPacket(new PartySmallWindowAll(player, this));
- SystemMessage msg = new SystemMessage(SystemMessageId.YOU_HAVE_JOINED_S1_S_PARTY);
- msg.addString(getLeader().getName());
- player.sendPacket(msg);
-
- msg = new SystemMessage(SystemMessageId.S1_HAS_JOINED_THE_PARTY);
+ SystemMessage msg = new SystemMessage(SystemMessageId.S1_HAS_JOINED_THE_PARTY);
  msg.addString(player.getName());
  broadcastToPartyMembers(msg);
  broadcastToPartyMembers(new PartySmallWindowAdd(player, this));
- for (Player member : _members)
- {
- player.sendPacket(new PartySmallWindowAdd(member, this));
- }
 
  // add player to party, adjust party level
  _members.add(player);
+
+ // sends new member party window for all members
+ player.sendPacket(new PartySmallWindowAll(player, this));
+ msg = new SystemMessage(SystemMessageId.YOU_HAVE_JOINED_S1_S_PARTY);
+ msg.addString(getLeader().getName());
+ player.sendPacket(msg);
+
  if (player.getLevel() > _partyLvl)
  {
  _partyLvl = player.getLevel();
Title: Re: Party [ BuG Report ] - FIXED
Post by: Mobius on May 24, 2022, 01:15:26 AM
Presumably fixed with https://bitbucket.org/MobiusDev/l2j_mobius/commits/5adc3e8267acb453c458b3bfbf486a904a81a7ed