Removed mapindex from char-server (#7533)

Converted last_point to mapname
Converted save_point to mapname
Converted memo to mapname
Converted start point to mapname
Removed default map
Converted party member to mapname
Converted maplists to mapname
Removed mapindex loading
Fixed instance loading with multiple map-servers
Fixed castle loading with multiple map-servers
Fixed battleground loading with multiple map-servers
Fixed warping between map-servers

Thanks to @aleos89 for his help!
This commit is contained in:
Lemongrass3110
2023-01-11 16:54:53 +01:00
committed by GitHub
parent cbe2acb786
commit 14cb61d598
25 changed files with 311 additions and 337 deletions

View File

@@ -5612,7 +5612,7 @@ BUILDIN_FUNC(warp)
if(strcmp(str,"Random")==0)
ret = pc_randomwarp(sd,CLR_TELEPORT,true);
else if(strcmp(str,"SavePoint")==0 || strcmp(str,"Save")==0)
ret = pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT);
ret = pc_setpos( sd, mapindex_name2id( sd->status.save_point.map ), sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT );
else
ret = pc_setpos(sd,mapindex_name2id(str),x,y,CLR_OUTSIGHT);
@@ -5851,11 +5851,11 @@ BUILDIN_FUNC(warpparty)
break;
case WARPPARTY_SAVEPOINTALL:
if (!mapdata->flag[MF_NORETURN])
ret = pc_setpos(pl_sd,pl_sd->status.save_point.map,pl_sd->status.save_point.x,pl_sd->status.save_point.y,CLR_TELEPORT);
ret = pc_setpos( pl_sd, mapindex_name2id( pl_sd->status.save_point.map ), pl_sd->status.save_point.x, pl_sd->status.save_point.y, CLR_TELEPORT );
break;
case WARPPARTY_SAVEPOINT:
if (!mapdata->flag[MF_NORETURN])
ret = pc_setpos(pl_sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT);
ret = pc_setpos( pl_sd, mapindex_name2id( sd->status.save_point.map ),sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT );
break;
case WARPPARTY_LEADER:
if (p->party.member[i].leader)
@@ -5957,11 +5957,11 @@ BUILDIN_FUNC(warpguild)
break;
case 1: // SavePointAll
if(!map_getmapflag(pl_sd->bl.m, MF_NORETURN))
pc_setpos(pl_sd,pl_sd->status.save_point.map,pl_sd->status.save_point.x,pl_sd->status.save_point.y,CLR_TELEPORT);
pc_setpos( pl_sd, mapindex_name2id( pl_sd->status.save_point.map ), pl_sd->status.save_point.x, pl_sd->status.save_point.y, CLR_TELEPORT );
break;
case 2: // SavePoint
if(!map_getmapflag(pl_sd->bl.m, MF_NORETURN))
pc_setpos(pl_sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT);
pc_setpos( pl_sd, mapindex_name2id( sd->status.save_point.map ),sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT );
break;
case 3: // m,x,y
if(!map_getmapflag(pl_sd->bl.m, MF_NORETURN) && !map_getmapflag(pl_sd->bl.m, MF_NOWARP) && pc_job_can_entermap((enum e_job)pl_sd->status.class_, m, pc_get_group_level(pl_sd)))
@@ -8986,7 +8986,7 @@ BUILDIN_FUNC(getpartyleader)
case 1: script_pushint(st,p->party.member[i].account_id); break;
case 2: script_pushint(st,p->party.member[i].char_id); break;
case 3: script_pushint(st,p->party.member[i].class_); break;
case 4: script_pushstrcopy(st,mapindex_id2name(p->party.member[i].map)); break;
case 4: script_pushstrcopy( st, p->party.member[i].map ); break;
case 5: script_pushint(st,p->party.member[i].lv); break;
default: script_pushstrcopy(st,p->party.member[i].name); break;
}
@@ -13126,7 +13126,7 @@ BUILDIN_FUNC(warpwaitingpc)
if( strcmp(map_name,"Random") == 0 )
pc_randomwarp(sd,CLR_TELEPORT,true);
else if( strcmp(map_name,"SavePoint") == 0 )
pc_setpos(sd, sd->status.save_point.map, sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT);
pc_setpos( sd, mapindex_name2id( sd->status.save_point.map ), sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT );
else
pc_setpos(sd, mapindex_name2id(map_name), x, y, CLR_OUTSIGHT);
}
@@ -13620,7 +13620,7 @@ static int buildin_maprespawnguildid_sub_pc(map_session_data* sd, va_list ap)
(sd->status.guild_id != g_id && flag&2) || //Warp out outsiders
(sd->status.guild_id == 0 && flag&2) // Warp out players not in guild
)
pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT);
pc_setpos( sd, mapindex_name2id( sd->status.save_point.map ), sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT );
return 1;
}
@@ -15506,7 +15506,7 @@ int atcommand_sub(struct script_state* st,int type) {
memcpy(&dummy_sd.bl, bl, sizeof(struct block_list));
if (bl->type == BL_NPC)
safestrncpy(dummy_sd.status.name, ((TBL_NPC*)bl)->name, NAME_LENGTH);
sd->mapindex = (bl->m > 0) ? map_id2index(bl->m) : mapindex_name2id(map_default.mapname);
sd->mapindex = (bl->m > 0) ? map_id2index(bl->m) : 0;
}
// Init Group ID, Level, & permissions
@@ -16090,7 +16090,7 @@ BUILDIN_FUNC(getsavepoint)
type = script_getnum(st,2);
switch(type) {
case 0: script_pushstrcopy(st,mapindex_id2name(sd->status.save_point.map)); break;
case 0: script_pushstrcopy( st, sd->status.save_point.map ); break;
case 1: script_pushint(st,sd->status.save_point.x); break;
case 2: script_pushint(st,sd->status.save_point.y); break;
default: