diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2011-06-18 21:58:47 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2011-06-19 14:19:55 -0700 |
commit | bae4b92e560c2694eaaf0e8b4d9e95e56204471b (patch) | |
tree | 4acc120f6a94cfbf9694bf344658493de5aaa67b /world/map/npc/042-2 | |
parent | 319f80526f8585ecadaec986e37c9bd326f4d363 (diff) | |
download | serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.gz serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.bz2 serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.xz serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.zip |
Move to a subdirectory
Diffstat (limited to 'world/map/npc/042-2')
-rw-r--r-- | world/map/npc/042-2/_import.txt | 8 | ||||
-rw-r--r-- | world/map/npc/042-2/_mobs.txt | 8 | ||||
-rw-r--r-- | world/map/npc/042-2/_warps.txt | 6 | ||||
-rw-r--r-- | world/map/npc/042-2/mapflags.txt | 1 | ||||
-rw-r--r-- | world/map/npc/042-2/sorfina.txt | 289 | ||||
-rw-r--r-- | world/map/npc/042-2/tanisha.txt | 275 |
6 files changed, 587 insertions, 0 deletions
diff --git a/world/map/npc/042-2/_import.txt b/world/map/npc/042-2/_import.txt new file mode 100644 index 00000000..604c82cd --- /dev/null +++ b/world/map/npc/042-2/_import.txt @@ -0,0 +1,8 @@ +// Map 042-2: +// This file is generated automatically. All manually changes will be removed when running the Converter. +map: 042-2.gat +npc: npc/042-2/_mobs.txt +npc: npc/042-2/_warps.txt +npc: npc/042-2/mapflags.txt +npc: npc/042-2/sorfina.txt +npc: npc/042-2/tanisha.txt diff --git a/world/map/npc/042-2/_mobs.txt b/world/map/npc/042-2/_mobs.txt new file mode 100644 index 00000000..3a980e8f --- /dev/null +++ b/world/map/npc/042-2/_mobs.txt @@ -0,0 +1,8 @@ +// This file is generated automatically. All manually changes will be removed when running the Converter. +// mobs + + + +042-2.gat,0,0,0 script Mob042-2 -1,{ + end; +} diff --git a/world/map/npc/042-2/_warps.txt b/world/map/npc/042-2/_warps.txt new file mode 100644 index 00000000..8b3c666c --- /dev/null +++ b/world/map/npc/042-2/_warps.txt @@ -0,0 +1,6 @@ +// This file is generated automatically. All manually changes will be removed when running the Converter. +// warps + +042-2.gat,29,62 warp toOutside -1,-1,042-1.gat,62,64 +042-2.gat,22,93 warp toOutside -1,-1,042-1.gat,77,78 +042-2.gat,44,93 warp toOutside -1,-1,042-1.gat,87,78 diff --git a/world/map/npc/042-2/mapflags.txt b/world/map/npc/042-2/mapflags.txt new file mode 100644 index 00000000..c9f5cc23 --- /dev/null +++ b/world/map/npc/042-2/mapflags.txt @@ -0,0 +1 @@ +042-2.gat mapflag nosave 042-2,26,26; diff --git a/world/map/npc/042-2/sorfina.txt b/world/map/npc/042-2/sorfina.txt new file mode 100644 index 00000000..53596b32 --- /dev/null +++ b/world/map/npc/042-2/sorfina.txt @@ -0,0 +1,289 @@ +// This file is part of the Tutorial +// Author: Jenalya + +042-2.gat,28,26,0 script Sorfina 154,4,4{ + + if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Again; + if (sorfina == 4) goto L_Again; + if (sorfina == 3) goto L_Clothes; + if (sorfina == 2) goto L_Chest; + if (sorfina == 1) goto L_Carpet; + + callfunc "GameRules"; +L_Start: + mes "You open your eyes."; + mes ""; + mes "[Old Woman]"; + mes "\"Ah, you woke up. It seems you collapsed after you left the boat that brought you to Tulimshar."; + mes "A group of ragtags immediately took advantage of that and stole all your stuff!\""; + next; + mes "\"My little granddaughter Tanisha saw that, but couldn't do anything to stop them."; + mes "She hurried to get someone to help. It was too late to catch the thieves, but at least the helpers brought you here to recover.\""; + next; + mes "\"We're in the suburbs of Tulimshar here and this area of the town is full of shady people, so I don't think there's a chance to get your stuff back.\""; + mes "She has a sad look on her face, but then she shakes her head and smiles."; + next; + mes "[Old Woman]"; + mes "\"Did you come here to look for a job? Many young people come to Tulimshar for this reason.\""; + next; + mes "\"I can tell you some useful things, if you want to hear."; + mes "Oh, and by the way my name is Sorfina.\""; + next; + menu + "That would be great!",L_Tut, + "No, thanks. I already know how things are going.",L_SkipTut; + +L_Tut: + mes "[Server]"; + mes "The explanations in this tutorial are based on the official client version 0.5.2"; + mes "If you're using another client, settings and controls may be different."; + next; + mes "She smiles at you."; + mes "[Sorfina]"; + mes "\"A wise decision.\""; + next; + mes "\"You still look rather shaky."; + mes "You're not used to the hot weather, right?\""; + next; +L_Carpet: + mes "\"Try to take a few steps and walk to that red carpet over there."; + mes "Just use the arrow keys or click on the place you want to go to.\""; + if (!sorfina) + set sorfina, 1; + close; + +L_Chest: + mes "[Sorfina]"; + mes "\"In that chest there is a shirt you can have.\""; + next; + mes "\"To interact with things in your environment or talk to NPCs you can either click on it or press N to focus and T to talk/activate.\""; + next; + mes "\"Now get the shirt out of the chest.\""; + close; + +L_Naked: + mes "\"Press F3 or click on the Inventory button in the bar at the upper right corner to open your bag.\""; + next; + mes "\"Once we stop talking, click on the shirt and press the equip button.\""; + next; + mes "\"Talk to me again after you get dressed. You can either click on me, or press N to focus on me and T to talk.\""; + close; + +L_Clothes: + if (getequipid(equip_torso) < 0) goto L_Naked; + mes "[Sorfina]"; + mes "\"That's much better, don't you think?\""; + next; + mes "\"I think this will help you a bit. To get more informations, press the button Setup and look at the controls on the Keyboard tab. You can also change them as you like."; + mes "Talk to me again if you want me to explain more things.\""; + next; + mes "\"Now you should go to see my granddaughter, she is very worried. She's in the storehouse, that's the second building southeast from here.\""; + next; + mes "\"Oh, and if you're looking for work, you should talk to Aidan when you go to Tulimshar. They're giving rewards for monster hunting."; + mes "You can find him near the south gate. Good luck.\""; + set sorfina, 4; + close; + +L_Again: + mes "[Sorfina]"; + mes "\"Make yourself at home! Do you have any questions?\""; + next; + if (hasan) + menu + "A guy named Hasan won't let me enter Tulimshar.",L_Hasan, + "Yes, could you explain again about...",L_Explain, + "No, thanks.",L_Close; + menu + "Yes, could you explain about...",L_Explain, + "No, thanks.",L_Close; + close; + +L_Explain: + menu + "... walking?",L_Walk, + "... talking?",L_Talk, + "... the inventory and items?",L_Items, + "... shortcuts?",L_Shortcut, + "... what to do in Tulimshar?",L_Aidan, + "... nevermind.",L_Close; + close; + +L_Walk: + mes "[Sorfina]"; + mes "\"You can use the arrow keys to walk around."; + mes "Or just click on the place you want to go to."; + mes "But this only works if that place is reachable and walkable.\""; + close; + +L_Talk: + mes "[Sorfina]"; + mes "\"If you want to talk to a normal person, you can click at him or her."; + mes "Or you can press N to focus on the nearest person and then press T to talk.\""; + next; + mes "\"If you want to talk to other adventurers, press Enter to open your chat window."; + mes "Then type your message and press Enter to send.\""; + next; + mes "\"You may want to talk privately to another adventurer sometimes. In that case you can whisper."; + mes "After pressing Enter type '/whisper [name] [message]'."; + mes "Or you can right click on someone and choose the whisper option.\""; + next; + mes "\"Press F7 to show and hide your chat window.\""; + close; + +L_Items: + mes "[Sorfina]"; + mes "\"There are three types of items."; + mes "They can be Consumables, Equipment or Miscellaneous.\""; + next; + mes "\"Consumable items such as Potions, can be used only once."; + mes "After use, they will disappear from your inventory."; + mes "There are some rare items that can be used but don't get consumed."; + next; + mes "\"Equipment items like Armors, Weapons, Accessories can be equipped for fashionable purposes or to raise your status.\""; + next; + mes "\"Miscellaneous items such as maggot slime, can be used in creating other items, or just to trade and sell.\""; + next; + mes "\"Press F3 to open your inventory."; + mes "When placing your cursor over an item there, you can see a box with some informations about that item.\""; + next; + mes "\"To use or equip an item, select it by clicking on it."; + mes "Then press Use or Equip.\""; + close; + +L_Shortcut: + mes "[Sorfina]"; + mes "\"Press F8 or click the Shortcut button in the bar at the upper right to open your shortcut window.\""; + next; + mes "\"You can select the item you want to put on a shortcut with your mouse and then click on the position in the shortcut window you want to place it.\""; + next; + mes "\"Now you can use or equip/unequip it by pressing the number of the shortcut.\""; + close; + +L_Aidan: + mes "[Sorfina]"; + mes "\"I suggest to go to the bazaar near the south gate."; + mes "We're in the north of Tulimshar here, so you have to walk across the town.\""; + next; + mes "\"When you leave this area to the Southeast, you'll come to the docks."; + mes "Follow the street to the south to pass the old town gates.\""; + next; + mes "\"Turn West at the next intersection. You'll pass by the gates of Tulimshar's famos magic school there."; + mes "Just follow the street to the south and you'll reach the bazaar.\""; + next; + mes "\"I heard Aidan is looking for brave adventurers, you might want to talk to him."; + mes "Usually the bazaar is bustling with activity, there are many people who can help. "; + mes "Talk to everybody. You can never tell when they might know something useful.\""; + close; + +L_Hasan: + mes "[Sorfina]"; + mes "\"Ah, Hasan. He's causing trouble again?\""; + mes "She shakes her head."; + next; + mes "[Sorfina]"; + mes "\This guy has been a plague ever since he could walk. He's always causing trouble.\""; + next; + mes "\"And his father... Well, one day his father thought he should teach Hasan a lesson.\""; + next; + mes "\"He took him into the desert and then left him there!"; + mes "Hasan was only seven years old!\""; + next; + mes "\"I never understood how someone could do something like that to a child, even if it's a rascal like Hasan.\""; + next; + mes "\"Anyway, Hasan tried to find his way back home, but stumbled into a nest of scorpions!\""; + mes "She shakes her head."; + next; + mes "\"If Valon hadn't have come along that moment, Hasan would have died that day.\""; + next; + mes "\"However, the scorpions poison caused a bad fever and once Hasan had recovered from that, he was even more malicious than before.\""; + mes "She sighs."; + if (hasan == 1) + set hasan, 2; + close; + +L_SkipTut: + mes "[Sorfina]"; + mes "\"Really? You seem quite unexperienced. Listening to some advice won't hurt.\""; + next; + menu + "Thinking about it twice... please tell me.",L_Tut, + "Yeah, but thanks for the offer. Bye.",-; + mes "[Sorfina]"; + mes "\"Alright, if you say so. But take at least this."; + set hasan, 0; + set kaan, 0; + set sorfina, 0; + set tanisha, 0; + set maggot, 0; + set FLAGS, FLAGS | FLAG_TUTORIAL_DONE; + getitem "Knife", 1; + getitem "CottonShirt", 1; + mes "Good luck.\""; + close; + +L_Close: + close; + +OnTouch: + if (TUT_var != 0) close; + callfunc "GameRules"; + goto L_Start; + close; +} + +042-2.gat,33,27,0 script #Carpet 45,1,1{ + end; +OnTouch: + if (sorfina != 1) + end; + mes "[Sorfina]"; + mes "\"Very good! I'm glad you're recovering."; + mes "Now you should get dressed again.\""; + next; + mes "Sorfina unlocks the chest behind her."; + next; + mes "[Sorfina]"; + mes "\"In that chest there is a shirt you can have.\""; + next; + mes "\"To interact with things in your environment or talk to NPCs you can either click on it or press N to focus and T to talk/activate.\""; + next; + mes "\"Now get the shirt out of the chest.\""; + set sorfina, 2; + close; +} + +042-2.gat,27,23,0 script Chest 111,{ + + if (sorfina > 2) goto L_Empty; + if (sorfina == 2) goto L_Shirt; + + mes "The chest is locked."; + close; +L_Shirt: + mes "You take a simple Cotton Shirt out of the chest."; + getitem "CottonShirt", 1; + next; + mes "[Sorfina]"; + mes "\"Great! Now you can equip it.\""; + next; + mes "\"You can open your inventory by pressing F3 or clicking on the 'Inventory' button in the bar at the upper right corner.\""; + next; + mes "\"After we finish talking, click on the shirt and press the equip button.\""; + set sorfina, 3; + close; + +L_Empty: + mes "The chest is empty."; + close; +} + +042-2.gat,44,31,0 script #DoorOut 45,0,0{ + end; +OnTouch: + if ((sorfina < 4) && !(FLAGS & FLAG_TUTORIAL_DONE)) goto L_Block; + warp "042-1.gat", 37, 57; + end; +L_Block: + message strcharinfo(0), "Sorfina: Wait a moment! You're not ready to leave."; + end; +} diff --git a/world/map/npc/042-2/tanisha.txt b/world/map/npc/042-2/tanisha.txt new file mode 100644 index 00000000..3ed5c6bc --- /dev/null +++ b/world/map/npc/042-2/tanisha.txt @@ -0,0 +1,275 @@ +// This file is part of the Tutorial +// Authors: Jenalya, alastrim + +042-2.gat,37,90,0 script Tanisha 114,{ + + set @playerlimit, 4; + + if ((getx(0) > 29) && (getx(0) < 37) && (gety(0) > 84) && (gety(0) < 90)) goto L_Fighting; + + if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done; + if (tanisha == 4) goto L_Again; + if (tanisha == 3) goto L_Stats; + if (tanisha == 2) goto L_Fail; + if (tanisha == 1) goto L_Maggots; + + mes "[Tanisha]"; + mes "\"Hey! You're up again!\""; + emotion 3; + next; + mes "\"Are you feeling better?\""; + next; + menu + "Yes, thank you.",-, + "Yeah, but all my stuff is gone.",-; + mes "[Tanisha]"; + mes "\"I'm glad you're feeling better. It was really bad luck what happened to you."; + mes "Hey, I have an idea.\""; + next; +L_Maggots: + set tanisha, 1; + mes "\"There are some maggots eating the goods and I'm supposed to get rid of them."; + mes "But they're so yucky!\""; + next; + mes "\"If you kill them, I'll give you my knife."; + mes "What do you say?\""; + next; + menu + "Sure!",-, + "That's your job.",L_Close; + mes "[Tanisha]"; + mes "\"Wonderful!\""; + if ($@TUT_MAGGOT >= @playerlimit) + goto L_Crowded; + set $@TUT_MAGGOT, $@TUT_MAGGOT + 1; + getitem "Knife", 1; + next; +L_Fight_Again: + mes "\"Ok, listen what to do."; + mes "Equip the knife and kill the maggots.\""; + next; + mes "\"Press A to focus on a monster. With X you can focus and start attacking the same time."; + mes "But it also works to click on the monster with your mouse.\""; + next; + mes "\"If you press the left Shift button, you can abort your attack.\""; + next; + mes "\"Maggots aren't aggressive, so they won't harm you until you attack them first. Take them out one by one.\""; + next; + mes "\"Sometimes dead monsters leave some useful things. You can pick them up by pressing Z or clicking on the items with your mouse.\""; + set tanisha, 2; + set @maggot, 0; + set @time, 0; + close2; + warp "042-2.gat", 33, 87; + +L_Summon: + monster "042-2.gat", getx(0), gety(0), "", 1002, 1, "Tanisha::onMaggotDeath"; + startnpctimer; + end; + +L_Stats: + mes "[Tanisha]"; + mes "\"That was great! Like a professional exterminator!\""; + next; + mes "\"And it seems you became stronger and more experienced."; + mes "That means you got some status points which you can use to increase your abilities.\""; + next; + mes "\"Press F2 or click the Status button in the bar at the upper right to see your status window. There you can distribute your points on six different properties.\""; + next; +L_StatsRe: + mes "\"Strength makes you hit harder and you can carry more weight.\""; + next; + mes "\"Agility increases your attack speed and your ability to dodge attacks.\""; + next; + mes "\"Vitality gives you more hit points and more defense against physical attacks.\""; + next; + mes "\"Intelligence is useful for magic attack and defense.\""; + next; + mes "\"Dexterity is needed to hit monsters. It's also very important for the damage if you use a ranged weapon.\""; + next; + mes "\"Luck gives you the chance to do critical hits and lowers the chance to receive a critical hit from your opponent.\""; + next; + mes "\"Think about how you want to play before assigning the points.\""; + next; + mes "Also I heard rumors about a strange guy lurking around in the desert south of Tulimshar who can help you to forget your abilities!\""; + mes "Tanisha looks at you with wide opened eyes."; + next; + mes "[Tanisha]"; + mes "\"But I doubt he'd do that without a service in return.\""; + + if (tanisha == 3) goto L_Advice; + close; + +L_Advice: + next; + mes "[Tanisha]"; + mes "\"When you go to Tulimshar, you should see Bernard. He can make a delicious soup!"; + mes "Good luck!\""; + emotion 3; + if (tanisha == 3) + set tanisha, 4; + close; + +L_Again: + mes "[Tanisha]"; + mes "\"Hi there! Is everything alright? Do you have questions?\""; + next; + if (hasan) + menu + "A guy named Hasan won't let me enter Tulimshar.",L_Hasan, + "Yes, could you explain again about...",L_Explain, + "No, thanks.",L_Close; + menu + "Yes, could you explain again about...",L_Explain, + "No, thanks.",L_Close; + close; + +L_Explain: + menu + "... how to fight?",L_Fight, + "... monsters?",L_Mob, + "... status points?",L_StatsRe, + "... what to do in Tulimshar?",L_Advice, + "... nevermind.",L_Close; + +L_Fight: + mes "[Tanisha]"; + mes "\"Press A to focus on a monster. With X you can focus and attack."; + mes "But it also works to click on the monster with your mouse.\""; + next; + mes "\"If you press the left Shift button, you can abort your attack.\""; + next; + mes "\"Sometimes dead monsters leave some useful things. You can pick them up with pressing Z or clicking on the items with your mouse.\""; + next; + mes "\"If you feel exhausted from battle you can sit down by pressing S to recover faster.\""; + close; + +L_Mob: + mes "[Tanisha]"; + mes "\"I don't know much about monsters, I'm just a little girl. But I know a few things."; + mes "There are several types of monsters...Aggressive, Neutral, and Assistants.\""; + next; + mes "\"Aggressive monsters will attack you as soon as they see you.\""; + next; + mes "\"Neutral monsters are peaceful until they get attacked.\""; + next; + mes "\"Assistants are monsters who help each other.\""; + close; + +L_Hasan: + mes "[Tanisha]"; + mes "\"Bah, Hasan. He's a jerk. But he's very strong.\""; + next; + mes "\"The only thing he's afraid of are scorpions."; + mes "I'm not sure why, some bad experience when he was a child."; + mes "That was before I was born.\""; + if (hasan == 1) + set hasan, 2; + close; + +L_Tut_Done: + mes "[Tanisha]"; + mes "\"These yucky maggots! They're eating our goods!"; + mes "No matter how many of them you kill, they always come back.\""; + mes "She sighs."; + next; + mes "[Tanisha]"; + mes "\"Do you have any questions?\""; + menu + "Yes, could you explain about...",L_Explain, + "No, thanks.",L_Close; + close; + +L_Crowded: + mes "[Tanisha]"; + mes "\"That's great! But..."; + mes "it seems a little crowded in there.\""; + next; + mes "\"Let's wait a short while.\""; + close; + +L_Sleep: + warp "042-2.gat", 36, 90; + mes "[Tanisha]"; + mes "\"What are you doing in there?"; + mes "Sleeping?"; + mes "Come back when you're serious.\""; + set @maggot, 0; + set @time, 0; + if ($@TUT_MAGGOT > 0) + set $@TUT_MAGGOT, $@TUT_MAGGOT - 1; + if ($@TUT_MAGGOT == 0) stopnpctimer; + if ($@TUT_MAGGOT == 0) setnpctimer 0; + close; + +L_Fail: + mes "Tanisha seems to be trying hard to supress laughter."; + mes "[Tanisha]"; + mes "\"The maggots defeated you.\""; + next; + mes "She bursts out with laughter."; + mes "[Tanisha]"; + mes "\"Oops, I'm sorry. It's just too funny."; + mes "Do you want to try it again?\""; + next; + menu + "Sure!",-, + "No, I need a rest.",L_Close; + if ($@TUT_MAGGOT >= @playerlimit) + goto L_Crowded; + goto L_Fight_Again; + set $@TUT_MAGGOT, $@TUT_MAGGOT + 1; + close; + +L_Fighting: + message strcharinfo(0), "Tanisha: I believe in you!"; + end; + +OnTimer1000: + setnpctimer 0; + if (getareausers("042-2.gat", 29, 85, 36, 90) < 1) + goto L_CleanUp; + areatimer "042-2.gat", 30, 85, 36, 89, 10, "Tanisha::onTick"; + end; + +L_CleanUp: + killmonster "042-2.gat", "Tanisha::onMaggotDeath"; + set $@TUT_MAGGOT, 0; + stopnpctimer; + setnpctimer 0; + end; + +onTick: + set @time, @time + 1; + if (@time > 300) + goto L_Sleep; + if (isdead(0)) end; + if (hp > 20) + goto L_NoHeal; + heal MaxHp, 0; + message strcharinfo(0), "Tanisha: You're doing good!"; +L_NoHeal: + if (@maggot < 5) + end; + warp "042-2.gat", 36, 90; + set tanisha, 3; + set @maggot, 0; + set @time, 0; + if ($@TUT_MAGGOT > 0) + set $@TUT_MAGGOT, $@TUT_MAGGOT - 1; + if ($@TUT_MAGGOT == 0) stopnpctimer; + if ($@TUT_MAGGOT == 0) setnpctimer 0; + close; + +onMaggotDeath: + if (@maggot == 1) message strcharinfo(0), "Tanisha: Aaahhhh... another one! It will crawl up your legs!"; + if (@maggot == 2) message strcharinfo(0), "Tanisha: Ohh... Irrhk... Eeeeww... They just appear from nowhere!"; + if (@maggot == 3) message strcharinfo(0), "Tanisha: Yuck... I think I am getting sick."; + if ((getx(0) > 29) && (getx(0) < 37) && (gety(0) > 84) && (gety(0) < 90)) set @maggot, @maggot + 1; + if (@maggot < 5 && (getx(0) <= 29) || (getx(0) >= 37) || (gety(0) <= 84) || (gety(0) >= 90)) monster "042-2.gat", 33, 87, "", 1002, 1, "Tanisha::onMaggotDeath"; + if (@maggot < 5 && (getx(0) > 29) && (getx(0) < 37) && (gety(0) > 84) && (gety(0) < 90)) monster "042-2.gat", getx(0), gety(0), "", 1002, 1, "Tanisha::onMaggotDeath"; + end; + +L_Close: + close; +} |