party bug

This place is for Closed bug reports only. NOT for asking help!

Moderators: Moderators, Developers

Message
Author
Arukas
Human
Human
Posts: 24
Joined: 01 Sep 2008, 02:11
Noob?: Yes

party bug

#1 Post by Arukas »

[Topic Closed]
Last edited by Arukas on 17 Sep 2010, 07:45, edited 1 time in total.

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: party bug

#2 Post by EternalHarvest »

Arukas wrote:when char2 is logged in and char1 is still on my party openkore recognizes char2 as if it is on my party. tested it on the devotion skill. it constantly uses devotion skill on char2 but in fact char1 is on my party not char2.
This one is fixed in r7477. Added a check for party member to be online in partySkill trigger.

upd:
Looks like it was introduced in r6866:
http://openkore.svn.sourceforge.net/vie ... threv=7478

Code: Select all

$char->{party}{users}{$ID} ne $playersList->getByID($ID)
Actor's overload of <eq> compares IDs, not names.
Btw, this is completely non-logical because overload of <""> (string context) returns ->nameString (which won't help much in this case, because Actor::Party's and Actor::Player's nameStrings don't look the same because of Actor::Party has no binID).

Later, one of these checks (for name and for online status) should be removed, and other one should be fixed in case name check survives.

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: party bug

#3 Post by EternalHarvest »

Arukas wrote:when a party member is kicked or it leaves still regocnizes it as a member of the party...
Confirmed (iRO Valkyrie), but it's actually wrong handling of packets: "ACTOR failed to leave party (1)". So party_leave's result of 1 now means "left the party successfully"?

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: party bug

#4 Post by kLabMouse »

EternalHarvest wrote:
Arukas wrote:when a party member is kicked or it leaves still regocnizes it as a member of the party...
Confirmed (iRO Valkyrie), but it's actually wrong handling of packets: "ACTOR failed to leave party (1)". So party_leave's result of 1 now means "left the party successfully"?
May-be the packet handler where wrong coded?

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: party bug

#5 Post by EternalHarvest »

When I leave the party, everything is fine. Bug only occurs when someone is kicked from party.
Is that enum is for 0x105 PACKET_ZC_DELETE_MEMBER_FROM_GROUP (looks like it is)?

Code: Select all

typedef enum <unnamed-tag> {
  GROUPMEMBER_DELETE_LEAVE =  0x0,
  GROUPMEMBER_DELETE_EXPEL =  0x1,
} <unnamed-tag>;

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: party bug

#6 Post by kLabMouse »

EternalHarvest wrote:When I leave the party, everything is fine. Bug only occurs when someone is kicked from party.
Is that enum is for 0x105 PACKET_ZC_DELETE_MEMBER_FROM_GROUP (looks like it is)?

Code: Select all

typedef enum <unnamed-tag> {
  GROUPMEMBER_DELETE_LEAVE =  0x0,
  GROUPMEMBER_DELETE_EXPEL =  0x1,
} <unnamed-tag>;
Yes.

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: party bug

#7 Post by EternalHarvest »

Arukas wrote:when a party member is kicked or it leaves still regocnizes it as a member of the party...
Fixed in r7479.

Also, ->nameString for Actor::Party returns "Party <name>". Should be something like "Party member <name>" instead.

Post Reply