From 620e60eebce2c1f35c5c9a82f6ca365b316587f5 Mon Sep 17 00:00:00 2001 From: Valaris Date: Sun, 29 Jan 2006 16:10:48 +0000 Subject: AS OF SVN REV. 5901, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/custom/morroc_raceway.txt | 245 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 npc/custom/morroc_raceway.txt (limited to 'npc/custom/morroc_raceway.txt') diff --git a/npc/custom/morroc_raceway.txt b/npc/custom/morroc_raceway.txt new file mode 100644 index 000000000..910cdc592 --- /dev/null +++ b/npc/custom/morroc_raceway.txt @@ -0,0 +1,245 @@ +//===== eAthena Script ======================================= +//= Morroc Raceway Script +//===== By: ================================================== +//= acky (god@acky.com) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= Any eAthena Version +//===== Description: ========================================= +//= Lets players race around Morroc (pvp_y_1-5.gat) +//===== Additional Comments: ================================= +//= If there are more than 3 players, at least 3 people +//= must finish before a new race can be started. +//= +//= If there are less than 3 players, at least 1 person +//= must finish before a new race can be started. +//= +//= Removed permanent global variables +//============================================================ + +//Warps you into race way +morocc.gat,166,105,6 script Race Girl 116,{ +mes "[Race Girl]"; +mes "Would you like to visit ^0000FFMorroc Raceway^000000?"; +next; +menu "Yes",L_Warp,"No",-; +mes "[Race Girl]"; +mes "Alright, talk to me again when you want to go."; +close; + +L_Warp: +warp "pvp_y_1-5.gat",165,256; +close; +} + +//Warps you out of raceway +pvp_y_1-5.gat,169,265,5 script Race Girl 116,{ +mes "[Race Girl]"; +mes "Welcome to Morroc Raceway!"; +next; +menu "Information",-,"Leave",L_Warp,"Cancel",L_Cancel; +mes "[Race Girl]"; +mes "Someone must click on the Starter NPC to start the race."; +next; +mes "[Race Girl]"; +mes "Once the race is started, run around Morroc anti-clockwise."; +next; +mes "[Race Girl]"; +mes "You must reach all the checkpoints - No cheating!"; +close; + +L_Warp: +warp "morocc.gat",165,101; + +L_Cancel: +mes "[Race Girl]"; +mes "Come again soon!"; +close; +} + +//Counts down and starts race +pvp_y_1-5.gat,145,269,5 script Starter 733,{ +if ($@race != 0) goto L_Started; +if ($@counting != 0) goto L_Started; +if ($@racecount == 1) goto L_Started; +L_Menu: +mes "[Race Starter]"; +mes "Please stay on the Eastern side of me."; +menu "Start Race",L_Count,"Cancel",-; +close; + + L_Count: + set $@counting,1; + mes "Counting down..."; + addtimer 1000, "Starter::OnCount1000"; + addtimer 2000, "Starter::OnCount2000"; + addtimer 3000, "Starter::OnCount3000"; + addtimer 4000, "Starter::OnCount4000"; + announce strcharinfo(0) + "Started a countdown",1; + announce "Get ready to race!",1; + close; + + + OnCount1000: + announce "[3]",1; + end; + + OnCount2000: + announce "[2]",1; + end; + + OnCount3000: + announce "[1]",1; + end; + + OnCount4000: + emotion 27; + specialeffect 267; + announce "[GO!]",1; + set $@race,1; + set $@position,0; + set $@counting,0; + set $@raceid,rand(100000,999999); + end; + + +L_Started: +if ((getmapusers("pvp_y_1-5.gat") < 3) && ($@position > 0)) goto L_Menu; +if ($@position > 2) goto L_Menu; +mes "[Starter]"; +mes "Race in progress"; +close; + +OnInit: +set $@race,0; +set $@position,0; +set $@racecount,0; +end; +} + +//Checkpoint 1 +pvp_y_1-5.gat,144,262,5 script Check Point 1 111,0,5,{ +end; +OnTouch: +if (@raceid != $@raceid) goto L_Started; +if (@race == 6) goto L_Finished; +if ($@race == 1) goto L_Started; +mes "The race has not started, please move back."; +close; +L_Started: +set @race,1; +set @raceid,$@raceid; +end; +L_Finished: +mes "You have already completed the race."; +close; +} + +//Checkpoint 2 +pvp_y_1-5.gat,73,247,5 script Check Point 2 111,6,6,{ +end; +OnTouch: +if (@race != 1) goto L_Miss; +set @race,2; +announce "[" + strcharinfo(0) +"] has reached Checkpoint [1]",1; +end; +L_Miss: +mes "You have missed a Checkpoint. Please go back."; +close; +} + +//Checkpoint 3 +pvp_y_1-5.gat,77,44,5 script Check Point 3 111,6,6,{ +end; +OnTouch: +if (@race != 2) goto L_Miss; +set @race,3; +announce "[" + strcharinfo(0) +"] has reached Checkpoint [2]",1; +end; +L_Miss: +mes "You have missed a Checkpoint. Please go back."; +close; +} + +//Checkpoint 3 +pvp_y_1-5.gat,249,60,5 script Check Point 4 111,6,6,{ +end; +OnTouch: +if (@race != 3) goto L_Miss; +set @race,4; +announce "[" + strcharinfo(0) +"] has reached Checkpoint [3]",1; +end; +L_Miss: +mes "You have missed a Checkpoint. Please go back."; +close; +} + +//Checkpoint 4 +pvp_y_1-5.gat,255,256,5 script Check Point 5 111,6,6,{ +end; +OnTouch: +if (@race != 4) goto L_Miss; +set @race,5; +announce "[" + strcharinfo(0) +"] has reached Checkpoint [4]",1; +end; +L_Miss: +mes "You have missed a Checkpoint. Please go back."; +close; +} + +//Finish Line +pvp_y_1-5.gat,174,244,5 script Finish Line 111,6,6,{ +end; +OnTouch: +if (@raceid != $@raceid) goto L_WrongRace; +if (@race != 5) goto L_Miss; +set @race,6; +set $@position,$@position+1; +announce "[" + strcharinfo(0) +"] has reached The Finish line! [Position: " + $@position + "]",1; +end; +L_Miss: +mes "You have missed a Checkpoint. Please go back."; +close; +L_WrongRace: +mes "You are not in this race."; +close; +} + +//Check Point Marker Flags +pvp_y_1-5.gat,144,267,4 script Check Point 1 722,{ +end; +} +pvp_y_1-5.gat,144,257,4 script Check Point 1 722,{ +end; +} +pvp_y_1-5.gat,70,252,3 script Check Point 2 722,{ +end; +} +pvp_y_1-5.gat,77,243,3 script Check Point 2 722,{ +end; +} +pvp_y_1-5.gat,81,48,1 script Check Point 3 722,{ +end; +} +pvp_y_1-5.gat,72,40,1 script Check Point 3 722,{ +end; +} +pvp_y_1-5.gat,244,65,7 script Check Point 4 722,{ +end; +} +pvp_y_1-5.gat,252,57,7 script Check Point 4 722,{ +end; +} +pvp_y_1-5.gat,259,260,5 script Check Point 5 722,{ +end; +} +pvp_y_1-5.gat,251,252,5 script Check Point 5 722,{ +end; +} +pvp_y_1-5.gat,174,249,4 script Finish Line 722,{ +end; +} +pvp_y_1-5.gat,174,238,4 script Finish Line 722,{ +end; +} \ No newline at end of file -- cgit v1.2.3-70-g09d2