From d73153db035a6527635844b2da8723d3e8759292 Mon Sep 17 00:00:00 2001 From: coffee Date: Mon, 5 Sep 2011 09:13:26 -0300 Subject: Clear temporary variables after you close npc window. Npcs from maps 005-1 and 006-1. --- world/map/npc/005-1/spirit.txt | 22 +++++++++++++++---- world/map/npc/005-1/tree.txt | 44 ++++++++++++++++++++++++++------------ world/map/npc/006-1/pachua.txt | 48 ++++++++++++++++++++++++------------------ 3 files changed, 75 insertions(+), 39 deletions(-) diff --git a/world/map/npc/005-1/spirit.txt b/world/map/npc/005-1/spirit.txt index dd0f9e65..c39a74d3 100644 --- a/world/map/npc/005-1/spirit.txt +++ b/world/map/npc/005-1/spirit.txt @@ -35,7 +35,7 @@ L_message: next; menu "Who, me?", -, - "Leave me alone!", L_close, + "Leave me alone!", L_Close, "Aaah! I'm hearing voices!", L_silly_close; mes "[Well]"; mes "\"I'm in here, in the well, talking to you! If I'm not very mistaken, you are a powerful wizard-to-be, except that nobody has showed you how to properly do magic yet!\""; @@ -43,7 +43,7 @@ L_message: menu "Who are you?", -, "Aaaah! The voices are after me!", L_silly_close, - "Whatever it is, I'm not interested.", L_close; + "Whatever it is, I'm not interested.", L_Close; mes "[Earth Spirit]"; mes "\"I'm an earth spirit; my name isn't important... all that matters is that I like you, and that I will help you become a powerful wizard if you help me. Just a fair deal, no more than that...\""; next; @@ -63,7 +63,7 @@ L_main: "Can you teach me magic and spells?", L_Q_magic, "What do you know about...", L_Q, "Goodbye!", -; - close; + goto L_Close; L_Q_trapped: mes "[Earth Spirit]"; @@ -253,7 +253,21 @@ L_silly_close: mes "[Well]"; mes "\"Silly " + @s$ + ".\""; -L_close: +L_Close: + set @Q_MASK, 0; + set @Q_SHIFT, 0; + set @Q_status, 0; + set @SUP_id, 0; + set @SUP_name$, ""; + set @SUP_xp, 0; + set @SUP_lvl, 0; + set @Q_STATUS_INITIAL, 0; + set @Q_STATUS_ONQUEST, 0; + set @Q_STATUS_STUDENT0, 0; + set @Q_STATUS_STUDENT1, 0; + set @Q_STATUS_STUDENT2, 0; + set @Q_STATUS_STUDENT3, 0; + set @s$, ""; close; S_update_var: diff --git a/world/map/npc/005-1/tree.txt b/world/map/npc/005-1/tree.txt index bd7a0a6d..859843c6 100644 --- a/world/map/npc/005-1/tree.txt +++ b/world/map/npc/005-1/tree.txt @@ -6,7 +6,7 @@ function|script|QuestTreeTrigger|{ set @Q_status_lower, @Q_status & 3; set @Q_status, (@Q_status & 12) >> 2; - if (@Q_status & @flag) close; // already did that + if (@Q_status & @flag) goto L_Close; // already did that if (@flag == 2) goto L_hug; @@ -14,22 +14,31 @@ L_cont: set @Q_status, @Q_status | @flag; callsub S_update_var; - if (@Q_status != 3) close; + if (@Q_status != 3) goto L_Close; - if (MAGIC_FLAGS & MFLAG_DID_CUTTREE) close; + if (MAGIC_FLAGS & MFLAG_DID_CUTTREE) goto L_Close; mes "Maybe it is just a trick of the light, but you can't help but think that the tree looks different... healthier, almost younger."; mes "[20000 experience points]"; getexp 20000, 0; set @value, 15; callfunc "QuestSagathaHappy"; - close; + goto L_Close; L_hug: mes "You hug the tree."; next; goto L_cont; +L_Close: + set @Q_MASK, 0; + set @Q_SHIFT, 0; + set @Q_status, 0; + set @Q_status_lower, 0; + set @Q_wr_status, 0; + set @value, 0; + close; + S_update_var: set @Q_wr_status, (@Q_status << 2) | @Q_status_lower; set QUEST_MAGIC, (QUEST_MAGIC & ~(@Q_MASK) | (@Q_wr_status << @Q_SHIFT)); @@ -54,7 +63,7 @@ function|script|QuestTreeTouch|{ mes "[Dying Tree]"; mes "You see a strange tree."; - close; + goto L_Close; L_cut: mes "[Dying Tree]"; @@ -63,7 +72,7 @@ L_cut: menu "Cut off a branch", L_do_cut, "Leave it alone", -; - close; + goto L_Close; L_water: mes "[Dying Tree]"; @@ -73,7 +82,7 @@ L_water: "Water the tree", L_givewater, "Kiss tree", L_kiss, "Leave it alone", -; - close; + goto L_Close; L_both: mes "[Dying Tree]"; @@ -84,7 +93,7 @@ L_both: "Kiss tree", L_kiss, "Cut off a branch", L_do_cut, "Leave it alone", -; - close; + goto L_Close; L_givewater: if (countitem("BottleOfWater") < 1) goto L_no_water; @@ -93,18 +102,18 @@ L_givewater: mes "[Dying Tree]"; mes "You pour a bottle of water into the sand. The water dissipates quickly, without any effect."; - close; + goto L_Close; L_no_water: mes "[Dying Tree]"; mes "You don't have any water."; - close; + goto L_Close; L_kiss: mes "[Dying Tree]"; mes "You pluck out a splinter from your lip."; mes "Somehow, you don't think that this helped."; - close; + goto L_Close; L_do_cut: if (countitem(570) < 1) goto L_no_boneknife; @@ -119,7 +128,7 @@ L_do_cut: menu "Nah... better not.", -, "Yes, let's cut!", L_really_cut; - close; + goto L_Close; L_really_cut: set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_DID_CUTTREE; @@ -127,17 +136,24 @@ L_really_cut: mes "[Dying Tree]"; mes "You cut off a branch from the tree."; mes "For an instant, you have an uneasy feeling, as if the branch were writhing in your hand..."; - close; + goto L_Close; L_no_boneknife: mes "[Dying Tree]"; mes "Try as you might, you can't seem to find a way to cut off a branch. Perhaps you need a different tool for cutting?"; - close; + goto L_Close; L_happy: mes "[Druid Tree]"; mes "The tree looks younger and healthier now."; + goto L_Close; + +L_Close: + set @Q_MASK, 0; + set @Q_SHIFT, 0; + set @Q_status, 0; close; + } 005-1.gat,79,41,0|script|#DruidTree0#_M|127,{ diff --git a/world/map/npc/006-1/pachua.txt b/world/map/npc/006-1/pachua.txt index ace4ba9a..824bc9b5 100644 --- a/world/map/npc/006-1/pachua.txt +++ b/world/map/npc/006-1/pachua.txt @@ -43,9 +43,9 @@ L_Check_Shops: menu "Wait, can you make a leather patch for me?", L_leather_patch, "OK, bye.", -; - close; + goto L_Close; -L_CheckStuff: +S_CheckStuff: mes "[Chief Pachua]"; mes ""; mes "\"Let me see what you have there.\""; @@ -53,7 +53,7 @@ L_CheckStuff: return; L_Super_store: - callsub L_CheckStuff; + callsub S_CheckStuff; mes "[Chief Pachua]"; mes ""; mes "\"Ahh you have lots of good items to work with.\""; @@ -74,7 +74,7 @@ L_Super_store: "Not now, maybe later.", L_NoDeal; L_Cowboy_store: - callsub L_CheckStuff; + callsub S_CheckStuff; mes "[Chief Pachua]"; mes ""; mes "\"To make you a Cowboy hat I will need:"; @@ -95,7 +95,7 @@ L_Cowboy_store: "On second thought, maybe later.", L_NoDeal; L_Chaps_store: - callsub L_CheckStuff; + callsub S_CheckStuff; mes "[Chief Pachua]"; mes ""; mes "\"To make you a pair of Snake Skin Chaps I will need:"; @@ -151,7 +151,7 @@ L_leather_patch: next; menu "Here you are.", -, - "OK, I'll be back later.", L_End, + "OK, I'll be back later.", L_Close, "That's too expensive!.", L_NoDeal; if (countitem("SnakeSkin") < 1) goto L_NoSkins; @@ -170,37 +170,37 @@ L_DealDone: mes "\"Here you are!\""; mes ""; mes "\"Come back any time.\""; - close; + goto L_Close; L_NoDeal: mes "[Chief Pachua]"; mes ""; mes "\"Alright, but you won't get a better deal anywhere else!\""; - close; + goto L_Close; L_NoMoney: mes "[Chief Pachua]"; mes ""; mes "\"Oh dear, it seems you don't have enough money.\""; - close; + goto L_Close; L_NoJeans: mes "[Chief Pachua]"; mes ""; mes "\"Oh dear, it seems you don't have enough jeans shorts.\""; - close; + goto L_Close; L_NoFancy: mes "[Chief Pachua]"; mes ""; mes "\"Oh dear, it seems you don't have enough fancy hats.\""; - close; + goto L_Close; L_NoSkins: mes "[Chief Pachua]"; mes ""; mes "\"Oh dear, it seems you don't have enough snake skins.\""; - close; + goto L_Close; L_WearingCowboy: mes "[Chief Pachua]"; @@ -216,14 +216,20 @@ L_WearingChaps: next; goto L_Check_Shops; -L_End: +L_Close: + set @LEATHER_PATCH_PRICE, 0; + set @wants_leather_patch, 0; + set @month, 0; + set @start_day, 0; + set @end_day, 0; + set @temp, 0; close; L_TooMany: mes "[Chief Pachua]"; mes ""; mes "\"You don't have room for a leather patch. Come back later.\""; - close; + goto L_Close; L_smoke: message strcharinfo(0), "Pachua quickly inhales from his pipe and releases a ring of smoke towards the sky!"; @@ -251,7 +257,7 @@ L_Basket: mes "\"I appreciate your attitude. Maybe I can help you with that.\""; menu "I would be really grateful if you could do that!", -, - "Nah, I decided not to do that stupid quest.", L_End, + "Nah, I decided not to do that stupid quest.", L_Close, "I would prefer to talk to you about other stuff.", L_Begin; //should go to pachuas's regular chat set QUEST_Easter11, 2; @@ -263,20 +269,20 @@ L_MakeBasket: mes "\"You should be able to get those from mouboos as they graze.\""; menu "I have the Reeds!", -, - "Ok, I will be back soon", L_End, - "I changed my mind, forget about it", L_End, + "Ok, I will be back soon", L_Close, + "I changed my mind, forget about it", L_Close, "Can I talk to you about another stuff?", L_Begin; //should go to pachuas's regular chat if(countitem("ReedBundle") < 5) goto L_EasterNotEnough; if(countitem("ReedBundle") >= 5) goto L_EasterEnough; - close; + goto L_Close; L_EasterNotEnough: mes "[Chief Pachua]"; mes ""; mes "\"You do not have enough Reed Bundles for me to work with.\""; mes "\"Go gather more.\""; - close; + goto L_Close; L_EasterEnough: getinventorylist; @@ -292,13 +298,13 @@ L_EasterEnough: mes "then swiftly weaves them into a basket shape."; mes "Next, he places the damp basket in the sun to dry for a minute before handing it over to you."; mes "\"Here is your Easter Basket.\""; - close; + goto L_Close; L_EasterTooMany: mes "[Chief Pachua]"; mes ""; mes "\"You don't have room for the Easter Basket. Come back later.\""; - close; + goto L_Close; L_SeeBunny: mes "[Chief Pachua]"; -- cgit v1.2.3-60-g2f50