diff options
author | Ridley <ridley8819@gmail.com> | 2017-04-23 11:59:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-23 11:59:58 +0200 |
commit | 7a1dbca29bcf6aa9066e5501d3e0ab20d6416383 (patch) | |
tree | cf3e755c7e81aab9b92d4d05c511584a30d34fb2 /npc/re/quests | |
parent | 1bc4994db3b611dd489d6bde0a218b232ca785f5 (diff) | |
parent | 060c4ba50162363315f2f50b35cad931e2b75ec9 (diff) | |
download | hercules-7a1dbca29bcf6aa9066e5501d3e0ab20d6416383.tar.gz hercules-7a1dbca29bcf6aa9066e5501d3e0ab20d6416383.tar.bz2 hercules-7a1dbca29bcf6aa9066e5501d3e0ab20d6416383.tar.xz hercules-7a1dbca29bcf6aa9066e5501d3e0ab20d6416383.zip |
Merge pull request #1548 from AtlantisRO/goto_removal
Removed the usage of deprecated command goto from npc scripts (except custom folder)
Diffstat (limited to 'npc/re/quests')
-rw-r--r-- | npc/re/quests/eden/eden_tutorial.txt | 245 | ||||
-rw-r--r-- | npc/re/quests/quests_malangdo.txt | 157 | ||||
-rw-r--r-- | npc/re/quests/quests_malaya.txt | 91 |
3 files changed, 245 insertions, 248 deletions
diff --git a/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt index e9fac253b..45d7c6f1e 100644 --- a/npc/re/quests/eden/eden_tutorial.txt +++ b/npc/re/quests/eden/eden_tutorial.txt @@ -35,8 +35,129 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{ if (Class == Job_Novice) { // Fall through - } else if (!questprogress(9167)) { - OnStartQuest: + } else if (!questprogress(9167) || questprogress(9173) == 1) { + if (questprogress(9173) == 1) { + mes "[Tutorial Instructor]"; + mes "Do you have any questions?"; + next; + switch(select("Can I do the same quest again?", "About the Quest Window...", "About ENCHANT...", "About Searching Vends...", "About Mercenary and Pets...", "End Conversation.")) { + case 1: + if (questprogress(9173,PLAYTIME) == 1) { + mes "[Tutorial Instructor]"; + mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000."; + next; + mes "[Tutorial Instructor]"; + mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!"; + mes "[Tutorial Instructor]"; + mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest."; + next; + mes "[Tutorial Instructor]"; + mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again."; + close; + } + mes "[Tutorial Instructor]"; + mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?"; + next; + switch(select("Yes", "No")) { + case 1: + @tutorial_restart = 1; + break; + case 2: + mes "[Tutorial Instructor]"; + mes "Okay. But if you change your mind and want to receive a quest, come find me."; + close; + } + break; + case 2: + mes "[Tutorial Instructor]"; + mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests."; + next; + mes "[Tutorial Instructor]"; + mes "If you look at the top left"; + mes "in the area with the information,"; + mes "it says ^006400QUEST^000000"; + mes "and if you click that"; + mes "it'll show all information"; + mes "that pertains to the request."; + next; + mes "[Tutorial Instructor]"; + mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc."; + close; + case 3: + mes "[Tutorial Instructor]"; + mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000."; + next; + mes "[Tutorial Instructor]"; + mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor."; + next; + mes "[Tutorial Instructor]"; + mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking."; + next; + mes "[Tutorial Instructor]"; + mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance."; + next; + mes "[Tutorial Instructor]"; + mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000."; + next; + mes "[Tutorial Instructor]"; + mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?"; + close; + case 4: + mes "[Tutorial Instructor]"; + mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for."; + next; + mes "[Tutorial Instructor]"; + mes "The ^006400Universal Silver Catalog^000000"; + mes "can be obtained from "; + mes "the ^0000FFCatalogue Wizard^000000"; + mes "that is located in South Prontera;"; + next; + mes "[Tutorial Instructor]"; + mes "It only costs 200 zeny for one"; + mes "of these and with it you can"; + mes "search up to 10 times."; + mes "You can say that it's a necessity."; + next; + mes "[Tutorial Instructor]"; + mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!"; + close; + case 5: + mes "[Tutorial Instructor]"; + mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways."; + next; + mes "[Tutorial Instructor]"; + mes "If a 006400Mercenary^000000 gives you direct effect"; + mes "by fighting for you"; + mes "then a ^006400Pet^000000 helps you indirectly with their"; + mes "abilities and varied appearances,"; + mes "and it captures your heart."; + next; + mes "[Tutorial Instructor]"; + mes "In order to employ a Mercenary"; + mes "Go find the ^006400Mercenary Guild^000000"; + mes "which is by the front door of ^8B4513Prontera^000000."; + mes "Go to the ^006400Information Agent^000000"; + mes "and ask them where the ^006400Mercenary Guild Official^000000"; + mes "is located and they will let you know."; + next; + mes "[Tutorial Instructor]"; + mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet."; + next; + mes "[Tutorial Instructor]"; + mes "Because there is a chance for failure, please use the taming item with great care."; + next; + mes "[Tutorial Instructor]"; + mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player."; + next; + mes "[Tutorial Instructor]"; + mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future."; + close; + case 6: + mes "[Tutorial Instructor]"; + mes "If you have any questions, come find me again."; + close; + } + } if (@tutorial_restart) { .@tutorial_restart = 1; @tutorial_restart = 0; @@ -459,126 +580,6 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{ mes "then bring them back to me."; close; } - } else if (questprogress(9173) == 1) { - mes "[Tutorial Instructor]"; - mes "Do you have any questions?"; - next; - switch(select("Can I do the same quest again?", "About the Quest Window...", "About ENCHANT...", "About Searching Vends...", "About Mercenary and Pets...", "End Conversation.")) { - case 1: - if (questprogress(9173,PLAYTIME) == 1) { - mes "[Tutorial Instructor]"; - mes "The one method to do the same quests repeatdedly is to do the ^006400Daily Quests^000000."; - next; - mes "[Tutorial Instructor]"; - mes "Once you complete a ^006400Daily Quest^000000 and turn it in, wait about a day then come back to get the request and do it all over again!"; - mes "[Tutorial Instructor]"; - mes "If you received a daily quest, look at bottom right of the ^006400Quest Window^000000. There is a section that is called ^006400LIMITED^000000. In that section, it'll tell you how much time needs to pass before you can pick up another daily quest."; - next; - mes "[Tutorial Instructor]"; - mes "It seems you still have some time left to wait out after finishing my quest. Wait it out a bit more, then come find me and you can get the same quest again."; - close; - } - mes "[Tutorial Instructor]"; - mes "It seems that about a day has passed since you've finished my quest. Alright, so like the ^006400Daily Quests^000000, you can get a quest from me. Did you want to proceed?"; - next; - switch(select("Yes", "No")) { - case 1: - @tutorial_restart = 1; - goto OnStartQuest; - case 2: - mes "[Tutorial Instructor]"; - mes "Okay. But if you change your mind and want to receive a quest, come find me."; - close; - } - case 2: - mes "[Tutorial Instructor]"; - mes "They say that the ^006400Quest Window^000000 details out everything you need to know about your quests."; - next; - mes "[Tutorial Instructor]"; - mes "If you look at the top left"; - mes "in the area with the information,"; - mes "it says ^006400QUEST^000000"; - mes "and if you click that"; - mes "it'll show all information"; - mes "that pertains to the request."; - next; - mes "[Tutorial Instructor]"; - mes "Using the ^006400Quest Window^000000 will make your life easier. It'll tell you where to go, what items to get or who to find and etc."; - close; - case 3: - mes "[Tutorial Instructor]"; - mes "006400ENCHANT^000000, in general, is divided into two parts: ^006400SOCKET ENCHANT^000000 and ^006400HIDDEN SOCKET ENCHANT^000000."; - next; - mes "[Tutorial Instructor]"; - mes "^006400SOCKET ENCHANT^000000 is used to add a SOCKET into equipments and ^006400HIDDEN SOCKET ENCHANT^000000 is used to put in stats into a socket of an armor."; - next; - mes "[Tutorial Instructor]"; - mes "Of course, in order to do this we are in need of some materials and there is a chance that it may fail, but that's the risk you're taking."; - next; - mes "[Tutorial Instructor]"; - mes "The people who do the ^006400SOCKET ENCHANT^000000 can be found in ^8B4513Prontera, Morroc, Payon,^000000. ^8B4513Rhitalzen^000000 is in the Refinery and ^0000FFSeiyablem^000000 and ^0000FFReiablem^000000 can be found near the entrance."; - next; - mes "[Tutorial Instructor]"; - mes "The one who does ^006400HIDDEN SOCKET ENCHANT^000000 is found at the 6 o'clock location of ^8B4513Prontera^000000. Look for the ^0000FFCraftman Apprentice^000000."; - next; - mes "[Tutorial Instructor]"; - mes "Do you think you understand a little bit more about ^006400ENCHANT^000000?"; - close; - case 4: - mes "[Tutorial Instructor]"; - mes "^006400Vend Search^000000 can be utilized by the ^006400Universal Silver Catalog^000000 item. Since you search through as vends on that map, it'll make it easier for you to find the item that you're looking for."; - next; - mes "[Tutorial Instructor]"; - mes "The ^006400Universal Silver Catalog^000000"; - mes "can be obtained from "; - mes "the ^0000FFCatalogue Wizard^000000"; - mes "that is located in South Prontera;"; - next; - mes "[Tutorial Instructor]"; - mes "It only costs 200 zeny for one"; - mes "of these and with it you can"; - mes "search up to 10 times."; - mes "You can say that it's a necessity."; - next; - mes "[Tutorial Instructor]"; - mes "So, are you getting familiar with ^006400Vend Search^000000? Don't just stand there and listen to me. Go ahead and try it for yourself!"; - close; - case 5: - mes "[Tutorial Instructor]"; - mes "Depending on what you need, ^006400Mercenary^000000 and ^006400Pet^000000 can be used in various ways."; - next; - mes "[Tutorial Instructor]"; - mes "If a 006400Mercenary^000000 gives you direct effect"; - mes "by fighting for you"; - mes "then a ^006400Pet^000000 helps you indirectly with their"; - mes "abilities and varied appearances,"; - mes "and it captures your heart."; - next; - mes "[Tutorial Instructor]"; - mes "In order to employ a Mercenary"; - mes "Go find the ^006400Mercenary Guild^000000"; - mes "which is by the front door of ^8B4513Prontera^000000."; - mes "Go to the ^006400Information Agent^000000"; - mes "and ask them where the ^006400Mercenary Guild Official^000000"; - mes "is located and they will let you know."; - next; - mes "[Tutorial Instructor]"; - mes "In order to get a ^006400Pet^000000, while hunting you will obtain taming items. Use the tame on the monster it's for and you can get a pet."; - next; - mes "[Tutorial Instructor]"; - mes "Because there is a chance for failure, please use the taming item with great care."; - next; - mes "[Tutorial Instructor]"; - mes "That aside... you can get a ^006400Mercenary^000000 from the Mercenary Guild and you can get a ^006400Pet^000000 by trading or buying it from another player."; - next; - mes "[Tutorial Instructor]"; - mes "Now, do you understand a bit more about using a ^006400Mercenary^000000 and a ^006400Pet^000000? I hope you get a chance to use them in the future."; - close; - case 6: - mes "[Tutorial Instructor]"; - mes "If you have any questions, come find me again."; - close; - } } mes "[Tutorial Instructor]"; mes "Lately, it has been said that"; diff --git a/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt index 1351ab80a..9a67c4af8 100644 --- a/npc/re/quests/quests_malangdo.txt +++ b/npc/re/quests/quests_malangdo.txt @@ -1174,10 +1174,49 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{ } else if (ma_tomas == 14) { // Dialogue in repeatable quest is identical. // Uses a variable to determine the quest mode. - @mal_bob_q = 1; - L_Quest1: - .@i = @mal_bob_q; - @mal_bob_q = 0; + .@i = 1; + } else if (ma_tomas == 15) { + .@i = 3; + } else if (ma_tomas == 16) { + mes "[Bob]"; + mes "Khhh~~~~~~~~~~~~~~~~~~~~~~"; + mes "That was perfect!"; + emotion e_no1; + next; + mes "[Bob]"; + mes "The adhesive filled in just right!!"; + mes "The perfect stapler job!!"; + mes "The speechless and marvelous finishing skill!!"; + next; + mes "[Bob]"; + mes "Impressed!"; + mes "Mysterious!"; + mes "Shocked!"; + emotion e_omg; + next; + mes "[Bob]"; + mes "You did a great job indeed!!!"; + mes "I will tell Dr. Mali!"; + if (countitem(Fix_Kit) > 0) + delitem Fix_Kit,1; + ma_tomas = 17; + changequest 11223,11224; + close; + } else if (ma_tomas > 99) { + if (questprogress(11240)) + .@i = 2; + else if (questprogress(11241)) + .@i = 3; + } else { + mes "[Bob]"; + mes "You bow-wow! bow! wow! I mew! mew! mew!"; + mes "I'm into juice from delicious fish, mew~"; + emotion e_ho; + close; + } + switch (.@i) { + case 1: + case 2: mes "[Bob]"; mes "You bow-wow! bow! wow! I mew! mew! mew!"; mes "I'm into juice from delicious fish, mew~"; @@ -1251,8 +1290,7 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{ emotion e_otl; close; } - } else if (ma_tomas == 15) { - L_Quest2: + case 3: if (checkweight(Knife,1) == 0) { mes " - Notice !! -"; mes " - Since you have too many items - "; @@ -1283,43 +1321,7 @@ mal_in02,140,94,0 script Bob#mal 4_CAT_DOWN,{ mes "Ah, right..."; mes "^0000ffYou may fall into the gap of the crack, unfortunately, so please watch out.^000000"; close; - } else if (ma_tomas == 16) { - mes "[Bob]"; - mes "Khhh~~~~~~~~~~~~~~~~~~~~~~"; - mes "That was perfect!"; - emotion e_no1; - next; - mes "[Bob]"; - mes "The adhesive filled in just right!!"; - mes "The perfect stapler job!!"; - mes "The speechless and marvelous finishing skill!!"; - next; - mes "[Bob]"; - mes "Impressed!"; - mes "Mysterious!"; - mes "Shocked!"; - emotion e_omg; - next; - mes "[Bob]"; - mes "You did a great job indeed!!!"; - mes "I will tell Dr. Mali!"; - if (countitem(Fix_Kit) > 0) - delitem Fix_Kit,1; - ma_tomas = 17; - changequest 11223,11224; - close; - } else if (ma_tomas > 99) { - if (questprogress(11240)) { - @mal_bob_q = 2; - goto L_Quest1; - } else if (questprogress(11241)) - goto L_Quest2; - } - mes "[Bob]"; - mes "You bow-wow! bow! wow! I mew! mew! mew!"; - mes "I'm into juice from delicious fish, mew~"; - emotion e_ho; - close; + } } - script Crack#mal0 FAKE_NPC,{ @@ -2221,38 +2223,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{ } else if (ma_tomas == 26) { // Dialogue in repeatable quest is identical. // Uses a variable to determine the quest mode. - @mal_bob_q = 1; - L_Quest: - .@i = @mal_bob_q; - @mal_bob_q = 0; - if (countitem(Delicious_Jelly) < 30) { - mes "[Biscuit]"; - mes "It's not enough at all~"; - mes "I need at least 30 Delicious Jelly."; - close; - } - mes "[Biscuit]"; - mes "You got them well."; - mes "There won't be any problem to prepare her meal."; - delitem Delicious_Jelly,30; - if (.@i == 1) { - ma_tomas = 27; - changequest 11231,11232; - } else { - erasequest 11244; - setquest 11245; - getitem Egrade_Coin,5; - } - next; - mes "[Biscuit]"; - mes "Though the jelly looks strange, it tastes good..."; - mes "Star Candy seems to like it a lot as well."; - next; - mes "[Biscuit]"; - mes "Have your meal, Star Candy~"; - mes "Uhhh, why don't you eat it?"; - mes "You have no appetite?"; - close; + .@i = 1; } else if (ma_tomas == 27) { mes "[Biscuit]"; mes "Hooo.. it's natural that you have no appetite..."; @@ -2403,8 +2374,7 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{ close; } else if (ma_tomas > 99) { if (questprogress(11244)) { - @mal_bob_q = 2; - goto L_Quest; + .@i = 2; } else if (questprogress(11245,PLAYTIME) == 1) { mes "[Biscuit]"; mes "I'll call you when I need you, so don't worry!"; @@ -2430,10 +2400,39 @@ mal_dun01,136,122,3 script Biscuit#mal 4_ASTER,{ close; } } + } else { + mes "[Biscuit]"; + mes "Star Candy is really good."; + mes "She never loses her smile, even though it's so hard to stand..."; + close; + } + if (countitem(Delicious_Jelly) < 30) { + mes "[Biscuit]"; + mes "It's not enough at all~"; + mes "I need at least 30 Delicious Jelly."; + close; } mes "[Biscuit]"; - mes "Star Candy is really good."; - mes "She never loses her smile, even though it's so hard to stand..."; + mes "You got them well."; + mes "There won't be any problem to prepare her meal."; + delitem Delicious_Jelly,30; + if (.@i == 1) { + ma_tomas = 27; + changequest 11231,11232; + } else { + erasequest 11244; + setquest 11245; + getitem Egrade_Coin,5; + } + next; + mes "[Biscuit]"; + mes "Though the jelly looks strange, it tastes good..."; + mes "Star Candy seems to like it a lot as well."; + next; + mes "[Biscuit]"; + mes "Have your meal, Star Candy~"; + mes "Uhhh, why don't you eat it?"; + mes "You have no appetite?"; close; } diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt index 410ee71a7..8c47fb2ed 100644 --- a/npc/re/quests/quests_malaya.txt +++ b/npc/re/quests/quests_malaya.txt @@ -2426,67 +2426,64 @@ malaya,326,68,2 script Pedro the Sailor 4W_SAILOR,{ end; } else if (.@playtime == 2) { erasequest 7401; - goto L_SetQuest; } else { if (!questprogress(7403)) { - if (!questprogress(7402)) { - goto L_SetQuest; + if (questprogress(7402)) { + mes "[Pedro the Sailor]"; + mes "You know what to do."; + mes "Gather the flowers and take it to Mumbaki to get an Offering Bouquet made."; + next; + mes "[Pedro the Sailor]"; + mes "Give the Bouquet to Miss Diwata to cheer her up."; + mes "....Thank you."; + close; } + } else { mes "[Pedro the Sailor]"; - mes "You know what to do."; - mes "Gather the flowers and take it to Mumbaki to get an Offering Bouquet made."; + mes "Diwata is calm!"; + mes "I can even feel the difference out here."; + mes "I am always in your debt."; next; mes "[Pedro the Sailor]"; - mes "Give the Bouquet to Miss Diwata to cheer her up."; - mes "....Thank you."; + mes "You know what? Why don't you do this on a more regular basis?"; + mes "I think you kind of like doing it."; + setquest 7401; + erasequest 7403; +// if (IsPremiumPcCafe == 10) + getitem Lesser_Agimat, 2; // Lesser_Agimat +// else +// getitem Lesser_Agimat, 1; // Lesser_Agimat + getexp 200000,200000; + if (!rand(3)) + $malayaNames$[0] = strcharinfo(PC_NAME); close; } + } + mes "[Pedro the Sailor]"; + mes "Ah, the thing is..."; + mes "We can't go right now.."; + mes "You see, the ghosts are back..."; + mes "I'm fed up with nuisance."; + next; + mes "[Pedro the Sailor]"; + mes "I mean... Miss Diwata... Isn't feeling very well and, even with the Spiritual Protection"; + mes "a normal person can't stand it."; + next; + if (select("I see. Take care then.", "How about a Floral Tribute?") == 1) { mes "[Pedro the Sailor]"; - mes "Diwata is calm!"; - mes "I can even feel the difference out here."; - mes "I am always in your debt."; - next; - mes "[Pedro the Sailor]"; - mes "You know what? Why don't you do this on a more regular basis?"; - mes "I think you kind of like doing it."; - setquest 7401; - erasequest 7403; -// if (IsPremiumPcCafe == 10) - getitem Lesser_Agimat, 2; // Lesser_Agimat -// else -// getitem Lesser_Agimat, 1; // Lesser_Agimat - getexp 200000,200000; - if (!rand(3)) - $malayaNames$[0] = strcharinfo(PC_NAME); + mes "I'm glad you understand."; + mes "Sigh..."; close; } + mes "[Pedro the Sailor]"; + mes "Hmmm. That would be nice."; + mes "If she can be soothed with flowers...!"; + mes "Good luck."; + setquest 7402; + close; } } end; - -L_SetQuest: - mes "[Pedro the Sailor]"; - mes "Ah, the thing is..."; - mes "We can't go right now.."; - mes "You see, the ghosts are back..."; - mes "I'm fed up with nuisance."; - next; - mes "[Pedro the Sailor]"; - mes "I mean... Miss Diwata... Isn't feeling very well and, even with the Spiritual Protection"; - mes "a normal person can't stand it."; - next; - if (select("I see. Take care then.", "How about a Floral Tribute?") == 1) { - mes "[Pedro the Sailor]"; - mes "I'm glad you understand."; - mes "Sigh..."; - close; - } - mes "[Pedro the Sailor]"; - mes "Hmmm. That would be nice."; - mes "If she can be soothed with flowers...!"; - mes "Good luck."; - setquest 7402; - close; } ma_in01,125,107,3 script Ghost Diwata G_SKOGUL,4,4,{ |