//==============================================================================// //--- Created by GmOcean -------------------------------------------------------// //--- You may modify this script at your own risk. However any modifications ---// //--- To this script are made at your own discretion and I will not provide ----// //--- any support to modified scripts. You Also are forbidden to release the ---// //--- modified script as your own. You can however post suggestions and I will -// //--- Take them into consideration. You may also post the modified script up ---// //--- In the Script Support section, as long as I am given Credit as the -------// //--- Original Script Creator. Thank You for following these few requests ------// //--- And Enjoy the Script ~! --------------------------------------------------// //-------------------------------- Script Version == v5.0 -------------// //==============================================================================// prontera,160,155,4 script Disguise Event 795,{ //--- Basic Script Configuration Options ---// set .@npcname$,"[^0000FFDisguise NPC^000000]"; //<- NPC Name. set $@GMLevel,60; //<- GM Level needed to be considered a GM. //--- The Script ---// if (getgmlevel()>=$@GMLevel){goto GM_Player;} if ($@EventON){end;} mes .@npcname$; mes "Welcome, how may i be of assistance."; menu "Information",iInfo,"Nothing, just passing through.",iNothing; iInfo: next; mes .@npcname$; mes "This event is actually quite simple"; mes "At the start of the event, I will disguise myself"; mes "into a monster randomly. You will then merely have to shout that monsters name outloud."; next; mes "If you get it correct, you get a prize. If not, then keep trying."; mes "Thatis all there is to know about this event."; close; iNothing: close; GM_Player: mes .@npcname$; mes "Please select an Option to modify."; menu "Turn ON/OFF Event",iEvent,"Event Settings",iSettings; iEvent: next; mes .@npcname$; if ($@EventON){mes "The Event is currently: [^0000FFON^000000]"; mes "Would you like to turn it OFF?";} if (!$@EventON){mes "The Event is currently: [^FF0000OFF^000000]"; mes "Would you like to turn it ON?";} menu "Yes",iYes,"No",iNothing; iYes: if ($@EventON) {set $@EventON,0; set $@Timer,0; setnpctimer 0; stopnpctimer; announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue; deletepset 1; setnpcdisplay "Disguise Event",795; close;} set $@EventON,1; set $@Timer,1; setnpctimer 0; initnpctimer; set $@ResetCounter,$@ResetCounter+1; announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue; announce "The Event is being held in Prontera.",bc_all | bc_blue; close; iSettings: next; mes .@npcname$; mes "Please select a setting to modify."; menu "Monster Display",iMonster,"Number of Rounds",iRounds,"Prize Settings",iPrize; iMonster: callfunc "Monster_Display"; iRounds: callfunc "Rounds"; iPrize: callfunc "Prize"; OnInit: defpattern 1,"([^:]+):.\\s*OMFGBBQLEETSAUCEGMOCEANRULESHAI!!.*", "iCorrect"; activatepset 1; set $@EventON,0; set $@Wait,0; set $@Winner,0; set $Points,$Points; set $@ResetCounter,0; set $Rounds,$Rounds; set $Prize,$Prize; set $PrizeAmt,$PrizeAmt; set $Rule,$Rule; setarray $@MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373, 1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688, 1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131, 2156,2165; setarray $@BlackList[0], 1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168,1171,1172,1173,1181,1210,1217,1218, 1222,1223,1224,1225,1226,1227,1228,1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001, 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,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098, 2099,2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116, 2117,2118; setarray $@BlackList2[0],2119,2120,2121,2123,2124,2125,1496; end; OnClock0000: OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2200: set $@ResetCounter,$@ResetCounter+1; set $@EventON,1; set $@Timer,1; set $@Wait,1; announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue; announce "The Event is being held in Prontera.",bc_all | bc_blue; setnpctimer 0; initnpctimer; end; OnTimer10000: if ($@Timer){end;} if ($@Change){end;} set $@Wait,0; goto iDisguise; //donpcevent "DisguiseEvent::OnDisguise"; end; OnTimer30000: if ($@Timer){end;} set $@Change,0; setnpcdisplay "Disguise Event",795; npctalk "You took too long to guess what i was. Please wait 10 seconds while i disguise again."; specialeffect 725; set $MonsterName$,"OMFGBBQLEETSAUCEGMOCEANRULESHAI!!"; deletepset 1; stopnpctimer; setnpctimer 0; initnpctimer; end; OnTimer60000: if ($@Timer!=1){end;} if ($@Timer==1) {announce "The Disguise Event will begin in 2 minutes.",bc_all | bc_blue; announce "The Event is being held in Prontera.",bc_all | bc_blue; end;} OnTimer120000: if ($@Timer!=1){end;} if ($@Timer==1) {announce "The Disguise Event will begin 1 minute.",bc_all | bc_blue; announce "The Event is being held in Prontera.",bc_all | bc_blue; end;} OnTimer180000: if ($@Timer!=1){end;} if ($@Timer==1) {announce "The Disguise Event has begun!",bc_all | bc_blue; announce "The Event is being held in Prontera.",bc_all | bc_blue; set $@Timer,0; stopnpctimer; setnpctimer 0; initnpctimer; goto iDisguise; //donpcevent "DisguiseEvent::OnDisguise"; end;} announce "Something went wrong with the Disguise Event.",bc_all | bc_blue; announce "Please notify a GM ASAP. Thank you.",bc_all | bc_blue; end; iDisguise: if ($Rule==1) {set $@Winner,0; set $@Monster,1000+rand(1,995); for(set .@BL,0; .@BL=$Rounds) {setnpcdisplay "Disguise Event",795; set $@RoundCount,0; set $@Change,0; set $@EventON,0; setnpctimer 0; stopnpctimer; npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later."; end;} setnpcdisplay "Disguise Event",795; set $@Change,0; setnpctimer 0; end; iFailCheater: end; } //--- The Functions ---// function script Rounds { next; mes "Please Input the number of rounds you want the event to last."; mes "Current Number of Rounds: [^0000FF"+$Rounds+"^000000]"; input .@Rounds; set $Rounds,.@Rounds; next; mes "The number of rounds has been changed successfully."; mes "Number of Rounds: [^0000FF"+$Rounds+"^000000]"; mes "Come again."; close; } function script Prize { next; mes "Please Input the ItemID of the prize that will be given each round."; mes "Current Items is: [^0000FF"+getitemname($Prize)+"^000000] ItemID - ^0000FF"+$Prize+"^000000"; input .@Prize; if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") {next; mes "That item does not exist. Please try again."; close;} set $Prize,.@Prize; next; mes "Please Input the Ammount that is to be given."; input .@Ammount; if (.@Ammount<=0 || .@Ammount>=10000) {next; mes "That ammount is invalid. Using default ammount of 1.";} set $PrizeAmt,.@Ammount; next; mes "The Prize has been changed successfully."; mes "Prize: [^0000FF"+getitemname($Prize)+"^000000]x(^0000FF"+$PrizeAmt+"^000000)"; close; } function script Monster_Display { setarray .@Rule[0],0,1,2; setarray .@Desc$[0],"","Transform as all monsters.","Transform as MvP's only."; next; mes "Please select a Disguise Rule."; mes "Rule 1 - Transform as all monsters."; mes "Rule 2 - Transform as MvP's only."; menu "Rule 1:Rule 2",iRule; iRule: set $Rule,.@Rule[@menu]; next; mes "The Disguise Rule, has been changed successfully."; mes "Current Rule: ^0000FF"+$Rule+"^000000 - ^0000FF"+.@Desc$[@menu]+"^000000"; close; }