//===== eAthena Script ======================================== //= Casing Pack Dealer Kenny //===== By: ================================================== //= eAthena dev team //===== Current Version: ===================================== //= 1.2 //===== Compatible With: ===================================== //= eAthena 1.0+ //===== Description: ========================================= //= Turns bullets/spheres into packs/casings. //===== Additional Comments: ================================= //= 1.0 First version. [SinSloth] //= 1.1 Optimized version - Reduced to only one function [SinSloth] //= 1.2 Optimized^2 [ultramage] //============================================================ que_ng,187,149,3 script Magazine Dealer Kenny 83,{ if(BaseJob != Job_Gunslinger) { mes "[Kenny]"; mes "I am the Casing Dealer, Kenny!"; mes "I'm here to package the Shells"; mes "and Bullets for Gunslingers."; next; mes "[Kenny]"; mes "But you don't look like a"; mes "Gunslinger to me. I'm afraid"; mes "that I must ask you to leave"; mes "after you're done looking around."; close; } mes "[Kenny]"; mes "I am the Casing Dealer, Kenny!"; mes "If your bullets are getting"; mes "too heavy, come to me!"; next; mes "[Kenny]"; mes "I can make you Casings and Packs,"; mes "which will let you carry the"; mes "Spheres at a lower weight!"; mes "Come on! Take a look!"; next; switch( select( "Lightning Sphere Pack","Blind Sphere Pack","Poison Sphere Pack","Freezing Sphere Pack","Flare Sphere Pack","Bullet Casing","Shell of Blood Casing","Silver Bullet Casing","Cancel" )) { case 1: callfunc "Func_Casing",13204,12144; break; case 2: callfunc "Func_Casing",13206,12145; break; case 3: callfunc "Func_Casing",13205,12146; break; case 4: callfunc "Func_Casing",13207,12147; break; case 5: callfunc "Func_Casing",13203,12148; break; case 6: callfunc "Func_Casing",13200,12149; break; case 7: callfunc "Func_Casing",13202,12150; break; case 8: callfunc "Func_Casing",13201,12151; break; case 9: default: mes "[Kenny]"; mes "Alright. If there's"; mes "something else I can help"; mes "you with, please tell me."; close; } close; } function script Func_Casing { mes "[Kenny]"; mes "Please input the amount you want."; next; mes "[Kenny]"; mes "" +getitemname(getarg(1))+ " will"; if(getarg(0) == 13202) { mes "cost 500 Shells of Blood"; } else mes "cost 500 " +getitemname(getarg(0))+ "s"; mes "and 500 zeny each."; next; mes "[Kenny]"; mes "You can trade a maximum of 50."; mes "Input 0 if you want to cancel."; next; input .@caser_amount; if(.@caser_amount < 1) { mes "[Kenny]"; mes "Alright. If there's"; mes "something else I can help"; mes "you with, please tell me."; close; } if(.@caser_amount > 50) { mes "[Kenny]"; mes "You've exceeded the limit!"; mes "Try again next time?"; close; } set .@caser_bullet, .@caser_amount * 500; //Weight checking if(checkweight(getarg(1), .@caser_amount) != 1) { mes "[Kenny]"; mes "You are overweight."; mes "Please clear your inventory."; close; } //Materials checking if(countitem(getarg(0)) < .@caser_bullet) { mes "[Kenny]"; mes "Huh......"; mes "You don't have enough"; mes "materials to trade for"; mes "the number of items you"; mes "want. Please come with the"; mes "correct amount of items."; close; } //Zeny checking if(Zeny < .@caser_bullet) { mes "[Kenny]"; mes "Erm... You don't have enough money."; mes "The fee is 500 zeny"; mes "Check your zeny and come again."; close; } mes "[Kenny]"; mes "Ah very well!"; mes "The number is confirmed!"; if(getarg(1) < 12149) mes "I'll get you the Packs right away."; else mes "I'll get you the Casings right away."; set Zeny, Zeny - .@caser_bullet; delitem getarg(0), .@caser_bullet; getitem getarg(1), .@caser_amount; close; }