//= Le Livre d'Ymir http://www.bookofymir.net/ //= traduit par No Healing //===== 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 Employée Kafra::Kafra Staff#tt 115,{ cutin "kafra_03",2; mes "[Kafra Staff]"; mes "Bienvenue~ Les Services Kafra seront toujours à vos côtés."; mes "Laissez-moi vous rappeler qu'utiliser notre service de Sauvegarde changera votre point de sauvegarde actuel pour Al De Baran. En quoi puis-je vous aider?"; callfunc "F_Kafra",5,8,1,40,0; M_Save: savepoint "aldebaran",168,112; callfunc "F_KafEnd",0,1,"à Al De Baran"; } turbo_room,124,86,0 shop Marchande du Turbo Track::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 Guide du Turbo Track::TBT_Guide#Broadcast 124,{ mes "[Guide du Turbo Track]"; mes ( isday() ? "Bonjour" : "Bonsoir" ) + "~"; mes "Puis-je vous renseigner à propos du Turbo Track? N'hésitez pas à demander!"; next; while(1) { switch(select("Règles de la Course:Déroulement de la Course:Modes de Jeu:Objets et Compétences interdits:Annuler")) { case 1: mes "[Guide du Turbo Track]"; mes "Les règles pour les différentes courses sont assez simples. Il suffit de passer tous les obstacles et de franchir le plus rapidement possible la ligne d'arrivée."; next; mes "[Guide du Turbo Track]"; mes "Bien sûr certaines courses peuvent prendre assez un tour inattendu, mais je ne peux pas vous donner d'exemple en particulier... Il me suffit de vous dire qu'il y a des pièges disséminés un peu partout."; next; mes "[Guide du Turbo Track]"; mes "Les personnages pouvant équiper un Péco Péco, tels que les Chevaliers, les Seigneurs Chevalier, les Croisés, et les Paladins, doivent laisser leur monture à l'extérieur de l'arène du Turbo Track pour participer."; next; mes "[Guide du Turbo Track]"; mes "Plus précisément, une de nos employées à l'entrée de l'arène vous demandera de vous séparer de votre monture, et vous donnera un ticket en échange pour que vous puissiez louer un nouveau Péco gratuitement."; next; mes "[Guide du Turbo Track]"; mes "Le joueur qui franchit la ligne d'arrivée en premier remporte la course. La course se termine alors et tous les participants sont alors reconduits vers la Salle d'Attente."; next; mes "[Guide du Turbo Track]"; mes "Rappelez-vous aussi que chaque course a une limite de temps de 15 minutes. Si personne n'a franchi la ligne d'arrivée avant, la course se terminera sans vainqueur."; next; mes "[Guide du Turbo Track]"; mes "Il n'y aucune restriction de Niveau ou de Profession dans le Turbo Track. Cependant, les frais d'inscription s'élèvent à 1,000 zénys."; // ^FFFFFFcobo^000000"; - C'est quoi ce truc? Je supprime. [No Healing] next; break; case 2: mes "[Guide du Turbo Track]"; mes "Les courses du Turbo Track sont faites d'une multitude d'épreuves: ^4d4dffle Pont de Rondins, les Montagnes de Caisses, le Désert Maudit, le Labyrinthe Aveugle, l'Escargot Solitaire, le Serpent de Dés, la Petite Grotte, et le Labyrinthe Invisible."; next; mes "[Guide du Turbo Track]"; mes "Les épreuves à franchir dépendent du mode de jeu. Voudriez-vous en apprendre plus sur une épreuve en particulier?"; // ^FFFFFFcobo^000000"; next; set .@exitloop,1; while (.@exitloop) { switch(select("Pont de Rondins et Montagnes de Caisses:Désert Maudit et Labyrinthe Aveugle:Escargot Solitaire et Labyrinthe Invisible:Serpent de Dés et Petite Grotte:Non, merci.")) { case 1: mes "[Guide du Turbo Track]"; mes "L'épreuve du Pont de Rondins consiste à franchir un simple rondin sans tomber, sous peine de se retrouver au début à nouveau."; next; mes "[Guide du Turbo Track]"; mes "Les Montagnes de Caisses sont un labyrinthe fait de caisses et de coffres. Vous pouvez en escalader certaines, mais pas d'autres. Vous devrez trouver le meilleur chemin."; next; break; case 2: mes "[Guide du Turbo Track]"; mes "Le Désert Maudit est une petit épreuve pleine de surprises. Si vous êtes malchanceux, vous pourrez vous retrouver étourdi, voire même maudit!"; next; mes "[Guide du Turbo Track]"; mes "La Labyrinthe Aveugle est plein de pièges qui aveuglent les participants. Il faut donc être extrêmement prudent lorsque l'on se déplace dans ce labyrinthe. Il est surement plus prudent de prendre son temps pour éviter les pièges..."; next; break; case 3: mes "[Guide du Turbo Track]"; mes "L'Escargot Solitaire est une étroite spirale en forme d'escargot. Il n'y a pas beaucoup d'obstacles, mais il sera difficile d'aller à pleine vitesse pendant cette épreuve."; next; mes "[Guide du Turbo Track]"; mes "Le Labyrinthe Invisible ressemble à une grande pièce vide. Cependant, elle est remplie de murs invisibles. Les participants pourront y trouver quelques indices, si bien que le franchir est loin d'être impossible."; next; break; case 4: mes "[Guide du Turbo Track]"; mes "L'épreuve du Serpent de Dés est un long sentier serpentant entre des ennemis. Il y a un facteur de chance dans cette épreuve que vous découvrirez par vous-même."; next; mes "[Guide du Turbo Track]"; mes "La Petite Grotte est une simple réplique de la grotte de Payon. Ça devrait être un jeu d'enfant pour ceux qui ont l'habitude de chasser dans les Grottes de Payon."; next; break; case 5: mes "[Guide du Turbo Track]"; mes "Je vois. Comme vous voulez. Bonne chance pour la course!"; next; set .@exitloop,0; } } mes "[Guide du Turbo Track]"; mes "Puis-je vous renseigner sur autre chose?"; next; break; case 3: mes "[Guide du Turbo Track]"; mes "Il y a différents Modes disponibles pour les courses du Turbo Track: le Mode Normal, le Mode Expert et le Mode Solitaire."; next; mes "[Guide du Turbo Track]"; mes "À la différence des autres modes, les joueurs en ^4d4dffMode Expert peuvent combattre entre eux^000000. Ce mode est parfait pour les équipes ou les guildes."; next; mes "[Guide du Turbo Track]"; mes "Le labyrinthe Invisible quant à lui n'est disponible que pour les courses à 16 joueurs en Mode ^4d4dffNormal^000000 et ^4D4DFFExpert^000000."; next; mes "[Guide du Turbo Track]"; mes "Vous pourrez passer toutes les épreuves en Mode Solitaire, et le nom du joueur le plus rapide sera affiché dans notre Temple de la Renommée."; next; break; case 4: mes "[Guide du Turbo Track]"; mes "Les objets suivants ne peuvent pas être utilisés dans le Turbo Track: Potion Verte, Panacea et Aile de Mouche. Ils n'auront aucun effet tant qu'une course sera en cours."; next; mes "[Guide du Turbo Track]"; mes "Les compétences suivantes sont également interdites pendant la course: Rapine, Téléportation, Portail, Disparition, Dissimulation, Filature, Guérison, Mur de Glace, Berserk, Basilique, Le Moulin Au Clair De Lune et Concentration."; next; //this aopears to suposed to fall through. case 5: mes "[Guide du Turbo Track]"; mes "Passez un agréable moment au Turbo Track d'Al De Baran. Merci~"; 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","Une course en [Mode Normal - Solitaire] est sur le point de se terminer.",bc_map,"0xadff2f"; end; Onend_n4: mapannounce "turbo_room","Une course en [Mode Normal - 4 Joueurs] est sur le point de se terminer.",bc_map,"0xadff2f"; end; Onend_n8: mapannounce "turbo_room","Une course en [Mode Normal - 8 Joueurs] est sur le point de se terminer.",bc_map,"0xadff2f"; end; Onend_n16: mapannounce "turbo_room","Une course en [Mode Normal - 16 Joueurs] est sur le point de se terminer.",bc_map,"0xadff2f"; end; Onend_e4: mapannounce "turbo_room","Une course en [Mode Expert - 4 Joueurs] est sur le point de se terminer.",bc_map,"0xadff2f"; end; Onend_e8: mapannounce "turbo_room","Une course en [Mode Expert - 8 Joueurs] est sur le point de se terminer.",bc_map,"0xadff2f"; end; Onend_e16: mapannounce "turbo_room","Une course en [Mode Expert - 16 Joueurs] est sur le point de se terminer.",bc_map,"0xadff2f"; end; Onnew_top1: mapannounce "turbo_room","Félicitations! " + $ttnames$[9] + " vient de passer Numéro Un dans le Temple de la Renommée du Turbo Track!",bc_map,"0x00ff00"; end; Onnew_top2: mapannounce "turbo_room","Félicitations! " + $ttnames$[10] + " vient de passer Numéro Deux dans le Temple de la Renommée du Turbo Track!",bc_map,"0x00ff00"; end; Onnew_top3: mapannounce "turbo_room","Félicitations! " + $ttnames$[11] + " vient de passer Numéro Trois dans le Temple de la Renommée du Turbo Track!",bc_map,"0x00ff00"; end; Onnew_top4: mapannounce "turbo_room","Félicitations! " + $ttnames$[12] + " vient de passer Numéro Quatre dans le Temple de la Renommée du Turbo Track!",bc_map,"0x00ff00"; end; Onnew_top5: mapannounce "turbo_room","Félicitations! " + $ttnames$[13] + " vient de passer Numéro Cinq dans le Temple de la Renommée du Turbo Track!",bc_map,"0x00ff00"; end; Onwin_n4: mapannounce "turbo_room","Félicitations! " + $ttnames$[1] + " vient de remporter une course en [Mode Normal - 4 Joueurs] !",bc_map,"0x70DBDB"; end; Onwin_n8: mapannounce "turbo_room","Félicitations! " + $ttnames$[2] + " vient de remporter une course en [Mode Normal - 8 Joueurs] !",bc_map,"0x70DBDB"; end; Onwin_n16: mapannounce "turbo_room","Félicitations! " + $ttnames$[3] + " vient de remporter une course en [Mode Normal - 16 Joueurs] !",bc_map,"0x70DBDB"; end; Onwin_e4: mapannounce "turbo_room","Félicitations! " + $ttnames$[4] + " vient de remporter une course en [Mode Expert - 4 Joueurs] !",bc_map,"0x70DBDB"; end; Onwin_e8: mapannounce "turbo_room","Félicitations! " + $ttnames$[5] + " vient de remporter une course en [Mode Expert - 8 Joueurs] !",bc_map,"0x70DBDB"; end; Onwin_e16: mapannounce "turbo_room","Félicitations! " + $ttnames$[6] + " vient de remporter une course en [Mode Expert - 16 Joueurs] !",bc_map,"0x70DBDB"; end; } turbo_room,102,117,3 script Temple de la Renommée::Hall of Honor#tt 857,{ mes "^2F4F4F Temple de la Renommée du Turbo Track^000000"; mes " "; mes "* Premier: ^4d4dff" + $ttnames$[7] + "^000000"; mes " "; mes "* Second: ^4d4dff" + $ttnames$[8] + "^000000"; close; } turbo_room,77,115,5 script Mode Solitaire::TurboSoloNames 857,{ mes "^2F4F4FRecord en Mode Solitaire^000000"; mes " "; mes "Le meilleur joueur en Mode Solitaire est..."; mes "^4d4dff" + $ttnames$[0] + "^000000 !"; close; } turbo_room,87,114,5 script Records Mode Normal::TurboNormalNames 857,{ mes "<>"; mes "Record en Mode Normal - 4 Joueurs"; mes "^4d4dff" + $ttnames$[1] + "^000000"; mes "Record en Mode Normal - 8 Joueurs"; mes "^4d4dff" + $ttnames$[2] + "^000000"; mes "Record en Mode Normal - 16 Joueurs"; mes "^4d4dff" + $ttnames$[3] + "^000000"; close; } turbo_room,112,114,3 script Records Mode Expert::TurboExpertNames 857,{ mes "<>"; mes "Record en Mode Expert - 4 Joueurs"; mes "^4d4dff" + $ttnames$[4] + "^000000"; mes "Record en Mode Expert - 8 Joueurs"; mes "^4d4dff" + $ttnames$[5] + "^000000"; mes "Record en Mode Expert - 16 Joueurs"; mes "^4d4dff" + $ttnames$[6] + "^000000"; close; } turbo_room,97,117,5 script Temple de la Renommée::Hall of Honor#tt2 857,{ mes "^2F4F4F Temple de la Renommée du Turbo Track^000000"; // mes " "; mes "1er: ^4d4dff" + $ttnames$[9] + "^000000"; mes "2nd: ^4d4dff" + $ttnames$[10] + "^000000"; mes "3ème: ^4d4dff" + $ttnames$[11] + "^000000"; mes "4ème: ^4d4dff" + $ttnames$[12] + "^000000"; mes "5ème: ^4d4dff" + $ttnames$[13] + "^000000"; close; } turbo_room,75,95,5 duplicate(TurboSoloNames) Mode Solitaire::Solo Mode#1 857 turbo_room,67,95,5 duplicate(TurboNormalNames) Records Mode Normal::Normal Mode Records#1 857 turbo_room,71,95,5 duplicate(TurboExpertNames) Records Mode Expert::Expert Mode Records#1 857 // Turbo Track Item Exchanger turbo_room,93,117,5 script Échange de Points::Point Exchange Helper 125,{ if ((MaxWeight-Weight) < 2000 || checkweight(1201,1) == 0) { mes "^3355FFUne petite minute!"; mes "Vous transportez trop d'objets sur vous. Revenez me voir après avoir utilisé les Services Kafra.^000000"; close; } if (tt_point < 10) { mes "[Échange de Points]"; mes ( isday() ? "Bonjour" : "Bonsoir" ) + ", " + strcharinfo(0) + "."; mes "Vous avez un total de " + tt_point + " Points Turbo Track."; next; mes "[Échange de Points]"; mes "Si vous avez au moins 10 Points Turbo Track, vous pourrez les échanger contre des objets. Voulez-vous consulter la liste des objets disponibles?"; next; if (select("Oui.:Annuler.") == 1) { mes "[Échange de Points]"; mes "^3355FF10 points^000000: 1 Bon de Téléportation Gratuite de la Kafra"; mes "^3355FF12 points^000000: 1 Parchemin Magique de niveau 5"; mes "^3355FF40 points^000000: Points d'Expérience"; next; mes "[Échange de Points]"; mes "^3355FF150 points^000000: 1 Diamant 3 Carats"; mes "^3355FF300 points^000000: 1 Paquet Cadeau"; mes "^3355FF400 points^000000: 1 Potion de Vitesse"; next; mes "[Échange de Points]"; mes "Vous pouvez aussi convertir vos Points de l'Arène. Le Responsable des Points pourra vous fournir plus d'informations à ce sujet. Merci."; close; } mes "[Échange de Points]"; mes "Nous espérons que vous appréciez le Turbo Track d'Al De Baran. Essayez de gagner autant de points que vous pouvez: vous pourrez les échanger plus tard contre des objets. Bonne course~"; close; } else { mes "[Échange de Points]"; mes ( isday() ? "Bonjour" : "Bonsoir" ) + ", " + strcharinfo(0) + ". Vous avez un total de " + tt_point + " Points Turbo Track. Voudriez-vous les échanger contre des objets?"; next; switch(select("Les échanger.:Annuler.")) { case 1: mes "[Échange de Points]"; mes "Veuillez choisir l'objet que vous voudriez échanger contre des Points Turbo Track."; next; switch(select("Bon de Téléportation Gratuite:Parchemin Magique de niveau 5:Points d'Expérience:Diamant 3 Carats:Paquet Cadeau:Potion de Vitesse:Annuler.")) { case 1: mes "[Échange de Points]"; mes "Chaque Bon coûte 10 Points Turbo Track. Combien de Bons désirez-vous ('^3355FF0^000000' pour annuler)?"; next; input .@input; if (.@input == 0) { mes "[Échange de Points]"; mes "Vous avez annulé l'échange."; close; } else if (.@input < 0 || .@input > 50) { mes "[Échange de Points]"; mes "Je suis désolé mais nous ne pouvons pas échanger plus de 50 Bons à la fois."; close; } else { set .@total_point,10 * .@input; if (.@total_point > tt_point) { mes "[Échange de Points]"; mes "Je suis désolé mais vous n'avez pas assez de Points Turbo Track. Vous devriez vérifier votre nombre de points actuels avant de faire un nouvel échange."; close; } set tt_point,tt_point-.@total_point; getitem 7060,.@input; //Warp_Free_Ticket mes "[Échange de Points]"; mes "Merci de votre participation. Nous espérons bientôt vous revoir ici, au Turbo Track~"; close; } case 2: mes "[Échange de Points]"; mes "Chaque Parchemins coûte 12 Points Turbo Track. Veuillez sélectionner le type de parchemin qui vous intéresse. Chaque parchemin permet de lancer un sort au niveau 5."; next; switch(select("Crocs Sismiques:Pluie de Glace:Pluie de Feu:Pluie d'Éclairs:Brûlure Psychique:Boule de Feu:Mur de Feu:Gel:Soin")) { case 1: set .@scroll,687; //Earth_Scroll_1_5 set .@name$,"Crocs Sismiques"; break; case 2: set .@scroll,689; //Cold_Scroll_1_5 set .@name$,"Pluie de Glace"; break; case 3: set .@scroll,691; //Fire_Scroll_1_5 set .@name$,"Pluie de Feu"; break; case 4: set .@scroll,693; //Wind_Scroll_1_5 set .@name$,"Pluie d'Éclairs"; break; case 5: set .@scroll,695; //Ghost_Scroll_1_5 set .@name$,"Brûlure Psychique"; break; case 6: set .@scroll,697; //Fire_Scroll_2_5 set .@name$,"Boule de Feu"; break; case 7: set .@scroll,699; //Fire_Scroll_3_5 set .@name$,"Mur de Feu"; break; case 8: set .@scroll,12000; //Cold_Scroll_2_5 set .@name$,"Gel"; break; case 9: set .@scroll,12002; //Holy_Scroll_1_5 set .@name$,"Soin"; break; } mes "[Échange de Points]"; mes "Veuillez indiquer combien de ^4d4dff Parchemins de "+.@name$+"^000000 vous désirez ('^3355FF0^000000' pour annuler)."; next; input .@input; if (.@input == 0) { mes "[Échange de Points]"; mes "Vous avez annulé l'échange."; close; } else if (.@input < 0 || .@input > 50) { mes "[Échange de Points]"; mes "Je suis désolé mais nous ne pouvons pas échanger plus de 50 Parchemins à la fois."; close; } else { set .@total_point,12 * .@input; if (.@total_point > tt_point) { mes "[Échange de Points]"; mes "Je suis désolé mais vous n'avez pas assez de Points Turbo Track. Vous devriez vérifier votre nombre de points actuels avant de faire un nouvel échange."; close; } set tt_point,tt_point-.@total_point; getitem .@scroll,.@input; mes "[Échange de Points]"; mes "Merci de votre participation. Nous espérons bientôt vous revoir ici, au Turbo Track~"; close; } case 3: mes "[Échange de Points]"; mes "Vous pouvez échanger 40 Points Turbo Track afin de recevoir un certain montant d'Expérience de Base. Désirez-vous faire l'échange?"; next; if (select("Non:Oui") == 2) { if (tt_point < 40) { mes "[Échange de Points]"; mes "Je suis désolé mais vous n'avez pas assez de Points Turbo Track. Vous devriez vérifier votre nombre de points actuels avant de faire un nouvel échange."; 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 "[Échange de Points]"; mes "Merci. Vos Points Turbo Track ont été convertis en Expérience de Base."; close; } mes "[Échange de Points]"; mes "Vous avez annulé l'échange."; close; case 4: mes "[Échange de Points]"; mes "Vous pouvez échanger 150 Points Turbo Track contre un ^3131FFDiamant 3 Carats^000000. Veuillez indiquer combien de Diamants vous désirez ('^3355FF0^000000' pour annuler)."; next; input .@input; if (.@input == 0) { mes "[Échange de Points]"; mes "Vous avez annulé l'échange."; close; } else if (.@input < 0 || .@input > 10) { mes "[Échange de Points]"; mes "Je suis désolé mais nous ne pouvons pas échanger plus de 10 Diamants à la fois."; close; } else { set .@total_point,150 * .@input; if (.@total_point > tt_point) { mes "[Échange de Points]"; mes "Je suis désolé mais vous n'avez pas assez de Points Turbo Track. Vous devriez vérifier votre nombre de points actuels avant de faire un nouvel échange."; close; } set tt_point,tt_point-.@total_point; getitem 732,.@input; //Crystal_Jewel__ mes "[Échange de Points]"; mes "Merci de votre participation. Nous espérons bientôt vous revoir ici, au Turbo Track~"; close; } case 5: mes "[Échange de Points]"; mes "Vous pouvez échanger 300 Points Turbo Track contre un ^3131FF Paquet-Cadeau?^000000. Veuillez indiquer combien de Paquets-Cadeau vous désirez ('^3355FF0^000000' pour annuler)."; next; input .@input; if (.@input == 0) { mes "[Échange de Points]"; mes "Vous avez annulé l'échange."; close; } else if (.@input < 0 || .@input > 10) { mes "[Échange de Points]"; mes "Je suis désolé mais nous ne pouvons pas échanger plus de 10 Paquets-Cadeau à la fois."; close; } else { set .@total_point,300 * .@input; if (.@total_point > tt_point) { mes "[Échange de Points]"; mes "Je suis désolé mais vous n'avez pas assez de Points Turbo Track. Vous devriez vérifier votre nombre de points actuels avant de faire un nouvel échange."; close; } set tt_point,tt_point-.@total_point; getitem 644,.@input; //Gift_Box mes "[Échange de Points]"; mes "Merci de votre participation. Nous espérons bientôt vous revoir ici, au Turbo Track~"; close; } case 6: mes "[Échange de Points]"; mes "Vous pouvez échanger 400 Points Turbo Track contre une ^3131FF Potion de Vitesse^000000. Veuillez indiquer combien de Potions vous désirez ('^3355FF0^000000' pour annuler)."; next; input .@input; if (.@input == 0) { mes "[Échange de Points]"; mes "Vous avez annulé l'échange."; close; } else if (.@input < 0 || .@input > 10) { mes "[Échange de Points]"; mes "Je suis désolé mais nous ne pouvons pas échanger plus de 10 Potions à la fois."; close; } else { set .@total_point,400 * .@input; if (.@total_point > tt_point) { mes "[Échange de Points]"; mes "Je suis désolé mais vous n'avez pas assez de Points Turbo Track. Vous devriez vérifier votre nombre de points actuels avant de faire un nouvel échange."; close; } set tt_point,tt_point-.@total_point; getitem 12016,.@input; //Speed_Up_Potion mes "[Échange de Points]"; mes "Merci de votre participation. Nous espérons bientôt vous revoir ici, au Turbo Track~"; close; } case 7: mes "[Échange de Points]"; mes "Ce service d'Échange des Points vous a été offert par..."; next; mes "[Échange de Points]"; mes "...la Corporation Kafra, la Guilde des Forgerons, le Casino de Comodo, et les Châteaux de Guilde de Luina!"; close; } case 2: mes "[Échange de Points]"; mes "Les Points de l'Arène peuvent être convertis en Points Turbo Track. Vous pouvez avoir un maximum de ^4D4DFF29,000 Points Turbo Track."; next; mes "[Échange de Points]"; mes "Vous devriez dépenser quelques points lorsque vous approchez de cette limite, avant de pouvoir continuer à en gagner dans les courses."; close; } } } turbo_room,106,117,3 script Responsable des Points::Point Manager#tt 833,{ mes "[Responsable des Points]"; mes ( isday() ? "Bonjour" : "Bonsoir" ) + ". J'espère que vous appréciez le Turbo Track. En quoi puis-je vous aider?"; next; // Bugfix: Ligne originale supprimée (pas de dialogue pour le case 3, cf plus bas): [No Healing] // switch(select("Vérifier son nombre de Points:Convertir des Points:^660000Informations sur la Conversion^000000")) { switch(select("Vérifier son nombre de Points:Convertir des Points")) { case 1: mes "[Responsable des Points]"; mes "" + strcharinfo(0) + ", vous avez actuellement un total de " + tt_point + " Points Turbo Track, et " + arena_point + " Points de l'Arène."; close; case 2: mes "[Responsable des Points]"; mes "" + strcharinfo(0) + ", vous avez actuellement un total de " + tt_point + " Points Turbo Track, et " + arena_point + " Points de l'Arène."; next; mes "[Responsable des Points]"; mes "Veuillez choisir combien de points vous voulez convertir. Si vous choisissez d'en convertir plus de 10, vous ne pourrez en convertir que des ^4D4DFFmultiples de 10^000000."; next; switch(select("2 Points de l'Arène -> 1 Point Turbo Track:4 Points de l'Arène -> 2 Points Turbo Track:6 Points de l'Arène -> 3 Points Turbo Track:8 Points de l'Arène -> 4 Points Turbo Track:10 Points de l'Arène ou plus:Annuler")) { 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 "[Responsable des Points]"; mes "Veuillez indiquer combien de Points d'Arènes vous voulez convertir, en multiples de 10 (de 1 à 20, ou '^3355FF0^000000' pour annuler)."; next; input .@input; if (.@input == 0) { mes "[Responsable des Points]"; mes "Vous avez annulé l'échange."; close; } else if (.@input > 20) { mes "[Responsable des Points]"; mes "Vous avez dépassé la limite. Vous ne pouvez pas échanger plus de 20 fois 10 points."; 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 "[Responsable des Points]"; mes "Malheureusement, vous dépasseriez le nombre maximum de Points Turbo Track si je procédais à la conversion. Vous devriez dépenser d'autres points avant d'utiliser notre service de conversion. Merci."; close; } if (.@my_arena_all < 0) { mes "[Responsable des Points]"; mes "Je suis désolé mais vous n'avez pas assez de Points de l'Arène pour faire la conversion en Points Turbo Track."; close; } else { mes "[Responsable des Points]"; mes "Vous venez de convertir 10 Points de l'Arène en Points Turbo Track " + .@input + " fois de suite."; mes "Un total de " + .@want_point1 + " Points de l'Arène ont été convertis en " + .@want_point +" Points Turbo Track."; set arena_point,.@my_arena_all; //arena_point set tt_point,.@my_turbo_all; next; mes "[Responsable des Points]"; mes "" + strcharinfo(0) + ", vous avez maintenant un total de " + tt_point + " Points Turbo Track, et " + arena_point + " Points de l'Arène."; close; } } case 6: mes "[Responsable des Points]"; mes "Vous avez annulé l'échange."; 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 "[Responsable des Points]"; mes "Malheureusement, vous dépasseriez le nombre maximum de Points Turbo Track si je procédais à la conversion. Vous devriez dépenser d'autres points avant d'utiliser notre service de conversion. Merci."; close; } if (arena_point >= getarg(1)) { mes "[Responsable des Points]"; mes "Comme vous me l'avez demandé, j'ai converti les Points de l'Arène en Turbo Track Point, avec un taux de 2 pour 1."; set arena_point,arena_point-getarg(1); set tt_point,tt_point+getarg(2); next; mes "[Responsable des Points]"; mes "" + strcharinfo(0) + ", vous avez maintenant un total de " + tt_point + " Points Turbo Track, et " + arena_point + " Points de l'Arène."; close; } else { mes "[Responsable des Points]"; mes "Je suis désolé mais vous n'avez pas assez de Points de l'Arène. Il vous faut au minimum 2 Points de l'Arène pour utiliser ce service."; close; } } alde_gld,183,204,0 script en_turbo 45,1,1,{ OnTouch: if (checkweight(1201,1) == 0) { mes "^3355FFUne petite minute!"; mes "Vous transportez trop d'objets sur vous. Revenez après avoir utilisé les Services Kafra.^000000"; close; } set .@now_weight,MaxWeight-Weight; if ((BaseJob == Job_Knight || BaseJob == Job_Crusader) && checkriding()) { if (.@now_weight < 20000) { mes "[Helper]"; mes "Les Péco Péco sont interdits dans l'enceinte du Turbo Track. Une de nos employées pourra en prendre soin et vous remettra un Bon pour un Péco Gratuit en échange de votre monture."; 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 Guide du Turbo Track::Turbo Track Guide#Entran 845,{ mes "[Guide]"; mes "Bienvenue au Turbo Track d'Al De Baran~"; next; mes "[Guide]"; mes "Les Péco Péco sont interdits dans l'enceinte du Turbo Track, mais ceux qui en possèdent un recevront un Bon pour un Péco Gratuit en échange de leur monture."; next; mes "[Guide]"; mes "Passez un agréable moment au Turbo Track~!"; close; } alde_gld,181,199,5 script Responsable des Péco::Peco Peco Manager 845,{ mes "[Responsable des Péco]"; if (BaseJob == Job_Knight || BaseJob == Job_Crusader) { mes "Bienvenue! Voulez-vous reprendre votre Péco? Montrez-moi votre Bon pour un Péco Gratuit, s'il vous plaît. Si vous l'avez perdu, vous devrez payer 2.500 zénys pour le récupérer."; next; switch(select("Utiliser le Bon:Annuler")) { case 1: if (getskilllv(63) == 0) { mes "[Responsable des Péco]"; mes "Je suis désolé, mais vous ne pouvez pas utiliser ce service. Il vous faudra d'abord apprendre la compétence 'Équitation'."; close; } else { if (checkriding()) { mes "[Responsable des Péco]"; mes "Oh, mais vous êtes déjà sur un Péco Péco! Vous ne pouvez pas en louer plusieurs. Bonne "+ ( isday() ? "journée" : "soirée" ) +"~"; close; } else { if (countitem(7310) < 1 && Zeny < 2500) { mes "[Responsable des Péco]"; mes "Je suis désolée mais vous n'avez pas de Bon, ni 2.500 zénys pour payer la location."; close; } else { if (countitem(7310) > 0) delitem 7310,1; //Free_Peco_Ticket else set zeny,zeny-2500; setriding; mes "[Responsable des Péco]"; mes "Merci de votre participation au Turbo Track~"; close; } } } case 2: mes "[Responsable des Péco]"; mes "Voulez-vous de nouveau participer au Turbo Track?"; mes "Bonne chance!"; close; } } else { mes "Merci d'avoir visité le Turbo Track d'Al De Baran~"; close; } } alde_gld,178,180,0 script Signe#TBT 837,{ mes "[Turbo Track d'Al De Baran]"; mes "Ici se trouve..."; mes "Le Turbo Track d'Al De Baran."; next; mes "[Turbo Track d'Al De Baran]"; mes "Le Turbo Track est une arène où les participants luttent pour passer en premier la ligne d'arrivée. Ne manquez pas cette opportunité courir contre vos amis et de vous mesurer à eux!"; close; }