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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
|
//===== eAthena Script =======================================
//= iRO Halloween (2008)
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
//= iRO Halloween (2008)
//= Run away from the zombies for tickets.
//= Redeem tickets for prizes.
//===== Notes: ===============================================
//= You must enable the event monsters in mob_db2.
//===== Additional Comments: =================================
//= 1.0 First version. [Kisuka]
//============================================================
payon,162,176,4 script Halloween Magician#iRO08 704,{
if(Hallow08 < 1) {
mes "[Halloween Magician]";
mes "Kkkkkkkkk!";
mes "I have a special event this";
mes "Halloween that tests your luck and";
mes "agility.";
mes "Are you interested?";
next;
mes "[Halloween Magician]";
mes "Come on! Don't be a wuss!";
mes "If you collect enough tickets";
mes "you can get good prizes!";
mes "So what do you say?";
next;
goto MainMenu;
}
if (Hallow08Kill == 1) {
mes "[Halloween Magician]";
mes "You a 'fraidy cat or something?!";
mes "You know you want to try again...";
mes "Do you know the rules?";
next;
set Hallow08Kill,0;
if(select("Yes, I know.:No, I don't know.") == 2) {
goto Rules;
}
goto Participate;
}
if (Hallow08Kill == 2) {
mes "[Halloween Magician]";
mes "Oh, well done! You are alright!";
mes "Isn't it fun with zombies??";
mes "You know, zombies were people too!";
mes "Ha!";
mes "Kkkkkkk.";
next;
getitem 7941,1;
set Hallow08Kill,0;
mes "[Halloween Magician]";
mes "As I promised";
mes "You can get Halloween tickets";
mes "for cool items.";
close;
}
if(Hallow08 > 0) {
mes "[Halloween Magician]";
mes "Well, do you want to hear the rules";
mes "again or,";
mes "just get back to it...";
next;
goto MainMenu2;
}
Rules:
mes "[Halloween Magician]";
mes "This village is like a virtual";
mes "Payon. There are zombies and ghouls";
mes "roaming around";
mes "and three southern exits, but only";
mes "one works.";
mes "That's up to you to find out.";
next;
mes "[Halloween Magician]";
mes "You can't use any skills";
mes "to kill the ghouls or zombies.";
mes "And one more thing...";
mes "you shouldn't forget...";
next;
mes "[Halloween Magician]";
mes "All participants";
mes "should be wearing nothing.";
mes "Put all belongings in your storage";
mes "and come back here when your weight";
mes "is '0'.";
next;
mes "[Halloween Magician]";
mes "Oh and one more thing!";
mes "You can't be riding a PecoPeco or";
mes "have a Cart.";
mes "If you are, then I will remove them";
mes "before you enter.";
mes "Got it?";
next;
mes "[Halloween Magician]";
mes "Remember, there are three exits but";
mes "only one works randomly,";
mes "the zombies and ghouls roaming";
mes "around there can't be killed";
mes "and you can't be wearing anything.";
next;
if (Hallow08 > 0) {
mes "[Halloween Magician]";
mes "Hey...";
mes "Come back once you're ready.";
close;
}else{
goto MainMenu;
}
Participate:
mes "[Halloween Magician]";
mes "Ok, you are ready.";
mes "Let me check your weight.";
next;
if (Weight > 0) {
mes "[Halloween Magician]";
mes "Gosh!";
mes "There's always a black sheep";
mes "anywhere.";
next;
mes "[Halloween Magician]";
mes "You think I wouldn't notice that";
mes "your weight is above '0'?";
mes "You're overweight...";
close;
}else{
mes "[Halloween Magician]";
mes "You seem good to go,";
mes "and your weight is just right.";
next;
mes "[Halloween Magician]";
mes "I was quite swamped with my work,";
mes "so I'm exhausted.";
next;
mes "[Halloween Magician]";
mes "I sometimes forget to send you";
mes "there...";
next;
mes "[Halloween Magician]";
mes "I hope you come back well.";
close2;
if (Hallow08 < 1) {
set Hallow08,1;
}
set Hallow08Kill,1;
set @Hallow08Warp, rand(1,3);
percentheal -98,0;
setriding 0;
setcart 0;
warp "evt_zombie",155,246;
end;
}
TicketExchange:
mes "[Halloween Magician]";
mes "You want to exchange tickets for";
mes "prizes?";
mes "Good job! Kkkkkk!";
next;
mes "[Halloween Magician]";
mes "Lemme tell you what items you can";
mes "exchange for.";
next;
mes "[Halloween Magician]";
mes "5 tickets for Pumpkin Pie.";
mes "20 tickets for Pumpkin-Head.";
mes "50 tickets for Old Blue Box.";
mes "70 tickets for Old Purple Box.";
mes "200 tickets for Old Card Album.";
next;
mes "[Halloween Magician]";
mes "What would you like to exchange";
mes "for?";
next;
switch(select("Pumpkin Pie:Pumpkin-Head:Old Blue Box:Old Purple Box:Old Card Album")) {
case 1:
if(countitem(7941) < 5) {
goto NotEnough;
}else{
delitem 7941,5;
getitem 12192,1;
goto Enough;
}
break;
case 2:
if(countitem(7941) < 20) {
goto NotEnough;
}else{
delitem 7941,20;
getitem 5134,1;
goto Enough;
}
break;
case 3:
if(countitem(7941) < 50) {
goto NotEnough;
}else{
delitem 7941,50;
getitem 603,1;
goto Enough;
}
break;
case 4:
if(countitem(7941) < 70) {
goto NotEnough;
}else{
delitem 7941,70;
getitem 617,1;
goto Enough;
}
break;
case 5:
if(countitem(7941) < 200) {
goto NotEnough;
}else{
delitem 7941,200;
getitem 616,1;
goto Enough;
}
}
NextTime:
mes "[Halloween Magician]";
mes "Ok, see you then.";
mes "Kkkkkkkk.";
close;
MainMenu:
menu "Explain it to me.",Rules,"I want to participate.",Participate,"I want to exchange tickets for prizes.",TicketExchange,"I'll come back next time.",NextTime;
MainMenu2:
menu "Get me back there now!",Participate,"Please, tell me the rules",Rules,"I want to exchange tickets for prizes.",TicketExchange,"I'll come back next time.",NextTime;
NotEnough:
mes "[Halloween Magician]";
mes "You don't have enough tickets!";
mes "Can't you even count?";
mes "Please come here with the right";
mes "number of tickets.";
close;
Enough:
mes "[Halloween Magician]";
mes "Here it is.";
mes "Do you need...";
mes "anything else?";
next;
if (Hallow08 == 1) {
goto MainMenu2;
}else{
goto MainMenu;
}
}
// --------------- MapFlags ---------------
evt_zombie mapflag nightenabled
evt_zombie mapflag nobranch
evt_zombie mapflag nomemo
evt_zombie mapflag nopenalty
evt_zombie mapflag pvp off
evt_zombie mapflag noreturn
evt_zombie mapflag nosave SavePoint
evt_zombie mapflag noskill
evt_zombie mapflag noteleport
evt_zombie,16,142,1 script zombiewarp001 45,2,2,{
OnTouch:
if (@Hallow08Warp == 1) {
set Hallow08Kill,2;
specialeffect 16;
warp "payon",28,142;
}
end;
}
evt_zombie,122,27,1 script zombiewarp002 45,2,2,{
OnTouch:
if (@Hallow08Warp == 2) {
set Hallow08Kill,2;
specialeffect 16;
warp "payon",121,40;
}
end;
}
evt_zombie,267,89,1 script zombiewarp003 45,2,2,{
OnTouch:
if (@Hallow08Warp == 3) {
set Hallow08Kill,2;
specialeffect 16;
warp "payon",253,95;
}
end;
}
evt_zombie,0,0,0,0 monster Zombie 3000,150,0,0,0
evt_zombie,0,0,0,0 monster Ghoul 3001,80,0,0,0
evt_zombie,0,0,0,0 monster Zombie Master 3002,20,0,0,0
|