//Le Livre d'Ymir http://www.bookofymir.net/ //traduit par Myllena //===== eAthena Script ======================================= //= Novice Goods Exchanger //===== By: ================================================== //= ???, eAthena Team //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= //= [Aegis COnversion] //= Exchanges your Basic Monster drops for Red Potions. //===== Additional Comments: ================================= //= 1.2 Rescripted to Aegis 10.standards. [L0ne_W0lf[ //= Made it easier to add new items to exhange list //= meaning only the exchange is done in a function now. //= 1.3 Fixed dialog mix-up in function. [L0ne_W0lf] //= 1.4 Added checkweight, and input min/max values. [L0ne_W0lf] //============================================================ prontera,123,102,5 script Marchand#pron 85,{ set .@now_weight,MaxWeight-Weight; if (.@now_weight < 6301 || checkweight(1201,1) == 0) { mes "[Marchand]"; mes "Haha!"; mes "Vous vous prenez pour un super héros?"; mes "Vous transportez bien trop d'objets sur vous!"; mes "Vous feriez mieux d'en déposer un peu dans votre Stock Kafra~"; close; } mes "[Marchand]"; mes "Bien le " + ( isday() ? "bonjour" : "bonsoir" ) + "!"; mes "Auriez-vous par hasard une petite collection de Coquilles ou de Duvets?"; mes "Ou peut-être bien des Jellopys? Parce qu'en fait, j'en aurais bien besoin."; next; mes "[Marchand]"; mes "Évidemment, je ne vais pas vous demander de me donner tout ça gratuitement. Et si on disait... Je vous donne une Potion Rouge en échange de 5 Coquilles, 10 Duvets, ou 10 Jellopys?"; next; switch(select("Super!:Quelle arnaque!:Non, merci.")) { case 1: mes "[Marchand]"; mes "Alors, quels objets allez-vous me donner?"; mes "Des Coquilles, des Duvets, ou bien des Jellopys?"; next; switch(select("Coquilles:Jellopys:Duvets:Annuler")) { case 1: callfunc "F_PotExchange",935,5; case 2: callfunc "F_PotExchange",909,10; case 3: callfunc "F_PotExchange",914,10; case 4: mes "[Marchand]"; mes "D'accord~"; mes "Pas de problème."; close; } case 2: mes "[Marchand]"; mes "Une arnaque...?"; mes "Si vous étudiez bien les prix de chaque objet sur le marché actuel, vous vous rendrez compte que je fais du commerce à perte!"; mes "Si vous ne voulez pas profiter de mon offre, allez-vous en!"; close; case 3: mes "[Marchand]"; mes "D'accord, pas de problème."; mes "Revenez si vous changez d'avis."; close; } } morocc,180,259,3 script Marchand#morroc 85,{ set .@now_weight,MaxWeight-Weight; if (.@now_weight < 6301 || checkweight(1201,1) == 0) { mes "[Marchand]"; mes "Haha!"; mes "Vous vous prenez pour un super héros?"; mes "Vous transportez bien trop d'objets sur vous!"; mes "Vous feriez mieux d'en déposer un peu dans votre Stock Kafra~"; close; } mes "[Marchand]"; mes "Bien le " + ( isday() ? "bonjour" : "bonsoir" ) + "!"; mes "Auriez-vous par hasard une petite collection de Coquilles ou de Plumes d'Oiseau?"; mes "Ou peut-être bien des Jellopys? Parce qu'en fait, j'en aurais bien besoin."; next; mes "[Marchand]"; mes "Évidemment, je ne vais pas vous demander de me donner tout ça gratuitement. Et si on disait... Je vous donne une Potion Rouge en échange de 5 Coquilles, 7 Plumes d'Oiseau, ou 10 Jellopys?"; next; switch(select("Super!:Quelle arnaque!:Non, merci.")) { case 1: mes "[Marchand]"; mes "Alors, quels objets allez-vous me donner?"; mes "Des Coquilles, des Plumes d'Oiseau, ou bien des Jellopys?"; next; switch(select("Coquilles:Plumes d'Oiseau:Jellopys:Annuler")) { case 1: callfunc "F_PotExchange",935,5; case 2: callfunc "F_PotExchange",916,7; case 3: callfunc "F_PotExchange",909,10; case 4: mes "[Marchand]"; mes "D'accord~"; mes "Pas de problème."; close; } case 2: mes "[Marchand]"; mes "Une arnaque...?"; mes "Si vous étudiez bien les prix de chaque objet sur le marché actuel, vous vous rendrez compte que je fais du commerce à perte!"; mes "Si vous ne voulez pas profiter de mon offre, allez-vous en!"; close; case 3: mes "[Marchand]"; mes "D'accord, pas de problème."; mes "Revenez si vous changez d'avis."; close; } } payon,200,134,5 script Marchand#pay 85,{ set .@now_weight,MaxWeight-Weight; if (.@now_weight < 6301 || checkweight(1201,1) == 0) { mes "[Marchand]"; mes "Haha!"; mes "Vous vous prenez pour un super héros?"; mes "Vous transportez bien trop d'objets sur vous!"; mes "Vous feriez mieux d'en déposer un peu dans votre Stock Kafra~"; close; } mes "[Marchand]"; mes "Bien le " + ( isday() ? "bonjour" : "bonsoir" ) + "!"; mes "Auriez-vous par hasard une petite collection de Racines d'Arbre?"; mes "Ou peut-être bien des Jellopys? Parce qu'en fait, j'en aurais bien besoin."; next; mes "[Marchand]"; mes "Évidemment, je ne vais pas vous demander de me donner tout ça gratuitement. Et si on disait... Je vous donne une Potion Rouge en échange de 6 Racines d'Arbre, ou 10 Jellopys?"; next; switch(select("Super!:Quelle arnaque!:Non, merci.")) { case 1: mes "[Marchand]"; mes "Alors, quels objets allez-vous me donner?"; mes "Des Racine d'Arbres, ou bien des Jellopys?"; next; switch(select("Racine d'Arbres:Jellopys:Annuler")) { case 1: callfunc "F_PotExchange",902,6; case 2: callfunc "F_PotExchange",909,10; case 3: mes "[Marchand]"; mes "D'accord~"; mes "Pas de problème."; close; } case 2: mes "[Marchand]"; mes "Une arnaque...?"; mes "Si vous étudiez bien les prix de chaque objet sur le marché actuel, vous vous rendrez compte que je fais du commerce à perte!"; mes "Si vous ne voulez pas profiter de mon offre, allez-vous en!"; close; case 3: mes "[Marchand]"; mes "D'accord, pas de problème."; mes "Revenez si vous changez d'avis."; close; } } aldebaran,152,63,5 script Marchand#alde 85,{ set .@now_weight,MaxWeight-Weight; if (.@now_weight < 6301 || checkweight(1201,1) == 0) { mes "[Marchand]"; mes "Haha!"; mes "Vous vous prenez pour un super héros?"; mes "Vous transportez bien trop d'objets sur vous!"; mes "Vous feriez mieux d'en déposer un peu dans votre Stock Kafra~"; close; } mes "[Marchand]"; mes "Bien le " + ( isday() ? "bonjour" : "bonsoir" ) + "!"; mes "Auriez-vous par hasard une petite collection de Peaux de Vers ou de Plumes d'Oiseau?"; mes "Ou peut-être bien des Jellopys? Parce que en fait, j'en aurais bien besoin."; next; mes "[Marchand]"; mes "Évidemment, je ne vais pas vous demander de me donner tout ça gratuitement. Et si on disait... Je vous donne une Potion Rouge en échange de 1 Peau de Ver, 7 Plumes d'Oiseau, ou 10 Jellopys?"; next; switch(select("Super!:Quelle arnaque!:Non, merci.")) { case 1: mes "[Marchand]"; mes "Alors, quels objets allez-vous me donner?"; mes "Des Peaux de Vers, des Plumes d'Oiseau, ou bien des Jellopys?"; next; switch(select("Peaux de Vers:Plumes d'Oiseau:Jellopys:Annuler")) { case 1: callfunc "F_PotExchange",955,1; case 2: callfunc "F_PotExchange",916,7; case 3: callfunc "F_PotExchange",909,10; case 4: mes "[Marchand]"; mes "D'accord~"; mes "Pas de problème."; close; } case 2: mes "[Marchand]"; mes "Une arnaque...?"; mes "Si vous étudiez bien les prix de chaque objet sur le marché actuel, vous vous rendrez compte que je fais du commerce à perte!"; mes "Si vous ne voulez pas profiter de mon offre, allez-vous en!"; close; case 3: mes "[Marchand]"; mes "D'accord, pas de problème."; mes "Revenez si vous changez d'avis."; close; } } geffen,173,88,5 script Marchand#geff 85,{ set .@now_weight,MaxWeight-Weight; if (.@now_weight < 6301 || checkweight(1201,1) == 0) { mes "[Marchand]"; mes "Haha!"; mes "Vous vous prenez pour un super héros?"; mes "Vous transportez bien trop d'objets sur vous!"; mes "Vous feriez mieux d'en déposer un peu dans votre Stock Kafra~"; close; } mes "[Marchand]"; mes "Bien le " + ( isday() ? "bonjour" : "bonsoir" ) + "!"; mes "Auriez-vous par hasard une petite collection de Coquilles ou de Chrysalides?"; mes "Ou peut-être bien des Jellopys? Parce que en fait, j'en aurais bien besoin."; next; mes "[Marchand]"; mes "Évidemment, je ne vais pas vous demander de me donner tout ça gratuitement. Et si on disait... Je vous donne une Potion Rouge en échange de 5 Coquilles, 6 Chrysalides, ou 10 Jellopys?"; next; switch(select("Super!:Quelle arnaque!:Non, merci.")) { case 1: mes "[Marchand]"; mes "Alors, quels objets allez-vous me donner?"; mes "Des Coquilles, des Chrysalides, ou bien des Jellopys?"; next; switch(select("Coquilles:Chrysalides:Jellopys:Annuler")) { case 1: callfunc "F_PotExchange",935,5; case 2: callfunc "F_PotExchange",915,6; case 3: callfunc "F_PotExchange",909,10; case 4: mes "[Marchand]"; mes "D'accord~"; mes "Pas de problème."; close; } case 2: mes "[Marchand]"; mes "Une arnaque...?"; mes "Si vous étudiez bien les prix de chaque objet sur le marché actuel, vous vous rendrez compte que je fais du commerce à perte!"; mes "Si vous ne voulez pas profiter de mon offre, allez-vous en!"; close; case 3: mes "[Marchand]"; mes "D'accord, pas de problème."; mes "Revenez si vous changez d'avis."; close; } } function script F_PotExchange { if (countitem(getarg(0)) < getarg(1)) { mes "[Marchand]"; mes "Hé, où sont tous les "+getitemname(getarg(0))+""; mes "que vous m'aviez promis?"; mes "Donnez-moi des "+getitemname(getarg(0))+"!"; close; } else { mes "[Marchand]"; mes "Ok, voyons voir combien de "+getitemname(getarg(0))+" vous avez rapporté. Hum..."; next; mes "[Marchand]"; mes "Vous avez"; mes "un total de " + countitem(getarg(0)) + " "+getitemname(getarg(0))+"."; mes "Je peux vous les échanger contre un total"; mes "de " + (countitem(getarg(0))/getarg(1)) + " Potions Rouges."; next; mes "[Marchand]"; mes "Qu'en dites-vous?"; mes "Marché conclu?"; next; if (select("Emballé c'est pesé!:Quelle arnaque!") == 1) { mes "[Marchand]"; mes "Vous savez le nombre exact de Potions Rouges que vous pouvez recevoir en échange de vos "+getitemname(getarg(0))+", n'est-ce pas?"; next; mes "[Marchand]"; mes "Je peux vous en échanger 100 au maximum."; mes "Si vous avez changé d'avis, entrez simplement '0' pour annuler."; next; while(1) { input .@input,0,101; if (.@input == 0) { mes "[Marchand]"; mes "Que... Quoi?! Comment osez-vous me traiter ainsi?"; mes "Partez! Je ne fais pas affaires avec des lunatiques tels que vous."; close; } else if (.@input > 100) { mes "[Marchand]"; mes "Hum, le nombre que vous m'avez donné n'est pas correct, je ne peux pas vous en donner plus de 100 à la fois."; next; } else { break; } } set .@put_out_item,.@input * getarg(1); if (countitem(getarg(0)) < .@put_out_item) { mes "[Marchand]"; mes "Hum, le nombre que vous m'avez donné n'est pas correct, vérifiez le nombre que vous pouvez obtenir."; close; } mes "[Marchand]"; mes "Et voilà!"; mes "Merci, vous avez fait une bonne affaire."; delitem getarg(0),.@put_out_item; //Shell getitem 501,.@input; //Red_Potion close; } mes "[Marchand]"; mes "Hum~"; mes "D'accord."; mes "Mais qu'y-a-t-il de plus utile que des Potions Rouges pour un aventurier tel que vous?"; close; } } //============================================================ // Old changelog //============================================================ //= 1.1 Made it as a function. U can add your own Merchs [Lupus] //= 1.1a Fixed item select [KarLaeda] //============================================================