// This file is part of the Tutorial // Author: Jenalya 042-2.gat,28,26,0|script|Sorfina|154,1,4 { setarray @npc_loc, 28, 26, 4; callfunc "PCtoNPCRange"; if (@npc_check) goto L_Close; callfunc "TutorialState"; if ((Hp != MaxHp) && (@tutorial >= 4)) goto L_Heal; goto L_Main; L_Heal: mes "[Sorfina]"; mes "\"Hello Dear! You look tired, you should rest a moment.\""; mes "You take a short nap and feel refreshed."; heal MaxHp, 0; goto L_Main; L_Main: if (@tutorial == 10) goto L_Hasan; if (@tutorial >= 4) goto L_Again; if (@tutorial == 3) goto L_Clothes; if (@tutorial == 2) goto L_Chest; if (@tutorial == 1) goto L_Carpet; callfunc "GameRules"; goto L_Start; 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; mes "[Server]"; mes "The explanations in this tutorial are based on the official client, Manaplus."; mes "If you're using another client, settings and controls may be different."; menu "That would be great!",L_Tut, "No, thanks. I already know how things are going.",L_SkipTut; L_Tut: 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; goto L_Carpet; L_Carpet: mes "[Sorfina]"; mes "\"Try to take a few steps and walk to that carpet over there."; mes "Just use the ###keyMoveUp; to move up, ###keyMoveDown; to move down, "; mes " ###keyMoveLeft; to move left, ###keyMoveRight; to move right "; mes " or click on the place you want to go to.\""; set @tutorial_tmp, 1; callfunc "SetTutorialMask"; goto L_Close; L_Chest: mes "[Sorfina]"; mes "\"In that chest there are some clothes you can take.\""; next; mes "\"To interact with things in your environment or talk to NPCs you can either click on it or press ###keyTargetNPC; to focus and ###keyTalk; to talk/activate.\""; next; mes "\"Now get the clothes out of the chest.\""; goto L_Close; L_Naked: mes "[Sorfina]"; mes "\"Press ###keyWindowInventory; or click on the Inventory button in the bar at the upper right corner to open your bag.\""; next; mes "\"Once we stop talking, double-click on the clothes to equip.\""; next; mes "\"Talk to me again after you get dressed. You can either click on me, or press ###keyTargetNPC; to focus on me and ###keyTalk; to talk.\""; goto L_Close; L_Clothes: if (getequipid(equip_torso) < 0) goto L_Naked; mes "[Sorfina]"; mes "\"That's much better, don't you think?\""; next; mes "\"Here take this.\""; getitem "HitchhikersTowel", 1; mes "\"Your HitchHikers Towel will return you to your last set soul menhir or here if not set.\""; mes "\"It can't be used constantly as the magic needs time to power the jump.\""; next; mes "\"I think this will help you a bit. To get more information, 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 downstairs.\""; 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.\""; next; mes "She hesitates a moment."; mes "\"[Sorfina]\""; mes "\"And here is some money for you. At least you can buy yourself something to eat."; mes "Good luck!\""; set Zeny, Zeny + 30; set @tutorial_tmp, 4; callfunc "SetTutorialMask"; goto L_Close; L_Again: mes "[Sorfina]"; mes "\"Make yourself at home! Do you have any questions?\""; menu "Yes, could you explain about...",L_Explain, "No, thanks.",L_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; L_Walk: mes "[Sorfina]"; mes "\"You can use the arrow keys to walk around."; mes "Just use the ###keyMoveUp; to move up, ###keyMoveDown; to move down, "; mes " ###keyMoveLeft; to move left, ###keyMoveRight; to move right "; mes " or click on the place you want to go to.\""; mes "This only works if that place is reachable and walkable.\""; goto L_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 ###keyTargetNPC; to focus on the nearest person and then press ###keyTalk; to talk.\""; next; mes "\"If you want to talk to other adventurers, press ###keyChat; 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 ###keyChat; type '/whisper [name] [message]'."; mes "Or you can right click on someone and choose the whisper option.\""; next; mes "\"Press ###keyWindowChat; to show and hide your chat window.\""; goto L_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 "\"Your HitchHikers Towel will return you to your last set soul menhir or here if not set.\""; mes "\"It can't be used constantly as the magic needs time to power the jump.\""; next; mes "\"Press ###keyWindowInventory; to open your inventory."; mes "When placing your cursor over an item there, you can see a box with some information about that item.\""; next; mes "\"To use or equip an item, select it by double-clicking on it."; mes "Selecting the item then pressing Use or Equip also works.\""; goto L_Close; L_Shortcut: mes "[Sorfina]"; mes "\"Press ###keyOutfitShortcut1; 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.\""; goto L_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 famous 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.\""; goto L_Close; L_Hasan: mes "[Sorfina]"; mes "\"Make yourself at home! Do you have any questions?\""; menu "A guy named Hasan is bullying people.",L_Next, "Yes, could you explain again about...",L_Explain, "No, thanks.",L_Close; L_Next: 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."; set @tutorial_tmp, 11; callfunc "SetTutorialMask"; goto L_Close; L_SkipTut: mes "[Sorfina]"; mes "\"Really? You seem quite unexperienced. Listening to some advice won't hurt.\""; menu "Thinking about it twice... please tell me.",L_Tut, "Yeah, but thanks for the offer. Bye.",L_Bye; L_Bye: mes "[Sorfina]"; mes "\"Alright, if you say so. But take at least this."; getitem "Knife", 1; getitem "SlingShot", 1; getitem "SlingBullet", 100; getitem "HitchhikersTowel", 1; getitem "CottonShirt", 1; getitem "RaggedShorts", 1; set Zeny, Zeny + 50; set @tutorial_tmp, 8; callfunc "SetTutorialMask"; mes "Good luck.\""; goto L_Close; L_Close: close; OnTouch: if (TUT_var != 0) end; callfunc "GameRules"; goto L_Start; } 042-2.gat,33,27,0|script|#Carpet|32767,1,1 { end; OnTouch: callfunc "TutorialState"; if (@tutorial != 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 are some clothes you can take.\""; 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 clothes out of the chest.\""; set @tutorial_tmp, 2; callfunc "SetTutorialMask"; close; } 042-2.gat,29,23,0|script|Chest#tutorial|111 { callfunc "TutorialState"; if (@tutorial > 2) goto L_Empty; if (@tutorial == 2) goto L_Shirt; mes "The chest is locked."; close; L_Shirt: mes "You take a simple Cotton Shirt and some very worn-out Ragged Shorts out of the chest."; getitem "CottonShirt", 1; getitem "RaggedShorts", 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 clothes and press the equip button.\""; set @tutorial_tmp, 3; callfunc "SetTutorialMask"; close; L_Empty: mes "The chest is empty."; close; } 042-2.gat,44,31,0|script|#DoorOutTut1|45,0,0 { end; OnTouch: callfunc "TutorialState"; if (@tutorial < 4) goto L_Block; warp "042-1.gat", 51, 44; end; L_Block: message strcharinfo(0), "Sorfina: Wait a moment! You're not ready to leave."; end; }