Money Making/Development: Difference between revisions

From Melvor Idle
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page is intended for collecting 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==
Enter a name for the guide in the box below and hit "Create a new guide". The rest will happen automatically! Be sure to add the information about the guide to the table [[Money Making|here]] if you want others to find it!
{| class=""
! Know of a good money making method?
<inputbox>
type=create
width=30
break=yes
prefix=Money making/
preload=Template:MoneyMakingGuide/preload
buttonlabel=Create a new guide
</inputbox>
|}
 
==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):
{| class="mw-collapsible mw-collapsed"
|-
! Example guide
|-
| <pre>
{{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!
}}
</pre>
|}
 
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==
==How to collect data==
* For '''minimum profit''', only the '''required''' recommendations in terms of items, skills and others should be included. These are the very minimum requirements to follow the guide.
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.
* For '''maximum profit''' everything that the guide suggests under both required and recommended should be included. This is the most optimal scenario for the guide.


The following commands should be used to "Freeze" the game-state. These turn off
''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.''
* Mastery pool experience
 
* Mastery action experience
===Disclaimer===
* Ability to gain pets
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.


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.
We can use the following [https://gist.github.com/DennisCorvers/055fc3d56000be5160c63748555df26f 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.


<pre>
This script essentially prepares your save to start testing money making methods!
mod.getDevContext().patch(PetManager, 'rollForSkillPet').replace(function(o) {});
mod.getDevContext().patch(SkillWithMastery, 'addMasteryXP').replace(function(o) {});
mod.getDevContext().patch(SkillWithMastery, 'addMasteryPoolXP').replace(function(o) {});
</pre>


==Setup==
===Maximum setup===
This [https://gist.github.com/04Slash/7a7a46974ddb06c53d259241b81d4195 script] can be used to get 100% completion on an account. This is recommended for maximum profit simulations. The script does the following:
This [https://gist.github.com/04Slash/7a7a46974ddb06c53d259241b81d4195 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
* Completes the tutorial
Line 38: Line 115:
* Buys 69,400 of every shop item
* Buys 69,400 of every shop item


==Minimum Setup==
===Collecting data===
This [https://gist.github.com/DennisCorvers/055fc3d56000be5160c63748555df26f 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.
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.
 
<pre>
mod.getDevContext().patch(PetManager, 'rollForSkillPet').replace(function(o) {});
mod.getDevContext().patch(SkillWithMastery, 'addMasteryXP').replace(function(o) {});
mod.getDevContext().patch(SkillWithMastery, 'addMasteryPoolXP').replace(function(o) {});
</pre>
 
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>
game.testForOffline(1000)
</pre>
 
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.


==Commands==
==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.
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.



Latest revision as of 23:03, 16 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

Enter a name for the guide in the box below and hit "Create a new guide". The rest will happen automatically! Be sure to add the information about the guide to the table here if you want others to find it!

Know of a good money making method?

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.