* Added a message to let know the client if the mail inbox is full.
* On LoadEndAck added a flag to know if the client is allready changing map or just doing teleport/fly wing. - This will reduce a little bit some info send to the client that only need to be updated on map change. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12349 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
3b801b284a
commit
8d65f03635
@ -7958,7 +7958,7 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
|
|||||||
|
|
||||||
//Login Event
|
//Login Event
|
||||||
npc_script_event(sd, NPCE_LOGIN);
|
npc_script_event(sd, NPCE_LOGIN);
|
||||||
} else {
|
} else if( sd->state.changemap ) {
|
||||||
//For some reason the client "loses" these on map-change.
|
//For some reason the client "loses" these on map-change.
|
||||||
clif_updatestatus(sd,SP_STR);
|
clif_updatestatus(sd,SP_STR);
|
||||||
clif_updatestatus(sd,SP_AGI);
|
clif_updatestatus(sd,SP_AGI);
|
||||||
@ -7967,8 +7967,6 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
|
|||||||
clif_updatestatus(sd,SP_DEX);
|
clif_updatestatus(sd,SP_DEX);
|
||||||
clif_updatestatus(sd,SP_LUK);
|
clif_updatestatus(sd,SP_LUK);
|
||||||
|
|
||||||
sd->state.using_fake_npc = 0;
|
|
||||||
|
|
||||||
//New 'night' effect by dynamix [Skotlex]
|
//New 'night' effect by dynamix [Skotlex]
|
||||||
if (night_flag && map[sd->bl.m].flag.nightenabled)
|
if (night_flag && map[sd->bl.m].flag.nightenabled)
|
||||||
{ //Display night.
|
{ //Display night.
|
||||||
@ -7980,6 +7978,9 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
|
|||||||
sd->state.night = 0;
|
sd->state.night = 0;
|
||||||
clif_status_load(&sd->bl, SI_NIGHT, 0);
|
clif_status_load(&sd->bl, SI_NIGHT, 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sd->state.using_fake_npc = 0;
|
||||||
|
|
||||||
if(sd->npc_id)
|
if(sd->npc_id)
|
||||||
npc_event_dequeue(sd);
|
npc_event_dequeue(sd);
|
||||||
@ -7987,7 +7988,6 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
|
|||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
mail_clear(sd);
|
mail_clear(sd);
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
|
|
||||||
if(map[sd->bl.m].flag.loadevent) // Lance
|
if(map[sd->bl.m].flag.loadevent) // Lance
|
||||||
npc_script_event(sd, NPCE_LOADMAP);
|
npc_script_event(sd, NPCE_LOADMAP);
|
||||||
@ -11433,6 +11433,13 @@ void clif_Mail_refreshinbox(struct map_session_data *sd)
|
|||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
WFIFOSET(fd,len);
|
WFIFOSET(fd,len);
|
||||||
|
|
||||||
|
if( md->full )
|
||||||
|
{
|
||||||
|
char output[100];
|
||||||
|
sprintf(output, "Inbox is full (Max %d). Delete some mails.", MAIL_MAX_INBOX);
|
||||||
|
clif_disp_onlyself(sd, output, strlen(output));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------------------------------------------
|
/*------------------------------------------
|
||||||
|
@ -549,6 +549,7 @@ struct map_session_data {
|
|||||||
unsigned short autoloot;
|
unsigned short autoloot;
|
||||||
unsigned short autolootid; // [Zephyrus]
|
unsigned short autolootid; // [Zephyrus]
|
||||||
unsigned noks : 3; // [Zeph Kill Steal Protection]
|
unsigned noks : 3; // [Zeph Kill Steal Protection]
|
||||||
|
bool changemap;
|
||||||
struct guild *gmaster_flag;
|
struct guild *gmaster_flag;
|
||||||
} state;
|
} state;
|
||||||
struct {
|
struct {
|
||||||
|
@ -3434,7 +3434,7 @@ int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y
|
|||||||
|
|
||||||
m=map_mapindex2mapid(mapindex);
|
m=map_mapindex2mapid(mapindex);
|
||||||
|
|
||||||
if (sd->mapindex != mapindex)
|
if( (sd->state.changemap = (sd->mapindex != mapindex)) )
|
||||||
{ //Misc map-changing settings
|
{ //Misc map-changing settings
|
||||||
if (sd->sc.count)
|
if (sd->sc.count)
|
||||||
{ //Cancel some map related stuff.
|
{ //Cancel some map related stuff.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user