diff options
Diffstat (limited to 'npc/re/merchants/ammo_boxes.txt')
-rw-r--r-- | npc/re/merchants/ammo_boxes.txt | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/npc/re/merchants/ammo_boxes.txt b/npc/re/merchants/ammo_boxes.txt new file mode 100644 index 000000000..fcad5a0ea --- /dev/null +++ b/npc/re/merchants/ammo_boxes.txt @@ -0,0 +1,138 @@ +//===== rAthena Script ======================================= +//= Magazine Dealer Kenny +//===== By: ================================================== +//= rAthena dev team +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== 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] +//============================================================ + +izlude,171,127,3 script Magazine Dealer Kenny::mdk 83,{ + 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."; + set Zeny,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; + } +} + +alberta,118,157,3 duplicate(mdk) Magazine Dealer Tonny 83 |