* Fixed players unable to move in AFM maps

* Added error message if a player's last map couldn't be found

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@535 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
celest 2004-12-10 13:34:09 +00:00
parent 55c7f7a8c1
commit 910f9d3c5d
2 changed files with 17 additions and 3 deletions

View File

@ -1,5 +1,7 @@
Date Added
12/9
* Fixed players unable to move in AFM maps [celest]
* Added error message if a player's last map couldn't be found [celest]
* Moved a map_freeblock_unlock() around to eliminate a
crash [MouseJstr]
* Fixed how players are cleaned up when they disconnected

View File

@ -779,7 +779,13 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, struct mmo_chars
sd->eventtimer[i] = -1;
// 位置の設定
pc_setpos(sd,sd->status.last_point.map, sd->status.last_point.x, sd->status.last_point.y, 0);
if (pc_setpos(sd,sd->status.last_point.map, sd->status.last_point.x, sd->status.last_point.y, 0) != 0) {
if(battle_config.error_log) {
char buf[32];
sprintf(buf, "Last_point_map %s not found\n", sd->status.last_point.map);
ShowError (buf);
}
}
// pet
if (sd->status.pet_id > 0)
@ -3765,11 +3771,17 @@ int pc_setpos(struct map_session_data *sd,char *mapname_org,int x,int y,int clrt
memcpy(mapname,mapname_org,24);
mapname[16]=0;
if(strstr(mapname,".gat")==NULL && strlen(mapname)<16){
if(strstr(mapname,".gat")==NULL && strstr(mapname,".afm")==NULL && strlen(mapname)<16){
strcat(mapname,".gat");
}
m=map_mapname2mapid(mapname);
// If we can't find the .gat map try .afm instead [celest]
if ((m=map_mapname2mapid(mapname))<0) {
char afm_name[16] = "";
strncpy(afm_name, mapname, strlen(mapname) - 4);
strcat(afm_name, ".afm");
m=map_mapname2mapid(afm_name);
}
if(m<0){
if(sd->mapname[0]){
int ip,port;