There is already a NPC after killing all Mobs and Nacht Sieger,if you check the Endless Tower Script :
6@tower,169,127,2 script Lost Soul#102 796,{
if (checkweight(1201,1) == 0) {
mes "You're carrying too much stuff. Why don't you put some of it away, and then come back?";
close;
}
mes "[Lost Souls]";
mes "It's you that have liberated us from the evil Nacht Sieger.";
next;
mes "[Lost Souls]";
mes "Thank you so much. Now we can escape from this cold and dark place... to heaven.";
next;
if ((countitem(13412) > 0) && (countitem(13413) > 0)) {
mes "[Lost Souls]";
mes "Hey, you have the remnants of Nacht Sieger with you.";
next;
mes "[Lost Souls]";
mes "They may appear to be one-handed swords, but I can put them together to make a two-handed one if you want. That's the only way I can repay you for freeing me.";
next;
switch(select("Make a Two-Handed Sword.:No, thanks.")) {
case 1:
mes "[Lost Souls]";
mes "Good, then I'll combine these to create a two-handed sword.";
next;
delitem 13412,1; //Twin_Edge_B
delitem 13413,1; //Twin_Edge_R
getitem 1185,1; //Violet_Fear
set nachtsieger,1; // I ADDED THIS NOW,YOU'LL SEE WHAT I DO WITH THIS
mes "[Lost Souls]";
mes "I'd like to talk to you more, but I've... I've got to go now.";
next;
break;
case 2:
mes "[Lost Souls]";
mes "I see. I guess you aren't as greedy or ambitious as those other adventurers.";
next;
mes "[Lost Souls]";
mes "I'd like to talk to you more, but I've... I've got to go now.";
next;
break;
}
}
mes "[Lost Souls]";
mes "Farewell, young adventurer. I wish you good luck.";
close2;
warp "alberta",223,36;
end;
OnInstanceInit:
disablenpc instance_npcname("Lost Soul#102", instance_id());
end;
OnEnable:
initnpctimer;
enablenpc instance_npcname("Lost Soul#102", instance_id());
donpcevent instance_npcname("#Effect30", instance_id())+"::OnEnable";
//SetItemPartyInMap in_102floor 104
end;
OnTimer500:
instance_announce 0,"This... This can't be happening! I can't be defeated!",bc_map,"0xffff00";
end;
OnTimer5500:
instance_announce 0,"Nooo! My soul... My shell...! Nooo~!",bc_map,"0xffff00";
end;
OnTimer10500:
instance_announce 0,"Nacht Sieger's body has turned into dark ashes that scattered in the wind.",bc_map,"0x00ffcc";
stopnpctimer;
end;
}
6@tower,169,127,2 script #Effect30 844,{
end;
OnInstanceInit:
disablenpc instance_npcname("#Effect30", instance_id());
end;
OnEnable:
specialeffect EF_CONE;
initnpctimer;
end;
OnTimer1000:
stopnpctimer;
donpcevent instance_npcname("#Effect31", instance_id())+"::OnEnable";
end;
}
6@tower,169,127,2 script #Effect31 844,{
end;
OnInstanceInit:
disablenpc instance_npcname("#Effect31", instance_id());
end;
OnEnable:
specialeffect EF_CONE;
initnpctimer;
end;
OnTimer1000:
stopnpctimer;
donpcevent instance_npcname("#Effect30", instance_id())+"::OnEnable";
end;
}
So you could add an NPC right next to him
6@tower,166,127,2 script Lost Man#102 796,{
set .@n$,"^0000FF[ Lost Man ]^000000";
if(gotitems==1) {
mes .@n$;
mes "Thank you for saving us!";
close;
}
if(nachtsieger==1) {
mes .@n$;
mes "Thank you,you saved us!":
getitem XXXX,XX;
set gotitems,1;
close;
} else {
mes .@n$;
mes "...Talk to the Lost Soul first!";
close;
}
}
This is just an really easy example.