
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10696 54d463be-8e91-2dee-dedb-b68131a5f0ec
95 lines
3.2 KiB
Plaintext
95 lines
3.2 KiB
Plaintext
//===== eAthena Script =======================================
|
|
//= Kunai "Trader" @ que_ng
|
|
//===== By: ==================================================
|
|
//= eAthena dev team
|
|
//===== Current Version: =====================================
|
|
//= 1.2a
|
|
//===== Compatible With: =====================================
|
|
//= eAthena 1.0
|
|
//===== Description: =========================================
|
|
//= NPC that trades you a few shurikens + ninja stones for
|
|
//= elemental kunais.
|
|
//===== Additional Comments: =================================
|
|
//= 1.0 Added the npc. It uses a function that sends the item
|
|
//= id of the 2 required items plus the amount. Can trade
|
|
//= up to 500 units (5,000 kunais) at once. [erKURITA]
|
|
//= 1.1 Officialized script [Playtester]
|
|
//= 1.2a Optimized/cleaned up a bit [ultramage]
|
|
//============================================================
|
|
|
|
que_ng,72,29,3 script Kunai Merchant Kashin 83,{
|
|
|
|
mes "[Kashin]";
|
|
if(BaseJob != Job_Ninja) {
|
|
mes "I am Kashin of the Wind. I distribute trade items to the shadows.";
|
|
next;
|
|
mes "[Kashin]";
|
|
mes "It doesn't seem like you are a Ninja... Just take a good look around and be on your way.";
|
|
close;
|
|
}
|
|
mes "I'm Kashin!";
|
|
mes "If you're ever short on Shurikens, come and see me.";
|
|
next;
|
|
mes "[Kashin]";
|
|
mes "What will it be?";
|
|
mes "Choose what you want.";
|
|
next;
|
|
|
|
switch(select("Poison Kunais:Frost Kunais:Wind Kunais:Earth Kunais:Fire Kunais:Cancel")) {
|
|
//usage: callfunc "Kunai_Trade",itemreqid1,itemreqct1,itemreqid2,itemreqct2,itemidtrade;
|
|
case 1: callfunc "Kunai_Trade",13250,20,7524,1,13259; break;
|
|
case 2: callfunc "Kunai_Trade",13251,8,7522,2,13255; break;
|
|
case 3: callfunc "Kunai_Trade",13252,4,7523,2,13257; break;
|
|
case 4: callfunc "Kunai_Trade",13253,2,7524,1,13256; break;
|
|
case 5: callfunc "Kunai_Trade",13254,1,7521,2,13258; break;
|
|
default:
|
|
mes "[Kashin]";
|
|
mes "Hmm~ Ok~";
|
|
mes "Come again~";
|
|
mes "I, Kashin of the Wind, will always be at this place.";
|
|
close;
|
|
}
|
|
close;
|
|
}
|
|
|
|
function script Kunai_Trade {
|
|
|
|
mes "[Kashin]";
|
|
mes "If you give me "+getarg(1)+" "+getitemname(getarg(0))+" and "+getarg(3)+" "+getitemname(getarg(2))+", I'll give you a pack of 10 "+getitemname(getarg(4))+".";
|
|
next;
|
|
mes "[Kashin]";
|
|
mes "You can trade up to 500 packs at a time.";
|
|
mes "If you don't want to trade, just enter 0 as the amount.";
|
|
next;
|
|
input .@amount;
|
|
|
|
mes "[Kashin]";
|
|
if(.@amount < 1) {
|
|
mes "Hmm~ Ok~";
|
|
mes "Come again~";
|
|
mes "I, Kashin of the Wind, will always be at this place.";
|
|
close;
|
|
}
|
|
if(.@amount > 500) {
|
|
mes "You've exceeded the input amount!";
|
|
mes "Enter a valid number next time~!";
|
|
close;
|
|
}
|
|
if(countitem(getarg(0)) < .@amount*getarg(1) || countitem(getarg(2)) < .@amount*getarg(3)) {
|
|
mes "Hmm... this is no good~";
|
|
mes "You don't have enough materials to trade in for the amount of Kunai's that you want.";
|
|
mes "Bring some more if you want this amount.";
|
|
close;
|
|
}
|
|
if(checkweight(getarg(4), .@amount*10) == 0) {
|
|
mes "Your bag is too full to carry the trade items. Come back after you made room for the traded items.";
|
|
close;
|
|
}
|
|
mes "Ok~ Very well!";
|
|
mes "Amount verified!";
|
|
mes "Here are your traded items.";
|
|
delitem getarg(0),getarg(1)*.@amount;
|
|
delitem getarg(2),getarg(3)*.@amount;
|
|
getitem getarg(4),10*.@amount;
|
|
close;
|
|
} |