//===== eAthena Script =======================================
//= Kunai "Trader" @ que_ng.gat
//===== By: ==================================================
//= erKURITA
//===== Current Version: =====================================
//= 1.0
//===== 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]
//============================================================
que_ng.gat,72,29,3 script Kunai Seller 83,{
mes "[Jin]";
mes "Hi, I sell elemental enchanted kunais. I'll trade you some elemental stones and one kind of shuriken for a determined elemental Kunai";
next;
mes "[Jin]";
mes "What would you like to trade some? It's free";
switch(select("10 Poison Kunais:10 Icycle Kunais:10 Rough Wind Kunais:10 Black Soil Kunai:10 Explosion Kunai:Nothing at the Moment")) {
//Callfunc usage: callfunc "Kunai_Trade",itemreqid1,itemreqct1,itemreqid2,itemreqct2,itemidtrade;
case 1:
callfunc "Kunai_Trade",13250,20,7524,1,13259;
goto L_Bye;
case 2:
callfunc "Kunai_Trade",13251,8,7522,2,13255;
goto L_Bye;
case 3:
callfunc "Kunai_Trade",13252,4,7523,2,13257;
goto L_Bye;
case 4:
callfunc "Kunai_Trade",13253,2,7524,1,13256;
goto L_Bye;
case 5:
callfunc "Kunai_Trade",13254,1,7521,2,13258;
goto L_Bye;
case 6:
goto L_Bye;
}
L_Bye:
next;
mes "[Jin]";
mes "Good bye and hope to see you again then";
close;
}
function script Kunai_Trade {
next;
mes "[Jin]";
if (MaxWeight*50/100 < Weight) {
if (MaxWeight*90/100 < Weight) {
mes "Sorry but you have more than 90% weight. Your kunais might drop. I can't give you anything.";
return;
}
mes "You have 50% or more weight, do you still want to continue?";
menu "Yes",-,"No, thanks",L_Return;
}
mes "Would you like to trade my 10 "+getitemname(getarg(4))+" for your "+getarg(1)+" "+getitemname(getarg(0))+" and "+getarg(3)+" "+getitemname(getarg(2))+" ?";
switch(select("Yes:I'll think about it")) {
case 1:
next;
mes "[Jin]";
if (countitem(getarg(0)) < getarg(1) || countitem(getarg(2)) < getarg(3)) {
mes "Sorry but you're missing one of the required items. Please get them";
close;
} else
mes "How many do you want to trade? I can only trade you ^FF0000500^000000 units at once.";
mes "^00FF001 Unit^000000 ^FF0000=^000000 ^0000FF10 Kunais^000000 of your desire";
input @trade;
next;
mes "[Jin]";
if (@trade > 500) {
mes "Sorry, but I told you I could only trade you 500 units at once. Try again";
close;
} else if (@trade < 1) {
mes "Sorry, but 1 unit is the minimun I can trade. Try again please.";
close;
} else if ((countitem(getarg(0)) < @trade*getarg(1)) || (countitem(getarg(2)) < @trade*getarg(3))) {
mes "Sorry, but you don't have enough items to trade "+@trade+" unit(s). Get more please";
close;
} else
mes "Here you go, enjoy them";
delitem getarg(0),getarg(1)*@trade;
delitem getarg(2),getarg(3)*@trade;
getitem getarg(4),10*@trade;
next;
return;
case 2:
return;
}
L_Return:
return;
}