1 | //===== eAthena Script ======================================= |
---|
2 | //= The Airship System Script |
---|
3 | //===== By: ================================================== |
---|
4 | //= eAthena Dev Team |
---|
5 | //===== Current Version: ===================================== |
---|
6 | //= 1.1a |
---|
7 | //===== Compatible With: ===================================== |
---|
8 | //= eAthena SVN 3422+(Requires jA Script System) |
---|
9 | //===== Description: ========================================= |
---|
10 | //= The Airship System used in the official servers, however this |
---|
11 | //= one is still about 25% custom and is missing some npcs. |
---|
12 | //===== Additional Comments: ================================= |
---|
13 | //= 0.1 Added first version, it might be a little buggy [MasterOfMuppets] |
---|
14 | //= 0.1a Fixed the Airport Staff#Iz which was [MasterOfMuppets] |
---|
15 | //= warping you to the same location as Airport Staff#Ein |
---|
16 | //= 0.2 Implemented some more airship NPCs, more are to come. |
---|
17 | //= 0.3 Implemented some more NPCs [MasterOfMuppets] |
---|
18 | //= 0.4 Implemented two mini games scripted by Dj-Yhn [MasterOfMuppets] |
---|
19 | //= 0.5 Removed Duplicates [Silent] |
---|
20 | //= 0.5a Fixed a typo [Evera] |
---|
21 | //= 0.5b Fixed appledice bugs [Lupus] |
---|
22 | //= 0.6 Added Rachel to the international route [Playtester] |
---|
23 | //= 0.7 Implemented Few Missings NPCs like (Pilot, Aanos, etc...). |
---|
24 | //= Corrected Dialogs from some NPCs. |
---|
25 | //= Added sistem to work with the "How Does the Airship Work" Quest [Samuray22] |
---|
26 | //= 0.8 Moved Gambling NPC Kaci since it's part of a quest. [SinSloth] |
---|
27 | //= 0.8b Fixed a Little Bug with the "How Does the Airship Work" Quest. [Samuray22] |
---|
28 | //= 0.9 Fixed a incorrect variable changed form "mob_inv" to "mobinv". [Samuray22] |
---|
29 | //= 0.9b Fixed a typo and bad variable use in the Typing Challenge [ultramage] |
---|
30 | //= 1.0 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf] |
---|
31 | //= 1.1 Touch-ups, and changed references of "Yuno" to "Juno", [L0ne_W0lf] |
---|
32 | //= 1.1a Small fix to comparison check. [Paradox924X] |
---|
33 | //============================================================ |
---|
34 | |
---|
35 | //============================================================ |
---|
36 | //= The Airship System (Juno -> Hugel -> Einbroch -> Lighthalzen -> repeat) |
---|
37 | //============================================================ |
---|
38 | |
---|
39 | airplane,243,74,4 script #AirshipWarp-1 45,2,2,{ |
---|
40 | OnTouch: |
---|
41 | if($@airplanelocation == 1)warp "einbroch",90,275; |
---|
42 | if($@airplanelocation == 2)warp "yuno",85,265; |
---|
43 | if($@airplanelocation == 3)warp "lighthalzen",302,75; |
---|
44 | if($@airplanelocation == 4)warp "hugel",182,150; |
---|
45 | end; |
---|
46 | |
---|
47 | OnHide: |
---|
48 | misceffect 16; |
---|
49 | end; |
---|
50 | OnUnhide: |
---|
51 | misceffect 215; |
---|
52 | end; |
---|
53 | } |
---|
54 | |
---|
55 | airplane,243,29,4 script #AirshipWarp-2 45,2,2,{ |
---|
56 | OnTouch: |
---|
57 | if($@airplanelocation == 1)warp "einbroch",90,275; |
---|
58 | if($@airplanelocation == 2)warp "yuno",85,265; |
---|
59 | if($@airplanelocation == 3)warp "lighthalzen",302,75; |
---|
60 | if($@airplanelocation == 4)warp "hugel",182,150; |
---|
61 | end; |
---|
62 | |
---|
63 | OnHide: |
---|
64 | misceffect 16; |
---|
65 | end; |
---|
66 | OnUnhide: |
---|
67 | misceffect 215; |
---|
68 | end; |
---|
69 | } |
---|
70 | |
---|
71 | airplane,1,1,0 script EinYuno_Airship -1,{ |
---|
72 | OnInit: |
---|
73 | while(1) |
---|
74 | { |
---|
75 | initnpctimer; |
---|
76 | setnpctimer 0; |
---|
77 | set $@airplanelocation,0; |
---|
78 | donpcevent "#AirshipWarp-1::OnHide"; |
---|
79 | donpcevent "#AirshipWarp-2::OnHide"; |
---|
80 | disablenpc "#AirshipWarp-1"; |
---|
81 | disablenpc "#AirshipWarp-2"; |
---|
82 | mapannounce "airplane","The Airship is leaving the ground. Our next destination is Hugel.",1,0xBA55D3; |
---|
83 | end; |
---|
84 | OnTimer15000: |
---|
85 | mapannounce "airplane","We are heading to Hugel.",1,0xBA55D3; |
---|
86 | end; |
---|
87 | OnTimer30000: |
---|
88 | mapannounce "airplane","We will arrive in Hugel shortly.",1,0xBA55D3; |
---|
89 | end; |
---|
90 | OnTimer45000: |
---|
91 | set $@airplanelocation,4; |
---|
92 | enablenpc "#AirshipWarp-1"; |
---|
93 | enablenpc "#AirshipWarp-2"; |
---|
94 | donpcevent "#AirshipWarp-1::OnUnhide"; |
---|
95 | donpcevent "#AirshipWarp-2::OnUnhide"; |
---|
96 | mapannounce "airplane","Welcome to Hugel. Have a safe trip.",1,0xBA55D3; |
---|
97 | end; |
---|
98 | OnTimer55000: |
---|
99 | mapannounce "airplane","Currently, we are in Hugel. The Airship will leave shortly.",1,0xBA55D3; |
---|
100 | end; |
---|
101 | OnTimer65000: |
---|
102 | set $@airplanelocation,0; |
---|
103 | donpcevent "#AirshipWarp-1::OnHide"; |
---|
104 | donpcevent "#AirshipWarp-2::OnHide"; |
---|
105 | disablenpc "#AirshipWarp-1"; |
---|
106 | disablenpc "#AirshipWarp-2"; |
---|
107 | mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",1,0x00FF00; |
---|
108 | end; |
---|
109 | OnTimer80000: |
---|
110 | mapannounce "airplane","We are heading to Einbroch.",1,0x00FF00; |
---|
111 | end; |
---|
112 | OnTimer95000: |
---|
113 | mapannounce "airplane","We will arrive in Einbroch shortly.",1,0x00FF00; |
---|
114 | end; |
---|
115 | OnTimer110000: |
---|
116 | set $@airplanelocation,1; |
---|
117 | enablenpc "#AirshipWarp-1"; |
---|
118 | enablenpc "#AirshipWarp-2"; |
---|
119 | donpcevent "#AirshipWarp-1::OnUnhide"; |
---|
120 | donpcevent "#AirshipWarp-2::OnUnhide"; |
---|
121 | mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",1,0x00FF00; |
---|
122 | end; |
---|
123 | OnTimer120000: |
---|
124 | mapannounce "airplane","Currently, we are in Einbroch. The Airship will take off shortly.",1,0x00FF00; |
---|
125 | end; |
---|
126 | OnTimer130000: |
---|
127 | set $@airplanelocation,0; |
---|
128 | donpcevent "#AirshipWarp-1::OnHide"; |
---|
129 | donpcevent "#AirshipWarp-2::OnHide"; |
---|
130 | disablenpc "#AirshipWarp-1"; |
---|
131 | disablenpc "#AirshipWarp-2"; |
---|
132 | mapannounce "airplane","The Airship is leaving the ground. Our next destination is Lighthalzen.",1,0xFF8600; |
---|
133 | end; |
---|
134 | OnTimer145000: |
---|
135 | mapannounce "airplane","We are heading to Lighthalzen.",1,0xFF8600; |
---|
136 | end; |
---|
137 | OnTimer160000: |
---|
138 | mapannounce "airplane","We will arrive in Lighthalzen shortly.",1,0xFF8600; |
---|
139 | end; |
---|
140 | OnTimer175000: |
---|
141 | set $@airplanelocation,3; |
---|
142 | enablenpc "#AirshipWarp-1"; |
---|
143 | enablenpc "#AirshipWarp-2"; |
---|
144 | donpcevent "#AirshipWarp-1::OnUnhide"; |
---|
145 | donpcevent "#AirshipWarp-2::OnUnhide"; |
---|
146 | mapannounce "airplane","Welcome to Lighthalzen. Have a safe trip.",1,0xFF8600; |
---|
147 | end; |
---|
148 | OnTimer185000: |
---|
149 | mapannounce "airplane","Currently, we are in Lighthalzen. The Airship will leave shortly.",1,0xFF8600; |
---|
150 | end; |
---|
151 | OnTimer195000: |
---|
152 | set $@airplanelocation,0; |
---|
153 | donpcevent "#AirshipWarp-1::OnHide"; |
---|
154 | donpcevent "#AirshipWarp-2::OnHide"; |
---|
155 | disablenpc "#AirshipWarp-1"; |
---|
156 | disablenpc "#AirshipWarp-2"; |
---|
157 | mapannounce "airplane","The Airship is now taking off. Our next destination is Juno.",1,0x70DBDB; |
---|
158 | end; |
---|
159 | OnTimer210000: |
---|
160 | mapannounce "airplane","We are heading to Juno.",1,0x70DBDB; |
---|
161 | end; |
---|
162 | OnTimer225000: |
---|
163 | mapannounce "airplane","We will arrive in Juno shortly.",1,0x70DBDB; |
---|
164 | end; |
---|
165 | OnTimer240000: |
---|
166 | set $@airplanelocation,2; |
---|
167 | enablenpc "#AirshipWarp-1"; |
---|
168 | enablenpc "#AirshipWarp-2"; |
---|
169 | donpcevent "#AirshipWarp-1::OnUnhide"; |
---|
170 | donpcevent "#AirshipWarp-2::OnUnhide"; |
---|
171 | mapannounce "airplane","Welcome to Juno. Have a safe trip.",1,0x70DBDB; |
---|
172 | end; |
---|
173 | OnTimer250000: |
---|
174 | mapannounce "airplane","Currently, we are in Juno. The Airship will leave shortly.",1,0x70DBDB; |
---|
175 | end; |
---|
176 | OnTimer260000: |
---|
177 | stopnpctimer; |
---|
178 | } |
---|
179 | } |
---|
180 | |
---|
181 | //C4644E |
---|
182 | |
---|
183 | //============================================================ |
---|
184 | //= Some normal NPCS (airplane) |
---|
185 | //============================================================ |
---|
186 | |
---|
187 | airplane,240,64,5 script Exit#01::Exit2 857,{ |
---|
188 | end; |
---|
189 | } |
---|
190 | |
---|
191 | airplane,247,64,5 duplicate(Exit2) Exit#02 857 |
---|
192 | |
---|
193 | airplane,240,39,1 duplicate(Exit2) Exit#03 857 |
---|
194 | |
---|
195 | airplane,247,39,1 duplicate(Exit2) Exit#04 857 |
---|
196 | |
---|
197 | airplane,100,69,2 script Airship Crew#01::Airship Crew 852,{ |
---|
198 | mes "[Airship Crew]"; |
---|
199 | mes "If we've landed at"; |
---|
200 | mes "your destination and"; |
---|
201 | mes "you'd like to leave the"; |
---|
202 | mes "Airship, please use the"; |
---|
203 | mes "stairs up ahead. Thank"; |
---|
204 | mes "you for you patronage."; |
---|
205 | close; |
---|
206 | } |
---|
207 | |
---|
208 | airplane,250,59,3 script Airship Staff::AirshipInfo 67,{ |
---|
209 | mes "[Airship Staff]"; |
---|
210 | mes "Welcome"; |
---|
211 | mes "to the Airship."; |
---|
212 | mes "How may I help you?"; |
---|
213 | next; |
---|
214 | menu "Using the Airship",s_Use,"Captain's Cabin",s_Capt,"Facilities",s_Faci,"Cancel",-; |
---|
215 | |
---|
216 | mes "[Airship Staff]"; |
---|
217 | mes "Well, I hope you like"; |
---|
218 | mes "your flight aboard"; |
---|
219 | mes "our Airships. Thank"; |
---|
220 | mes "you and have a good day."; |
---|
221 | close; |
---|
222 | |
---|
223 | s_Use: |
---|
224 | mes "[Airship Staff]"; |
---|
225 | mes "When you see a broadcast"; |
---|
226 | mes "announcing that we have"; |
---|
227 | mes "arrived at your destination,"; |
---|
228 | mes "please use one of the exits"; |
---|
229 | mes "located at the north and"; |
---|
230 | mes "south ends of the Airship"; |
---|
231 | next; |
---|
232 | mes "[Airship Staff]"; |
---|
233 | mes "If you happen to miss"; |
---|
234 | mes "your stop, don't worry."; |
---|
235 | mes "The airship is constantly"; |
---|
236 | mes "on route and you'll get"; |
---|
237 | mes "another chance to arrive"; |
---|
238 | mes "to your intended destination."; |
---|
239 | close; |
---|
240 | |
---|
241 | s_Capt: |
---|
242 | mes "[Airship Staff]"; |
---|
243 | mes "The Captain's Cabin"; |
---|
244 | mes "is located at the front"; |
---|
245 | mes "of the Airship. There, you"; |
---|
246 | mes "can meet the captain and"; |
---|
247 | mes "the pilot of the Airship."; |
---|
248 | close; |
---|
249 | |
---|
250 | s_Faci: |
---|
251 | mes "[Airship Staff]"; |
---|
252 | mes "The Airship provides"; |
---|
253 | mes "various Mini Games for"; |
---|
254 | mes "the entertainment of all"; |
---|
255 | mes "our passengers. We invite"; |
---|
256 | mes "you to try your luck and skills"; |
---|
257 | mes "in the Airship's Mini Games~"; |
---|
258 | close; |
---|
259 | |
---|
260 | } |
---|
261 | |
---|
262 | airplane,50,66,4 script Meltz::AirshipApples 86,{ |
---|
263 | |
---|
264 | mes "[Meltz]"; |
---|
265 | mes "Welcome to Meltz's"; |
---|
266 | mes "Shop where you can"; |
---|
267 | mes "purchase Apples or grind"; |
---|
268 | mes "them to make Apple Juice."; |
---|
269 | next; |
---|
270 | menu "Buy Apples",s_Buy,"Make Apple Juice",s_Juice,"Cancel.",-; |
---|
271 | |
---|
272 | s_Cancel: |
---|
273 | mes "[Meltz]"; |
---|
274 | mes "Thanks for stopping"; |
---|
275 | mes "by my shop. Farewell!"; |
---|
276 | mes "Come back anytime when"; |
---|
277 | mes "you feel like having an"; |
---|
278 | mes "Apple to snack on~"; |
---|
279 | close; |
---|
280 | |
---|
281 | s_Buy: |
---|
282 | mes "[Meltz]"; |
---|
283 | mes "Please enter the amount"; |
---|
284 | mes "of Apples that you wish to"; |
---|
285 | mes "buy. Each Apple is 15 zeny"; |
---|
286 | mes "and you can buy a maximum"; |
---|
287 | mes "of 500 at a time. Please enter"; |
---|
288 | mes "\"0\" to cancel your order."; |
---|
289 | next; |
---|
290 | input @tempapple; |
---|
291 | if(!@tempapple)goto s_Cancel; |
---|
292 | if(@tempapple > 0 && @tempapple < 501)goto s_AppleBuy; |
---|
293 | if(@tempapple < 0)close; |
---|
294 | mes "[Meltz]"; |
---|
295 | mes "The maximum amount of apples"; |
---|
296 | mes "you can buy at the same time"; |
---|
297 | mes "is 500. " + @tempapple + " is clearly"; |
---|
298 | mes "over 500."; |
---|
299 | close; |
---|
300 | |
---|
301 | s_AppleBuy: |
---|
302 | mes "[Meltz]"; |
---|
303 | mes "A total of ^FF0000" + @tempapple + "^000000 Apples."; |
---|
304 | mes "will cost you ^FF0000" + @tempapple * 15 + "^000000 zeny."; |
---|
305 | mes "Would you like to continue?"; |
---|
306 | next; |
---|
307 | menu "Yes",-,"No",s_Cancel; |
---|
308 | |
---|
309 | if(zeny < (@tempapple * 15))goto s_NEnoughZeny; |
---|
310 | mes "[Meltz]"; |
---|
311 | mes "Thanks for stopping by"; |
---|
312 | mes "my shop. I hope you enjoy"; |
---|
313 | mes "the flavor of these Apples~!"; |
---|
314 | getitem 512,@tempapple; |
---|
315 | set zeny,zeny - (@tempapple * 15); |
---|
316 | close; |
---|
317 | |
---|
318 | s_NEnoughZeny: |
---|
319 | mes "[Meltz]"; |
---|
320 | mes "I'm sorry buy you don't"; |
---|
321 | mes "seem to have enough zeny."; |
---|
322 | mes "Come back anytime when"; |
---|
323 | mes "you feel like having an"; |
---|
324 | mes "Apple to snack on~"; |
---|
325 | close; |
---|
326 | |
---|
327 | s_Juice: |
---|
328 | mes "[Meltz]"; |
---|
329 | mes "Okay, I'll need"; |
---|
330 | mes "^FF00003 Apples and 1 Empty Bottle^000000"; |
---|
331 | mes "to make 1 Apple Juice for you."; |
---|
332 | mes "Would you like to proceed?"; |
---|
333 | next; |
---|
334 | menu "Yes",-,"No",s_Cancel; |
---|
335 | |
---|
336 | if(countitem(512) < 3 || !countitem(713))goto s_Material; |
---|
337 | mes "[Meltz]"; |
---|
338 | mes "Thank you,"; |
---|
339 | mes "please wait"; |
---|
340 | mes "just a moment."; |
---|
341 | next; |
---|
342 | mes "*Grind grind*"; |
---|
343 | mes "*Grind grind*"; |
---|
344 | mes "*Clang...!*"; |
---|
345 | next; |
---|
346 | mes "[Meltz]"; |
---|
347 | mes "There you go~"; |
---|
348 | mes "I hope you enjoy!"; |
---|
349 | mes "Please feel free to"; |
---|
350 | mes "stop by for your Apple"; |
---|
351 | mes "and Apple Juice needs"; |
---|
352 | mes "at anytime, adventurer~"; |
---|
353 | delitem 512,3; |
---|
354 | delitem 713,1; |
---|
355 | getitem 531,1; |
---|
356 | close; |
---|
357 | |
---|
358 | s_Material: |
---|
359 | mes "[Meltz]"; |
---|
360 | mes "I'm sorry, but you don't"; |
---|
361 | mes "have enough materials to"; |
---|
362 | mes "create a bottle of Apple Juice."; |
---|
363 | mes "Remember, I need 3 Apples"; |
---|
364 | mes "and 1 Empty Bottle to do it."; |
---|
365 | close; |
---|
366 | |
---|
367 | } |
---|
368 | |
---|
369 | airplane,80,71,4 script Zerta 834,{ |
---|
370 | mes "[Zerta]"; |
---|
371 | mes "Oh, hello adventurer."; |
---|
372 | mes "I am currently on a"; |
---|
373 | mes "sacred journey, offering"; |
---|
374 | mes "prayer for the sake of the"; |
---|
375 | mes "Rune-Midgard continent."; |
---|
376 | close; |
---|
377 | } |
---|
378 | |
---|
379 | airplane,65,63,4 script Maelin 714,{ |
---|
380 | mes "[Maelin]"; |
---|
381 | mes "Um, this Airship is"; |
---|
382 | mes "to Lutie, isn't it? I've"; |
---|
383 | mes "been waiting so long,"; |
---|
384 | mes "but I haven't heard any"; |
---|
385 | mes "broadcast about Lutie."; |
---|
386 | close; |
---|
387 | } |
---|
388 | |
---|
389 | airplane,72,34,2 script Aanos 702,{ |
---|
390 | mes "[Aanos]"; |
---|
391 | mes "Oh wooow~"; |
---|
392 | mes "The sky looks"; |
---|
393 | mes "so different and"; |
---|
394 | mes "pretty from up there!"; |
---|
395 | close; |
---|
396 | } |
---|
397 | |
---|
398 | airplane,32,61,4 script Nils::TypingContest 49,{ |
---|
399 | callfunc "F_ClearGarbage"; //Clear outdated, unused variables |
---|
400 | loopback: |
---|
401 | mes "[Nils]"; |
---|
402 | mes "Welcome to the"; |
---|
403 | mes "^FF0000RO Typing Challenge^000000."; |
---|
404 | mes "Would you like to play"; |
---|
405 | mes "a quick typing game?"; |
---|
406 | next; |
---|
407 | menu "Play ^FF0000RO Typing Challenge^000000",s_Play,"Information",s_Info,"View Top Records",s_Record,"Cancel",-; |
---|
408 | |
---|
409 | mes "[Nils]"; |
---|
410 | mes "Feel free to take on the"; |
---|
411 | mes "Ro Typing Challenge"; |
---|
412 | mes "anytime. I'll be here~"; |
---|
413 | close; |
---|
414 | |
---|
415 | s_Play: |
---|
416 | mes "[Nils]"; |
---|
417 | mes "Okay, we have"; |
---|
418 | mes "a new challenger!"; |
---|
419 | mes "Enter the following"; |
---|
420 | mes "text as quickly as you"; |
---|
421 | mes "can without making any"; |
---|
422 | mes "mistakes! Let's start~!"; |
---|
423 | next; |
---|
424 | //below arrays are for simplified entering of new lines ;P |
---|
425 | |
---|
426 | //first lines array |
---|
427 | setarray $@textstringsa$[0], |
---|
428 | "^00FFFFthkelfkskeldmsiejdlsle^0000FFhfndkelsheidl", |
---|
429 | "^993366hfjdkeldjsieldjs^663366hfjdjeiskdlefvbd", |
---|
430 | "^00FFFFCoboman no chikara-yumei na", |
---|
431 | "^993366belief love luck grimace sweat rush", |
---|
432 | "^00FFFFcallipygian salacious lascivious", |
---|
433 | "^663366uNflAPPaBLe LoVaBLe SeCreTs AnD", |
---|
434 | "^00CCFFburrdingdingdilidingdingphoohudaamb", |
---|
435 | "^FF33CCbarapaphurarlandreamduranbatuhi^990066wooi", |
---|
436 | "^FF33CCLiGhTsPeEd RiGhT SPEed leFT TURn", |
---|
437 | "^00CCFFI'm the King of all Weirdos! Now", |
---|
438 | "^00CCFFBy the power of^000000", |
---|
439 | "^00CCFF...silence. quiet benevolence..."; |
---|
440 | |
---|
441 | //second lines array |
---|
442 | setarray $@textstringsb$[0],"skemd", |
---|
443 | "", |
---|
444 | "chikara-dalookii na chikara da ze!", |
---|
445 | "folktale rodimus optimus bumblebee", |
---|
446 | "licentious prurient concupiscent", |
---|
447 | "BoWLiNg aGaINST tHe KarMA of YoUtH", |
---|
448 | "andoora^0000FFbambarambambamburanbamding", |
---|
449 | "kabamturubamdingding", |
---|
450 | "RiGhT BuRn OrIGInAL GaNgSteR SmACk", |
---|
451 | "you know of my true power. Obey~!", |
---|
452 | "p-po-poi-po-poi-poin-poing", |
---|
453 | "soul mate... wonder. enigma..."; |
---|
454 | //for the few 3-liners... =X |
---|
455 | |
---|
456 | setarray $@textstringsc$[0],"", |
---|
457 | "", |
---|
458 | "COBO ON!", |
---|
459 | "", |
---|
460 | "", |
---|
461 | "", |
---|
462 | "", |
---|
463 | "", |
---|
464 | "", |
---|
465 | "", |
---|
466 | "GOD-POING. I NEVER LOSE!", |
---|
467 | "cloud."; |
---|
468 | |
---|
469 | //comparisation strings |
---|
470 | setarray $@compstring$[0], |
---|
471 | "thkelfkskeldmsiejdlslehfndkelsheidlskemd", |
---|
472 | "hfjdkeldjsieldjshfjdjeiskdlefvbd", |
---|
473 | "Coboman no chikara-yumei na chikara-dalookii na chikara da ze! COBO ON!", |
---|
474 | "belief love luck grimace sweat rush folktale rodimus optimus bumblebee", |
---|
475 | "callipygian salacious lascivious licentious prurient concupiscent", |
---|
476 | "uNflAPPaBLe LoVaBLe SeCreTs AnD BoWLiNg aGaINST tHe KarMA of YoUtH", |
---|
477 | "burrdindingdilidingdingphoohudaambandoorabambarambambamburanbamding", |
---|
478 | "barapaphurarlandreamduranbatuhiwooikabamturubamdingding", |
---|
479 | "LiGhTsPeEd RiGhT SPEed leFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk", |
---|
480 | "I'm the King of all Weirdos! Now you know of my true power. Obey~!", |
---|
481 | "By the power of p-po-poi-po-poi-poin-poing GOD-POING. I NEVER LOSE!", |
---|
482 | "...silence. quiet benevolence... soul mate... wonder. enigma... cloud"; |
---|
483 | |
---|
484 | //lengths |
---|
485 | setarray $@lengths[0],20,32,73,73,65,66,67,55,67,66,67,69; |
---|
486 | |
---|
487 | // initnpctimer; |
---|
488 | // pick 2 distinct phrases and initialize related variables |
---|
489 | set @index,rand(1,getarraysize($@textstringsa$))-1; |
---|
490 | set @string1a$,$@textstringsa$[@index]; |
---|
491 | set @string1b$,$@textstringsb$[@index]; |
---|
492 | set @string1c$,$@textstringsc$[@index]; |
---|
493 | set @typingstring1$,$@compstring$[@index]; |
---|
494 | |
---|
495 | set @index2,rand(1,getarraysize($@textstringsa$))-1; |
---|
496 | while (@index2 == @index) { |
---|
497 | set @index2,rand(1,getarraysize($@textstringsa$))-1; |
---|
498 | } |
---|
499 | set @string2a$,$@textstringsa$[@index2]; |
---|
500 | set @string2b$,$@textstringsb$[@index2]; |
---|
501 | set @string2c$,$@textstringsc$[@index2]; |
---|
502 | set @typingstring2$,$@compstring$[@index2]; |
---|
503 | |
---|
504 | set @typingkeys,$@lengths[@index]+$@lengths[@index2]; |
---|
505 | set @start,gettime(3)*60*60+gettime(2)*60+gettime(1); |
---|
506 | |
---|
507 | mes "[Nils]"; |
---|
508 | mes @string1a$; |
---|
509 | if(@string1b$ != "")mes @string1b$; |
---|
510 | if(@string1c$ != "")mes @string1c$; |
---|
511 | input @comparisonvar$[1]; |
---|
512 | next; |
---|
513 | mes "^000000[Nils]"; |
---|
514 | mes @string2a$; |
---|
515 | if(@string2b$ != "")mes @string2b$; |
---|
516 | if(@string2c$ != "")mes @string2c$; |
---|
517 | input @comparisonvar$[2]; |
---|
518 | next; |
---|
519 | if(@comparisonvar$[1] != @typingstring1$ || @comparisonvar$[2] != @typingstring2$) goto s_Fail; |
---|
520 | set @time,(gettime(3)*60*60+gettime(2)*60+gettime(1))-@start; //seconds taken |
---|
521 | set @mypoints,(@typingkeys * 100) / @time; |
---|
522 | mes "[Nils]"; |
---|
523 | mes "Your typing time"; |
---|
524 | mes "was ^FF0000" + @time + " seconds^000000"; |
---|
525 | mes "and your score is"; |
---|
526 | mes "^0000FF" + @mypoints + "^000000 points"; |
---|
527 | next; |
---|
528 | if(@mypoints <= $TypingRecord)goto loopback; |
---|
529 | mes "[Nils]"; |
---|
530 | mes "Congratulations!"; |
---|
531 | mes "It's a new record."; |
---|
532 | mes "I'll put you on the high-"; |
---|
533 | mes "score list immediately."; |
---|
534 | set $TypingRecord,@mypoints; |
---|
535 | set $TypingRecord$,strcharinfo(0); |
---|
536 | close; |
---|
537 | |
---|
538 | s_Fail: |
---|
539 | mes "^000000[Nils]"; |
---|
540 | mes "I'm sorry you didn't type"; |
---|
541 | mes "all characters correctly."; |
---|
542 | mes "But remember, practice makes"; |
---|
543 | mes "perfect!"; |
---|
544 | close; |
---|
545 | |
---|
546 | s_Info: |
---|
547 | mes "[Nils]"; |
---|
548 | mes "The RO Typing Challenge"; |
---|
549 | mes "is a game where you enter"; |
---|
550 | mes "the given text as quickly as you"; |
---|
551 | mes "can. The name of the top player"; |
---|
552 | mes "is recorded for posterity. If you"; |
---|
553 | mes "want fame, here's your chance!"; |
---|
554 | next; |
---|
555 | mes "[Nils]"; |
---|
556 | mes "I'd just like to let"; |
---|
557 | mes "you know that you type"; |
---|
558 | mes "all the text that you see"; |
---|
559 | mes "in the single input line that"; |
---|
560 | mes "you're given. So don't press"; |
---|
561 | mes "the enter key, just click 'OK'."; |
---|
562 | close; |
---|
563 | |
---|
564 | s_Record: |
---|
565 | mes "[Nils]"; |
---|
566 | mes "^0000FF" + $TypingRecord$ + "^000000"; |
---|
567 | mes "is the current"; |
---|
568 | mes "record holder with"; |
---|
569 | mes "a record of ^0000FF" + $TypingRecord + "^000000"; |
---|
570 | mes "points. Try to beat"; |
---|
571 | mes "that record next time~"; |
---|
572 | close; |
---|
573 | |
---|
574 | } |
---|
575 | |
---|
576 | airplane_01,221,158,6 script Pilot#air-0::Pilot 852,{ |
---|
577 | set @pilot, rand(1,4); |
---|
578 | if (@pilot == 1) { |
---|
579 | mes "[Pilot]"; |
---|
580 | mes "Longitude, 131 degrees east."; |
---|
581 | mes "Latitude, 37 degrees north."; |
---|
582 | mes "We're right on course, captain."; |
---|
583 | close; |
---|
584 | } else if(@aa == 2) { |
---|
585 | mes "[Pilot]"; |
---|
586 | mes "Looks like a really"; |
---|
587 | mes "cloudy day. Always hard"; |
---|
588 | mes "to navigate when the skies"; |
---|
589 | mes "aren't clear. Guess we'll"; |
---|
590 | mes "need to amp the radar."; |
---|
591 | close; |
---|
592 | } else if(@aa == 3) { |
---|
593 | mes "[Pilot]"; |
---|
594 | mes "The Captain is a good"; |
---|
595 | mes "man and I can't think of"; |
---|
596 | mes "a finer person to command"; |
---|
597 | mes "this ship. Still, he's pretty"; |
---|
598 | mes "tough, a real slave driver."; |
---|
599 | next; |
---|
600 | mes "[^ff0000Tarlock^000000]"; |
---|
601 | mes "^ff0000Hey...!^000000"; |
---|
602 | mes "^ff0000Less chit-chat^000000"; |
---|
603 | mes "^ff0000and more piloting!^000000"; |
---|
604 | next; |
---|
605 | mes "[Pilot]"; |
---|
606 | mes "R-right away, sir!"; |
---|
607 | mes "(See what I mean?)"; |
---|
608 | close; |
---|
609 | } |
---|
610 | mes "[Pilot]"; |
---|
611 | mes "This uniform is"; |
---|
612 | mes "really dapper, but"; |
---|
613 | mes "it's way too thick to"; |
---|
614 | mes "wear around the Airship."; |
---|
615 | next; |
---|
616 | mes "[Pilot]"; |
---|
617 | mes "..."; |
---|
618 | mes "......"; |
---|
619 | mes "No one ever really"; |
---|
620 | mes "comes into this room."; |
---|
621 | mes "And the captain IS a reindeer."; |
---|
622 | mes "I could just strip to my boxers."; |
---|
623 | next; |
---|
624 | //Emotion "Pilot#airplane_01" ET_HUK |
---|
625 | mes "[Pilot]"; |
---|
626 | mes "Oh...! Hello there!"; |
---|
627 | mes "E-e-enjoying your flight?!"; |
---|
628 | close; |
---|
629 | } |
---|
630 | |
---|
631 | //============================================================ |
---|
632 | //= The Airship System (Izlude -> Juno -> Rachel -> Repeat) |
---|
633 | //============================================================ |
---|
634 | |
---|
635 | airplane_01,243,74,4 script #AirshipWarp-3 45,2,2,{ |
---|
636 | OnTouch: |
---|
637 | if($@airplanelocation2 == 1)warp "izlude",202,56; |
---|
638 | if($@airplanelocation2 == 2)warp "yuno",20,265; |
---|
639 | if($@airplanelocation2 == 3)warp "ra_fild12",292,204; |
---|
640 | end; |
---|
641 | |
---|
642 | OnHide: |
---|
643 | misceffect 16; |
---|
644 | end; |
---|
645 | OnUnhide: |
---|
646 | misceffect 215; |
---|
647 | end; |
---|
648 | } |
---|
649 | |
---|
650 | airplane_01,243,29,4 script #AirshipWarp-4 45,2,2,{ |
---|
651 | OnTouch: |
---|
652 | if($@airplanelocation2 == 1)warp "izlude",202,56; |
---|
653 | if($@airplanelocation2 == 2)warp "yuno",20,265; |
---|
654 | if($@airplanelocation2 == 3)warp "ra_fild12",292,204; |
---|
655 | end; |
---|
656 | |
---|
657 | OnHide: |
---|
658 | misceffect 16; |
---|
659 | end; |
---|
660 | OnUnhide: |
---|
661 | misceffect 215; |
---|
662 | end; |
---|
663 | } |
---|
664 | |
---|
665 | airplane_01,1,1,0 script YunoIzl_Airship -1,{ |
---|
666 | OnInit: |
---|
667 | while(1) |
---|
668 | { |
---|
669 | disablenpc "Quest_Izl"; |
---|
670 | initnpctimer; |
---|
671 | setnpctimer 0; |
---|
672 | set $@airplanelocation2,0; |
---|
673 | donpcevent "#AirshipWarp-3::OnHide"; |
---|
674 | donpcevent "#AirshipWarp-4::OnHide"; |
---|
675 | disablenpc "#AirshipWarp-3"; |
---|
676 | disablenpc "#AirshipWarp-4"; |
---|
677 | mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Izlude.",1,0x00FF00; |
---|
678 | end; |
---|
679 | OnTimer15000: |
---|
680 | set $@mobinv, $@mobinv+1; |
---|
681 | set $@mobrand, rand(1,3); |
---|
682 | if($@mobinv >= 9 && $@mobrand == 3) { |
---|
683 | stopnpctimer; |
---|
684 | enablenpc "Quest_Izl"; |
---|
685 | donpcevent "Quest_Izl::OnInvasion"; |
---|
686 | } |
---|
687 | mapannounce "airplane_01","We are heading to Izlude.",1,0x00FF00; |
---|
688 | end; |
---|
689 | OnTimer30000: |
---|
690 | mapannounce "airplane_01","We will arrive in Izlude shortly.",1,0x00FF00; |
---|
691 | end; |
---|
692 | OnTimer45000: |
---|
693 | set $@airplanelocation2,1; |
---|
694 | enablenpc "#AirshipWarp-3"; |
---|
695 | enablenpc "#AirshipWarp-4"; |
---|
696 | donpcevent "#AirshipWarp-3::OnUnhide"; |
---|
697 | donpcevent "#AirshipWarp-4::OnUnhide"; |
---|
698 | mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",1,0x00FF00; |
---|
699 | end; |
---|
700 | OnTimer55000: |
---|
701 | mapannounce "airplane_01","Currently, we are in Izlude. The Airship will leave shortly.",1,0x00FF00; |
---|
702 | end; |
---|
703 | OnTimer65000: |
---|
704 | set $@airplanelocation2,0; |
---|
705 | donpcevent "#AirshipWarp-3::OnHide"; |
---|
706 | donpcevent "#AirshipWarp-4::OnHide"; |
---|
707 | disablenpc "#AirshipWarp-3"; |
---|
708 | disablenpc "#AirshipWarp-4"; |
---|
709 | mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Juno.",1,0x70DBDB; |
---|
710 | end; |
---|
711 | OnTimer80000: |
---|
712 | mapannounce "airplane_01","We are heading to Juno.",1,0x70DBDB; |
---|
713 | end; |
---|
714 | OnTimer95000: |
---|
715 | mapannounce "airplane_01","We will arrive in Juno shortly.",1,0x70DBDB; |
---|
716 | end; |
---|
717 | OnTimer110000: |
---|
718 | set $@airplanelocation2,2; |
---|
719 | enablenpc "#AirshipWarp-3"; |
---|
720 | enablenpc "#AirshipWarp-4"; |
---|
721 | donpcevent "#AirshipWarp-3::OnUnhide"; |
---|
722 | donpcevent "#AirshipWarp-4::OnUnhide"; |
---|
723 | mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",1,0x70DBDB; |
---|
724 | end; |
---|
725 | OnTimer120000: |
---|
726 | mapannounce "airplane_01","Currently, we are in Juno. The Airship will take off shortly.",1,0x70DBDB; |
---|
727 | end; |
---|
728 | OnTimer130000: |
---|
729 | set $@airplanelocation2,0; |
---|
730 | donpcevent "#AirshipWarp-3::OnHide"; |
---|
731 | donpcevent "#AirshipWarp-4::OnHide"; |
---|
732 | disablenpc "#AirshipWarp-3"; |
---|
733 | disablenpc "#AirshipWarp-4"; |
---|
734 | mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",1,0xFF8600; |
---|
735 | end; |
---|
736 | OnTimer145000: |
---|
737 | mapannounce "airplane_01","We are heading to Rachel.",1,0xFF8600; |
---|
738 | end; |
---|
739 | OnTimer160000: |
---|
740 | mapannounce "airplane_01","We will arrive in Rachel shortly.",1,0xFF8600; |
---|
741 | end; |
---|
742 | OnTimer175000: |
---|
743 | set $@airplanelocation2,3; |
---|
744 | enablenpc "#AirshipWarp-3"; |
---|
745 | enablenpc "#AirshipWarp-4"; |
---|
746 | donpcevent "#AirshipWarp-3::OnUnhide"; |
---|
747 | donpcevent "#AirshipWarp-4::OnUnhide"; |
---|
748 | mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",1,0xFF8600; |
---|
749 | end; |
---|
750 | OnTimer185000: |
---|
751 | mapannounce "airplane_01","Currently, we are in Rachel. The Airship will leave shortly.",1,0xFF8600; |
---|
752 | end; |
---|
753 | OnTimer195000: |
---|
754 | stopnpctimer; |
---|
755 | } |
---|
756 | OnReturn: |
---|
757 | killmonsterall "airplane_01"; |
---|
758 | set $@mobinv, 0; |
---|
759 | mapannounce "airplane_01","Monster threat nullfied. The Airship is now returning to normal operation.",1,0x00FF00; |
---|
760 | startnpctimer; |
---|
761 | end; |
---|
762 | } |
---|
763 | |
---|
764 | //============================================================ |
---|
765 | //= Some normal NPCS (airplane_01) |
---|
766 | //============================================================ |
---|
767 | |
---|
768 | airplane_01,240,64,5 duplicate(Exit2) Exit#05 857 |
---|
769 | |
---|
770 | airplane_01,247,64,5 duplicate(Exit2) Exit#06 857 |
---|
771 | |
---|
772 | airplane_01,240,39,1 duplicate(Exit2) Exit#07 857 |
---|
773 | |
---|
774 | airplane_01,247,39,1 duplicate(Exit2) Exit#08 857 |
---|
775 | |
---|
776 | airplane_01,100,69,2 duplicate(Airship Crew) Airship Crew#02 852 |
---|
777 | |
---|
778 | airplane_01,250,59,3 duplicate(AirshipInfo) Airship Staff#info 67 |
---|
779 | |
---|
780 | airplane_01,50,66,4 duplicate(AirshipApples) Meltz 86 |
---|
781 | |
---|
782 | airplane_01,32,61,4 duplicate(TypingContest) Nils 49 |
---|
783 | |
---|
784 | airplane_01,221,158,6 duplicate(Pilot) Pilot#air-1 852 |
---|
785 | |
---|
786 | |
---|
787 | airplane_01,83,61,2 script Dianne 72,{ |
---|
788 | mes "[Dianne]"; |
---|
789 | mes "It's so weird!"; |
---|
790 | mes "I went to visit the"; |
---|
791 | mes "Airship Captain and"; |
---|
792 | mes "all I saw was this"; |
---|
793 | mes "weird reindeer. Oh!"; |
---|
794 | mes "Do you think that..."; |
---|
795 | close; |
---|
796 | OnTouch: |
---|
797 | Emotion 28, "Dianne"; |
---|
798 | end; |
---|
799 | } |
---|
800 | |
---|
801 | airplane_01,69,63,2 script Old Man#06 55,{ |
---|
802 | mes "[Mendel]"; |
---|
803 | mes "As I expected, the"; |
---|
804 | mes "in-flight meals are"; |
---|
805 | mes "three star quality at best."; |
---|
806 | mes "^111111*Harrrumph*^000000 I really should"; |
---|
807 | mes "have brought my chef so that"; |
---|
808 | mes "I could enjoy a real meal."; |
---|
809 | close; |
---|
810 | } |
---|
811 | |
---|
812 | airplane_01,33,68,4 script Clarice 74,{ |
---|
813 | mes "[Clarice]"; |
---|
814 | mes "Hi, I'm Clarice~"; |
---|
815 | mes "How would you like"; |
---|
816 | mes "to wager some Apples"; |
---|
817 | mes "in a friendly game of Dice?"; |
---|
818 | next; |
---|
819 | callfunc "applegamble","Clarice"; |
---|
820 | end; |
---|
821 | } |
---|
822 | |
---|
823 | airplane_01,71,31,6 script Swordman Shimizu 106,{ |
---|
824 | mes "[Swordsman Shimizu]"; |
---|
825 | mes "Finally, after five"; |
---|
826 | mes "years of waiting..."; |
---|
827 | mes "I can have my revenge!"; |
---|
828 | next; |
---|
829 | mes "[Swordsman Shimizu]"; |
---|
830 | mes "I just..."; |
---|
831 | mes "Have to make sure that"; |
---|
832 | mes "I don't keep missing my"; |
---|
833 | mes "stop. But soon, very soon,"; |
---|
834 | mes "vengeance will be mine!"; |
---|
835 | close; |
---|
836 | } |
---|
837 | |
---|
838 | //============================================================ |
---|
839 | //= The Izlude Airship Staff |
---|
840 | //============================================================ |
---|
841 | |
---|
842 | izlude,201,54,3 script Airship Staff#izl 91,{ |
---|
843 | mes "[Airship Staff]"; |
---|
844 | mes "Welcome to the International Airship."; |
---|
845 | mes "How may I help you?"; |
---|
846 | next; |
---|
847 | if (select("Board the Airship:Cancel") == 1) { |
---|
848 | mes "[Airship Staff]"; |
---|
849 | mes "The Airship boarding fee"; |
---|
850 | mes "is 1,200 zeny, but if you've"; |
---|
851 | mes "got a Free Ticket for Airship,"; |
---|
852 | mes "the fee will be waived. Will"; |
---|
853 | mes "you board the Airship?"; |
---|
854 | next; |
---|
855 | if (select("Yes:No") == 1) { |
---|
856 | if(countitem(7311) > 0) { |
---|
857 | delitem 7311,1; |
---|
858 | warp "airplane_01",224,64; |
---|
859 | close; |
---|
860 | } |
---|
861 | if(Zeny > 1200) { |
---|
862 | set Zeny, Zeny - 1200; |
---|
863 | warp "airplane_01",224,64; |
---|
864 | close; |
---|
865 | } |
---|
866 | mes "[Airship Staff]"; |
---|
867 | mes "You don't have enough zeny."; |
---|
868 | close; |
---|
869 | } |
---|
870 | } |
---|
871 | mes "[Airship Staff]"; |
---|
872 | mes "Thank you and"; |
---|
873 | mes "have a nice day."; |
---|
874 | close; |
---|
875 | } |
---|
876 | |
---|
877 | //============================================================ |
---|
878 | //= The Hugel Airship Staff |
---|
879 | //============================================================ |
---|
880 | |
---|
881 | hugel,182,150,3 script Airship Staff#hu 91,{ |
---|
882 | mes "[Airship Staff]"; |
---|
883 | mes "Welcome to the International Airship."; |
---|
884 | mes "How may I help you?"; |
---|
885 | next; |
---|
886 | if (select("Board the Airship:Cancel") == 1) { |
---|
887 | mes "[Airship Staff]"; |
---|
888 | mes "The Airship boarding fee"; |
---|
889 | mes "is 1,200 zeny, but if you've"; |
---|
890 | mes "got a Free Ticket for Airship,"; |
---|
891 | mes "the fee will be waived. Will"; |
---|
892 | mes "you board the Airship?"; |
---|
893 | next; |
---|
894 | if (select("Yes:No") == 1) { |
---|
895 | if(countitem(7311) > 0) { |
---|
896 | delitem 7311,1; |
---|
897 | warp "airplane",224,64; |
---|
898 | close; |
---|
899 | } |
---|
900 | if(Zeny > 1200) { |
---|
901 | set Zeny, Zeny - 1200; |
---|
902 | warp "airplane",224,64; |
---|
903 | close; |
---|
904 | } |
---|
905 | mes "[Airship Staff]"; |
---|
906 | mes "You don't have enough zeny."; |
---|
907 | close; |
---|
908 | } |
---|
909 | } |
---|
910 | mes "[Airship Staff]"; |
---|
911 | mes "Thank you and"; |
---|
912 | mes "have a nice day."; |
---|
913 | close; |
---|
914 | } |
---|
915 | |
---|
916 | //============================================================ |
---|
917 | //= The Rachel Airship Staff |
---|
918 | //============================================================ |
---|
919 | |
---|
920 | ra_fild12,295,208,3 script Airship Staff#ra 45,1,1,{ |
---|
921 | OnTouch: |
---|
922 | mes "T use the airship, you are"; |
---|
923 | mes "required to pay 1,200 zeny or a"; |
---|
924 | mes "Free Airship Ticket. Would you like to use the service?"; |
---|
925 | next; |
---|
926 | if (select("Yes:No") == 1) { |
---|
927 | if (countitem(7311) > 0) { |
---|
928 | delitem 7311,1; |
---|
929 | warp "airplane_01",224,64; |
---|
930 | close; |
---|
931 | } |
---|
932 | if (Zeny >= 1200) { |
---|
933 | set Zeny, Zeny - 1200; |
---|
934 | warp "airplane_01",224,64; |
---|
935 | close; |
---|
936 | } |
---|
937 | mes "You don't have enough zeny."; |
---|
938 | close; |
---|
939 | } |
---|
940 | mes "Thank you and, please come again."; |
---|
941 | close; |
---|
942 | } |
---|
943 | |
---|
944 | //============================================================ |
---|
945 | //= Juno Airport NPCs |
---|
946 | //============================================================ |
---|
947 | |
---|
948 | y_airport,144,63,4 script Airport Staff#Ein 91,{ |
---|
949 | mes "[Airship Staff]"; |
---|
950 | mes "Good day!"; |
---|
951 | mes "Would you like to go"; |
---|
952 | mes "to ^FF0000Einbroch^000000,^FF0000Hugel^000000 or"; |
---|
953 | mes "^FF0000Lighthalzen^000000?"; |
---|
954 | next; |
---|
955 | if (select("Yes.:No.") == 1) { |
---|
956 | mes "[Airship Staff]"; |
---|
957 | mes "Thank you and"; |
---|
958 | mes "have a nice day."; |
---|
959 | close2; |
---|
960 | warp "yuno",57,240; |
---|
961 | end; |
---|
962 | } |
---|
963 | mes "[Airship Staff]"; |
---|
964 | mes "Thank you and"; |
---|
965 | mes "have a nice day."; |
---|
966 | close; |
---|
967 | } |
---|
968 | |
---|
969 | y_airport,141,63,4 script Airport Staff#Izl 91,{ |
---|
970 | mes "[Airship Staff]"; |
---|
971 | mes "Good day!"; |
---|
972 | mes "Would you like to go"; |
---|
973 | mes "to ^FF0000Izlude^000000 or ^FF0000Rachel^000000?"; |
---|
974 | next; |
---|
975 | if (select("Yes.:No.") == 1) { |
---|
976 | mes "[Airship Staff]"; |
---|
977 | mes "Thank you and"; |
---|
978 | mes "have a nice day."; |
---|
979 | close2; |
---|
980 | warp "yuno",50,240; |
---|
981 | end; |
---|
982 | } |
---|
983 | mes "[Airship Staff]"; |
---|
984 | mes "Thank you and"; |
---|
985 | mes "have a nice day."; |
---|
986 | close; |
---|
987 | } |
---|
988 | |
---|
989 | yuno,14,262,3 script Airship Staff#yuno01::Airship Staff 91,{ |
---|
990 | mes "[Airship Staff]"; |
---|
991 | mes "Welcome to Juno Airport."; |
---|
992 | mes "Please use this door to"; |
---|
993 | mes "board the Airship that will"; |
---|
994 | mes "be flying all the way to Izlude"; |
---|
995 | mes "in the Rune-Midgarts Kingdom."; |
---|
996 | next; |
---|
997 | mes "[Airship Staff]"; |
---|
998 | mes "Otherwise, if Juno is"; |
---|
999 | mes "your intended destination,"; |
---|
1000 | mes "please head down the stairs"; |
---|
1001 | mes "and ask the Arrival Staff to lead"; |
---|
1002 | mes "you to the main terminal. Thank"; |
---|
1003 | mes "you, and enjoy your travels."; |
---|
1004 | close; |
---|
1005 | } |
---|
1006 | |
---|
1007 | yuno,88,263,5 duplicate(Airship Staff) Airship Staff#yuno02 91 |
---|
1008 | |
---|
1009 | //============================================================ |
---|
1010 | //= Apple Gambling Function |
---|
1011 | //============================================================ |
---|
1012 | |
---|
1013 | function script applegamble { |
---|
1014 | |
---|
1015 | switch(select("Play Dice Game:Learn Dice Game Rules:Cancel")){ |
---|
1016 | case 3: |
---|
1017 | mes "["+getarg(0)+"]"; |
---|
1018 | mes "I'm up for a game of"; |
---|
1019 | mes "dice whenever you feel"; |
---|
1020 | mes "like it. Just talk to me if"; |
---|
1021 | mes "you ever get hit with the"; |
---|
1022 | mes "sudden urge to gamle, kay?"; |
---|
1023 | close; |
---|
1024 | case 2: |
---|
1025 | mes "["+getarg(0)+"]"; |
---|
1026 | mes "The rules for the Dice game"; |
---|
1027 | mes "are pretty simple. First, you"; |
---|
1028 | mes "place a bet by wagering Apples."; |
---|
1029 | mes "You can bet a maximum of 50"; |
---|
1030 | mes "Apples at a time. To keep things"; |
---|
1031 | mes "legal, I can only accept Apples."; |
---|
1032 | next; |
---|
1033 | mes "["+getarg(0)+"]"; |
---|
1034 | mes "But hey, if all that zeny"; |
---|
1035 | mes "is burning a hole in your"; |
---|
1036 | mes "pocket, head over to Fruitz"; |
---|
1037 | mes "and you can buy as many"; |
---|
1038 | mes "Apples as you want, playah~"; |
---|
1039 | next; |
---|
1040 | mes "["+getarg(0)+"]"; |
---|
1041 | mes "Now, we begin with me"; |
---|
1042 | mes "rolling wto 6-sided dice."; |
---|
1043 | mes "When it's your turn, you'll"; |
---|
1044 | mes "roll two 6-sided dice. After"; |
---|
1045 | mes "that, both of us will have the"; |
---|
1046 | mes "option of rolling a third die."; |
---|
1047 | next; |
---|
1048 | mes "["+getarg(0)+"]"; |
---|
1049 | mes "Now here's the important"; |
---|
1050 | mes "thing. If your total is higher"; |
---|
1051 | mes "than 12, you'll bust, meaning"; |
---|
1052 | mes "that you lose. Otherwise, the"; |
---|
1053 | mes "person with the higher total"; |
---|
1054 | mes "is the winner. Got it?"; |
---|
1055 | next; |
---|
1056 | mes "["+getarg(0)+"]"; |
---|
1057 | mes "Now, you'll be the first"; |
---|
1058 | mes "to decide whether or not"; |
---|
1059 | mes "you'll roll the third die. Then,"; |
---|
1060 | mes "depending on your result, I'll"; |
---|
1061 | mes "roll my third die... Or maybe not."; |
---|
1062 | next; |
---|
1063 | mes "["+getarg(0)+"]"; |
---|
1064 | mes "When you win, you'll"; |
---|
1065 | mes "receive twice as many"; |
---|
1066 | mes "Apples as you wagered."; |
---|
1067 | mes "But if we happen to tie, you"; |
---|
1068 | mes "get the Apples that you bet"; |
---|
1069 | mes "returned to you. Fair, right?"; |
---|
1070 | close; |
---|
1071 | case 1: |
---|
1072 | break; |
---|
1073 | } |
---|
1074 | mes "["+getarg(0)+"]"; |
---|
1075 | mes "Ooh, so you'll play with"; |
---|
1076 | mes "me? Great! How many"; |
---|
1077 | mes "Apples would you like to bet?"; |
---|
1078 | mes "Remember, you can wager"; |
---|
1079 | mes "up to 50 Apples. If you'd like"; |
---|
1080 | mes "to cancel, please enter '0'."; |
---|
1081 | next; |
---|
1082 | L_Input: |
---|
1083 | input @amount; |
---|
1084 | if(@amount == 0) { |
---|
1085 | mes "["+getarg(0)+"]"; |
---|
1086 | mes "Changed your mind?"; |
---|
1087 | mes "I understand. Well then,"; |
---|
1088 | mes "I hope we can play sometime."; |
---|
1089 | close; |
---|
1090 | } |
---|
1091 | if(@amount > 50) set @amount,50; |
---|
1092 | mes "["+getarg(0)+"]"; |
---|
1093 | mes "So you'll be"; |
---|
1094 | mes "betting ^FF0000"+@amount+"^000000 Apples."; |
---|
1095 | mes "Is that right?"; |
---|
1096 | next; |
---|
1097 | if(select("Yes:No")==2){ |
---|
1098 | mes "["+getarg(0)+"]"; |
---|
1099 | mes "Mm, made a mistake?"; |
---|
1100 | mes "Alright, please enter the"; |
---|
1101 | mes "number of Apples you"; |
---|
1102 | mes "wish to place in this bet"; |
---|
1103 | next; |
---|
1104 | goto L_Input; |
---|
1105 | } |
---|
1106 | if(countitem(512)<@amount){ |
---|
1107 | //more apples then in inventory |
---|
1108 | //-Improvised- |
---|
1109 | mes "["+getarg(0)+"]"; |
---|
1110 | mes "Ooh..."; |
---|
1111 | mes "You don't have that"; |
---|
1112 | mes "many Apples with you,"; |
---|
1113 | mes "now do you?"; |
---|
1114 | close; |
---|
1115 | } |
---|
1116 | delitem 512,@amount; |
---|
1117 | mes "["+getarg(0)+"]"; |
---|
1118 | mes "Good!"; |
---|
1119 | mes "Now we can start"; |
---|
1120 | mes "this game! I'll roll first~"; |
---|
1121 | next; |
---|
1122 | mes "^0000FF*Rolling and rumbling*"; |
---|
1123 | set @table1,rand(1,6); |
---|
1124 | set @table2,rand(1,6); |
---|
1125 | set @tablesub,@table1+@table2; |
---|
1126 | next; |
---|
1127 | mes "I rolled a "+@table1+" and a "+@table2+","; |
---|
1128 | mes "giving me a total of "+@tablesub+"."; |
---|
1129 | mes "Now it's your turn,"; |
---|
1130 | mes strcharinfo(0)+"."; |
---|
1131 | next; |
---|
1132 | menu "Roll Dice.",-; |
---|
1133 | |
---|
1134 | mes "^0000FF*Rolling and rumbling*"; |
---|
1135 | set @player1,rand(1,6); |
---|
1136 | set @player2,rand(1,6); |
---|
1137 | set @playersub,@player1+@player2; |
---|
1138 | next; |
---|
1139 | mes "["+getarg(0)+"]"; |
---|
1140 | mes strcharinfo(0)+","; |
---|
1141 | mes "you rolled a "+@player1+" and a "+@player2+","; |
---|
1142 | mes "giving you a total of ^FF0000"+@playersub+"^000000."; |
---|
1143 | next; |
---|
1144 | mes "["+getarg(0)+"]"; |
---|
1145 | if(@playersub == @tablesub) { |
---|
1146 | mes "Well, well, well."; |
---|
1147 | mes "Both of us have a total"; |
---|
1148 | mes "of "+@playersub+". Well, the ball's in"; |
---|
1149 | mes "your court. Are you going"; |
---|
1150 | mes "to roll your third die,"; |
---|
1151 | mes strcharinfo(0)+"?"; |
---|
1152 | } else if(@playersub > @tablesub) { |
---|
1153 | mes "Since my total is only ^0000FF"+@tablesub+"^000000,"; |
---|
1154 | mes "you have the advantage for"; |
---|
1155 | mes "now with your total of ^FF0000"+@playersub+"^000000. Do"; |
---|
1156 | mes "you wanna roll one more die?"; |
---|
1157 | mes "Remember, you'll bust if all three"; |
---|
1158 | mes "of your dice total more than 12."; |
---|
1159 | } else if(@tablesub > @playersub) { |
---|
1160 | mes "Since my total is ^0000FF"+@tablesub+"^000000,"; |
---|
1161 | mes "I have the advantage for"; |
---|
1162 | mes "now with your total of ^FF0000"+@playersub+"^000000. Do"; |
---|
1163 | mes "you wanna roll one more die?"; |
---|
1164 | mes "Remember, you'll bust if all three"; |
---|
1165 | mes "of your dice total more than 12."; |
---|
1166 | } |
---|
1167 | next; |
---|
1168 | if(select("Roll another dice.:Don't Roll.")==2){ |
---|
1169 | mes "["+getarg(0)+"]"; |
---|
1170 | mes "Not gonna roll, huh?"; |
---|
1171 | if(@tablesub == @playersub) { |
---|
1172 | mes "You better hope I roll"; |
---|
1173 | mes "too high and bust, or"; |
---|
1174 | mes "I'll beat you for sure!"; |
---|
1175 | mes "Okay, here goes nothing..."; |
---|
1176 | next; |
---|
1177 | goto L_Table3; |
---|
1178 | } else if(@tablesub < @playersub) { |
---|
1179 | next; |
---|
1180 | mes "["+getarg(0)+"]"; |
---|
1181 | mes "Alright, I see that you"; |
---|
1182 | mes "don't want to risk rolling"; |
---|
1183 | mes "higher than 12 and busting."; |
---|
1184 | mes "I'll go ahead and roll then."; |
---|
1185 | next; |
---|
1186 | goto L_Table3; |
---|
1187 | } else if(@tablesub > @playersub) { |
---|
1188 | //you have a lower sub total then table, and do not roll 3th -Improvised- |
---|
1189 | mes "["+getarg(0)+"]"; |
---|
1190 | mes "Not gonna roll, huh?"; |
---|
1191 | mes "Well, then I'm not"; |
---|
1192 | mes "gonna roll either."; |
---|
1193 | next; |
---|
1194 | mes "["+getarg(0)+"]"; |
---|
1195 | mes "That means that I"; |
---|
1196 | mes "have a total of ^0000FF"+@tablesub+"^000000"; |
---|
1197 | mes "wich beats your ^FF0000"+@playersub+"^000000."; |
---|
1198 | mes "I'm sorry, but you lose"; |
---|
1199 | mes "this game, "+strcharinfo(0)+". Better"; |
---|
1200 | mes "luck next time."; |
---|
1201 | } |
---|
1202 | close; |
---|
1203 | } |
---|
1204 | mes "^0000FF*Rolling and rumbling*"; |
---|
1205 | set @player3,rand(1,6); |
---|
1206 | set @playersub,@playersub+@player3; |
---|
1207 | if(@playersub > 12) { |
---|
1208 | //player bust --Improvised-- |
---|
1209 | next; |
---|
1210 | mes "["+getarg(0)+"]"; |
---|
1211 | mes "Oh my... You rolled a ^FF000"+@player3+"^000000,"; |
---|
1212 | mes "making your total ^FF0000"+@playersub+"^000000."; |
---|
1213 | mes "That's more then 12, meaning you bust."; |
---|
1214 | mes "Sorry, but you lose this"; |
---|
1215 | mes "game, "+strcharinfo(0)+"."; |
---|
1216 | close; |
---|
1217 | } |
---|
1218 | next; |
---|
1219 | mes "["+getarg(0)+"]"; |
---|
1220 | mes "Oh hey! You rolled"; |
---|
1221 | if(@playersub >= @tablesub) { |
---|
1222 | mes "a ^FF0000"+@player3+"^000000, giving you a total"; |
---|
1223 | mes "of ^FF0000"+@playersub+"^000000. Now, if I don't"; |
---|
1224 | mes "roll, I'll lose for sure!"; |
---|
1225 | mes "I'm gonna go for it..."; |
---|
1226 | next; |
---|
1227 | goto L_Table3; |
---|
1228 | } else if(@playersub < @tablesub) { |
---|
1229 | //player's sub together with 3th die is still too low |
---|
1230 | //--Improvised-- |
---|
1231 | mes "a ^FF0000"+@player3+"^000000, giving"; |
---|
1232 | mes "you a total of ^FF0000"+@playersub+"^000000."; |
---|
1233 | mes "Wich still isn't enough"; |
---|
1234 | mes "to beat my ^0000FF"+@tablesub+"^000000."; |
---|
1235 | mes "Sorry, but you lose this"; |
---|
1236 | mes "game, "+strcharinfo(0)+". Them's"; |
---|
1237 | mes "the breaks, I suppose..."; |
---|
1238 | close; |
---|
1239 | } |
---|
1240 | L_Table3: |
---|
1241 | mes "^0000FF*Rolling and rumbling*"; |
---|
1242 | set @table3,rand(1,6); |
---|
1243 | set @tablesub,@tablesub+@table3; |
---|
1244 | next; |
---|
1245 | if(@tablesub > 12) { |
---|
1246 | mes "["+getarg(0)+"]"; |
---|
1247 | mes "Eh? I rolled a ^0000FF"+@table3+"^000000, making"; |
---|
1248 | mes "my total ^0000FF"+@tablesub+"^000000. I hate to say"; |
---|
1249 | mes "it, but I gambled and lost."; |
---|
1250 | mes "Take your winnings before"; |
---|
1251 | mes "I cry, "+strcharinfo(0)+"~!"; |
---|
1252 | close2; |
---|
1253 | getitem 512,@amount*2; |
---|
1254 | end; |
---|
1255 | } |
---|
1256 | mes "["+getarg(0)+"]"; |
---|
1257 | if(@tablesub < @playersub) { |
---|
1258 | mes "I rolled a "+@table3+", which"; |
---|
1259 | mes "gives me a total of ^0000FF"+@tablesub+"^000000."; |
---|
1260 | mes "But... It's still not enough"; |
---|
1261 | mes "to beat your ^FF0000"+@playersub+"^000000. It looks"; |
---|
1262 | mes "like I can't compete with"; |
---|
1263 | mes "you, "+strcharinfo(0)+"..."; |
---|
1264 | close2; |
---|
1265 | getitem 512,@amount*2; |
---|
1266 | end; |
---|
1267 | } else if(@tablesub > @playersub) { |
---|
1268 | mes "I rolled a ^0000FF"+@table3+"^000000, giving"; |
---|
1269 | mes "me a total of ^0000FF"+@tablesub+"^000000 which"; |
---|
1270 | mes "beats your total of ^FF0000"+@playersub+"^000000."; |
---|
1271 | mes "Sorry, but you lose this"; |
---|
1272 | mes "game, "+strcharinfo(0)+". Them's"; |
---|
1273 | mes "the breaks, I suppose..."; |
---|
1274 | close; |
---|
1275 | } else if(@tablesub == @playersub) { |
---|
1276 | //Result = tie, --Improvised-- |
---|
1277 | mes "I rolled a ^0000FF"+@table3+"^000000, giving"; |
---|
1278 | mes "me a total of ^0000FF"+@tablesub+"^000000, which"; |
---|
1279 | mes "is the same as your total."; |
---|
1280 | mes "Well, this game didn't have a"; |
---|
1281 | mes "winner or loser, "+strcharinfo(0)+"."; |
---|
1282 | close2; |
---|
1283 | getitem 512,@amount; |
---|
1284 | end; |
---|
1285 | } |
---|
1286 | } |
---|