Anonymous

In-game Functions: Difference between revisions

From Melvor Idle
Update for 1.0.2
(Update for 1.0.2)
(21 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{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 will most likely take away game enjoyment. It is highly encourage 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==
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 ==
The addItemToBank function can be used to add any item in the game to the bank
The addItemToBank function can be used to add any item in the game to the bank.
  <nowiki>addItemToBank(itemID, quantity, found = true, showNotification = true)</nowiki>
  <nowiki>addItemToBank(itemID, quantity, found, showNotification, ignoreBankSpace)</nowiki>
 
=== Attributes ===
=== Attributes ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Attribute !! Type !! Optional? !! Description
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| 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
| quantity || int || No || || Quantity of item to add. Will remove items from the bank if a negative value is specified
|-
|-
| quantity || int || No || Quantity of item to add
| found || boolean || Yes || true || Determines if it will show in item completion log
|-
|-
| found || bolean || Yes || Determinates if it will show in item completion log. Default: true
| showNotification || boolean || Yes || true || Determines if it will show notification
|-
|-
| showNotification || bolean || Yes || Determinates if it will show notification. Default: true
| ignoreBankSpace || boolean || Yes || false || If <code>true</code>, the item will be added to the bank even if the bank is already full
|}
|}


=== Example ===
=== Examples ===
  <nowiki>addItemToBank(1, 10, false);</nowiki>
  <nowiki>addItemToBank(1, 10, false);</nowiki>
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.
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.


== addXP ==
== removeItemFromBank ==
The addXP function can be used to add XP to any skill. Note that the game will not visually show the updated XP until after refresh or 1 new action.
The removeItemFromBank function can be used to remove any item from the bank
  <nowiki>addXP(skill, xp)</nowiki>
<nowiki>removeItemFromBank(itemID, deactiveGloves)</nowiki>
 
=== Attributes ===
{| class="wikitable"
|-
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| 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 pair of gloves with charges.
|}
 
=== Examples ===
<nowiki>removeItemFromBank(1);</nowiki>
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 [[Currency#Gold Pieces|GP]] to a player.
<nowiki>player.addGP(amount, source)</nowiki>
=== Attributes ===
{| class="wikitable"
|-
! 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 ===
<nowiki>player.addGP(1,"");</nowiki>
The above code will add 1 gp to the player, and not place the info into the players stats for tracking.
<nowiki>player.addGP(1,"Combat");</nowiki>
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 [[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>
=== Attributes ===
{| class="wikitable"
|-
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| amount|| int || No || || The quantity of GP to remove
|}
=== Examples ===
<nowiki>player.removeGP(1);</nowiki>
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.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.
  <nowiki>player.removeSlayerCoins(amount, render)</nowiki>
=== Attributes ===
=== Attributes ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Attribute !! Type !! Optional? !! Description
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
|-
| skill|| int || No || The ID of the skill
| amount || int || No || || The quantity of slayer coins to remove
|-
|-
| xp || int || No || Amount of XP to add
| render || boolean || Yes || true || If <code>true</code>, spawns a notification showing the quantity of coins removed and immediately updates the UI
|}
|}
=== Example ===
=== Examples ===
  <nowiki>addXP(10, 1000);</nowiki>
  <nowiki>player.removeSlayerCoins(1);</nowiki>
The above code will result in 1000 XP being added to the skill with ID 10 (Thieving).
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 ===
{| class="wikitable"
|-
! 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 ===
<nowiki>updateRaidCoins(1);</nowiki>
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.
<nowiki>player.addPrayerPoints(amount)</nowiki>
=== Attributes ===
{| class="wikitable"
|-
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| amount || int || No || || The quantity of prayer points to add.
|}
=== Examples ===
<nowiki>player.addPrayerPoints(1);</nowiki>
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.
<nowiki>player.addXP(skillID, xp)</nowiki>
=== Attributes ===
{| class="wikitable"
|-
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| skillID || int || No || || The ID of the skill, see: [[#Skill ID|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 {{ItemIcon|Firemaking Skillcape}} or {{PetIcon|Pyro}}
|}
=== Examples ===
<nowiki>player.addXP(10, 1000);</nowiki>
The above code will result in 1000 experience being added to the skill with ID 10 (Thieving).


== addMasteryXP ==
== addMasteryXP ==
The addMasteryXP function can be used to add XP to any specific Mastery in a skill. Note that the game will not visually show the updated Masterry XP 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>addMasteryXP(skill, masteryID, qty = 1)</nowiki>
  <nowiki>addMasteryXP(skillID, masteryID, timePerAction, spendingXP, xp, addToPool, offline)</nowiki>
=== Attributes ===
=== Attributes ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Attribute !! Type !! Optional? !! Description
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| skillID || int || No || || The ID of the skill, see: [[#Skill ID|Skill ID]]
|-
| masteryID || int || No || || The skill specific Mastery ID. See [[#Mastery IDs|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 <code>spendingXP</code> is <code>true</code>
|-
|-
| skill|| int || No || The ID of the skill
| spendingXP || boolean || Yes || false || <code>true</code>: The amount of experience specified with <code>xp</code> is added, <code>timePerAction</code> is ignored<br /><code>false</code>: The amount of experience added is determined by the [[Mastery#Earning Mastery XP|Mastery experience per action calculation]], <code>xp</code> is ignored
|-
|-
| masteryID || int || No || The skill specific Mastery ID
| xp || int || Yes || 0 || Amount of experience to add. Has no effect on the result if <code>spendingXP</code> is <code>false</code>
|-
|-
| qty || int || Yes || Quantity of XP to add. Default value: 1
| 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
|}
|}
=== Example ===
=== Mastery IDs ===
  <nowiki>addMasteryXP(11, 13, 300);</nowiki>
Below is a reference of how the various mastery ID values may be identified.
{| class="wikitable"
|-
! Skill !! Mastery ID
|-
| {{Skill|Woodcutting}} || Index of the required tree within the <code>Trees</code> enum
|-
| {{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|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|Cooking}}
|-
| {{Skill|Mining}}
|-
| {{Skill|Smithing}}
|-
| {{Skill|Fletching}}
|-
| {{Skill|Crafting}}
|-
| {{Skill|Runecrafting}}
|-
| {{Skill|Herblore}}
|-
| {{Skill|Summoning}}
|}
 
=== Examples ===
  <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>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.
== addMasteryXPToPool ==
The addMasteryXpToPool function can be used to add mastery pool experience to a skill
<nowiki>addMasteryXPToPool(skillID, xp, offline, token)</nowiki>
=== Attributes ===
{| class="wikitable"
|-
! Attribute !! Type !! Optional? !! Default Value !! Description
|-
| skillID || int || No || || The ID of the skill, see: [[#Skill ID|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 <code>xp</code> value to be added to the pool, ignoring player's level within the skill.
|}
=== Examples ===
<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
== 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.
<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 ==
=== Skill ID ===
{| class="wikitable sortable"
|-
! ID !! Skill
|-
| 0 || {{Skill|Woodcutting}}
|-
| 1 || {{Skill|Fishing}}
|-
| 2 || {{Skill|Firemaking}}
|-
| 3 || {{Skill|Cooking}}
|-
| 4 || {{Skill|Mining}}
|-
| 5 || {{Skill|Smithing}}
|-
| 6 || {{Skill|Attack}}
|-
| 7 || {{Skill|Strength}}
|-
| 8 || {{Skill|Defence}}
|-
| 9 || {{Skill|Hitpoints}}
|-
| 10 || {{Skill|Thieving}}
|-
| 11 || {{Skill|Farming}}
|-
| 12 || {{Skill|Ranged}}
|-
| 13 || {{Skill|Fletching}}
|-
| 14 || {{Skill|Crafting}}
|-
| 15 || {{Skill|Runecrafting}}
|-
| 16 || {{Skill|Magic}}
|-
| 17 || {{Skill|Prayer}}
|-
| 18 || {{Skill|Slayer}}
|-
| 19 || {{Skill|Herblore}}
|-
| 20 || {{Skill|Agility}}
|-
| 21 || {{Skill|Summoning}}
|-
|22 || {{Skill|Astrology}}
|}