Here is some help,
Create an event NPC where you manage your normal monsters (sample below).
Attach OnMobDead event on every minion and after minions have been killed activate boss event NPC.
prt_are01,0,0,-1 script SummonMinions#1_1 -1,{
end;
OnInit: // disable NPC on normal map
disablenpc strnpcinfo(0);
end;
OnDisable: // Disable this NPC
disablenpc instance_npcname(strnpcinfo(0));
end;
OnEnable:
enablenpc instance_npcname(strnpcinfo(0));
.@map$ = instance_mapname("prt_are01");
.@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDead";
// Monsters
areamonster .@map$,131,168,144,155,"Marin",1242,5,.@label$; //top-left
areamonster .@map$,155,167,168,155,"Metaling",1613,5,.@label$; //top-right
areamonster .@map$,144,155,144,131,"Poporing",1031,5,.@label$; //bottom-left
areamonster .@map$,155,144,168,131,"Drops",1113,5,.@label$; //bottom-right
end;
OnMobDead:
if (mobcount(instance_mapname("prt_are01"), instance_npcname(strnpcinfo(0))+"::OnMobDead") < 1) {
mapannounce instance_mapname("prt_are01"),"Boss incomming!",bc_map,"0xFD3B02";
donpcevent instance_npcname("SummonBoss#1_1")+"::OnEnable";
disablenpc instance_npcname(strnpcinfo(0)); //Disable this NPC.
}
end;
}
Create an event NPC for the boss monster (Sample below).
prt_are01,150,150,-1 script SummonBoss#1_1 -1,{
end;
OnInit: // Disable NPC on normal map
disablenpc strnpcinfo(0);
end;
OnEnable:
enablenpc instance_npcname(strnpcinfo(0));
.@map$ = instance_mapname("prt_are01");
.@label$ = instance_npcname(strnpcinfo(0))+"::OnBossDead";
// Monsters
monster .@map$,150,150,"The Boss",1090,1,.@label$;
end;
OnDisable: // Disable this NPC
disablenpc instance_npcname(strnpcinfo(0));
end;
OnBossDead:
//specialeffect2 EF_MVP; //This effect will be triggered on the player who dealt the killing blow.
mapannounce instance_mapname("prt_are01"),"Boss is dead!",bc_map,"0xFD3B02";
killmonster instance_mapname("prt_are01"),instance_npcname(strnpcinfo(0))+"::OnBossDead"; //Clean up
// Enable portal npc at the center of the room.
donpcevent instance_npcname("#PortalOut")+"::OnEnable";
// Disable this NPC
//donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
disablenpc instance_npcname(strnpcinfo(0));
end;
}
After boss dies you activate portal event NPC (Sample below).
prt_are01,150,150,0 script #PortalOut WARPNPC,2,2,{
end;
OnInit: // Disable NPC on normal map
disablenpc strnpcinfo(0);
end;
OnInstanceInit: // Disable NPC on instance init
disablenpc instance_npcname(strnpcinfo(0));
end;
OnEnable:
mapannounce instance_mapname("prt_are01"),"[Portal] The portal to out side will be opening at the center of the room.",bc_map,"0x7799ff";
initnpctimer; // Activate portal after 10 seconds
end;
OnDisable:
stopnpctimer;
disablenpc instance_npcname(strnpcinfo(0));
end;
OnTimer10000:
mapannounce instance_mapname("prt_are01"),"[Portal] The portal to out side is now open.",bc_map,"0x7799ff";
enablenpc instance_npcname(strnpcinfo(0));
stopnpctimer;
end;
OnTouch:
warp "prontera", 156, 167;
end;
}
Repeat this process for each level you wish to create.
Good luck!