Money Making/Development: Difference between revisions

From Melvor Idle
(Add instructions on how to create a guide)
Line 67: Line 67:


==How to collect data==
==How to collect data==
The following commands should be used to "Freeze" the game-state. These turn off
'''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 affect your save game.
 
''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.''
 
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 pool experience
* Mastery action experience
* Mastery action experience
Line 80: Line 86:
</pre>
</pre>


Lastly, run the following to collect the data:
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.''
<pre>
<pre>
game.testForOffline(1000)
game.testForOffline(1000)
</pre>
</pre>


Enter all the data gathered in the [[Template:MoneyMakingGuide]] template.
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.


==Setup==
==Setup==

Revision as of 13:59, 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.

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

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 affect your save game.

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.

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.

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%
    Error creating thumbnail: File missing
    Mastery
    for everything
  • Gives 1,000,000,000
    Error creating thumbnail: File missing
    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

Minimum Setup

This script can be used to unlock every skill/item that has no side effects. It 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.

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.