[1] | 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 | } |
---|