- script LMS#disable -1,{
OnInit:
disablenpc "Mr. Banker";
disablenpc "All Job Manager";
end;
}
- script LMS -1,{
OnClock0310:
OnClock0610:
OnClock0910:
OnClock1210:
OnClock1510:
OnClock1810:
OnClock2110:
OnClock2310:
goto startlmsevent;
startlmsevent:
announce "Mr. Manager: The Last Man Standing event will be starting shortly.",0;
sleep2 10000;
announce "Mr. Manager: Those who want to play, please proceed to prontera 149 225 and register.",0;
sleep2 10000;
announce "Mr. Manager: After 1 Minute the Registration will close.",0;
sleep2 10000;
announce "Mr. Manager: Please go to prontera 149 225 and Register now if you want to join.",0;
enablenpc "All Job Manager";
initnpctimer;
end;
OnTimer30000:
announce "Mr. Manager: Last 30 seconds.",0;
sleep2 5000;
announce "Mr. Manager: If you want to join please Register in prontera 149 225.",0;
end;
OnTimer50000:
announce "Mr. Manager: Last 10 seconds.",0;
end;
OnTimer55000:
announce "Mr. Manager: 5.",0;
end;
OnTimer56000:
announce "Mr. Manager: 4.",0;
end;
OnTimer57000:
announce "Mr. Manager: 3.",0;
end;
OnTimer58000:
announce "Mr. Manager: 2.",0;
end;
OnTimer59000:
announce "Mr. Manager: 1.",0;
end;
OnTimer60000:
announce "Mr. Manager: Time's up.",0;
end;
OnTimer61000:
disablenpc "All Job Manager";
donpcevent "Mr. Banker::OnEnable";
stopnpctimer;
end;
}
//---------All Job Registration---------------
prontera,149,225,5 script All Job Manager 106,{
mes "[Mr. Manager]";
mes "Hello What can I do for you?";
next;
menu "Register",-,"What is LMS?",what,"Leave",leave;
next;
mes "[Mr. Manager]";
mes "Thankyou for registering Mr. " + strcharinfo(0) + ", Have fun!";
warp "quiz_02",264,343;
end;
what:
mes "[Mr. Manager]";
mes "LMS is also known as Last Man Standing Event";
next;
mes "[Mr. Manager]";
mes "LMS is also like a PvP.";
next;
mes "[Mr. Manager]";
mes "That's all";
close;
leave:
mes "[Mr. Manager]";
mes "I hope you will register next time";
close;
}
//--------------------------
//--------------------------
guild_vs1,50,51,6 script Mr. Banker 56,{
mes "[Banker]";
mes "Congrats. You've won.";
next;
announce "Mr. Manager: We have a winner! well done "+strcharinfo(0)+".",0;
getitem 27000, 10; // Change This item id to what ever you want . item id,amount
set class_s,class_s+8;
mes "You will return now";
warp "prontera",155,173;
disablenpc "Mr. Banker";
close;
end;
OnEnable:
pvpoff "guild_vs1";
mapannounce "quiz_02","Mr. Manager:The Last Man Standing Event will start shortly",0;
sleep2 10000;
mapannounce "quiz_02","Mr. Manager:But before we start this is just a few reminders..",0;
sleep2 10000;
mapannounce "quiz_02","Mr. Manager:Using Cloaking , Hiding is strictly not allowed..",0;
sleep2 10000;
mapannounce "quiz_02","Mr. Manager: Only the Last Man Standing will win this event!!",0;
sleep2 10000;
mapannounce "quiz_02","Mr. Manager: What are we waiting for?..Let's Get Ready to Rumble!!...",0;
areawarp "quiz_02",252,357,275,334,"guild_vs1",0,0;
sleep2 10000;
goto L_Start;
end;
L_Start:
if(getmapusers("guild_vs1") == 1) { goto L_nocontest;
} else if(getmapusers("guild_vs1") == 0) { goto L_None;
} else {
mapannounce "guild_vs1","Mr. Manager: Get ready at the count of 5 we will start!....",0;
sleep2 10000;
mapannounce "guild_vs1","Mr. Manager: 5",0;
sleep2 5000;
mapannounce "guild_vs1","Mr. Manager: 4",0;
sleep2 4000;
mapannounce "guild_vs1","Mr. Manager: 3",0;
sleep2 3000;
mapannounce "guild_vs1","Mr. Manager: 2",0;
sleep2 2000;
mapannounce "guild_vs1","Mr. Manager: 1",0;
sleep2 1000;
pvpon "guild_vs1";
goto timer;
end;
}
timer:
initnpctimer;
end;
OnTimer1000:
end;
OnTimer1100:
if(getmapusers("guild_vs1") == 1) goto L_Champ;
if(getmapusers("guild_vs1") > 2) goto timer;
if(getmapusers("guild_vs1") == 2) goto champ;
stopnpctimer;
end;
champ:
announce "Mr. Manager: Last 2 Brave warriors are still alive!",0;
sleep2 10000;
if(getmapusers("guild_vs1") == 1) goto L_Champ;
if(getmapusers("guild_vs1") > 1) goto timer;
end;
L_Champ:
mapannounce "guild_vs1","Mr. Banker: Please talk to me to get your prize.. Im in the middle",0;
pvpoff "guild_vs1";
enablenpc "Mr. Banker";
end;
L_None:
disablenpc "Banker";
pvpoff "guild_vs1";
end;
L_nocontest:
mapannounce "guild_vs1","Since only you joined, there will be no event. BUT you will be given 10 Quest Tickets!",0;
enablenpc "Mr. Banker";
end;
}
//----- Die = warp prt -----
- script Killa_warp -1,{
OnPCDieEvent:
getmapxy(.@map$,.@x,.@y,0);
if(.@map$=="guild_vs1")
{
set #kill_point, 0;
announce ""+strcharinfo(0)+" died, and out of the game!.",bc_all;
warp "prontera",155,173;
end;
}
end;
}
// == Mapflags
guild_vs1 mapflag nowarp
guild_vs1 mapflag nowarpto
guild_vs1 mapflag noteleport
guild_vs1 mapflag nosave
guild_vs1 mapflag nomemo
guild_vs1 mapflag nobranch
guild_vs1 mapflag pvp_noparty
guild_vs1 mapflag restricted 1
guild_vs1 mapflag nocommand 90
quiz_02 mapflag nowarp
quiz_02 mapflag nowarpto
quiz_02 mapflag noteleport
quiz_02 mapflag nosave
quiz_02 mapflag nomemo
quiz_02 mapflag nobranch
quiz_02 mapflag pvp_noparty
quiz_02 mapflag restricted 1
quiz_02 mapflag nocommand 90
And this one for every Hour
- script DiceHide -1,{
OnInit:
disablenpc "Dice Manager#1";
disablenpc "Prize Manager";
pvpoff "quiz_01";
end;
}
- script DICE#1 -1,{
OnClock0210:
OnClock0410:
OnClock0610:
OnClock0810:
OnClock1010:
OnClock1210:
OnClock1410:
OnClock1610:
OnClock1810:
OnClock2010:
OnClock2210:
goto startdice;
end;
startdice:
disablenpc "Prize Manager";
mapwarp "quiz_01","prontera",0,0;
announce "The Dice Event will start soon",0;
sleep2 2000;
announce "If you want to participant warp to prontera 159 225 now",0;
sleep2 2000;
announce "You have 2 Minutes to register",0;
enablenpc "Dice Manager#1";
sleep2 120000;
announce "The registration has closed",0;
disablenpc "Dice Manager#1";
donpcevent "Dice Manager#1::OnDiceStart";
end;
}
prontera,162,225,5 script Dice Manager#1 715,{
mes "Do you want to register to the dice event?";
menu "I want to register",L_yes,"Later",L_no;
L_yes:
warp "quiz_01" ,49,88;
set #dice_play, 1;
end;
L_no:
mes "Ok";
close;
OnDiceStart:
mapannounce "quiz_01","Go to the box 1,2,3,4 and no staying on the outside of box",0;
sleep2 2000;
mapannounce "quiz_01","This is the mechanic of the event",0;
sleep2 2000;
mapannounce "quiz_01","I will say a number between 1-4",0;
sleep2 2000;
mapannounce "quiz_01","If your box number is the same with my number, you're safe you will proceed to the next round",0;
sleep2 2000;
mapannounce "quiz_01","And if your box number is not the same will warp to brasilis",0;
sleep2 2000;
mapannounce "quiz_01","Good Luck",0;
sleep2 2000;
mapannounce "quiz_01","I will pick in 30 seconds! good luck!",0;
sleep2 30000;
mapannounce "quiz_01","Dice Manager: OK! I will pick now a number",0;
sleep2 2000;
goto Start;
Start:
switch(rand(1,4)) {
Case 1:
mapannounce "quiz_01","The Winner is 1",0;
areawarp "quiz_01",45,81,53,59,"prontera",156,177;
areawarp "quiz_01",57,81,65,59,"prontera",156,177;
areawarp "quiz_01",69,81,77,59,"prontera",156,177;
areawarp "quiz_01",32,94,78,86,"prontera",156,177;
areawarp "quiz_01",36,85,38,82,"prontera",156,177;
areawarp "quiz_01",48,85,50,82,"prontera",156,177;
areawarp "quiz_01",60,85,62,82,"prontera",156,177;
areawarp "quiz_01",72,85,74,82,"prontera",156,177;
goto OnWinner;
end;
break;
Case 2:
mapannounce "quiz_01","The Winner is 2",0;
areawarp "quiz_01",33,81,41,59,"prontera",156,177;
areawarp "quiz_01",57,81,65,59,"prontera",156,177;
areawarp "quiz_01",69,81,77,59,"prontera",156,177;
areawarp "quiz_01",32,94,78,86,"prontera",156,177;
areawarp "quiz_01",36,85,38,82,"prontera",156,177;
areawarp "quiz_01",48,85,50,82,"prontera",156,177;
areawarp "quiz_01",60,85,62,82,"prontera",156,177;
areawarp "quiz_01",72,85,74,82,"prontera",156,177;
goto OnWinner;
end;
break;
Case 3:
mapannounce "quiz_01","The Winner is 3",0;
areawarp "quiz_01",45,81,53,59,"prontera",156,177;
areawarp "quiz_01",33,81,41,59,"prontera",156,177;
areawarp "quiz_01",69,81,77,59,"prontera",156,177;
areawarp "quiz_01",32,94,78,86,"prontera",156,177;
areawarp "quiz_01",36,85,38,82,"prontera",156,177;
areawarp "quiz_01",48,85,50,82,"prontera",156,177;
areawarp "quiz_01",60,85,62,82,"prontera",156,177;
areawarp "quiz_01",72,85,74,82,"prontera",156,177;
goto OnWinner;
end;
break;
Case 4:
mapannounce "quiz_01","The Winner is 4",0;
areawarp "quiz_01",45,81,53,59,"prontera",156,177;
areawarp "quiz_01",33,81,41,59,"prontera",156,177;
areawarp "quiz_01",57,81,65,59,"prontera",156,177;
areawarp "quiz_01",32,94,78,86,"prontera",156,177;
areawarp "quiz_01",36,85,38,82,"prontera",156,177;
areawarp "quiz_01",48,85,50,82,"prontera",156,177;
areawarp "quiz_01",60,85,62,82,"prontera",156,177;
areawarp "quiz_01",72,85,74,82,"prontera",156,177;
goto Onwinner;
end;
break;
}
end;
OnWinner:
mapannounce "quiz_01","To those who are winner",0;
sleep2 2000;
mapannounce "quiz_01"," Please go in the middle to claim you prize",0;
enablenpc "Prize Manager";
end;
OnPCLoadMapEvent:
if (#dice_play == 0) {
warp "prontera",0,0;
end;
}
end;
OnPCLogOutEvent:
if (#dice_play == 1 ) {
set #dice_play, 1;
end;
}
end;
}
quiz_01,49,90,1 script Prize Manager 715,{
getitem 671, 1;
set class_s,class_s+3;
warp "prontera",156,177;
end;
}
quiz_01 mapflag nowarp
quiz_01 mapflag nowarpto
quiz_01 mapflag loadevent
quiz_01 mapflag nomemo
quiz_01 mapflag nosave
And this one for every 30mins only
prontera,156,219,4 script Disguise Event 794,{
//--- Basic Script Configuration Options ---//
set .@npcname$,"[^0000FFDisguise NPC^000000]"; //<- NPC Name.
set $@GMLevel,80; //<- 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",997;
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;
announce "The Event is being held in prontera 156 223.",bc_all;
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;
announce "The Event is being held in prontera 156 223.",bc_all;
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 730;
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;
announce "The Event is being held in prontera 156 223.",bc_all;
end;}
OnTimer120000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event will begin 1 minute.",bc_all;
announce "The Event is being held in prontera 156 223.",bc_all;
end;}
OnTimer180000:
if ($@Timer!=1){end;}
if ($@Timer==1)
{announce "The Disguise Event has begun!",bc_all;
announce "The Event is being held in prontera 156 223.",bc_all;
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
//npctalk ""+$@Monster+", "+$MonsterName$+"";
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",794;
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;
}
Question
chromus28
Can anyone help me make this event every 2 Hours
And this one for every Hour
And this one for every 30mins only
Thanks in advance
Edited by chromus287 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.