瀏覽代碼

Fixed @showmobs not working due to a mistake in r12436 (bugreport:1487)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12699 54d463be-8e91-2dee-dedb-b68131a5f0ec
ultramage 17 年之前
父節點
當前提交
47cb29c556
共有 2 個文件被更改,包括 48 次插入44 次删除
  1. 2 0
      Changelog-Trunk.txt
  2. 46 44
      src/map/atcommand.c

+ 2 - 0
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.
 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.
 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
 2008/05/09
 	* Added correct extended info packets for items that are being moved
 	* Added correct extended info packets for items that are being moved
 	  into storage or cart. This caused items to visually lose their
 	  into storage or cart. This caused items to visually lose their

+ 46 - 44
src/map/atcommand.c

@@ -6990,76 +6990,78 @@ int atshowmobs_timer(int tid, unsigned int tick, int id, intptr data)
 	if( sd == NULL )
 	if( sd == NULL )
 		return 0;
 		return 0;
 
 
+	// remove indicator
 	clif_viewpoint(sd, 1, 2, 0, 0, (int)data, 0xFFFFFF);
 	clif_viewpoint(sd, 1, 2, 0, 0, (int)data, 0xFFFFFF);
 	return 1;
 	return 1;
 }
 }
+
 static int atshowmobs_sub(struct block_list *bl,va_list ap)
 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)
 	if(md->special_state.ai || md->master_id)
 		 return 0; //Hide slaves and player summoned mobs. [Skotlex]
 		 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)
 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.
 // Uncomment the following line to show mini-bosses & MVP.
 //#define SHOW_MVP
 //#define SHOW_MVP
 #ifndef 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
 #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;
 }
 }
 
 
 /*==========================================
 /*==========================================