//===== eAthena Script ======================================= //= The Airship System Script //===== By: ================================================== //= MasterOfMuppets //===== Current Version: ===================================== //= 0.2 //===== Compatible With: ===================================== //= eAthena SVN 3422+(Requires jA Script System) //===== Description: ========================================= //= The Airship System used in the official servers, however this //= one is still about 25% custom and is missing some npcs. //===== 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] //============================================================ //============================================================ //= The Airship System (Yuno -> Hugel -> Einbroch -> Lighthalzen -> repeat) //============================================================ airplane.gat,243,74,4 script #AirshipWarp-1 45,2,2{ OnTouch: if($airplanelocation == 1)warp "einbroch.gat",90,275; if($airplanelocation == 2)warp "yuno.gat",85,265; if($airplanelocation == 3)warp "lighthalzen.gat",302,75; if($airplanelocation == 4)warp "hugel.gat",182,150; end; OnHide: misceffect 16; end; OnUnhide: misceffect 215; end; } airplane.gat,243,29,4 script #AirshipWarp-2 45,2,2{ OnTouch: if($airplanelocation == 1)warp "einbroch.gat",90,275; if($airplanelocation == 2)warp "yuno.gat",85,265; if($airplanelocation == 3)warp "lighthalzen.gat",302,75; if($airplanelocation == 4)warp "hugel.gat",182,150; end; OnHide: misceffect 16; end; OnUnhide: misceffect 215; end; } airplane.gat,1,1,0 script EinYuno_Airship -1,{ OnInit: while(1) { initnpctimer; setnpctimer 0; set $airplanelocation,0; donpcevent "#AirshipWarp-1::OnHide"; donpcevent "#AirshipWarp-2::OnHide"; disablenpc "#AirshipWarp-1"; disablenpc "#AirshipWarp-2"; mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Hugel.",1,0xBA55D3; end; OnTimer15000: mapannounce "airplane.gat","We are heading to Hugel.",1,0xBA55D3; end; OnTimer30000: mapannounce "airplane.gat","We will arrive in Hugel shortly.",1,0xBA55D3; end; OnTimer45000: set $airplanelocation,4; enablenpc "#AirshipWarp-1"; enablenpc "#AirshipWarp-2"; donpcevent "#AirshipWarp-1::OnUnhide"; donpcevent "#AirshipWarp-2::OnUnhide"; mapannounce "airplane.gat","Welcome to Hugel. Have a safe trip.",1,0xBA55D3; end; OnTimer55000: mapannounce "airplane.gat","Currently we are in Hugel. The Airship will leave shortly.",1,0xBA55D3; end; OnTimer65000: set $airplanelocation,0; donpcevent "#AirshipWarp-1::OnHide"; donpcevent "#AirshipWarp-2::OnHide"; disablenpc "#AirshipWarp-1"; disablenpc "#AirshipWarp-2"; mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Einbroch.",1,0x00FF00; end; OnTimer80000: mapannounce "airplane.gat","We are heading to Einbroch.",1,0x00FF00; end; OnTimer95000: mapannounce "airplane.gat","We will arrive in Einbroch shortly.",1,0x00FF00; end; OnTimer110000: set $airplanelocation,1; enablenpc "#AirshipWarp-1"; enablenpc "#AirshipWarp-2"; donpcevent "#AirshipWarp-1::OnUnhide"; donpcevent "#AirshipWarp-2::OnUnhide"; mapannounce "airplane.gat","Welcome to Einbroch. Have a safe trip.",1,0x00FF00; end; OnTimer120000: mapannounce "airplane.gat","Currently we are in Einbroch. The Airship will take off shortly.",1,0x00FF00; end; OnTimer130000: set $airplanelocation,0; donpcevent "#AirshipWarp-1::OnHide"; donpcevent "#AirshipWarp-2::OnHide"; disablenpc "#AirshipWarp-1"; disablenpc "#AirshipWarp-2"; mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Lighthalzen.",1,0xFF8600; end; OnTimer145000: mapannounce "airplane.gat","We are heading to Lighthalzen.",1,0xFF8600; end; OnTimer160000: mapannounce "airplane.gat","We will arrive in Lighthalzen shortly.",1,0xFF8600; end; OnTimer175000: set $airplanelocation,3; enablenpc "#AirshipWarp-1"; enablenpc "#AirshipWarp-2"; donpcevent "#AirshipWarp-1::OnUnhide"; donpcevent "#AirshipWarp-2::OnUnhide"; mapannounce "airplane.gat","Welcome to Lighthalzen. Have a safe trip.",1,0xFF8600; end; OnTimer185000: mapannounce "airplane.gat","Currently we are in Lighthalzen. The Airship will leave shortly.",1,0xFF8600; end; OnTimer195000: set $airplanelocation,0; donpcevent "#AirshipWarp-1::OnHide"; donpcevent "#AirshipWarp-2::OnHide"; disablenpc "#AirshipWarp-1"; disablenpc "#AirshipWarp-2"; mapannounce "airplane.gat","The Airship is now taking off. Our next destination is Yuno.",1,0x70DBDB; end; OnTimer210000: mapannounce "airplane.gat","We are heading to Yuno.",1,0x70DBDB; end; OnTimer225000: mapannounce "airplane.gat","We will arrive in Yuno shortly.",1,0x70DBDB; end; OnTimer240000: set $airplanelocation,2; enablenpc "#AirshipWarp-1"; enablenpc "#AirshipWarp-2"; donpcevent "#AirshipWarp-1::OnUnhide"; donpcevent "#AirshipWarp-2::OnUnhide"; mapannounce "airplane.gat","Welcome to Yuno. Have a safe trip.",1,0x70DBDB; end; OnTimer250000: mapannounce "airplane.gat","Currently we are in Yuno. The Airship will leave shortly.",1,0x70DBDB; end; OnTimer260000: stoptimer; } } //C4644E //============================================================ //= Some normal NPCS (airplane.gat) //============================================================ airplane.gat,240,64,5 script Exit 857,{ end; } airplane.gat,247,64,5 duplicate(Exit) Exit 857 airplane.gat,240,39,1 duplicate(Exit) Exit 857 airplane.gat,247,39,1 duplicate(Exit) Exit 857 airplane.gat,100,69,2 script Airship Crew 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."; close; } airplane.gat,250,59,3 script Airship Staff::AirshipInfo 67,{ mes "[Airship Staff]"; mes "Welcome"; mes "to the Airship."; mes "How may I help you?"; next; menu "Using the Airship",s_Use,"Captain's Cabin",s_Capt,"Facilities",s_Faci,"Cancel",-; mes "[Airship Staff]"; mes "Well, I hope you like"; mes "your flight aboard"; mes "our Airships. Thank"; mes "you and have a good day."; close; s_Use: mes "[Airship Staff]"; mes "When you see a broadcast"; mes "announcing that we have"; mes "arrived at your destination,"; mes "please use one of the exits"; mes "located at the north and"; mes "south ends of the Airship"; next; mes "[Airship Staff]"; mes "If you happen to miss"; mes "your stop, don't worry."; mes "The airship is constantly"; mes "on route and you'll get"; mes "another chance to arrive"; mes "to your intended destination."; close; s_Capt: mes "[Airship Staff]"; mes "The Captain's Cabin"; mes "is located at the front"; mes "of the Airship. There, you"; mes "can meet the captain and"; mes "the pilot of the Airship."; close; s_Faci: mes "[Airship Staff]"; mes "The Airship provides"; mes "various Mini Games for"; mes "the entertainment of all"; mes "our passengers. We invite"; mes "you to try your luck and skills"; mes "in the Airship's Mini Games~"; close; } airplane.gat,50,66,4 script Meltz::AirshipApples 86,{ mes "[Meltz]"; mes "Welcome to Meltz's"; mes "Shop where you can"; mes "purchase Apples or grind"; mes "them to make Apple Juice."; next; menu "Buy Apples",s_Buy,"Make Apple Juice",s_Juice,"Cancel.",-; s_Cancel: mes "[Meltz]"; mes "Thanks for stopping"; mes "by my shop. Farewell!"; mes "Come back anytime when"; mes "you feel like having an"; mes "Apple to snack on~"; close; s_Buy: mes "[Meltz]"; 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; input @tempapple; if(!@tempapple)goto s_Cancel; if(@tempapple > 0 && @tempapple < 501)goto s_AppleBuy; if(@tempapple < 0)close; mes "[Meltz]"; mes "The maximum amount of apples"; mes "you can buy at the same time"; mes "is 500. " + @tempapple + " is clearly"; mes "over 500."; close; s_AppleBuy: mes "[Meltz]"; mes "A total of ^FF0000" + @tempapple + "^000000 Apples."; mes "will cost you ^FF0000" + @tempapple * 15 + "^000000 zeny."; mes "Would you like to continue?"; next; menu "Yes",-,"No",s_Cancel; if(zeny < (@tempapple * 15))goto s_NEnoughZeny; mes "[Meltz]"; mes "Thanks for stopping by"; mes "my shop. I hope you enjoy"; mes "the flavor of these Apples~!"; getitem 512,@tempapple; set zeny,zeny - (@tempapple * 15); close; s_NEnoughZeny: mes "[Meltz]"; mes "I'm sorry buy you don't"; mes "seem to have enough zeny."; mes "Come back anytime when"; mes "you feel like having an"; mes "Apple to snack on~"; close; s_Juice: mes "[Meltz]"; 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; menu "Yes",-,"No",s_Cancel; if(countitem(512) < 3 || !countitem(713))goto s_Material; mes "[Meltz]"; mes "Thank you,"; mes "please wait"; mes "just a moment."; next; mes "*Grind grind*"; mes "*Grind grind*"; mes "*Clang...!*"; next; mes "[Meltz]"; 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~"; delitem 512,3; delitem 713,1; getitem 531,1; close; s_Material: mes "[Meltz]"; 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; } airplane.gat,33,69,4 script Kaci 73,{ end; OnLose: emotion e_wah; end; OnWin: emotion e_no1; end; } airplane.gat,80,71,4 script Zerta 834,{ mes "[Zerta]"; mes "Oh, hello adventurer."; mes "I am currently on a"; mes "sacred journey, offering"; mes "prayer for the sake of the"; mes "Rune-Midgard continent."; close; } airplane.gat,65,63,4 script Maelin 714,{ mes "[Maelin]"; mes "Um, this Airship is"; mes "to Lutie, isn't it? I've"; mes "been waiting so long,"; mes "but I haven't heard any"; mes "broadcast about Lutie."; close; } //============================================================ //= The Airship System (Yuno -> Izlude -> Repeat) //============================================================ airplane_01.gat,243,74,4 script #AirshipWarp-3 45,2,2{ OnTouch: if($airplanelocation2 == 1)warp "izlude.gat",202,56; if($airplanelocation2 == 2)warp "yuno.gat",20,265; end; OnHide: misceffect 16; end; OnUnhide: misceffect 215; end; } airplane_01.gat,243,29,4 script #AirshipWarp-4 45,2,2{ OnTouch: if($airplanelocation2 == 1)warp "izlude.gat",202,56; if($airplanelocation2 == 2)warp "yuno.gat",20,265; OnHide: misceffect 16; end; OnUnhide: misceffect 215; end; } airplane_01.gat,1,1,0 script YunoIzl_Airship -1,{ OnInit: while(1) { initnpctimer; setnpctimer 0; set $airplanelocation2,0; donpcevent "#AirshipWarp-3::OnHide"; donpcevent "#AirshipWarp-4::OnHide"; disablenpc "#AirshipWarp-3"; disablenpc "#AirshipWarp-4"; mapannounce "airplane_01.gat","The Airship is leaving the ground. Our next destination is Izlude.",1,0x00FF00; end; OnTimer15000: mapannounce "airplane_01.gat","We are heading to Izlude.",1,0x00FF00; end; OnTimer30000: mapannounce "airplane_01.gat","We will arrive in Izlude shortly.",1,0x00FF00; end; OnTimer45000: set $airplanelocation2,1; enablenpc "#AirshipWarp-3"; enablenpc "#AirshipWarp-4"; donpcevent "#AirshipWarp-3::OnUnhide"; donpcevent "#AirshipWarp-4::OnUnhide"; mapannounce "airplane_01.gat","Welcome to Izlude. Have a safe trip.",1,0x00FF00; end; OnTimer55000: mapannounce "airplane_01.gat","Currently we are in Izlude. The Airship will leave shortly.",1,0x00FF00; end; OnTimer65000: set $airplanelocation2,0; donpcevent "#AirshipWarp-3::OnHide"; donpcevent "#AirshipWarp-4::OnHide"; disablenpc "#AirshipWarp-3"; disablenpc "#AirshipWarp-4"; mapannounce "airplane_01.gat","The Airship is leaving the ground. Our next destination is Yuno.",1,0x70DBDB; end; OnTimer80000: mapannounce "airplane_01.gat","We are heading to Yuno.",1,0x70DBDB; end; OnTimer95000: mapannounce "airplane_01.gat","We will arrive in Yuno shortly.",1,0x70DBDB; end; OnTimer110000: set $airplanelocation2,2; enablenpc "#AirshipWarp-3"; enablenpc "#AirshipWarp-4"; donpcevent "#AirshipWarp-3::OnUnhide"; donpcevent "#AirshipWarp-4::OnUnhide"; mapannounce "airplane_01.gat","Welcome to Yuno. Have a safe trip.",1,0x70DBDB; end; OnTimer120000: mapannounce "airplane_01.gat","Currently we are in Yuno. The Airship will take off shortly.",1,0x70DBDB; end; OnTimer130000: stoptimer; } } //============================================================ //= Some normal NPCS (airplane_01.gat) //============================================================ airplane_01.gat,240,64,5 duplicate(Exit) Exit 857 airplane_01.gat,247,64,5 duplicate(Exit) Exit 857 airplane_01.gat,240,39,1 duplicate(Exit) Exit 857 airplane_01.gat,247,39,1 duplicate(Exit) Exit 857 airplane_01.gat,100,69,2 duplicate(Airship Crew) Airship Crew 852 airplane_01.gat,250,59,3 duplicate(AirshipInfo) Airship Staff 67 airplane_01.gat,50,66,4 duplicate(AirshipApples) Meltz 86 airplane_01.gat,83,61,2 script Girl 72,{ mes "[Dianne]"; mes "It's so weird!"; mes "I went to visit the"; mes "Airship Captain and"; mes "all I saw was this"; mes "weird reindeer. Oh!"; mes "Do you think that..."; close; } airplane_01.gat,69,63,2 script Old Man 55,{ mes "[Mendel]"; mes "As I expected, the"; mes "in-flight meals are"; mes "three star quality at best."; mes "^111111*Harrrumph*^000000 I really should"; mes "have brought my chef so that"; mes "I could enjoy a real meal."; close; } //============================================================ //= The Izlude Airship Staff //============================================================ izlude.gat,201,54,3 script Airship Staff#izl 91,{ mes "[Airship Staff]"; mes "Welcome to the Izlude Airship."; mes "How may I help you?"; next; menu "Board the Airship",-,"Cancel",L_Cancel; 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; menu "Yes",-,"No",L_Cancel; if(countitem(7311) > 0) goto L_GotTicket; if(Zeny < 1200) goto L_NoZeny; set Zeny, Zeny - 1200; warp "airplane_01.gat",224,64; close; L_GotTicket: delitem 7311,1; warp "airplane_01.gat",224,64; close; L_NoZeny: mes "[Airship Staff]"; mes "You don't have enough zeny."; close; L_Cancel: mes "[Airship Staff]"; mes "Thank you and"; mes "have a nice day."; close; } //============================================================ //= The Hugel Airship Staff //============================================================ hugel.gat,182,150,3 script Airship Staff#hu 91,{ mes "[Airship Staff]"; mes "Welcome to the Schwartzwald Republic's Airship."; mes "How may I help you?"; next; menu "Board the Airship",-,"Cancel",L_Cancel; 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; menu "Yes",-,"No",L_Cancel; if(countitem(7311) > 0) goto L_GotTicket; if(Zeny < 1200) goto L_NoZeny; set Zeny, Zeny - 1200; warp "airplane.gat",224,64; close; L_GotTicket: delitem 7311,1; warp "airplane.gat",224,64; close; L_NoZeny: mes "[Airship Staff]"; mes "You don't have enough zeny."; close; L_Cancel: mes "[Airship Staff]"; mes "Thank you and"; mes "have a nice day."; close; } //============================================================ //= Yuno Airport NPCs //============================================================ y_airport.gat,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; menu "Yes.",s_Warp,"No.",-; mes "[Airship Staff]"; mes "Thank you and"; mes "have a nice day."; close; s_Warp: mes "[Airship Staff]"; mes "Thank you and"; mes "have a nice day."; close2; warp "yuno.gat",57,240; end; } y_airport.gat,141,63,4 script Airport Staff#Izl 91,{ mes "[Airship Staff]"; mes "Good day!"; mes "Would you like to go"; mes "to ^FF0000Izlude^000000?"; next; menu "Yes.",s_Warp,"No.",-; mes "[Airship Staff]"; mes "Thank you and"; mes "have a nice day."; close; s_Warp: mes "[Airship Staff]"; mes "Thank you and"; mes "have a nice day."; close2; warp "yuno.gat",50,240; end; }