ACMD_FUNC(mobsearch)
{
char mob_name[100];
int mob_id;
int number = 0;
struct s_mapiterator* it;
nullpo_retr(-1, sd);
if (!message || !*message || sscanf(message, "[^\n]", mob_name) < 1) {
clif_displaymessage(fd, msg_txt(sd,1218)); // Please enter a monster name (usage: @mobsearch <monster name>).
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, msg_txt(sd,1219),mob_name); // Invalid mob ID %s!
clif_displaymessage(fd, atcmd_output);
return -1;
}
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--
snprintf(atcmd_output, sizeof atcmd_output, msg_txt(sd,1220), mob_name, mapindex_id2name(sd->mapindex)); // Mob Search... %s %s
clif_displaymessage(fd, atcmd_output);
it = mapit_geteachmob();
for(;
{
TBL_MOB* md = (TBL_MOB*)mapit_next(it);
if( md == NULL )
break;// no more mobs
if( md->bl.m != sd->bl.m )
continue;
if( mob_id != -1 && md->class_ != mob_id )
continue;
++number;
if( md->spawn_timer == INVALID_TIMER )
+ if (pc_get_group_level(sd) < 99)
+ snprintf(atcmd_output, sizeof(atcmd_output), "2d[%s] %s", number, "alive", md->name);
+ else
snprintf(atcmd_output, sizeof(atcmd_output), "2d[%3d:%3d] %s", number, md->bl.x, md->bl.y, md->name);
else
snprintf(atcmd_output, sizeof(atcmd_output), "2d[%s] %s", number, "dead", md->name);
clif_displaymessage(fd, atcmd_output);
}
mapit_free(it);
return 0;
}
With this modification only 99 Gms can see mob coordinates