Melvor Notification Ding

Plays a ding sound when a notification is displayed for farming or slayer.

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Melvor Notification Ding
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Plays a ding sound when a notification is displayed for farming or slayer.
// @author       Krosis
// @match        https://*.melvoridle.com/*
// @grant        none
// ==/UserScript==
// jshint esversion: 6

(function() {
    'use strict';
    // Save off the default notify function.
    var origNotify = window.notifyPlayer;
    var ding = new Audio("https://www.myinstants.com/media/sounds/ding-sound-effect.mp3");
    ding.volume = 0.5;
    var lastDing = -1;
    function newNotify(skill, ...args) {
        // Pass through arguments to the original notify function.
        origNotify(skill, ...args);
        if ((skill == CONSTANTS.skill.Farming) || (skill == CONSTANTS.skill.Slayer)) {
            // Only ding at most every 20 seconds. This reduces spam when farming tasks complete.
            var now = Date.now();
            if (now - lastDing >= 20000) {
                ding.play();
                lastDing = now;
            }
        }
    }
    // Use this custom function in game.
    window.notifyPlayer = newNotify;
})();