* Removed japanese interserver packets, should fix various problems (jumpto, where, charposreq). [Valaris]
git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@291 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
fcfbef1124
commit
241efbef4e
@ -1,5 +1,6 @@
|
||||
Date Added
|
||||
11/21
|
||||
* Removed japanese interserver packets, should fix various problems (jumpto, where, charposreq). [Valaris]
|
||||
* Added Yor's trade exploit bug fix. Added 2 skills bugs in the bugs.txt [Lupus]
|
||||
* Added charcommand.c/.h for the following reasons: [MC Cameri]
|
||||
- Less congestion in atcommand.c
|
||||
|
@ -1901,17 +1901,6 @@ int parse_frommap(int fd) {
|
||||
printf("DB server Error (update online `%s`)- %s\n", char_db, mysql_error(&mysql_handle));
|
||||
RFIFOSKIP(fd,6);
|
||||
break;
|
||||
|
||||
case 0x3090:
|
||||
{
|
||||
int r = inter_parse_frommap(fd);
|
||||
if (r == 1) break; // processed
|
||||
if (r == 2) return 0; // need more packet
|
||||
}
|
||||
|
||||
printf("parse_frommap: unsupported packet %x! \n", RFIFOW(fd,0));
|
||||
break;
|
||||
|
||||
default:
|
||||
// inter server - packet
|
||||
{
|
||||
|
@ -1081,8 +1081,6 @@ int atcommand_where(
|
||||
if(strncmp(sd->status.name,character,24)==0)
|
||||
return -1;
|
||||
|
||||
intif_where(sd->status.account_id,character);
|
||||
|
||||
if ((pl_sd = map_nick2sd(character)) == NULL) {
|
||||
snprintf(output, sizeof output, "%s %d %d",
|
||||
sd->mapname, sd->bl.x, sd->bl.y);
|
||||
@ -1121,7 +1119,6 @@ int atcommand_jumpto(
|
||||
if(strncmp(sd->status.name,character,24)==0) //Yourself mate? Tsk tsk tsk.
|
||||
return -1;
|
||||
|
||||
intif_jumpto(sd->status.account_id,character);
|
||||
if ((pl_sd = map_nick2sd(character)) != NULL) {
|
||||
if (pl_sd->bl.m >= 0 && map[pl_sd->bl.m].flag.nowarpto && battle_config.any_warp_GM_min_level > pc_isGM(sd)) {
|
||||
clif_displaymessage(fd, "You are not authorised to warp you to the map of this player.");
|
||||
@ -4029,8 +4026,6 @@ atcommand_recall(
|
||||
if(strncmp(sd->status.name,character,24)==0)
|
||||
return -1;
|
||||
|
||||
intif_charmovereq(sd,character,1);
|
||||
|
||||
if ((pl_sd = map_nick2sd(character)) != NULL) {
|
||||
if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can recall only lower or same level
|
||||
if (sd->bl.m >= 0 && map[sd->bl.m].flag.nowarpto && battle_config.any_warp_GM_min_level > pc_isGM(sd)) {
|
||||
|
@ -533,83 +533,6 @@ int intif_guild_castle_datasave(int castle_id,int index, int value)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* 指定した名前のキャラの場所要求
|
||||
*------------------------------------------
|
||||
*/
|
||||
int intif_charposreq(int account_id,char *name,int flag)
|
||||
{
|
||||
WFIFOW(inter_fd,0)=0x3090;
|
||||
WFIFOL(inter_fd,2)=account_id;
|
||||
memcpy(WFIFOP(inter_fd,6),name,24);
|
||||
WFIFOB(inter_fd,30)=flag;
|
||||
WFIFOSET(inter_fd,31);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* 指定した名前のキャラの場所に移動する
|
||||
* @jumpto
|
||||
*------------------------------------------
|
||||
*/
|
||||
int intif_jumpto(int account_id,char *name)
|
||||
{
|
||||
intif_charposreq(account_id,name,1);
|
||||
//printf("intif_jumpto: %d %s\n",account_id,name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* 指定した名前のキャラの場所表示する
|
||||
* @where
|
||||
*------------------------------------------
|
||||
*/
|
||||
int intif_where(int account_id,char *name)
|
||||
{
|
||||
intif_charposreq(account_id,name,0);
|
||||
//printf("intif_where: %d %s\n",account_id,name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
* 指定した名前のキャラを呼び寄せる
|
||||
* flag=0 あなたに逢いたい
|
||||
* flag=1 @recall
|
||||
*------------------------------------------
|
||||
*/
|
||||
int intif_charmovereq(struct map_session_data *sd,char *name,int flag)
|
||||
{
|
||||
nullpo_retr(0,sd);
|
||||
|
||||
//printf("intif_charmovereq: %d %s\n",sd->status.account_id,name);
|
||||
if(name==NULL)
|
||||
return -1;
|
||||
|
||||
WFIFOW(inter_fd,0)=0x3092;
|
||||
WFIFOL(inter_fd,2)=sd->status.account_id;
|
||||
memcpy(WFIFOP(inter_fd,6),name,24);
|
||||
WFIFOB(inter_fd,30)=flag;
|
||||
memcpy(WFIFOP(inter_fd,31),sd->mapname,16);
|
||||
WFIFOW(inter_fd,47)=sd->bl.x;
|
||||
WFIFOW(inter_fd,49)=sd->bl.y;
|
||||
WFIFOSET(inter_fd,51);
|
||||
return 0;
|
||||
}
|
||||
/*==========================================
|
||||
* 対象IDにメッセージを送信
|
||||
*------------------------------------------
|
||||
*/
|
||||
int intif_displaymessage(int account_id, char* mes)
|
||||
{
|
||||
int len = 6+strlen(mes)+1;
|
||||
WFIFOW(inter_fd,0) = 0x3093;
|
||||
WFIFOW(inter_fd,2) = len;
|
||||
WFIFOL(inter_fd,4) = account_id;
|
||||
strncpy(WFIFOP(inter_fd,8), mes, len-6);
|
||||
WFIFOSET(inter_fd, len );
|
||||
|
||||
return 0;
|
||||
}
|
||||
//-----------------------------------------------------------------
|
||||
// Packets receive from inter server
|
||||
|
||||
|
@ -53,8 +53,4 @@ int intif_request_petdata(int account_id, int char_id, int pet_id);
|
||||
int intif_save_petdata(int account_id, struct s_pet *p);
|
||||
int intif_delete_petdata(int pet_id);
|
||||
|
||||
int intif_jumpto(int account_id,char *name);
|
||||
int intif_where(int account_id,char *name);
|
||||
int intif_charmovereq(struct map_session_data *sd,char *name,int flag);
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user