//===== eAthena/rAthena Script =======================================
//= Run for Your Life
//===== By: ==================================================
//= Mysterious
//===== Current Version: =====================================
//= 2.6
//===== Compatible With: =====================================
//= eAthena or rAthena SVN
//===== Description: =========================================
//= A Run for your Life event (Based for Novices)
//===== TODO: ================================================
// - Change more coding
//===== Additional Comments: =================================
//= v1.0 - First release [Mysterious]
//= v2.0 - Overhaul of Entire Script [Mysterious]
//= v2.1 - Fixed Sentence structures [Mysterious]
//= v2.2 - Fixed a Typo and made it obvious what players had to change [Mysterious]
//= v2.3 - Removed unnecessary 'next;' thanks to soUPas [Mysterious]
//= v2.4 - Fixed an issue where the prize giver was showing up when not supposed to [Mysterious]
//= v2.5 - Added Friendly Messages [Mysterious]
//= v2.6 - Removed duplicated OnInIt labels [Mysterious]
//============================================================
// Mapflags for the Map
quiz_01 mapflag nowarpto
quiz_01 mapflag nowarp
quiz_01 mapflag noteleport
quiz_01 mapflag nomemo
quiz_01 mapflag nosave SavePoint
quiz_01 mapflag nobranch
quiz_01 mapflag noicewall
quiz_01 mapflag nopenalty
quiz_01 mapflag nobranch
quiz_01 mapflag noexp
quiz_01 mapflag noreturn
quiz_01 mapflag pvp_noparty
quiz_01 mapflag restricted 1
- script RFYL#disable -1,{
OnInit:
disablenpc "Zombie Master";
disablenpc "Present For You";
}
prontera,158,156,3 script Zombie Minion 1015,{
if (getgmlevel() >= 40) goto LMS_Admin;
mes "[Minion]";
mes "Hello " + strcharinfo(0) + ", my master is busy.";
mes "*sigh*";
close;
LMS_Admin:
mes "[Minion]";
mes "Hello " + strcharinfo(0) + ", would you like me to call my Boss?";
mes "He is the only one who can start it!";
menu "- Start Event",M_RFYL,"- Spectate",M_warp,"- End Event",M_EndEvent,"- No Thanks",M_Leave;
M_RFYL:
next;
mes "[Minion]";
mes "Hold on while I call my master.";
close2;
set $@offvar,1;
goto StartEvent;
M_warp:
next;
mes "[Minion]";
mes "Very well, I will warp you to the map!";
warp "quiz_01",42,369;
close;
M_Leave:
next;
mes "[Minion]";
mes "Ok " + strcharinfo(0) +"! Please come back after.";
close;
M_EndEvent:
next;
mes "[Minion]";
mes "Ok master, I will stop the event for you right away!";
next;
set $@offvar,1;
disablenpc "Zombie Master";
disablenpc "Present For You";
killmonsterall "quiz_01";
areawarp "quiz_01",10,10,450,450,"rachel",120,135;
stopnpctimer;
disablenpc "Zombie Minion";
warp "rachel",120,135;
sleep 180000;
enablenpc "Zombie Minion";
StartEvent: // Announcement to notify all players
announce "Zombie Vs. Novice event Will begin in 3 minutes. Head East/North",0;
killmonsterall "quiz_01";
sleep 55000;
announce "Zombie Vs. Novice event will begin in 2 minutes! Head East/North",0;
sleep 5000;
announce "Zombie Master: I have now appeared in Rachel!",0;
enablenpc "Zombie Master";
sleep 60000;
announce "Zombie Vs. Novice event will begin in 1 minute!",0;
sleep 30000;
mapannounce "quiz_01","In 30 seconds the zombies will spawn!",0;
sleep 25000;
announce "Zombie Vs. Novice event will begin in ~5~",0;
sleep 1000;
announce "Zombie Vs. Novice event will begin in ~4~",0;
sleep 1000;
announce "Zombie Vs. Novice event will begin in ~3~",0;
sleep 1000;
announce "Zombie Vs. Novice event will begin in ~2~",0;
sleep 1000;
announce "Zombie Vs. Novice event will begin in ~1~",0;
sleep 1000;
announce "Zombie Vs. Novice event has now begun!",0,0x00FF00;
disablenpc "Zombie Master";
//disablenpc "Present For You"; <-- Not sure why this was needed?
//Round 1
sleep 10000;
monster "quiz_01",42,369,"Zombie",1015,1;
sleep 10000;
monster "quiz_01",42,369,"Zombie-2",1015,1;
sleep 10000;
monster "quiz_01",42,369,"Zombie-3",1015,1;
sleep 10000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 55000;
mapannounce "quiz_01","Round 2!",0;
sleep 10000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 55000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
mapannounce "quiz_01","Round 3!",0;
sleep 10000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 55000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
mapannounce "quiz_01","Round 4!",0;
sleep 10000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 10000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 55000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
mapannounce "quiz_01","Round 5!",0;
sleep 10000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 55000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
mapannounce "quiz_01","Round 6!",0;
sleep 10000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 55000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
mapannounce "quiz_01","Round 7! Final Round!",0;
sleep 10000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 20000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 30000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
sleep 40000;
monster "quiz_01",42,369,"Zombie-4",1036,1;
sleep 50000;
monster "quiz_01",42,369,"Zombie-4",1036,1;
sleep 60000;
monster "quiz_01",42,369,"Zombie-4",1015,1;
initnpctimer;
end;
OnTimer0500:
if ( getmapusers("quiz_01") == 0 )
{
killmonsterall "quiz_01";
announce "RFYL Event: Event has ended. No one has joined.",0;
stopnpctimer;
end;
}
else if ( getmapusers("quiz_01") > 1 )
{
mapannounce "quiz_01",getmapusers("quiz_01") +" has survived the event.",0,0x00FF00;;
initnpctimer;
end;
}
initnpctimer;
end;
OnPCDieEvent:
getmapxy .@mapnvz$,.@xnvz,.@ynvz,0;
if ( .@mapnvz$ == "quiz_01") {
sleep2 1;
warp "rachel",120,135;
atcommand "@alive "+ strcharinfo(0);
dispbottom "Sorry, but you were killed.";
}
sleep2 0500;
if ( .@mapnvz$ == "quiz_01" && getmapusers("quiz_01") == 1 ) {
killmonsterall "quiz_01";
mapannounce "quiz_01","You have won, approach the Present For You NPC please.",0;
enablenpc "Present For You";
stopnpctimer;
end;
}
end;
}
quiz_01,42,378,3 script Present For You 72,{
mes "[Present For You]";
mes "Please tell me your name.";
next;
input .@name$;
if(.@name$ != strcharinfo(0)) {
mes "[Present For You]";
mes "Are you sure that is your name?";
close;
}
mes "[Present For You]";
mes "Congrats. You've won.";
close2;
announce "Present For You: We have a winner! "+.@name$+" has won the Novice vs Zombie event!",0;
getitem 7539, 1; // Change This item id to what ever you want
warp "prontera",155,179;
disablenpc "Present For You";
end;
}
prontera,164,156,5 script Zombie Master 1298,{
if (BaseLevel > 1) goto L_ClassLevel; //Change '1' to your desired level
if (class == 0) goto L_Event; //Checks if the player is a Novice, if so, proceeds into the event.
if (class > 0) goto L_ClassLevel; //Checks if the Player is NOT a Novice. If they aren't, they are not allowed to participate.
L_Event:
mes "[ ^0000FFZombie Master^000000 ]";
mes "You wish to participate the Zombie Vs. Novice event?";
next;
switch(select("- Yes","- No")) {
case 1:
sc_end SC_ALL;
percentheal 100,100;
warp "quiz_01",42,369;
end;
break;
case 2:
next;
mes "[ ^0000FFZombie Master^000000 ]";
mes "Come back when your ready.";
close;
break;
L_ClassLevel:
mes "[ ^0000FFZombie Master^000000 ]";
mes "Sorry, but it seems you are not a Novice and Level 1.";
close;
}
}
Question
Ernest90
How to do automated every 1 hour the event start?
RFYL.txt.txt
Edited by Emistrycodebox
Link to comment
Share on other sites
4 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.