Turbo_Track.txt 33 KB

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