Added support for packet sending map data(0xAC5)
This commit is contained in:
parent
3faf700443
commit
145b60f7b6
@ -769,6 +769,29 @@ int chclif_parse_req_charlist(int fd, struct char_session_data* sd){
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Send player to map
|
||||
void chclif_send_map_data( int fd, struct mmo_charstatus *cd, uint32 ipl, int map_server_index ){
|
||||
#if PACKETVER >= 20170315
|
||||
int cmd = 0xAC5;
|
||||
int size = 156;
|
||||
#else
|
||||
int cmd = 0x71;
|
||||
int size = 28;
|
||||
#endif
|
||||
|
||||
WFIFOHEAD(fd,size);
|
||||
WFIFOW(fd,0) = cmd;
|
||||
WFIFOL(fd,2) = cd->char_id;
|
||||
mapindex_getmapname_ext(mapindex_id2name(cd->last_point.map), WFIFOCP(fd,6));
|
||||
uint32 subnet_map_ip = char_lan_subnetcheck(ipl); // Advanced subnet check [LuzZza]
|
||||
WFIFOL(fd,22) = htonl((subnet_map_ip) ? subnet_map_ip : map_server[map_server_index].ip);
|
||||
WFIFOW(fd,26) = ntows(htons(map_server[map_server_index].port)); // [!] LE byte order here [!]
|
||||
#if PACKETVER >= 20170315
|
||||
memset(WFIFOP(fd, 28), 0, 128); // Unknown
|
||||
#endif
|
||||
WFIFOSET(fd,size);
|
||||
}
|
||||
|
||||
int chclif_parse_charselect(int fd, struct char_session_data* sd,uint32 ipl){
|
||||
FIFOSD_CHECK(3);
|
||||
{
|
||||
@ -776,7 +799,6 @@ int chclif_parse_charselect(int fd, struct char_session_data* sd,uint32 ipl){
|
||||
struct mmo_charstatus *cd;
|
||||
char* data;
|
||||
uint32 char_id;
|
||||
uint32 subnet_map_ip;
|
||||
struct auth_node* node;
|
||||
int i, map_fd;
|
||||
DBMap *auth_db = char_get_authdb();
|
||||
@ -886,15 +908,7 @@ int chclif_parse_charselect(int fd, struct char_session_data* sd,uint32 ipl){
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Send player to map
|
||||
WFIFOHEAD(fd,28);
|
||||
WFIFOW(fd,0) = 0x71;
|
||||
WFIFOL(fd,2) = cd->char_id;
|
||||
mapindex_getmapname_ext(mapindex_id2name(cd->last_point.map), WFIFOCP(fd,6));
|
||||
subnet_map_ip = char_lan_subnetcheck(ipl); // Advanced subnet check [LuzZza]
|
||||
WFIFOL(fd,22) = htonl((subnet_map_ip) ? subnet_map_ip : map_server[i].ip);
|
||||
WFIFOW(fd,26) = ntows(htons(map_server[i].port)); // [!] LE byte order here [!]
|
||||
WFIFOSET(fd,28);
|
||||
chclif_send_map_data( fd, cd, ipl, i );
|
||||
|
||||
// create temporary auth entry
|
||||
CREATE(node, struct auth_node, 1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user