summaryrefslogtreecommitdiff
path: root/npc/re/other/turbotrack/Turbo_Track.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/re/other/turbotrack/Turbo_Track.txt')
-rw-r--r--npc/re/other/turbotrack/Turbo_Track.txt1108
1 files changed, 1108 insertions, 0 deletions
diff --git a/npc/re/other/turbotrack/Turbo_Track.txt b/npc/re/other/turbotrack/Turbo_Track.txt
new file mode 100644
index 000000000..3201d18c5
--- /dev/null
+++ b/npc/re/other/turbotrack/Turbo_Track.txt
@@ -0,0 +1,1108 @@
+//===== rAthena Script =======================================
+//= Turbo Track NPCs
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= General Turbo Track NPCs, includes Kafra and Tool Merchant
+//===== Additional Comments: =================================
+//= 1.0 Translated from the Official. [L0ne_W0lf]
+//= 1.1 Fixed exp rewarding working backwards.[L0ne_W0lf]
+//= Fixed a bug in the while loop in the guide.
+//= 1.2 Fix to prevent point converter from hanging. [L0ne_W0lf]
+//= 1.3 Slight optimization to the point exchanger. [L0ne_W0lf]
+//= 1.4 Added missing checkweights. [L0ne_W0lf]
+//============================================================
+
+turbo_room,130,92,3 script Kafra Staff#tt 115,{
+ cutin "kafra_03",2;
+ mes "[Kafra Staff]";
+ mes "Welcome~ The Kafra Services";
+ mes "are always on your side. Let me";
+ mes "remind you that using the Save";
+ mes "Service here will change your";
+ mes "Respawn Point to Al De Baran.";
+ mes "Now, how may I assist you?";
+ callfunc "F_Kafra",5,8,1,40,0;
+
+ M_Save:
+ savepoint "aldebaran",168,112;
+ callfunc "F_KafEnd",0,1,"in Al De Baran";
+
+}
+
+//Turbo Track Shop
+turbo_room,124,86,0 shop Turbo Track Merchant 90,501:-1,502:-1,503:-1,504:-1,645:-1,656:-1,1065:-1,1750:-1
+
+//This is the name on iRO as well. [Confirmed]
+turbo_room,99,120,4 script TBT_Guide#Broadcast 124,{
+ mes "[Turbo Track Guide]";
+ mes "Good day~";
+ mes "Is there anything that";
+ mes "you would like to know";
+ mes "about the Turbo Track?";
+ mes "Feel free to ask me";
+ mes "any questions.";
+ next;
+ while(1) {
+ switch(select("Race Rules:Game Courses:Game Modes:Prohibited Items and Skills:Cancel")) {
+ case 1:
+ mes "[Turbo Track Guide]";
+ mes "The rules for all the races";
+ mes "are pretty simple. Just get";
+ mes "past all the obstacles and";
+ mes "try to get to the Finish Line";
+ mes "as quickly as you can.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "Of course, some of the courses";
+ mes "in the races may present a few";
+ mes "unexpected situations, but I can't really illustrate an example...";
+ mes "Just know that there will";
+ mes "be traps lying about.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "Classes that can mount";
+ mes "a Peco Peco, such as Knight,";
+ mes "Lord Knight, Crusader and";
+ mes "Paladin, must get off their";
+ mes "Peco Pecos before entering";
+ mes "the Turbo Track Arena.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "Well, more accurately,";
+ mes "someone at the Turbo Track";
+ mes "entrance will ask you to get";
+ mes "off and will give you a ticket";
+ mes "so that you can rent your";
+ mes "Peco again free of charge.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "Now, the winner of the race";
+ mes "is the person who reaches the";
+ mes "Finish Line first. Once someone";
+ mes "crosses the Finish Line, the race ends and everyone is automatically transported to a Waiting Room.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "Keep in mind that every";
+ mes "race is only 15 minutes long.";
+ mes "If no one can reach the Finish";
+ mes "Line within that time, the race";
+ mes "will end without a winner.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "There are no character";
+ mes "class or level requirements";
+ mes "to participate in the Turbo";
+ mes "Track. However, there is a";
+ mes "participation fee of 1,000 zeny. ^FFFFFFcobo^000000";
+ next;
+ break;
+ case 2:
+ mes "[Turbo Track Guide]";
+ mes "Races in the Turbo Track";
+ mes "consist of various courses:";
+ mes "^4d4dffLog Bridge, Cube Hills, the";
+ mes "Single Snail, Snake Dice, Small";
+ mes "Cave and the Invisible Maze.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "The availability of specific";
+ mes "courses is determined by the";
+ mes "game mode. Would you like to";
+ mes "learn more about a certain course? ^FFFFFFcobo^000000";
+ next;
+ set .@exitloop,1;
+ while (.@exitloop) {
+ switch(select("Log Bridge and Cube Hills:Cursed Desert and Flasher Maze:Single Snail and Invisible Maze:Snake Dice and Small Cave:No, thanks.")) {
+ case 1:
+ mes "[Turbo Track Guide]";
+ mes "In the Log Bridge";
+ mes "course, you must cross";
+ mes "over a single log. If you";
+ mes "fall off, you'll be brought";
+ mes "back to the beginning of";
+ mes "the Log Bridge.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "The Cube Hills is a maze";
+ mes "consisting of piles and piles";
+ mes "of boxes. You can climb over";
+ mes "some boxes, but cannot pass";
+ mes ",through others. You'll have to navigate and find the best path.";
+ next;
+ break;
+ case 2:
+ mes "[Turbo Track Guide]";
+ mes "The Cursed Desert is";
+ mes "a short course that is full";
+ mes "of surprises. If you're really";
+ mes "unlucky, you may find yourself";
+ mes "confused or even cursed!";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "The Flasher Maze";
+ mes "is full of traps that will";
+ mes "blind so you better be extra";
+ mes "careful in navigating this maze. It might be wiser to try to slow down and avoid the traps...";
+ next;
+ break;
+ case 3:
+ mes "[Turbo Track Guide]";
+ mes "The Single Snail is";
+ mes "a narrow, spiral path";
+ mes "shaped like a snail's shell.";
+ mes "There aren't many obstacles,";
+ mes "but it will be tough to race at your top speed in this course.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "The Invisible Maze";
+ mes "looks like a huge, open";
+ mes "room, but it's actually full";
+ mes "of invisible walls. You'll";
+ mes "be given some hints, so";
+ mes "it's not impossible.";
+ next;
+ break;
+ case 4:
+ mes "[Turbo Track Guide]";
+ mes "The Snake Dice course";
+ mes "offers winding paths, much";
+ mes "like the body of a snake. The";
+ mes "factor of luck also plays a role in this course, which you'll";
+ mes "have to see for yourself.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "The Small Cave is simply";
+ mes "a replica of the Payon Cave.";
+ mes "This part should be a breeze";
+ mes "if you're pretty comfortable with hunting in the Payon Cave.";
+ next;
+ break;
+ case 5:
+ mes "[Turbo Track Guide]";
+ mes "I see.";
+ mes "Okay then,";
+ mes "best of luck to";
+ mes "you in the races!";
+ next;
+ set .@exitloop,0;
+ }
+ }
+ mes "[Turbo Track Guide]";
+ mes "Would you like to";
+ mes "know anything else";
+ mes "about Turbo Track?";
+ next;
+ break;
+ case 3:
+ mes "[Turbo Track Guide]";
+ mes "There are three different";
+ mes "game modes available for";
+ mes "races in the Turbo Track:";
+ mes "Normal, Expert and Solo.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "Unlike the other game";
+ mes "modes, ^4d4dffExpert Mode";
+ mes "allows players to PvP^000000. This mode";
+ mes "is ideal for races between";
+ mes "parties or guilds.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "Now, the Invisible Maze is";
+ mes "a special course that is only";
+ mes "available in 16 person races";
+ mes "in ^4d4dffNormal^000000 and ^4D4DFFExpert^000000 modes.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "If you play Solo Mode,";
+ mes "you can experience every";
+ mes "course, and the name of time";
+ mes "of the fastest player will be";
+ mes "recorded in our Hall of Honor.";
+ next;
+ break;
+ case 4:
+ mes "[Turbo Track Guide]";
+ mes "Now in Turbo Track, the";
+ mes "following items are prohibited";
+ mes "from use: Green Potion, Panacea";
+ mes "and Fly Wing. If you do try to use them, they won't work until after you leave the race track.";
+ next;
+ mes "[Turbo Track Guide]";
+ mes "The following skills cannot";
+ mes "be used during Turbo Track";
+ mes "races: Snatch, Teleport, Warp";
+ mes "Portal, Hiding, Cloaking, Stealth, Cure, Ice Wall, Berserk, Basilica, Sheltering Bless and Spear Dynamo.";
+ next;
+ //this aopears to suposed to fall through.
+ case 5:
+ mes "[Turbo Track Guide]";
+ mes "Please enjoy your";
+ mes "time in the Al De Baran";
+ mes "Turbo Track. Thank you~";
+ close;
+ }
+ }
+
+OnInit:
+ // This will only ever be run ONCE!
+ // Unless you eradicate the variable.
+ //
+ // This OnInit initiallizes and sets the starting
+ // data for the Turbo Track's "Record" Logs.
+ // WARNING/ATTENTION: DO NOT MODIFY ANY OF THE DATA.
+ // DOING SO WILL CAUSE INTERNAL PROBLEMS IN THE SCRIPT.
+ if ($ttnames$[0] == "") {
+ setarray $ttnames$[0],"Breezy Havana"; // Solo Mode/Time Attack
+ setarray $ttnames$[1],"RS125"; // Normal 4 Player
+ setarray $ttnames$[2],"Hollgrehenn"; // Normal 8 Players
+ setarray $ttnames$[3],"Antonio"; // Noomal 16 Players
+
+ setarray $ttnames$[4],"Aragham"; // Expert 4 Players
+ setarray $ttnames$[5],"Kafra Jasmine"; // Expert 8 Players
+ setarray $ttnames$[6],"Chris"; // Expert 16 Players
+
+ setarray $ttnames$[7],"Breezy Havana"; // Honor Place 1
+ setarray $ttnames$[8],"RS125"; // Honor Place 2
+
+ setarray $ttnames$[9],"Breezy Havana"; // Top 1
+ setarray $ttnames$[10],"Nari"; // Top 2
+ setarray $ttnames$[11],"Senorita Sylvia"; // Top 3
+ setarray $ttnames$[12],"Joo Jahk"; // Top 4
+ setarray $ttnames$[13],"RS125"; // Top 5
+
+ setarray $ttranks[0],999999,0,0,0,0,0;
+ }
+ end;
+
+Onend_n1:
+ mapannounce "turbo_room","A [Normal Mode - Solo] game will end shortly.",bc_map,"0xadff2f";
+ end;
+
+Onend_n4:
+ mapannounce "turbo_room","A [Normal Mode - 4 Person] game will end shortly.",bc_map,"0xadff2f";
+ end;
+
+Onend_n8:
+ mapannounce "turbo_room","A [Normal Mode - 8 Person] game will end shortly.",bc_map,"0xadff2f";
+ end;
+
+Onend_n16:
+ mapannounce "turbo_room","A [Normal Mode - 16 Person] game will end shortly.",bc_map,"0xadff2f";
+ end;
+
+Onend_e4:
+ mapannounce "turbo_room","A [Expert Mode - 4 Person] game will end shortly.",bc_map,"0xadff2f";
+ end;
+
+Onend_e8:
+ mapannounce "turbo_room","A [Expert Mode - 8 Person] game will end shortly.",bc_map,"0xadff2f";
+ end;
+
+Onend_e16:
+ mapannounce "turbo_room","A [Expert Mode - 16 Person] game will end shortly.",bc_map,"0xadff2f";
+ end;
+
+Onnew_top1:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[9] + " has ranked Number One in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
+ end;
+
+Onnew_top2:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[10] + " has ranked Second in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
+ end;
+
+Onnew_top3:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[11] + " has ranked Third in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
+ end;
+
+Onnew_top4:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[12] + " has ranked Fourth in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
+ end;
+
+Onnew_top5:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[13] + " has ranked Fifth in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
+ end;
+
+Onwin_n4:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[1] + " just won a [Normal Mode - 4 Person] game!",bc_map,"0x70DBDB";
+ end;
+
+Onwin_n8:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[2] + " just won a [Normal Mode - 8 Person] game!",bc_map,"0x70DBDB";
+ end;
+
+Onwin_n16:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[3] + " just won a [Normal Mode - 16 Person] game!",bc_map,"0x70DBDB";
+ end;
+
+Onwin_e4:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[4] + " just won an [Expert Mode - 4 Person] game!",bc_map,"0x70DBDB";
+ end;
+
+Onwin_e8:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[5] + " just won an [Expert Mode - 8 Person] game!",bc_map,"0x70DBDB";
+ end;
+
+Onwin_e16:
+ mapannounce "turbo_room","Congratulations! " + $ttnames$[6] + " just won an [Expert Mode - 16 Person] game!",bc_map,"0x70DBDB";
+ end;
+}
+
+turbo_room,102,117,3 script Hall of Honor#tt 857,{
+ mes "^2F4F4FTurbo Track Hall of Honor^000000";
+ mes " ";
+ mes "The First:";
+ mes "^4d4dff" + $ttnames$[7] + "^000000";
+ mes " ";
+ mes "The Last:";
+ mes "^4d4dff" + $ttnames$[8] + "^000000";
+ close;
+}
+
+turbo_room,77,115,5 script Solo Mode#tt::TurboSoloNames 857,{
+ mes "^2F4F4FSolo Mode Record^000000";
+ mes " ";
+ mes "The best player";
+ mes "in Solo Mode...";
+ mes "^4d4dff" + $ttnames$[0] + "^000000 !";
+ close;
+}
+
+turbo_room,87,114,5 script Normal Mode Record#tt::TurboNormalNames 857,{
+ mes "<<Recent Top Players>>";
+ mes "Winners of Normal Mode - 4 Person";
+ mes "^4d4dff" + $ttnames$[1] + "^000000";
+ mes "Winners of Normal Mode - 8 Person";
+ mes "^4d4dff" + $ttnames$[2] + "^000000";
+ mes "Winners of Normal Mode - 16 Person";
+ mes "^4d4dff" + $ttnames$[3] + "^000000";
+ close;
+}
+
+turbo_room,112,114,3 script Expert Mode Record::TurboExpertNames 857,{
+ mes "<<Recent Top Players>>";
+ mes "Winners of Expert Mode - 4 Person";
+ mes "^4d4dff" + $ttnames$[4] + "^000000";
+ mes "Winners of Expert Mode - 8 Person";
+ mes "^4d4dff" + $ttnames$[5] + "^000000";
+ mes "Winners of Expert Mode - 16 Person";
+ mes "^4d4dff" + $ttnames$[6] + "^000000";
+ close;
+}
+
+turbo_room,97,117,5 script Hall of Honor#tt2 857,{
+ mes "^2F4F4FTurbo Track Hall of Honor^000000";
+ mes " ";
+ mes "1st: ^4d4dff" + $ttnames$[9] + "^000000";
+ mes "2nd: ^4d4dff" + $ttnames$[10] + "^000000";
+ mes "3rd: ^4d4dff" + $ttnames$[11] + "^000000";
+ mes "4th: ^4d4dff" + $ttnames$[12] + "^000000";
+ mes "5th: ^4d4dff" + $ttnames$[13] + "^000000";
+ close;
+}
+
+turbo_room,75,95,5 duplicate(TurboSoloNames) Solo Mode#1 857
+turbo_room,67,95,5 duplicate(TurboNormalNames) Normal Mode Records#1 857
+turbo_room,71,95,5 duplicate(TurboExpertNames) Expert Mode Records#1 857
+
+// Turbo Track Item Exchanger
+turbo_room,93,117,5 script Point Exchange Helper 125,{
+ if ((MaxWeight-Weight) < 2000 || checkweight(1201,1) == 0) {
+ mes "^3355FFWait a second!";
+ mes "Right now, you're carrying";
+ mes "too many items with you.";
+ mes "Please come back after";
+ mes "putting storing some of your";
+ mes "things using the Kafra Service.^000000";
+ close;
+ }
+ if (tt_point < 10) {
+ mes "[Item Exchange Helper]";
+ mes "Good day,";
+ mes "" + strcharinfo(0) + ".";
+ mes "You've got a total of";
+ mes "" + tt_point + " Turbo Track Points.";
+ next;
+ mes "[Item Exchange Helper]";
+ mes "If you have at least";
+ mes "10 Turbo Track Points,";
+ mes "you can exchange these";
+ mes "points for items. Would";
+ mes "you like to see the Turbo";
+ mes "Track Point exchange list?";
+ next;
+ if (select("Yes.:Cancel.") == 1) {
+ mes "[Item Exchange Helper]";
+ mes "^3355FF10 TTP^000000: 1 Free Ticket";
+ mes "for Kafra Transportation";
+ mes "^3355FF12 TTP^000000: 1 Level 5 Magic Scroll";
+ mes "^3355FF40 TTP^000000: Experience Points";
+ next;
+ mes "[Item Exchange Helper]";
+ mes "^3355FF150 TTP^000000: 1 3 Carat Diamond";
+ mes "^3355FF300 TTP^000000: 1 Gift Box";
+ mes "^3355FF400 TTP^000000: 1 Speed Potion";
+ next;
+ mes "[Item Exchange Helper]";
+ mes "You can also convert Turbo Track Points into Arena Points. For more information, please speak to the Arena Point Manager. Thank you.";
+ close;
+ }
+ mes "[Item Exchange Helper]";
+ mes "We hope that you enjoy";
+ mes "Al De Baran's Turbo Track.";
+ mes "Try to earn as many points";
+ mes "as you can so that you can";
+ mes "exchange them for useful";
+ mes "stuff later. Happy racing~";
+ close;
+ }
+ else {
+ mes "[Item Exchange Helper]";
+ mes "Good day,";
+ mes "" + strcharinfo(0) + ".";
+ mes "You've got a total of";
+ mes "" + tt_point + " Turbo Track Points.";
+ mes "Would you like to exchange";
+ mes "these points for items?";
+ next;
+ switch(select("Exchange.:Cancel.")) {
+ case 1:
+ mes "[Item Exchange Helper]";
+ mes "Please choose the item for";
+ mes "which you'd like to exchange";
+ mes "your Turbo Track Points.";
+ next;
+ switch(select("Free Ticket for Kafra Transportation:Level 5 Magic Scroll:Experience Points:3 Carat Diamond:Gift Box:Speed Potion:Cancel.")) {
+ case 1:
+ mes "[Item Exchange Helper]";
+ mes "Each Free Ticket for";
+ mes "Kafra Transportation";
+ mes "costs 10 Turbo Track Points.";
+ mes "Please enter the amount that";
+ mes "you wish to have. To cancel,";
+ mes "please enter ''^3355FF0^000000.''";
+ next;
+ input .@input;
+ if (.@input == 0) {
+ mes "[Item Exchange Helper]";
+ mes "You have";
+ mes "canceled";
+ mes "your request.";
+ close;
+ }
+ else if (.@input < 0 || .@input > 50) {
+ mes "[Item Exchange Helper]";
+ mes "Your request exceeds";
+ mes "the maximum limit. You";
+ mes "can only receive a maximum";
+ mes "of 50 tickets at once.";
+ close;
+ }
+ else {
+ set .@total_point,10 * .@input;
+ if (.@total_point > tt_point) {
+ mes "[Item Exchange Helper]";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
+ close;
+ }
+ set tt_point,tt_point-.@total_point;
+ getitem 7060,.@input; //Warp_Free_Ticket
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
+ }
+ case 2:
+ mes "[Item Exchange Helper]";
+ mes "Each Magic Scroll costs";
+ mes "12 Turbo Track Points. Please";
+ mes "select the Magic Scroll you would like to receive. Each scroll enables a one time use of a Level 5 spell or skill.";
+ next;
+ switch(select("Earth Spike:Cold Bolt:Fire Bolt:Lightning Bolt:Soul Strike:Fire Ball:Fire Wall:Frost Diver:Heal")) {
+ case 1:
+ set .@scroll,687; //Earth_Scroll_1_5
+ set .@name$,"Earth Spike";
+ break;
+ case 2:
+ set .@scroll,689; //Cold_Scroll_1_5
+ set .@name$,"Cold Boltl";
+ break;
+ case 3:
+ set .@scroll,691; //Fire_Scroll_1_5
+ set .@name$,"Fire Bolt";
+ break;
+ case 4:
+ set .@scroll,693; //Wind_Scroll_1_5
+ set .@name$,"Lightning Bolt";
+ break;
+ case 5:
+ set .@scroll,695; //Ghost_Scroll_1_5
+ set .@name$,"Soul Strike";
+ break;
+ case 6:
+ set .@scroll,697; //Fire_Scroll_2_5
+ set .@name$,"Fire Ball";
+ break;
+ case 7:
+ set .@scroll,699; //Fire_Scroll_3_5
+ set .@name$,"Fire Wall";
+ break;
+ case 8:
+ set .@scroll,12000; //Cold_Scroll_2_5
+ set .@name$,"Frost Diver";
+ break;
+ case 9:
+ set .@scroll,12002; //Holy_Scroll_1_5
+ set .@name$,"Heal";
+ break;
+ }
+ mes "[Item Exchange Helper]";
+ mes "Please enter the number";
+ mes "of ^4d4dff"+.@name$+"^000000 Magic Scrolls that";
+ mes "you would like to receive.";
+ mes "To cancel, enter ''^3355FF0^000000.''";
+ next;
+ input .@input;
+ if (.@input == 0) {
+ mes "[Item Exchange Helper]";
+ mes "You have";
+ mes "canceled";
+ mes "your request.";
+ close;
+ }
+ else if (.@input < 0 || .@input > 50) {
+ mes "[Item Exchange Helper]";
+ mes "I'm sorry, but your";
+ mes "request has exceeded the";
+ mes "maximum limit. You can only";
+ mes "request up to 50 scrolls at once. ^FFFFFFcobo^000000";
+ close;
+ }
+ else {
+ set .@total_point,12 * .@input;
+ if (.@total_point > tt_point) {
+ mes "[Item Exchange Helper]";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
+ close;
+ }
+ set tt_point,tt_point-.@total_point;
+ getitem .@scroll,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
+ }
+ case 3:
+ mes "[Item Exchange Helper]";
+ mes "You can exchange";
+ mes "40 Turbo Track Points";
+ mes "to receive Base Level";
+ mes "Experience. Would you";
+ mes "like to exchange your Turbo";
+ mes "Track Points for Experience?";
+ next;
+ if (select("No:Yes") == 2) {
+ if (tt_point < 40) {
+ mes "[Item Exchange Helper]";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
+ close;
+
+ }
+ set tt_point,tt_point-40;
+ if (BaseLevel < 70)
+ getexp 300,0;
+ else if (BaseLevel < 80)
+ getexp 900,0;
+ else if (BaseLevel < 90)
+ getexp 1000,0;
+ else if (BaseLevel < 151)
+ getexp 3000,0;
+ mes "[Item Exchange Helper]";
+ mes "Thank you, your";
+ mes "Turbo Track Points";
+ mes "have been converted into";
+ mes "Base Level Experience.";
+ close;
+ }
+ mes "[Item Exchange Helper]";
+ mes "You have";
+ mes "canceled";
+ mes "your request.";
+ close;
+ case 4:
+ mes "[Item Exchange Helper]";
+ mes "You can exchange";
+ mes "150 Turbo Track Points";
+ mes "for ^3131FF1 3 Carat Diamond^000000.";
+ mes "Please enter the number of";
+ mes "diamonds you would like to receive.";
+ mes "To cancel, enter ''^3355FF0^000000.''";
+ next;
+ input .@input;
+ if (.@input == 0) {
+ mes "[Item Exchange Helper]";
+ mes "You have";
+ mes "canceled";
+ mes "your request.";
+ close;
+ }
+ else if (.@input < 0 || .@input > 10) {
+ mes "[Item Exchange Helper]";
+ mes "Your request exceeds";
+ mes "the maximum limit. You";
+ mes "can only receive a maximum";
+ mes "of 10 diamonds at once.";
+ close;
+ }
+ else {
+ set .@total_point,150 * .@input;
+ if (.@total_point > tt_point) {
+ mes "[Item Exchange Helper]";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
+ close;
+ }
+ set tt_point,tt_point-.@total_point;
+ getitem 732,.@input; //Crystal_Jewel__
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
+ }
+ case 5:
+ mes "[Item Exchange Helper]";
+ mes "You can exchange";
+ mes "300 Turbo Track Points";
+ mes "for ^3131FF1 Gift Box^000000. Please enter";
+ mes "the number of Gift Boxes";
+ mes "that you'd like to receive.";
+ mes "To cancel, enter ''^3355FF0^000000.''";
+ next;
+ input .@input;
+ if (.@input == 0) {
+ mes "[Item Exchange Helper]";
+ mes "You have";
+ mes "canceled";
+ mes "your request.";
+ close;
+ }
+ else if (.@input < 0 || .@input > 10) {
+ mes "[Item Exchange Helper]";
+ mes "Your request exceeds";
+ mes "the maximum limit. You";
+ mes "can only receive a maximum";
+ mes "of 10 Gift Boxes at once.";
+ close;
+ }
+ else {
+ set .@total_point,300 * .@input;
+ if (.@total_point > tt_point) {
+ mes "[Item Exchange Helper]";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
+ close;
+ }
+ set tt_point,tt_point-.@total_point;
+ getitem 644,.@input; //Gift_Box
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
+ }
+ case 6:
+ mes "[Item Exchange Helper]";
+ mes "You can exchange";
+ mes "400 Turbo Track Points";
+ mes "for ^3131FF1 Speed Potion^000000. Please";
+ mes "enter the number of potions";
+ mes "that you'd like to receive.";
+ mes "To cancel, enter ''^3355FF0^000000.''";
+ next;
+ input .@input;
+ if (.@input == 0) {
+ mes "[Item Exchange Helper]";
+ mes "You have";
+ mes "canceled";
+ mes "your request.";
+ close;
+ }
+ else if (.@input < 0 || .@input > 10) {
+ mes "[Item Exchange Helper]";
+ mes "Your request exceeds";
+ mes "the maximum limit. You";
+ mes "can only receive a maximum";
+ mes "of 10 potions at once.";
+ close;
+ }
+ else {
+ set .@total_point,400 * .@input;
+ if (.@total_point > tt_point) {
+ mes "[Item Exchange Helper]";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
+ close;
+ }
+ set tt_point,tt_point-.@total_point;
+ getitem 12016,.@input; //Speed_Up_Potion
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
+ }
+ case 7:
+ mes "[Item Exchange Helper]";
+ mes "This Item Exchange";
+ mes "Service is brought";
+ mes "to you by...";
+ next;
+ mes "[Item Exchange Helper]";
+ mes "This Item Exchange Service";
+ mes "is brought to you by the Kafra";
+ mes "Corporation, Blacksmith Guild";
+ mes "and the Comodo Casino and";
+ mes "the Al De Baran Guild Castle";
+ mes "Management Luina.";
+ close;
+ }
+ case 2:
+ mes "[Item Exchange Helper]";
+ mes "Turbo Track Points can be";
+ mes "converted into Arena Points.";
+ mes "You can save a maximum of";
+ mes "^4D4DFF29,000 Turbo Track Points.";
+ next;
+ mes "[Item Exchange Helper]";
+ mes "Before reaching the maximum";
+ mes "amount of Turbo Track Points,";
+ mes "you might want to spend some";
+ mes "of them so that you can keep";
+ mes "getting your point rewards after winning Turbo Track races.";
+ close;
+ }
+ }
+}
+
+turbo_room,106,117,3 script Point Manager#tt 833,{
+ mes "[Turbo Track Point Manager]";
+ mes "Good day.";
+ mes "Did you enjoy your";
+ mes "time in Turbo Track?";
+ mes "How may I be of";
+ mes "assistance?";
+ next;
+ switch(select("Check Points:Convert Points:^660000Conversion Info^000000")) {
+ case 1:
+ mes "[Turbo Track Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you currently have";
+ mes "" + tt_point + " Turbo Track Points";
+ mes "and " + arena_point + " Arena Points.";
+ close;
+ case 2:
+ mes "[Turbo Track Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you currently have";
+ mes "" + tt_point + " Turbo Track Points";
+ mes "and " + arena_point + " Arena Points.";
+ next;
+ mes "[Turbo Track Point Manager]";
+ mes "Please choose from among the following Arena Point conversions. When converting more than";
+ mes "10 Arena Points at once, you";
+ mes "can only convert Arena Points";
+ mes "in ^4D4DFFmultiples of 10^000000.";
+ next;
+ switch(select("2 AP -> 1 TTP:4 AP -> 2 TTP:6 AP -> 3 TTP:8 AP -> 4 TTP:10 AP or more:Cancel")) {
+ case 1:
+ callsub S_ExchangePoints,28999,2,1;
+ case 2:
+ callsub S_ExchangePoints,28998,4,2;
+ case 3:
+ callsub S_ExchangePoints,28997,6,2;
+ case 4:
+ callsub S_ExchangePoints,28996,8,4;
+ case 5:
+ mes "[Turbo Track Point Manager]";
+ mes "Please enter the number of times you wish to convert 10 Arena Points into Turbo Track Points. The largest value you may enter";
+ mes "is 20. To cancel, enter '^3355FF0^000000.'";
+ next;
+ input .@input;
+ if (.@input == 0) {
+ mes "[Turbo Track Point Manager]";
+ mes "You have";
+ mes "canceled";
+ mes "your request.";
+ close;
+ }
+ else if (.@input > 20) {
+ mes "[Turbo Track Point Manager]";
+ mes "Your request exceeds";
+ mes "the maximum limit. Please";
+ mes "enter a value no greater than 20.";
+ close;
+ }
+ else {
+ set .@want_point1,10 * .@input;
+ set .@want_point,5 * .@input;
+ set .@my_turbo_all,tt_point+.@want_point;
+ set .@my_arena_all,arena_point-.@want_point1;
+ if (.@my_turbo_all > 28999) {
+ mes "[Turbo Track Point Manager]";
+ mes "Unfortunately, your Turbo Track Points will exceed the maximum limit if we proceed with point conversion. Please spend more";
+ mes "of your Turbo Track Points before using this service. Thank you.";
+ close;
+ }
+ if (.@my_arena_all < 0) {
+ mes "[Turbo Track Point Manager]";
+ mes "I am sorry, but you do";
+ mes "not have enough Arena Points";
+ mes "to perform this Turbo Track";
+ mes "Point conversion.";
+ close;
+ }
+ else {
+ mes "[Turbo Track Point Manager]";
+ mes "You have converted";
+ mes "10 Arena Points into";
+ mes "Turbo Track Points " + .@input + " times.";
+ mes "A total of " + .@want_point1 + " Arena Points";
+ mes "has been converted into";
+ mes "" + .@want_point +" Turbo Track Points.";
+ set arena_point,.@my_arena_all; //arena_point
+ set tt_point,.@my_turbo_all;
+ next;
+ mes "[Turbo Track Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you now have";
+ mes "^00688B" + tt_point + "^000000 Turbo Track Points";
+ mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
+ mes "Thank you for your patronage.";
+ close;
+ }
+ }
+ case 6:
+ mes "[Turbo Track Point Manager]";
+ mes "You have";
+ mes "canceled";
+ mes "your request.";
+ close;
+ }
+ case 3:
+ // There is no dialog for this option.
+ // It's possible it's missing, or maybe
+ // the dialog was never translated. XD
+ //??
+ close;
+ }
+
+S_ExchangePoints:
+ if (tt_point > getarg(0)) {
+ mes "[Turbo Track Point Manager]";
+ mes "Unfortunately, your Turbo Track Points will exceed the maximum limit if we proceed with point conversion. Please spend more";
+ mes "of your Turbo Track Points before using this service. Thank you.";
+ close;
+ }
+ if (arena_point >= getarg(1)) {
+ mes "[Turbo Track Point Manager]";
+ mes "As requested,";
+ mes "2 Arena Points";
+ mes "have been converted";
+ mes "into 1 Turbo Track Point.";
+ set arena_point,arena_point-getarg(1);
+ set tt_point,tt_point+getarg(2);
+ next;
+ mes "[Turbo Track Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you now have";
+ mes "^00688B" + tt_point + "^000000 Turbo Track Points";
+ mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
+ mes "Thank you for your patronage.";
+ close;
+ }
+ else {
+ mes "[Turbo Track Point Manager]";
+ mes "I'm sorry, but you do not have enough Arena Points. You need";
+ mes "at least 2 Arena Points in order";
+ mes "to use this service.";
+ close;
+ }
+}
+
+alde_gld,183,204,0 script en_turbo 45,1,1,{
+OnTouch:
+ if (checkweight(1201,1) == 0) {
+ mes "^3355FFWait a second!";
+ mes "Right now, you're carrying";
+ mes "too many items with you.";
+ mes "Please come back after";
+ mes "putting storing some of your";
+ mes "things using the Kafra Service.^000000";
+ close;
+ }
+ set .@now_weight,MaxWeight-Weight;
+ if ((BaseJob == Job_Knight || BaseJob == Job_Crusader) && checkriding()) {
+ if (.@now_weight < 20000) {
+ mes "[Helper]";
+ mes "Peco Pecos are prohibited";
+ mes "in the Turbo Track Arena.";
+ mes "Please dismount from your";
+ mes "Peco Peco and you will receive";
+ mes "a Free Ticket for Peco Ride";
+ mes "for retrieving your Peco Peco.";
+ close2;
+ warp "alde_gld",183,199;
+ end;
+ }
+ else {
+ setriding 0;
+ getitem 7310,1; //Free_Peco_Ticket
+ warp "turbo_room",100,65;
+ }
+ }
+ else
+ warp "turbo_room",100,65;
+ end;
+}
+
+alde_gld,186,199,3 script Turbo Track Guide#Entran 845,{
+ mes "[Guide]";
+ mes "Welcome to";
+ mes "the Al De Baran";
+ mes "Turbo Track~";
+ next;
+ mes "[Guide]";
+ mes "Peco Pecos are prohibited inside the Turbo Track Arena. But anyone riding on a Peco Peco will receive a Free Peco Peco Mount Ticket at the Turbo Track Entrance and automatically dismount.";
+ next;
+ mes "[Guide]";
+ mes "Well then,";
+ mes "enjoy your time";
+ mes "in Turbo Track~!";
+ close;
+}
+
+alde_gld,181,199,5 script Peco Peco Manager 845,{
+ mes "[Peco Peco Manager]";
+ if (BaseJob == Job_Knight || BaseJob == Job_Crusader) {
+ mes "Welcome, would you like";
+ mes "to retrieve your Peco Peco?";
+ mes "Please show me your Free";
+ mes "Ticket for Peco Ride. You";
+ mes "may also pay a rental fee";
+ mes "of 2,500 zeny.";
+ next;
+ switch(select("Use:Cancel")) {
+ case 1:
+ if (getskilllv(63) == 0) {
+ mes "[Peco Peco Manager]";
+ mes "I'm sorry, but you're";
+ mes "not eligible for this";
+ mes "service. Please go learn";
+ mes "the Peco Peco Ride skill first.";
+ close;
+ }
+ else {
+ if (checkriding()) {
+ mes "[Peco Peco Manager]";
+ mes "You're already";
+ mes "mounted on a";
+ mes "Peco Peco.";
+ mes "Thank you~";
+ close;
+ }
+ else {
+ if (countitem(7310) < 1 && Zeny < 2500) {
+ mes "[Peco Peco Manager]";
+ mes "I'm sorry, but you";
+ mes "don't have a Free Ticket";
+ mes "for Peco Ride or 2,500 zeny.";
+ mes "to use the Peco rental service.";
+ close;
+ }
+ else {
+ if (countitem(7310) > 0)
+ delitem 7310,1; //Free_Peco_Ticket
+ else
+ set zeny,zeny-2500;
+ setriding;
+ mes "[Peco Peco Manager]";
+ mes "Thank you for";
+ mes "your patronage~";
+ close;
+ }
+ }
+ }
+ case 2:
+ mes "[Peco Peco Manager]";
+ mes "Are you going";
+ mes "back to race in";
+ mes "the Turbo Track?";
+ mes "Good luck!";
+ close;
+ }
+ }
+ else {
+ mes "Thank you for";
+ mes "visiting Al De Baran's";
+ mes "Turbo Track~";
+ close;
+ }
+}
+
+alde_gld,178,180,0 script Sign#TBT 837,{
+ mes "[Al De Baran Turbo Track]";
+ mes "This way...";
+ mes "to the Al De Baran";
+ mes "Turbo Track Arena!";
+ next;
+ mes "[Al De Baran Turbo Track]";
+ mes "Turbo Track is";
+ mes "an arena where";
+ mes "participants compete to be the first to reach the Finish Line! Don't miss the chance to race against your friends!";
+ close;
+}