Jump to content

Recommended Posts

Posted (edited)

why the server is not accepting the whole birthdate deletion? if you put 8 digit character it will say You entered birthday does not match.for example. my birthday is YYYYMMDD. it will not accept the correct birthdate. but if you put only 6digits character. you can deleted you character. YYMMDD it will accept your input birthday.

// construct "YY-MM-DD"

birthdate[0] = RFIFOB(fd,6); //year

birthdate[1] = RFIFOB(fd,7); //year

birthdate[2] = '-';

birthdate[3] = RFIFOB(fd,8); //month

birthdate[4] = RFIFOB(fd,9); //month

birthdate[5] = '-';

birthdate[6] = RFIFOB(fd,10); //date

birthdate[7] = RFIFOB(fd,11); //date

birthdate[8] = 0;

is there any lift the limit of 6 characters into 8?

Edited by Brynner
Posted

In this case, does it really need the 4 digit year? Who is going to live to be 100 still playing RO that would need to differentiate between 1901 and 2001?

just take a look on this screenshot

http://postimage.org/image/6d1lzs5j3/

e.g: 20101126

which is 8 digit characters right? but when you enter that you will get this message. You entered birthday does not match.

but when you type the 101126 which is 6 digit characters. it will accept the deletion process. i hope you get it clearly.

Posted

I think it is because how it actually works on official clients.

Below the function there is this comment:

{// CH: <0829>.W <char id>.L <birth date:YYMMDD>.6B

struct PACKET_CH_DELETE_CHAR3 {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long GID
/* this+0x6 */ char Birth[6]
}

2 bytes for the head;

4 bytes for the char id;

6 bytes for the birth date, 1 for each number.

So if you change how it works on the emulator it'll "mismatch" with the client, I thiink...

Correct me if I made an erroneous statement.

  • Upvote 1
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...