Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- prontera,155,168,4 script Disguise Event 795,{
- //--- Basic Script Configuration Options ---//
- setcell "prontera",156,169,154,167,cell_walkable,0;
- setcell "prontera",154,169,156,167,cell_walkable,0;
- 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,20;
- set $Prize,7539;
- set $PrizeAmt,1;
- set $Rule,1;
- 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:
- OnClock0100:
- OnClock0200:
- OnClock0300:
- OnClock0400:
- OnClock0500:
- OnClock0600:
- OnClock0700:
- OnClock0800:
- OnClock0900:
- OnClock1000:
- OnClock1100:
- OnClock1200:
- OnClock1300:
- OnClock1400:
- OnClock1500:
- OnClock1600:
- OnClock1700:
- OnClock1800:
- OnClock1900:
- OnClock2000:
- OnClock2100:
- 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<getarraysize($@BlackList); set .@BL,.@BL+1)
- {if ($@Monster==$@BlackList[.@BL] || $@Monster==$@BlackList2[.@BL])
- {goto iDisguise;}}
- if ($@Monster==$@LastMonster){goto iDisguise;}
- set $@LastMonster,$@Monster;
- set $MonsterName$,getmonsterinfo($@Monster,0);}
- if ($Rule==2)
- {set $@Winner,0;
- set $@Monster,rand(49);
- 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;
- //Hint
- end;
- iCorrect:
- if ($@Winner){dispbottom "Someone has already won this round."; end;}
- set $@Winner,1;
- set $@RoundCount,$@RoundCount+1;
- deletepset 1;
- defpattern 1,"([^:]+):.*\\sOMFGBBQLEETSAUCEGMOCEANRULESHAI!!.*", "iFailCheater";
- activatepset 1;
- getitem $Prize,$PrizeAmt;
- announce ""+strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue;
- if ($@RoundCount>=$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;
- }
- prontera,155,169,4 script . 1084,1,1,{
- if (BaseLevel > 50) {
- atcommand "@die";
- }
- }
- prontera,154,169,0 duplicate(.) .#02 1084,1,1
- prontera,156,169,0 duplicate(.) .#03 1084,1,1
- prontera,154,168,0 duplicate(.) .#04 1084,1,1
- prontera,156,168,0 duplicate(.) .#05 1084,1,1
- prontera,155,167,0 duplicate(.) .#06 1084,1,1
- prontera,154,167,0 duplicate(.) .#07 1084,1,1
- prontera,156,167,0 duplicate(.) .#08 1084,1,1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement