
- Fixed a situation in Rogue Agent where NPC window doesn't close. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14051 54d463be-8e91-2dee-dedb-b68131a5f0ec
135 lines
4.3 KiB
Plaintext
135 lines
4.3 KiB
Plaintext
//===== eAthena Script =======================================
|
|
//= Magazine Dealer Kenny
|
|
//===== By: ==================================================
|
|
//= eAthena dev team
|
|
//===== Current Version: =====================================
|
|
//= 1.3
|
|
//===== Compatible With: =====================================
|
|
//= eAthena 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]
|
|
//============================================================
|
|
|
|
que_ng,187,149,3 script Magazine Dealer Kenny 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;
|
|
}
|
|
} |