/*//----------------------------------------------------------------////----------------Scripted by Spera---------------------------------////------------------FinalStrikeRO-----------------------------------////--------------------Disguise Event NPC v2-------------------------///-------------------------------------------------------------------//*/yuno_pre,33,95,2 script Disguise CP 968,{if(getgmlevel()<50){mes"^3399FF[Disguise CP]^000000"; mes"Sorry, you are not a GM!";close;}mes"^3399FF[Disguise CP]^000000"; mes"Hello GameMaster!";mes"What do you want to do?";switch(select("Start Event:Stop Event:Set number of rounds[^E50000"+$guessrounds+"^000000]:Set prize^E50000 ["+getitemname($guessprize)+"]^000000 ^E50000 ["+ $guessprizecount +"]^000000:Nothing")){case1:{next;mes"^3399FF[Disguise CP]^000000";mes"Please confirm by typing START."; input .@confirm$; if(.@confirm$ =="START"){donpcevent"guessAnnouncer::OnGMStart"; close;}mes"Confirmation failed";close;break;}case2:{next;mes"^3399FF[Disguise CP]^000000";mes"Please confirm by typing STOP."; input .@confirm$; if(.@confirm$ =="STOP"){donpcevent"guessAnnouncer::OnGMStop";close;}mes"Confirmation failed";close;break;}case3:{next; mes"^3399FF[Disguise CP]^000000";mes"Please type in the new number."; input $guessrounds; if($guessrounds > 30)set $guessrounds, 30;elseif($guessrounds < 1)set $guessrounds, 1;close;}case4:{next; mes"^3399FF[Disguise CP]^000000";mes"Please type in the new prize id."; input .@guessprizeid; if(getitemname(.@guessprizeid)=="null" || getitemname(.@guessprizeid)==""){next; mes"^3399FF[Disguise CP]^000000"; mes"Error"; mes"This item does not exist in the database..."; close;}set $guessprize, .@guessprizeid;next; mes"^3399FF[Disguise CP]^000000";mes"Please type in the amount."; input .@guessprizeamount;if(!.@guessprizeamount)set .@guessprizeamount,1 ;set $guessprizecount,.@guessprizeamount; next; mes"^3399FF[Disguise CP]^000000";mes"Prize has been set to ^E50000 "+getitemname($guessprize)+"^000000 and the amount to ^E50000 "+$guessprizecount+"^000000";close;}case5:{next; mes"^3399FF[Disguise CP]^000000";mes"Good bye"; close;}}}poring_c01,102,99,4 script Disguise NPC 794,{if(!$guessbegin){mes"^3399FF[Disguise NPC]^000000";mes"The event is going to start soon!";close;}end;OnStart:set $guessbegin, 1;set .DisguiseWon, 0;if(!$DisguiseRound){npctalk"Alright. Let's get it over with ~.~ ";sleep4000;npctalk"But first I will explain to you how to play the game.";sleep6000;npctalk"I am going to disguise into a random monster.";sleep5000;npctalk"You have to guess the monster's name and shout it out.";sleep5000;npctalk"Don't bother about the use of capital and small initial letters.";sleep8000;npctalk"Now get ready.";sleep5000;}elseif($DisguiseRound < $guessrounds-1){npctalk"Get ready for the next round.";setnpctimer0;sleep8000;}else{npctalk"Last round now!";sleep2000;npctalk"Get ready.";sleep6000;}do{set .@guessrepeat, 0;set $monster, 1000+rand(1,950);for(set .@k, 0; .@k <getarraysize($Forbidden); set .@k, .@k+1){if($monster == $Forbidden[.@k]){set .@guessrepeat, 1;break;}}}while(.@guessrepeat);setnpctimer0;initnpctimer;setnpcdisplay"Disguise NPC",$monster;set $MonsterName$, strmobinfo(1,$monster);defpattern1, "([^:]+):.*\\s"+$MonsterName$+"(.*)", "winround";activatepset1;npctalk"What's my name?";sleep3000;npcwalkto102,103;sleep2000;npcwalkto102,99;end; OnTimer10000:if(!.DisguiseWon){npctalk"Come on. What monster am I?";sleep3000;npcwalkto102,103;sleep2000;npcwalkto102,99;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}}end; OnTimer25000:if(!.DisguiseWon){npctalk"Nobody knows that monster?";sleep3000;npcwalkto102,103;sleep2000;npcwalkto102,99;}end; OnTimer35000:if(!.DisguiseWon){npctalk"You get 10 more seconds to guess my name.";sleep3000;npcwalkto102,103;sleep2000;npcwalkto102,99;}end; OnTimer45000:if(!.DisguiseWon){npctalk"Round is over.";if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}set $DisguiseRound, $DisguiseRound +1;sleep3000;deletepset1;npctalk $MonsterName$ +" would have been the correct answer.";sleep5000;if($DisguiseRound >= $guessrounds){set $DisguiseRound, 0;sleep3000;npctalk"Event is over now!";sleep3500;npctalk"See ya guys";sleep2000;emotion12;sleep1000;set $guessactive, 0;mapwarp"poring_c01.gat","que_qsch05.gat",252,341;setnpcdisplay"Disguise NPC",794;disablenpc"Disguise NPC";end;}goto OnStart;}end; winround:setnpctimer0;deletepset1;set .DisguiseWon, 1;set $DisguiseRound, $DisguiseRound +1;npctalkstrcharinfo(0)+" got my right name!",0;sleep23000;npctalk $MonsterName$ +" is the correct answer.";sleep23000;npctalk"Take this as a reward.";getitem $guessprize, $guessprizecount;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}if($DisguiseRound >= $guessrounds){set $DisguiseRound, 0;set $guessactive, 0;sleep3000;npctalk"Event is over now!";sleep3500;npctalk"See ya guys";sleep2000;emotion12;sleep1000;mapwarp"poring_c01.gat","que_qsch05.gat",252,341;setnpcdisplay"Disguise NPC",794;disablenpc"Disguise NPC";end;}sleep5000;goto OnStart;end;}//-----------------------------------------------------------------------------------//------------------------------------------------------------------------------------ script guessAnnouncer -1,{OnGMStart:if($guessactive)end;set $guessactive, 1;announce"A Gamemaster has started the Disguise Event",0;set $guessbegin, 0;sleep3000;if(!$guessactive)end;announce"If you want to join, come to the main town, head downwards and enter the warp portal.",0;enablenpc"guesswarp";enablenpc"Disguise NPC";sleep3000;announce"Number of Rounds: "+$guessrounds,0;sleep2000;announce"Prize: "+getitemname($guessprize)+" x "+ $guessprizecount,0;sleep2000;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}announce"The portal is going to close in one minute.",0; sleep60000;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}announce"The portal has been closed.",0;disablenpc"guesswarp";set $DisguiseRound, 0;sleep5000;if(!$guessactive){disablenpc"Disguise NPC"; end;}if(getmapusers("poring_c01")==0){disablenpc"Disguise NPC";set $guessactive, 0;end;}donpcevent"Disguise NPC::OnStart";end;OnGMStop:if($guessactive){set $guessactive, 0;announce"A Gamemaster has stopped the Disguise Event",0;set $DisguiseRound, 0;mapwarp"poring_c01.gat","que_qsch05.gat",252,341;setnpcdisplay"Disguise NPC",794;disablenpc"Disguise NPC";disablenpc"guesswarp";}end;OnClock0200:OnClock0400:OnClock0600:OnClock0800:OnClock1000:OnClock1200:OnClock1400:OnClock1600:OnClock1800:OnClock2000:OnClock2200:OnClock0000:if($guessactive)end;set $guessactive, 1;announce"The server is starting a Disguise Event now.",0;set $guessbegin, 0;sleep3000;if(!$guessactive)end;announce"If you want to join, come to the main town, head downwards and enter the warp portal.",0;enablenpc"guesswarp";enablenpc"Disguise NPC";sleep2000;announce"Prize: "+getitemname($guessprize)+" x "+ $guessprizecount,0;sleep2000;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}announce"The portal is going to close in one minute.",0; sleep60000;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}announce"The portal has been closed.",0;disablenpc"guesswarp";sleep5000;if(!$guessactive){disablenpc"Disguise NPC"; end;}announce"Next Event will start in 2 hours.",0;set $DisguiseRound, 0;if(getmapusers("poring_c01")==0){disablenpc"Disguise NPC";set $guessactive, 0;end;}donpcevent"Disguise NPC::OnStart";end;OnInit:disablenpc"Disguise NPC";disablenpc"guesswarp";set $guessactive, 0;setarray $Forbidden[0],1003,1006,1017,1021,1022,1027,1043,1136,1137,1168,1171,1172,1173,1181,1210,1217,1218,1223,1284,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1407,1411,1414,1496,1501,1900;}//-----------------------------------------------------------------------------------//------------------Warp Portal------------------------------------------------------que_qsch05,253,320,0warp guesswarp 2,2,poring_c01,103,95//-----------------------------------------------------------------------------------//------------------Map Flags--------------------------------------------------------poring_c01 mapflag nowarptoporing_c01 mapflag noskillporing_c01 mapflag nosaveporing_c01 mapflag nomemoporing_c01 mapflag noteleport//-----------------------------------------------------------------------------------