diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
commit | a7c45a192268da2601cef47a4cdba987ae2327ca (patch) | |
tree | c5fb5b97db109fe7106496dd96498c475881046b /npc/000-0 | |
download | serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2 serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip |
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/000-0')
-rw-r--r-- | npc/000-0/_import.txt | 4 | ||||
-rw-r--r-- | npc/000-0/mapflags.txt | 2 | ||||
-rw-r--r-- | npc/000-0/sailors.txt | 282 |
3 files changed, 288 insertions, 0 deletions
diff --git a/npc/000-0/_import.txt b/npc/000-0/_import.txt new file mode 100644 index 0000000..d2f0652 --- /dev/null +++ b/npc/000-0/_import.txt @@ -0,0 +1,4 @@ +// Map 000-0: Ocean +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/000-0/mapflags.txt", +"npc/000-0/sailors.txt", diff --git a/npc/000-0/mapflags.txt b/npc/000-0/mapflags.txt new file mode 100644 index 0000000..9b55f66 --- /dev/null +++ b/npc/000-0/mapflags.txt @@ -0,0 +1,2 @@ +000-0 mapflag invisible +000-1 mapflag invisible diff --git a/npc/000-0/sailors.txt b/npc/000-0/sailors.txt new file mode 100644 index 0000000..65d06a7 --- /dev/null +++ b/npc/000-0/sailors.txt @@ -0,0 +1,282 @@ +// TMW2 Script +// Modified by Jesusalva + +// Evol scripts. +// Authors: +// 4144 +// Qwerty Dragon +// Reid +// Vasily_Makarov +// Jesusalva +// Description: +// Starting script of Evol Online, modified for TMW2. +// Translation: +// FR Translated + +000-0,23,19,0 script Sailors NPC_SAILORS,6,6,{ + +OnTouch: + .@q=getq(General_Narrator); + if (.@q) + end; + + //checkclientversion; + .@lang = requestlang(); + if (.@lang >= 0 && .@lang <= MAX_LANG) Lang = .@lang; + + showavatar 3; + if ($EVENT$ == "Steam") goto L_FiresOfSteam; + + mesn "Narrator"; + mesc l("You open your eyes. The remants of the salt water in your eyes is not particularly helping you see."); + mesc l("(Click next button to advance dialogs)"), 3; + next; + mesc l("What in the world is happening?! Where in Jesusalva's name are you?!"); + next; + if (getvaultid()) { + mesc l("Sometimes, you really wish you could visit new universes without having to pick some sort of role on it."); + next; + } + mesc l("Actually. Who are you again? A headache which doesn't want to pass strikes you."); + mesc l("You can hear creaking planks and a sail flapping in the storm. A ship?"); + mesc l("You hear shouting directed at you. Sailors from the ship?"); + next; + + showavatar NPC_ORC_MAN; + setcamnpc "Sailors", -64, -32; + mesn l("Orc Voice"); + mesq lg("Hey kid! Can you hear me?"); + next; + + showavatar NPC_SILVIO; + setcamnpc "Sailors", 0, -32; + mesn l("Human Voice"); + mesq lg("Hear you? How do you even know she can understand you?!", "Hear you? How do you even know he can understand you?!"); + next; + + showavatar NPC_TRITAN_MAN_SAILOR; + setcamnpc "Sailors", 144, -80; + mesn l("Tritan Voice"); + mesq l("We speak various languages on this world. Let's try gesturing!"); + mesq l("Hey, you on the dune! Can you hear us?!"); + next; + restorecam; + + asklanguage(LANG_ON_SEA); + + showavatar NPC_SAILORS; + setcamnpc; + mes ""; + mesn; + mesq lg("Oh, she's still alive!", "Oh, he's still alive!"); + next; + showavatar NPC_TRITAN_MAN_SAILOR; + setcamnpc "Sailors", 144, -80; + mesq lg("This girl needs help, we need to rescue her!", "This boy needs help, we need to rescue him!"); + next; + mesn; + mesc l("This is a menu. You can click on the desired option and press \"Send\", and double-clicking should work, too."); + mes ""; + select + l("I don't need to be rescued. I'm enjoying myself here."), + l("Thanks... I guess..."), + l("(Don't respond)"); + mes ""; + + if (@menu == 1) { + mesn l("Sailor"); + mesq l("What do you mean? Do you at least have a rowboat with you?!"); + next; + mesn l("Billy Bons"); + // Dying of thirst will set in waaaay sooner than dying of hunger. + mesq l("We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!"); + next; + } else if (@menu == 2) { + mes ""; // You don't need to thank us! + } else { + mesn l("Sailor"); + mesq lg("Oh noes! She fainted! Quick, rescue her!!", "Oh noes! He fainted! Quick, rescue him!!"); + next; + } + restorecam; + + showavatar; + mesn "Narrator"; + mesc l("The sailors take you aboard their ship."); + mesc l("Click on the NPCs (Non-Player Characters) around you to continue the introduction."); + next; + + addtimer(20000,"Elmo#sailors::OnSlow"); + warp "000-0-0", 30, 36; + + closedialog; + close; + +L_FiresOfSteam: + dispbottom l("Welcome to Moubootaur Legends: ##1Fires of Steam##0"); + warp "000-0-1", 26, 28; + sleep2(25); + atcommand("@refresh"); + asklanguage(LANG_ON_SEA); + clear; + mesn "Narrator"; + mesc l("You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?"); + next; + mesn "Narrator"; + mesc l("Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship."); + next; + mesn "Narrator"; + mesc l("Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive."); + next; + mesn "Narrator"; + mesc l("They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there."); + next; + mesn "Narrator"; + mesc l("Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis."); + next; + clear; + mesc l("Moubootaur Legends presents..."), 3; + mes ""; + mesc b(l(" Fires of Steam ")), 1; + mesc l("- The Death of Andrei Sakar -"), 1; + mes ""; + mesc l("An event to prepare for the Steam Release"), 2; + mes ""; + next; + mes ""; + mes ""; + mesn strcharinfo(0); + mesq l("We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay..."); + next; + clear; + GameRules(8 | 4); + clear; + closeclientdialog; +OnForceReset: + freeloop(true); + while (BaseLevel < 80) + getexp NextBaseExp, 100; + freeloop(false); + setq ShipQuests_Arpan, 5; + setq General_Narrator, 21; + consoleinfo "New account: %d (%s)", getcharid(3), getcharip(); + if (array_find($@IPBLIST$, getcharip()) >= 0) + #TUTORIAL_DONE=true; + else + array_push($@IPBLIST$, getcharip()); + if (!#TUTORIAL_DONE) { + .@acc=any(Mustache, Beard, HeartGlasses, Sunglasses, EyePatch, Shemagh, Monocle, Googles, BurglarMask, BanditMask, Shemagh); + .@ac2=any(OldTowel, SantaGlobe, RedStocking, LeatherBall, Doll, ZarkorScroll, ThetaBook, AshUrn, RubberDucky, DragonStar, BronzeQuiver, AstralCube, PlushMouboo, PlushMouboo, GraduationAlbum); + .@hat=any(TopHat, CaptainHat, SmileyCap, BowlerHat, DesertHat, PirateBandana, KnitHat, RightEyePatch, AntlersHat, BunnyEars, AxeHat, PaperBag, ShroomHat, AFKCap, BrimmedFeatherHat, CatEars, Earmuffs, CorsairHat, SailorHat, ChefHat, SkullMask, LeprechaunHat, PrsmHelmet, ImperialCrown, ClericCap); + .@ha2=any(DarkKnightHelmet, VikingHelmet, TerraniteMask, CenturionHelmet, ChemistHelmet, BullHelmet, DarkHelm, SamuraiHelmet, SamuraiHelmet); + .@che=any(RedknightArmor, AssassinChest, SaviorArmor, TerraniteArmor, GraduationRobe, GoldenWarlordPlate, RedknightArmor); + .@pan=any(JeansChaps, LeatherTrousers, AssassinPants, TerranitePants, BromenalPants, ChainmailSkirt, AssassinPants, ChainmailSkirt, AssassinPants); + .@sho=any(DeepBlackBoots, HeliosBoots, WizardMoccasins, WarlordBoots, TerraniteBoots, AssassinBoots, WitchBoots, RedStockings, DeepBlackBoots, DeepBlackBoots); + .@nec=any(BarbarianAmulet, GoldenFourLeafAmulet, PlatinumFourLeafAmulet, BarbarianMasterAmulet, MoubooPendant, LifestonePendant, AlvasusPendant, ToothNecklace); + .@rin=any(GoldenPearlRing, GoldenBlackPearlRing); + .@glo=any(WarlordGloves, AssassinGloves, TerraniteGloves, ManaGloves, SarabArmlet, LeatherGloves, MinerGloves); + .@shi=any(EnchantedHerbBag, RentCart, Barrel, MasterBola, PiouBola, AncientShield, BlueKnightShield, SteelShield, DragonShield, SnakeBola); + .@wpn=any(Setzer, Kitana, Lightsaber, BoneKnife, AncientSword, LongSword, RockKnife, DivineSword, CentaurSpear, Zambacutou, CursedScythe, Halberd, PynRifle, PynGatling, PynShotgun, PynRevolver, Dustynator, ChampionshipBow, BansheeBow, LeaderWand, ImmortalSword, MysticWand, ChampionshipBow, BansheeBow, LeaderWand, MysticWand); + .@bon=any(Pickaxe, Kanabo, ElficBow, Judgement, ThunderStaff, ReinbooWand, DarkPulsar, Skypiercer, IceGladius, RealBronzeGladius, PurpleBola, KidBola, SilkGloves, ClawPendant, Boots, LuffyxSummerShorts, UglyChristmasSweater, MinerTankTop, ContributorSweater, LinarianSoul, TuxSoul, DeliciousCookie, DarkEggshellHat, Wreath); + .@pet=any(PiouEgg, BhopEgg, MaggotCocoon, DoggyDog, CattyCat, BlackyCat, Ratte, ForestShroomEgg, FluffyEgg, DuckEgg, BatEgg, MoggunEgg, PinkieCrystal, DragonHorn, TamedSnakeEgg); + getitem .@acc, 1; + getitem .@ac2, 1; + getitem .@hat, 1; + getitem .@ha2, 1; + getitem .@che, 1; + getitem .@pan, 1; + getitem .@sho, 1; + getitem .@nec, 1; + getitem .@rin, 1; + getitem .@glo, 1; + getitem .@shi, 1; + getitem .@wpn, 1; + getitem .@bon, 1; + getitem .@pet, 1; + equip(.@acc); + equip(.@ac2); + equip(.@hat); + equip(.@ha2); + equip(.@che); + equip(.@pan); + equip(.@nec); + equip(.@rin); + equip(.@glo); + equip(.@shi); + equip(.@wpn); + Zeny+=rand2(10000, 60000); + } + adddefaultskills(); + sk_lvup(AL_DP); + sk_lvup(AL_DP); + sk_lvup(AL_DP); + sk_lvup(AL_DP); + sk_lvup(AL_DP); + sk_lvup(AL_DP); + sk_lvup(AL_DP); + sk_lvup(TMW2_TRANSMIGRATION); + sk_lvup(AM_REST); + sk_lvup(AM_RESURRECTHOMUN); + sk_lvup(AM_CALLHOMUN); + sk_lvup(TMW2_CRAFT); + sk_lvup(TMW2_CRAFT); + sk_lvup(TMW2_CRAFT); + sk_lvup(TMW2_CRAFT); + sk_lvup(TMW2_CRAFT); + sk_lvup(TMW2_ANCIENTLANGUAGES); + sk_lvup(TMW2_MANABOMB); + sk_lvup(TMW2_GROUNDSTRIKE); + sk_lvup(TMW2_NAPALMBEAT); + sk_lvup(TMW2_ARROWSHOWER); + sk_lvup(any(ALL_INCCARRY, TF_STEAL, MC_VENDING, MC_DISCOUNT, MC_OVERCHARGE)); + sk_lvup(any(AC_OWL, SA_DRAGONOLOGY, TMW2_SAGE, CR_TRUST, SM_PROVOKE, ALL_FULL_THROTTLE, SA_FREECAST, TF_BACKSLIDING, NV_TRICKDEAD, MG_FIREWALL, SO_FIREWALK, GC_DARKILLUSION)); + sk_lvup(any(AC_OWL, SA_DRAGONOLOGY, TMW2_SAGE, CR_TRUST, SM_PROVOKE, ALL_FULL_THROTTLE, SA_FREECAST, TF_BACKSLIDING, NV_TRICKDEAD, MG_FIREWALL, SO_FIREWALK, GC_DARKILLUSION)); + sk_lvup(any(TMW2_KALMURK, TMW2_DRAGOKIN, TMW2_LIMERIZER, TMW2_HALHISS)); + sk_lvup(any(TMW2_KALWULF, TMW2_FAIRYKINGDOM, TMW2_FROZENHEART, TMW2_STONEHEART)); + sk_lvup(any(TMW2_KALBOO, TMW2_KALSPIKE, TMW2_CUTEHEART, TMW2_PLANTKINGDOM, TMW2_FAIRYEMPIRE)); + sk_lvup(any(TMW2_FIRSTAID, TMW2_HEALING, TMW2_MAGNUSHEAL, EVOL_AREA_PROVOKE)); + sk_lvup(any(TMW2_FIRSTAID, TMW2_HEALING, TMW2_MAGNUSHEAL, EVOL_AREA_PROVOKE)); + sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW)); + sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW)); + sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW)); + sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, TMW2_SUPREMEATTACK, SN_SHARPSHOOTING)); + sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, TMW2_SUPREMEATTACK, SN_SHARPSHOOTING)); + sk_lvup(any(TMW2_NILFHEIM, TMW2_JUDGMENT, TMW2_TEMPEST, TMW2_GAIABREAK, TMW2_ARMAGEDDON, TMW2_ALLINONE, TMW2_GROUNDSTRIKE, TMW2_ARROWSHOWER, SN_WINDWALK)); + sk_lvup(any(TMW2_GDP_MAXPOWER, TMW2_GDP_SPREGEN)); + getitembound GuildCoin, rand2(500), 4; + getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4; + getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4; + getitembound any(SacredBullet, EvilBullet), 400, 4; + getitembound any(ThornArrow, PoisonArrow, CursedArrow), 400, 4; + getitembound DeathPenalty, rand2(18), 4; + getitembound ScentGrenade, rand2(4), 4; + getitembound InsuranceContract, 1, 4; + getitembound Wurtzite, 6, 4; + getitembound MercCard_AndreiSakar, 1, 4; + getitembound RecipeBook, 1, 1; + getitembound Bread, 10, 4; + percentheal 100,100; + LOCATION$ = "Artis"; + TUT_VAR=gettimetick(2); + #TUTORIAL_DONE=true; + #REG_DATE=gettimetick(2); + TUTORIAL=true; + CRAFTQUEST=true; + MPQUEST=true; + MAGIC_LVL=7; + savepoint "029-0", 202, 85; + if (!@forcereset) + warp "029-0", 202, 85; + close; + +OnForceReset2: + logmes(sprintf("%s - Reset Forced by System Admin", getcharid(3))); + #TUTORIAL_DONE=false; + @forcereset=true; + goto OnForceReset; + +OnInit: + .sex = G_MALE; + bindatcmd "sakarfr", "Sailors::OnForceReset2", 100, 99, 1; + end; +} |