/*//----------------------------------------------------------------////----------------Scripted by Spera---------------------------------////------------------FinalStrikeRO-----------------------------------////--------------------Disguise Event NPC v2-------------------------///-------------------------------------------------------------------//*/gonryun,172,132,5 script Disguise CP 738,{if(getgmlevel()<20){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_w01,97,93,4 script Disguise NPC 795,{if(!$guessbegin){mes"^3399FF[Disguise NPC]^000000";mes"The event is going to start soon!";close;}end;OnInit: .sec_per_msg=6;setarray .message$,"Alright. Let's start this game!","But first I will explain the rules.","I am going to disguise into a random monster.","You have to guess the monster's name and shout it out.","In order to win the round, you have to type the correct answer FAST!","If you win, the prize will have been given to your inventory right away.","Don't bother about the use of capital and small initial letters. And you don't need to make a pub!","Now get ready!";set .message_size,getarraysize( .message$ );getmapxy( .npc_map$,.npc_x,.npc_y,1);end;OnStart:set $guessbegin, 1;set .DisguiseWon, 0;set .winner_name_lis$,"";if(!$DisguiseRound){for(set .@i,0; .@i < .message_size; set .@i,.@i +1){npctalk""+.message$[.@i];mapannounce .npc_map$,""+.message$[.@i],bc_map;sleep( .sec_per_msg*1000);}}elseif($DisguiseRound < $guessrounds-1){npctalk"Get ready for the next round!";mapannounce .npc_map$,"Get ready for the next round!",bc_map;setnpctimer0;sleep10000;}else{npctalk"Last round now!";mapannounce .npc_map$,"Last round now!",bc_map;sleep3000;npctalk"Get ready!";sleep10000;}sleep2000;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?";mapannounce .npc_map$,"What's my name?",bc_map;sleep3000;npcwalkto97,106;sleep2000;npcwalkto97,100;end; OnTimer5000:if(!.DisguiseWon){sleep3000;npcwalkto97,106;sleep2000;npcwalkto97,100;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}}end; OnTimer15000:if(!.DisguiseWon){sleep3000;npcwalkto97,106;sleep2000;npcwalkto97,100;}end; OnTimer25000:if(!.DisguiseWon){mapannounce .npc_map$,"You got 10 more seconds to guess my name",bc_map;npctalk"You got 10 more seconds to guess my name.";sleep3000;npcwalkto97,106;sleep2000;npcwalkto97,100;}end; OnTimer35000:if(!.DisguiseWon){npctalk"Round is over.";mapannounce .npc_map$,"Round is over",bc_map;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}set $DisguiseRound, $DisguiseRound +1;deletepset1;sleep3000;npctalk $MonsterName$ +" would have been the correct answer.";mapannounce .npc_map$,$MonsterName$ +" would have been the correct answer.",bc_map;sleep10000;if($DisguiseRound >= $guessrounds){set $DisguiseRound, 0;sleep3000;announce"The Disguise Event is over now! Thanks for participating!",bc_all;npctalk"The Disguise Event is over now! Thanks for participating!";sleep10000;mapannounce .npc_map$,"You will now be transported back to Prontera. See ya!",bc_map;npctalk"You will now be transported back to Prontera. See ya!";sleep3000;emotion12;sleep10000;set $guessactive, 0;mapwarp"poring_w01.gat","prontera.gat",156,181;setnpcdisplay"Disguise NPC",933;disablenpc"Disguise NPC";end;}goto OnStart;}end; winround:setnpctimer0;deletepset1;set .DisguiseWon, 1;set $DisguiseRound, $DisguiseRound +1;if(!compare(","+.winner_name_lis$+",",","+strcharinfo(0)+",")){if( .winner_name_lis$ =="")set .winner_name_lis$,strcharinfo(0);elseset .winner_name_lis$,.winner_name_lis$ +","+strcharinfo(0);}mapannounce .npc_map$,strcharinfo(0)+" got my name right! x30 SPECs rewarded!",bc_map;npctalkstrcharinfo(0)+" got my right name! x30 SPECs rewarded!";getitem $guessprize, $guessprizecount;sleep28000;npctalk $MonsterName$ +" is the correct answer.";if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}if($DisguiseRound >= $guessrounds){set $DisguiseRound, 0;set $guessactive, 0;sleep3000;announce"The Disguise Event is over now! Thanks for participating!",bc_all;npctalk"The Disguise Event is over now! Thanks for participating!";sleep10000;mapannounce .npc_map$,"You will now be transported back to Prontera. See ya!",bc_map;npctalk"You will now be transported back to Prontera. See ya!";sleep2000;emotion12;sleep10000;mapwarp .npc_map$,"prontera.gat",156,181;setnpcdisplay"Disguise NPC",933;disablenpc"Disguise NPC";end;}sleep5000;goto OnStart;end;}//-----------------------------------------------------------------------------------//------------------------------------------------------------------------------------ script guessAnnouncer -1,{OnGMStart:if($guessactive)end;set $guessactive, 1;announce"It's time for the Disguise Event now!",0;set $guessbegin, 0;sleep10000;if(!$guessactive)end;announce"If you want to join, come to middle Prontera and enter the warp portal.",0;enablenpc"guesswarp";enablenpc"Disguise NPC";sleep10000;announce"Number of Rounds and Winners: "+$guessrounds,0;sleep10000;announce"Prize: "+getitemname($guessprize)+" x "+ $guessprizecount,0;sleep10000;if(!$guessactive){disablenpc"guesswarp"; disablenpc"Disguise NPC"; end;}announce"The portal is going to close in 2 minutes.",0; sleep120000;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_w01")==0){disablenpc"Disguise NPC";set $guessactive, 0;end;}donpcevent"Disguise NPC::OnStart";end;OnGMStop:if($guessactive){set $guessactive, 0;announce"The disguise event has been stopped.",0;set $DisguiseRound, 0;mapwarp"poring_w01.gat","prontera.gat",156,181;setnpcdisplay"Disguise NPC",933;disablenpc"Disguise NPC";disablenpc"guesswarp";}end;OnClock0130:OnClock0530:OnClock0830:OnClock1130:OnClock1530:OnClock1930:OnClock2330:if($guessactive)end;set $guessactive, 1;announce"It's time for the Disguise Event now!",0;set $guessbegin, 0;sleep10000;if(!$guessactive)end;announce"If you want to join, come to Prontera and enter the warp portal.",0;enablenpc"guesswarp";enablenpc"Disguise NPC";sleep10000; Prize:"+ getitemname($guessprize) + " x " + $guessprizecount,0; sleep 10000; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} announce "The portal is going to close in 2 minutes.",0; sleep 120000; if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;} announce "The portal has been closed.",0; disablenpc "guesswarp"; sleep 5000; if (!$guessactive) {disablenpc "Disguise NPC"; end;} announce "Next Disguise Event will start after 4 hours.",0; set $DisguiseRound, 0; if(getmapusers("poring_w01") == 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,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,1948,1892,1949,1950,1983,1984,2010,1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168,1171,1172,1173,1181,1210,1222,1223,1224,1225,1226,1227,1228,1233,1284,1407,1411,1414,1496,1501,1900,1996,2002,2003,2004,2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2084,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,1900,1901,1902,1903,1237,1239,1145,1175,1209,1841,1842,1843,1844,3014,3001,3002,2114,2115,2117,2118,2119,2120,6049,6050,6051,6052,2200,2205,2207;}//-----------------------------------------------------------------------------------//------------------Warp Portal------------------------------------------------------prontera,156,181,0 warp guesswarp 2,2,poring_w01,97,101 //-----------------------------------------------------------------------------------//------------------Map Flags--------------------------------------------------------poring_w01 mapflag nowarptoporing_w01 mapflag noskillporing_w01 mapflag nosaveporing_w01 mapflag nomemoporing_w01 mapflag noteleportporing_w01 mapflag nowarp//-----------------------------------------------------------------------------------