// TMW2 scripts. // TMW2 Authors: // Saulc // jesusava // Description: // Miner leader ask to purge mine // Variable: // MineQuest_Tycoon // License: ??? wich one sould i use ? // Reference: // npc name from https://www.idleminertycoon.com/ // Steps: // 0: Not started // // 1: Took ratto Quest 10 kills // 2: Completed ratto Quest - 50 EXP 50 GP // 3: Awaiting next quest // // 4: Took Cave Maggot Quest 25 kills // 5: Completed Cave Maggot Quest - 200 EXP 150 GP // 6: Awaiting next quest // // 7: Took Cave Snake Quest 50 kills // 8: Completed Cave Snake Quest - 1000 EXP 350 GP // 9: Awaiting next quest // // 10: Took Red Scorpion Quest 100 kills // 11: Completed Red Scorpion Quest - Miner Hat // 12: Awaiting next quest // // 13: Took Black Scorpion Quest 200 kills // 14: Completed Black Scorpion Quest - 12 000 EXP 5 000 GP // 15: Finished all trainment 007-1,66,65,0 script Tycoon NPC_PLAYER,{ .@q=getq(MineQuest_Tycoon); mesn; mesq lg(Hello my friend!"); next; mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters"); next; mesq l("Would you like to help us for a reward ? or maybe you just want some information"); next; goto L_Menu; L_PreMenu: mesn; mesq l("I need your help dude!"); next; goto L_Menu; L_Menu: mesn strcharinfo(0); menu rif(getq(MineQuest_Tycoon) < 15, l("I am a brave adventurer! how can i help you ?")), L_Purge, l("What does miners do in cave ?"), L_CaveMiner, l("Can you give me a tip?"), L_Tip, l("Are you a terrenite?"), L_Terranite, l("I dont care about dirty miners problem."), L_Close, l("No, thanks, its not my job!"), L_Close; L_Purge: .@q=getq(MineQuest_Tycoon); mes ""; if (BaseLevel < 15) goto L_NoLevel; .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2) mesn; if (.@q == 0) { mesq l("Ok, you look strong enough. Now, let me think on an easy task for you..."); next; mesq l("Ah! I know. Kill 10 @@. They usually are near the refectory.", getmonsterlink(Ratto)); setq MineQuest_Tycoon, 1, 0; } else if (.@q == 1) { mesq l("You are killing @@. They usually are near the refectory.", getmonsterlink(Ratto)); } else if (.@q == 2) { mesq l("Good job! Here is your reward! (50 xp 50 gp)"); getexp 50, 0; set Zeny, Zeny + 50; setq MineQuest_Tycoon, 3, 0; } else if (.@q == 3 && BaseLevel >= 19) { mesq l("Less rattos means more food. So, this time the monsters will be a little stronger."); next; mesq l("Ok now i want you to purge cave of Maggot, kill 25 @@. They keep respawning and annoy miners team.", getmonsterlink(CaveMaggot)); setq MineQuest_Tycoon, 4, 0; } else if (.@q == 3 && BaseLevel < 19) { mesq l("You are already too weak for my task, please come back later with some levels."); } else if (.@q == 4) { mesq l("You are killing @@ at the cave. Good progress", getmonsterlink(CaveMaggot)); } else if (.@q == 5) { mesq l("Perfect! Here is your reward! (200 xp 150 gp)"); getexp 200, 0; set Zeny, Zeny + 150; setq MineQuest_Tycoon, 6, 0; } else if (.@q == 6 && BaseLevel >= 24) { mesq l("As you see, That was fast. You can also sell monster parts to inn keeper for some extra money."); next; mesq l("So, please kill 50 @@, Try to collect some lamps in the same time, that could be useful later.", getmonsterlink(CaveSnake)); setq MineQuest_Tycoon, 7, 0; } else if (.@q == 6 && BaseLevel < 24) { mesq l("You are already too weak for my task, please come back later with some levels."); } else if (.@q == 7) { mesq l("You are killing @@ at the cave.", getmonsterlink(CaveSnake)); } else if (.@q == 8) { mesq l("I hope you get some lamps or maybe a short if you re lucky. By the way here is your reward. (1000 xp 350 gp)"); getexp 1000, 0; set Zeny, Zeny + 350; setq MineQuest_Tycoon, 9, 0; } else if (.@q == 9 && BaseLevel >= 29) { mesq l("Ok now you are near to be a real miner if you succes this hard part i will reward you as a @@.", getitemlink(MinerHat)); next; mesq l("I'll ask you to kill 100 @@. This will prove your worth. Good luck.", getmonsterlink(RedScorpion)); setq MineQuest_Tycoon, 10, 0; } else if (.@q == 9 && BaseLevel < 29) { mesq l("You are already too weak for my task, please come back later with some levels."); } else if (.@q == 10) { mesq l("You are killing @@ it's still in progress.", getmonsterlink(RedScorpion)); } else if (.@q == 11) { mesq l("Congratulations! Here is your reward a @@.", getitemlink(MinerHat)); mesq l("We done nice progress thank a lot my friend you re nwo part of the Tulimshar miner crew!"); inventoryplace MinerHat, 1; getitem MinerHat, 1; setq MineQuest_Tycoon, 12, 0; } else if (.@q == 12 && BaseLevel >= 34) { mesq l("Last task i can give you it's to exterminate @@ They actually lock miners progress in the mine.", getmonsterlink(BlackScorpion)); setq MineQuest_Tycoon, 13, 0; } else if (.@q == 12 && BaseLevel < 34) { mesq l("You are already too weak for my last task, please come back later with some levels."); } else if (.@q == 13) { mesq l("You are killing @@ at the cave.", getmonsterlink(BlackScorpion)); } else if (.@q == 14) { mesq l("Wow! You did it! I do not think anyone else could have done that."); mesq l("Here, take this @@ - you deserve it! And here is 5.000 GP and 12.000 XP", getitemlink(Ruby)); inventoryplace Ruby, 1; getitem CandorHeadBand, 1; getexp 12000, 0; set Zeny, Zeny + 5000; setq MineQuest_Tycoon, 15, 0; } next; goto L_PreMenu; L_NoLevel: mesn; mesq l("Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight these monsters.##b"); next; mesn; mesq l("come back stronger and i will give you task"); next; goto L_Close; L_CaveMiner: mes ""; mesn; mesq l("Tulimshar miners mainly try to optain gems."); next; mesq l("In this cave we easily found Coal, Iron ore, and sometime @@.", getitemlink(Ruby)); // maybe add link for coal and iron ? next; goto L_Menu; L_Tip: mes ""; mesn; mesq l("If you fight Black scorpion or others dangerous monster you should run how to 'run and hit'."); next; mesn; mesq l("To do this you need to disable auto move to target in 'yellow bar'."); next; mesn; mesq l("To open yellow Bar you need to right clic on your health bar and active status bar also called yellow bar or you can press '8' on numeric keypad"); next; mesn; mesq l("Now you need to fight monster with the maximum range you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC "); next; mesn; mesq l("With this tip you will be able to fight strong monsters."); next; goto L_Menu; L_Terranite: mes ""; mesn; mesq l("Haha no im not ! but we found trace of them."); next; mesn; mesq l("Terranite probably undermine part of the mine long time ago."); next; mesn; mesq l("That can explain why we have difficulties to found rare gams here ."); next; goto L_Menu; L_Close: close; function tycoon_add_kills { .@qp=getq(MineQuest_Tycoon); .@kp=getq2(MineQuest_Tycoon); // Get number of kills (via getq2) setq MineQuest_Tycoon, .@qp, .@kp+1; //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp); } function tycoon_max_kills { .@qp=getq(MineQuest_Tycoon); setq MineQuest_Tycoon, .@qp+1, 0; //message strcharinfo(0), l("End status @@", .@qp); } OnKillRatto: .@q=getq(MineQuest_Tycoon); .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 1) { if (.@k+1 >= 10) { tycoon_max_kills(); message strcharinfo(0), l("All rattos are dead! Go back to Tycoon"); } else { tycoon_add_kills(); message strcharinfo(0), l("@@/10 Rattos", .@k+1); } } end; OnKillCaveMaggot: .@q=getq(MineQuest_Tycoon); .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 4) { if (.@k+1 >= 25) { tycoon_max_kills(); message strcharinfo(0), l("All cave maggots are dead! Go back to Tycoon"); } else { tycoon_add_kills(); message strcharinfo(0), l("@@/25 Cave Maggots", .@k+1); } } else { if (is_staff()) dispbottom "It's working. (T:OKHM)"; } end; OnKillCaveSnake: .@q=getq(MineQuest_Tycoon); .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 7) { if (.@k+1 >= 50) { tycoon_max_kills(); message strcharinfo(0), l("All cave snakes are dead! Go back to Tycoon"); } else { tycoon_add_kills(); message strcharinfo(0), l("@@/50 Cave Snakes", .@k+1); } } end; OnKillRedScorpion: .@q=getq(MineQuest_Tycoon); .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 10) { if (.@k+1 >= 100) { tycoon_max_kills(); message strcharinfo(0), l("All red scorpions are dead! Go back to Tycoon"); } else { tycoon_add_kills(); message strcharinfo(0), l("@@/100 Red Scorpions", .@k+1); } } end; OnKillBlackScorpion: .@q=getq(MineQuest_Tycoon); .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 13) { if (.@k+1 >= 200) { tycoon_max_kills(); message strcharinfo(0), l("All black scorpions are dead! Go back to Tycoon"); } else { tycoon_add_kills(); message strcharinfo(0), l("@@/1 Black Scorpions", .@k+1); } } end; OnInit: .@npcId = getnpcid(0, .name$); setunitdata(.@npcId, UDT_HEADTOP, ArtisTankTop); setunitdata(.@npcId, UDT_HEADMIDDLE, BromenalPants); setunitdata(.@npcId, UDT_HEADBOTTOM, MinerHat); setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); setunitdata(.@npcId, UDT_HAIRSTYLE, 19); setunitdata(.@npcId, UDT_HAIRCOLOR, 8); .sex = G_MALE; .distance = 4; end; }