1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
//===== eAthena Script ========================================
//= Casing Pack Dealer Kenny
//===== By: ==================================================
//= eAthena dev team
//===== Current Version: =====================================
//= 1.2
//===== Compatible With: =====================================
//= eAthena 1.0+
//===== Description: =========================================
//= Turns bullets/spheres into packs/casings.
//===== Additional Comments: =================================
//= 1.0 First version. [SinSloth]
//= 1.1 Optimized version - Reduced to only one function [SinSloth]
//= 1.2 Optimized^2 [ultramage]
//============================================================
que_ng,187,149,3 script Casing Pack Dealer Kenny 83,{
if(BaseJob != Job_Gunslinger)
{
mes "[Kenny]";
mes "I am the Casing Dealer, Kenny!";
mes "I'm here to package the Shells";
mes "and Bullets for Gunslingers.";
next;
mes "[Kenny]";
mes "But you don't look like a";
mes "Gunslinger to me. I'm afraid";
mes "that I must ask you to leave";
mes "after you're done looking around.";
close;
}
mes "[Kenny]";
mes "I am the Casing Dealer, Kenny!";
mes "If your bullets are getting";
mes "too heavy, come to me!";
next;
mes "[Kenny]";
mes "I can make you Casings and Packs,";
mes "which will let you carry the";
mes "Spheres at a lower weight!";
mes "Come on! Take a look!";
next;
switch( select( "Lightning Sphere Pack","Blind Sphere Pack","Poison Sphere Pack","Freezing Sphere Pack","Flare Sphere Pack","Bullet Casing","Shell of Blood Casing","Silver Bullet Casing","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:
default:
mes "[Kenny]";
mes "Alright. If there's";
mes "something else I can help";
mes "you with, please tell me.";
close;
}
close;
}
function script Func_Casing {
mes "[Kenny]";
mes "Please input the amount you want.";
next;
mes "[Kenny]";
mes "" +getitemname(getarg(1))+ " will";
if(getarg(0) == 13202) { mes "cost 500 Shells of Blood"; } else mes "cost 500 " +getitemname(getarg(0))+ "s";
mes "and 500 zeny each.";
next;
mes "[Kenny]";
mes "You can trade a maximum of 50.";
mes "Input 0 if you want to cancel.";
next;
input .@caser_amount;
if(.@caser_amount < 1)
{
mes "[Kenny]";
mes "Alright. If there's";
mes "something else I can help";
mes "you with, please tell me.";
close;
}
if(.@caser_amount > 50)
{
mes "[Kenny]";
mes "You've exceeded the limit!";
mes "Try again next time?";
close;
}
set .@caser_bullet, .@caser_amount * 500;
//Weight checking
if(checkweight(getarg(1), .@caser_amount) != 1)
{
mes "[Kenny]";
mes "You are overweight.";
mes "Please clear your inventory.";
close;
}
//Materials checking
if(countitem(getarg(0)) < .@caser_bullet)
{
mes "[Kenny]";
mes "Huh......";
mes "You don't have enough";
mes "materials to trade for";
mes "the number of items you";
mes "want. Please come with the";
mes "correct amount of items.";
close;
}
//Zeny checking
if(Zeny < .@caser_bullet)
{
mes "[Kenny]";
mes "Erm... You don't have enough money.";
mes "The fee is 500 zeny";
mes "Check your zeny and come again.";
close;
}
mes "[Kenny]";
mes "Ah very well!";
mes "The number is confirmed!";
if(getarg(1) < 12149) mes "I'll get you the Packs right away.";
else mes "I'll get you the Casings right away.";
set Zeny, Zeny - .@caser_bullet;
delitem getarg(0), .@caser_bullet;
getitem getarg(1), .@caser_amount;
close;
}
|