1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- //===== 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;
- }
|