summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--world/map/npc/022-1/tutorial.txt7
-rw-r--r--world/map/npc/042-1/hasan.txt30
-rw-r--r--world/map/npc/042-1/kaan.txt23
-rw-r--r--world/map/npc/042-2/sorfina.txt36
-rw-r--r--world/map/npc/042-2/tanisha.txt32
5 files changed, 69 insertions, 59 deletions
diff --git a/world/map/npc/022-1/tutorial.txt b/world/map/npc/022-1/tutorial.txt
index 5c5c5412..ecb1f628 100644
--- a/world/map/npc/022-1/tutorial.txt
+++ b/world/map/npc/022-1/tutorial.txt
@@ -1,9 +1,14 @@
// This file is part of the Tutorial
// Author: Jenalya
-// if you enter the tutorial area, it is set to be already done
+// if you enter the tutorial area from outside, it is set to be already done
022-1.gat,19,37,0|script|#tutorial|127,0,2{
set FLAGS, FLAGS | FLAG_TUTORIAL_DONE;
+ set hasan, 0;
+ set kaan, 0;
+ set sorfina, 0;
+ set tanisha, 0;
+ set maggot, 0;
warp "042-1.gat", 114, 76;
end;
}
diff --git a/world/map/npc/042-1/hasan.txt b/world/map/npc/042-1/hasan.txt
index 5c680841..0adf9dab 100644
--- a/world/map/npc/042-1/hasan.txt
+++ b/world/map/npc/042-1/hasan.txt
@@ -10,6 +10,7 @@
if (FLAGS & FLAG_TUTORIAL_DONE)
goto L_Tut_Done;
// Please consider rewriting this in terms of isin()
+ // it's not that trivial to put this in a rectangle...
if ( (@y < 64)&&(@x < 110) || (@x < 107) )
goto L_Cliff_Up;
// implicitly, $@ScorpionFighter is nonzero
@@ -46,12 +47,11 @@ L_Toll:
menu
"What? I don't have that much money!",L_NoPay,
"We'll see if you can stop me!",L_Fight;
- close;
L_NoPay:
mes "[Hasan]";
mes "\"That's not my problem. You have to stay here then.\"";
- close;
+ goto L_Close;
L_Fight:
mes "He laughs derisively.";
@@ -60,7 +60,7 @@ L_Fight:
mes "He pulls out a nasty looking dagger and stabs it in your direction.";
set Hp, 1;
mes "That hurt! You begin to think searching for a different solution might be healthier.";
- close;
+ goto L_Close;
L_Pay:
if (Zeny < @toll)
@@ -75,12 +75,12 @@ L_Pay:
set tanisha, 0;
set maggot, 0;
set FLAGS, FLAGS | FLAG_TUTORIAL_DONE;
- close;
+ goto L_Close;
L_Cheat:
mes "[Hasan]";
mes "\"Don't you dare try to cheat me!\"";
- close;
+ goto L_Close;
L_Trick:
mes "[Hasan]";
@@ -127,12 +127,12 @@ L_Thank:
"I'll try to find the way myself.",L_Explore,
"Could you just tell me the way?",L_Directions;
warp "001-1.gat", 44, 40;
- close;
+ goto L_Close;
L_Explore:
mes "[Hasan]";
mes "\"Alright. Take care!\"";
- close;
+ goto L_Close;
L_Directions:
mes "[Hasan]";
@@ -141,13 +141,13 @@ L_Directions:
mes "\"Pass through them and at the crossway, just go west and then south until you reach some other gateway.\"";
next;
mes "\"Behind it there is the bazaar of Tulimshar.\"";
- close;
+ goto L_Close;
L_Fear:
mes "[Hasan]";
mes "\"Sc-sc-sco-scorpion!\"";
mes "He seems close to tears.";
- close;
+ goto L_Close;
L_Tut_Done:
mes "[Hasan]";
@@ -155,15 +155,15 @@ L_Tut_Done:
mes "\"Welcome to the suburbs of Tulimshar. I wonder what an experienced adventurer like you is doing here.\"";
if (BaseLevel < 40)
mes "\"Bah, nothing interesting is happening here.\"";
- close;
+ goto L_Close;
L_Distance:
mes "There is a person off in the distance. He doesn't seem to notice you, maybe you should go closer.";
- close;
+ goto L_Close;
L_Cliff_Up:
mes "You see a guy in shabby clothes when you look down the cliff.";
- close;
+ goto L_Close;
L_SummonAgain:
message strcharinfo(0), "Kaan is mad at you for your interference! He walks over to the edge of the cliff and throws a rock on top of your head, then lets another scorpion run just near Hasan!";
@@ -192,6 +192,12 @@ L_MessageDeath:
L_Wait:
mes "There is a scorpion near Hasan already. I think Kaan is helping someone else... Maybe I should try the plan later.";
+ goto L_Close;
+
+L_Close:
+ set @toll, 0;
+ set @x, 0;
+ set @y, 0;
close;
OnTimer5000:
diff --git a/world/map/npc/042-1/kaan.txt b/world/map/npc/042-1/kaan.txt
index ca35843f..d80721c9 100644
--- a/world/map/npc/042-1/kaan.txt
+++ b/world/map/npc/042-1/kaan.txt
@@ -5,7 +5,7 @@
if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
if (hasan == 4) goto L_Hasan_Saved;
- if ($@ScorpionFighter$ == strcharinfo(0)) goto L_Run;
+ if ($@ScorpionFighter == getcharid(3)) goto L_Run;
if (kaan == 4) goto L_Plan;
if (kaan == 3) goto L_Trick;
if (kaan == 2) goto L_Out;
@@ -25,7 +25,7 @@
set kaan, 1;
if (tanisha >= 3)
goto L_Tanisha2;
- close;
+ goto L_Close;
L_Tanisha2:
menu
@@ -36,7 +36,7 @@ L_Tanisha:
mes "[Kaan]";
mes "\"Did you already talk to Tanisha?\"";
if (tanisha < 3)
- close;
+ goto L_Close;
next;
menu
"Yes, I helped her with the maggots.",-,
@@ -74,7 +74,6 @@ L_Tanisha3:
menu
"A guy named Hasan won't let me enter Tulimshar.",L_Hasan,
"Thanks for the advice.",L_Close;
- close;
L_Out:
mes "[Kaan]";
@@ -86,7 +85,6 @@ L_Out:
"Not yet.",L_Close;
menu
"Not yet.",L_Close;
- close;
L_Hasan:
mes "[Kaan]";
@@ -104,7 +102,7 @@ L_Trick:
mes "[Kaan]";
mes "\"Do you have any idea what Hasans weakness could be?";
if (hasan < 2)
- close;
+ goto L_Close;
next;
menu
"He's afraid of scorpions.",-,
@@ -128,8 +126,8 @@ L_Explain:
mes "\"How's that? We can start as soon as you're ready.\"";
if (kaan == 3)
set kaan, 4;
- set hasan, 3;
- close;
+ set hasan, 3;
+ goto L_Close;
L_Plan:
mes "[Kaan]";
@@ -138,8 +136,7 @@ L_Plan:
next;
menu
"Yes please.",L_Explain,
- "No, everything's alright.",-;
- close;
+ "No, everything's alright.",L_Close;
L_Hasan_Saved:
mes "[Kaan]";
@@ -147,18 +144,18 @@ L_Hasan_Saved:
mes "But maybe Hasan is thankful now?\"";
next;
mes "\"Why don't you talk to him again and see what he says.\"";
- close;
+ goto L_Close;
L_Tut_Done:
mes "[Kaan]";
mes "\"Hi there. I hope you enjoy your time in Tulimshar.";
mes "Hasan can be a real troublemaker, but it seems like he has calmed down for now.\"";
- close;
+ goto L_Close;
L_Run:
mes "[Kaan]";
mes "\"He's distracted! What are you waiting for?\"";
- close;
+ goto L_Close;
L_Close:
close;
diff --git a/world/map/npc/042-2/sorfina.txt b/world/map/npc/042-2/sorfina.txt
index e9bc30ed..b750dd7a 100644
--- a/world/map/npc/042-2/sorfina.txt
+++ b/world/map/npc/042-2/sorfina.txt
@@ -48,11 +48,12 @@ L_Tut:
next;
L_Carpet:
+ mes "[Sorfina]";
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;
+ goto L_Close;
L_Chest:
mes "[Sorfina]";
@@ -61,15 +62,16 @@ L_Chest:
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;
+ goto L_Close;
L_Naked:
+ mes "[Sorfina]";
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;
+ goto L_Close;
L_Clothes:
if (getequipid(equip_torso) < 0)
@@ -91,7 +93,7 @@ L_Clothes:
mes "Good luck!\"";
set Zeny, Zeny + 30;
set sorfina, 4;
- close;
+ goto L_Close;
L_Again:
mes "[Sorfina]";
@@ -105,7 +107,6 @@ L_Again:
menu
"Yes, could you explain about...",L_Explain,
"No, thanks.",L_Close;
- close;
L_Explain:
menu
@@ -115,14 +116,13 @@ L_Explain:
"... 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;
+ goto L_Close;
L_Talk:
mes "[Sorfina]";
@@ -137,7 +137,7 @@ L_Talk:
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;
+ goto L_Close;
L_Items:
mes "[Sorfina]";
@@ -157,7 +157,7 @@ L_Items:
next;
mes "\"To use or equip an item, select it by clicking on it.";
mes "Then press Use or Equip.\"";
- close;
+ goto L_Close;
L_Shortcut:
mes "[Sorfina]";
@@ -166,7 +166,7 @@ L_Shortcut:
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;
+ goto L_Close;
L_Aidan:
mes "[Sorfina]";
@@ -176,13 +176,13 @@ L_Aidan:
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 "\"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 "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;
+ goto L_Close;
L_Hasan:
mes "[Sorfina]";
@@ -208,7 +208,7 @@ L_Hasan:
mes "She sighs.";
if (hasan == 1)
set hasan, 2;
- close;
+ goto L_Close;
L_SkipTut:
mes "[Sorfina]";
@@ -229,16 +229,16 @@ L_SkipTut:
getitem "CottonShirt", 1;
set Zeny, Zeny + 50;
mes "Good luck.\"";
- close;
+ goto L_Close;
L_Close:
close;
OnTouch:
- if (TUT_var != 0) close;
- callfunc "GameRules";
+ if (TUT_var != 0)
+ end;
+ callfunc "GameRules";
goto L_Start;
- close;
}
042-2.gat,33,27,0|script|#Carpet|32767,1,1{
diff --git a/world/map/npc/042-2/tanisha.txt b/world/map/npc/042-2/tanisha.txt
index d9f60209..9363d1b6 100644
--- a/world/map/npc/042-2/tanisha.txt
+++ b/world/map/npc/042-2/tanisha.txt
@@ -19,8 +19,8 @@
mes "\"Are you feeling better?\"";
next;
menu
- "Yes, thank you.", -,
- "Yeah, but all my stuff is gone.", -;
+ "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.\"";
@@ -28,6 +28,7 @@
set tanisha, 1;
L_Maggots:
+ mes "[Tanisha]";
mes "\"There are some maggots eating the goods and I'm supposed to get rid of them.";
mes "But they're so yucky!\"";
next;
@@ -35,8 +36,8 @@ L_Maggots:
mes "What do you say?\"";
next;
menu
- "Sure!", -,
- "That's your job.", L_Close;
+ "Sure!",-,
+ "That's your job.",L_Close;
mes "[Tanisha]";
mes "\"Wonderful!\"";
// since the check happens here, it is actually possible to have
@@ -131,20 +132,20 @@ L_Again:
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;
+ "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;
+ "Yes, could you explain again about...",L_Explain,
+ "No, thanks.",L_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;
+ "... 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]";
@@ -209,9 +210,10 @@ L_Sleep:
mes "Come back when you're serious.\"";
set @Maggot_Kills, 0;
set @time, 0;
+ close2;
if (getareausers("042-2.gat", 30, 85, 36, 89) == 0)
goto L_CleanUp;
- goto L_Close;
+ end;
L_Fail:
mes "Tanisha seems to be trying hard to supress laughter.";