//Le Livre d'Ymir http://www.bookofymir.net/ //traduit par No Healing //===== eAthena Script ======================================= // BattleGround System - KvM Item Dealer //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= eAthena 1.0 //===== Description: ========================================= //= [AEGIS Conversion] //= Kreiger Von Midgard Battleground Point redemption NPC //= * NOTE * //= KvM Does NOT use items, but a character variable to //= keep track of points. This NPC when talked to will //= convert already-given tokens and convert them to points. //= under the player variable kvm_point. //===== Additional Comments: ================================= //= 1.0 First Version. //============================================================ bat_room,151,144,3 script Logistique de Kreiger::KVM Logistic Officer#a 734,{ if (countitem(7773)) { set .@pointstoadd,countitem(7773); delitem 7773,.@pointstoadd; set kvm_point,kvm_point+.@pointstoadd; mes "[Logistique]"; mes "Que vois-je? Des Médailles d'Héroïsme? Nous n'acceptons plus cette devise, mais je peux vous donner ceci à la place..."; mes "Vous avez donc "+.@pointstoadd+" Médailles d'Héroïsme? Bien, voilà. C'est fait. Vous avez maintenant ^580080"+ kvm_point +"^000000 points de Kreiger Von Midgard."; next; } if (checkweight(1201,1) == 0) { mes "- Une petite minute! Vous portez trop d'objets sur vous. Revenez après vous être allégé un peu. -"; close; } mes "[Logistique]"; mes "Salut à vous! J'ai pour charge de distribuer des récompenses en échange de points de Kreiger Von Midgard. Faites bien attention en choisissant: je ne reprendrai pas les récompenses si jamais vous vous trompez! Que puis-je pour vous?"; next; set .@name$,strcharinfo(0); switch(select("Consulter le catalogue.:Acheter des objets.:Consulter son nombre de points.:Explications sur les récompenses.:Explications sur les points.")) { case 1: mes "[Logistique]"; mes "Voici le catalogue des récompenses de Kreiger Von Midgard. Chaque arme coûte 2.000 points, et les armures de 10 à 1.200 points. Faites bien attention en choisissant une récompense!"; close2; ReadBook 11017,1; end; case 2: mes "[Logistique]"; mes "Quel type d'objet vous intéresse-t-il? Je vous laisse consulter le ^3131FFCatalogue^000000 pour avoir plus d'informations sur chacun des pièces."; next; switch(select("Armes:Armures/Accessoires:Armures/Accessoires ordinaires:Armures/Accessoires populaires")) { case 1: mes "[Logistique]"; mes "Bien, vous voulez une arme. Choisissez une sous-catégorie."; next; switch(select("Dague/Épée/Lance:Bâton/Masse/Hache/Shuriken:Arc/Katar/Musique/Fouet:Livre/Griffes:Armes à feu")) { case 1: mes "[Logistique]"; mes "Bien, veuillez à nouveau choisir une sous-catégorie."; next; switch(select("Dague:Épée à une main:Épée à deux mains:Lance à une main:Lance à deux mains")) { case 1: callsub PurchaseItem,13042,0,1; //Krieger_Dagger1 case 2: mes "[Logistique]"; mes "Nous avons trois épées à une main différentes. Vous pouvez consulter le catalogue pour plus d'informations sur chacune d'entre elles. Laquelle vous intéresse?"; next; switch(select(getitemname(14316)+":"+getitemname(14317)+":"+getitemname(14318))) { case 1: callsub PurchaseItem,13416,0,0; //Krieger_Onehand_Sword1 case 2: callsub PurchaseItem,13417,0,0; //Krieger_Onehand_Sword2 case 3: callsub PurchaseItem,13418,0,0; //Krieger_Onehand_Sword3 } case 3: callsub PurchaseItem,1187,0,1; //Krieger_Twohand_Sword1 case 4: callsub PurchaseItem,1426,0,1; //Krieger_Onehand_Spear1 case 5: callsub PurchaseItem,1486,0,1; //Krieger_Twohand_Spear1 } case 2: mes "[Logistique]"; mes "Bien, veuillez à nouveau choisir une sous-catégorie."; next; switch(select("Bâtons:"+getitemname(1546)+":"+getitemname(1310)+":"+getitemname(1382)+":"+getitemname(13307))) { case 1: mes "[Logistique]"; mes "Nous avons trois bâtons différents. Vous pouvez consulter le catalogue pour plus d'informations sur chacune d'entre elles. Laquelle vous intéresse?"; next; switch(select(getitemname(2002)+":"+getitemname(1640)+":"+getitemname(1641))) { case 1: callsub PurchaseItem,2002,0,0; //Krieger_Twohand_Staff1 case 2: callsub PurchaseItem,1640,0,0; //Krieger_Onehand_Staff1 case 3: callsub PurchaseItem,1641,0,0; //Krieger_Onehand_Staff2 } case 2: callsub PurchaseItem,1546,0,1; //Krieger_Onehand_Mace1 case 3: callsub PurchaseItem,1310,0,1; //Krieger_Onehand_Axe1 case 4: callsub PurchaseItem,1382,0,1; //Krieger_Twohand_Axe1 case 5: callsub PurchaseItem,13307,0,1; //Krieger_Huuma_Shuriken1 } case 3: mes "[Logistique]"; mes "Bien, veuillez à nouveau choisir une sous-catégorie."; next; switch(select(getitemname(1743)+":Katars:"+getitemname(1927)+":"+getitemname(1981))) { case 1: callsub PurchaseItem,1743,0,1; //Krieger_Bow1 case 2: mes "[Logistique]"; mes "Nous avons deux katars différents. Vous pouvez consulter le catalogue pour plus d'informations sur chacune d'entre elles. Laquelle vous intéresse?"; next; switch(select(getitemname(1281)+":"+getitemname(1282))) { case 1: callsub PurchaseItem,1281,0,0; //Krieger_Katar1 case 2: callsub PurchaseItem,1282,0,0; //Krieger_Katar2 } case 3: callsub PurchaseItem,1927,0,1; //Krieger_Instrument1 case 4: callsub PurchaseItem,1981,0,1; //Krieger_Whip1 } case 4: mes "[Logistique]"; mes "Bien, veuillez à nouveau choisir une sous-catégorie."; next; switch(select("Livre:Griffes")) { case 1: mes "[Logistique]"; mes "Nous avons deux livres différents. Vous pouvez consulter le catalogue pour plus d'informations sur chacune d'entre elles. Laquelle vous intéresse?"; next; switch(select(getitemname(1576)+":"+getitemname(1577))) { case 1: callsub PurchaseItem,1576,0,0; //Krieger_Book1 case 2: callsub PurchaseItem,1577,0,0; //Krieger_Book2 } case 2: mes "[Logistique]"; mes "Nous avons deux types de griffes différents. Vous pouvez consulter le catalogue pour plus d'informations sur chacune d'entre elles. Laquelle vous intéresse?"; next; switch(select(getitemname(1826)+":"+getitemname(1827))) { case 1: callsub PurchaseItem,1826,0,0; //Krieger_Knuckle1 case 2: callsub PurchaseItem,1827,0,0; //Krieger_Knuckle2 } } case 5: mes "[Logistique]"; mes "Bien, veuillez à nouveau choisir une sous-catégorie."; next; switch(select("Révolver:Fusil:Mitraillette:Fusil de Chasse:Lance-Grenade")) { case 1: callsub PurchaseItem,13110,0,1; //Krieger_Pistol1 case 2: callsub PurchaseItem,13176,0,1; //Krieger_Rifle1 case 3: callsub PurchaseItem,13177,0,1; //Krieger_Gatling1 case 4: callsub PurchaseItem,13178,0,1; //Krieger_Shotgun1 case 5: callsub PurchaseItem,13179,0,1; //Krieger_Launcher1 } } case 2: mes "[Logistique]"; mes "Bien, veuillez à nouveau choisir une sous-catégorie."; next; switch(select("Armure:Cape:Chaussures:Accessoire")) { case 1: callsub PurchaseItem,2394,1,2; //Krieger_Suit1 case 2: callsub PurchaseItem,2549,2,2; //Krieger_Muffler1 case 3: callsub PurchaseItem,2444,3,2; //Krieger_Shoes1 case 4: callsub PurchaseItem,2772,4,2; //Krieger_Ring1 } case 3: mes "[Logistique]"; mes "Bien, veuillez à nouveau choisir une sous-catégorie."; next; switch(select("Armure ordinaire:Chaussures ordinaires:Accessoire ordinaire")) { case 1: callsub PurchaseItem,2395,5,3; //Krieger_Suit2 case 2: callsub PurchaseItem,2445,6,3; //Krieger_Shoes2 case 3: callsub PurchaseItem,2773,7,3; //Krieger_Ring2 } case 4: mes "[Logistique]"; mes "Bien, veuillez à nouveau choisir une sous-catégorie."; next; switch(select("Armure populaire:Chaussures populaires:Accessoire populaire")) { case 1: callsub PurchaseItem,2396,8,4; //Krieger_Suit3 case 2: callsub PurchaseItem,2446,9,4; //Krieger_Shoes3 case 3: callsub PurchaseItem,2774,10,4; //Krieger_Ring3 } } case 3: mes "[Logistique]"; mes ""+ .@name$ +", vous avez actuellement ^580080"+ kvm_point +"^000000 points de Kreiger Von Midgard."; close; case 4: mes "[Logistique]"; mes "Il y a trois types de récompenses différents: des armes, des armures, et des accessoires."; next; mes "[Logistique]"; mes "Les armes coûtent 2.000 points de Kreiger Von Midgard chaque. Les armures sont de trois types, et coûtent 840, 630, ou 580 points chaque. Les accessoires quant à eux coûtent 1.200 points chaque."; next; mes "[Logistique]"; mes "Les armes de Kreiger sont des armes niveau 4, qui peuvent être améliorées et avoir des effets particuliers: Massacre, Destruction et Bénédiction."; next; mes "[Logistique]"; mes "En portant une armure complète, vous recevrez aussi certains pouvoirs supplémentaires. De même, porter à la fois des accessoires de Kreiger et une médaille de Tierra ou de Flavius augmentera leur puissance."; next; mes "[Logistique]"; mes "Enfin, il existe aussi des armures et des accessoires ordinaires, que les joueurs de niveau 60 ou plus peuvent équiper. Il en va de même pour les armures et accessoires populaires."; close; case 5: mes "[Logistique]"; mes "Vous recevez des points de Kreiger Von Midgard que vous gagniez ou perdiez une bataille. Vous pouvez obtenir des récompenses spéciales en échange de ces points."; close; } PurchaseItem: // Pricing for Weapon, Suit1, Muffler1, Shoes1, Ring1m Suit2, Shoes2, Ring2, Suit3, Shoes3, Ring3 setarray .@prices[0],2000,840,630,580,1200,120,70,200,15,10,30; mes "[Logistique]"; if (!getarg(2)) mes "Vous avez choisi l'objet suivant: ^ff0000"+getitemname(getarg(0))+"^000000."; else if (getarg(2) == 1) mes "Il n'existe qu'un seul type de l'objet choisi: "+getitemname(getarg(0))+"."; else if (getarg(2) == 2) { mes "Vous avez choisi l'objet suivant: '"+callfunc("F_GetArmorType",getarg(0))+"'."; mes "L'armure suivante est disponible pour les joueurs de niveau 80 ou plus: ^ff0000"+getitemname(getarg(0))+"^000000."; } else if (getarg(2) == 3) { mes "Vous avez choisi l'objet suivant: "+callfunc("F_GetArmorType",getarg(0))+"'."; mes "Il n'en existe qu'un seul type: ^ff0000"+getitemname(getarg(0))+"^000000."; } else if (getarg(2) == 4) { mes "Vous avez choisi l'objet suivant: "+callfunc("F_GetArmorType",getarg(0))+"'."; mes "Il n'en existe qu'un seul type: ^ff0000"+getitemname(getarg(0))+"^000000."; } if (!getarg(1)) mes "Il vous en coûtera ^0000ff2.000^000000 points. Vous en avez actuellement ^580080"+ kvm_point +"^000000."; else if (getarg(1) == 4) mes "Il vous en coûtera ^0000ff1.200^000000 points. Vous en avez actuellement ^580080"+ kvm_point +"^000000."; else mes "Il vous en coûtera ^0000ff"+.@prices[getarg(1)]+"^000000 points. Vous en avez actuellement ^580080"+ kvm_point +"^000000."; mes "Êtes-vous sûr"+ ( sex ? "" : "e" ) +" de vouloir cet objet?"; next; switch(select("Non, j'ai changé d'avis.:Oui, j'en suis sûr"+ ( sex ? "" : "e" ) +".")) { case 1: mes "[Logistique]"; mes "Bien, annulons la transaction dans ce cas. A bientôt!"; break; case 2: if (kvm_point >= .@prices[getarg(1)]) { set kvm_point,kvm_point-.@prices[getarg(1)]; getitem getarg(0),1; mes "[Logistique]"; mes "Vous venez d'acheter l'objet suivant: "+getitemname(getarg(0))+"."; if (!getarg(1)) mes "Votre total de points a été réduit de ^0000ff"+getarg(1)+"^000000 points. Vous en avez désormais ^580080"+kvm_point+"^000000."; if (getarg(1) == 4) mes "Votre total de points a été réduit de ^0000ff1.200^000000 points. Vous en avez désormais ^580080"+kvm_point+"^000000."; else mes "Votre total de points a été réduit de ^0000ff"+.@prices[getarg(1)]+"^000000 points. Vous en avez désormais ^580080"+kvm_point+"^000000."; } else { mes "[Logistique]"; if (!getarg(1)) mes "Il vous faut ^0000ff2.000^000000 points pour acheter cet objet."; else if (getarg(1) == 4) mes "Il vous faut ^0000ff1.200^000000 points pour acheter cet objet."; else mes "Il vous faut ^0000ff"+.@prices[getarg(1)]+"^000000 points pour acheter cet objet."; mes "Malheureusement, vous n'avez que ^580080"+ kvm_point +"^000000 points, ce qui ne suffit pas pour l'acheter. Revenez me vois lorsque vous en aurez assez."; } } close; }