diff options
Diffstat (limited to 'npc/custom/events/disguise.txt')
-rw-r--r-- | npc/custom/events/disguise.txt | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt deleted file mode 100644 index fde5e544a..000000000 --- a/npc/custom/events/disguise.txt +++ /dev/null @@ -1,258 +0,0 @@ -//===== Hercules Script ====================================== -//= Disguise Event -//===== By: ================================================== -//= GmOcean -//===== Current Version: ===================================== -//= 5.1 -//===== Additional Comments: ================================= -//= Note: This script requires PCRE to run properly. -//= 5.0 Last update by GmOcean. -//= 5.1 Cleaned and standardized, mostly. [Euphy] -//= 5.2 Fix a bug that causes this event run indefinitely [AnnieRuru] -//============================================================ - -prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{ - - // Currently set to run every two hours. - // To change times, edit the OnClock labels below. - - set .@GMLevel,60; // GM level required to access NPC. - set .@n$,"[^0000FFDisguise NPC^000000]"; - - if (getgmlevel()>=.@GMLevel) { - mes .@n$; - mes "Select an option."; - next; - switch(select("Turn ON/OFF Event", "Event Settings")) { - case 1: - mes .@n$; - if (.EventON) { - mes "The Event is currently: [^0000FFON^000000]"; - mes "Would you like to turn it OFF?"; - } else { - mes "The Event is currently: [^FF0000OFF^000000]"; - mes "Would you like to turn it ON?"; - } - if(select("Yes", "No")==2) close; - 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", 4_M_NFDEADMAN; - 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; - case 2: - mes .@n$; - mes "Pick a setting to modify."; - next; - switch(select("Monster Display", "Number of Rounds", "Prize Settings")) { - case 1: - setarray .@r$[0],"Disguise as all monsters.","Disguise as MVPs only."; - mes .@n$; - mes "Choose a disguise rule."; - next; - set .Rule, select(implode(.@r$,":")); - mes .@n$; - mes "The Disguise Rule has been set:"; - mes " > ^0055FF"+.@r$[.Rule-1]+"^000000"; - close; - case 2: - mes .@n$; - mes "Input the number of rounds you want the event to last."; - mes "Current number: [^0000FF"+.Rounds+"^000000]"; - next; - input .@Rounds; - set .Rounds,.@Rounds; - mes .@n$; - mes "The number of rounds has been changed to "+.Rounds+"."; - close; - case 3: - mes .@n$; - mes "Input the Item ID of the prize given each round."; - mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")"; - next; - input .@Prize; - mes .@n$; - if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") { - mes "That item does not exist. Please try again."; - close; - } - set .Prize,.@Prize; - mes "Input the amount to be given."; - next; - input .@amount; - mes .@n$; - if (.@amount<=0 || .@amount>=10000) { - mes "That amount is invalid. Using default ammount of 1."; - set .@amount,1; - next; - mes .@n$; - } - set .PrizeAmt,.@amount; - mes "The Prize has been changed successfully."; - mes "Prize: "+.PrizeAmt+"x [^0000FF"+getitemname(.Prize)+"^000000]"; - close; - } - } - } - if (.EventON) end; - mes .@n$; - mes "Welcome."; - mes "How may I be of assistance?"; - if(select("Information", "Nothing, just passing through.")==2) close; - next; - mes .@n$; - mes "This event is quite simple."; - mes "At the start of the event, I will"; - mes "disguise myself as a random"; - mes "monster. You have to shout"; - mes "that monter's name out loud."; - next; - mes "If you are correct, you will receive"; - mes "a prize. If not, keep trying!"; - mes "That's all that there is to this event."; - close; - -OnInit: - set .EventON,0; - set .Wait,0; - set .Winner,0; - set .ResetCounter,0; - set .Rounds,10; - set .Prize,512; - set .PrizeAmt,1; - set .Rule,1; - setarray .MVP[0], OSIRIS, BAPHOMET, DOPPELGANGER, MISTRESS, GOLDEN_BUG, ORK_HERO, DRAKE, EDDGA, MAYA, MOONLIGHT, - PHARAOH, PHREEONI, ORC_LORD, KNIGHT_OF_WINDSTORM, GARM, DARK_LORD, TURTLE_GENERAL, LORD_OF_DEATH, DRACULA, EVENT_BAPHO, - DARK_SNAKE_LORD, INCANTATION_SAMURAI, PORING_V, AMON_RA, TAO_GUNKA, RSX_0806, BACSOJIN_, B_SEYREN, B_EREMES, B_HARWORD, - B_MAGALETA, B_SHECIL, B_KATRINN, B_YGNIZEM, APOCALIPS_H, LADY_TANEE, THANATOS, DETALE, KIEL_, RANDGRIS, - GLOOMUNDERNIGHT, KTULLANUX, ATROCE, G_MAGALETA_, IFRIT, FALLINGBISHOP, BEELZEBUB_, GOPINICH, MOROCC_, KUBLIN, - S_NYDHOG, BOITATA; - if (RENEWAL){ - setarray .MVP[getarraysize(.MVP)], QUEEN_SCARABA, LOST_DRAGON, LEAK, I_QUEEN_SCARABA; - } - set .Blacklist$, "1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168," + - "1171,1172,1173,1181,1187,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,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 || .Change) end; - set .Wait,0; - goto iDisguise; - end; -OnTimer30000: - if (.Timer) end; - set .Change,0; - setnpcdisplay "Disguise Event", 4_M_NFDEADMAN; - npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again."; - specialeffect EF_DETECT2; - set $MonsterName$,""; - deletepset 1; - stopnpctimer; - setnpctimer 0; - ++.RoundCount; - if (.RoundCount >= .Rounds) { - setnpcdisplay "Disguise Event", 4_M_NFDEADMAN; - .RoundCount = 0; - .Change = 0; - .EventON = 0; - npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later."; - end; - } - initnpctimer; - end; -OnTimer60000: - if (.Timer!=1) end; - 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; - 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; - 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; -iDisguise: - if (.Rule==1) { - set .Winner,0; - set .@monster, rand(SCORPION, PINGUICULA); - if (compare(","+.Blacklist$+"," , ","+.@monster+",")) goto iDisguise; - if (.@monster==.LastMonster) goto iDisguise; - set .LastMonster,.@monster; - set $MonsterName$,getmonsterinfo(.@monster,0); - } - if (.Rule==2) { - set .Winner,0; - set .@monster, rand(getarraysize(.MVP)); - set $MonsterName$,getmonsterinfo(.MVP[.@monster],0); - } - deletepset 1; - defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect"; - activatepset 1; - if (.Rule==1) setnpcdisplay "Disguise Event",.@monster; - if (.Rule==2) setnpcdisplay "Disguise Event",.MVP[.@monster]; - set .Change,1; - setnpctimer 0; - end; -iCorrect: - if (.Winner) { - dispbottom "Someone has already won this round."; - end; - } - set .Winner,1; - set .RoundCount,.RoundCount+1; - deletepset 1; - activatepset 1; - getitem .Prize,.PrizeAmt; - announce strcharinfo(PC_NAME)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue; - if (.RoundCount>=.Rounds) { - setnpcdisplay "Disguise Event", 4_M_NFDEADMAN; - 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", 4_M_NFDEADMAN; - set .Change,0; - setnpctimer 0; - end; -} |