try full code (i tested with 5 round and it work )
//===== 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 1.2 Added Check if someone already guessed the Monster Name.
//= Version 1.5 Fixed so the NPC will display it's originial View ID when the Event ends.
//= Version 2.0 Changed some Global / Temporary Variables into NPC Variables.
//============================================================
- script DisguiseAnnouncer -1,{
OnClock0300:
OnClock0700:
OnClock1100:
OnClock1500:
OnClock1900:
OnClock2300:
donpcevent "Disguise Event::OnStart";
announce "The [Disguise Event] starts now!",0;
end;
}
quiz_02,305,245,4 script Disguise Event 795,{
set .@n$,"[^0000FFDisguise NPC^000000]";
if (getgmlevel() >= 60) goto L_DisguiseAdmin;
if ($startdisguise==1) goto L_Disguise;
mes .@n$;
mes "Hi, how can i help you?";
next;
menu "How does it work?",-,"Cancel.",L_Cancel;
mes .@n$;
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;
L_DisguiseAdmin:
mes .@n$;
mes "^FF0000~Hi "+strcharinfo(0)+", what can i do for you?~^000000";
switch(select("Start Event:End Event:Check Prize:Set Prizes:Rounds:Nothing:Player Menu")) {
case 1:
next;
mes .@n$;
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 .Round,0;
set .disguisewin,0;
set $startdisguise,1;
setnpcdisplay "Disguise Event",.Monster;
announce "The [Disguise Event] starts now!",0;
close;
case 2:
next;
mes .@n$;
mes "Ok, bye.";
close;
}
case 2:
next;
mes .@n$;
mes "Would you like to End the Event now?";
switch(select("Yes:No")) {
case 1:
next;
set .Monster,0;
set .MonsterName$,"";
set .Round,0;
set .disguisewin,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 .@n$;
mes "Ok, bye.";
close;
}
case 3:
next;
mes .@n$;
mes "^FF0000~The current winning Prize is ^000000 ^008000"+$prize_item_amount+" "+getitemname($prize_item_id)+".^000000";
next;
goto L_DisguiseAdmin;
case 4:
next;
mes .@n$;
mes "^FF0000~What should the Prize be? Please insert the Item ID.~^000000";
input $prize_item_id;
next;
mes .@n$;
mes "^FF0000~Now the amount?~^000000";
input $prize_item_amount;
next;
mes .@n$;
mes "^FF0000~So, the Prize is^000000 ^008000"+$prize_item_amount+" "+getitemname($prize_item_id)+"^000000? ^FF0000Great.~^000000";
emotion 33;
next;
goto L_DisguiseAdmin;
case 5:
next;
mes .@n$;
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 L_DisguiseAdmin;
case 6:
next;
mes .@n$;
mes "Ok, bye.";
close;
case 7:
next;
goto L_Disguise;
}
OnStart:
set .Monster,1000+rand(1,323);
set .MonsterName$,getmonsterinfo(.Monster,0);
set .Round,0;
set .disguisewin,0;
set $startdisguise,1;
setnpcdisplay "Disguise Event",.Monster;
end;
L_Disguise:
if(gettimetick(2) < .Disguise_Delay)
{
mes .@n$;
mes "Please wait for next round";
close;
}
mes .@n$;
mes "Insert the correct Monstername!";
input .@MonsterInput$;
if (.disguisewin == 1) {
mes "Someone already won this Round!!";
close;
}
if(.@MonsterInput$==.MonsterName$) goto L_Correct;
if(.@MonsterInput$!=.MonsterName$) goto L_Cancel;
L_Correct:
set .disguisewin,1;
mapannounce "quiz_02",""+strcharinfo(0)+" won! I was disguised as: "+.MonsterName$+"",0;
getitem $prize_item_id,$prize_item_amount;
set .Round,.Round+1;
if (.Round<$Rounds) goto L_Round;
set $startdisguise,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;
L_Round:
close2;
set .Disguise_Delay,gettimetick(2)+5;
sleep2 5000;
set .Monster,1000+rand(1,323);
set .MonsterName$,getmonsterinfo(.Monster,0);
set .disguisewin,0;
setnpcdisplay "Disguise Event",.Monster;
close;
L_Cancel:
close;
}