git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@27 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
74bd92c808
commit
0b048d6c92
@ -1,5 +1,6 @@
|
|||||||
Date Added
|
Date Added
|
||||||
11/06
|
11/06
|
||||||
|
* atcommand.c/.h,chrif.c/.h, added @changesex. [MC Cameri]
|
||||||
* mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster]
|
* mob.c & clif.c: Added & Modified a few parts dealing with monsters and guilds [Codemaster]
|
||||||
* mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster]
|
* mob.c: Re-did a few parts according to jA's 1057 version. [Codemaster]
|
||||||
11/05
|
11/05
|
||||||
|
@ -209,6 +209,7 @@ ATCOMMAND_FUNC(send); // by davidsiaw
|
|||||||
ATCOMMAND_FUNC(setbattleflag); // by MouseJstr
|
ATCOMMAND_FUNC(setbattleflag); // by MouseJstr
|
||||||
ATCOMMAND_FUNC(unmute); // [Valaris]
|
ATCOMMAND_FUNC(unmute); // [Valaris]
|
||||||
ATCOMMAND_FUNC(uptime); // by MC Cameri
|
ATCOMMAND_FUNC(uptime); // by MC Cameri
|
||||||
|
ATCOMMAND_FUNC(changesex); // by MC Cameri
|
||||||
|
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
ATCOMMAND_FUNC(checkmail); // [Valaris]
|
ATCOMMAND_FUNC(checkmail); // [Valaris]
|
||||||
@ -456,6 +457,7 @@ static AtCommandInfo atcommand_info[] = {
|
|||||||
{ AtCommand_SetBattleFlag, "@setbattleflag", 60, atcommand_setbattleflag },
|
{ AtCommand_SetBattleFlag, "@setbattleflag", 60, atcommand_setbattleflag },
|
||||||
{ AtCommand_UnMute, "@unmute", 60, atcommand_unmute }, // [Valaris]
|
{ AtCommand_UnMute, "@unmute", 60, atcommand_unmute }, // [Valaris]
|
||||||
{ AtCommand_UpTime, "@uptime", 0, atcommand_uptime }, // by MC Cameri
|
{ AtCommand_UpTime, "@uptime", 0, atcommand_uptime }, // by MC Cameri
|
||||||
|
{ AtCommand_ChangeSex, "@changesex", 1, atcommand_changesex }, // by MC Cameri
|
||||||
|
|
||||||
#ifndef TXT_ONLY // sql-only commands
|
#ifndef TXT_ONLY // sql-only commands
|
||||||
{ AtCommand_CheckMail, "@checkmail", 1, atcommand_listmail }, // [Valaris]
|
{ AtCommand_CheckMail, "@checkmail", 1, atcommand_listmail }, // [Valaris]
|
||||||
@ -5923,8 +5925,8 @@ int atcommand_repairall(
|
|||||||
|
|
||||||
count = 0;
|
count = 0;
|
||||||
for (i = 0; i < MAX_INVENTORY; i++) {
|
for (i = 0; i < MAX_INVENTORY; i++) {
|
||||||
if (sd->status.inventory[i].nameid && sd->status.inventory[i].attribute == 1) {
|
if (sd->status.inventory[i].nameid && sd->status.inventory[i].broken == 1) {
|
||||||
sd->status.inventory[i].attribute = 0;
|
sd->status.inventory[i].broken = 0;
|
||||||
clif_produceeffect(sd, 0, sd->status.inventory[i].nameid);
|
clif_produceeffect(sd, 0, sd->status.inventory[i].nameid);
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
@ -7564,6 +7566,45 @@ atcommand_uptime(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*==========================================
|
||||||
|
* @changesex <sex>
|
||||||
|
* => Changes one's sex. Argument sex can be
|
||||||
|
* 0 or 1, m or f, male or female.
|
||||||
|
*------------------------------------------
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
atcommand_changesex(
|
||||||
|
const int fd, struct map_session_data* sd,
|
||||||
|
const char* command, const char* message)
|
||||||
|
{
|
||||||
|
|
||||||
|
// char sex[200], output[200];
|
||||||
|
int isex = (sd->status.sex+1)%2;
|
||||||
|
/*
|
||||||
|
if (!message || !*message)
|
||||||
|
return -1;
|
||||||
|
memset(sex, '\0', sizeof(sex));
|
||||||
|
if(sscanf(message, "%99[^\n]", sex) < 1)
|
||||||
|
return -1;
|
||||||
|
str_lower(sex);
|
||||||
|
if (strcmp(sex,"0") == 0 || strcmp(sex,"f") == 0 || strcmp(sex,"female") == 0) {
|
||||||
|
isex = 0;
|
||||||
|
} else if (strcmp(sex,"1") == 0 || strcmp(sex,"m") == 0 || strcmp(sex,"male") == 0) {
|
||||||
|
isex = 1;
|
||||||
|
} else {
|
||||||
|
clif_displaymessage(fd,msg_table[456]);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
// if (isex != sd->sex) {
|
||||||
|
chrif_changesex(sd->status.account_id, isex);
|
||||||
|
// } else {
|
||||||
|
// sprintf(output,msg_table[460],(isex == 0)?"female":"male");
|
||||||
|
// clif_displaymessage(fd,output);
|
||||||
|
// }
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef TXT_ONLY /* Begin SQL-Only commands */
|
#ifndef TXT_ONLY /* Begin SQL-Only commands */
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
|
@ -191,7 +191,8 @@ enum AtCommandType {
|
|||||||
AtCommand_Send,
|
AtCommand_Send,
|
||||||
AtCommand_SetBattleFlag,
|
AtCommand_SetBattleFlag,
|
||||||
AtCommand_UnMute,
|
AtCommand_UnMute,
|
||||||
AtCommand_UpTime,
|
AtCommand_UpTime,
|
||||||
|
AtCommand_ChangeSex,
|
||||||
// SQL-only commands start
|
// SQL-only commands start
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
AtCommand_CheckMail, // [Valaris]
|
AtCommand_CheckMail, // [Valaris]
|
||||||
|
@ -414,6 +414,20 @@ int chrif_char_ask_name(int id, char * character_name, short operation_type, int
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*==========================================
|
||||||
|
* <EFBFBD>«•ʕω»—v‹<EFBFBD>
|
||||||
|
*------------------------------------------
|
||||||
|
*/
|
||||||
|
int chrif_changesex(int id, int sex) {
|
||||||
|
WFIFOW(char_fd,0) = 0x2b0c;
|
||||||
|
WFIFOW(char_fd,2) = 9;
|
||||||
|
WFIFOL(char_fd,4) = id;
|
||||||
|
WFIFOB(char_fd,8) = sex;
|
||||||
|
printf("chrif : sended 0x2b0c\n");
|
||||||
|
WFIFOSET(char_fd,9);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
* Answer after a request about a character name to do some operations (by Yor)
|
* Answer after a request about a character name to do some operations (by Yor)
|
||||||
* Used to answer of chrif_char_ask_name.
|
* Used to answer of chrif_char_ask_name.
|
||||||
@ -885,9 +899,7 @@ int chrif_parse(int fd)
|
|||||||
|
|
||||||
// only char-server can have an access to here.
|
// only char-server can have an access to here.
|
||||||
// so, if it isn't the char-server, we disconnect the session (fd != char_fd).
|
// so, if it isn't the char-server, we disconnect the session (fd != char_fd).
|
||||||
if(fd != char_fd)
|
if (fd != char_fd || session[fd]->eof) {
|
||||||
session[fd]->eof = 1;
|
|
||||||
if(session[fd]->eof) {
|
|
||||||
if (fd == char_fd) {
|
if (fd == char_fd) {
|
||||||
printf("Map-server can't connect to char-server (connection #%d).\n", fd);
|
printf("Map-server can't connect to char-server (connection #%d).\n", fd);
|
||||||
char_fd = -1;
|
char_fd = -1;
|
||||||
@ -907,7 +919,6 @@ int chrif_parse(int fd)
|
|||||||
if (r == 1) continue; // intifで処理した
|
if (r == 1) continue; // intifで処理した
|
||||||
if (r == 2) return 0; // intifで処理したが、データが足りない
|
if (r == 2) return 0; // intifで処理したが、データが足りない
|
||||||
|
|
||||||
close(fd); // intifで処理できなかった
|
|
||||||
session[fd]->eof = 1;
|
session[fd]->eof = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ int chrif_saveaccountreg2(struct map_session_data *sd);
|
|||||||
int chrif_reloadGMdb(void);
|
int chrif_reloadGMdb(void);
|
||||||
int chrif_ragsrvinfo(int base_rate,int job_rate, int drop_rate);
|
int chrif_ragsrvinfo(int base_rate,int job_rate, int drop_rate);
|
||||||
int chrif_char_offline(struct map_session_data *sd);
|
int chrif_char_offline(struct map_session_data *sd);
|
||||||
|
int chrif_changesex(int id, int sex);
|
||||||
|
|
||||||
int do_init_chrif(void);
|
int do_init_chrif(void);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user