diff options
-rw-r--r-- | Changelog-Trunk.txt | 6 | ||||
-rw-r--r-- | src/char/int_party.c | 2 | ||||
-rw-r--r-- | src/char_sql/int_party.c | 2 | ||||
-rw-r--r-- | src/map/atcommand.c | 3 | ||||
-rw-r--r-- | src/map/intif.c | 2 | ||||
-rw-r--r-- | src/map/mob.c | 2 |
6 files changed, 15 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 715d2e96b..356c33cc7 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,12 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2007/02/06 + * Fixed char-server not sending party status update when a member logs + on/off. + * Fixed crash when parsing guild member information change from the + char-server when the specified character is not found in the guild. + * Fixed MvP mobs giving exp when killed even if they shouldn't. 2007/02/05 * Fixed @lvup, #lvup not doing a stat reset and lowering your status points if you had 0 status points at that time. diff --git a/src/char/int_party.c b/src/char/int_party.c index 5b04467b2..b043b8649 100644 --- a/src/char/int_party.c +++ b/src/char/int_party.c @@ -661,6 +661,8 @@ int mapif_parse_PartyChangeMap(int fd, int party_id, int account_id, int char_id p->party.member[i].lv = lv; int_party_check_lv(p); } + //Send online/offline update. + mapif_party_membermoved(&p->party, i); } if (p->party.member[i].lv != lv) { if(p->party.member[i].lv == p->min_lv || diff --git a/src/char_sql/int_party.c b/src/char_sql/int_party.c index 7b6b41b23..054df47a7 100644 --- a/src/char_sql/int_party.c +++ b/src/char_sql/int_party.c @@ -750,6 +750,8 @@ int mapif_parse_PartyChangeMap(int fd, int party_id, int account_id, int char_id p->party.member[i].lv = lv; int_party_check_lv(p); } + //Send online/offline update. + mapif_party_membermoved(&p->party, i); } if (p->party.member[i].lv != lv) { diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 68b1909d0..7304990d6 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -9861,7 +9861,8 @@ int atcommand_fakename(const int fd, struct map_session_data* sd, const char* co return 0; } - memcpy(sd->fakename,name,NAME_LENGTH-1); + memcpy(sd->fakename,name,NAME_LENGTH); + sd->fakename[NAME_LENGTH-1] = '\0'; clif_charnameack(0, &sd->bl); clif_displaymessage(sd->fd,"Fake name enabled."); diff --git a/src/map/intif.c b/src/map/intif.c index ad749d5f9..d53d6b8f2 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -1267,6 +1267,8 @@ int intif_parse_GuildMemberInfoChanged(int fd) if( g==NULL ) return 0; idx=guild_getindex(g,account_id,char_id); + if (idx == -1) + return 0; switch(type){ case GMI_POSITION: g->member[idx].position=dd; diff --git a/src/map/mob.c b/src/map/mob.c index 7434aae3a..2d8c2591b 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2058,7 +2058,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) double exp; //mapflag: noexp check [Lorky] - if (map[m].flag.nobaseexp || !(type&2)) + if (map[m].flag.nobaseexp || type&2) exp =1; else { exp = md->db->mexp; |