Money Making/Development: Difference between revisions

From Melvor Idle
No edit summary
No edit summary
Line 1: Line 1:
So, you want to create a money making guide? Great! This page contains all information required, from simple steps, to advanced simulations, for creating extensive money making guides. This page also contains useful commands to setup test scenarios for testing minimum and maximum profit values for money making guides.
So, you want to create a money making guide? Great! This page contains all information required, from simple steps, to advanced simulations, for creating extensive money making guides. This page also contains useful commands to setup test scenarios for testing minimum and maximum profit values for money making guides.
 
Feel free to ask for [[Melvor_Wiki:User_Help|help]] if you need help on how to write a guide, have an idea for a guide, or otherwise.


==Creating your first guide==
==Creating your first guide==

Revision as of 15:15, 15 June 2024

So, you want to create a money making guide? Great! This page contains all information required, from simple steps, to advanced simulations, for creating extensive money making guides. This page also contains useful commands to setup test scenarios for testing minimum and maximum profit values for money making guides.

Feel free to ask for help if you need help on how to write a guide, have an idea for a guide, or otherwise.

Creating your first guide

This section guides you through the process of creating and setting up a page for your money making guide. You can also do this on your own user page if you want to play around more with the data and layout.

  1. Enter into the search bar "Money Making/<guide name>" where <guide name> is the name of your guide. Make sure the name is descriptive enough so people know what the guide is about!
  2. Click the red link that you see on the page that pops up. It should say something like "Create the page "Money Making/my guide" on this wiki!", where "Money Making/my guide" is clickable.
  3. Add the contents of the money making template on the new page.
  4. You can now start filling out all the fields of the template. Once you save the page, the template will do all the formatting and calculations for you!
  5. Not all fields of the template are required! Read Template:MoneyMakingGuide so see what the fields do.

Entering data

(see #How to collect data on information on how to get reliable data.

  • The minimum profit is the amount of GP earned when only the required recommendations in terms of items, skills and others are used. These are the very minimum requirements to follow the guide.
  • The maximum profit is the amount of GP earned when everything that the guide suggests under both required and recommended should is used. This is the most optimal scenario for the guide.

The minimum profit value has to be entered manually. The maximum value is calculated based on the input and output items and represents the most ideal situation. Entering the minimum profit is optional, but it gives players a good idea of what they can earn shouldn't they meet the optimal requirements.

Important: Sometimes, information entered in the "explanation" parameter clashes with the mediawiki code. This can happen, for instance, when trying to add tables into the explanation field. If this is a problem for your guide, you can just leave the explanation field empty and write your explanation below the template on your page.

Example data

Below is an example of what the filled out template can look like (click expand to view the example template):

Example guide
{{MoneyMakingGuide
|guideName        =Mining tin ore
|category         =Non-combat
|dlc              =aod, toth
|skills           =
*{{SkillReq|Mining|10}}
*{{SkillReq|Herblore|3}}
|items            =
*{{ItemIcon|Perfect Swing Potion II}}
|other            =
*{{UpgradeIcon|Iron Pickaxe}}
|recommended      =
*{{ConstellationIcon|Terra}}
*{{PetIcon|Cool Rock}}
|minimumProfit    =51200
|skillExp1        =mining
|skillExp1amount  =10000
|skillExp2        =Summoning
|skillExp2amount  =5000
|input1           =Perfect Swing Potion III
|input1amount     =13
|output1          =Topaz
|output1amount    =666
|output2          =Sapphire
|output2amount    =233
|output3          =Tin Ore
|output3amount    =69
|output4          =Lemon
|output4amount    =1 
|output4value     =696969
|explanation      =
This is the explanation of this guide! It's purely fictitious however!
Mine tin ore and sell the gems and ore for profit. Lemons are worth a lot!
}}

As can be seen in the example, the "value" parameter can be omitted. When this is done, the template will find the value for the item by itself! Sometimes however, you want to give a custom value to an item. To do this, just add the value parameter to the relevant item and enter the value manually.

You can copy the above example to your page to see what it does!

How to collect data

This entire section talks about how you can collect the most reliable data for a money making method and/or test out various money making methods. This section is for advanced users and requires using the console, enabling specific mods and using multiple save files.

To access the console, using the browser is recommended at this requires no additional steps. Just hit F12, navigate to "Console" and you can enter the commands there.

Disclaimer

It is important to carefully read this section before continuing. But don't worry, it sounds a lot more dramatic than it actually is!

  • Do NOT use your own save file to collect data or simulate a money making method. Create a new save game for the purpose of testing these money making guides. As the commands listed in the next sections WILL affect your save game.
  • Your own save is completely safe! Commands and mods are applied on a per-save basis. There is nothing to worry about if you use a new save slot for this testing.
  • You can always make a backup of your own save slot, just in case.
  • Mods belong to a mod profile. You can create a new mod profile and use the mods for testing there. This will not affect your own save files in any way!
  • It is strongly recommended to use the "Unlimited Offline" and "Skill Boosts" mods for testing purposes.

Minimum setup

This section deals with collecting data for the minimum recommended setup. Create a new save slot if you haven't done so already, or delete your existing test save and recreate it.

We can use the following script to unlock every skill and item that does not affect a money making method. This can be used to prepare testing for a minimum setup, where things like agility obstacles can be manually build, astrology upgraded, etc. It also unlocks the passive slot and TotH content via relevant dungeon completion.

This script essentially prepares your save to start testing money making methods!

Maximum setup

This script can be used to get 100% completion on an account. This is recommended for maximum profit simulations. The script does the following:

  • Completes the tutorial
  • Gives 1,000,000,000,000GP
  • Gives 1,000,000,000,000SC
  • Gives Prayer (skill).svg 4,000,000,000
  • Gives 6,969,696,969 of every item
  • Sets every skill to 120
  • Gives 100% Mastery for everything
  • Gives 1,000,000,000 Mastery pool exp for all skills
  • Unlocks all pets
  • Completes all astrology constellations
  • Gives all summoning marks
  • Completes every dungeon 420 times
  • Discovers and masters all hexes in cartography
  • Unlocks all museum items
  • Builds all township buildings
  • Completes all township tasks
  • Buys 69,400 of every shop item

Collecting data

To make sure a guide has reliable and "real-world" data, we can run the money making method for many hours, and use the average result for as data. Some variables like pets and mastery experience can change the result of the simulation. To get reliable results, we want a static environment where, no matter how many hours, nothing changes that affects the rate at which gp is earned.

To achieve this, we can use the following commands to "freeze" the game state. These turn off

  • Mastery pool experience
  • Mastery action experience
  • Ability to gain pets

This makes sure that the simulation constantly gives the same results across all tested hours. Skill experience is enabled to track the amount of experience this money making method also provides.

mod.getDevContext().patch(PetManager, 'rollForSkillPet').replace(function(o) {});
mod.getDevContext().patch(SkillWithMastery, 'addMasteryXP').replace(function(o) {});
mod.getDevContext().patch(SkillWithMastery, 'addMasteryPoolXP').replace(function(o) {});

We can then run the following command to collect data over a period of thousand hours. This will not actually take 1,000 hours! The game will process through 1,000 hours as fast as it can. On a regular computer it takes no more than a minute to process all thousand hours, depending on the method used. By default, only 24 offline hours can be ran at a time. You can use the "Unlimited Offline" mod to allow for more offline hours.

game.testForOffline(1000)

You game will show a summary of what happened in the 1,000 hours. You can use this data to fill out the Template:MoneyMakingGuide template.

Misc Commands

All of the commands below can be used by pressing F12 when running Melvor Idle in the browser, navigating to "Console", and pasting them there. Some commands, such as game.testForOffline, will take some time to execute.

Command Effect
game.testForOffline(1000) Runs the game for 1,000 hours, as if the player was offline.
game.woodcutting.setXP(exp.level_to_xp(120)+1) Sets woodcutting xp to level 120 + 1 exp.

Replace "woodcutting" with the skill of choise, as well as "120" with the level of choice.

mod.getDevContext().patch(PetManager, 'rollForSkillPet').replace(function(o) {}) Disables receiving of pets.
game.petManager.unlockPetByID(ID) Unlocks a specific pet based on ID.
game.pets.allObjects Gets a list of all pets.
mod.getDevContext().patch(Skill, 'addXP').replace(function(o) {}); Disables gaining of experience.
mod.getDevContext().patch(SkillWithMastery, 'addMasteryXP').replace(function(o) {}); Disable gaining of mastery experience.
mod.getDevContext().patch(SkillWithMastery, 'addMasteryPoolXP').replace(function(o) {}); Disables gaining of mastery pool exp.