diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/map/atcommand.c | 90 |
2 files changed, 48 insertions, 44 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index fc2cdfeb2..3ab62a37d 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,8 @@ 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. +2008/05/10 + * Fixed @showmobs not working (bugreport:1487) 2008/05/09 * Added correct extended info packets for items that are being moved into storage or cart. This caused items to visually lose their diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 239f1aa32..9bf6b710f 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -6990,76 +6990,78 @@ int atshowmobs_timer(int tid, unsigned int tick, int id, intptr data) if( sd == NULL ) return 0; + // remove indicator clif_viewpoint(sd, 1, 2, 0, 0, (int)data, 0xFFFFFF); return 1; } + static int atshowmobs_sub(struct block_list *bl,va_list ap) { - int mob_id,fd; - struct map_session_data* sd; - static int number=0; - struct mob_data *md; + int mob_id; + struct map_session_data* sd; + static int number=0; + struct mob_data *md; - if(!ap){ - number=0; - return 0; - } - mob_id = va_arg(ap,int); - fd = va_arg(ap,int); - sd = va_arg(ap,struct map_session_data*); + if(!ap){ + number=0; + return 0; + } + mob_id = va_arg(ap,int); + sd = va_arg(ap,struct map_session_data*); - md = (struct mob_data *)bl; + md = (struct mob_data *)bl; if(md->special_state.ai || md->master_id) return 0; //Hide slaves and player summoned mobs. [Skotlex] - if(fd && (mob_id==-1 || (md->class_==mob_id))){ - clif_viewpoint(sd, 1, 1, bl->x, bl->y, ++number, 0xFFFFFF); - add_timer(gettick()+5000, atshowmobs_timer, fd, number); - } - return 0; + if(mob_id==-1 || md->class_==mob_id){ + clif_viewpoint(sd, 1, 1, bl->x, bl->y, ++number, 0xFFFFFF); + add_timer(gettick()+5000, atshowmobs_timer, sd->bl.id, number); + } + return 0; } + int atcommand_showmobs(const int fd, struct map_session_data* sd, const char* command, const char* message) { - char mob_name[100]; - int mob_id,map_id = 0; + char mob_name[100]; + int mob_id,map_id = 0; - nullpo_retr(-1, sd); + nullpo_retr(-1, sd); - if (sscanf(message, "%99[^\n]", mob_name) < 0) - return -1; + if(sscanf(message, "%99[^\n]", mob_name) < 0) + return -1; - if ((mob_id = atoi(mob_name)) == 0) - mob_id = mobdb_searchname(mob_name); - if(mob_id > 0 && mobdb_checkid(mob_id) == 0){ - snprintf(atcmd_output, sizeof atcmd_output, "Invalid mob id %s!",mob_name); - clif_displaymessage(fd, atcmd_output); - return 0; - } + if((mob_id = atoi(mob_name)) == 0) + mob_id = mobdb_searchname(mob_name); + if(mob_id > 0 && mobdb_checkid(mob_id) == 0){ + snprintf(atcmd_output, sizeof atcmd_output, "Invalid mob id %s!",mob_name); + clif_displaymessage(fd, atcmd_output); + return 0; + } // Uncomment the following line to show mini-bosses & MVP. //#define SHOW_MVP #ifndef SHOW_MVP - if(mob_db(mob_id)->status.mode&MD_BOSS){ - snprintf(atcmd_output, sizeof atcmd_output, "Can't show Boss mobs!"); - clif_displaymessage(fd, atcmd_output); - return 0; - } + if(mob_db(mob_id)->status.mode&MD_BOSS){ + snprintf(atcmd_output, sizeof atcmd_output, "Can't show Boss mobs!"); + clif_displaymessage(fd, atcmd_output); + return 0; + } #endif - if(mob_id == atoi(mob_name) && mob_db(mob_id)->jname) - strcpy(mob_name,mob_db(mob_id)->jname); // --ja-- -// strcpy(mob_name,mob_db(mob_id)->name); // --en-- + if(mob_id == atoi(mob_name) && mob_db(mob_id)->jname) + strcpy(mob_name,mob_db(mob_id)->jname); // --ja-- + //strcpy(mob_name,mob_db(mob_id)->name); // --en-- - map_id = sd->bl.m; + map_id = sd->bl.m; - snprintf(atcmd_output, sizeof atcmd_output, "Mob Search... %s %s", - mob_name, mapindex_id2name(sd->mapindex)); - clif_displaymessage(fd, atcmd_output); + snprintf(atcmd_output, sizeof atcmd_output, "Mob Search... %s %s", + mob_name, mapindex_id2name(sd->mapindex)); + clif_displaymessage(fd, atcmd_output); - map_foreachinmap(atshowmobs_sub, map_id, BL_MOB, mob_id, fd, sd); + map_foreachinmap(atshowmobs_sub, map_id, BL_MOB, mob_id, sd); - atshowmobs_sub(&sd->bl,0); + atshowmobs_sub(&sd->bl,0); - return 0; + return 0; } /*========================================== |