root/npc/merchants/kunai_maker.txt @ 3

Revision 1, 3.3 kB (checked in by jinshiro, 17 years ago)
Line 
1//===== eAthena Script =======================================
2//= Kunai "Trader" @ que_ng
3//===== By: ==================================================
4//= eAthena dev team
5//===== Current Version: =====================================
6//= 1.2a
7//===== Compatible With: =====================================
8//= eAthena 1.0
9//===== Description: =========================================
10//= NPC that trades you a few shurikens + ninja stones for
11//= elemental kunais.
12//===== Additional Comments: =================================
13//= 1.0 Added the npc. It uses a function that sends the item
14//=       id of the 2 required items plus the amount. Can trade
15//=       up to 500 units (5,000 kunais) at once. [erKURITA]
16//= 1.1 Officialized script [Playtester]
17//= 1.2a Optimized/cleaned up a bit [ultramage]
18//============================================================
19
20que_ng,72,29,3  script  Kunai Merchant Kashin   83,{
21
22        mes "[Kashin]";
23        if(BaseJob != Job_Ninja) {
24                mes "I am Kashin of the Wind. I distribute trade items to the shadows.";
25                next;
26                mes "[Kashin]";
27                mes "It doesn't seem like you are a Ninja... Just take a good look around and be on your way.";
28                close;
29        }
30        mes "I'm Kashin!";
31        mes "If you're ever short on Shurikens, come and see me.";
32        next;
33        mes "[Kashin]";
34        mes "What will it be?";
35        mes "Choose what you want.";
36        next;
37
38        switch(select("Poison Kunais:Frost Kunais:Wind Kunais:Earth Kunais:Fire Kunais:Cancel")) {
39        //usage: callfunc "Kunai_Trade",itemreqid1,itemreqct1,itemreqid2,itemreqct2,itemidtrade;
40        case 1: callfunc "Kunai_Trade",13250,20,7524,1,13259; break;
41        case 2: callfunc "Kunai_Trade",13251,8,7522,2,13255; break;
42        case 3: callfunc "Kunai_Trade",13252,4,7523,2,13257; break;
43        case 4: callfunc "Kunai_Trade",13253,2,7524,1,13256; break;
44        case 5: callfunc "Kunai_Trade",13254,1,7521,2,13258; break;
45        default:
46                mes "[Kashin]";
47                mes "Hmm~ Ok~";
48                mes "Come again~";
49                mes "I, Kashin of the Wind, will always be at this place.";
50                close;
51        }
52        close;
53}
54
55function        script  Kunai_Trade     {
56       
57        mes "[Kashin]";
58        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))+".";
59        next;
60        mes "[Kashin]";
61        mes "You can trade up to 500 packs at a time.";
62        mes "If you don't want to trade, just enter 0 as the amount.";
63        next;
64        input .@amount;
65
66        mes "[Kashin]";
67        if(.@amount < 1) {
68                mes "Hmm~ Ok~";
69                mes "Come again~";
70                mes "I, Kashin of the Wind, will always be at this place.";
71                close;
72        }
73        if(.@amount > 500) {
74                mes "You've exceeded the input amount!";
75                mes "Enter a valid number next time~!";
76                close;
77        }
78        if(countitem(getarg(0)) < .@amount*getarg(1) || countitem(getarg(2)) < .@amount*getarg(3)) {
79                mes "Hmm... this is no good~";
80                mes "You don't have enough materials to trade in for the amount of Kunai's that you want.";
81                mes "Bring some more if you want this amount.";
82                close;
83        }
84        if(checkweight(getarg(4), .@amount*10) == 0) {
85                mes "Your bag is too full to carry the trade items. Come back after you made room for the traded items.";
86                close;
87        }
88        mes "Ok~ Very well!";
89        mes "Amount verified!";
90        mes "Here are your traded items.";
91        delitem getarg(0),getarg(1)*.@amount;
92        delitem getarg(2),getarg(3)*.@amount;
93        getitem getarg(4),10*.@amount;
94        close;
95}
Note: See TracBrowser for help on using the browser.