diff options
Diffstat (limited to 'src/echar')
-rw-r--r-- | src/echar/char.c | 9 | ||||
-rw-r--r-- | src/echar/char.h | 2 | ||||
-rw-r--r-- | src/echar/init.c | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/echar/char.c b/src/echar/char.c index a73b826..fb5ebdc 100644 --- a/src/echar/char.c +++ b/src/echar/char.c @@ -315,3 +315,12 @@ void send_additional_slots(int fd, struct char_session_data* sd) SQL->StmtFree(stmt); } + +void echar_parse_frommap_request_stats_report_pre(int *fdPtr) +{ + const int fd = *fdPtr; + RFIFOSKIP(fd, 2); /* we skip first 2 bytes which are the 0x3008, so we end up with a buffer equal to the one we send */ + RFIFOSKIP(fd, RFIFOW(fd,2)); /* skip this packet */ + RFIFOFLUSH(fd); + hookStop(); +} diff --git a/src/echar/char.h b/src/echar/char.h index d0873cb..2bf4e28 100644 --- a/src/echar/char.h +++ b/src/echar/char.h @@ -28,4 +28,6 @@ void echar_parse_char_connect_pre(int *fdPtr, struct char_session_data *sd, uint void echar_parse_char_connect_post(int *fdPtr, struct char_session_data *sd, uint32 *ipl); +void echar_parse_frommap_request_stats_report_pre(int *fdPtr); + #endif // EVOL_CHAR_CHAR diff --git a/src/echar/init.c b/src/echar/init.c index 2cbd151..10d18eb 100644 --- a/src/echar/init.c +++ b/src/echar/init.c @@ -53,6 +53,7 @@ HPExport void plugin_init (void) addHookPre("chr->parse_char_create_new_char", echar_parse_char_create_new_char); addHookPre("chr->creation_failed", echar_creation_failed); addHookPre("chr->parse_char_connect", echar_parse_char_connect_pre); + addHookPre("chr->parse_frommap_request_stats_report", echar_parse_frommap_request_stats_report_pre); addHookPost("chr->mmo_char_send099d", echar_mmo_char_send099d); addHookPost("chr->mmo_char_send_characters", echar_mmo_char_send_characters_post); |