您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Makes mastery tokens unable to hit already mastered milestones
// ==UserScript== // @name [OBSOLETE] Melvor Idle - Better Mastery Tokens // @namespace zuzuvelas/melvor // @version 1.3 // @description Makes mastery tokens unable to hit already mastered milestones // @author Zuzuvelas // @source https://github.com/zuzuvelas/User-Scripts // @match https://melvoridle.com/* // @grant none // ==/UserScript== /* jshint esversion: 6 */ "use strict" // THIS HAS BEEN RENDERED OBSOLETE IN MELVOR ALPHA v0.17+ /* window.getUnmasteredMilestones = function (skill) { return skill.reduce((arr, milestone, idx) => { if (milestone.mastery < 99) { arr.push(idx) } return arr }, []) } window.claimToken = function (bankID, itemID, all = false) { let skill = items[itemID].skill let random let mastered = false let milestones if (all) { tokenInterval = setInterval(function() { claimToken(bankID, itemID); }, 250); } else { if (checkBankForItem(itemID)) { switch (skill) { case CONSTANTS.skill.Cooking: if (cookingMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(cookingMastery) random = milestones[Math.floor(Math.random() * milestones.length)] cookingMastery[random].masteryXP = masteryExp.level_to_xp(cookingMastery[random].mastery + 1) cookingMastery[random].mastery++ levelUpMastery(skill, random, cookingMastery, true) } else { mastered = true } break case CONSTANTS.skill.Crafting: if (craftingMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(craftingMastery) random = milestones[Math.floor(Math.random() * milestones.length)] craftingMastery[random].masteryXP = masteryExp.level_to_xp(craftingMastery[random].mastery + 1) craftingMastery[random].mastery++ levelUpMastery(skill, random, craftingMastery, true) } else { mastered = true } break case CONSTANTS.skill.Farming: if (farmingMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(farmingMastery) random = milestones[Math.floor(Math.random() * milestones.length)] farmingMastery[random].masteryXP = masteryExp.level_to_xp(farmingMastery[random].mastery + 1) farmingMastery[random].mastery++ levelUpMastery(skill, random, farmingMastery, true) } else { mastered = true } break case CONSTANTS.skill.Firemaking: if (logsMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(logsMastery) random = milestones[Math.floor(Math.random() * milestones.length)] logsMastery[random].masteryXP = masteryExp.level_to_xp(logsMastery[random].mastery + 1) logsMastery[random].mastery++ levelUpMastery(skill, random, logsMastery, true) } else { mastered = true } break case CONSTANTS.skill.Fishing: if (fishMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(fishMastery) random = milestones[Math.floor(Math.random() * milestones.length)] fishMastery[random].masteryXP = masteryExp.level_to_xp(fishMastery[random].mastery + 1) fishMastery[random].mastery++ levelUpMastery(skill, random, fishMastery, true) } else { mastered = true } break case CONSTANTS.skill.Fletching: if (fletchingMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(fletchingMastery) random = milestones[Math.floor(Math.random() * milestones.length)] fletchingMastery[random].masteryXP = masteryExp.level_to_xp(fletchingMastery[random].mastery + 1) fletchingMastery[random].mastery++ levelUpMastery(skill, random, fletchingMastery, true) } else { mastered = true } break case CONSTANTS.skill.Mining: if (miningOreMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(miningOreMastery) random = milestones[Math.floor(Math.random() * milestones.length)] miningOreMastery[random].masteryXP = masteryExp.level_to_xp(miningOreMastery[random].mastery + 1) miningOreMastery[random].mastery++ levelUpMastery(skill, random, miningOreMastery, true) } else { mastered = true } break case CONSTANTS.skill.Runecrafting: if (runecraftingMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(runecraftingMastery) random = milestones[Math.floor(Math.random() * milestones.length)] runecraftingMastery[random].masteryXP = masteryExp.level_to_xp(runecraftingMastery[random].mastery + 1) runecraftingMastery[random].mastery++ levelUpMastery(skill, random, runecraftingMastery, true) } else { mastered = true } break case CONSTANTS.skill.Smithing: if (smithingMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(smithingMastery) random = milestones[Math.floor(Math.random() * milestones.length)] smithingMastery[random].masteryXP = masteryExp.level_to_xp(smithingMastery[random].mastery + 1) smithingMastery[random].mastery++ levelUpMastery(skill, random, smithingMastery, true) } else { mastered = true } break case CONSTANTS.skill.Thieving: if (thievingMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(thievingMastery) random = milestones[Math.floor(Math.random() * milestones.length)] thievingMastery[random].masteryXP = masteryExp.level_to_xp(thievingMastery[random].mastery + 1) thievingMastery[random].mastery++ levelUpMastery(skill, random, thievingMastery, true) } else { mastered = true } break case CONSTANTS.skill.Woodcutting: if (treeMasteryData.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(treeMasteryData) random = milestones[Math.floor(Math.random() * milestones.length)] treeMasteryData[random].masteryXP = masteryExp.level_to_xp(treeMasteryData[random].mastery + 1) treeMasteryData[random].mastery++ levelUpMastery(skill, random, treeMasteryData, true) } else { mastered = true } break case CONSTANTS.skill.Herblore: if (herbloreMastery.some(skill => skill.mastery < 99)) { milestones = getUnmasteredMilestones(herbloreMastery) random = milestones[Math.floor(Math.random() * milestones.length)] herbloreMastery[random].masteryXP = masteryExp.level_to_xp(herbloreMastery[random].mastery + 1) herbloreMastery[random].mastery++ levelUpMastery(skill, random, herbloreMastery, true) } else { mastered = true } break } if (mastered) { $.notify({ message: '<img class="notification-img" src="assets/media/skills/' + setToLowercase(skillName[skill]) + '/' + setToLowercase(skillName[skill]) + '.svg"><span class="badge badge-success">You\'ve already mastered everything in ' + skillName[skill] + '!' + '</span>' }, { type: 'light', placement: { from: 'bottom', align: 'center' }, delay: 1000, newest_on_top: true, animate: { enter: 'animated fadeInUp', exit: 'animated fadeOut' }, template: '<div data-notify="container" class="col-12 col-md-6 text-center notify-event" role="alert"><span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>' }) clearInterval(tokenInterval) tokenInterval = null } else { updateItemInBank(bankID, itemID, -1) } } else { clearInterval(tokenInterval) tokenInterval = null } } } */
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址