diff options
-rw-r--r-- | npc/003-2/lua.txt | 118 | ||||
-rw-r--r-- | npc/003-3/malindou.txt | 3 | ||||
-rw-r--r-- | npc/009-2/librarian.txt | 18 |
3 files changed, 115 insertions, 24 deletions
diff --git a/npc/003-2/lua.txt b/npc/003-2/lua.txt index 03f6686b6..c6d735bd7 100644 --- a/npc/003-2/lua.txt +++ b/npc/003-2/lua.txt @@ -16,7 +16,9 @@ L_Menu: menu l("Ok, see you later."),L_Close, rif(.@n == 1, l("I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?")), L_Info, - rif(.@n == 2, l("Do you think I'm ready to go to Halinarzo?")), L_Check, + rif(.@n == 2, l("What you asked me for, again?")), L_Task, + rif(.@n == 3, l("Where I needed to go, again?")), L_Complete, + rif(.@n >= 4, l("Do you think I'm ready to go to Halinarzo?")), L_Check, rif(is_gm(), l("I need a GM set, please!")), L_GMItems, rif(is_gm() && #GMEVENT_T <= gettimetick(2), l("I plan in doing an event! Give me the coins!")), L_GMEvent, rif(is_staff(), l("Tell people the name of a new hero.")), L_NewHero, @@ -73,11 +75,24 @@ L_Sponsor: mes ""; goto L_Menu; +OnLuaInfo: + @lua_isok=1; + end; + L_Info: - mes ""; - mesn; - mesq l("Of course, give me just a minute to look up for your data, @@.", strcharinfo(0)); - next; + if (!@lua_isok) { + mes ""; + mesn; + mesq l("Of course, give me just a minute to look up for your data, @@.", strcharinfo(0)); + next; + mesn; + mesq l("You can explore the city on the meanwhile, I need to inspect the data."); + if (!@lua_init) { + @lua_init=1; + addtimer(rand(55000,65000),"Lua#003-2::OnLuaInfo"); + } + close; + } mes "..."; next; mes "... ..."; @@ -87,7 +102,7 @@ L_Info: mesn; mesq l("No criminal record, no bank account, not even a tax payment declaration."); next; - mesq l("I found your birth record, but it is not complete. Here says you were born on Halinarzo."); + mesq l("I found your birth record, but it is not complete. Here says you were born on ##BHalinarzo##b."); next; mesq l("The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt."); next; @@ -96,20 +111,95 @@ L_Info: mesq l("All I can say is that you were born there, and moved by the age of 4, but to where? I don't know."); next; mesn; - mesq l("I'll arrange here with the alliance documents regarding you. I'll add a \"war victim\" status to make your life easier."); + mesq l("Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim."); next; - mesq l("You will then be able to register citzenship in any city, for free. But just once."); + mesn; + mesq l("However..."); + mesq l("You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls."); + mesq l("Not to say about bandits and robbers you'll find."); next; + getexp BaseLevel*30, JobLevel*5; // Reference Levels: (10, 3) + setq General_Narrator, 2; mesn; - mesq l("Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim."); + mesq l("Lucky for you, the Alliance have means to assist you. Please show me the following:"); + goto L_Task; + +L_Task: + mesc l(".:: Main Quest 2-1 ::."), 3; + if (BaseLevel >= 20) + mesc l("* @@/@@ Base Level", BaseLevel, 20), 3; + else + mesc l("* @@/@@ Base Level", BaseLevel, 20), 9; + + if (JobLevel >= 6) + mesc l("* @@/@@ Job Level", JobLevel, 6), 3; + else + mesc l("* @@/@@ Job Level", JobLevel, 6), 9; + + if (Zeny >= 1000) + mesc l("* @@/@@ GP", Zeny, 1000), 3; + else + mesc l("* @@/@@ GP", Zeny, 20), 9; + + if (countitem(TulimsharGuardCard)) + mesc l("* @@/@@ @@", countitem(TulimsharGuardCard), 1, getitemlink(TulimsharGuardCard)), 3; + else + mesc l("* @@/@@ @@", countitem(TulimsharGuardCard), 1, getitemlink(TulimsharGuardCard)), 9; + + if (countitem(FishingRod)) + mesc l("* @@/@@ @@", countitem(FishingRod), 1, getitemlink(FishingRod)), 3; + else + mesc l("* @@/@@ @@", countitem(FishingRod), 1, getitemlink(FishingRod)), 9; + + if (countitem(LifestonePendant)) + mesc l("* @@/@@ @@", countitem(LifestonePendant), 1, getitemlink(LifestonePendant)), 3; + else + mesc l("* @@/@@ @@", countitem(LifestonePendant), 1, getitemlink(LifestonePendant)), 9; + + next; + if (BaseLevel >= 20 && + JobLevel >= 6 && + Zeny >= 1000 && + countitem(TulimsharGuardCard) && + countitem(FishingRod) && + countitem(LifestonePendant)) + goto L_Complete; + + mesn; + if (!countitem(TulimsharGuardCard)) + mesq l("I think you should look for the Lieutenant if you want the Guard Card."); + if (!countitem(FishingRod)) + mesq l("For the fishing rod, try looking for a fisher around here. Tricky one, this quest."); + if (!countitem(LifestonePendant)) + mesq l("I have no idea about who would make a pendant, but lifestone can be done just outside the town walls."); + close; + +L_Finish: + getexp BaseLevel*60, JobLevel*10; // Reference Levels: (20, 6) + setq General_Narrator, 3; + mesn; + mesq l("Great job! You can keep these items, they will be crucial to your journey."); next; - mesq l("You will be killed on the road if you try to go like this. Try helping people. Get money, experience, equipment."); +L_Complete: + mesn; + mesq l("You see the docks on the other side of the town? There should be a ship docked there."); next; - mesq l("And then, finally, depart to ##BHalinarzo##b. Maybe, just maybe, someone recognize you. Or, start a new life! Few people can do that!"); - setq General_Narrator, 2; + mesn; + mesq l("You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you."); next; - mesc l(".:: Help for New Players ::."), 3; - mesc l("Try helping the city guard. Many quests can be found around the city. There are also some on the mines, you should visit it."), 3; + mesn; + mesq l("Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?"); + next; + .@r=reputation("Tulim"); + mesn; + if (.@r <= 35) + mesq l("Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines."); + else if (.@r <= 60) + mesq l("You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes."); + else if (.@r <= 85) + mesq l("You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough."); + else + mesq l("Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places."); close; L_Tips: diff --git a/npc/003-3/malindou.txt b/npc/003-3/malindou.txt index 5156d41e8..d75266377 100644 --- a/npc/003-3/malindou.txt +++ b/npc/003-3/malindou.txt @@ -191,7 +191,7 @@ OnInit: debugmes ""; } // Current UPDATE value: Seg Dez 31 11:45:35 -02 2018 - // Update players position (002-x). Update Peter Quest + // Update players position (002-x). Update Peter Quest. Update Main quest. if ($UPDATE < 1546263935) { query_sql("UPDATE `char` SET `last_x` = '53' WHERE `char`.`last_map`='002-1'"); query_sql("UPDATE `char` SET `last_y` = '38' WHERE `char`.`last_map`='002-1'"); @@ -201,6 +201,7 @@ OnInit: query_sql("UPDATE `char` SET `last_y` = '38' WHERE `char`.`last_map`='002-4'"); query_sql("UPDATE `quest` SET `count1` = '2' WHERE `quest`.`quest_id`="+ShipQuests_Peter+" AND `count1` >= '3'"); + query_sql("UPDATE `quest` SET `count1` = '1' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` >= '2'"); $UPDATE=1546263935; debugmes ""; debugmes "* Update players position (Nard's Ship)"; diff --git a/npc/009-2/librarian.txt b/npc/009-2/librarian.txt index 89ed94583..2c07ad585 100644 --- a/npc/009-2/librarian.txt +++ b/npc/009-2/librarian.txt @@ -7,12 +7,12 @@ 009-2,67,60,2 script Book Keeper NPC_FEMALE,{ .@n = getq(General_Narrator); - if (.@n == 4) mesn; - if (.@n == 4) mesc l("Anyway, I think you should go to Hurnscald Townhall, and speak with the mayor."); - if (.@n == 4) next; - if (.@n >= 4) goto L_Complete; - if (.@n == 3) goto L_Report; - if (.@n == 2) goto L_Advance; + if (.@n == 6) mesn; + if (.@n == 6) mesc l("Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor."); + if (.@n == 6) next; + if (.@n >= 6) goto L_Complete; + if (.@n == 5) goto L_Report; + if (.@n == 4) goto L_Advance; mesn; mesq l("Hello. I am the book keeper, responsible for keeping Halinarzo History."); // TODO: Import data from BR-002-5 (Royal Library) and make available story about TMW-BR @@ -82,7 +82,7 @@ L_Complete: mesc l("They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance."); mesc l("They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King."); mesc l("They must never know we had it. Their sacrifices must be forgotten. For the sake of all."); - compareandsetq General_Narrator, 2, 3; + compareandsetq General_Narrator, 4, 5; close; L_Report: @@ -116,8 +116,8 @@ L_Report: next; mesn; mesq l("Good luck, @@!", strcharinfo(0)); - getexp 1500, 0; // Reference is level 20, so, DO NOT RAISE THIS VALUE. - setq General_Narrator, 4; + getexp 1500, 0; // TODO. + setq General_Narrator, 6; close; OnInit: |