* Add correct reply when player invited to party isn't found.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14970 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
flaviojs 2011-10-10 17:25:15 +00:00
parent 7b1ca6d8b3
commit c5832ca11e
4 changed files with 29 additions and 17 deletions

View File

@ -1,5 +1,7 @@
Date Added
2011/10/10
* Add correct reply when player invited to party isn't found. [FlavioJS]
2011/10/09
* Rework some party code. [FlavioJS]
- add leader argument to party_fill_member

View File

@ -5903,38 +5903,48 @@ void clif_party_invite(struct map_session_data *sd,struct map_session_data *tsd)
WFIFOSET(fd,packet_len(cmd));
}
/*==========================================
* Party invitation result.
* R 00fd <nick>.24S <flag>.B
* R 02c5 <nick>.24S <flag>.L
* Flag values are:
* 0 -> char is already in a party
* 1 -> party invite was rejected
* 2 -> party invite was accepted
* 3 -> party is full
* 4 -> char of the same account already joined the party
*------------------------------------------*/
void clif_party_inviteack(struct map_session_data* sd, const char* nick, int flag)
/// Party invite result.
/// R 00fd <nick>.24S <result>.B
/// R 02c5 <nick>.24S <result>.L
/// result=0 : char is already in a party -> MsgStringTable[80]
/// result=1 : party invite was rejected -> MsgStringTable[81]
/// result=2 : party invite was accepted -> MsgStringTable[82]
/// result=3 : party is full -> MsgStringTable[83]
/// result=4 : char of the same account already joined the party -> MsgStringTable[608]
/// result=5 : char blocked party invite -> MsgStringTable[1324] (since 20070904)
/// result=7 : char is not online or doesn't exist -> MsgStringTable[71] (since 20070904)
/// result=8 : (%s) TODO instance related? -> MsgStringTable[1388] (since 20080527)
/// return=9 : TODO map prohibits party joining? -> MsgStringTable[1871] (since 20110205)
void clif_party_inviteack(struct map_session_data* sd, const char* nick, int result)
{
int fd;
nullpo_retv(sd);
fd=sd->fd;
#if PACKETVER < 20070904
if( result == 7 ) {
clif_displaymessage(fd, msg_txt(3));
return;
}
#endif
#if PACKETVER < 20070821
WFIFOHEAD(fd,packet_len(0xfd));
WFIFOW(fd,0) = 0xfd;
safestrncpy((char*)WFIFOP(fd,2),nick,NAME_LENGTH);
WFIFOB(fd,26) = flag;
WFIFOB(fd,26) = result;
WFIFOSET(fd,packet_len(0xfd));
#else
WFIFOHEAD(fd,packet_len(0x2c5));
WFIFOW(fd,0) = 0x2c5;
safestrncpy((char*)WFIFOP(fd,2),nick,NAME_LENGTH);
WFIFOL(fd,26) = flag;
WFIFOL(fd,26) = result;
WFIFOSET(fd,packet_len(0x2c5));
#endif
}
/*==========================================
*
* flag & 0x001=exp変更ミス

View File

@ -406,7 +406,7 @@ int clif_party_created(struct map_session_data *sd,int result);
int clif_party_member_info(struct party_data *p, struct map_session_data *sd);
int clif_party_info(struct party_data *p, struct map_session_data *sd);
void clif_party_invite(struct map_session_data *sd,struct map_session_data *tsd);
void clif_party_inviteack(struct map_session_data* sd, const char* nick, int flag);
void clif_party_inviteack(struct map_session_data* sd, const char* nick, int result);
int clif_party_option(struct party_data *p,struct map_session_data *sd,int flag);
int clif_party_withdraw(struct party_data* p, struct map_session_data* sd, int account_id, const char* name, int flag);
int clif_party_message(struct party_data* p, int account_id, const char* mes, int len);

View File

@ -338,8 +338,8 @@ int party_invite(struct map_session_data *sd,struct map_session_data *tsd)
nullpo_ret(sd);
if( ( p = party_search(sd->status.party_id) ) == NULL )
return 0;
if( tsd == NULL) { //TODO: Find the correct reply packet.
clif_displaymessage(sd->fd, msg_txt(3));
if( tsd == NULL) {
clif_party_inviteack(sd, "", 7);
return 0;
}