Originally posted by [b]Nezd[/b]
Big apologize, all working normal, it's my mistake. I use edit mob.c. Sorry.
But i can tell my problem
I duplicate src part and make some custom:
[CODEBOX]if(mvp_sd && md->db->mexp <= 999 && !md->special_state.ai)
{
int log_mvp[2] = {0};
int j;
unsigned int mexp;
struct item item;
double exp;
//mapflag: noexp check [Lorky]
if (map[m].flag.nobaseexp || type&2)
exp =1;
else {
exp = md->db->mexp;
if (count > 1)
exp += exp*(battle_config.exp_bonus_attacker*(count-1))/100.; //[Gengar]
}
mexp = (unsigned int)cap_value(exp, 1, UINT_MAX);
clif_mvp_effect(mvp_sd);
clif_mvp_exp(mvp_sd,mexp);
pc_gainexp(mvp_sd, &md->bl, mexp,0, false);
log_mvp[1] = mexp;
if(map[m].flag.nomvploot || type&1)
; //No drops.
else
for(j=0;j<3;j++)
{
i = rand() % 3;
if(md->db->mvpitem[i].nameid <= 0)
continue;
if(!itemdb_exists(md->db->mvpitem[i].nameid))
continue;
temp = md->db->mvpitem[i].p;
if(temp <= 0 && !battle_config.drop_rate0item)
temp = 1;
if(temp <= rand()%10000+1) //if ==0, then it doesn't drop
continue;
memset(&item,0,sizeof(item));
item.nameid=md->db->mvpitem[i].nameid;
item.identify= itemdb_isidentified(item.nameid);
clif_mvp_item(mvp_sd,item.nameid);
log_mvp[0] = item.nameid;
//A Rare MVP Drop Global Announce by Lupus
if(temp<=battle_config.rare_drop_announce) {
struct item_data *i_data;
char message[128];
i_data = itemdb_exists(item.nameid);
sprintf (message, msg_txt(541), mvp_sd->status.name, md->name, i_data->jname, temp/100.);
//MSG: "'%s' won %s's %s (chance: %0.02f%%)"
intif_broadcast(message,strlen(message)+1,0);
}
if((temp = pc_additem(mvp_sd,&item,1)) != 0) {
clif_additem(mvp_sd,0,0,temp);
map_addflooritem(&item,1,mvp_sd->bl.m,mvp_sd->bl.x,mvp_sd->bl.y,mvp_sd->status.char_id,(second_sd?second_sd->status.char_id:0),(third_sd?third_sd->status.char_id:0),1);
}
//Logs items, MVP prizes [Lupus]
log_pick(&md->bl, LOG_TYPE_PICKDROP_MONSTER, item.nameid, -1, NULL);
if (!temp)
log_pick(&mvp_sd->bl, LOG_TYPE_PICKDROP_PLAYER, item.nameid, 1, NULL);
break;
}
log_mvpdrop(mvp_sd, md->class_, log_mvp);
}
if(mvp_sd && md->db->mexp >= 1000 && !md->special_state.ai)
{
int log_mvp[2] = {0};
int j;
unsigned int mexp;
struct item item;
double exp;
//mapflag: noexp check [Lorky]
if (map[m].flag.nobaseexp || type&2)
exp =1;
else {
exp = md->db->mexp;
if (count > 1)
exp += exp*(battle_config.exp_bonus_attacker*(count-1))/100.; //[Gengar]
}
mexp = (unsigned int)cap_value(exp, 1, UINT_MAX);
clif_boss_effect(mvp_sd);
clif_soundeffectall(&sd->bl, "youkillboss.wav", 0, AREA);
clif_mvp_exp(mvp_sd,mexp);
pc_gainexp(mvp_sd, &md->bl, mexp,0, false);
log_mvp[1] = mexp;
if(map[m].flag.nomvploot || type&1)
; //No drops.
else
for(j=0;j<3;j++)
{
i = rand() % 3;
if(md->db->mvpitem[i].nameid <= 0)
continue;
if(!itemdb_exists(md->db->mvpitem[i].nameid))
continue;
temp = md->db->mvpitem[i].p;
if(temp <= 0 && !battle_config.drop_rate0item)
temp = 1;
if(temp <= rand()%10000+1) //if ==0, then it doesn't drop
continue;
memset(&item,0,sizeof(item));
item.nameid=md->db->mvpitem[i].nameid;
item.identify= itemdb_isidentified(item.nameid);
clif_mvp_item(mvp_sd,item.nameid);
log_mvp[0] = item.nameid;
//A Rare MVP Drop Global Announce by Lupus
if(temp<=battle_config.rare_drop_announce) {
struct item_data *i_data;
char message[128];
i_data = itemdb_exists(item.nameid);
sprintf (message, msg_txt(541), mvp_sd->status.name, md->name, i_data->jname, temp/100.);
//MSG: "'%s' won %s's %s (chance: %0.02f%%)"
intif_broadcast(message,strlen(message)+1,0);
}
if((temp = pc_additem(mvp_sd,&item,1)) != 0) {
clif_additem(mvp_sd,0,0,temp);
map_addflooritem(&item,1,mvp_sd->bl.m,mvp_sd->bl.x,mvp_sd->bl.y,mvp_sd->status.char_id,(second_sd?second_sd->status.char_id:0),(third_sd?third_sd->status.char_id:0),1);
}
//Logs items, MVP prizes [Lupus]
log_pick(&md->bl, LOG_TYPE_PICKDROP_MONSTER, item.nameid, -1, NULL);
if (!temp)
log_pick(&mvp_sd->bl, LOG_TYPE_PICKDROP_PLAYER, item.nameid, 1, NULL);
break;
}
log_mvpdrop(mvp_sd, md->class_, log_mvp);
}
[/CODEBOX]
as you can see my crash comes from this part:
[CODE]
clif_soundeffectall(&sd->bl, "youkillboss.wav", 0, AREA);
[/CODE]
if i dont use this sound, all OK.
If use ->>>> crash.
Soo... sorry for crap issue. If somebody can help fix this i thanks 100500 times.