In-game Functions: Difference between revisions

From Melvor Idle
(Update for 1.0.2)
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{V|1.0}}
{{V|1.0.2}}
In-game functions are responsible for most things in the game. It is possible to interact directly with them through the console. This can be used to add items, levels, GP and more. These functions can be executed though the console. To access the console open Developer Tools (usually by pressing F12) in your browser and navigate to the console. Then, simply paste the code in the input field and press enter. Most functions will require you to fill out variables in the code before executing them. Note that all code is case sensitive.
In-game functions are responsible for most things in the game. It is possible to interact directly with them through the console. This can be used to add items, levels, GP and more. These functions can be executed though the console. To access the console open Developer Tools (usually by pressing F12) in your browser and navigate to the console. Then, simply paste the code in the input field and press enter. Most functions will require you to fill out variables in the code before executing them. Note that all code is case sensitive.


'''Disclaimer:''' Blindly adding items and experience will most likely take away game enjoyment. It is highly encouraged only to use this to either test things or recoup lost items/progress due to lost saves.
'''Disclaimer:''' Blindly adding items and experience will most likely take away game enjoyment. It is highly encouraged only to use this to either test things or recoup lost items/progress due to lost saves.


'''Disclaimer:''' You are playing around with the code of the game if you make mistakes, it is possible that could corrupt your game. It is highly recommended to '''BACKUP YOUR SAVE''' before running any in-game functions.
{| class="warningbox"
| You are playing around with the code of the game if you make mistakes, it is possible that could corrupt your game. It is highly recommended to '''BACKUP YOUR SAVE''' before running any in-game functions.
|}


==Using In-game Functions On Steam==
==Using In-game Functions On Steam==
Players should refer to the [[Scripting and Extensions Instructions#Steam Console and Scripts|Scirpting and Extensions Instructions]] page for a step-by-step guide on using these functions with the Steam version of Melvor Idle.
Players should refer to the [[Scripting and Extensions Instructions#Steam Console and Scripts|Scripting and Extensions Instructions]] page for a step-by-step guide on using these functions with the Steam version of Melvor Idle.


== addItemToBank ==
== addItemToBank ==
Line 44: Line 46:
| itemID || int || No || || The ID of the item.<br />For a complete list of items and their IDs, see: [[Table of Items]]
| itemID || int || No || || The ID of the item.<br />For a complete list of items and their IDs, see: [[Table of Items]]
|-
|-
| deactiveGloves || boolean || Yes || true || If <code>true</code>, the count of glove charges will be set to 0 if the itemID is for a gloves with charges.
| deactiveGloves || boolean || Yes || true || If <code>true</code>, the count of glove charges will be set to 0 if the itemID is for a pair of gloves with charges.
|}
|}


Line 52: Line 54:


== player.addGP ==
== player.addGP ==
The player.addGP function can be used to add gp to a player.
The player.addGP function can be used to add [[Currency#Gold Pieces|GP]] to a player.
  <nowiki>player.addGP(amount, source)</nowiki>
  <nowiki>player.addGP(amount, source)</nowiki>
=== Attributes ===
=== Attributes ===
Line 61: Line 63:
| amount|| int || No || || The quantity of GP to add
| amount|| int || No || || The quantity of GP to add
|-
|-
| source || string || No || || The source of the GP being added. If set to "Combat" it will add the gp to the players gp received in combat stat for tracking.
| source || string || No || || The source of the GP being added. If set to "Combat" it will add the GP to the players "GP received in combat" stat for tracking.
|}
|}
=== Examples ===
=== Examples ===
Line 70: Line 72:


== player.removeGP ==
== player.removeGP ==
The player.removeGP function can be used to remove gp from a player.
The player.removeGP function can be used to remove [[Currency#Gold Pieces|GP]] from a player. If the amount specified is greater than the amount the player currently has, then no GP will be removed.
  <nowiki>player.removeGP(amount)</nowiki>
  <nowiki>player.removeGP(amount)</nowiki>
=== Attributes ===
=== Attributes ===
Line 81: Line 83:
=== Examples ===
=== Examples ===
  <nowiki>player.removeGP(1);</nowiki>
  <nowiki>player.removeGP(1);</nowiki>
The above code will remove 1 gp from the player.
The above code will remove 1 GP from the player.
 
== player.addSlayerCoins ==
The player.addSlayerCoins function can be used to add slayer coins to a player.
<nowiki>player.addSlayerCoins(amount)</nowiki>
=== Attributes ===
{| class="wikitable"
|-
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| amount || int || No || || The quantity of slayer coins to add. This amount can be increased or decreased if the player is currently affected by any +/-% Slayer coins bonuses.
|}
=== Examples ===
<nowiki>player.addSlayerCoins(1);</nowiki>
The above code will add 1 slayer coin to the player, and update player stats.


== player.addPrayerPoints ==
== player.removeSlayerCoins ==
The player.addPrayerPoints function can be used to add prayer points to a player.
The player.removeSlayerCoins function can be used to remove slayer coins from a player. If the amount specified is greater than the amount the player currently has, then no slayer coins will be removed.
  <nowiki>player.addPrayerPoints(amount)</nowiki>
<nowiki>player.removeSlayerCoins(amount, render)</nowiki>
=== Attributes ===
{| class="wikitable"
|-
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| amount || int || No || || The quantity of slayer coins to remove
|-
| render || boolean || Yes || true || If <code>true</code>, spawns a notification showing the quantity of coins removed and immediately updates the UI
|}
=== Examples ===
  <nowiki>player.removeSlayerCoins(1);</nowiki>
The above code will remove 1 slayer coin from the player, and immediately update the UI.
 
== updateRaidCoins ==
The updateRaidCoins function can be used to add or remove [[Currency#Raid Coins|raid coins]] from a player.
<nowiki>updateRaidCoins(amount)</nowiki>
=== Attributes ===
=== Attributes ===
{| class="wikitable"
{| class="wikitable"
Line 91: Line 123:
! Attribute !! Type !! Optional? !! Default Value !! Description
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
|-
| amount|| int || No || || The quantity of prayer points to add.
| amount || int || Yes || 0 || The quantity of raid coins to be added. Coins can also be removed if a negative number is specified.
|}
|}
=== Examples ===
=== Examples ===
  <nowiki>player.addPrayerPoints(1);</nowiki>
  <nowiki>updateRaidCoins(1);</nowiki>
The above code will add 1 prayer point to the player, and update player stats.
The above will add 1 raid coin to the player.


== player.addSlayerCoins ==
== player.addPrayerPoints ==
The player.addSlayerCoins function can be used to add slayer coins to a player.
The player.addPrayerPoints function can be used to add prayer points to a player.
  <nowiki>player.addSlayerCoins(amount)</nowiki>
  <nowiki>player.addPrayerPoints(amount)</nowiki>
=== Attributes ===
=== Attributes ===
{| class="wikitable"
{| class="wikitable"
Line 105: Line 137:
! Attribute !! Type !! Optional? !! Default Value !! Description
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
|-
| amount|| int || No || || The quantity of slayer coins to add.
| amount || int || No || || The quantity of prayer points to add.
|}
|}
=== Examples ===
=== Examples ===
  <nowiki>player.addSlayerCoins(1);</nowiki>
  <nowiki>player.addPrayerPoints(1);</nowiki>
The above code will add 1 slayer coin to the player, and update player stats.
The above code will add 1 prayer point to the player, and update player stats.


== player.addXP ==
== player.addXP ==
Line 127: Line 159:
The above code will result in 1000 experience being added to the skill with ID 10 (Thieving).
The above code will result in 1000 experience being added to the skill with ID 10 (Thieving).


== player.addMasteryXP ==
== addMasteryXP ==
The player.addMasteryXP function can be used to add experience to any specific Mastery in a skill. Note that the game will not visually show the updated Masterry experience until after refresh or 1 new action.  
The addMasteryXP function can be used to add experience to any specific Mastery in a skill. Note that the game will not visually show the updated Mastery experience until after refresh or 1 new action.  
  <nowiki>player.addMasteryXP(skillID, masteryID, timePerAction, spendingXP, xp, addToPool, offline)</nowiki>
  <nowiki>addMasteryXP(skillID, masteryID, timePerAction, spendingXP, xp, addToPool, offline)</nowiki>
=== Attributes ===
=== Attributes ===
{| class="wikitable"
{| class="wikitable"
Line 155: Line 187:
! Skill !! Mastery ID
! Skill !! Mastery ID
|-
|-
| {{Skill|Woodcutting}} || Index of the required tree within the constant <code>trees</code>
| {{Skill|Woodcutting}} || Index of the required tree within the <code>Trees</code> enum
|-  
|-  
| {{Skill|Thieving}} || Index of the required NPC within the constant <code>thievingNPC</code>
| {{Skill|Thieving}} || Index of the required NPC within the <code>ThievingNPCs</code> enum
|-
| {{Skill|Agility}} || Index of the required obstacle within the <code>AgilityObstacles</code> enum
|-
| {{Skill|Astrology}} || Index of the required constellation within the <code>ASTROLOGY</code> constant
|-
|-
| {{Skill|Farming}} || <code>items[itemID].masteryID[1]</code> replacing <code>itemID</code> with the ID of the planted seed
| {{Skill|Farming}} || <code>items[itemID].masteryID[1]</code> replacing <code>itemID</code> with the ID of the planted seed
|-
|-
| {{Skill|Fishing}} || rowspan="9" | <code>items[itemID].masteryID[1]</code>, replacing <code>itemID</code> with the ID of the item produced by the action
| {{Skill|Fishing}} || rowspan="10" | <code>items[itemID].masteryID[1]</code>, replacing <code>itemID</code> with the ID of the item produced by the action
|-
|-
| {{Skill|Firemaking}}
| {{Skill|Firemaking}}
Line 178: Line 214:
|-
|-
| {{Skill|Herblore}}
| {{Skill|Herblore}}
|-
| {{Skill|Summoning}}
|}
|}


=== Examples ===
=== Examples ===
  <nowiki>player.addMasteryXP(11, 13, 0, true, 300);</nowiki>
  <nowiki>addMasteryXP(11, 13, 0, true, 300);</nowiki>
The above code will result in 300 Mastery XP being added to the skill with ID 11 (Farming) for Mastery ID 13 (Carrot Seeds).
The above code will result in 300 Mastery XP being added to the skill with ID 11 (Farming) for Mastery ID 13 (Carrot Seeds).


  <nowiki>player.addMasteryXP(2, 3, 3000);</nowiki>
  <nowiki>addMasteryXP(2, 3, 3000);</nowiki>
The above code will result in the calculation & addition of the amount of Mastery XP from an action in skill with ID 2 (Firemaking) for item with Mastery ID 3 (Teak Logs), supposing the action took 3,000 milliseconds.
The above code will result in the calculation & addition of the amount of Mastery XP from an action in skill with ID 2 (Firemaking) for item with Mastery ID 3 (Teak Logs), supposing the action took 3,000 milliseconds.


== player.addMasteryXpToPool ==
== addMasteryXPToPool ==
The player.addMasteryXpToPool function can be used to add mastery pool experience to a skill
The addMasteryXpToPool function can be used to add mastery pool experience to a skill
  <nowiki>player.addMasteryXP(skillID, xp, offline, token)</nowiki>
  <nowiki>addMasteryXPToPool(skillID, xp, offline, token)</nowiki>
=== Attributes ===
=== Attributes ===
{| class="wikitable"
{| class="wikitable"
Line 204: Line 242:
|}
|}
=== Examples ===
=== Examples ===
  <nowiki>player.addMasteryXpToPool(11, 600);</nowiki>
  <nowiki>addMasteryXPToPool(11, 600);</nowiki>
The above code will result in 150 Mastery Pool XP being added to the skill with ID 11 (Farming) if the player is under 99 in farming. Or 300 Mastery Pool XP being added if the player is over 99
The above code will result in 150 Mastery Pool XP being added to the skill with ID 11 (Farming) if the player is under 99 in farming. Or 300 Mastery Pool XP being added if the player is over 99


  <nowiki>player.addMasteryXP(11, 600, false, true);</nowiki>
== unlockPet ==
The above code will result in 600 Mastery Pool XP being added to the skill with ID 11 (Farming) regardless of the level of the player in the skill.
The unlockPet function is used to unlock [[Pets]]. Note that unlocking a pet is permanent - there is no supported method to lock a pet once again.
  <nowiki>unlockPet(petID, offline)</nowiki>
=== Attributes ===
{| class="wikitable"
|-
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| petID || int || No || || The ID of the pet, which can be found on the individual pet pages (such as {{PetIcon|Ty}} for example).
|-
| offline || boolean || Yes || false || Determines if various UI elements are immediately updated to reflect the experience gain. Should usually be left as the default value
|}
=== Examples ===
<nowiki>unlockPet(4);</nowiki>
The above code will result in the unlocking of {{PetIcon|Cool Rock}}.


== Reference Tables ==
== Reference Tables ==
Line 259: Line 310:
|-
|-
| 21 || {{Skill|Summoning}}
| 21 || {{Skill|Summoning}}
|-
|22 || {{Skill|Astrology}}
|}
|}

Revision as of 00:03, 10 February 2022

This page was last updated for (v1.0.2).

In-game functions are responsible for most things in the game. It is possible to interact directly with them through the console. This can be used to add items, levels, GP and more. These functions can be executed though the console. To access the console open Developer Tools (usually by pressing F12) in your browser and navigate to the console. Then, simply paste the code in the input field and press enter. Most functions will require you to fill out variables in the code before executing them. Note that all code is case sensitive.

Disclaimer: Blindly adding items and experience will most likely take away game enjoyment. It is highly encouraged only to use this to either test things or recoup lost items/progress due to lost saves.

You are playing around with the code of the game if you make mistakes, it is possible that could corrupt your game. It is highly recommended to BACKUP YOUR SAVE before running any in-game functions.

Using In-game Functions On Steam

Players should refer to the Scripting and Extensions Instructions page for a step-by-step guide on using these functions with the Steam version of Melvor Idle.

addItemToBank

The addItemToBank function can be used to add any item in the game to the bank.

addItemToBank(itemID, quantity, found, showNotification, ignoreBankSpace)

Attributes

Attribute Type Optional? Default Value Description
itemID int No The ID of the item.
For a complete list of items and their IDs, see: Table of Items
quantity int No Quantity of item to add. Will remove items from the bank if a negative value is specified
found boolean Yes true Determines if it will show in item completion log
showNotification boolean Yes true Determines if it will show notification
ignoreBankSpace boolean Yes false If true, the item will be added to the bank even if the bank is already full

Examples

addItemToBank(1, 10, false);

The above code will result in 10 items with item ID 1 (Oak Logs) being added to the Bank without them appearing in the item completion log, but with notification.

removeItemFromBank

The removeItemFromBank function can be used to remove any item from the bank

removeItemFromBank(itemID, deactiveGloves)

Attributes

Attribute Type Optional? Default Value Description
itemID int No The ID of the item.
For a complete list of items and their IDs, see: Table of Items
deactiveGloves boolean Yes true If true, the count of glove charges will be set to 0 if the itemID is for a pair of gloves with charges.

Examples

removeItemFromBank(1);

The above code will result in item ID 1 (Oak Logs) being removed from the bank.

player.addGP

The player.addGP function can be used to add GP to a player.

player.addGP(amount, source)

Attributes

Attribute Type Optional? Default Value Description
amount int No The quantity of GP to add
source string No The source of the GP being added. If set to "Combat" it will add the GP to the players "GP received in combat" stat for tracking.

Examples

player.addGP(1,"");

The above code will add 1 gp to the player, and not place the info into the players stats for tracking.

player.addGP(1,"Combat");

The above code will add 1 gp to the player, and place the info into the players stats for tracking.

player.removeGP

The player.removeGP function can be used to remove GP from a player. If the amount specified is greater than the amount the player currently has, then no GP will be removed.

player.removeGP(amount)

Attributes

Attribute Type Optional? Default Value Description
amount int No The quantity of GP to remove

Examples

player.removeGP(1);

The above code will remove 1 GP from the player.

player.addSlayerCoins

The player.addSlayerCoins function can be used to add slayer coins to a player.

player.addSlayerCoins(amount)

Attributes

Attribute Type Optional? Default Value Description
amount int No The quantity of slayer coins to add. This amount can be increased or decreased if the player is currently affected by any +/-% Slayer coins bonuses.

Examples

player.addSlayerCoins(1);

The above code will add 1 slayer coin to the player, and update player stats.

player.removeSlayerCoins

The player.removeSlayerCoins function can be used to remove slayer coins from a player. If the amount specified is greater than the amount the player currently has, then no slayer coins will be removed.

player.removeSlayerCoins(amount, render)

Attributes

Attribute Type Optional? Default Value Description
amount int No The quantity of slayer coins to remove
render boolean Yes true If true, spawns a notification showing the quantity of coins removed and immediately updates the UI

Examples

player.removeSlayerCoins(1);

The above code will remove 1 slayer coin from the player, and immediately update the UI.

updateRaidCoins

The updateRaidCoins function can be used to add or remove raid coins from a player.

updateRaidCoins(amount)

Attributes

Attribute Type Optional? Default Value Description
amount int Yes 0 The quantity of raid coins to be added. Coins can also be removed if a negative number is specified.

Examples

updateRaidCoins(1);

The above will add 1 raid coin to the player.

player.addPrayerPoints

The player.addPrayerPoints function can be used to add prayer points to a player.

player.addPrayerPoints(amount)

Attributes

Attribute Type Optional? Default Value Description
amount int No The quantity of prayer points to add.

Examples

player.addPrayerPoints(1);

The above code will add 1 prayer point to the player, and update player stats.

player.addXP

The player.addXP function can be used to add experience to any skill. Note that the game will not visually show the updated XP until after refresh or 1 new action.

player.addXP(skillID, xp)

Attributes

Attribute Type Optional? Default Value Description
skillID int No The ID of the skill, see: Skill ID
xp int No Amount of experience to add. Note that this is the amount of experience added before bonuses such as that from the Firemaking Skillcape or Pyro

Examples

player.addXP(10, 1000);

The above code will result in 1000 experience being added to the skill with ID 10 (Thieving).

addMasteryXP

The addMasteryXP function can be used to add experience to any specific Mastery in a skill. Note that the game will not visually show the updated Mastery experience until after refresh or 1 new action.

addMasteryXP(skillID, masteryID, timePerAction, spendingXP, xp, addToPool, offline)

Attributes

Attribute Type Optional? Default Value Description
skillID int No The ID of the skill, see: Skill ID
masteryID int No The skill specific Mastery ID. See below for information on how to identify Mastery ID values
timePerAction int No The interval (in milliseconds) of the action granting mastery experience. Has no effect on the result if spendingXP is true
spendingXP boolean Yes false true: The amount of experience specified with xp is added, timePerAction is ignored
false: The amount of experience added is determined by the Mastery experience per action calculation, xp is ignored
xp int Yes 0 Amount of experience to add. Has no effect on the result if spendingXP is false
addToPool boolean Yes true Determines whether a portion of the specified experience amount is added to the mastery pool for the relevant skill or not
offline boolean Yes false Determines if various UI elements are immediately updated to reflect the experience gain. Should usually be left as the default value

Mastery IDs

Below is a reference of how the various mastery ID values may be identified.

Skill Mastery ID
Woodcutting Index of the required tree within the Trees enum
Thieving Index of the required NPC within the ThievingNPCs enum
Agility Index of the required obstacle within the AgilityObstacles enum
Astrology Index of the required constellation within the ASTROLOGY constant
Farming items[itemID].masteryID[1] replacing itemID with the ID of the planted seed
Fishing items[itemID].masteryID[1], replacing itemID with the ID of the item produced by the action
Firemaking
Cooking
Mining
Smithing
Fletching
Crafting
Runecrafting
Herblore
Summoning

Examples

addMasteryXP(11, 13, 0, true, 300);

The above code will result in 300 Mastery XP being added to the skill with ID 11 (Farming) for Mastery ID 13 (Carrot Seeds).

addMasteryXP(2, 3, 3000);

The above code will result in the calculation & addition of the amount of Mastery XP from an action in skill with ID 2 (Firemaking) for item with Mastery ID 3 (Teak Logs), supposing the action took 3,000 milliseconds.

addMasteryXPToPool

The addMasteryXpToPool function can be used to add mastery pool experience to a skill

addMasteryXPToPool(skillID, xp, offline, token)

Attributes

Attribute Type Optional? Default Value Description
skillID int No The ID of the skill, see: Skill ID
xp int Yes 0 Amount of experience to add. One quarter of this value will be added if the player is under level 99 in that skill. One half of the value will be added if the player is level 99 in that skill.
offline boolean Yes false Determines if various UI elements are immediately updated to reflect the experience gain. Should usually be left as the default value
token boolean Yes false Forces forces 100% of the xp value to be added to the pool, ignoring player's level within the skill.

Examples

addMasteryXPToPool(11, 600);

The above code will result in 150 Mastery Pool XP being added to the skill with ID 11 (Farming) if the player is under 99 in farming. Or 300 Mastery Pool XP being added if the player is over 99

unlockPet

The unlockPet function is used to unlock Pets. Note that unlocking a pet is permanent - there is no supported method to lock a pet once again.

unlockPet(petID, offline)

Attributes

Attribute Type Optional? Default Value Description
petID int No The ID of the pet, which can be found on the individual pet pages (such as Ty for example).
offline boolean Yes false Determines if various UI elements are immediately updated to reflect the experience gain. Should usually be left as the default value

Examples

unlockPet(4);

The above code will result in the unlocking of Cool Rock.

Reference Tables

Skill ID

ID Skill
0 Woodcutting
1 Fishing
2 Firemaking
3 Cooking
4 Mining
5 Smithing
6 Attack
7 Strength
8 Defence
9 Hitpoints
10 Thieving
11 Farming
12 Ranged
13 Fletching
14 Crafting
15 Runecrafting
16 Magic
17 Prayer
18 Slayer
19 Herblore
20 Agility
21 Summoning
22 Astrology