
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12258 54d463be-8e91-2dee-dedb-b68131a5f0ec
1108 lines
33 KiB
Plaintext
1108 lines
33 KiB
Plaintext
//===== eAthena Script =======================================
|
|
//= Turbo Track NPCs
|
|
//===== By: ==================================================
|
|
//= L0ne_W0lf
|
|
//===== Current Version: =====================================
|
|
//= 1.4
|
|
//===== Compatible With: =====================================
|
|
//= eAthena SVN
|
|
//===== Description: =========================================
|
|
//= [Aegis Conversion]
|
|
//= General Turbo Track NPCs, includes Kafra and Tool Merchant
|
|
//===== Additional Comments: =================================
|
|
//= 1.0 First version. [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_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 3000,0;
|
|
else if (BaseLevel < 80)
|
|
getexp 9000,0;
|
|
else if (BaseLevel < 90)
|
|
getexp 10000,0;
|
|
else if (BaseLevel < 100)
|
|
getexp 30000,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;
|
|
}
|