// TMW-2 Script // Author: Crazyfefe, Jesusalva // Desc: Originally a Tmw script 003-1,95,97,0 script Aidan NPC_PLAYER,{ function Register { mesn l("Aidan, the Monster Guide"); mesq l("Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?"); next; mesn l("Aidan, the Monster Guide"); mesq l("The register fee is 2000 GP."); do { select rif(Zeny >= 2000, l("Register")), rif(Zeny < 2000, l("How do I get so much money?!")), l("Not at the moment"), l("Information"); switch (@menu) { case 1: mes ""; Zeny=Zeny-2000; MPQUEST=1; mesn l("Aidan, the Monster Guide"); mesq l("Give me a second to look over your paperwork."); next; mesn l("Aidan, the Monster Guide"); mes l("\"Well, looks like you qualify!"); mes l("Welcome to the questing world!\""); close; break; case 2: mes ""; mesn l("Aidan, the Monster Guide"); mesq l("Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!", getitemlink(Ruby), getitemlink(ScorpionStinger)); close; break; case 3: mes ""; mesn l("Aidan, the Monster Guide"); mesq l("Very well, you don't know what you're missing."); close; break; case 4: mes ""; mesn l("Aidan, the Monster Guide"); mesq l("You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun."); next; mesn l("Aidan, the Monster Guide"); mesq l("Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points."); next; mesn l("Aidan, the Monster Guide"); mesq l("To prevent abuse, a registering fee is charged. Nothing major."); next; mesn l("Aidan, the Monster Guide"); mesq l("So whaddaya say, sign up won't you?"); next; mes ""; Register; break; } } while (@menu != 4); } if (BaseLevel < 10) goto L_Weak; if (MPQUEST == 0) Register; mesn l("Aidan, the Monster Guide"); mesq l("You currently have @@ Monster Points. These points are acquired while killing monsters.", Mobpt); if (getq(General_Hunter) == 0 && !GHQUEST) goto L_Register; if (getq(General_Hunter) == 0) goto L_Assign; mes ""; if (getq2(General_Hunter) >= 10000) goto L_Finish; goto L_Assign; close; // Will never be reach. L_Weak: mesn; mesq l("How did you even get here? Go back to Candor, where you belong!"); percentheal -20, 0; close; L_Register: next; mesn; mesq l("The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards."); next; mesn; mesq l("You can gain rares, even. Come register for this special program. It's free!"); if (askyesno() == ASK_YES) { GHQUEST=1; setarray GHMEMO, 0, 0, 0; mesn; mesq l("Registered, welcome to the Grand Hunter Quest!"); next; goto L_Assign; } else { mes ""; mesn; mesq l("A pity..."); close; } L_Assign: GHQ_Assign(Maggot, "Tulimshar", getitemlink(MaggotCocoon)); end; L_Finish: // Check if you can store a Strange Coin (you really should) // Another item too, which I'm sure you won't get it anywhere. inventoryplace StrangeCoin, 1, NPCEyes, 1; mes l("Current progress: @@/10000 @@", getq2(General_Hunter), getmonsterlink(GHQ_GetMonsterIDByQuestID(getq(General_Hunter)))); mes ""; GHMEMO[getq(General_Hunter)]=getq2(General_Hunter); switch (GHQ_GetMonsterIDByQuestID(getq(General_Hunter))) { case Maggot: setq General_Hunter, 0, 0; Zeny=Zeny+25000; inventoryplace MaggotCocoon, 1; makepet(Maggot); // Works the same, even if I'm using mob_db constant getexp 15750, 100; mesn; mesq l("Good job, here is 25,000 GP and 15,750 EXP."); mesq l("And your rare, a @@! Enjoy!", getitemlink(MaggotCocoon)); close; case Snake: setq General_Hunter, 0, 0; Zeny=Zeny+300000; getitem StrangeCoin, 80; getexp 15750, 100; mesn; mesq l("Good job, here is 300,000 GP and 80 @@!", getitemlink(StrangeCoin)); mesc l("Gained @@ XP", "15750"); close; case Scorpion: setq General_Hunter, 0, 0; Zeny=Zeny+100000; getexp 15750, 100; mesn; mesq l("Good job, here is 100,000 GP!"); mesc l("Gained @@ XP", "15750"); close; case ForestMushroom: setq General_Hunter, 0, 0; Zeny=Zeny+175000; getitem StrangeCoin, 60; getexp 15750, 100; mesn; mesq l("Good job, here is 175,000 GP and 60 @@!", getitemlink(StrangeCoin)); mesc l("Gained @@ XP", "15750"); close; case Pinkie: setq General_Hunter, 0, 0; getitem PinkHelmet, 1; getexp 15750, 100; mesn; mesq l("And your rare, a @@! Enjoy!", getitemlink(PinkHelmet)); mesc l("Gained @@ XP", "15750"); close; case Moggun: setq General_Hunter, 0, 0; Zeny=Zeny+150000; getitem StrangeCoin, 60; getexp 15750, 100; mesn; mesq l("Good job, here is 150,000 GP and 60 @@!", getitemlink(StrangeCoin)); mesc l("Gained @@ XP", "15750"); close; } mesc l("ILLEGAL SCRIPT POSITION REACHED, PLEASE REPORT.", 1); close; OnInit: .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); setunitdata(.@npcId, UDT_HEADMIDDLE, LegionCopperArmor); setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers); setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots setunitdata(.@npcId, UDT_HAIRSTYLE, 3); setunitdata(.@npcId, UDT_HAIRCOLOR, 3); .sex = G_MALE; .distance = 5; end; }