From ae1a69634c2fbe345c2dcecf68985ecc1b75704e Mon Sep 17 00:00:00 2001 From: Saulc Date: Tue, 15 May 2018 07:15:40 +0000 Subject: Add new file --- npc/004-1/miner | 527 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 527 insertions(+) create mode 100644 npc/004-1/miner diff --git a/npc/004-1/miner b/npc/004-1/miner new file mode 100644 index 000000000..cc7a20c32 --- /dev/null +++ b/npc/004-1/miner @@ -0,0 +1,527 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Originals: Ernando +// Original review: Lunovox ; Ernando ; Jesusalva +// Objective: Train the player and give some experience. +// License: GPL v3 +// +// CandorQuest_Trainer +// 0: Not started + +// 1: Took Maggot Quest +// 2: Completed Maggot Quest +// 3: Awaiting next quest + +// 4: Took House Maggot Quest +// 5: Completed House Maggot Quest +// 6: Awaiting next quest + +// 7: Took Candor Scorpion Quest +// 8: Completed Candor Scorpion Quest +// 9: Awaiting next quest + +// 10: Took Scorpion Quest +// 11: Completed Scorpion Quest +// 12: Finished all trainment + +004-,25,29,0 script Miner Master NPC_PLAYER,{ + .@q=getq(CandorQuest_Trainer); + .@b=getq(ShipQuests_Knife); // TODO: We should check if user is with weapon equipped instead + + + mesn; + mesq lg(Hello my friend!"); + next; + mesn; + mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters"); + next; + mesn; + mesq l("Would you like to help us for a reward ?"); + next; + goto L_Menu; + +L_PreMenu: + mesn; + mesq l("I need your help dude!"); + next; + goto L_Menu; + +L_Menu: + mesn strcharinfo(0); + menu + l("How can you help me?"), L_ExplicaSiProprio, + rif(getq(CandorQuest_Trainer) < 15, l("I want to be trained!")), L_Trainment, + l("How do I make money?"), L_ExplicaGrama, + l("How I see my items?"), L_ExplicaBagagem, + l("How trade with other players?"), L_ExplicaTrade, + l("How hunt monsters?"), L_ExplicaBatalha, + l("How talk with someone?"), L_ExplicaDialogo, + l("I wanted other info."), L_OutrasInformacoes_gap, + l("No, thanks!"), L_Fechar; + +L_Trainment: + .@q=getq(CandorQuest_Trainer); + mes ""; + if (BaseLevel < 3) goto L_NoLevel; + if (.@b == 0) goto L_NoKnife; + .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + + mesn; + if (.@q == 0) { + mesq l("Ok, you have some level. Now, let me think on an easy task for you..."); + next; + mesq l("Ah! I know. Kill 10 @@. They usually are the crops.", getmonsterlink(Maggot)); + setq CandorQuest_Trainer, 1, 0; + } else if (.@q == 1) { + mesq l("You are killing @@. They are usually at the crops.", getmonsterlink(Maggot)); + } else if (.@q == 2) { + mesq l("Good job! Here is your reward! (40 xp 25 gp)"); + getexp 40, 0; + set Zeny, Zeny + 25; + setq CandorQuest_Trainer, 3, 0; + } else if (.@q == 3) { + mesq l("Less maggots means more food to the town. So, this time the monsters will be a little stronger."); + next; + mesq l("In the storehouse, kill 5 @@. They keep respawning and are annoying.", getmonsterlink(HouseMaggot)); + setq CandorQuest_Trainer, 4, 0; + } else if (.@q == 4) { + mesq l("You are killing @@ at the storehouse.", getmonsterlink(HouseMaggot)); + } else if (.@q == 5) { + mesq l("Perfect! Here is your reward! (40 xp 25 gp)"); + getexp 40, 0; + set Zeny, Zeny + 25; + setq CandorQuest_Trainer, 6, 0; + } else if (.@q == 6) { + mesq l("As you see, helping others is a good way to level up. You can also sell monster parts for some money."); + next; + mesq l("So, please kill 3 @@, which are usually at beaches. You can sell their stingers.", getmonsterlink(CandorScorpion)); + setq CandorQuest_Trainer, 7, 0; + } else if (.@q == 7) { + mesq l("You are killing @@ at the beach.", getmonsterlink(CandorScorpion)); + } else if (.@q == 8) { + mesq l("Managed to drop anything? It requires more luck than skill. Here is your reward. (40 xp 25 gp)"); + getexp 40, 0; + set Zeny, Zeny + 25; + setq CandorQuest_Trainer, 9, 0; + } else if (.@q == 9) { + mesq l("This will be the last task. Besides the @@, the strongest monster on this island worth killing is the @@.", getmonsterlink(ManaBug), getmonsterlink(Scorpion)); + next; + mesq l("I'll ask you to kill 2 @@. This will prove your worth. They are northwest of the island.", getmonsterlink(Scorpion)); + setq CandorQuest_Trainer, 10, 0; + } else if (.@q == 10) { + mesq l("You are killing @@ at northwest from the island.", getmonsterlink(Scorpion)); + } else if (.@q == 11) { + mesq l("Congratulations! Here is your reward (40 xp 25 gp)."); + mesq l("You completed your trainment, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!"); + getexp 90, 0; + set Zeny, Zeny + 25; + setq CandorQuest_Trainer, 12, 0; + } else if (.@q == 12 && BaseLevel >= 9) { + mesq l("You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.", getmonsterlink(ManaBug)); + setq CandorQuest_Trainer, 13, 0; + } else if (.@q == 12 && BaseLevel < 9) { + mesq l("You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels."); + } else if (.@q == 13) { + mesq l("You are trying to kill a @@.", getmonsterlink(ManaBug)); + } 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 200 GP to buy a better weapon.", getitemlink(CandorHeadBand)); + inventoryplace CandorHeadBand, 1; + getitem CandorHeadBand, 1; + set Zeny, Zeny + 200; + setq CandorQuest_Trainer, 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 monsters.##b"); + next; + mesn; + mesq l("Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help."); + next; + mesn; + mesq l("Otherwise, the monsters here usually won't attack you unless provoked."); + next; + mesn; + mesq l("Complete quests, gain some experience, allocate some status, and you'll be ready for my training."); + next; + goto L_PreMenu; + +L_NoKnife: + mesn; + mesq l("And with what you expect to fight monsters? You must arrange yourself a weapon!"); + next; + mesn; + mesq l("I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one."); + next; + mesn; + mesq l("There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind."); + next; + goto L_PreMenu; + +// Anything below this line is copy-pasted from SG:ManaBird, a TMW-BR clone +// Do not attention to it, unless you need to. Translated by Google. +L_ExplicaSiProprio: + mes ""; + mesn; + mesq l("Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters."); + next; + mesn; + mesq lg("He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly."); + next; + mesn; + mesq l("I see you have arms long enough to be an archer."); + next; + goto L_PreMenu; + +L_ExplicaGrama: + mes ""; + mesn; + mesq l("Merchants like to buy body parts of killed monsters and animals because they can make items and equipment."); + next; + mesq l("Some others also like to buy them to keep as trophies. Either way, you can make some money with that."); + next; + goto L_PreMenu; + +L_ExplicaBagagem: + mes ""; + mesn; + mesq l("You can see all your equipment by pressing the F3 key."); + next; + mesn; + mesq l("To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone."); + next; + mesn; + mesq l("Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents."); + next; + mesn; + mesq l("To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold. But equipment can only be sold."); + next; + goto L_PreMenu; + +L_ExplicaTrade: + mes ""; + mesn; + mesq l("Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations."); + next; + mesn; + mesq l("To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear."); + next; + mesn; + mesq l("After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading."); + next; + mesn; + mesq l("Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button."); + next; + mesn; + mesq l("When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button."); + next; + mesn; + mesq l("if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished."); + next; + mesn; + mesq l("Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own."); + next; + goto L_PreMenu; + +// TODO: We have over nine instructions here. You usually can only memorise from three to five at a time! +L_ExplicaBatalha: + mes ""; + mesn; + mesq l("Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b"); + next; + mesn; + mesq l("Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm."); + next; + mesn; +mesq l("There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats."); + next; + mesn; + mesq l("Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item."); + next; + mesn; + mesq l("To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature."); + next; + mesn; + mesq l("To focus on an NPC, press the 'N' key. To talk to him press the 'T' key."); + next; + mesn; + mesq l("To defocus or stop attacking, press Shift + A."); + next; + mesn; + mesq l("You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure."); + next; + goto L_PreMenu; + +L_ExplicaDialogo: + mes ""; + mesn; + mesq l("To display the dialog box with other citizens, press the F7 key."); + next; + mesn; + mesq l("To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen."); + next; + mesn; + mesq l("To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option."); + next; + mesn; + mesq l("In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech."); + next; + mesn; + mesq l("To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it."); + next; + mesn; + mesq l("But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, or you may be severely penalized."); + next; + goto L_PreMenu; + +L_Fechar: + close; + +L_OutrasInformacoes_gap: + mes ""; + goto L_OutrasInformacoes; + +L_OutrasInformacoes: + mesn; + mesq l("What do you want to learn more about?"); + next; + mesn strcharinfo(0); + menu + l("Items."), L_Itens, + l("Monsters."), L_monstros, + l("Styles."), L_estilo, + l("Quests."), L_Quests, + l("NPCs."), L_NPC, + l("Commands."), L_comandos, + l("Status."), L_status, + l("Magic."), L_Magica, + l("Shortcuts."), L_teclado, + l("Rules."), L_regras, + l("I changed my mind."), L_Menu_gap; + +L_Itens: + mes ""; + mesn; + mesq l("There are three types of items."); + mesq l("Those for consumption, equipment and generics."); + next; + mesn; + mesq l("Items for consumption, like potions, can only be used once."); + mesq l("Once used, they will disappear from your inventory."); + next; + mesn; + mesq l("Equippable items are armour, weapons and accessories."); + mesq l("They can be equipped to make your look more interesting or to improve some of its features."); + next; + mesn; + mesq l("Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc."); + next; + goto L_OutrasInformacoes; + +L_monstros: + mes ""; + mesn; + mesq l("Monsters are everywhere. They're a plague we're trying to get rid of."); + next; + mesn; + mesq l("There are three types of monsters: the aggressive, the neutral, and the collaborative."); + next; + mesn; + mesq l("Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead."); + next; + mesn; + mesq l("Neutral monsters do not have such a sense of danger."); + mesq l("They will not attack anyone unless they are attacked first."); + next; + mesn; + mesq l("Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor."); + mesq l("It's always good to see if you have a lot of them around before you think about attacking one!"); + next; + goto L_OutrasInformacoes; + +L_estilo: + mes ""; + mesn; + mesq l("NPC stylists will cut your hair!"); + mesq l("They are known to use a revolutionary hair growth formula."); + next; + goto L_OutrasInformacoes; + +L_Quests: + mes ""; + mesn; + mesq l("There are people in the world who need help!"); + mesq l("Most of these people will not think twice before giving a nice reward to anyone who helps them."); + mesq l("So be nice and help people along the way!"); + next; + goto L_OutrasInformacoes; + +L_NPC: + mes ""; + mesn; + mesq l("NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help."); + next; + mesq l("##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you."); + mesq l("When this is the case, you should get closer to the NPC, until they hear you."); + mesq l("If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!"); + goto L_OutrasInformacoes; + +L_comandos: + mes ""; + mesn; + mesq l("/ clear clears the text box."); + mesq l("/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks."); + //mesq l("/who mostra o número de jogadores conectados no momento."); + mesq l("/ present shows the number of people in the neighbourhood."); + mesq l("/ where shows the name of the map you are in."); + mesq l("/ help explains how to use all client commands."); + mesq l("@commands lists even more advanced commands, but you can't use all of them."); + next; + goto L_OutrasInformacoes; + +L_status: + mes ""; + mesn; + mesq l("People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck."); + next; + mesn; + mesq l("Strength helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow."); + mesq l("Greater agility allows you to attack faster and has a greater chance of evading attacks."); + mesq l("Your dexterity determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles."); + next; + mesn; + mesq l("Vitality determines how resistant you are to attacks and how many blows you can take before you die."); + mesq l("Intelligence is very useful for alchemy and magic, but nowadays there are few opportunities to use it."); + mesq l("Your luck determines several small things, including the number of critical attacks you are going to suffer and perform."); + next; + mesn; + mesq l("I recommend that you train your dexterity a great deal, since most monsters out there are hard to hit without it."); + mesq l("For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day."); + next; + goto L_OutrasInformacoes; + +L_Magica: + mes ""; + mesn; + mesq l("Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic."); + next; + goto L_OutrasInformacoes; + +L_teclado: + mes ""; + mesn; + mesq l("There are many key combinations, press F1 to see a short list of them!"); + next; + goto L_OutrasInformacoes; + +L_regras: + mes ""; + callfunc "GameRules"; + next; + goto L_OutrasInformacoes; + +L_Menu_gap: + mes ""; + goto L_PreMenu; + + function trainer_add_kills + { + .@qp=getq(CandorQuest_Trainer); + .@kp=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + setq CandorQuest_Trainer, .@qp, .@kp+1; + //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp); + } + + function trainer_max_kills + { + .@qp=getq(CandorQuest_Trainer); + setq CandorQuest_Trainer, .@qp+1, 0; + //message strcharinfo(0), l("End status @@", .@qp); + } + +OnKillMaggot: + .@q=getq(CandorQuest_Trainer); + .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + if (.@q == 1) { + if (.@k+1 >= 10) { + trainer_max_kills(); + message strcharinfo(0), l("All maggots are dead!"); + } else { + trainer_add_kills(); + message strcharinfo(0), l("@@/10 Maggots", .@k+1); + } + } + end; +OnKillHouseMaggot: + .@q=getq(CandorQuest_Trainer); + .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + if (.@q == 4) { + if (.@k+1 >= 5) { + trainer_max_kills(); + message strcharinfo(0), l("All house maggots are dead!"); + } else { + trainer_add_kills(); + message strcharinfo(0), l("@@/5 House Maggots", .@k+1); + } + } else { + if (is_staff()) + dispbottom "It's working. (T:OKHM)"; + } + end; +OnKillCandorScorpion: + .@q=getq(CandorQuest_Trainer); + .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + if (.@q == 7) { + if (.@k+1 >= 3) { + trainer_max_kills(); + message strcharinfo(0), l("All candor scorpions are dead!"); + } else { + trainer_add_kills(); + message strcharinfo(0), l("@@/3 Candor Scorpions", .@k+1); + } + } + end; +OnKillScorpion: + .@q=getq(CandorQuest_Trainer); + .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + if (.@q == 10) { + if (.@k+1 >= 2) { + trainer_max_kills(); + message strcharinfo(0), l("All scorpions are dead!"); + } else { + trainer_add_kills(); + message strcharinfo(0), l("@@/2 Scorpion", .@k+1); + } + } + end; +OnKillManaBug: + .@q=getq(CandorQuest_Trainer); + .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + if (.@q == 13) { + if (.@k+1 >= 1) { + trainer_max_kills(); + message strcharinfo(0), l("All mana bugs are dead!"); + } else { + trainer_add_kills(); + message strcharinfo(0), l("@@/1 Mana Bug", .@k+1); + } + } + end; + +OnInit: + .@npcId = getnpcid(0, .name$); + setunitdata(.@npcId, UDT_HEADTOP, LeatherShirt); + setunitdata(.@npcId, UDT_HEADMIDDLE, CottonTrousers); + setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes); + setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); + setunitdata(.@npcId, UDT_HAIRSTYLE, 20); + setunitdata(.@npcId, UDT_HAIRCOLOR, 7); + + .sex = G_MALE; + .distance = 5; + end; +} -- cgit v1.2.3-70-g09d2 From ef00576d53be039a539c76de4ba738a13a1e20ac Mon Sep 17 00:00:00 2001 From: Saulc Date: Tue, 15 May 2018 09:07:54 +0000 Subject: fix tycoon --- npc/004-1/miner | 64 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/npc/004-1/miner b/npc/004-1/miner index cc7a20c32..966ec8b32 100644 --- a/npc/004-1/miner +++ b/npc/004-1/miner @@ -5,8 +5,8 @@ // Original review: Lunovox ; Ernando ; Jesusalva // Objective: Train the player and give some experience. // License: GPL v3 -// -// CandorQuest_Trainer +// https://www.idleminertycoon.com/ reference of npc name +// TulimQuest_Tycoon // 0: Not started // 1: Took Maggot Quest @@ -25,8 +25,8 @@ // 11: Completed Scorpion Quest // 12: Finished all trainment -004-,25,29,0 script Miner Master NPC_PLAYER,{ - .@q=getq(CandorQuest_Trainer); +004-,25,29,0 script Tycoon NPC_PLAYER,{ + .@q=getq(TulimQuest_Tycoon); .@b=getq(ShipQuests_Knife); // TODO: We should check if user is with weapon equipped instead @@ -51,7 +51,7 @@ L_Menu: mesn strcharinfo(0); menu l("How can you help me?"), L_ExplicaSiProprio, - rif(getq(CandorQuest_Trainer) < 15, l("I want to be trained!")), L_Trainment, + rif(getq(TulimQuest_Tycoon) < 15, l("I want to be trained!")), L_Trainment, l("How do I make money?"), L_ExplicaGrama, l("How I see my items?"), L_ExplicaBagagem, l("How trade with other players?"), L_ExplicaTrade, @@ -61,54 +61,54 @@ L_Menu: l("No, thanks!"), L_Fechar; L_Trainment: - .@q=getq(CandorQuest_Trainer); + .@q=getq(TulimQuest_Tycoon); mes ""; if (BaseLevel < 3) goto L_NoLevel; if (.@b == 0) goto L_NoKnife; - .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) mesn; if (.@q == 0) { mesq l("Ok, you have some level. Now, let me think on an easy task for you..."); next; mesq l("Ah! I know. Kill 10 @@. They usually are the crops.", getmonsterlink(Maggot)); - setq CandorQuest_Trainer, 1, 0; + setq TulimQuest_Tycoon, 1, 0; } else if (.@q == 1) { mesq l("You are killing @@. They are usually at the crops.", getmonsterlink(Maggot)); } else if (.@q == 2) { mesq l("Good job! Here is your reward! (40 xp 25 gp)"); getexp 40, 0; set Zeny, Zeny + 25; - setq CandorQuest_Trainer, 3, 0; + setq TulimQuest_Tycoon, 3, 0; } else if (.@q == 3) { mesq l("Less maggots means more food to the town. So, this time the monsters will be a little stronger."); next; mesq l("In the storehouse, kill 5 @@. They keep respawning and are annoying.", getmonsterlink(HouseMaggot)); - setq CandorQuest_Trainer, 4, 0; + setq TulimQuest_Tycoon, 4, 0; } else if (.@q == 4) { mesq l("You are killing @@ at the storehouse.", getmonsterlink(HouseMaggot)); } else if (.@q == 5) { mesq l("Perfect! Here is your reward! (40 xp 25 gp)"); getexp 40, 0; set Zeny, Zeny + 25; - setq CandorQuest_Trainer, 6, 0; + setq TulimQuest_Tycoon, 6, 0; } else if (.@q == 6) { mesq l("As you see, helping others is a good way to level up. You can also sell monster parts for some money."); next; mesq l("So, please kill 3 @@, which are usually at beaches. You can sell their stingers.", getmonsterlink(CandorScorpion)); - setq CandorQuest_Trainer, 7, 0; + setq TulimQuest_Tycoon, 7, 0; } else if (.@q == 7) { mesq l("You are killing @@ at the beach.", getmonsterlink(CandorScorpion)); } else if (.@q == 8) { mesq l("Managed to drop anything? It requires more luck than skill. Here is your reward. (40 xp 25 gp)"); getexp 40, 0; set Zeny, Zeny + 25; - setq CandorQuest_Trainer, 9, 0; + setq TulimQuest_Tycoon, 9, 0; } else if (.@q == 9) { mesq l("This will be the last task. Besides the @@, the strongest monster on this island worth killing is the @@.", getmonsterlink(ManaBug), getmonsterlink(Scorpion)); next; mesq l("I'll ask you to kill 2 @@. This will prove your worth. They are northwest of the island.", getmonsterlink(Scorpion)); - setq CandorQuest_Trainer, 10, 0; + setq TulimQuest_Tycoon, 10, 0; } else if (.@q == 10) { mesq l("You are killing @@ at northwest from the island.", getmonsterlink(Scorpion)); } else if (.@q == 11) { @@ -116,10 +116,10 @@ L_Trainment: mesq l("You completed your trainment, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!"); getexp 90, 0; set Zeny, Zeny + 25; - setq CandorQuest_Trainer, 12, 0; + setq TulimQuest_Tycoon, 12, 0; } else if (.@q == 12 && BaseLevel >= 9) { mesq l("You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.", getmonsterlink(ManaBug)); - setq CandorQuest_Trainer, 13, 0; + setq TulimQuest_Tycoon, 13, 0; } else if (.@q == 12 && BaseLevel < 9) { mesq l("You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels."); } else if (.@q == 13) { @@ -130,7 +130,7 @@ L_Trainment: inventoryplace CandorHeadBand, 1; getitem CandorHeadBand, 1; set Zeny, Zeny + 200; - setq CandorQuest_Trainer, 15, 0; + setq TulimQuest_Tycoon, 15, 0; } next; goto L_PreMenu; @@ -430,22 +430,22 @@ L_Menu_gap: function trainer_add_kills { - .@qp=getq(CandorQuest_Trainer); - .@kp=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) - setq CandorQuest_Trainer, .@qp, .@kp+1; + .@qp=getq(TulimQuest_Tycoon); + .@kp=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) + setq TulimQuest_Tycoon, .@qp, .@kp+1; //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp); } function trainer_max_kills { - .@qp=getq(CandorQuest_Trainer); - setq CandorQuest_Trainer, .@qp+1, 0; + .@qp=getq(TulimQuest_Tycoon); + setq TulimQuest_Tycoon, .@qp+1, 0; //message strcharinfo(0), l("End status @@", .@qp); } OnKillMaggot: - .@q=getq(CandorQuest_Trainer); - .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + .@q=getq(TulimQuest_Tycoon); + .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 1) { if (.@k+1 >= 10) { trainer_max_kills(); @@ -457,8 +457,8 @@ OnKillMaggot: } end; OnKillHouseMaggot: - .@q=getq(CandorQuest_Trainer); - .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + .@q=getq(TulimQuest_Tycoon); + .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 4) { if (.@k+1 >= 5) { trainer_max_kills(); @@ -473,8 +473,8 @@ OnKillHouseMaggot: } end; OnKillCandorScorpion: - .@q=getq(CandorQuest_Trainer); - .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + .@q=getq(TulimQuest_Tycoon); + .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 7) { if (.@k+1 >= 3) { trainer_max_kills(); @@ -486,8 +486,8 @@ OnKillCandorScorpion: } end; OnKillScorpion: - .@q=getq(CandorQuest_Trainer); - .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + .@q=getq(TulimQuest_Tycoon); + .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 10) { if (.@k+1 >= 2) { trainer_max_kills(); @@ -499,8 +499,8 @@ OnKillScorpion: } end; OnKillManaBug: - .@q=getq(CandorQuest_Trainer); - .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2) + .@q=getq(TulimQuest_Tycoon); + .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 13) { if (.@k+1 >= 1) { trainer_max_kills(); -- cgit v1.2.3-70-g09d2 From 4996dd58221dd444d8a00a641c2f908456fe83bd Mon Sep 17 00:00:00 2001 From: Saulc Date: Tue, 15 May 2018 10:11:12 +0000 Subject: save stop at XXX --- npc/004-1/miner | 108 +++++++++++++++++++++++--------------------------------- 1 file changed, 45 insertions(+), 63 deletions(-) diff --git a/npc/004-1/miner b/npc/004-1/miner index 966ec8b32..4afc039ab 100644 --- a/npc/004-1/miner +++ b/npc/004-1/miner @@ -1,34 +1,34 @@ // TMW2 scripts. // Authors: -// Jesusalva -// Originals: Ernando -// Original review: Lunovox ; Ernando ; Jesusalva -// Objective: Train the player and give some experience. +// Saulc +// Objective: Farm miner cave monster // License: GPL v3 // https://www.idleminertycoon.com/ reference of npc name // TulimQuest_Tycoon // 0: Not started -// 1: Took Maggot Quest -// 2: Completed Maggot Quest +// 1: Took ratto Quest 10 kills +// 2: Completed ratto Quest - 50 EXP 50 GP // 3: Awaiting next quest -// 4: Took House Maggot Quest -// 5: Completed House Maggot Quest +// 4: Took Cave Maggot Quest 25 kills +// 5: Completed Cave Maggot Quest - 200 EXP 150 GP // 6: Awaiting next quest -// 7: Took Candor Scorpion Quest -// 8: Completed Candor Scorpion Quest +// 7: Took Cave Snake Quest 50 kills +// 8: Completed Cave Snake Quest - 1000 EXP 350 GP // 9: Awaiting next quest -// 10: Took Scorpion Quest -// 11: Completed Scorpion Quest -// 12: Finished all trainment +// 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 004-,25,29,0 script Tycoon NPC_PLAYER,{ .@q=getq(TulimQuest_Tycoon); - .@b=getq(ShipQuests_Knife); // TODO: We should check if user is with weapon equipped instead - mesn; mesq lg(Hello my friend!"); @@ -51,68 +51,67 @@ L_Menu: mesn strcharinfo(0); menu l("How can you help me?"), L_ExplicaSiProprio, - rif(getq(TulimQuest_Tycoon) < 15, l("I want to be trained!")), L_Trainment, + rif(getq(TulimQuest_Tycoon) < 15, l("I want to be trained!")), L_Purge, l("How do I make money?"), L_ExplicaGrama, l("How I see my items?"), L_ExplicaBagagem, l("How trade with other players?"), L_ExplicaTrade, l("How hunt monsters?"), L_ExplicaBatalha, l("How talk with someone?"), L_ExplicaDialogo, l("I wanted other info."), L_OutrasInformacoes_gap, - l("No, thanks!"), L_Fechar; + l("No, thanks, its not my job!"), L_Close; -L_Trainment: +L_Purge: .@q=getq(TulimQuest_Tycoon); mes ""; - if (BaseLevel < 3) goto L_NoLevel; - if (.@b == 0) goto L_NoKnife; + if (BaseLevel < 15) goto L_NoLevel; .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) mesn; if (.@q == 0) { - mesq l("Ok, you have some level. Now, let me think on an easy task for you..."); + 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 the crops.", getmonsterlink(Maggot)); + mesq l("Ah! I know. Kill 10 @@. They usually are near the refectory.", getmonsterlink(Ratto)); setq TulimQuest_Tycoon, 1, 0; } else if (.@q == 1) { - mesq l("You are killing @@. They are usually at the crops.", getmonsterlink(Maggot)); + 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! (40 xp 25 gp)"); - getexp 40, 0; - set Zeny, Zeny + 25; + mesq l("Good job! Here is your reward! (50 xp 50 gp)"); + getexp 50, 0; + set Zeny, Zeny + 50; setq TulimQuest_Tycoon, 3, 0; } else if (.@q == 3) { - mesq l("Less maggots means more food to the town. So, this time the monsters will be a little stronger."); + mesq l("Less rattos means more food. So, this time the monsters will be a little stronger."); next; - mesq l("In the storehouse, kill 5 @@. They keep respawning and are annoying.", getmonsterlink(HouseMaggot)); + mesq l("Ok now i want you to purge cave of Maggot, kill 25 @@. They keep respawning and annoy miners team.", getmonsterlink(CaveMaggot)); setq TulimQuest_Tycoon, 4, 0; } else if (.@q == 4) { - mesq l("You are killing @@ at the storehouse.", getmonsterlink(HouseMaggot)); + mesq l("You are killing @@ at the cave. Good progress", getmonsterlink(CaveMaggot)); } else if (.@q == 5) { - mesq l("Perfect! Here is your reward! (40 xp 25 gp)"); - getexp 40, 0; - set Zeny, Zeny + 25; + mesq l("Perfect! Here is your reward! (200 xp 150 gp)"); + getexp 200, 0; + set Zeny, Zeny + 150; setq TulimQuest_Tycoon, 6, 0; } else if (.@q == 6) { - mesq l("As you see, helping others is a good way to level up. You can also sell monster parts for some money."); + 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 3 @@, which are usually at beaches. You can sell their stingers.", getmonsterlink(CandorScorpion)); + mesq l("So, please kill 50 @@, Try to collect some lamps in the same time, that could be useful later.", getmonsterlink(CaveSnake)); setq TulimQuest_Tycoon, 7, 0; } else if (.@q == 7) { - mesq l("You are killing @@ at the beach.", getmonsterlink(CandorScorpion)); + mesq l("You are killing @@ at the cave.", getmonsterlink(CaveSnake)); } else if (.@q == 8) { - mesq l("Managed to drop anything? It requires more luck than skill. Here is your reward. (40 xp 25 gp)"); - getexp 40, 0; - set Zeny, Zeny + 25; + 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 TulimQuest_Tycoon, 9, 0; } else if (.@q == 9) { - mesq l("This will be the last task. Besides the @@, the strongest monster on this island worth killing is the @@.", getmonsterlink(ManaBug), getmonsterlink(Scorpion)); + 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 2 @@. This will prove your worth. They are northwest of the island.", getmonsterlink(Scorpion)); + mesq l("I'll ask you to kill 100 @@. This will prove your worth. Good luck.", getmonsterlink(RedScorpion)); setq TulimQuest_Tycoon, 10, 0; } else if (.@q == 10) { - mesq l("You are killing @@ at northwest from the island.", getmonsterlink(Scorpion)); + mesq l("You are killing @@ it's still in progress.", getmonsterlink(RedScorpion)); } else if (.@q == 11) { - mesq l("Congratulations! Here is your reward (40 xp 25 gp)."); + mesq l("Congratulations! Here is your reward ( XXX xp 25 gp)."); mesq l("You completed your trainment, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!"); getexp 90, 0; set Zeny, Zeny + 25; @@ -137,30 +136,13 @@ L_Trainment: 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 monsters.##b"); - next; - mesn; - mesq l("Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help."); - next; - mesn; - mesq l("Otherwise, the monsters here usually won't attack you unless provoked."); + 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("Complete quests, gain some experience, allocate some status, and you'll be ready for my training."); + mesq l("come back stronger and i will give you tast"); next; - goto L_PreMenu; + goto L_Close; -L_NoKnife: - mesn; - mesq l("And with what you expect to fight monsters? You must arrange yourself a weapon!"); - next; - mesn; - mesq l("I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one."); - next; - mesn; - mesq l("There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind."); - next; - goto L_PreMenu; // Anything below this line is copy-pasted from SG:ManaBird, a TMW-BR clone // Do not attention to it, unless you need to. Translated by Google. @@ -278,7 +260,7 @@ L_ExplicaDialogo: next; goto L_PreMenu; -L_Fechar: +L_Close: close; L_OutrasInformacoes_gap: -- cgit v1.2.3-70-g09d2 From 1333ba46d4e2534e7948496ccda6fa173aeeda2b Mon Sep 17 00:00:00 2001 From: Saulc Date: Tue, 15 May 2018 12:03:54 +0000 Subject: Update miner --- npc/004-1/miner | 55 +++++++++++++++++++++++++------------------------------ 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/npc/004-1/miner b/npc/004-1/miner index 4afc039ab..eeba08e4c 100644 --- a/npc/004-1/miner +++ b/npc/004-1/miner @@ -37,7 +37,7 @@ mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters"); next; mesn; - mesq l("Would you like to help us for a reward ?"); + mesq l("Would you like to help us for a reward ? or maybe you just want some information"); next; goto L_Menu; @@ -50,8 +50,7 @@ L_PreMenu: L_Menu: mesn strcharinfo(0); menu - l("How can you help me?"), L_ExplicaSiProprio, - rif(getq(TulimQuest_Tycoon) < 15, l("I want to be trained!")), L_Purge, + rif(getq(TulimQuest_Tycoon) < 15, l("I am a brave adventurer! how can i help you ?")), L_Purge, l("How do I make money?"), L_ExplicaGrama, l("How I see my items?"), L_ExplicaBagagem, l("How trade with other players?"), L_ExplicaTrade, @@ -79,11 +78,13 @@ L_Purge: getexp 50, 0; set Zeny, Zeny + 50; setq TulimQuest_Tycoon, 3, 0; - } else if (.@q == 3) { + } 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 TulimQuest_Tycoon, 4, 0; + } else if (.@q == 3 && BaseLevel < 19) { + mesq l("You are already too weak for my last 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) { @@ -91,11 +92,13 @@ L_Purge: getexp 200, 0; set Zeny, Zeny + 150; setq TulimQuest_Tycoon, 6, 0; - } else if (.@q == 6) { + } 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 TulimQuest_Tycoon, 7, 0; + } else if (.@q == 6 && BaseLevel < 24) { + mesq l("You are already too weak for my last 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) { @@ -103,32 +106,35 @@ L_Purge: getexp 1000, 0; set Zeny, Zeny + 350; setq TulimQuest_Tycoon, 9, 0; - } else if (.@q == 9) { + } 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 TulimQuest_Tycoon, 10, 0; + } else if (.@q == 9 && BaseLevel < 29) { + mesq l("You are already too weak for my last 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 ( XXX xp 25 gp)."); - mesq l("You completed your trainment, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!"); - getexp 90, 0; - set Zeny, Zeny + 25; + 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 TulimQuest_Tycoon, 12, 0; - } else if (.@q == 12 && BaseLevel >= 9) { - mesq l("You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.", getmonsterlink(ManaBug)); + } 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 TulimQuest_Tycoon, 13, 0; - } else if (.@q == 12 && BaseLevel < 9) { - mesq l("You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels."); + } 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 trying to kill a @@.", getmonsterlink(ManaBug)); + 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 200 GP to buy a better weapon.", getitemlink(CandorHeadBand)); - inventoryplace CandorHeadBand, 1; + mesq l("Here, take this @@ - you deserve it! And here is 5000 GP and 12.000 XP", getitemlink(Ruby)); + inventoryplace Ruby, 1; getitem CandorHeadBand, 1; - set Zeny, Zeny + 200; + getexp 12000, 0; + set Zeny, Zeny + 5000; setq TulimQuest_Tycoon, 15, 0; } next; @@ -146,18 +152,7 @@ L_NoLevel: // Anything below this line is copy-pasted from SG:ManaBird, a TMW-BR clone // Do not attention to it, unless you need to. Translated by Google. -L_ExplicaSiProprio: - mes ""; - mesn; - mesq l("Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters."); - next; - mesn; - mesq lg("He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly."); - next; - mesn; - mesq l("I see you have arms long enough to be an archer."); - next; - goto L_PreMenu; + L_ExplicaGrama: mes ""; -- cgit v1.2.3-70-g09d2 From c920afa5b21039a3da5eb254866f354c71a49c5e Mon Sep 17 00:00:00 2001 From: Saulc Date: Tue, 15 May 2018 13:06:20 +0000 Subject: Update miner --- npc/004-1/miner | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npc/004-1/miner b/npc/004-1/miner index eeba08e4c..32df96c7f 100644 --- a/npc/004-1/miner +++ b/npc/004-1/miner @@ -51,7 +51,7 @@ L_Menu: mesn strcharinfo(0); menu rif(getq(TulimQuest_Tycoon) < 15, l("I am a brave adventurer! how can i help you ?")), L_Purge, - l("How do I make money?"), L_ExplicaGrama, + l("What does miners do in cave ?"), L_ExplicaGrama, l("How I see my items?"), L_ExplicaBagagem, l("How trade with other players?"), L_ExplicaTrade, l("How hunt monsters?"), L_ExplicaBatalha, -- cgit v1.2.3-70-g09d2 From c923e7acae53872b12588c8aeed0d930d3b1c0f6 Mon Sep 17 00:00:00 2001 From: Saulc Date: Tue, 15 May 2018 13:41:44 +0000 Subject: Update miner --- npc/004-1/miner | 282 +++++++++----------------------------------------------- 1 file changed, 42 insertions(+), 240 deletions(-) diff --git a/npc/004-1/miner b/npc/004-1/miner index 32df96c7f..5233cc1c5 100644 --- a/npc/004-1/miner +++ b/npc/004-1/miner @@ -1,6 +1,6 @@ // TMW2 scripts. // Authors: -// Saulc +// Saulc, jesusava // Objective: Farm miner cave monster // License: GPL v3 // https://www.idleminertycoon.com/ reference of npc name @@ -52,11 +52,9 @@ L_Menu: menu rif(getq(TulimQuest_Tycoon) < 15, l("I am a brave adventurer! how can i help you ?")), L_Purge, l("What does miners do in cave ?"), L_ExplicaGrama, - l("How I see my items?"), L_ExplicaBagagem, - l("How trade with other players?"), L_ExplicaTrade, - l("How hunt monsters?"), L_ExplicaBatalha, - l("How talk with someone?"), L_ExplicaDialogo, - l("I wanted other info."), L_OutrasInformacoes_gap, + l("can you give me a tip?"), L_ExplicaBagagem, + l("Are you a terrenite?"), L_ExplicaTrade, + l("I dont care about dirty miners problem."), L_Close, l("No, thanks, its not my job!"), L_Close; L_Purge: @@ -166,7 +164,7 @@ L_ExplicaGrama: L_ExplicaBagagem: mes ""; mesn; - mesq l("You can see all your equipment by pressing the F3 key."); + mesq l("If you fight Black scorpion ."); next; mesn; mesq l("To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone."); @@ -204,208 +202,12 @@ L_ExplicaTrade: next; goto L_PreMenu; -// TODO: We have over nine instructions here. You usually can only memorise from three to five at a time! -L_ExplicaBatalha: - mes ""; - mesn; - mesq l("Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b"); - next; - mesn; - mesq l("Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm."); - next; - mesn; -mesq l("There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats."); - next; - mesn; - mesq l("Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item."); - next; - mesn; - mesq l("To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature."); - next; - mesn; - mesq l("To focus on an NPC, press the 'N' key. To talk to him press the 'T' key."); - next; - mesn; - mesq l("To defocus or stop attacking, press Shift + A."); - next; - mesn; - mesq l("You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure."); - next; - goto L_PreMenu; - -L_ExplicaDialogo: - mes ""; - mesn; - mesq l("To display the dialog box with other citizens, press the F7 key."); - next; - mesn; - mesq l("To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen."); - next; - mesn; - mesq l("To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option."); - next; - mesn; - mesq l("In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech."); - next; - mesn; - mesq l("To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it."); - next; - mesn; - mesq l("But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, or you may be severely penalized."); - next; - goto L_PreMenu; L_Close: close; -L_OutrasInformacoes_gap: - mes ""; - goto L_OutrasInformacoes; - -L_OutrasInformacoes: - mesn; - mesq l("What do you want to learn more about?"); - next; - mesn strcharinfo(0); - menu - l("Items."), L_Itens, - l("Monsters."), L_monstros, - l("Styles."), L_estilo, - l("Quests."), L_Quests, - l("NPCs."), L_NPC, - l("Commands."), L_comandos, - l("Status."), L_status, - l("Magic."), L_Magica, - l("Shortcuts."), L_teclado, - l("Rules."), L_regras, - l("I changed my mind."), L_Menu_gap; - -L_Itens: - mes ""; - mesn; - mesq l("There are three types of items."); - mesq l("Those for consumption, equipment and generics."); - next; - mesn; - mesq l("Items for consumption, like potions, can only be used once."); - mesq l("Once used, they will disappear from your inventory."); - next; - mesn; - mesq l("Equippable items are armour, weapons and accessories."); - mesq l("They can be equipped to make your look more interesting or to improve some of its features."); - next; - mesn; - mesq l("Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc."); - next; - goto L_OutrasInformacoes; - -L_monstros: - mes ""; - mesn; - mesq l("Monsters are everywhere. They're a plague we're trying to get rid of."); - next; - mesn; - mesq l("There are three types of monsters: the aggressive, the neutral, and the collaborative."); - next; - mesn; - mesq l("Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead."); - next; - mesn; - mesq l("Neutral monsters do not have such a sense of danger."); - mesq l("They will not attack anyone unless they are attacked first."); - next; - mesn; - mesq l("Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor."); - mesq l("It's always good to see if you have a lot of them around before you think about attacking one!"); - next; - goto L_OutrasInformacoes; - -L_estilo: - mes ""; - mesn; - mesq l("NPC stylists will cut your hair!"); - mesq l("They are known to use a revolutionary hair growth formula."); - next; - goto L_OutrasInformacoes; - -L_Quests: - mes ""; - mesn; - mesq l("There are people in the world who need help!"); - mesq l("Most of these people will not think twice before giving a nice reward to anyone who helps them."); - mesq l("So be nice and help people along the way!"); - next; - goto L_OutrasInformacoes; - -L_NPC: - mes ""; - mesn; - mesq l("NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help."); - next; - mesq l("##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you."); - mesq l("When this is the case, you should get closer to the NPC, until they hear you."); - mesq l("If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!"); - goto L_OutrasInformacoes; - -L_comandos: - mes ""; - mesn; - mesq l("/ clear clears the text box."); - mesq l("/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks."); - //mesq l("/who mostra o número de jogadores conectados no momento."); - mesq l("/ present shows the number of people in the neighbourhood."); - mesq l("/ where shows the name of the map you are in."); - mesq l("/ help explains how to use all client commands."); - mesq l("@commands lists even more advanced commands, but you can't use all of them."); - next; - goto L_OutrasInformacoes; - -L_status: - mes ""; - mesn; - mesq l("People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck."); - next; - mesn; - mesq l("Strength helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow."); - mesq l("Greater agility allows you to attack faster and has a greater chance of evading attacks."); - mesq l("Your dexterity determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles."); - next; - mesn; - mesq l("Vitality determines how resistant you are to attacks and how many blows you can take before you die."); - mesq l("Intelligence is very useful for alchemy and magic, but nowadays there are few opportunities to use it."); - mesq l("Your luck determines several small things, including the number of critical attacks you are going to suffer and perform."); - next; - mesn; - mesq l("I recommend that you train your dexterity a great deal, since most monsters out there are hard to hit without it."); - mesq l("For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day."); - next; - goto L_OutrasInformacoes; - -L_Magica: - mes ""; - mesn; - mesq l("Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic."); - next; - goto L_OutrasInformacoes; - -L_teclado: - mes ""; - mesn; - mesq l("There are many key combinations, press F1 to see a short list of them!"); - next; - goto L_OutrasInformacoes; - -L_regras: - mes ""; - callfunc "GameRules"; - next; - goto L_OutrasInformacoes; - -L_Menu_gap: - mes ""; - goto L_PreMenu; - function trainer_add_kills + function tycoon_add_kills { .@qp=getq(TulimQuest_Tycoon); .@kp=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) @@ -413,92 +215,92 @@ L_Menu_gap: //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp); } - function trainer_max_kills + function tycoon_max_kills { .@qp=getq(TulimQuest_Tycoon); setq TulimQuest_Tycoon, .@qp+1, 0; //message strcharinfo(0), l("End status @@", .@qp); } -OnKillMaggot: +OnKillRatto: .@q=getq(TulimQuest_Tycoon); .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 1) { if (.@k+1 >= 10) { - trainer_max_kills(); - message strcharinfo(0), l("All maggots are dead!"); + tycoon_max_kills(); + message strcharinfo(0), l("All rattos are dead! Go back to Tycoon"); } else { - trainer_add_kills(); - message strcharinfo(0), l("@@/10 Maggots", .@k+1); + tycoon_add_kills(); + message strcharinfo(0), l("@@/10 Rattos", .@k+1); } } end; -OnKillHouseMaggot: +OnKillCaveMaggot: .@q=getq(TulimQuest_Tycoon); .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 4) { - if (.@k+1 >= 5) { - trainer_max_kills(); - message strcharinfo(0), l("All house maggots are dead!"); + if (.@k+1 >= 25) { + tycoon_max_kills(); + message strcharinfo(0), l("All cave maggots are dead! Go back to Tycoon"); } else { - trainer_add_kills(); - message strcharinfo(0), l("@@/5 House Maggots", .@k+1); + tycoon_add_kills(); + message strcharinfo(0), l("@@/25 Cave Maggots", .@k+1); } } else { if (is_staff()) dispbottom "It's working. (T:OKHM)"; } end; -OnKillCandorScorpion: +OnKillCaveSnake: .@q=getq(TulimQuest_Tycoon); .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 7) { - if (.@k+1 >= 3) { - trainer_max_kills(); - message strcharinfo(0), l("All candor scorpions are dead!"); + if (.@k+1 >= 50) { + tycoon_max_kills(); + message strcharinfo(0), l("All cave snakes are dead! Go back to Tycoon"); } else { - trainer_add_kills(); - message strcharinfo(0), l("@@/3 Candor Scorpions", .@k+1); + tycoon_add_kills(); + message strcharinfo(0), l("@@/50 Cave Snakes", .@k+1); } } end; -OnKillScorpion: +OnKillRedScorpion: .@q=getq(TulimQuest_Tycoon); .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 10) { - if (.@k+1 >= 2) { - trainer_max_kills(); - message strcharinfo(0), l("All scorpions are dead!"); + if (.@k+1 >= 100) { + tycoon_max_kills(); + message strcharinfo(0), l("All red scorpions are dead! Go back to Tycoon"); } else { - trainer_add_kills(); - message strcharinfo(0), l("@@/2 Scorpion", .@k+1); + tycoon_add_kills(); + message strcharinfo(0), l("@@/100 Red Scorpions", .@k+1); } } end; -OnKillManaBug: +OnKillBlackScorpion: .@q=getq(TulimQuest_Tycoon); .@k=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) if (.@q == 13) { - if (.@k+1 >= 1) { - trainer_max_kills(); - message strcharinfo(0), l("All mana bugs are dead!"); + if (.@k+1 >= 200) { + tycoon_max_kills(); + message strcharinfo(0), l("All black scorpions are dead! Go back to Tycoon"); } else { - trainer_add_kills(); - message strcharinfo(0), l("@@/1 Mana Bug", .@k+1); + tycoon_add_kills(); + message strcharinfo(0), l("@@/1 Black Scorpions", .@k+1); } } end; OnInit: .@npcId = getnpcid(0, .name$); - setunitdata(.@npcId, UDT_HEADTOP, LeatherShirt); - setunitdata(.@npcId, UDT_HEADMIDDLE, CottonTrousers); - setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes); + setunitdata(.@npcId, UDT_HEADTOP, ArtisTankTop); + setunitdata(.@npcId, UDT_HEADMIDDLE, BromenalPants); + setunitdata(.@npcId, UDT_HEADBOTTOM, MinerHat); setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); - setunitdata(.@npcId, UDT_HAIRSTYLE, 20); - setunitdata(.@npcId, UDT_HAIRCOLOR, 7); + setunitdata(.@npcId, UDT_HAIRSTYLE, 19); + setunitdata(.@npcId, UDT_HAIRCOLOR, 8); .sex = G_MALE; - .distance = 5; + .distance = 4; end; } -- cgit v1.2.3-70-g09d2 From 74e8e2b456951060253fafa62672181c458e60f5 Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 09:30:14 +0000 Subject: tycoon done --- npc/004-1/miner | 306 --------------------------------------------------- npc/004-1/tycoon.txt | 298 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 298 insertions(+), 306 deletions(-) delete mode 100644 npc/004-1/miner create mode 100644 npc/004-1/tycoon.txt diff --git a/npc/004-1/miner b/npc/004-1/miner deleted file mode 100644 index 5233cc1c5..000000000 --- a/npc/004-1/miner +++ /dev/null @@ -1,306 +0,0 @@ -// TMW2 scripts. -// Authors: -// Saulc, jesusava -// Objective: Farm miner cave monster -// License: GPL v3 -// https://www.idleminertycoon.com/ reference of npc name -// TulimQuest_Tycoon -// 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 - -004-,25,29,0 script Tycoon NPC_PLAYER,{ - .@q=getq(TulimQuest_Tycoon); - - mesn; - mesq lg(Hello my friend!"); - next; - mesn; - mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters"); - next; - mesn; - 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(TulimQuest_Tycoon) < 15, l("I am a brave adventurer! how can i help you ?")), L_Purge, - l("What does miners do in cave ?"), L_ExplicaGrama, - l("can you give me a tip?"), L_ExplicaBagagem, - l("Are you a terrenite?"), L_ExplicaTrade, - l("I dont care about dirty miners problem."), L_Close, - l("No, thanks, its not my job!"), L_Close; - -L_Purge: - .@q=getq(TulimQuest_Tycoon); - mes ""; - if (BaseLevel < 15) goto L_NoLevel; - .@k=getq2(TulimQuest_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 TulimQuest_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 TulimQuest_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 TulimQuest_Tycoon, 4, 0; - } else if (.@q == 3 && BaseLevel < 19) { - mesq l("You are already too weak for my last 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 TulimQuest_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 TulimQuest_Tycoon, 7, 0; - } else if (.@q == 6 && BaseLevel < 24) { - mesq l("You are already too weak for my last 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 TulimQuest_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 TulimQuest_Tycoon, 10, 0; - } else if (.@q == 9 && BaseLevel < 29) { - mesq l("You are already too weak for my last 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 TulimQuest_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 TulimQuest_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 5000 GP and 12.000 XP", getitemlink(Ruby)); - inventoryplace Ruby, 1; - getitem CandorHeadBand, 1; - getexp 12000, 0; - set Zeny, Zeny + 5000; - setq TulimQuest_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 tast"); - next; - goto L_Close; - - -// Anything below this line is copy-pasted from SG:ManaBird, a TMW-BR clone -// Do not attention to it, unless you need to. Translated by Google. - - -L_ExplicaGrama: - mes ""; - mesn; - mesq l("Merchants like to buy body parts of killed monsters and animals because they can make items and equipment."); - next; - mesq l("Some others also like to buy them to keep as trophies. Either way, you can make some money with that."); - next; - goto L_PreMenu; - -L_ExplicaBagagem: - mes ""; - mesn; - mesq l("If you fight Black scorpion ."); - next; - mesn; - mesq l("To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone."); - next; - mesn; - mesq l("Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents."); - next; - mesn; - mesq l("To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold. But equipment can only be sold."); - next; - goto L_PreMenu; - -L_ExplicaTrade: - mes ""; - mesn; - mesq l("Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations."); - next; - mesn; - mesq l("To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear."); - next; - mesn; - mesq l("After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading."); - next; - mesn; - mesq l("Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button."); - next; - mesn; - mesq l("When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button."); - next; - mesn; - mesq l("if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished."); - next; - mesn; - mesq l("Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own."); - next; - goto L_PreMenu; - - -L_Close: - close; - - - function tycoon_add_kills - { - .@qp=getq(TulimQuest_Tycoon); - .@kp=getq2(TulimQuest_Tycoon); // Get number of kills (via getq2) - setq TulimQuest_Tycoon, .@qp, .@kp+1; - //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp); - } - - function tycoon_max_kills - { - .@qp=getq(TulimQuest_Tycoon); - setq TulimQuest_Tycoon, .@qp+1, 0; - //message strcharinfo(0), l("End status @@", .@qp); - } - -OnKillRatto: - .@q=getq(TulimQuest_Tycoon); - .@k=getq2(TulimQuest_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(TulimQuest_Tycoon); - .@k=getq2(TulimQuest_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(TulimQuest_Tycoon); - .@k=getq2(TulimQuest_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(TulimQuest_Tycoon); - .@k=getq2(TulimQuest_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(TulimQuest_Tycoon); - .@k=getq2(TulimQuest_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; -} diff --git a/npc/004-1/tycoon.txt b/npc/004-1/tycoon.txt new file mode 100644 index 000000000..37e9720b7 --- /dev/null +++ b/npc/004-1/tycoon.txt @@ -0,0 +1,298 @@ +// TMW2 scripts. +// TMW2 Authors: +// Saulc +// jesusava +// Description: +// Miner leader ask to purge mine +// Variable: +// 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 + +004-,25,29,0 script Tycoon NPC_PLAYER,{ + .@q=getq(TulimsharQuest_Tycoon); + + mesn; + mesq lg(Hello my friend!"); + next; + mesn; + mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters"); + next; + mesn; + 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(TulimsharQuest_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(TulimsharQuest_Tycoon); + mes ""; + if (BaseLevel < 15) goto L_NoLevel; + .@k=getq2(TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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(TulimsharQuest_Tycoon); + .@kp=getq2(TulimsharQuest_Tycoon); // Get number of kills (via getq2) + setq TulimsharQuest_Tycoon, .@qp, .@kp+1; + //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp); + } + + function tycoon_max_kills + { + .@qp=getq(TulimsharQuest_Tycoon); + setq TulimsharQuest_Tycoon, .@qp+1, 0; + //message strcharinfo(0), l("End status @@", .@qp); + } + +OnKillRatto: + .@q=getq(TulimsharQuest_Tycoon); + .@k=getq2(TulimsharQuest_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(TulimsharQuest_Tycoon); + .@k=getq2(TulimsharQuest_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(TulimsharQuest_Tycoon); + .@k=getq2(TulimsharQuest_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(TulimsharQuest_Tycoon); + .@k=getq2(TulimsharQuest_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(TulimsharQuest_Tycoon); + .@k=getq2(TulimsharQuest_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; +} -- cgit v1.2.3-70-g09d2 From 67a04b779b33a4b0c23978d965d6f4ac4d08518e Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 09:31:29 +0000 Subject: Update tycoon.txt --- npc/004-1/tycoon.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/npc/004-1/tycoon.txt b/npc/004-1/tycoon.txt index 37e9720b7..da54866af 100644 --- a/npc/004-1/tycoon.txt +++ b/npc/004-1/tycoon.txt @@ -1,10 +1,11 @@ // TMW2 scripts. // TMW2 Authors: -// Saulc -// jesusava +// Saulc +// jesusava // Description: // Miner leader ask to purge mine // Variable: +// TulimsharQuest_Tycoon // License: ??? wich one sould i use ? // Reference: // npc name from https://www.idleminertycoon.com/ -- cgit v1.2.3-70-g09d2 From a28608586292c7017bcf8e78a0707f35a04a1cb1 Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 09:32:14 +0000 Subject: add tycoon --- npc/004-1/_import.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/npc/004-1/_import.txt b/npc/004-1/_import.txt index d8897b37d..a892160a8 100644 --- a/npc/004-1/_import.txt +++ b/npc/004-1/_import.txt @@ -3,3 +3,4 @@ "npc/004-1/_mobs.txt", "npc/004-1/_warps.txt", "npc/004-1/elanore.txt", +"npc/004-1/tycoon.txt", \ No newline at end of file -- cgit v1.2.3-70-g09d2 From cb2bcf97f277cbcd99b5d9f24e603f4c55ccfbc1 Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 09:38:58 +0000 Subject: tycoon moved in cave --- npc/007-1/tycoon.txt | 299 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 npc/007-1/tycoon.txt diff --git a/npc/007-1/tycoon.txt b/npc/007-1/tycoon.txt new file mode 100644 index 000000000..85dc8bf4b --- /dev/null +++ b/npc/007-1/tycoon.txt @@ -0,0 +1,299 @@ +// 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-,25,29,0 script Tycoon NPC_PLAYER,{ + .@q=getq(MineQuest_Tycoon); + + mesn; + mesq lg(Hello my friend!"); + next; + mesn; + mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters"); + next; + mesn; + 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; +} -- cgit v1.2.3-70-g09d2 From 0a68435d97f4fad16322ca565cae9b202c800f59 Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 09:39:54 +0000 Subject: add tycoon --- npc/007-1/_import.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/npc/007-1/_import.txt b/npc/007-1/_import.txt index 13d603c9d..d9dd3f9bb 100644 --- a/npc/007-1/_import.txt +++ b/npc/007-1/_import.txt @@ -2,3 +2,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/007-1/_mobs.txt", "npc/007-1/_warps.txt", +"npc/007-1/tycoon.txt", \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 30f3b1cc266e7f923325c843656d23f84a7eace3 Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 09:40:38 +0000 Subject: Delete tycoon.txt --- npc/004-1/tycoon.txt | 299 --------------------------------------------------- 1 file changed, 299 deletions(-) delete mode 100644 npc/004-1/tycoon.txt diff --git a/npc/004-1/tycoon.txt b/npc/004-1/tycoon.txt deleted file mode 100644 index da54866af..000000000 --- a/npc/004-1/tycoon.txt +++ /dev/null @@ -1,299 +0,0 @@ -// TMW2 scripts. -// TMW2 Authors: -// Saulc -// jesusava -// Description: -// Miner leader ask to purge mine -// Variable: -// TulimsharQuest_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 - -004-,25,29,0 script Tycoon NPC_PLAYER,{ - .@q=getq(TulimsharQuest_Tycoon); - - mesn; - mesq lg(Hello my friend!"); - next; - mesn; - mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters"); - next; - mesn; - 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(TulimsharQuest_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(TulimsharQuest_Tycoon); - mes ""; - if (BaseLevel < 15) goto L_NoLevel; - .@k=getq2(TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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 TulimsharQuest_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(TulimsharQuest_Tycoon); - .@kp=getq2(TulimsharQuest_Tycoon); // Get number of kills (via getq2) - setq TulimsharQuest_Tycoon, .@qp, .@kp+1; - //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp); - } - - function tycoon_max_kills - { - .@qp=getq(TulimsharQuest_Tycoon); - setq TulimsharQuest_Tycoon, .@qp+1, 0; - //message strcharinfo(0), l("End status @@", .@qp); - } - -OnKillRatto: - .@q=getq(TulimsharQuest_Tycoon); - .@k=getq2(TulimsharQuest_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(TulimsharQuest_Tycoon); - .@k=getq2(TulimsharQuest_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(TulimsharQuest_Tycoon); - .@k=getq2(TulimsharQuest_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(TulimsharQuest_Tycoon); - .@k=getq2(TulimsharQuest_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(TulimsharQuest_Tycoon); - .@k=getq2(TulimsharQuest_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; -} -- cgit v1.2.3-70-g09d2 From 5fb02eba7d1ae1fa2e43aad72da5f9ce34926270 Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 09:41:14 +0000 Subject: remove tycoon --- npc/004-1/_import.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/npc/004-1/_import.txt b/npc/004-1/_import.txt index a892160a8..a44560da1 100644 --- a/npc/004-1/_import.txt +++ b/npc/004-1/_import.txt @@ -2,5 +2,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/004-1/_mobs.txt", "npc/004-1/_warps.txt", -"npc/004-1/elanore.txt", -"npc/004-1/tycoon.txt", \ No newline at end of file +"npc/004-1/elanore.txt", \ No newline at end of file -- cgit v1.2.3-70-g09d2 From 2479a8fd8b2b28a8bfb8a09105103e7a203cc5c6 Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 09:47:52 +0000 Subject: add Id: 96 Name: "MineQuest_Tycoon" --- db/quest_db.conf | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/db/quest_db.conf b/db/quest_db.conf index 851f5c313..af6a5b30b 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -154,16 +154,23 @@ quest_db: ( Name: "TulimsharQuest_Eistein" }, -// ID 71 to 90: Halinarzo Quests + +// ID 71 to 95: Halinarzo Quests { Id: 71 Name: "HalinarzoQuest_Foxhound" }, -// ID 91 to 110: Hurnscald Quests -// ID 111 to 130: Nivalis Quests -// ID 131 to 150: Frostia Quests -// ID 151 to 170: Artis Quests -// ID 171 to 190: Esperia Quests +// ID 96 to 120: Mine Quests +{ + Id: 96 + Name: "MineQuest_Tycoon" +}, +// ID 121 to 145: Hurnscald Quests +// ID 146 to 170: Nivalis Quests +// ID 171 to 195: Artis Quests +// ID 196 to 220: Esperia Quests +// ID 221 to 245: Artis Quests +// ID 246 to 270: Frostia Quests // ID 1000+: Test quests { -- cgit v1.2.3-70-g09d2 From c446d524216ecaea8d50c5c281e51a20a43fcda4 Mon Sep 17 00:00:00 2001 From: Saulc Date: Wed, 16 May 2018 23:54:21 +0000 Subject: add location --- npc/007-1/tycoon.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npc/007-1/tycoon.txt b/npc/007-1/tycoon.txt index 85dc8bf4b..795ca7678 100644 --- a/npc/007-1/tycoon.txt +++ b/npc/007-1/tycoon.txt @@ -32,7 +32,7 @@ // 14: Completed Black Scorpion Quest - 12 000 EXP 5 000 GP // 15: Finished all trainment -007-,25,29,0 script Tycoon NPC_PLAYER,{ +007-,66,65,0 script Tycoon NPC_PLAYER,{ .@q=getq(MineQuest_Tycoon); mesn; -- cgit v1.2.3-70-g09d2 From af8bac46d83700690c5db2b981af2f19e5b2f384 Mon Sep 17 00:00:00 2001 From: Saulc Date: Thu, 17 May 2018 07:06:28 +0000 Subject: fix location --- npc/007-1/tycoon.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npc/007-1/tycoon.txt b/npc/007-1/tycoon.txt index 795ca7678..017620404 100644 --- a/npc/007-1/tycoon.txt +++ b/npc/007-1/tycoon.txt @@ -32,7 +32,7 @@ // 14: Completed Black Scorpion Quest - 12 000 EXP 5 000 GP // 15: Finished all trainment -007-,66,65,0 script Tycoon NPC_PLAYER,{ +007-1,66,65,0 script Tycoon NPC_PLAYER,{ .@q=getq(MineQuest_Tycoon); mesn; -- cgit v1.2.3-70-g09d2 From a6a5dd189d037b2d453df7ed7c312d59c79a3636 Mon Sep 17 00:00:00 2001 From: Saulc Date: Thu, 17 May 2018 07:53:58 +0000 Subject: fix ? --- npc/007-1/tycoon.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/npc/007-1/tycoon.txt b/npc/007-1/tycoon.txt index 017620404..a5031043d 100644 --- a/npc/007-1/tycoon.txt +++ b/npc/007-1/tycoon.txt @@ -38,10 +38,8 @@ mesn; mesq lg(Hello my friend!"); next; - mesn; mesq lg("Some of my miners friends died in this mine, cause it's plenty of dangerous monsters"); next; - mesn; mesq l("Would you like to help us for a reward ? or maybe you just want some information"); next; goto L_Menu; -- cgit v1.2.3-70-g09d2