//===== Athena Script ========================================
//= Disguise Event NPC
//===== By: ==================================================
//= Masao
//===== Current Version: =====================================
//= 2.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
//= Disguise Event
//===== Additional Comments: =================================
//= Version 1.0 if there are any Bugs please let me know.
//= Version 2.0 Added multiple Rounds, better functionality
//= and check if already someone won the Round.
//============================================================
quiz_02,0,0,0 script DisguiseAnnouncer -1,{
OnClock0300:
OnClock0700:
OnClock1100:
OnClock1500:
OnClock1900:
OnClock2300:
set $@Monster,1000+rand(1,323);
set $MonsterName$,getmonsterinfo($@Monster,0);
set $@startdisguise,1;
setnpcdisplay "Disguise Event",795;
announce "The [Disguise Event] is starting now!",0;
end;
}
quiz_02,305,245,4 script Disguise Event 795,{
set .@npcname$,"[^0000FFDisguise NPC^000000]";
if (getgmlevel() >= 60) goto LDisguiseAdmin;
if ($@startdisguise==1) goto LDisguise;
mes .@npcname$;
mes "Hi, how can i help you?";
next;
menu "How does it work?",-,"Cancel.",LCancel;
mes .@npcname$;
mes "This is an very easy Event.";
mes "At the beginning of the Event i will disguise myself into a randomly chosen Monster.";
mes "After i've done that, you've to put the correct Name into the Box.";
next;
mes "If the name was correct, you win a Prize! if it was wrong, just try again ;)";
mes "And that's it! Good luck.";
close;
LCancel:
close;
LDisguiseAdmin:
mes .@npcname$;
mes "^FF0000~Hi GM "+strcharinfo(0)+", what can i do for you?~^000000";
switch(select("Start Event:End Event:Check Prize:Set Prizes:Rounds:Nothing")) {
case 1:
next;
mes .@npcname$;
mes "Would you like to start the Event now?";
switch(select("Yes:No")) {
case 1:
next;
set $@Monster,1000+rand(1,323);
set $MonsterName$,getmonsterinfo($@Monster,0);
set $@startdisguise,1;
setnpcdisplay "Disguise Event",795;
announce "The [Disguise Event] starts now in Comodo!",0;
close;
case 2:
next;
mes .@npcname$;
mes "Ok, bye.";
close;
}
case 2:
next;
mes .@npcname$;
mes "Would you like to End the Event now?";
switch(select("Yes:No")) {
case 1:
next;
set $@Monster,0;
set $@Round,0;
set $@startdisguise,0;
setnpcdisplay "Disguise Event",795;
announce "The [Disguise Event] has been ended by an GM! There will be no prizes!",0;
close;
case 2:
next;
mes .@npcname$;
mes "Ok, bye.";
close;
}
case 3:
next;
mes .@npcname$;
mes "^FF0000~The current winning Prize is ^000000 ^008000"+$prize_item_amount+" "+getitemname($prize_item_id)+".^000000";
next;
goto LDisguiseAdmin;
case 4:
next;
mes .@npcname$;
mes "^FF0000~What should the Prize be? Please insert the Item ID.~^000000";
input $prize_item_id;
next;
mes .@npcname$;
mes "^FF0000~Now the amount?~^000000";
input $prize_item_amount;
next;
mes .@npcname$;
mes "^FF0000~So, the Prize is^000000 ^008000"+$prize_item_amount+" "+getitemname($prize_item_id)+"^000000? ^FF0000Great.~^000000";
emotion 33;
next;
goto LDisguiseAdmin;
case 5:
next;
mes .@npcname$;
mes "Here you can set how many Rounds will be played each time the Event Starts";
input $Rounds;
next;
mes "^FF0000~So, there will be ^FF0000"+$Rounds+" Rounds played.^000000";
next;
goto LDisguiseAdmin;
case 6:
next;
mes .@npcname$;
mes "Ok, bye.";
close;
}
LDisguise:
mes .@npcname$;
mes "Insert the correct Monstername ;)";
input $@MonsterInput$;
if ($@disguisewin==1) {
mes "Someone already won this Round!!";
close;
}
if($@MonsterInput$==$MonsterName$) goto LCorrect;
if($@MonsterInput$!=$MonsterName$) goto LCancel;
close;
LCorrect:
announce ""+strcharinfo(0)+" won! I was disguised as: "+$MonsterName$+"",0;
getitem $prize_item_id,$prize_item_amount;
set $@Round,$@Round+1;
set $@disguisewin,1;
if ($@Round!=$Rounds) goto LRound;
if ($@Round==$Rounds) goto LGameover;
set $@startdisguise,0;
setnpcdisplay "Disguise Event",795;
close;
LRound:
set $@Monster,1000+rand(1,323);
set $MonsterName$,getmonsterinfo($@Monster,0);
set $@disguisewin,0;
setnpcdisplay "Disguise Event",$@Monster;
close;
LGameover:
set $@Round,0;
set $@startdisguise,0;
set $@disguisewin,0;
setnpcdisplay "Disguise Event",795;
npctalk "Thank you all for playing. That was the last round of the Disguise Event. See you next time.";
close;
}