need help for this program mobalive @ command does not work on mobs id 3009-3015
int atcommand_mobalive(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
char mob_name[100];
int mob_id;
int number = 0;
struct s_mapiterator* it;
nullpo_retr(-1, sd);
if (!message || !*message || sscanf(message, "%99[^\n]", mob_name) < 1)
{
clif_displaymessage(fd, "Por favor, digite o nome ou id do monstro (use: @mobalive <nome ou ID>).");
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, "Monstro inexistente %s!",mob_name);
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, "Procurando pelo monstro %s em %s ", mob_name, mapindex_id2name(sd->mapindex));
clif_displaymessage(fd, atcmd_output);
it = mapit_geteachmob();
while( true )
{
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 )
snprintf(atcmd_output, sizeof(atcmd_output), "%2d[%s] %s", number, "Vivo", md->name);
else
snprintf(atcmd_output, sizeof(atcmd_output), "%2d[%s] %s", number, "Morto", md->name);
clif_displaymessage(fd, atcmd_output);
}
mapit_free(it);
return 0;
}
Close