summaryrefslogtreecommitdiff
path: root/npc/airports
diff options
context:
space:
mode:
Diffstat (limited to 'npc/airports')
-rw-r--r--npc/airports/airships.txt1398
-rw-r--r--npc/airports/einbroch.txt88
-rw-r--r--npc/airports/hugel.txt36
-rw-r--r--npc/airports/izlude.txt51
-rw-r--r--npc/airports/lighthalzen.txt89
-rw-r--r--npc/airports/rachel.txt36
-rw-r--r--npc/airports/yuno.txt155
7 files changed, 1035 insertions, 818 deletions
diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt
index 1477d9510..6f1e1291e 100644
--- a/npc/airports/airships.txt
+++ b/npc/airports/airships.txt
@@ -2,233 +2,291 @@
//= The Airship System Script
//===== By: ==================================================
//= rAthena Dev Team
-//===== Current Version: =====================================
-//= 1.2a
//===== Compatible With: =====================================
-//= rAthena SVN 3422+(Requires jA Script System)
+//= rAthena SVN
//===== Description: =========================================
-//= The Airship System used in the official servers, however this
-//= one is still about 25% custom and is missing some npcs.
+//= The Airship System used in the official servers.
//===== Additional Comments: =================================
-//= 0.1 Added first version, it might be a little buggy [MasterOfMuppets]
-//= 0.1a Fixed the Airport Staff#Iz which was [MasterOfMuppets]
-//= warping you to the same location as Airport Staff#Ein
-//= 0.2 Implemented some more airship NPCs, more are to come.
-//= 0.3 Implemented some more NPCs [MasterOfMuppets]
-//= 0.4 Implemented two mini games scripted by Dj-Yhn [MasterOfMuppets]
-//= 0.5 Removed Duplicates [Silent]
-//= 0.5a Fixed a typo [Evera]
-//= 0.5b Fixed appledice bugs [Lupus]
-//= 0.6 Added Rachel to the international route [Playtester]
-//= 0.7 Implemented Few Missings NPCs like (Pilot, Aanos, etc...).
-//= Corrected Dialogs from some NPCs.
-//= Added sistem to work with the "How Does the Airship Work" Quest [Samuray22]
-//= 0.8 Moved Gambling NPC Kaci since it's part of a quest. [SinSloth]
-//= 0.8b Fixed a Little Bug with the "How Does the Airship Work" Quest. [Samuray22]
-//= 0.9 Fixed a incorrect variable changed form "mob_inv" to "mobinv". [Samuray22]
-//= 0.9b Fixed a typo and bad variable use in the Typing Challenge [ultramage]
-//= 1.0 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf]
-//= 1.1 Touch-ups, and changed references of "Yuno" to "Juno", [L0ne_W0lf]
-//= 1.1a Small fix to comparison check. [Paradox924X]
-//= 1.1b Small fix to zeny check. [Kisuka]
-//= 1.2 Updated some NPCs based on official files. [L0ne_W0lf]
-//= 1.2a Fixed "mobinv" and "mobrand" variables to work with invation. [Slim]
+//= Official NPCs (except apple gambling function).
//============================================================
//============================================================
-//= The Airship System (Juno -> Hugel -> Einbroch -> Lighthalzen -> repeat)
+//= Domestic Airship Route
+//= ... -> Juno -> Einbroch -> Lighthalzen -> Einbroch
+//= -> Juno -> Hugel -> ...
//============================================================
-airplane,243,74,4 script #AirshipWarp-1 45,2,2,{
-OnTouch:
- if($@airplanelocation == 1)warp "einbroch",90,275;
- if($@airplanelocation == 2)warp "yuno",85,265;
- if($@airplanelocation == 3)warp "lighthalzen",302,75;
- if($@airplanelocation == 4)warp "hugel",182,150;
+airplane,243,73,0 script #AirshipWarp-1 45,1,1,{
end;
+OnInit:
OnHide:
misceffect 16;
+ disablenpc strnpcinfo(0);
end;
+
OnUnhide:
+ enablenpc strnpcinfo(0);
misceffect 215;
end;
-}
-airplane,243,29,4 script #AirshipWarp-2 45,2,2,{
OnTouch:
- if($@airplanelocation == 1)warp "einbroch",90,275;
- if($@airplanelocation == 2)warp "yuno",85,265;
- if($@airplanelocation == 3)warp "lighthalzen",302,75;
- if($@airplanelocation == 4)warp "hugel",182,150;
- end;
-
-OnHide:
- misceffect 16;
- end;
-OnUnhide:
- misceffect 215;
- end;
+ switch ($@airplanelocation) {
+ case 0: warp "yuno",92,260; end;
+ case 1: warp "einbroch",92,278; end;
+ case 2: warp "lighthalzen",302,75; end;
+ case 3: warp "hugel",181,146; end;
+ }
}
-airplane,1,1,0 script EinYuno_Airship -1,{
+airplane,243,29,0 duplicate(#AirshipWarp-1) #AirshipWarp-2 45,1,1
+
+airplane,1,1,0 script Domestic_Airship -1,{
+ end;
OnInit:
-while(1)
-{
initnpctimer;
- setnpctimer 0;
- set $@airplanelocation,0;
+ end;
+OnTimer20000:
+ mapannounce "airplane","We are heading to Einbroch.",bc_map,"0x00ff00";
+ end;
+OnTimer50000:
+ mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,"0x00ff00";
+ end;
+OnTimer60000:
+ set $@airplanelocation,1;
+ donpcevent "#AirshipWarp-1::OnUnhide";
+ donpcevent "#AirshipWarp-2::OnUnhide";
+ mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,"0x00ff00";
+ end;
+OnTimer70000:
+ mapannounce "airplane","Currently we are in Einbroch. The Airship will take off shortly.",bc_map,"0x00ff00";
+ end;
+OnTimer80000:
donpcevent "#AirshipWarp-1::OnHide";
donpcevent "#AirshipWarp-2::OnHide";
- disablenpc "#AirshipWarp-1";
- disablenpc "#AirshipWarp-2";
- mapannounce "airplane","The Airship is leaving the ground. Our next destination is Hugel.",bc_map,0xBA55D3;
+ mapannounce "airplane","The Airship is now taking off. Our next destination is Lighthalzen.",bc_map,"0x70dbdb";
end;
-OnTimer15000:
- mapannounce "airplane","We are heading to Hugel.",bc_map,0xBA55D3;
+OnTimer100000:
+ mapannounce "airplane","We are heading to Lighthalzen.",bc_map,"0x70dbdb";
end;
-OnTimer30000:
- mapannounce "airplane","We will arrive in Hugel shortly.",bc_map,0xBA55D3;
+OnTimer130000:
+ mapannounce "airplane","We will arrive in Lighthalzen shortly.",bc_map,"0x70dbdb";
end;
-OnTimer45000:
- set $@airplanelocation,4;
- enablenpc "#AirshipWarp-1";
- enablenpc "#AirshipWarp-2";
+OnTimer140000:
+ set $@airplanelocation,2;
donpcevent "#AirshipWarp-1::OnUnhide";
donpcevent "#AirshipWarp-2::OnUnhide";
- mapannounce "airplane","Welcome to Hugel. Have a safe trip.",bc_map,0xBA55D3;
+ mapannounce "airplane","Welcome to Lighthalzen. Have a safe trip.",bc_map,"0x70dbdb";
end;
-OnTimer55000:
- mapannounce "airplane","Currently, we are in Hugel. The Airship will leave shortly.",bc_map,0xBA55D3;
+OnTimer150000:
+ mapannounce "airplane","Currently we are in Lighthalzen. The Airship will leave shortly.",bc_map,"0x70dbdb";
end;
-OnTimer65000:
- set $@airplanelocation,0;
+OnTimer160000:
donpcevent "#AirshipWarp-1::OnHide";
donpcevent "#AirshipWarp-2::OnHide";
- disablenpc "#AirshipWarp-1";
- disablenpc "#AirshipWarp-2";
- mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,0x00FF00;
+ mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,"0x00ff00";
end;
-OnTimer80000:
- mapannounce "airplane","We are heading to Einbroch.",bc_map,0x00FF00;
+OnTimer180000:
+ mapannounce "airplane","We are heading to Einbroch.",bc_map,"0x00ff00";
end;
-OnTimer95000:
- mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,0x00FF00;
+OnTimer210000:
+ mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,"0x00FF00";
end;
-OnTimer110000:
+OnTimer220000:
set $@airplanelocation,1;
- enablenpc "#AirshipWarp-1";
- enablenpc "#AirshipWarp-2";
donpcevent "#AirshipWarp-1::OnUnhide";
donpcevent "#AirshipWarp-2::OnUnhide";
- mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,0x00FF00;
+ mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,"0x00ff00";
end;
-OnTimer120000:
- mapannounce "airplane","Currently, we are in Einbroch. The Airship will take off shortly.",bc_map,0x00FF00;
+OnTimer230000:
+ mapannounce "airplane","Currently we are in Einbroch. The Airship will take off shortly.",bc_map,"0x00ff00";
end;
-OnTimer130000:
+OnTimer240000:
+ donpcevent "#AirshipWarp-1::OnHide";
+ donpcevent "#AirshipWarp-2::OnHide";
+ mapannounce "airplane","The Airship is now taking off. Our next destination is Juno.",bc_map,"0xff8200";
+ end;
+OnTimer260000:
+ mapannounce "airplane","We are heading to Juno.",bc_map,"0xff8200";
+ end;
+OnTimer290000:
+ mapannounce "airplane","We will arrive in Juno shortly.",bc_map,"0xff8200";
+ end;
+OnTimer300000:
set $@airplanelocation,0;
+ donpcevent "#AirshipWarp-1::OnUnhide";
+ donpcevent "#AirshipWarp-2::OnUnhide";
+ mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,"0xff8200";
+ end;
+OnTimer310000:
+ mapannounce "airplane","Currently we are in Juno. The Airship will leave shortly.",bc_map,"0xff8200";
+ end;
+OnTimer320000:
donpcevent "#AirshipWarp-1::OnHide";
donpcevent "#AirshipWarp-2::OnHide";
- disablenpc "#AirshipWarp-1";
- disablenpc "#AirshipWarp-2";
- mapannounce "airplane","The Airship is leaving the ground. Our next destination is Lighthalzen.",bc_map,0xFF8600;
+ mapannounce "airplane","The Airship is leaving the ground. Our next destination is Hugel.",bc_map,"0xca4bf3";
end;
-OnTimer145000:
- mapannounce "airplane","We are heading to Lighthalzen.",bc_map,0xFF8600;
+OnTimer340000:
+ mapannounce "airplane","We are heading to Hugel.",bc_map,"0xca4bf3";
end;
-OnTimer160000:
- mapannounce "airplane","We will arrive in Lighthalzen shortly.",bc_map,0xFF8600;
+OnTimer370000:
+ mapannounce "airplane","We will arrive in Hugel shortly.",bc_map,"0xca4bf3";
end;
-OnTimer175000:
+OnTimer380000:
set $@airplanelocation,3;
- enablenpc "#AirshipWarp-1";
- enablenpc "#AirshipWarp-2";
donpcevent "#AirshipWarp-1::OnUnhide";
donpcevent "#AirshipWarp-2::OnUnhide";
- mapannounce "airplane","Welcome to Lighthalzen. Have a safe trip.",bc_map,0xFF8600;
+ mapannounce "airplane","Welcome to Hugel. Have a safe trip.",bc_map,"0xca4bf3";
end;
-OnTimer185000:
- mapannounce "airplane","Currently, we are in Lighthalzen. The Airship will leave shortly.",bc_map,0xFF8600;
+OnTimer390000:
+ mapannounce "airplane","Currently we are in Hugel. The Airship will leave shortly.",bc_map,"0xca4bf3";
end;
-OnTimer195000:
- set $@airplanelocation,0;
+OnTimer400000:
donpcevent "#AirshipWarp-1::OnHide";
donpcevent "#AirshipWarp-2::OnHide";
- disablenpc "#AirshipWarp-1";
- disablenpc "#AirshipWarp-2";
- mapannounce "airplane","The Airship is now taking off. Our next destination is Juno.",bc_map,0x70DBDB;
+ mapannounce "airplane","The Airship is leaving the ground. Our next destination is Juno.",bc_map,"0xff8200";
end;
-OnTimer210000:
- mapannounce "airplane","We are heading to Juno.",bc_map,0x70DBDB;
+OnTimer420000:
+ mapannounce "airplane","We are heading to Juno.",bc_map,"0xff8200";
end;
-OnTimer225000:
- mapannounce "airplane","We will arrive in Juno shortly.",bc_map,0x70DBDB;
+OnTimer450000:
+ mapannounce "airplane","We will arrive in Juno shortly.",bc_map,"0xff8200";
end;
-OnTimer240000:
- set $@airplanelocation,2;
- enablenpc "#AirshipWarp-1";
- enablenpc "#AirshipWarp-2";
+OnTimer460000:
+ set $@airplanelocation,0;
donpcevent "#AirshipWarp-1::OnUnhide";
donpcevent "#AirshipWarp-2::OnUnhide";
- mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,0x70DBDB;
+ mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,"0xff8200";
end;
-OnTimer250000:
- mapannounce "airplane","Currently, we are in Juno. The Airship will leave shortly.",bc_map,0x70DBDB;
+OnTimer470000:
+ mapannounce "airplane","Currently we are in Juno. The Airship will leave shortly.",bc_map,"0xff8200";
end;
-OnTimer260000:
+OnTimer480000:
+ donpcevent "#AirshipWarp-1::OnHide";
+ donpcevent "#AirshipWarp-2::OnHide";
+ mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,"0x00ff00";
stopnpctimer;
+ initnpctimer;
}
-}
-
-//C4644E
-//============================================================
-//= Some normal NPCS (airplane)
-//============================================================
-
-airplane,240,64,5 script Exit#01::Exit2 857,{
+airplane,240,64,5 script Exit#airplane1a::ExitAirplane 857,{
end;
}
+airplane,247,64,5 duplicate(ExitAirplane) Exit#airplane1b 857
+airplane,240,40,1 duplicate(ExitAirplane) Exit#airplane2a 857
+airplane,247,40,1 duplicate(ExitAirplane) Exit#airplane2b 857
-airplane,247,64,5 duplicate(Exit2) Exit#02 857
-
-airplane,240,39,1 duplicate(Exit2) Exit#03 857
-
-airplane,247,39,1 duplicate(Exit2) Exit#04 857
-
-airplane,100,69,2 script Airship Crew#01::Airship Crew 852,{
+airplane,100,69,3 script Airship Crew#ein-1 852,{
mes "[Airship Crew]";
mes "If we've landed at";
mes "your destination and";
mes "you'd like to leave the";
mes "Airship, please use the";
mes "stairs up ahead. Thank";
- mes "you for you patronage.";
+ mes "you for your patronage.";
+ close;
+}
+
+airplane,64,94,1 script Umbala Kid#ein_p 787,{
+ emotion e_swt2;
+ mes "[Kid]";
+ if (event_umbala >= 3) {
+ mes "Wow, mom!";
+ mes "L-look at this!";
+ mes "We're flying! W-we're...";
+ mes "We're in the freakin' sky!";
+ }
+ else {
+ mes "Makumalagu!";
+ mes "Saampa joojimbo";
+ mes "kaku na jedi Solo.";
+ mes "Bwahahahahahahaah!";
+ }
+ close;
+}
+
+airplane,66,93,3 script Umbala Lady#ein_p 783,{
+ emotion e_dots;
+ mes "[Lady]";
+ if (event_umbala >= 3) {
+ mes "Shush...";
+ mes "Honey, behave~";
+ mes "Don't act so excited";
+ mes "when we're out in a";
+ mes "public place like this!";
+ }
+ else {
+ mes "Chooktu!";
+ mes "Sacraup matii!";
+ mes "Shaka gurftalfi";
+ mes "huntiki manjoo!";
+ }
+ close;
+}
+
+airplane,71,91,7 script Umbala Man#ein_p 789,{
+ if (event_umbala >= 3) {
+ mes "[Chrmlim]";
+ mes "Hey there~";
+ mes "From that look on";
+ mes "your face, I see that";
+ mes "you can understand";
+ mes "me. ^333333*Whew...!*^000000";
+ next;
+ emotion e_pif;
+ mes "[Chrmlim]";
+ mes "I've been helping the";
+ mes "Airship enterprise by";
+ mes "having the Airship Crewmen";
+ mes "train in Umbala to overcome";
+ mes "any acrophobia they might have through bungee jumping. Neat, eh?";
+ next;
+ mes "[Chrmlim]";
+ mes "But...";
+ mes "Some of them couldn't";
+ mes "overcome their fear of";
+ mes "heights. And a few even";
+ mes "ended up, um, ^333333in Nifflheim^000000.";
+ }
+ else {
+ mes "[Chrmlim]";
+ mes "Bajoo ga";
+ mes "nukta Airship.";
+ next;
+ mes "[Chrmlim]";
+ mes "...";
+ mes "......";
+ next;
+ emotion e_pif;
+ mes "[Chrmlim]";
+ mes "Shabala moow bajama";
+ mes "Airship kulaha googoona ";
+ mes "salu. Dama, kookoo na nu";
+ mes "yukuta. Um, fashuku na ret!";
+ }
close;
}
airplane,250,58,2 script Airship Staff#airplane 67,{
+ // Hugel quest addition
if (hg_ma1 == 3) {
mes "[Airship Staff]";
mes "Welcome";
mes "to the Airship.";
mes "How may I help you?";
next;
- switch(select("Do you have a passenger named Thierry?")) {
- case 1:
- break;
- }
+ select("Do you have a passenger named Thierry?");
mes "[Airship Staff]";
mes "I am sorry, but I do not think that we have a passenger by that name.";
close;
}
+ // Hugel quest end
mes "[Airship Staff]";
mes "Welcome";
mes "to the Airship.";
mes "How may I help you?";
next;
- switch(select("Using the Airship:Captain's Cabin:Facilities:Cancel")) {
+ switch (select("Using the Airship:Captain's Cabin:Facilities:Cancel")) {
case 1:
mes "[Airship Staff]";
mes "When you see a broadcast";
@@ -245,7 +303,7 @@ airplane,250,58,2 script Airship Staff#airplane 67,{
mes "en route and you'll get";
mes "another chance to arrive";
mes "to your intended destination.";
- break;
+ close;
case 2:
mes "[Airship Staff]";
mes "The Captain's Cabin";
@@ -253,7 +311,7 @@ airplane,250,58,2 script Airship Staff#airplane 67,{
mes "of the Airship. There, you";
mes "can meet the captain and";
mes "the pilot of the Airship.";
- break;
+ close;
case 3:
mes "[Airship Staff]";
mes "The Airship provides";
@@ -262,16 +320,15 @@ airplane,250,58,2 script Airship Staff#airplane 67,{
mes "our passengers. We invite";
mes "you to try your luck and skills";
mes "in the Airship's Mini Games~";
- break;
+ close;
case 4:
mes "[Airship Staff]";
mes "Well, I hope you";
mes "your flight aboard";
mes "our Airships. Thank";
mes "you and have a good day.";
- break;
+ close;
}
- close;
}
airplane,80,71,2 script Zerta#01airplane 834,{
@@ -304,6 +361,7 @@ airplane,72,34,6 script Aanos#01airplane 702,{
}
airplane,221,158,2 script Pilot#airplane 852,{
+ // Hugel quest addition
if (hg_ma1 == 3) {
mes "[Pilot]";
mes "I wish that I could go drink a cold fresh beer.";
@@ -315,10 +373,7 @@ airplane,221,158,2 script Pilot#airplane 852,{
mes "But! That makes me want to drink more and more!";
emotion e_sob;
next;
- switch(select("Do you know a passenger named Thierry?")) {
- case 1:
- break;
- }
+ select("Do you know a passenger named Thierry?");
mes "[Pilot]";
mes "This uniform is";
mes "really dapper, but";
@@ -339,8 +394,9 @@ airplane,221,158,2 script Pilot#airplane 852,{
mes "- ...He is not listening to you, at all. -";
close;
}
- set .@pilot,rand(1,4);
- if (.@pilot == 1) {
+ // Hugel quest end
+ switch (rand(1,4)) {
+ case 1:
mes "[Pilot]";
mes "It's been sooo";
mes "long since I've";
@@ -357,16 +413,16 @@ airplane,221,158,2 script Pilot#airplane 852,{
mes "booze, some chips, some TV";
mes "and serius R&R is in order.";
emotion e_sob;
- }
- else if (.@pilot == 2) {
+ close;
+ case 2:
mes "[Pilot]";
mes "Man, the weather";
mes "is really nice today.";
mes "Bright, open skies make";
mes "for some good visibility";
mes "and safe, carefree flying.";
- }
- else if (.@pilot == 3) {
+ close;
+ case 3:
mes "[Pilot]";
mes "You know, our captain's a";
mes "respectable guy. Him and";
@@ -382,8 +438,8 @@ airplane,221,158,2 script Pilot#airplane 852,{
mes "something, getting reindeers";
mes "and elves to work for him.";
mes "The man must be a genius!";
- }
- else {
+ close;
+ default:
mes "[Pilot]";
mes "You know, this whole";
mes "piloting thing in the air,";
@@ -399,156 +455,309 @@ airplane,221,158,2 script Pilot#airplane 852,{
mes "training while the Airships";
mes "were still being invented.";
mes "Isn't that freakin' crazy?!";
+ close;
+ }
+}
+
+airplane,50,66,5 script Apple Merchant#airplane 86,{
+ mes "[Fruitz]";
+ mes "Welcome to Fruitz's";
+ mes "Shop where you can";
+ mes "purchase Apples or grind";
+ mes "them to make Apple Juice.";
+ next;
+ switch (select("Buy Apples.:Make Apple Juice.:Why are you here?:Cancel.")) {
+ case 1:
+ mes "[Fruitz]";
+ mes "Please enter the amount";
+ mes "of Apples that you wish to";
+ mes "buy. Each Apple is 15 zeny";
+ mes "and you can buy a maximum";
+ mes "of 500 at a time. Please enter";
+ mes " '0' to cancel your order.";
+ next;
+ while (1) {
+ input .@input;
+ set .@pay, .@input * 15;
+ if (.@input == 0) {
+ mes "[Fruitz]";
+ mes "Thanks for stopping";
+ mes "by my shop. Farewell!";
+ mes "Come by anytime when";
+ mes "you feel like having an";
+ mes "Apple to snack on~";
+ close;
+ }
+ else if (.@input < 1 || .@input > 500) {
+ mes "[Fruitz]";
+ mes "You've entered a number";
+ mes "higher than the maximum";
+ mes "value of 500. Please enter";
+ mes "the number of Apples you";
+ mes "wish to purchase again.";
+ next;
+ }
+ else {
+ mes "[Fruitz]";
+ mes "A total of ^FF0000" + .@input + "^000000 Apples";
+ mes "will cost you ^FF0000" + .@pay + " Zeny^000000 zeny.";
+ mes "Would you like to continue?";
+ next;
+ if (select("Yes:No") == 2) {
+ mes "[Fruitz]";
+ mes "Thanks for stopping";
+ mes "by my shop. Farewell!";
+ mes "Come by anytime when";
+ mes "you feel like having an";
+ mes "Apple to snack on~";
+ close;
+ }
+ break;
+ }
+ }
+ if (Zeny < .@pay) {
+ mes "[Fruitz]";
+ mes "I'm sorry, but you don't";
+ mes "have enough money to";
+ mes "purchase that many Apples.";
+ mes "Please check your zeny or";
+ mes "purchase fewer Apples.";
+ close;
+ }
+ else if (checkweight(512,.@input) == 0) {
+ mes "[Fruitz]";
+ mes "Hmmm, I don't think";
+ mes "you've got enough room in";
+ mes "your inventory to carry this";
+ mes "many Apples. Why don't you free up some of your inventory space?";
+ close;
+ }
+ else {
+ set Zeny, Zeny - .@pay;
+ getitem 512,.@input; //Apple
+ mes "[Fruitz]";
+ mes "Thanks for stopping by";
+ mes "my shop. I hope you enjoy";
+ mes "the flavor of these Apples~!";
+ close;
+ }
+ case 2:
+ mes "[Fruitz]";
+ mes "Okay, I'll need";
+ mes "^FF00003 Apples and 1 Empty Bottle^000000";
+ mes "to make 1 Apple Juice for you.";
+ mes "Would you like to proceed?";
+ next;
+ switch (select("Yes:No")) {
+ case 1:
+ if (countitem(512) < 3 || countitem(713) < 1) {
+ mes "[Fruitz]";
+ mes "I'm sorry, but you don't";
+ mes "have enough materials to";
+ mes "create a bottle of Apple Juice.";
+ mes "Remember, I need 3 Apples";
+ mes "and 1 Empty Bottle to do it.";
+ close;
+ }
+ else {
+ mes "[Fruitz]";
+ mes "Thank you,";
+ mes "please wait";
+ mes "just a moment.";
+ next;
+ mes "^3355FF*Grind grind*";
+ mes "*Grind grind*";
+ mes "*Clang...!*^000000";
+ next;
+ delitem 512,3; //Apple
+ delitem 713,1; //Empty_Bottle
+ getitem 531,1; //Apple_Juice
+ mes "[Fruitz]";
+ mes "There you go~";
+ mes "I hope you enjoy!";
+ mes "Please feel free to";
+ mes "stop by for your Apple";
+ mes "and Apple Juice needs";
+ mes "at anytime, adventurer~";
+ close;
+ }
+ case 2:
+ mes "[Fruitz]";
+ mes "Thanks for stopping";
+ mes "by my shop. Farewell!";
+ mes "Come by anytime when";
+ mes "you feel like having an";
+ mes "Apple to snack on~";
+ close;
+ }
+ case 3:
+ mes "[Fruitz]";
+ mes "I used to be a wandering";
+ mes "vagabond when, one day,";
+ mes "I took a nap and something";
+ mes "struck my head and awoke";
+ mes "me from my restful slumber.";
+ next;
+ mes "[Fruitz]";
+ mes "It turns out that I was";
+ mes "sleeping beneath an apple";
+ mes "tree and that an apple fell";
+ mes "and hit me on the head.";
+ mes "I was dying of hunger and";
+ mes "was about to eat that Apple...";
+ next;
+ mes "[Fruitz]";
+ mes "But suddenly, Kain, my old";
+ mes "friend from the mining days,";
+ mes "asked me to help him around";
+ mes "on the Airship. So I did, and";
+ mes "it was there where I found some";
+ mes "people playing the Dice game.";
+ next;
+ mes "[Fruitz]";
+ mes "I was bored and curious";
+ mes "and ended up wagering that";
+ mes "single Apple in a game of";
+ mes "dice. But for some reason,";
+ mes "I had this incredible lucky";
+ mes "streak. One apple became two... ";
+ next;
+ mes "[Fruitz]";
+ mes "Two became four and";
+ mes "before I knew it, I had";
+ mes "cornered the Apple market!";
+ mes "I won so many Apples, I just";
+ mes "started my own business here";
+ mes "on the Airship. Weird, huh?";
+ next;
+ mes "[Fruitz]";
+ mes "So Apples are good";
+ mes "for you. They were";
+ mes "certainly very good";
+ mes "to me. Hahahahaah~!";
+ close;
+ case 4:
+ mes "[Fruitz]";
+ mes "Thank you for";
+ mes "using my shop.";
+ mes "Farewell~";
+ close;
}
- close;
}
//============================================================
-//= The Airship System (Izlude -> Juno -> Rachel -> Repeat)
+//= International Airship Route
+//= ... -> Izlude -> Juno -> Rachel -> ...
//============================================================
-airplane_01,243,74,4 script #AirshipWarp-3 45,2,2,{
-OnTouch:
- if($@airplanelocation2 == 1)warp "izlude",202,56;
- if($@airplanelocation2 == 2)warp "yuno",20,265;
- if($@airplanelocation2 == 3)warp "ra_fild12",292,204;
+airplane_01,243,73,0 script #AirshipWarp-3 45,1,1,{
end;
+
+OnTouch:
+ switch ($@airplanelocation2) {
+ case 0: warp "ra_fild12",292,204; end;
+ case 1: warp "izlude",200,56; end;
+ case 2: warp "yuno",12,261; end;
+ }
+OnInit:
OnHide:
misceffect 16;
+ disablenpc strnpcinfo(0);
end;
+
OnUnhide:
+ enablenpc strnpcinfo(0);
misceffect 215;
end;
}
-airplane_01,243,29,4 script #AirshipWarp-4 45,2,2,{
-OnTouch:
- if($@airplanelocation2 == 1)warp "izlude",202,56;
- if($@airplanelocation2 == 2)warp "yuno",20,265;
- if($@airplanelocation2 == 3)warp "ra_fild12",292,204;
- end;
+airplane_01,243,29,0 duplicate(#AirshipWarp-3) #AirshipWarp-4 45,1,1
-OnHide:
- misceffect 16;
+airplane_01,1,1,0 script International_Airship -1,{
end;
-OnUnhide:
- misceffect 215;
- end;
-}
-
-airplane_01,1,1,0 script YunoIzl_Airship -1,{
OnInit:
-while(1)
-{
- disablenpc "Airship#airplane02";
+OnEnable:
initnpctimer;
- setnpctimer 0;
- set $@airplanelocation2,0;
- donpcevent "#AirshipWarp-3::OnHide";
- donpcevent "#AirshipWarp-4::OnHide";
- disablenpc "#AirshipWarp-3";
- disablenpc "#AirshipWarp-4";
- mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Izlude.",bc_map,0x00FF00;
end;
-OnTimer15000:
- set $@mobinv,$@mobinv+1;
- set $@mobrand,rand(1,3);
- if($@mobinv >= 9 && $@mobrand == 3) {
- stopnpctimer;
- enablenpc "Airship#airplane02";
- donpcevent "Airship#airplane02::OnInvasion";
- }
- mapannounce "airplane_01","We are heading to Izlude.",bc_map,0x00FF00;
+OnTimer25000:
+ mapannounce "airplane_01","We are heading to Izlude.",bc_map,"0x00ff00";
end;
-OnTimer30000:
- mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,0x00FF00;
+OnTimer50000:
+ mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,"0x00ff00";
end;
-OnTimer45000:
+OnTimer60000:
set $@airplanelocation2,1;
- enablenpc "#AirshipWarp-3";
- enablenpc "#AirshipWarp-4";
donpcevent "#AirshipWarp-3::OnUnhide";
donpcevent "#AirshipWarp-4::OnUnhide";
- mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,0x00FF00;
+ mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,"0x00ff00";
end;
-OnTimer55000:
- mapannounce "airplane_01","Currently, we are in Izlude. The Airship will leave shortly.",bc_map,0x00FF00;
+OnTimer70000:
+ mapannounce "airplane_01","We are currently in Izlude. The Airship will take off shortly.",bc_map,"0x00ff00";
end;
-OnTimer65000:
- set $@airplanelocation2,0;
+OnTimer80000:
donpcevent "#AirshipWarp-3::OnHide";
donpcevent "#AirshipWarp-4::OnHide";
- disablenpc "#AirshipWarp-3";
- disablenpc "#AirshipWarp-4";
- mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Juno.",bc_map,0x70DBDB;
+ mapannounce "airplane_01","The Airship is now taking off. Our next destination is Juno.",bc_map,"0x70dbdb";
end;
-OnTimer80000:
- mapannounce "airplane_01","We are heading to Juno.",bc_map,0x70DBDB;
+OnTimer105000:
+ mapannounce "airplane_01","We are heading to Juno.",bc_map,"0x70dbdb";
end;
-OnTimer95000:
- mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,0x70DBDB;
+OnTimer130000:
+ mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,"0x70dbdb";
end;
-OnTimer110000:
+OnTimer140000:
set $@airplanelocation2,2;
- enablenpc "#AirshipWarp-3";
- enablenpc "#AirshipWarp-4";
donpcevent "#AirshipWarp-3::OnUnhide";
donpcevent "#AirshipWarp-4::OnUnhide";
- mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,0x70DBDB;
+ mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,"0x70dbdb";
end;
-OnTimer120000:
- mapannounce "airplane_01","Currently, we are in Juno. The Airship will take off shortly.",bc_map,0x70DBDB;
+OnTimer150000:
+ mapannounce "airplane_01","We are currently in Juno. The Airship will leave shorty.",bc_map,"0x70dbdb";
end;
-OnTimer130000:
- set $@airplanelocation2,0;
+OnTimer160000:
donpcevent "#AirshipWarp-3::OnHide";
donpcevent "#AirshipWarp-4::OnHide";
- disablenpc "#AirshipWarp-3";
- disablenpc "#AirshipWarp-4";
- mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",bc_map,0xFF8600;
+ mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",bc_map,"0xFF8200";
end;
-OnTimer145000:
- mapannounce "airplane_01","We are heading to Rachel.",bc_map,0xFF8600;
+OnTimer185000:
+ mapannounce "airplane_01","We are heading to Rachel.",bc_map,"0xFF8200";
end;
-OnTimer160000:
- mapannounce "airplane_01","We will arrive in Rachel shortly.",bc_map,0xFF8600;
+OnTimer210000:
+ mapannounce "airplane_01","We will arrive in Rachel shortly.",bc_map,"0xFF8200";
end;
-OnTimer175000:
- set $@airplanelocation2,3;
- enablenpc "#AirshipWarp-3";
- enablenpc "#AirshipWarp-4";
+OnTimer220000:
+ set $@airplanelocation2,0;
donpcevent "#AirshipWarp-3::OnUnhide";
donpcevent "#AirshipWarp-4::OnUnhide";
- mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,0xFF8600;
+ mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,"0xFF8200";
end;
-OnTimer185000:
- mapannounce "airplane_01","Currently, we are in Rachel. The Airship will leave shortly.",bc_map,0xFF8600;
+OnTimer230000:
+ mapannounce "airplane_01","We are currently in Rachel. The Airship will take off shortly.",bc_map,"0xFF8200";
end;
-OnTimer195000:
- stopnpctimer;
-}
-OnReturn:
- killmonsterall "airplane_01";
- set $@mobinv,0;
- mapannounce "airplane_01","Monster threat nullfied. The Airship is now returning to normal operation.",bc_map,0x00FF00;
- startnpctimer;
+OnTimer240000:
+ donpcevent "#AirshipWarp-3::OnHide";
+ donpcevent "#AirshipWarp-4::OnHide";
+ mapannounce "airplane_01","The Airship is now taking off. Our next destination is Izlude.",bc_map,"0x00ff00";
+ stopnpctimer;
+ set .moninv, .moninv + 1;
+ if (.moninv == 7) {
+ if (rand(1,3) == 3) {
+ donpcevent "Airship#airplane02::OnEnable";
+ end;
+ }
+ set .moninv, 0;
+ }
+ initnpctimer;
end;
}
-//============================================================
-//= Some normal NPCS (airplane_01)
-//============================================================
-
-airplane_01,240,64,5 duplicate(Exit2) Exit#05 857
-
-airplane_01,247,64,5 duplicate(Exit2) Exit#06 857
-
-airplane_01,240,39,1 duplicate(Exit2) Exit#07 857
-
-airplane_01,247,39,1 duplicate(Exit2) Exit#08 857
-
-airplane_01,100,69,2 duplicate(Airship Crew) Airship Crew#02 852
+airplane_01,240,64,5 script Exit#airplane_011a::ExitAirplane01 857,{
+ end;
+}
+airplane_01,247,64,5 duplicate(ExitAirplane01) Exit#airplane_011b 857
+airplane_01,240,40,1 duplicate(ExitAirplane01) Exit#airplane_012a 857
+airplane_01,247,40,1 duplicate(ExitAirplane01) Exit#airplane_012b 857
airplane_01,250,58,2 script Airship Staff#airplane01 67,{
mes "[Airship Staff]";
@@ -556,7 +765,7 @@ airplane_01,250,58,2 script Airship Staff#airplane01 67,{
mes "to the Airship.";
mes "How may I help you?";
next;
- switch(select("Using the Airship:Captain's Cabin:Facilities:Cancel")) {
+ switch (select("Using the Airship:Captain's Cabin:Facilities:Cancel")) {
case 1:
mes "[Airship Staff]";
mes "When you see a broadcast";
@@ -573,7 +782,7 @@ airplane_01,250,58,2 script Airship Staff#airplane01 67,{
mes "en route and you'll get";
mes "another chance to arrive";
mes "to your intended destination.";
- break;
+ close;
case 2:
mes "[Airship Staff]";
mes "The Captain's Cabin";
@@ -581,7 +790,7 @@ airplane_01,250,58,2 script Airship Staff#airplane01 67,{
mes "of the Airship. There, you";
mes "can meet the captain and";
mes "the pilot of the Airship.";
- break;
+ close;
case 3:
mes "[Airship Staff]";
mes "The Airship provides";
@@ -590,20 +799,18 @@ airplane_01,250,58,2 script Airship Staff#airplane01 67,{
mes "our passengers. We invite";
mes "you to try your luck and skills";
mes "in the Airship's Mini Games~";
- break;
+ close;
case 4:
mes "[Airship Staff]";
mes "Well, I hope you";
mes "your flight aboard";
mes "our Airships. Thank";
mes "you and have a good day.";
- break;
+ close;
}
- close;
}
-
-airplane_01,50,66,5 script Apple Merchant#airplane 86,{
+airplane_01,50,66,5 script Apple Merchant#air01 86,{
if (checkweight(1201,1) == 0) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
@@ -618,7 +825,7 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "purchase Apples or grind";
mes "them to make Apple Juice.";
next;
- switch(select("Buy Apples.:Make Apple Juice.:Cancel.")) {
+ switch (select("Buy Apples.:Make Apple Juice.:Cancel.")) {
case 1:
mes "[Meltz]";
mes "Please enter the amount";
@@ -628,9 +835,9 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "of 500 at a time. Please enter";
mes "'0' to cancel your order.";
next;
- while(1) {
- input .@input,0,501;
- set .@pay,.@input*15;
+ while (1) {
+ input .@input;
+ set .@pay, .@input * 15;
if (.@input == 0) {
mes "[Meltz]";
mes "Thanks for stopping";
@@ -640,7 +847,7 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "Apple to snack on~";
close;
}
- else if (.@input < 0 && .@input > 500) {
+ else if (.@input < 1 || .@input > 500) {
mes "[Meltz]";
mes "You've entered a number";
mes "higher than the maximum";
@@ -655,9 +862,7 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "will cost you ^FF0000" + .@pay + "^000000 zeny.";
mes "Would you like to continue?";
next;
- if (select("Yes:No") == 1)
- break;
- else {
+ if (select("Yes:No") == 2) {
mes "[Meltz]";
mes "Thanks for stopping";
mes "by my shop. Farewell!";
@@ -666,6 +871,7 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "Apple to snack on~";
close;
}
+ break;
}
}
if (Zeny < .@pay) {
@@ -686,7 +892,7 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
close;
}
else {
- set zeny,zeny-.@pay;
+ set Zeny, Zeny - .@pay;
getitem 512,.@input; //Apple
mes "[Meltz]";
mes "Thanks for stopping by";
@@ -694,7 +900,6 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "the flavor of these Apples~!";
close;
}
- break;
case 2:
mes "[Meltz]";
mes "Okay, I'll need";
@@ -702,9 +907,9 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "to make 1 Apple Juice for you.";
mes "Would you like to proceed?";
next;
- switch(select("Yes:No")) {
+ switch (select("Yes:No")) {
case 1:
- if ((countitem(512) < 3) || (countitem(713) < 1)) {
+ if (countitem(512) < 3 || countitem(713) < 1) {
mes "[Meltz]";
mes "I'm sorry, but you don't";
mes "have enough materials to";
@@ -729,7 +934,6 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "Please come again.";
close;
}
- break;
case 2:
mes "[Meltz]";
mes "Thanks for stopping";
@@ -739,7 +943,6 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "Apple to snack on~";
close;
}
- break;
case 3:
mes "[Meltz]";
mes "Thanks for stopping";
@@ -747,201 +950,27 @@ airplane_01,50,66,5 script Apple Merchant#airplane 86,{
mes "Come by anytime when";
mes "you feel like having an";
mes "Apple to snack on~";
- break;
+ close;
}
- close;
-}
-
-airplane_01,32,61,4 script Nils#ein 49,{
- callfunc "F_ClearGarbage"; //Clear outdated, unused variables
-loopback:
- mes "[Nils]";
- mes "Welcome to the";
- mes "^FF0000RO Typing Challenge^000000.";
- mes "Would you like to play";
- mes "a quick typing game?";
- next;
- menu "Play ^FF0000RO Typing Challenge^000000",s_Play,"Information",s_Info,"View Top Records",s_Record,"Cancel",-;
-
- mes "[Nils]";
- mes "Feel free to take on the";
- mes "Ro Typing Challenge";
- mes "anytime. I'll be here~";
- close;
-
-s_Play:
- mes "[Nils]";
- mes "Okay, we have";
- mes "a new challenger!";
- mes "Enter the following";
- mes "text as quickly as you";
- mes "can without making any";
- mes "mistakes! Let's start~!";
- next;
- //below arrays are for simplified entering of new lines ;P
-
- //first lines array
- setarray .textstringsa$[0],
- "^00FFFFthkelfkskeldmsiejdlsle^0000FFhfndkelsheidl",
- "^993366hfjdkeldjsieldjs^663366hfjdjeiskdlefvbd",
- "^00FFFFCoboman no chikara-yumei na",
- "^993366belief love luck grimace sweat rush",
- "^00FFFFcallipygian salacious lascivious",
- "^663366uNflAPPaBLe LoVaBLe SeCreTs AnD",
- "^00CCFFburrdingdingdilidingdingphoohudaamb",
- "^FF33CCbarapaphurarlandreamduranbatuhi^990066wooi",
- "^FF33CCLiGhTsPeEd RiGhT SPEed leFT TURn",
- "^00CCFFI'm the King of all Weirdos! Now",
- "^00CCFFBy the power of^000000",
- "^00CCFF...silence. quiet benevolence...";
-
- //second lines array
- setarray .textstringsb$[0],"skemd",
- "",
- "chikara-dalookii na chikara da ze!",
- "folktale rodimus optimus bumblebee",
- "licentious prurient concupiscent",
- "BoWLiNg aGaINST tHe KarMA of YoUtH",
- "andoora^0000FFbambarambambamburanbamding",
- "kabamturubamdingding",
- "RiGhT BuRn OrIGInAL GaNgSteR SmACk",
- "you know of my true power. Obey~!",
- "p-po-poi-po-poi-poin-poing",
- "soul mate... wonder. enigma...";
- //for the few 3-liners... =X
-
- setarray .textstringsc$[0],"",
- "",
- "COBO ON!",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "GOD-POING. I NEVER LOSE!",
- "cloud.";
-
- //comparisation strings
- setarray .compstring$[0],
- "thkelfkskeldmsiejdlslehfndkelsheidlskemd",
- "hfjdkeldjsieldjshfjdjeiskdlefvbd",
- "Coboman no chikara-yumei na chikara-dalookii na chikara da ze! COBO ON!",
- "belief love luck grimace sweat rush folktale rodimus optimus bumblebee",
- "callipygian salacious lascivious licentious prurient concupiscent",
- "uNflAPPaBLe LoVaBLe SeCreTs AnD BoWLiNg aGaINST tHe KarMA of YoUtH",
- "burrdindingdilidingdingphoohudaambandoorabambarambambamburanbamding",
- "barapaphurarlandreamduranbatuhiwooikabamturubamdingding",
- "LiGhTsPeEd RiGhT SPEed leFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk",
- "I'm the King of all Weirdos! Now you know of my true power. Obey~!",
- "By the power of p-po-poi-po-poi-poin-poing GOD-POING. I NEVER LOSE!",
- "...silence. quiet benevolence... soul mate... wonder. enigma... cloud";
-
- //lengths
- setarray .lengths[0],20,32,73,73,65,66,67,55,67,66,67,69;
-
- // initnpctimer;
- // pick 2 distinct phrases and initialize related variables
- set .@index1,rand(getarraysize(.textstringsa$));
- set .@string1a$,.textstringsa$[.@index1];
- set .@string1b$,.textstringsb$[.@index1];
- set .@string1c$,.textstringsc$[.@index1];
- set .@typingstring1$,.compstring$[.@index1];
-
- while ( set(.@index2,rand(getarraysize(.textstringsa$))) == .@index1 );
- set .@string2a$,.textstringsa$[.@index2];
- set .@string2b$,.textstringsb$[.@index2];
- set .@string2c$,.textstringsc$[.@index2];
- set .@typingstring2$,.compstring$[.@index2];
-
- set .@typingkeys,.lengths[.@index1]+.lengths[.@index2];
- set .@start,gettimetick(0);
-
- mes "[Nils]";
- mes .@string1a$;
- if(.@string1b$ != "")mes .@string1b$;
- if(.@string1c$ != "")mes .@string1c$;
- input .@comparisonvar$[1];
- next;
- mes "^000000[Nils]";
- mes .@string2a$;
- if(.@string2b$ != "")mes .@string2b$;
- if(.@string2c$ != "")mes .@string2c$;
- input .@comparisonvar$[2];
- next;
- if(.@comparisonvar$[1] != .@typingstring1$ || .@comparisonvar$[2] != .@typingstring2$) goto s_Fail;
- set .@time, (gettimetick(0) - .@start) / 100; //seconds taken
- if (.@time) set .@mypoints, (.@typingkeys * 100) / .@time;
- mes "[Nils]";
- mes "Your typing time";
- mes "was ^FF0000" + .@time + " seconds^000000";
- mes "and your score is";
- mes "^0000FF" + .@mypoints + "^000000 points";
- next;
- if(.@mypoints <= $TypingRecord)goto loopback;
- mes "[Nils]";
- mes "Congratulations!";
- mes "It's a new record.";
- mes "I'll put you on the high-";
- mes "score list immediately.";
- set $TypingRecord,.@mypoints;
- set $TypingRecord$,strcharinfo(0);
- close;
-
-s_Fail:
- mes "^000000[Nils]";
- mes "I'm sorry you didn't type";
- mes "all characters correctly.";
- mes "But remember, practice makes";
- mes "perfect!";
- close;
-
-s_Info:
- mes "[Nils]";
- mes "The RO Typing Challenge";
- mes "is a game where you enter";
- mes "the given text as quickly as you";
- mes "can. The name of the top player";
- mes "is recorded for posterity. If you";
- mes "want fame, here's your chance!";
- next;
- mes "[Nils]";
- mes "I'd just like to let";
- mes "you know that you type";
- mes "all the text that you see";
- mes "in the single input line that";
- mes "you're given. So don't press";
- mes "the enter key, just click 'OK'.";
- close;
-
-s_Record:
- mes "[Nils]";
- mes "^0000FF" + $TypingRecord$ + "^000000";
- mes "is the current";
- mes "record holder with";
- mes "a record of ^0000FF" + $TypingRecord + "^000000";
- mes "points. Try to beat";
- mes "that record next time~";
- close;
-
}
airplane_01,221,158,2 script Pilot#airplane_01 852,{
- set .@pilot, rand(1,4);
- if (.@pilot == 1) {
+ switch (rand(1,4)) {
+ case 1:
mes "[Pilot]";
mes "Longitude, 131 degrees east.";
mes "Latitude, 37 degrees north.";
mes "We're right on course, captain.";
- } else if(.@pilot == 2) {
+ close;
+ case 2:
mes "[Pilot]";
mes "Looks like a really";
mes "cloudy day. Always hard";
mes "to navigate when the skies";
mes "aren't clear. Guess we'll";
mes "need to amp the radar.";
- } else if(.@pilot == 3) {
+ close;
+ case 3:
mes "[Pilot]";
mes "The Captain is a good";
mes "man and I can't think of";
@@ -957,7 +986,8 @@ airplane_01,221,158,2 script Pilot#airplane_01 852,{
mes "[Pilot]";
mes "R-right away, sir!";
mes "(See what I mean?)";
- } else {
+ close;
+ default:
mes "[Pilot]";
mes "This uniform is";
mes "really dapper, but";
@@ -976,12 +1006,10 @@ airplane_01,221,158,2 script Pilot#airplane_01 852,{
mes "[Pilot]";
mes "Oh...! Hello there!";
mes "E-e-enjoying your flight?!";
+ close;
}
- close;
}
-
-
airplane_01,83,61,2 script Dianne#01airplane_01 72,2,2,{
mes "[Dianne]";
mes "It's so weird!";
@@ -1008,18 +1036,7 @@ airplane_01,69,63,2 script Mendel#01airplane_01 55,{
close;
}
-airplane_01,33,68,4 script Clarice 74,{
- mes "[Clarice]";
- mes "Hi, I'm Clarice~";
- mes "How would you like";
- mes "to wager some Apples";
- mes "in a friendly game of Dice?";
- next;
- callfunc "applegamble","Clarice";
- end;
-}
-
-airplane_01,71,31,2 script Swordsman Shimizu#01 106,{
+airplane_01,71,31,2 script Swordsman Shimizu#air_01 106,{
mes "[Swordsman Shimizu]";
mes "Finally, after five";
mes "years of waiting...";
@@ -1035,208 +1052,204 @@ airplane_01,71,31,2 script Swordsman Shimizu#01 106,{
}
//============================================================
-//= The Izlude Airship Staff
-//============================================================
-
-izlude,201,54,3 script Airship Staff#izl 91,{
- mes "[Airship Staff]";
- mes "Welcome to the International Airship.";
- mes "How may I help you?";
+//= Typing Challenge
+//============================================================
+airplane_01,32,61,4 script Nils#ein 49,1,1,{
+ mes "[Nils]";
+ mes "Welcome to the";
+ mes "^ff0000RO Typing Challenge^000000.";
+ mes "Would you like to play";
+ mes "a quick typing game?";
next;
- if (select("Board the Airship:Cancel") == 1) {
- mes "[Airship Staff]";
- mes "The Airship boarding fee";
- mes "is 1,200 zeny, but if you've";
- mes "got a Free Ticket for Airship,";
- mes "the fee will be waived. Will";
- mes "you board the Airship?";
+ switch (select("Play ^ff0000RO Typing Challenge^000000:Information:View Top Records:Cancel")) {
+ case 1:
+ mes "[Nils]";
+ mes "Okay, we have";
+ mes "a new challenger!";
+ mes "Enter the following";
+ mes "text as quickly as you";
+ mes "can without making any";
+ mes "mistakes! Let's start~!";
+ setarray .@line1_1$[0], "^3cbcbccallipygian salacius lascivious^000000",
+ "^3cbcbcBy the power of^000000",
+ "^0000ffthkelfkskeldmsiejdlslehfndkelsheidl^000000",
+ "^3cbcbcburrdingdingdingdilidingdingdingphoohudaamb^000000",
+ "^3cbcbcCoboman no chikara-yumei na^000000",
+ "^3cbcbcI'm the king of All Weirdos! Now^000000",
+ "^3cbcbcYou give me no choice. I guess it's^000000";
+ setarray .@line1_2$[0], "^3cbcbclicentious prurient concupiscent^000000",
+ "^3cbcbcp-po-poi-po-poi-poin-poing^000000",
+ "^3cbcbcskemd^000000",
+ "^3cbcbcandoorabambarambambambambamburanbamding^000000",
+ "^3cbcbcchikara-daiookii na chikara da ze!^000000",
+ "^3cbcbcyou know of my true power. Obey~!^000000",
+ "^3cbcbctime for me to reveal my secret...^000000";
+ setarray .@line1_3$[0], "",
+ "^3cbcbcGOD-POING. I NEVER LOSE!^000000",
+ "",
+ "",
+ "^3cbcbcCOBO ON^000000",
+ "",
+ "";
+ setarray .@word1$[0], "callipygian salacius lascivious licentious prurient concupiscent",
+ "By the power of p-po-poi-po-poi-poin-poing GOD-POING. I NEVER LOSE!",
+ "thkelfkskeldmsiejdlslehfndkelsheidlskemd",
+ "burrdingdingdingdilidingdingdingphoohudaambandoorabambarambambambambamburanbamding",
+ "Coboman no chikara-yumei na chikara-daiookii na chikara da ze! COBO ON",
+ "I'm the king of All Weirdos! Now you know of my true power. Obey~!",
+ "You give me no choice. I guess it's time for me to reveal my secret...";
+ setarray .@line2_1$[0], "^3cbcbcuNflAPPaBLe LoVaBLe SeCreTs AnD^000000",
+ "^ff1493LiGhTsPeEd RiGhT SPEed LeFT TURn^000000",
+ "^ff1493hfjdkeldjsieldjshfjdjeiskdlefvbd^000000",
+ "^ff1493burapaphuralanderamduanbatuhiwooi^000000",
+ "^ff1493belief love luck grimace sweat rush^000000",
+ "^800080opeN, Open!op3n.openOpen0p3nOpEn0pen^000000",
+ "^3cbcbcfReeDoM ecstAcy JoUrnaliSm ArMplt^000000";
+ setarray .@line2_2$[0], "^3cbcbcboWLIiNg aGaINST tHe KarMA of YoUtH^000000",
+ "^ff1493RiGhT BuRn OrIGInAL GaNgSteR SmACk^000000",
+ "",
+ "^ff1493kabamturubamdingding^000000",
+ "^ff1493folktale rodimus optimus bumblebee^000000",
+ "^800080`open'0Pen open? open!111OPENSESAME^000000",
+ "^3cbcbcDisCoverY hEaDaChE MoonbeAmS jUsTiCE^000000";
+ setarray .@word2$[0], "uNflAPPaBLe LoVaBLe SeCreTs AnD boWLIiNg aGaINST tHe KarMA of YoUtH",
+ "LiGhTsPeEd RiGhT SPEed LeFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk",
+ "hfjdkeldjsieldjshfjdjeiskdlefvbd",
+ "burapaphuralanderamduanbatuhiwooikabamturubamdingding",
+ "belief love luck grimace sweat rush folktale rodimus optimus bumblebee",
+ "opeN, Open!op3n.openOpen0p3nOpEn0pen`open'0Pen open? open!111OPENSESAME",
+ "fReeDoM ecstAcy JoUrnaliSm ArMplt DisCoverY hEaDaChE MoonbeAmS jUsTiCE";
+ setarray .@letters[0], 1300,
+ 1250,
+ 1180,
+ 1380,
+ 1740,
+ 1440,
+ 1450;
+ set .@wordtest, rand(7);
next;
- if (select("Yes:No") == 1) {
- if(countitem(7311) > 0) {
- delitem 7311,1;
- warp "airplane_01",224,64;
- close;
- }
- if(Zeny >= 1200) {
- set Zeny, Zeny - 1200;
- warp "airplane_01",224,64;
+ mes "[Nils]";
+ mes .@line1_1$[.@wordtest];
+ mes .@line1_2$[.@wordtest];
+ mes .@line1_3$[.@wordtest];
+ set .@start_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1);
+ next;
+ input .@save1$;
+ set .@end_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1);
+ set .@total_time, .@end_time - .@start_time;
+ mes "[Nils]";
+ mes .@line2_1$[.@wordtest];
+ mes .@line2_2$[.@wordtest];
+ set .@start_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1);
+ next;
+ input .@save2$;
+ set .@end_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1);
+ set .@total_time, .@total_time + (.@start_time - .@end_time);
+ set .@tasoo, (.@letters[.@wordtest] / .@total_time) * 6;
+ if ((.@save1$ == .@word1$[.@wordtest]) && (.@save2$ == .@word2$[.@wordtest])) {
+ mes "[Nils]";
+ mes "Your record is ^ff0000" + .@total_time + " seconds^000000 and";
+ mes "the total letters are " + .@tasoo + ".";
+ next;
+ if (.@tasoo >= 1300) {
+ mes "[Nils]";
+ mes "Hmmm, this record isn't";
+ mes "humanly possible unless you";
+ mes "copy and paste the whole";
+ mes "sentence. Please play fairly";
+ mes "next time.";
close;
}
- mes "[Airship Staff]";
- mes "You don't have enough zeny.";
- close;
- }
- }
- mes "[Airship Staff]";
- mes "Thank you and";
- mes "have a nice day.";
- close;
-}
-
-//============================================================
-//= The Hugel Airship Staff
-//============================================================
-
-hugel,182,150,3 script Airship Staff#hu 91,{
- mes "[Airship Staff]";
- mes "Welcome to the International Airship.";
- mes "How may I help you?";
- next;
- if (select("Board the Airship:Cancel") == 1) {
- mes "[Airship Staff]";
- mes "The Airship boarding fee";
- mes "is 1,200 zeny, but if you've";
- mes "got a Free Ticket for Airship,";
- mes "the fee will be waived. Will";
- mes "you board the Airship?";
- next;
- if (select("Yes:No") == 1) {
- if(countitem(7311) > 0) {
- delitem 7311,1;
- warp "airplane",224,64;
+ if (.@tasoo >= $050320_ein_typing) {
+ mes "[Nils]";
+ mes "The previous top record was";
+ mes "made by ^0000ff" + $050320_minus1_typing$ + "^000000";
+ mes "with the total ^0000ff" + $050320_ein_typing + "^000000 letters.";
+ mes "However, ^ff0000" + strcharinfo(0) + "^000000,";
+ mes "you made the new top record";
+ mes "this time. Congratulations!";
+ set $050320_minus1_typing$, strcharinfo(0);
+ set $050320_ein_typing, .@tasoo;
close;
}
- if(Zeny >= 1200) {
- set Zeny, Zeny - 1200;
- warp "airplane",224,64;
+ else {
+ mes "[Nils]";
+ mes "^0000ff" + $050320_minus1_typing$ + "^000000";
+ mes "is the current";
+ mes "record holder with";
+ mes "a letter total of ^0000ff" + $050320_ein_typing + "^000000";
+ mes "characters. Try to beat";
+ mes "that record next time~";
close;
}
- mes "[Airship Staff]";
- mes "You don't have enough zeny.";
- close;
- }
- }
- mes "[Airship Staff]";
- mes "Thank you and";
- mes "have a nice day.";
- close;
-}
-
-//============================================================
-//= The Rachel Airship Staff
-//============================================================
-
-ra_fild12,295,208,3 script Airship Staff#ra 45,1,1,{
-OnTouch:
- mes "T use the airship, you are";
- mes "required to pay 1,200 zeny or a";
- mes "Free Airship Ticket. Would you like to use the service?";
- next;
- if (select("Yes:No") == 1) {
- if (countitem(7311) > 0) {
- delitem 7311,1;
- warp "airplane_01",224,64;
- close;
}
- if (Zeny >= 1200) {
- set Zeny, Zeny - 1200;
- warp "airplane_01",224,64;
+ else {
+ mes "[Nils]";
+ mes "Oooh...";
+ mes "I'm sorry, but";
+ mes "you entered the";
+ mes "text incorrectly...";
close;
}
- mes "You don't have enough zeny.";
+ case 2:
+ mes "[Nils]";
+ mes "The ^ff0000RO Typing Challenge^000000";
+ mes "is a game where you enter";
+ mes "the given text as quickly as you";
+ mes "can. The name of the top player";
+ mes "is recorded for posterity. If you";
+ mes "want fame, here's your chance!";
+ next;
+ mes "[Nils]";
+ mes "I'd just like to let";
+ mes "you know that you type";
+ mes "all the text that you see";
+ mes "in the single input line that";
+ mes "you're given. So don't press";
+ mes "the enter key, just click 'OK.'";
+ close;
+ case 3:
+ mes "[Nils]";
+ mes "^0000ff" + $050320_minus1_typing$ + "^000000";
+ mes "is the current";
+ mes "record holder with";
+ mes "a letter total of ^0000ff" + $050320_ein_typing + "^000000";
+ mes "characters. Try to beat";
+ mes "that record next time~";
+ close;
+ case 4:
+ mes "[Nils]";
+ mes "Feel free to take on the";
+ mes "^ff0000RO Typing Challenge^000000";
+ mes "anytime. I'll be here~";
close;
}
- mes "Thank you and, please come again.";
- close;
}
//============================================================
-//= Juno Airport NPCs
-//============================================================
-
-y_airport,144,63,4 script Airport Staff#Ein 91,{
- mes "[Airship Staff]";
- mes "Good day!";
- mes "Would you like to go";
- mes "to ^FF0000Einbroch^000000,^FF0000Hugel^000000 or";
- mes "^FF0000Lighthalzen^000000?";
- next;
- if (select("Yes.:No.") == 1) {
- mes "[Airship Staff]";
- mes "Thank you and";
- mes "have a nice day.";
- close2;
- warp "yuno",57,240;
- end;
- }
- mes "[Airship Staff]";
- mes "Thank you and";
- mes "have a nice day.";
- close;
-}
-
-y_airport,141,63,4 script Airport Staff#Izl 91,{
- mes "[Airship Staff]";
- mes "Good day!";
- mes "Would you like to go";
- mes "to ^FF0000Izlude^000000 or ^FF0000Rachel^000000?";
- next;
- if (select("Yes.:No.") == 1) {
- mes "[Airship Staff]";
- mes "Thank you and";
- mes "have a nice day.";
- close2;
- warp "yuno",50,240;
- end;
- }
- mes "[Airship Staff]";
- mes "Thank you and";
- mes "have a nice day.";
- close;
-}
-
-yuno,14,262,5 script Airship Staff#yuno01 91,{
- mes "[Airship Staff]";
- mes "Welcome to Juno Airport.";
- mes "Please use this door to";
- mes "board the Airship that will";
- mes "be flying all the way to Izlude";
- mes "in the Rune-Midgarts Kingdom,";
- mes "and to Rachel in the Arunafeltz";
- mes "Republic.";
- next;
- mes "[Airship Staff]";
- mes "Otherwise, if Juno is";
- mes "your intended destination,";
- mes "please head down the stairs";
- mes "and ask the Arrival Staff to lead";
- mes "you to the main terminal. Thank";
- mes "you, and enjoy your travels.";
- close;
-}
-
-yuno,88,263,3 script Airship Staff#yuno02 91,{
- mes "[Airship Staff]";
- mes "Welcome to Juno Airport.";
- mes "Please use this door to";
- mes "board the Airship which stops";
- mes "over Einbroch, Lighthalzen and";
- mes "Hugel in the Schwaltzvalt Republic.";
+//= Apple Gambling
+//============================================================
+airplane_01,33,68,4 script Clarice 74,{
+ mes "[Clarice]";
+ mes "Hi, I'm Clarice~";
+ mes "How would you like";
+ mes "to wager some Apples";
+ mes "in a friendly game of Dice?";
next;
- mes "[Airship Staff]";
- mes "Otherwise, if Juno is";
- mes "your intended destination,";
- mes "please head down the stairs";
- mes "and ask the Arrival Staff to lead";
- mes "you to the main terminal. Thank";
- mes "you, and enjoy your travels.";
- close;
+ callfunc "applegamble","Clarice";
+ end;
}
-//============================================================
-//= Apple Gambling Function
-//============================================================
-
function script applegamble {
- switch(select("Play Dice Game:Learn Dice Game Rules:Cancel")){
+ switch (select("Play Dice Game:Learn Dice Game Rules:Cancel")) {
case 3:
mes "["+getarg(0)+"]";
mes "I'm up for a game of";
mes "dice whenever you feel";
mes "like it. Just talk to me if";
mes "you ever get hit with the";
- mes "sudden urge to gamle, kay?";
+ mes "sudden urge to gamble, kay?";
close;
case 2:
mes "["+getarg(0)+"]";
@@ -1296,57 +1309,66 @@ function script applegamble {
mes "up to 50 Apples. If you'd like";
mes "to cancel, please enter '0'.";
next;
-L_Input:
- input .@amount;
- if(.@amount == 0) {
- mes "["+getarg(0)+"]";
- mes "Changed your mind?";
- mes "I understand. Well then,";
- mes "I hope we can play sometime.";
- close;
- }
- if(.@amount > 50) set .@amount,50;
- mes "["+getarg(0)+"]";
- mes "So you'll be";
- mes "betting ^FF0000"+.@amount+"^000000 Apples.";
- mes "Is that right?";
- next;
- if(select("Yes:No")==2){
+ while(1) {
+ input .@amount;
+ if (.@amount == 0) {
+ mes "["+getarg(0)+"]";
+ mes "Changed your mind?";
+ mes "I understand. Well then,";
+ mes "I hope we can play sometime.";
+ close;
+ }
+ else if (.@amount < 1 || .@amount > 50) {
+ mes "[Clarice]";
+ mes "You can't bet more than";
+ mes "50 Apples. Remember, we";
+ mes "need to keep these stakes";
+ mes "reasonable. Please enter";
+ mes "a value no greater than 50.";
+ next;
+ continue;
+ }
mes "["+getarg(0)+"]";
- mes "Mm, made a mistake?";
- mes "Alright, please enter the";
- mes "number of Apples you";
- mes "wish to place in this bet";
+ mes "So you'll be";
+ mes "betting ^FF0000"+.@amount+"^000000 Apples.";
+ mes "Is that right?";
next;
- goto L_Input;
- }
- if(countitem(512)<.@amount){
- //more apples then in inventory
- //-Improvised-
+ if (select("Yes:No") == 2) {
+ mes "["+getarg(0)+"]";
+ mes "Mm, made a mistake?";
+ mes "Alright, please enter the";
+ mes "number of Apples you";
+ mes "wish to place in this bet";
+ next;
+ continue;
+ }
+ if (countitem(512) <.@amount) {
+ mes "I'm sorry, but you";
+ mes "don't seem to have";
+ mes "enough Apples for this";
+ mes "bet... You can't gamble";
+ mes "if you can't play, you know.";
+ next;
+ continue;
+ }
+ delitem 512,.@amount;
mes "["+getarg(0)+"]";
- mes "Ooh...";
- mes "You don't have that";
- mes "many Apples with you,";
- mes "now do you?";
- close;
+ mes "Good!";
+ mes "Now we can start";
+ mes "this game! I'll roll first~";
+ break;
}
- delitem 512,.@amount;
- mes "["+getarg(0)+"]";
- mes "Good!";
- mes "Now we can start";
- mes "this game! I'll roll first~";
+ mes "^3355FF*Rolling and rumbling*^000000";
next;
- mes "^0000FF*Rolling and rumbling*";
set .@table1,rand(1,6);
set .@table2,rand(1,6);
set .@tablesub,.@table1+.@table2;
+ mes "["+getarg(0)+"]";
+ mes "I got a ^0000FF" + .@table1 + "^000000 and a ^0000FF" + .@table2 + "^000000.";
+ mes "That's a total of ^0000FF" + .@tablesub + "^000000.";
+ mes "^FF0000" + strcharinfo(0) + "^000000, now it's your turn.";
next;
- mes "I rolled a "+.@table1+" and a "+.@table2+",";
- mes "giving me a total of "+.@tablesub+".";
- mes "Now it's your turn,";
- mes strcharinfo(0)+".";
- next;
- menu "Roll Dice.",-;
+ select("Cast Dice.");
mes "^0000FF*Rolling and rumbling*";
set .@player1,rand(1,6);
diff --git a/npc/airports/einbroch.txt b/npc/airports/einbroch.txt
index 37bf6c2f7..25418daf7 100644
--- a/npc/airports/einbroch.txt
+++ b/npc/airports/einbroch.txt
@@ -2,47 +2,48 @@
//= Einbroch Airport Staff
//===== By: ==================================================
//= L0ne_W0lf, Muad_Dib
-//===== Current Version: =====================================
-//= 1.4
//===== Compatible With: =====================================
-//= rAthena Revision 3000+
+//= rAthena SVN
//===== Description: =========================================
//= Einbroch Airport Staff
//===== Additional Comments: =================================
-//= Converted by Dr.Evil, 1.0b more typos and credits [Lupus]
-//= 1.1 Fixed wrong check, added extra condition [Justin84]
-//= 1.2 Removed Duplicates [Silent]
-//= 1.3 Fixed syntax errors for duplicate [KarLaeda]
-//= 1.4 Removed use of goto. [L0ne_W0lf]
-//============================================================
+//= Official NPCs.
+//============================================================
-
-airport,126,43,4 script Airport Staff#01::AirportE 90,{
+airport,143,43,5 script Airport Staff#airport1a::airport1 90,{
mes "[Airport Staff]";
- mes "Welcome to the Airport.";
- mes "How may I help you?";
+ mes "Welcome to the";
+ mes "Einbroch Airport,";
+ mes "where we offer nonstop";
+ mes "flights to the cities of";
+ mes "Juno, Lighthalzen and Hugel.";
next;
if (select("Board the Airship:Cancel") == 1) {
mes "[Airport Staff]";
mes "The Airship boarding fee";
mes "is 1,200 zeny, but if you've";
- mes "got a Free Ticket for Airship,";
+ mes "got a Free Ticket for Airship,";
mes "the fee will be waived. Will";
mes "you board the Airship?";
next;
if (select("Yes:No") == 1) {
- if(countitem(7311) > 0) {
- delitem 7311,1;
+ if (countitem(7311) > 0) {
+ delitem 7311,1; //Free_Flying_Ship_Ticket
warp "airport",148,51;
- close;
+ end;
}
- if(Zeny >= 1200) {
+ if (Zeny >= 1200) {
set Zeny, Zeny - 1200;
warp "airport",148,51;
- close;
+ end;
}
mes "[Airport Staff]";
- mes "You don't have enough zeny.";
+ mes "I'm sorry, but you don't";
+ mes "have a Free Ticket for";
+ mes "Airship and you don't have";
+ mes "enough zeny for boarding";
+ mes "the Airship. Remember, the";
+ mes "boarding fee is 1,200 zeny.";
close;
}
}
@@ -52,30 +53,31 @@ airport,126,43,4 script Airport Staff#01::AirportE 90,{
close;
}
-airport,143,43,4 duplicate(AirportE) Airport Staff#02 90
-airport,156,43,4 duplicate(AirportE) Airport Staff#03 90
+airport,158,43,5 duplicate(airport1) Airport Staff#airport1b 90
+airport,126,43,5 duplicate(airport1) Airport Staff#airport1c 90
-airport,126,51,4 script Airport Staff#04::AirportE2 90,{
- mes "[Airport Staff]";
- mes "Welcome~";
- mes "Please head this";
- mes "way to board the Airship.";
+airport,143,49,3 script Arrival Staff#airport2a::airport2 90,{
+ mes "[Arrival Staff]";
+ mes "Welcome to Einbroch Airport.";
+ mes "If you are arriving from your";
+ mes "flight, let me guide you to the";
+ mes "main terminal. Otherwise, please board the Airship to depart to";
+ mes "Juno, Lighthalzen and Hugel.";
next;
- if (select("Exit to Main Terminal:Cancel") == 1) {
- mes "[Airport Staff]";
- mes "If you leave the";
- mes "main terminal, you'll";
- mes "have to pay the admission";
- mes "fee again in order to board";
- mes "the Airship. Are you sure";
- mes "that you want to exit?";
+ if (select("Exit to main terminal.:Cancel.") == 1) {
+ mes "[Arrival Staff]";
+ mes "Once you're in the main terminal, you will need to pay the fee again";
+ mes "to board an Airship. You should";
+ mes "only exit if the city of Einbroch";
+ mes "is your intended destination.";
+ mes "Proceed to the main terminal?";
next;
if (select("Yes:No") == 1) {
warp "airport",142,40;
- close;
+ end;
}
}
- mes "[Airport Staff]";
+ mes "[Arrival Staff]";
mes "Alright, thank you";
mes "for your patronage";
mes "and I hope you have";
@@ -83,17 +85,17 @@ airport,126,51,4 script Airport Staff#04::AirportE2 90,{
close;
}
-airport,143,51,4 duplicate(AirportE2) Airport Staff#05 90
-airport,156,51,4 duplicate(AirportE2) Airport Staff#06 90
+airport,126,51,3 duplicate(airport2) Arrival Staff#airport2b 90
+airport,158,50,3 duplicate(airport2) Arrival Staff#airport2c 90
-einbroch,94,267,4 script Airship Staff#07 91,{
+einbroch,94,267,3 script Airship Staff#ein01 91,{
mes "[Airship Staff]";
mes "Welcome to the";
mes "Einbroch Airport.";
mes "Please use this door to";
- mes "board the Airship wich stops";
- mes "over Lighthalzen and Juno in";
- mes "the Schwarzwald Republic";
+ mes "board the Airship which stops";
+ mes "over Juno, Lighthalzen and";
+ mes "Hugel in the Schwaltzvalt Republic.";
next;
mes "[Airship Staff]";
mes "Otherwise, if Einbroch is";
diff --git a/npc/airports/hugel.txt b/npc/airports/hugel.txt
new file mode 100644
index 000000000..ea591eccc
--- /dev/null
+++ b/npc/airports/hugel.txt
@@ -0,0 +1,36 @@
+//===== rAthena Script =======================================
+//= Hugel Airport NPCs
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Hugel Airport NPCs
+//===== Additional Comments: =================================
+//= Official NPCs.
+//============================================================
+
+hugel,178,142,0 script toairplane#hugel 45,1,1,{
+ end;
+OnTouch:
+ mes "To use the airship, you are required to pay 1,200 zeny or a Free Airship Ticket.";
+ mes "Would you like to use the service?";
+ next;
+ if (select("Yes:No") == 1) {
+ if (countitem(7311) > 0) {
+ delitem 7311,1; //Free_Flying_Ship_Ticket
+ warp "airplane",244,58;
+ end;
+ }
+ if (Zeny >= 1200) {
+ set Zeny, Zeny - 1200;
+ warp "airplane",244,58;
+ end;
+ }
+ mes "I am sorry, but you do not have enough money.";
+ mes "Please remember, you are required to pay 1,200 zeny to use the service.";
+ close;
+ }
+ mes "Thank you, please come again.";
+ close;
+}
diff --git a/npc/airports/izlude.txt b/npc/airports/izlude.txt
new file mode 100644
index 000000000..c740c1c67
--- /dev/null
+++ b/npc/airports/izlude.txt
@@ -0,0 +1,51 @@
+//===== rAthena Script =======================================
+//= Izlude Airport NPCs
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Izlude Airport NPCs
+//===== Additional Comments: =================================
+//= Official NPCs.
+//============================================================
+
+izlude,206,55,3 script Airship Staff#izlude 90,{
+ mes "[Airship Staff]";
+ mes "Welcome! Would you like";
+ mes "to board the Airship that";
+ mes "departs on the flight wich stops";
+ mes "in Juno and Rachel?";
+ next;
+ if (select("Board the Airship to Juno/Rachel.:Cancel.") == 1) {
+ mes "[Airship Staff]";
+ mes "The boarding fee is";
+ mes "1,200 zeny. However, this";
+ mes "charged is waived if you use";
+ mes "a Free Ticket for Airship. Now,";
+ mes "would you still like to board?";
+ next;
+ if (select("Yes:No") == 1) {
+ if (countitem(7311) > 0) {
+ delitem 7311,1; //Free_Flying_Ship_Ticket
+ warp "airplane_01",244,58;
+ end;
+ }
+ if (Zeny >= 1200) {
+ set Zeny, Zeny - 1200;
+ warp "airplane_01",244,58;
+ end;
+ }
+ mes "[Airship Staff]";
+ mes "I'm sorry, but you don't";
+ mes "have 1,200 zeny to pay";
+ mes "for the boarding fee.";
+ close;
+ }
+ }
+ mes "[Airship Staff]";
+ mes "Thank you and";
+ mes "please come again.";
+ mes "Have a good day~";
+ close;
+}
diff --git a/npc/airports/lighthalzen.txt b/npc/airports/lighthalzen.txt
index 81f565027..5509b80c1 100644
--- a/npc/airports/lighthalzen.txt
+++ b/npc/airports/lighthalzen.txt
@@ -2,79 +2,76 @@
//= Lighthalzen Airport Staff
//===== By: ==================================================
//= L0ne_W0lf, Muad_Dib
-//===== Current Version: =====================================
-//= 1.3
//===== Compatible With: =====================================
-//= rAthena Revision 3000+
+//= rAthena SVN
//===== Description: =========================================
//= Lighthalzen Airport Staff
//===== Additional Comments: =================================
-//= 1.0 Cloned from einbroch.txt [Justin84]
-//= 1.1 Removed Duplicates [Silent]
-//= 1.2 Fixed syntax errors for duplicate [KarLaeda]
-//= 1.3 Removed use of goto. [L0ne_W0lf]
-//============================================================
+//= Official NPCs.
+//============================================================
-
-lhz_airport,126,43,4 script Airport Staff#1::AirportL 90,{
+lhz_airport,143,43,5 script Airport Staff#lhz_air1a::lhz_airport1 90,{
mes "[Airport Staff]";
- mes "Welcome to the Airport.";
- mes "How may I help you?";
+ mes "Welcome to the";
+ mes "Lighthalzen Airport,";
+ mes "where we offer nonstop";
+ mes "flights to Einbroch, Juno and Hugel.";
next;
- if (select("Board the Airship:Cancel") == 1) {
+ if (select("Board the Airship.:Cancel.") == 1) {
mes "[Airport Staff]";
- mes "The Airship boarding fee";
- mes "is 1,200 zeny, but if you've";
- mes "got a Free Ticket for Airship,";
- mes "the fee will be waived. Will";
- mes "you board the Airship?";
+ mes "The boarding fee is";
+ mes "1,200 zeny, but you can";
+ mes "waive the fee if you redeem";
+ mes "a Free Ticket for Airship.";
next;
if (select("Yes:No") == 1) {
- if(countitem(7311) > 0) {
- delitem 7311,1;
+ if (countitem(7311) > 0) {
+ delitem 7311,1; //Free_Flying_Ship_Ticket
warp "lhz_airport",148,51;
- close;
+ end;
}
- if(zeny >= 1200) {
- set Zeny,zeny-1200;
+ if (Zeny >= 1200) {
+ set Zeny, Zeny - 1200;
warp "lhz_airport",148,51;
- close;
+ end;
}
- mes "[Airport Staff]";
- mes "You don't have enough zeny.";
+ mes "[Airship Staff]";
+ mes "I'm sorry, but you don't";
+ mes "have 1,200 zeny to pay";
+ mes "for the boarding fee.";
close;
}
}
mes "[Airport Staff]";
mes "Thank you and";
- mes "have a nice day.";
+ mes "please come again.";
+ mes "Have a good day~";
close;
}
-lhz_airport,143,43,4 duplicate(AirportL) Airport Staff#2 90
-lhz_airport,156,43,4 duplicate(AirportL) Airport Staff#3 90
+lhz_airport,158,43,5 duplicate(lhz_airport1) Airship Staff#lhz_air1b 90
+lhz_airport,126,43,5 duplicate(lhz_airport1) Airship Staff#lhz_air1c 90
-lhz_airport,126,51,4 script Airport Staff#4::AirportL2 90,{
- mes "[Airport Staff]";
- mes "Welcome~";
- mes "Please head this";
- mes "way to board the Airship.";
+lhz_airport,143,49,3 script Arrival Staff#lhz_air2a::lhz_airport2 90,{
+ mes "[Arrival Staff]";
+ mes "Welcome to Lighthalzen Airport.";
+ mes "Please let me guide you to the";
+ mes "main terminal if you are arriving from your flight. Otherwise, please";
+ mes "board the departing Airship to reach your intended destination.";
next;
- if (select("Exit to Main Terminal:Cancel") == 1) {
- mes "[Airport Staff]";
- mes "If you leave the";
- mes "main terminal, you'll";
- mes "have to pay the admission";
- mes "fee again in order to board";
- mes "the Airship. Are you sure";
- mes "that you want to exit?";
+ if (select("Exit to main terminal.:Cancel.") == 1) {
+ mes "[Arrival Staff]";
+ mes "Once you're in the main terminal, you will need to pay the fee again";
+ mes "to board an Airship. You should";
+ mes "only exit if Lighthalzen is your intended destination. Shall we";
+ mes "proceed to the main terminal?";
next;
if (select("Yes:No") == 1) {
warp "lhz_airport",142,40;
- close;
+ end;
}
}
- mes "[Airport Staff]";
+ mes "[Arrival Staff]";
mes "Alright, thank you";
mes "for your patronage";
mes "and I hope you have";
@@ -82,5 +79,5 @@ lhz_airport,126,51,4 script Airport Staff#4::AirportL2 90,{
close;
}
-lhz_airport,143,51,4 duplicate(AirportL2) Airport Staff#5 90
-lhz_airport,156,51,4 duplicate(AirportL2) Airport Staff#6 90
+lhz_airport,126,51,3 duplicate(lhz_airport2) Arrival Staff#lhz_air2b 90
+lhz_airport,158,50,3 duplicate(lhz_airport2) Arrival Staff#lhz_air2c 90
diff --git a/npc/airports/rachel.txt b/npc/airports/rachel.txt
new file mode 100644
index 000000000..78280fdbf
--- /dev/null
+++ b/npc/airports/rachel.txt
@@ -0,0 +1,36 @@
+//===== rAthena Script =======================================
+//= Rachel Airport NPCs
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Rachel Airport NPCs
+//===== Additional Comments: =================================
+//= Official NPCs.
+//============================================================
+
+ra_fild12,295,208,0 script toairplane#rachel 45,1,1,{
+ end;
+OnTouch:
+ mes "To use the airship, you are required to pay 1,200 zeny or a Free Airship Ticket.";
+ mes "Would you like to use the service?";
+ next;
+ if (select("Yes:No") == 1) {
+ if (countitem(7311) > 0) {
+ delitem 7311,1; //Free_Flying_Ship_Ticket
+ warp "airplane_01",245,60;
+ end;
+ }
+ if (Zeny >= 1200) {
+ set Zeny, Zeny - 1200;
+ warp "airplane_01",245,60;
+ end;
+ }
+ mes "I am sorry, but you do not have enough money.";
+ mes "Please remember, you are required to pay 1,200 zeny to use the service.";
+ close;
+ }
+ mes "Thank you, please come again.";
+ close;
+} \ No newline at end of file
diff --git a/npc/airports/yuno.txt b/npc/airports/yuno.txt
index 815280d27..ca2556fed 100644
--- a/npc/airports/yuno.txt
+++ b/npc/airports/yuno.txt
@@ -2,46 +2,42 @@
//= Yuno Airport Staff
//===== By: ==================================================
//= L0ne_W0lf, Muad_Dib
-//===== Current Version: =====================================
-//= 1.3
//===== Compatible With: =====================================
-//= rAthena Revision 3000+
+//= rAthena SVN
//===== Description: =========================================
//= Yuno Airport Staff
//===== Additional Comments: =================================
-//= 1.0 Cloned from Einbroch [Justin84]
-//= 1.1 Removed Duplicates [Silent]
-//= 1.2 Fixed syntax errors for duplicate [KarLaeda]
-//= 1.3 Removed use of goto. [L0ne_W0lf]
-//============================================================
+//= Official NPCs.
+//============================================================
-
-y_airport,126,43,4 script Airport Staff#001::AirportY 90,{
+y_airport,143,43,5 script Airport Staff#y_air1a::y_airport1 90,{
mes "[Airport Staff]";
- mes "Welcome to the Airport.";
- mes "How may I help you?";
+ mes "Welcome to Juno Airport where we offer domestic flights to Einbroch, Lighthalzen and Hugel,";
+ mes "and international flights to Izlude and Rachel.";
+ mes "How may I be of service?";
next;
- if (select("Board the Airship:Cancel") == 1) {
+ if (select("Board the Airship.:Cancel.") == 1) {
mes "[Airport Staff]";
- mes "The Airship boarding fee";
- mes "is 1,200 zeny, but if you've";
- mes "got a Free Ticket for Airship,";
- mes "the fee will be waived. Will";
- mes "you board the Airship?";
+ mes "The boarding fee for all";
+ mes "flights is 1,200 zeny. If you";
+ mes "use a Free Ticket for Airship,";
+ mes "the boarding fee will be waived.So would you like to depart?";
next;
if (select("Yes:No") == 1) {
- if(countitem(7311) > 0) {
- delitem 7311,1;
+ if (countitem(7311) > 0) {
+ delitem 7311,1; //Free_Flying_Ship_Ticket
warp "y_airport",148,51;
- close;
+ end;
}
- if(zeny >= 1200) {
- set Zeny,zeny-1200;
+ if (Zeny >= 1200) {
+ set Zeny, Zeny - 1200;
warp "y_airport",148,51;
- close;
+ end;
}
mes "[Airport Staff]";
- mes "You don't have enough zeny.";
+ mes "I'm sorry, but you don't";
+ mes "have 1,200 zeny to pay";
+ mes "for the boarding fee.";
close;
}
}
@@ -51,27 +47,25 @@ y_airport,126,43,4 script Airport Staff#001::AirportY 90,{
close;
}
-y_airport,143,43,4 duplicate(AirportY) Airport Staff#002 90
-y_airport,156,43,4 duplicate(AirportY) Airport Staff#003 90
+y_airport,158,43,5 duplicate(y_airport1) Airport Staff#y_air1b 90
+y_airport,126,43,5 duplicate(y_airport1) Airport Staff#y_air1c 90
-y_airport,126,51,4 script Airport Staff#004::AirportY2 90,{
+y_airport,143,49,3 script Arrival Staff#y_air2a::y_airport2 90,{
mes "[Airport Staff]";
- mes "Welcome~";
- mes "Please head this";
- mes "way to board the Airship.";
+ mes "Welcome to Juno Airport. If you've just arrived from your";
+ mes "flight, let me guide you to the main terminal. Otherwise, please";
+ mes "board the departing Airship to reach your intended destination.";
next;
- if (select("Exit to Main Terminal:Cancel") == 1) {
+ if (select("Exit to main terminal:Cancel") == 1) {
mes "[Airport Staff]";
- mes "If you leave the";
- mes "main terminal, you'll";
- mes "have to pay the admission";
- mes "fee again in order to board";
- mes "the Airship. Are you sure";
- mes "that you want to exit?";
+ mes "Once you're in the main terminal, you must pay the fee once again";
+ mes "to board a departing Airship. You should only exit if your intended";
+ mes "destination is Juno. Proceed to";
+ mes "exit to the main terminal?";
next;
if (select("Yes:No") == 1) {
warp "y_airport",142,40;
- close;
+ end;
}
}
mes "[Airport Staff]";
@@ -82,5 +76,84 @@ y_airport,126,51,4 script Airport Staff#004::AirportY2 90,{
close;
}
-y_airport,143,51,4 duplicate(AirportY2) Airport Staff#005 90
-y_airport,156,51,4 duplicate(AirportY2) Airport Staff#006 90
+y_airport,126,51,3 duplicate(y_airport2) Arrival Staff#y_air2b 90
+y_airport,158,50,3 duplicate(y_airport2) Arrival Staff#y_air2c 90
+
+y_airport,145,63,5 script Domestic Boarding 91,{
+ mes "[Boarding Staff]";
+ mes "Would you like to board the";
+ mes "Airship that flies to Einbroch,";
+ mes "Lighthalzen and Hugel? If so,";
+ mes "please let me guide you to that";
+ mes "Airship's boarding area.";
+ next;
+ if (select("Yes:No") == 1) {
+ warp "yuno",59,244;
+ end;
+ }
+ mes "[Boarding Staff]";
+ mes "Very well, then.";
+ mes "Thank you for your";
+ mes "patronage, and I hope";
+ mes "you enjoy your travels~";
+ close;
+}
+
+y_airport,140,63,5 script International Boarding 91,{
+ mes "[Boarding Staff]";
+ mes "Would you like to board";
+ mes "the Airship which flies to";
+ mes "Juno, Izlude and Rachel?";
+ mes "If so, let me guide";
+ mes "you to the boarding area.";
+ next;
+ if (select("Yes:No") == 1) {
+ warp "yuno",47,244;
+ end;
+ }
+ mes "[Boarding Staff]";
+ mes "Alright, then.";
+ mes "Thank you for flying";
+ mes "with us, and I hope you";
+ mes "enjoy your travels on our";
+ mes "state of the art Airships.";
+ close;
+}
+
+yuno,14,262,5 script Airship Staff#yuno01 91,{
+ mes "[Airship Staff]";
+ mes "Welcome to Juno Airport.";
+ mes "Please use this door to";
+ mes "board the Airship that will";
+ mes "be flying all the way to Izlude";
+ mes "in the Rune-Midgarts Kingdom,";
+ mes "and to Rachel in the Arunafeltz";
+ mes "Republic.";
+ next;
+ mes "[Airship Staff]";
+ mes "Otherwise, if Juno is";
+ mes "your intended destination,";
+ mes "please head down the stairs";
+ mes "and ask the Arrival Staff to lead";
+ mes "you to the main terminal. Thank";
+ mes "you, and enjoy your travels.";
+ close;
+}
+
+yuno,88,263,3 script Airship Staff#yuno02 91,{
+ mes "[Airship Staff]";
+ mes "Welcome to Juno Airport.";
+ mes "Please use this door to";
+ mes "board the Airship which stops";
+ mes "over Einbroch, Lighthalzen and";
+ mes "Hugel in the Schwaltzvalt Republic.";
+ next;
+ mes "[Airship Staff]";
+ mes "Otherwise, if Juno is";
+ mes "your intended destination,";
+ mes "please head down the stairs";
+ mes "and ask the Arrival Staff to lead";
+ mes "you to the main terminal. Thank";
+ mes "you, and enjoy your travels.";
+ close;
+}