git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@157 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
4521de5fa5
commit
407aab8097
@ -1,4 +1,6 @@
|
|||||||
Date Added
|
Date Added
|
||||||
|
11/13
|
||||||
|
* Fixed chrif_changesex and @changesex, now uses packet 0x3000. [MC Cameri]
|
||||||
11/12
|
11/12
|
||||||
* added folder: /save-tmpl, removed folder /save
|
* added folder: /save-tmpl, removed folder /save
|
||||||
* battle_athena.conf: Updated Packet Version Flags.
|
* battle_athena.conf: Updated Packet Version Flags.
|
||||||
|
@ -2412,6 +2412,20 @@ int parse_frommap(int fd) {
|
|||||||
// printf("char: save_account_reg (from map)\n");
|
// printf("char: save_account_reg (from map)\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// Map server send information to change an email of an account -> login-server
|
||||||
|
case 0x3000:
|
||||||
|
if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
|
||||||
|
return 0;
|
||||||
|
if (login_fd > 0) { // don't send request if no login-server
|
||||||
|
WFIFOW(login_fd,0) = 0x3000;
|
||||||
|
WFIFOW(login_fd,2) = RFIFOW(fd,2);
|
||||||
|
WFIFOL(login_fd,4) = RFIFOL(fd,4);
|
||||||
|
WFIFOB(login_fd,8) = RFIFOB(fd,8);
|
||||||
|
WFIFOSET(login_fd, RFIFOW(fd,2));
|
||||||
|
printf("char : change sex -> login %d %d %d \n", RFIFOL(fd,4), RFIFOB(fd,8), RFIFOW(fd,2));
|
||||||
|
}
|
||||||
|
RFIFOSKIP(fd, RFIFOW(fd,2));
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// inter server処理に渡す
|
// inter server処理に渡す
|
||||||
|
@ -1677,6 +1677,36 @@ int parse_fromchar(int fd) {
|
|||||||
RFIFOSKIP(fd,6);
|
RFIFOSKIP(fd,6);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
case 0x3000: //change sex for chrif_changesex()
|
||||||
|
if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
|
||||||
|
return 0;
|
||||||
|
{
|
||||||
|
int acc, sex, i = 0;
|
||||||
|
acc = RFIFOL(fd,4);
|
||||||
|
sex = RFIFOB(fd,8);
|
||||||
|
if (sex != 0 && sex != 1)
|
||||||
|
sex = 0;
|
||||||
|
for(i = 0; i < auth_num; i++) {
|
||||||
|
if (auth_dat[i].account_id == acc) {
|
||||||
|
unsigned char buf[16];
|
||||||
|
login_log("Char-server '%s': Sex change (account: %d, new sex %c, ip: %s)." RETCODE,
|
||||||
|
server[id].name, acc, (sex == 2) ? 'S' : (sex ? 'M' : 'F'), ip);
|
||||||
|
auth_fifo[i].login_id1++; // to avoid reconnection error when come back from map-server (char-server will ask again the authentification)
|
||||||
|
auth_dat[i].sex = sex;
|
||||||
|
WBUFW(buf,0) = 0x2723;
|
||||||
|
WBUFL(buf,2) = acc;
|
||||||
|
WBUFB(buf,6) = sex;
|
||||||
|
charif_sendallwos(-1, buf, 7);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i == auth_num) {
|
||||||
|
login_log("Char-server '%s': Error of Sex change (account: %d not found, suggested sex %c, ip: %s)." RETCODE,
|
||||||
|
server[id].name, acc, (sex == 2) ? 'S' : (sex ? 'M' : 'F'), ip);
|
||||||
|
}
|
||||||
|
RFIFOSKIP(fd,RFIFOW(fd,2));
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
@ -419,11 +419,11 @@ int chrif_char_ask_name(int id, char * character_name, short operation_type, int
|
|||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
int chrif_changesex(int id, int sex) {
|
int chrif_changesex(int id, int sex) {
|
||||||
WFIFOW(char_fd,0) = 0x2b0c;
|
WFIFOW(char_fd,0) = 0x3000;
|
||||||
WFIFOW(char_fd,2) = 9;
|
WFIFOW(char_fd,2) = 9;
|
||||||
WFIFOL(char_fd,4) = id;
|
WFIFOL(char_fd,4) = id;
|
||||||
WFIFOB(char_fd,8) = sex;
|
WFIFOB(char_fd,8) = sex;
|
||||||
printf("chrif : sended 0x2b0c\n");
|
printf("chrif : sent 0x3000(changesex)\n");
|
||||||
WFIFOSET(char_fd,9);
|
WFIFOSET(char_fd,9);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user