//=============================================
//= Disguise NPC
//===== By: ==================================================
//= Akinari
//============================================================
aero,189,213,6 script Disguiser 719,{
//Configuration for script
set .@price,50000; //Price for disguising
// set .@maxdisguise,10 //Maximum allowed disguised at a time
if(AgitCheck()) {
mes "King/War of Emperium is currently active. You can't be disguised at this time.";
close;
}
//Checks for an already disguised character
while(.@i < .num) {
if(.curdisguised[.@i] == getcharid(3)){
mes "You've already been disguised, Bro! Want me to switch you back?";
if(select("Sounds Awesome!","No Way!") == 1) {
undisguise;
deletearray .curdisguised[.@i],1;
.num--;
mes "Dum ~ Dee ~ Dum Dum DUM!! DONE!";
}
close;
}
.@i++;
}
mes "Yo bud! I'm gonna make you look like a beast!";
next;
mes "Want me to give you a lovely new face? This process has a ^0000FF"+.@price+" Zeny^000000 fee.";
if(select("Absolutely!","No thank you.") == 1){
if(Zeny < .@price){
mes "Tsk tsk tsk... Them pockets ain't got enough loot in them. Come back with the ^0000FF"+.@price+" Zeny^000000 I asked for.";
close;
}
input .@pdisguise;
//Monster validity check
if(!getmobdrops(.@pdisguise)){
mes "WHOA WHOA WHOA!! Hold on a second there! That's not a real monster.";
next;
mes "Give me something I can at least work with!";
close;
}
disguise .@pdisguise;
setarray .curdisguised[.num],getcharid(3);
.num++;
set Zeny,Zeny - .@price;
mes "All done!";
close;
}
mes "You know where I'll be Sweet Cheeks!";
close;
//Remove all disguises for WoE
OnAgitStart:
while(.@i < .num){
attachrid .curdisguised[.@i];
undisguise;
detachrid;
.@i++;
}
deletearray .curdisguised[0],127;
set .num,0;
end;
//Remove player from disguise array on logout
OnPCLogoutEvent:
while(.@i < .num){
if(.curdisguised[.@i] == getcharid(3)) {
deletearray .curdisguised[.@i],1;
.num--;
}
.@i++;
}
end;
}