Turbo_Track.txt 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107
  1. //===== eAthena Script =======================================
  2. //= Turbo Track NPCs
  3. //===== By: ==================================================
  4. //= L0ne_W0lf
  5. //===== Current Version: =====================================
  6. //= 1.4
  7. //===== Compatible With: =====================================
  8. //= eAthena SVN
  9. //===== Description: =========================================
  10. //= [Aegis Conversion]
  11. //= General Turbo Track NPCs, includes Kafra and Tool Merchant
  12. //===== Additional Comments: =================================
  13. //= 1.0 First version. [L0ne_W0lf]
  14. //= 1.1 Fixed exp rewarding working backwards.[L0ne_W0lf]
  15. //= Fixed a bug in the while loop in the guide.
  16. //= 1.2 Fix to prevent point converter from hanging. [L0ne_W0lf]
  17. //= 1.3 Slight optimization to the point exchanger. [L0ne_W0lf]
  18. //= 1.4 Added missing checkweights. [L0ne_W0lf]
  19. //============================================================
  20. turbo_room,130,92,3 script Kafra Staff#tt 115,{
  21. cutin "kafra_03",2;
  22. mes "[Kafra Staff]";
  23. mes "Welcome~ The Kafra Services";
  24. mes "are always on your side. Let me";
  25. mes "remind you that using the Save";
  26. mes "Service here will change your";
  27. mes "Respawn Point to Al De Baran.";
  28. mes "Now, how may I assist you?";
  29. callfunc "F_Kafra",5,8,1,40,0;
  30. M_Save:
  31. savepoint "aldebaran",168,112;
  32. callfunc "F_KafEnd",0,1,"in Al De Baran";
  33. }
  34. 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
  35. //This is the name on iRO as well. [Confirmed]
  36. turbo_room,99,120,4 script TBT_Guide#Broadcast 124,{
  37. mes "[Turbo Track Guide]";
  38. mes "Good day~";
  39. mes "Is there anything that";
  40. mes "you would like to know";
  41. mes "about the Turbo Track?";
  42. mes "Feel free to ask me";
  43. mes "any questions.";
  44. next;
  45. while(1) {
  46. switch(select("Race Rules:Game Courses:Game Modes:Prohibited Items and Skills:Cancel")) {
  47. case 1:
  48. mes "[Turbo Track Guide]";
  49. mes "The rules for all the races";
  50. mes "are pretty simple. Just get";
  51. mes "past all the obstacles and";
  52. mes "try to get to the Finish Line";
  53. mes "as quickly as you can.";
  54. next;
  55. mes "[Turbo Track Guide]";
  56. mes "Of course, some of the courses";
  57. mes "in the races may present a few";
  58. mes "unexpected situations, but I can't really illustrate an example...";
  59. mes "Just know that there will";
  60. mes "be traps lying about.";
  61. next;
  62. mes "[Turbo Track Guide]";
  63. mes "Classes that can mount";
  64. mes "a Peco Peco, such as Knight,";
  65. mes "Lord Knight, Crusader and";
  66. mes "Paladin, must get off their";
  67. mes "Peco Pecos before entering";
  68. mes "the Turbo Track Arena.";
  69. next;
  70. mes "[Turbo Track Guide]";
  71. mes "Well, more accurately,";
  72. mes "someone at the Turbo Track";
  73. mes "entrance will ask you to get";
  74. mes "off and will give you a ticket";
  75. mes "so that you can rent your";
  76. mes "Peco again free of charge.";
  77. next;
  78. mes "[Turbo Track Guide]";
  79. mes "Now, the winner of the race";
  80. mes "is the person who reaches the";
  81. mes "Finish Line first. Once someone";
  82. mes "crosses the Finish Line, the race ends and everyone is automatically transported to a Waiting Room.";
  83. next;
  84. mes "[Turbo Track Guide]";
  85. mes "Keep in mind that every";
  86. mes "race is only 15 minutes long.";
  87. mes "If no one can reach the Finish";
  88. mes "Line within that time, the race";
  89. mes "will end without a winner.";
  90. next;
  91. mes "[Turbo Track Guide]";
  92. mes "There are no character";
  93. mes "class or level requirements";
  94. mes "to participate in the Turbo";
  95. mes "Track. However, there is a";
  96. mes "participation fee of 1,000 zeny. ^FFFFFFcobo^000000";
  97. next;
  98. break;
  99. case 2:
  100. mes "[Turbo Track Guide]";
  101. mes "Races in the Turbo Track";
  102. mes "consist of various courses:";
  103. mes "^4d4dffLog Bridge, Cube Hills, the";
  104. mes "Single Snail, Snake Dice, Small";
  105. mes "Cave and the Invisible Maze.";
  106. next;
  107. mes "[Turbo Track Guide]";
  108. mes "The availability of specific";
  109. mes "courses is determined by the";
  110. mes "game mode. Would you like to";
  111. mes "learn more about a certain course? ^FFFFFFcobo^000000";
  112. next;
  113. set .@exitloop,1;
  114. while (.@exitloop) {
  115. switch(select("Log Bridge and Cube Hills:Cursed Desert and Flasher Maze:Single Snail and Invisible Maze:Snake Dice and Small Cave:No, thanks.")) {
  116. case 1:
  117. mes "[Turbo Track Guide]";
  118. mes "In the Log Bridge";
  119. mes "course, you must cross";
  120. mes "over a single log. If you";
  121. mes "fall off, you'll be brought";
  122. mes "back to the beginning of";
  123. mes "the Log Bridge.";
  124. next;
  125. mes "[Turbo Track Guide]";
  126. mes "The Cube Hills is a maze";
  127. mes "consisting of piles and piles";
  128. mes "of boxes. You can climb over";
  129. mes "some boxes, but cannot pass";
  130. mes ",through others. You'll have to navigate and find the best path.";
  131. next;
  132. break;
  133. case 2:
  134. mes "[Turbo Track Guide]";
  135. mes "The Cursed Desert is";
  136. mes "a short course that is full";
  137. mes "of surprises. If you're really";
  138. mes "unlucky, you may find yourself";
  139. mes "confused or even cursed!";
  140. next;
  141. mes "[Turbo Track Guide]";
  142. mes "The Flasher Maze";
  143. mes "is full of traps that will";
  144. mes "blind so you better be extra";
  145. mes "careful in navigating this maze. It might be wiser to try to slow down and avoid the traps...";
  146. next;
  147. break;
  148. case 3:
  149. mes "[Turbo Track Guide]";
  150. mes "The Single Snail is";
  151. mes "a narrow, spiral path";
  152. mes "shaped like a snail's shell.";
  153. mes "There aren't many obstacles,";
  154. mes "but it will be tough to race at your top speed in this course.";
  155. next;
  156. mes "[Turbo Track Guide]";
  157. mes "The Invisible Maze";
  158. mes "looks like a huge, open";
  159. mes "room, but it's actually full";
  160. mes "of invisible walls. You'll";
  161. mes "be given some hints, so";
  162. mes "it's not impossible.";
  163. next;
  164. break;
  165. case 4:
  166. mes "[Turbo Track Guide]";
  167. mes "The Snake Dice course";
  168. mes "offers winding paths, much";
  169. mes "like the body of a snake. The";
  170. mes "factor of luck also plays a role in this course, which you'll";
  171. mes "have to see for yourself.";
  172. next;
  173. mes "[Turbo Track Guide]";
  174. mes "The Small Cave is simply";
  175. mes "a replica of the Payon Cave.";
  176. mes "This part should be a breeze";
  177. mes "if you're pretty comfortable with hunting in the Payon Cave.";
  178. next;
  179. break;
  180. case 5:
  181. mes "[Turbo Track Guide]";
  182. mes "I see.";
  183. mes "Okay then,";
  184. mes "best of luck to";
  185. mes "you in the races!";
  186. next;
  187. set .@exitloop,0;
  188. }
  189. }
  190. mes "[Turbo Track Guide]";
  191. mes "Would you like to";
  192. mes "know anything else";
  193. mes "about Turbo Track?";
  194. next;
  195. break;
  196. case 3:
  197. mes "[Turbo Track Guide]";
  198. mes "There are three different";
  199. mes "game modes available for";
  200. mes "races in the Turbo Track:";
  201. mes "Normal, Expert and Solo.";
  202. next;
  203. mes "[Turbo Track Guide]";
  204. mes "Unlike the other game";
  205. mes "modes, ^4d4dffExpert Mode";
  206. mes "allows players to PvP^000000. This mode";
  207. mes "is ideal for races between";
  208. mes "parties or guilds.";
  209. next;
  210. mes "[Turbo Track Guide]";
  211. mes "Now, the Invisible Maze is";
  212. mes "a special course that is only";
  213. mes "available in 16 person races";
  214. mes "in ^4d4dffNormal^000000 and ^4D4DFFExpert^000000 modes.";
  215. next;
  216. mes "[Turbo Track Guide]";
  217. mes "If you play Solo Mode,";
  218. mes "you can experience every";
  219. mes "course, and the name of time";
  220. mes "of the fastest player will be";
  221. mes "recorded in our Hall of Honor.";
  222. next;
  223. break;
  224. case 4:
  225. mes "[Turbo Track Guide]";
  226. mes "Now in Turbo Track, the";
  227. mes "following items are prohibited";
  228. mes "from use: Green Potion, Panacea";
  229. mes "and Fly Wing. If you do try to use them, they won't work until after you leave the race track.";
  230. next;
  231. mes "[Turbo Track Guide]";
  232. mes "The following skills cannot";
  233. mes "be used during Turbo Track";
  234. mes "races: Snatch, Teleport, Warp";
  235. mes "Portal, Hiding, Cloaking, Stealth, Cure, Ice Wall, Berserk, Basilica, Sheltering Bless and Spear Dynamo.";
  236. next;
  237. //this aopears to suposed to fall through.
  238. case 5:
  239. mes "[Turbo Track Guide]";
  240. mes "Please enjoy your";
  241. mes "time in the Al De Baran";
  242. mes "Turbo Track. Thank you~";
  243. close;
  244. }
  245. }
  246. OnInit:
  247. // This will only ever be run ONCE!
  248. // Unless you eradicate the variable.
  249. //
  250. // This OnInit initiallizes and sets the starting
  251. // data for the Turbo Track's "Record" Logs.
  252. // WARNING/ATTENTION: DO NOT MODIFY ANY OF THE DATA.
  253. // DOING SO WILL CAUSE INTERNAL PROBLEMS IN THE SCRIPT.
  254. if ($ttnames$[0] == "") {
  255. setarray $ttnames$[0],"Breezy Havana"; // Solo Mode/Time Attack
  256. setarray $ttnames$[1],"RS125"; // Normal 4 Player
  257. setarray $ttnames$[2],"Hollgrehenn"; // Normal 8 Players
  258. setarray $ttnames$[3],"Antonio"; // Noomal 16 Players
  259. setarray $ttnames$[4],"Aragham"; // Expert 4 Players
  260. setarray $ttnames$[5],"Kafra Jasmine"; // Expert 8 Players
  261. setarray $ttnames$[6],"Chris"; // Expert 16 Players
  262. setarray $ttnames$[7],"Breezy Havana"; // Honor Place 1
  263. setarray $ttnames$[8],"RS125"; // Honor Place 2
  264. setarray $ttnames$[9],"Breezy Havana"; // Top 1
  265. setarray $ttnames$[10],"Nari"; // Top 2
  266. setarray $ttnames$[11],"Senorita Sylvia"; // Top 3
  267. setarray $ttnames$[12],"Joo Jahk"; // Top 4
  268. setarray $ttnames$[13],"RS125"; // Top 5
  269. setarray $ttranks[0],999999,0,0,0,0,0;
  270. }
  271. end;
  272. Onend_n1:
  273. mapannounce "turbo_room","A [Normal Mode - Solo] game will end shortly.",bc_map,"0xadff2f";
  274. end;
  275. Onend_n4:
  276. mapannounce "turbo_room","A [Normal Mode - 4 Person] game will end shortly.",bc_map,"0xadff2f";
  277. end;
  278. Onend_n8:
  279. mapannounce "turbo_room","A [Normal Mode - 8 Person] game will end shortly.",bc_map,"0xadff2f";
  280. end;
  281. Onend_n16:
  282. mapannounce "turbo_room","A [Normal Mode - 16 Person] game will end shortly.",bc_map,"0xadff2f";
  283. end;
  284. Onend_e4:
  285. mapannounce "turbo_room","A [Expert Mode - 4 Person] game will end shortly.",bc_map,"0xadff2f";
  286. end;
  287. Onend_e8:
  288. mapannounce "turbo_room","A [Expert Mode - 8 Person] game will end shortly.",bc_map,"0xadff2f";
  289. end;
  290. Onend_e16:
  291. mapannounce "turbo_room","A [Expert Mode - 16 Person] game will end shortly.",bc_map,"0xadff2f";
  292. end;
  293. Onnew_top1:
  294. mapannounce "turbo_room","Congratulations! " + $ttnames$[9] + " has ranked Number One in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
  295. end;
  296. Onnew_top2:
  297. mapannounce "turbo_room","Congratulations! " + $ttnames$[10] + " has ranked Second in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
  298. end;
  299. Onnew_top3:
  300. mapannounce "turbo_room","Congratulations! " + $ttnames$[11] + " has ranked Third in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
  301. end;
  302. Onnew_top4:
  303. mapannounce "turbo_room","Congratulations! " + $ttnames$[12] + " has ranked Fourth in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
  304. end;
  305. Onnew_top5:
  306. mapannounce "turbo_room","Congratulations! " + $ttnames$[13] + " has ranked Fifth in the Turbo Track Hall of Honor!",bc_map,"0x00ff00";
  307. end;
  308. Onwin_n4:
  309. mapannounce "turbo_room","Congratulations! " + $ttnames$[1] + " just won a [Normal Mode - 4 Person] game!",bc_map,"0x70DBDB";
  310. end;
  311. Onwin_n8:
  312. mapannounce "turbo_room","Congratulations! " + $ttnames$[2] + " just won a [Normal Mode - 8 Person] game!",bc_map,"0x70DBDB";
  313. end;
  314. Onwin_n16:
  315. mapannounce "turbo_room","Congratulations! " + $ttnames$[3] + " just won a [Normal Mode - 16 Person] game!",bc_map,"0x70DBDB";
  316. end;
  317. Onwin_e4:
  318. mapannounce "turbo_room","Congratulations! " + $ttnames$[4] + " just won an [Expert Mode - 4 Person] game!",bc_map,"0x70DBDB";
  319. end;
  320. Onwin_e8:
  321. mapannounce "turbo_room","Congratulations! " + $ttnames$[5] + " just won an [Expert Mode - 8 Person] game!",bc_map,"0x70DBDB";
  322. end;
  323. Onwin_e16:
  324. mapannounce "turbo_room","Congratulations! " + $ttnames$[6] + " just won an [Expert Mode - 16 Person] game!",bc_map,"0x70DBDB";
  325. end;
  326. }
  327. turbo_room,102,117,3 script Hall of Honor#tt 857,{
  328. mes "^2F4F4FTurbo Track Hall of Honor^000000";
  329. mes " ";
  330. mes "The First:";
  331. mes "^4d4dff" + $ttnames$[7] + "^000000";
  332. mes " ";
  333. mes "The Last:";
  334. mes "^4d4dff" + $ttnames$[8] + "^000000";
  335. close;
  336. }
  337. turbo_room,77,115,5 script Solo Mode#tt::TurboSoloNames 857,{
  338. mes "^2F4F4FSolo Mode Record^000000";
  339. mes " ";
  340. mes "The best player";
  341. mes "in Solo Mode...";
  342. mes "^4d4dff" + $ttnames$[0] + "^000000 !";
  343. close;
  344. }
  345. turbo_room,87,114,5 script Normal Mode Record#tt::TurboNormalNames 857,{
  346. mes "<<Recent Top Players>>";
  347. mes "Winners of Normal Mode - 4 Person";
  348. mes "^4d4dff" + $ttnames$[1] + "^000000";
  349. mes "Winners of Normal Mode - 8 Person";
  350. mes "^4d4dff" + $ttnames$[2] + "^000000";
  351. mes "Winners of Normal Mode - 16 Person";
  352. mes "^4d4dff" + $ttnames$[3] + "^000000";
  353. close;
  354. }
  355. turbo_room,112,114,3 script Expert Mode Record::TurboExpertNames 857,{
  356. mes "<<Recent Top Players>>";
  357. mes "Winners of Expert Mode - 4 Person";
  358. mes "^4d4dff" + $ttnames$[4] + "^000000";
  359. mes "Winners of Expert Mode - 8 Person";
  360. mes "^4d4dff" + $ttnames$[5] + "^000000";
  361. mes "Winners of Expert Mode - 16 Person";
  362. mes "^4d4dff" + $ttnames$[6] + "^000000";
  363. close;
  364. }
  365. turbo_room,97,117,5 script Hall of Honor#tt2 857,{
  366. mes "^2F4F4FTurbo Track Hall of Honor^000000";
  367. mes " ";
  368. mes "1st: ^4d4dff" + $ttnames$[9] + "^000000";
  369. mes "2nd: ^4d4dff" + $ttnames$[10] + "^000000";
  370. mes "3rd: ^4d4dff" + $ttnames$[11] + "^000000";
  371. mes "4th: ^4d4dff" + $ttnames$[12] + "^000000";
  372. mes "5th: ^4d4dff" + $ttnames$[13] + "^000000";
  373. close;
  374. }
  375. turbo_room,75,95,5 duplicate(TurboSoloNames) Solo Mode#1 857
  376. turbo_room,67,95,5 duplicate(TurboNormalNames) Normal Mode Records#1 857
  377. turbo_room,71,95,5 duplicate(TurboExpertNames) Expert Mode Records#1 857
  378. // Turbo Track Item Exchanger
  379. turbo_room,93,117,5 script Point Exchange Helper 125,{
  380. if ((MaxWeight-Weight) < 2000 || checkweight(1201,1) == 0) {
  381. mes "^3355FFWait a second!";
  382. mes "Right now, you're carrying";
  383. mes "too many items with you.";
  384. mes "Please come back after";
  385. mes "putting storing some of your";
  386. mes "things using the Kafra Service.^000000";
  387. close;
  388. }
  389. if (tt_point < 10) {
  390. mes "[Item Exchange Helper]";
  391. mes "Good day,";
  392. mes "" + strcharinfo(0) + ".";
  393. mes "You've got a total of";
  394. mes "" + tt_point + " Turbo Track Points.";
  395. next;
  396. mes "[Item Exchange Helper]";
  397. mes "If you have at least";
  398. mes "10 Turbo Track Points,";
  399. mes "you can exchange these";
  400. mes "points for items. Would";
  401. mes "you like to see the Turbo";
  402. mes "Track Point exchange list?";
  403. next;
  404. if (select("Yes.:Cancel.") == 1) {
  405. mes "[Item Exchange Helper]";
  406. mes "^3355FF10 TTP^000000: 1 Free Ticket";
  407. mes "for Kafra Transportation";
  408. mes "^3355FF12 TTP^000000: 1 Level 5 Magic Scroll";
  409. mes "^3355FF40 TTP^000000: Experience Points";
  410. next;
  411. mes "[Item Exchange Helper]";
  412. mes "^3355FF150 TTP^000000: 1 3 Carat Diamond";
  413. mes "^3355FF300 TTP^000000: 1 Gift Box";
  414. mes "^3355FF400 TTP^000000: 1 Speed Potion";
  415. next;
  416. mes "[Item Exchange Helper]";
  417. mes "You can also convert Turbo Track Points into Arena Points. For more information, please speak to the Arena Point Manager. Thank you.";
  418. close;
  419. }
  420. mes "[Item Exchange Helper]";
  421. mes "We hope that you enjoy";
  422. mes "Al De Baran's Turbo Track.";
  423. mes "Try to earn as many points";
  424. mes "as you can so that you can";
  425. mes "exchange them for useful";
  426. mes "stuff later. Happy racing~";
  427. close;
  428. }
  429. else {
  430. mes "[Item Exchange Helper]";
  431. mes "Good day,";
  432. mes "" + strcharinfo(0) + ".";
  433. mes "You've got a total of";
  434. mes "" + tt_point + " Turbo Track Points.";
  435. mes "Would you like to exchange";
  436. mes "these points for items?";
  437. next;
  438. switch(select("Exchange.:Cancel.")) {
  439. case 1:
  440. mes "[Item Exchange Helper]";
  441. mes "Please choose the item for";
  442. mes "which you'd like to exchange";
  443. mes "your Turbo Track Points.";
  444. next;
  445. switch(select("Free Ticket for Kafra Transportation:Level 5 Magic Scroll:Experience Points:3 Carat Diamond:Gift Box:Speed Potion:Cancel.")) {
  446. case 1:
  447. mes "[Item Exchange Helper]";
  448. mes "Each Free Ticket for";
  449. mes "Kafra Transportation";
  450. mes "costs 10 Turbo Track Points.";
  451. mes "Please enter the amount that";
  452. mes "you wish to have. To cancel,";
  453. mes "please enter ''^3355FF0^000000.''";
  454. next;
  455. input .@input;
  456. if (.@input == 0) {
  457. mes "[Item Exchange Helper]";
  458. mes "You have";
  459. mes "canceled";
  460. mes "your request.";
  461. close;
  462. }
  463. else if (.@input < 0 || .@input > 50) {
  464. mes "[Item Exchange Helper]";
  465. mes "Your request exceeds";
  466. mes "the maximum limit. You";
  467. mes "can only receive a maximum";
  468. mes "of 50 tickets at once.";
  469. close;
  470. }
  471. else {
  472. set .@total_point,10 * .@input;
  473. if (.@total_point > tt_point) {
  474. mes "[Item Exchange Helper]";
  475. mes "I'm sorry, but you do";
  476. mes "not have enough Turbo";
  477. mes "Track Points. Please check";
  478. mes "the amount of Turbo Track";
  479. mes "Points you have earned before";
  480. mes "redeeming your points again.";
  481. close;
  482. }
  483. set tt_point,tt_point-.@total_point;
  484. getitem 7060,.@input; //Warp_Free_Ticket
  485. mes "[Item Exchange Helper]";
  486. mes "Thank you for";
  487. mes "your patronage.";
  488. mes "We hope you enjoy";
  489. mes "your time here in";
  490. mes "the Turbo Track~";
  491. close;
  492. }
  493. case 2:
  494. mes "[Item Exchange Helper]";
  495. mes "Each Magic Scroll costs";
  496. mes "12 Turbo Track Points. Please";
  497. mes "select the Magic Scroll you would like to receive. Each scroll enables a one time use of a Level 5 spell or skill.";
  498. next;
  499. switch(select("Earth Spike:Cold Bolt:Fire Bolt:Lightning Bolt:Soul Strike:Fire Ball:Fire Wall:Frost Diver:Heal")) {
  500. case 1:
  501. set .@scroll,687; //Earth_Scroll_1_5
  502. set .@name$,"Earth Spike";
  503. break;
  504. case 2:
  505. set .@scroll,689; //Cold_Scroll_1_5
  506. set .@name$,"Cold Boltl";
  507. break;
  508. case 3:
  509. set .@scroll,691; //Fire_Scroll_1_5
  510. set .@name$,"Fire Bolt";
  511. break;
  512. case 4:
  513. set .@scroll,693; //Wind_Scroll_1_5
  514. set .@name$,"Lightning Bolt";
  515. break;
  516. case 5:
  517. set .@scroll,695; //Ghost_Scroll_1_5
  518. set .@name$,"Soul Strike";
  519. break;
  520. case 6:
  521. set .@scroll,697; //Fire_Scroll_2_5
  522. set .@name$,"Fire Ball";
  523. break;
  524. case 7:
  525. set .@scroll,699; //Fire_Scroll_3_5
  526. set .@name$,"Fire Wall";
  527. break;
  528. case 8:
  529. set .@scroll,12000; //Cold_Scroll_2_5
  530. set .@name$,"Frost Diver";
  531. break;
  532. case 9:
  533. set .@scroll,12002; //Holy_Scroll_1_5
  534. set .@name$,"Heal";
  535. break;
  536. }
  537. mes "[Item Exchange Helper]";
  538. mes "Please enter the number";
  539. mes "of ^4d4dff"+.@name$+"^000000 Magic Scrolls that";
  540. mes "you would like to receive.";
  541. mes "To cancel, enter ''^3355FF0^000000.''";
  542. next;
  543. input .@input;
  544. if (.@input == 0) {
  545. mes "[Item Exchange Helper]";
  546. mes "You have";
  547. mes "canceled";
  548. mes "your request.";
  549. close;
  550. }
  551. else if (.@input < 0 || .@input > 50) {
  552. mes "[Item Exchange Helper]";
  553. mes "I'm sorry, but your";
  554. mes "request has exceeded the";
  555. mes "maximum limit. You can only";
  556. mes "request up to 50 scrolls at once. ^FFFFFFcobo^000000";
  557. close;
  558. }
  559. else {
  560. set .@total_point,12 * .@input;
  561. if (.@total_point > tt_point) {
  562. mes "[Item Exchange Helper]";
  563. mes "I'm sorry, but you do";
  564. mes "not have enough Turbo";
  565. mes "Track Points. Please check";
  566. mes "the amount of Turbo Track";
  567. mes "Points you have earned before";
  568. mes "redeeming your points again.";
  569. close;
  570. }
  571. set tt_point,tt_point-.@total_point;
  572. getitem .@scroll,.@input;
  573. mes "[Item Exchange Helper]";
  574. mes "Thank you for";
  575. mes "your patronage.";
  576. mes "We hope you enjoy";
  577. mes "your time here in";
  578. mes "the Turbo Track~";
  579. close;
  580. }
  581. case 3:
  582. mes "[Item Exchange Helper]";
  583. mes "You can exchange";
  584. mes "40 Turbo Track Points";
  585. mes "to receive Base Level";
  586. mes "Experience. Would you";
  587. mes "like to exchange your Turbo";
  588. mes "Track Points for Experience?";
  589. next;
  590. if (select("No:Yes") == 2) {
  591. if (tt_point < 40) {
  592. mes "[Item Exchange Helper]";
  593. mes "I'm sorry, but you do";
  594. mes "not have enough Turbo";
  595. mes "Track Points. Please check";
  596. mes "the amount of Turbo Track";
  597. mes "Points you have earned before";
  598. mes "redeeming your points again.";
  599. close;
  600. }
  601. set tt_point,tt_point-40;
  602. if (BaseLevel < 70)
  603. getexp 3000,0;
  604. else if (BaseLevel < 80)
  605. getexp 9000,0;
  606. else if (BaseLevel < 90)
  607. getexp 10000,0;
  608. else if (BaseLevel < 100)
  609. getexp 30000,0;
  610. mes "[Item Exchange Helper]";
  611. mes "Thank you, your";
  612. mes "Turbo Track Points";
  613. mes "have been converted into";
  614. mes "Base Level Experience.";
  615. close;
  616. }
  617. mes "[Item Exchange Helper]";
  618. mes "You have";
  619. mes "canceled";
  620. mes "your request.";
  621. close;
  622. case 4:
  623. mes "[Item Exchange Helper]";
  624. mes "You can exchange";
  625. mes "150 Turbo Track Points";
  626. mes "for ^3131FF1 3 Carat Diamond^000000.";
  627. mes "Please enter the number of";
  628. mes "diamonds you would like to receive.";
  629. mes "To cancel, enter ''^3355FF0^000000.''";
  630. next;
  631. input .@input;
  632. if (.@input == 0) {
  633. mes "[Item Exchange Helper]";
  634. mes "You have";
  635. mes "canceled";
  636. mes "your request.";
  637. close;
  638. }
  639. else if (.@input < 0 || .@input > 10) {
  640. mes "[Item Exchange Helper]";
  641. mes "Your request exceeds";
  642. mes "the maximum limit. You";
  643. mes "can only receive a maximum";
  644. mes "of 10 diamonds at once.";
  645. close;
  646. }
  647. else {
  648. set .@total_point,150 * .@input;
  649. if (.@total_point > tt_point) {
  650. mes "[Item Exchange Helper]";
  651. mes "I'm sorry, but you do";
  652. mes "not have enough Turbo";
  653. mes "Track Points. Please check";
  654. mes "the amount of Turbo Track";
  655. mes "Points you have earned before";
  656. mes "redeeming your points again.";
  657. close;
  658. }
  659. set tt_point,tt_point-.@total_point;
  660. getitem 732,.@input; //Crystal_Jewel__
  661. mes "[Item Exchange Helper]";
  662. mes "Thank you for";
  663. mes "your patronage.";
  664. mes "We hope you enjoy";
  665. mes "your time here in";
  666. mes "the Turbo Track~";
  667. close;
  668. }
  669. case 5:
  670. mes "[Item Exchange Helper]";
  671. mes "You can exchange";
  672. mes "300 Turbo Track Points";
  673. mes "for ^3131FF1 Gift Box^000000. Please enter";
  674. mes "the number of Gift Boxes";
  675. mes "that you'd like to receive.";
  676. mes "To cancel, enter ''^3355FF0^000000.''";
  677. next;
  678. input .@input;
  679. if (.@input == 0) {
  680. mes "[Item Exchange Helper]";
  681. mes "You have";
  682. mes "canceled";
  683. mes "your request.";
  684. close;
  685. }
  686. else if (.@input < 0 || .@input > 10) {
  687. mes "[Item Exchange Helper]";
  688. mes "Your request exceeds";
  689. mes "the maximum limit. You";
  690. mes "can only receive a maximum";
  691. mes "of 10 Gift Boxes at once.";
  692. close;
  693. }
  694. else {
  695. set .@total_point,300 * .@input;
  696. if (.@total_point > tt_point) {
  697. mes "[Item Exchange Helper]";
  698. mes "I'm sorry, but you do";
  699. mes "not have enough Turbo";
  700. mes "Track Points. Please check";
  701. mes "the amount of Turbo Track";
  702. mes "Points you have earned before";
  703. mes "redeeming your points again.";
  704. close;
  705. }
  706. set tt_point,tt_point-.@total_point;
  707. getitem 644,.@input; //Gift_Box
  708. mes "[Item Exchange Helper]";
  709. mes "Thank you for";
  710. mes "your patronage.";
  711. mes "We hope you enjoy";
  712. mes "your time here in";
  713. mes "the Turbo Track~";
  714. close;
  715. }
  716. case 6:
  717. mes "[Item Exchange Helper]";
  718. mes "You can exchange";
  719. mes "400 Turbo Track Points";
  720. mes "for ^3131FF1 Speed Potion^000000. Please";
  721. mes "enter the number of potions";
  722. mes "that you'd like to receive.";
  723. mes "To cancel, enter ''^3355FF0^000000.''";
  724. next;
  725. input .@input;
  726. if (.@input == 0) {
  727. mes "[Item Exchange Helper]";
  728. mes "You have";
  729. mes "canceled";
  730. mes "your request.";
  731. close;
  732. }
  733. else if (.@input < 0 || .@input > 10) {
  734. mes "[Item Exchange Helper]";
  735. mes "Your request exceeds";
  736. mes "the maximum limit. You";
  737. mes "can only receive a maximum";
  738. mes "of 10 potions at once.";
  739. close;
  740. }
  741. else {
  742. set .@total_point,400 * .@input;
  743. if (.@total_point > tt_point) {
  744. mes "[Item Exchange Helper]";
  745. mes "I'm sorry, but you do";
  746. mes "not have enough Turbo";
  747. mes "Track Points. Please check";
  748. mes "the amount of Turbo Track";
  749. mes "Points you have earned before";
  750. mes "redeeming your points again.";
  751. close;
  752. }
  753. set tt_point,tt_point-.@total_point;
  754. getitem 12016,.@input; //Speed_Up_Potion
  755. mes "[Item Exchange Helper]";
  756. mes "Thank you for";
  757. mes "your patronage.";
  758. mes "We hope you enjoy";
  759. mes "your time here in";
  760. mes "the Turbo Track~";
  761. close;
  762. }
  763. case 7:
  764. mes "[Item Exchange Helper]";
  765. mes "This Item Exchange";
  766. mes "Service is brought";
  767. mes "to you by...";
  768. next;
  769. mes "[Item Exchange Helper]";
  770. mes "This Item Exchange Service";
  771. mes "is brought to you by the Kafra";
  772. mes "Corporation, Blacksmith Guild";
  773. mes "and the Comodo Casino and";
  774. mes "the Al De Baran Guild Castle";
  775. mes "Management Luina.";
  776. close;
  777. }
  778. case 2:
  779. mes "[Item Exchange Helper]";
  780. mes "Turbo Track Points can be";
  781. mes "converted into Arena Points.";
  782. mes "You can save a maximum of";
  783. mes "^4D4DFF29,000 Turbo Track Points.";
  784. next;
  785. mes "[Item Exchange Helper]";
  786. mes "Before reaching the maximum";
  787. mes "amount of Turbo Track Points,";
  788. mes "you might want to spend some";
  789. mes "of them so that you can keep";
  790. mes "getting your point rewards after winning Turbo Track races.";
  791. close;
  792. }
  793. }
  794. }
  795. turbo_room,106,117,3 script Point Manager#tt 833,{
  796. mes "[Turbo Track Point Manager]";
  797. mes "Good day.";
  798. mes "Did you enjoy your";
  799. mes "time in Turbo Track?";
  800. mes "How may I be of";
  801. mes "assistance?";
  802. next;
  803. switch(select("Check Points:Convert Points:^660000Conversion Info^000000")) {
  804. case 1:
  805. mes "[Turbo Track Point Manager]";
  806. mes "" + strcharinfo(0) + ",";
  807. mes "you currently have";
  808. mes "" + tt_point + " Turbo Track Points";
  809. mes "and " + arena_point + " Arena Points.";
  810. close;
  811. case 2:
  812. mes "[Turbo Track Point Manager]";
  813. mes "" + strcharinfo(0) + ",";
  814. mes "you currently have";
  815. mes "" + tt_point + " Turbo Track Points";
  816. mes "and " + arena_point + " Arena Points.";
  817. next;
  818. mes "[Turbo Track Point Manager]";
  819. mes "Please choose from among the following Arena Point conversions. When converting more than";
  820. mes "10 Arena Points at once, you";
  821. mes "can only convert Arena Points";
  822. mes "in ^4D4DFFmultiples of 10^000000.";
  823. next;
  824. switch(select("2 AP -> 1 TTP:4 AP -> 2 TTP:6 AP -> 3 TTP:8 AP -> 4 TTP:10 AP or more:Cancel")) {
  825. case 1:
  826. callsub S_ExchangePoints,28999,2,1;
  827. case 2:
  828. callsub S_ExchangePoints,28998,4,2;
  829. case 3:
  830. callsub S_ExchangePoints,28997,6,2;
  831. case 4:
  832. callsub S_ExchangePoints,28996,8,4;
  833. case 5:
  834. mes "[Turbo Track Point Manager]";
  835. mes "Please enter the number of times you wish to convert 10 Arena Points into Turbo Track Points. The largest value you may enter";
  836. mes "is 20. To cancel, enter '^3355FF0^000000.'";
  837. next;
  838. input .@input;
  839. if (.@input == 0) {
  840. mes "[Turbo Track Point Manager]";
  841. mes "You have";
  842. mes "canceled";
  843. mes "your request.";
  844. close;
  845. }
  846. else if (.@input > 20) {
  847. mes "[Turbo Track Point Manager]";
  848. mes "Your request exceeds";
  849. mes "the maximum limit. Please";
  850. mes "enter a value no greater than 20.";
  851. close;
  852. }
  853. else {
  854. set .@want_point1,10 * .@input;
  855. set .@want_point,5 * .@input;
  856. set .@my_turbo_all,tt_point+.@want_point;
  857. set .@my_arena_all,arena_point-.@want_point1;
  858. if (.@my_turbo_all > 28999) {
  859. mes "[Turbo Track Point Manager]";
  860. mes "Unfortunately, your Turbo Track Points will exceed the maximum limit if we proceed with point conversion. Please spend more";
  861. mes "of your Turbo Track Points before using this service. Thank you.";
  862. close;
  863. }
  864. if (.@my_arena_all < 0) {
  865. mes "[Turbo Track Point Manager]";
  866. mes "I am sorry, but you do";
  867. mes "not have enough Arena Points";
  868. mes "to perform this Turbo Track";
  869. mes "Point conversion.";
  870. close;
  871. }
  872. else {
  873. mes "[Turbo Track Point Manager]";
  874. mes "You have converted";
  875. mes "10 Arena Points into";
  876. mes "Turbo Track Points " + .@input + " times.";
  877. mes "A total of " + .@want_point1 + " Arena Points";
  878. mes "has been converted into";
  879. mes "" + .@want_point +" Turbo Track Points.";
  880. set arena_point,.@my_arena_all; //arena_point
  881. set tt_point,.@my_turbo_all;
  882. next;
  883. mes "[Turbo Track Point Manager]";
  884. mes "" + strcharinfo(0) + ",";
  885. mes "you now have";
  886. mes "^00688B" + tt_point + "^000000 Turbo Track Points";
  887. mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
  888. mes "Thank you for your patronage.";
  889. close;
  890. }
  891. }
  892. case 6:
  893. mes "[Turbo Track Point Manager]";
  894. mes "You have";
  895. mes "canceled";
  896. mes "your request.";
  897. close;
  898. }
  899. case 3:
  900. // There is no dialog for this option.
  901. // It's possible it's missing, or maybe
  902. // the dialog was never translated. XD
  903. close;
  904. }
  905. S_ExchangePoints:
  906. if (tt_point > getarg(0)) {
  907. mes "[Turbo Track Point Manager]";
  908. mes "Unfortunately, your Turbo Track Points will exceed the maximum limit if we proceed with point conversion. Please spend more";
  909. mes "of your Turbo Track Points before using this service. Thank you.";
  910. close;
  911. }
  912. if (arena_point >= getarg(1)) {
  913. mes "[Turbo Track Point Manager]";
  914. mes "As requested,";
  915. mes "2 Arena Points";
  916. mes "have been converted";
  917. mes "into 1 Turbo Track Point.";
  918. set arena_point,arena_point-getarg(1);
  919. set tt_point,tt_point+getarg(2);
  920. next;
  921. mes "[Turbo Track Point Manager]";
  922. mes "" + strcharinfo(0) + ",";
  923. mes "you now have";
  924. mes "^00688B" + tt_point + "^000000 Turbo Track Points";
  925. mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
  926. mes "Thank you for your patronage.";
  927. close;
  928. }
  929. else {
  930. mes "[Turbo Track Point Manager]";
  931. mes "I'm sorry, but you do not have enough Arena Points. You need";
  932. mes "at least 2 Arena Points in order";
  933. mes "to use this service.";
  934. close;
  935. }
  936. }
  937. alde_gld,183,204,0 script en_turbo 45,1,1,{
  938. OnTouch:
  939. if (checkweight(1201,1) == 0) {
  940. mes "^3355FFWait a second!";
  941. mes "Right now, you're carrying";
  942. mes "too many items with you.";
  943. mes "Please come back after";
  944. mes "putting storing some of your";
  945. mes "things using the Kafra Service.^000000";
  946. close;
  947. }
  948. set .@now_weight,MaxWeight-Weight;
  949. if ((BaseJob == Job_Knight || BaseJob == Job_Crusader) && checkriding()) {
  950. if (.@now_weight < 20000) {
  951. mes "[Helper]";
  952. mes "Peco Pecos are prohibited";
  953. mes "in the Turbo Track Arena.";
  954. mes "Please dismount from your";
  955. mes "Peco Peco and you will receive";
  956. mes "a Free Ticket for Peco Ride";
  957. mes "for retrieving your Peco Peco.";
  958. close2;
  959. warp "alde_gld",183,199;
  960. end;
  961. }
  962. else {
  963. setriding 0;
  964. getitem 7310,1; //Free_Peco_Ticket
  965. warp "turbo_room",100,65;
  966. }
  967. }
  968. else
  969. warp "turbo_room",100,65;
  970. end;
  971. }
  972. alde_gld,186,199,3 script Turbo Track Guide#Entran 845,{
  973. mes "[Guide]";
  974. mes "Welcome to";
  975. mes "the Al De Baran";
  976. mes "Turbo Track~";
  977. next;
  978. mes "[Guide]";
  979. 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.";
  980. next;
  981. mes "[Guide]";
  982. mes "Well then,";
  983. mes "enjoy your time";
  984. mes "in Turbo Track~!";
  985. close;
  986. }
  987. alde_gld,181,199,5 script Peco Peco Manager 845,{
  988. mes "[Peco Peco Manager]";
  989. if (BaseJob == Job_Knight || BaseJob == Job_Crusader) {
  990. mes "Welcome, would you like";
  991. mes "to retrieve your Peco Peco?";
  992. mes "Please show me your Free";
  993. mes "Ticket for Peco Ride. You";
  994. mes "may also pay a rental fee";
  995. mes "of 2,500 zeny.";
  996. next;
  997. switch(select("Use:Cancel")) {
  998. case 1:
  999. if (getskilllv(63) == 0) {
  1000. mes "[Peco Peco Manager]";
  1001. mes "I'm sorry, but you're";
  1002. mes "not eligible for this";
  1003. mes "service. Please go learn";
  1004. mes "the Peco Peco Ride skill first.";
  1005. close;
  1006. }
  1007. else {
  1008. if (checkriding()) {
  1009. mes "[Peco Peco Manager]";
  1010. mes "You're already";
  1011. mes "mounted on a";
  1012. mes "Peco Peco.";
  1013. mes "Thank you~";
  1014. close;
  1015. }
  1016. else {
  1017. if (countitem(7310) < 1 && Zeny < 2500) {
  1018. mes "[Peco Peco Manager]";
  1019. mes "I'm sorry, but you";
  1020. mes "don't have a Free Ticket";
  1021. mes "for Peco Ride or 2,500 zeny.";
  1022. mes "to use the Peco rental service.";
  1023. close;
  1024. }
  1025. else {
  1026. if (countitem(7310) > 0)
  1027. delitem 7310,1; //Free_Peco_Ticket
  1028. else
  1029. set zeny,zeny-2500;
  1030. setriding;
  1031. mes "[Peco Peco Manager]";
  1032. mes "Thank you for";
  1033. mes "your patronage~";
  1034. close;
  1035. }
  1036. }
  1037. }
  1038. case 2:
  1039. mes "[Peco Peco Manager]";
  1040. mes "Are you going";
  1041. mes "back to race in";
  1042. mes "the Turbo Track?";
  1043. mes "Good luck!";
  1044. close;
  1045. }
  1046. }
  1047. else {
  1048. mes "Thank you for";
  1049. mes "visiting Al De Baran's";
  1050. mes "Turbo Track~";
  1051. close;
  1052. }
  1053. }
  1054. alde_gld,178,180,0 script Sign#TBT 837,{
  1055. mes "[Al De Baran Turbo Track]";
  1056. mes "This way...";
  1057. mes "to the Al De Baran";
  1058. mes "Turbo Track Arena!";
  1059. next;
  1060. mes "[Al De Baran Turbo Track]";
  1061. mes "Turbo Track is";
  1062. mes "an arena where";
  1063. mes "participants compete to be the first to reach the Finish Line! Don't miss the chance to race against your friends!";
  1064. close;
  1065. }