//===== Hercules Script ====================================== //= Magazine Dealers //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== //= 1.5 //===== Description: ========================================= //= Turns bullets into magazines/packs. //===== Additional Comments: ================================= //= 1.0 First version. [SinSloth] //= 1.1 Optimized version - Reduced to only one function [SinSloth] //= 1.2 Optimized^2, corrected npc's name [ultramage] //= 1.2a Optimized. Please, ommit extra NPC names [Lupus] //= 1.3 Updated to match AEGIS script. [Kisuka] //= 1.4 Updated to match AEGIS script again. [Masao] //= 1.5 Moved Izlude duplicate to pre-re/re paths. [Euphy] //============================================================ alberta,118,157,3 script Magazine Dealer Kenny::mdk 4_M_01,{ if (BaseJob == Job_Gunslinger) { mes "[Kenny]"; mes "Welcome to my Magazine Shop."; mes "As you may know, large numbers"; mes "of bullets can be carried more"; mes "easily when they're in Magazines. Now, can I interest you in"; mes "anything in particular?"; next; switch(select("Wind Sphere Pack:Shadow Sphere Pack:Poison Sphere Pack:Water Sphere Pack:Fire Sphere Pack:Cartridge:Blood Cartridge:Silver Cartridge: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: mes "[Kenny]"; mes "Well, if you ever find"; mes "that you have too many"; mes "bullets, come and see me."; mes "It's a smart idea to store"; mes "bullets with my Magazines."; close; } } mes "[Kenny]"; mes "Welcome to my shop."; mes "Here, I provide Magazines"; mes "and Cartridges for Gunslingers."; mes "Sorry, but it doesn't look like"; mes "my services would be of any"; mes "use to you, adventurer."; next; mes "[Kenny]"; mes "Eh, but if you happen to"; mes "know any Gunslingers, send"; mes "them my way. You can never"; mes "have too many bullets."; close; } function script Func_Casing { mes "[Kenny]"; mes "Now, you can trade"; mes "500 "+getitemname(getarg(0))+"s"; mes "and 500 zeny for 1 "+getitemname(getarg(1))+", so make sure"; mes "you have sufficient bullets"; mes "and zeny for this exchange."; next; mes "[Kenny]"; mes "You can exchange 500 "+getitemname(getarg(0))+"s and 500 zeny"; mes "with 1 "+getitemname(getarg(1))+"."; next; mes "[Kenny]"; mes "Remember that I can't give"; mes "you more than 50 Magazines"; mes "at a time. Now please enter"; mes "the number of Magazines you"; mes "want to receive. If you want to cancel, then just enter ''0.''"; next; input .@amount; if (.@amount > 50 || .@amount == 0) { mes "[Kenny]"; mes "Hey, I can't give you"; mes "that many Magazines."; mes "Please try again, and"; mes "enter a number no"; mes "greater than 50."; close; } if (countitem(getarg(0)) >= (500*.@amount)) { if (Zeny >= (500*.@amount)) { if (checkweight(getarg(1),.@amount) == 0) { mes "[Kenny]"; mes "Hey, you've got a lot"; mes "of junk crammed in your"; mes "Inventory. Free up some"; mes "space, and then come back"; mes "and trade your bullets for"; mes "some Magazines later, okay?"; close; }else{ mes "[Kenny]"; mes "Alright, here are"; mes "your Magazines. Thanks"; mes "for visiting my shop, and"; mes "I hope that you use all"; mes "of your ammo wisely."; Zeny -= 500*.@amount; delitem getarg(0),500*.@amount; getitem getarg(1),.@amount; close; } } else { mes "[Kenny]"; mes "Sorry, but you don't"; mes "have enough zeny for"; mes "this Magazine exchange."; mes "Come back to my shop"; mes "after you've saved up"; mes "some more money."; close; } } else { mes "[Kenny]"; mes "Sorry, but you don't"; mes "have enough bullets for"; mes "this Magazine exchange."; mes "Maybe you should double"; mes "check your Inventory, and"; mes "then come back to me later."; close; } }