123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- //===== rAthena Script =======================================
- //= Magazine Dealers
- //===== Description: =========================================
- //= Turns bullets into magazines/packs.
- //===== Changelogs: ==========================================
- //= 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]
- //= 2.0 Clean-up. [Capuche]
- //= 2.1 Fixes Issue #1482, where Rebellion jobs cannot use this npc. [Limestone]
- //============================================================
- que_ng,187,149,3 script Magazine Dealer Kenny::mdk 4_M_01,{
- mes "[Kenny]";
- if (BaseClass == Job_Gunslinger) {
- 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: callsub S_Casing,13204,12144;// <bullet id>, <pack id>
- case 2: callsub S_Casing,13206,12145;
- case 3: callsub S_Casing,13205,12146;
- case 4: callsub S_Casing,13207,12147;
- case 5: callsub S_Casing,13203,12148;
- case 6: callsub S_Casing,13200,12149;
- case 7: callsub S_Casing,13202,12150;
- case 8: callsub S_Casing,13201,12151;
- 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 "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;
- S_Casing:
- .@bullet_id = getarg(0);
- .@pack_id = getarg(1);
- mes "[Kenny]";
- mes "Now, you can trade";
- mes callfunc("F_InsertPlural",500,getitemname(.@bullet_id));
- mes "and 500 zeny for 1 "+getitemname(.@pack_id)+", so make sure";
- mes "you have sufficient bullets";
- mes "and zeny for this exchange.";
- next;
- mes "[Kenny]";
- mes "You can exchange "+callfunc("F_InsertPlural",500,getitemname(.@bullet_id))+" and 500 zeny";
- mes "with 1 "+getitemname(.@pack_id)+".";
- 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;
- mes "[Kenny]";
- if (.@amount > 50 || .@amount == 0) {
- 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.";
- }
- else if (countitem(.@bullet_id) >= (500*.@amount)) {
- if (Zeny >= (500*.@amount)) {
- if (checkweight(.@pack_id,.@amount) == 0) {
- 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?";
- } else {
- 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 = Zeny -500*.@amount;
- delitem .@bullet_id,(500*.@amount);
- getitem .@pack_id,.@amount;
- }
- } else {
- 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.";
- }
- } else {
- 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;
- }
- izlude,171,127,3 duplicate(mdk) Magazine Dealer Kenny#iz 4_M_01
|