Greasy Fork is available in English.

MH: M400 Hunting Helper

Adds the ability to one click travel to the next m400 assigment location

スクリプトをインストール?
作者が勧める他のスクリプト

MH Timers+も気に入るかもしれません。

スクリプトをインストール
質問やレビューの投稿はこちらへ、スクリプトの通報はこちらへお寄せください。
// ==UserScript==
// @name         MH: M400 Hunting Helper
// @author       Warden Slayer - Warden Slayer#2010
// @namespace    https://greasyfork.org/en/users/227259-wardenslayer
// @version      1.0.3
// @description  Adds the ability to one click travel to the next m400 assigment location
// @include      https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
// @include      http://www.mousehuntgame.com/*
// @include      https://www.mousehuntgame.com/*
// @connect      http://www.mousehuntgame.com/*
// @connect      https://www.mousehuntgame.com/*
// ==/UserScript==
$(document).ready(function() {
    const debug = localStorage.getItem('ws.debug');
    if (debug == true) {
        console.log('M400 Hunting Helper');
    };
});

$(document).on('click', '.campPage-tabs-tabHeader.quests', function() {
    setTimeout(renderQuestTab, 400);
});

function renderQuestTab() {
    if ($('#questTravelButton').length > 0) {
    } else {
        const allTasks = $('.campPage-quests-objective-container:not(".locked")');
        $(allTasks).find('.campPage-quests-objective-content').css({'width': '50%',});
        const questTravelButton = document.createElement('button');
        questTravelButton.id = 'questTravelButton';
        $(questTravelButton).addClass('mousehuntActionButton small');
        $(questTravelButton).attr('title', 'Travel to task location');
        const travelText = document.createElement('span');
        $(travelText).addClass('travelText').text('Travel').css({
            'font-size': '12px',
        });
        $(questTravelButton).append(travelText);
        $(allTasks).find('.campPage-quests-objective').append(questTravelButton);
        $('.mousehuntActionButton.small').css({
            'width': '75px',
            'height': '25px',
            'vertical-align': 'middle',
        });
    }
    $('.campPage-quests-footer-smash').text('Smash m400 Assigment');
}

$(document).on('click', '#questTravelButton', function() {
    if ($('.campPage-tabs-tabHeader.quests').hasClass('active')) {
        if ($('.campPage-quests-title').text() == 'Track down the elusive M400') {
             let location = $(this).parent().parent().find('.campPage-quests-objective-task').text();
            let bait = "";
            const locationSplit = location.split(' in ');
            if (locationSplit[1] == undefined) {
                const mouseSplit = location.split('from ');
                location = convertMouseToLocation(mouseSplit[1].replace(' Mice','xyz').replace(' Mouse','xyz').split('xyz')[0])
            } else {
                const baitSplit = locationSplit[1].replace('the ','').split(' using ');
                if (baitSplit[1] == undefined) {
                    location = baitSplit[0];
                } else {
                    location = baitSplit[0];
                    bait = baitSplit[1];
                }
            }
            app.pages.TravelPage.travel(convertNameToClass(location));
            if (bait == 'Fusion Fondue') {
                hg.utils.TrapControl.setBait(1386).go();
            }
        }
    }
});

function convertMouseToLocation(mouseName) {
    let locationName = "";
    const meadow = ['Meadow','Bionic'];
    const bazaar = ['Bazaar','Master Burglar'];
    const kGauntlet = ["King's Gauntlet",'Cavalier'];
    const training = ['Training Grounds','Ninja'];
    const meditation = ['Meditation Room','Master of the Cheese Belt','Master of the Cheese Claw','Master of the Cheese Fang'];
    const pinacle = ['Pinnacle Chamber','Master of the Dojo'];
    const catacombs = ['Catacombs','Lycan','Terror Knight'];
    const fGrove = ['Forbidden Grove','Realm Ripper','Realm Rippers'];
    const aRealm = ['Acolyte Realm','Gate Guardian','Sorceror'];
    const ssh4 = ['S.S. Huntington IV','Buccaneer','Captain'];
    const derrDunes = ['Derr Dunes','Grunt','Guardian','Renegade','Seer','Trailblazer'];
    const nergPlains = ['Nerg Plains','Conjurer','Conqueror','Defender','Finder','Pathfinder'];
    const elubShore = ['Elub Shore','Mystic','Pack','Protector','Scout','Vanquisher'];
    const jod = ['Jungle of Dread','Magma Carrier','Primal','Stonework Warrior'];
    const balacksCove = ["Balack's Cove",'Derr Lich','Elub Lich','Nerg Lich'];
    const dracano = ['Dracano','Draconic Warden','Whelping','Dragon'];
    const slushyShoreline = ['Slushy Shoreline','Chipper','Snow Slinger','Snow Sniper','Snow Soldier','Yeti'];
    const csc = ['Claw Shot City','Prospector','Ruffian'];
    const seasonalGarden = ['Seasonal Garden','Mystic Knight','Technic Knight'];
    const muridaeMarket = ['Muridae Market','Blacksmith','Mage Weaver','Market Guard','Spice Merchant'];
    const sandDunes = ['Sand Dunes','Sand Colossus','Scarab','Serpentine','Grubling Herder','Sand Pilgrim','Sand Pilgrims'];
    const livingGarden = ['Living Garden','Barkshell','Camofusion','Thorn','Twisted Hotcakes','Bark','Camoflower','Strawberry Hotcakes','Thistle'];
    const lostCity = ['Lost City','Cursed Librarian','Cursed Enchanter','Essence Guardian','Essence Collector','Ethereal Enchanter','Ethereal Librarian','Ethereal Librarians'];
    const allLocations = [meadow,bazaar,kGauntlet,training,meditation,pinacle,catacombs,fGrove,aRealm,ssh4,
                          derrDunes,nergPlains,elubShore,jod,dracano,balacksCove,slushyShoreline,csc,seasonalGarden,
                          muridaeMarket,livingGarden,lostCity,sandDunes];
    allLocations.forEach(function(array,e) {
        if (array.includes(mouseName)) {
            locationName = array[0];
        }
    })
    return locationName;
}

function convertNameToClass(locationName) {
    const debug = localStorage.getItem('ws.debug');
    let locationTag = "";
    if (locationName == 'Fiery Warpath') {
        locationTag = 'desert_warpath';
    } else if (locationName == 'Seasonal Garden') {
        locationTag = 'seasonal_garden';
    } else if (locationName == 'Meadow') {
        locationTag = 'meadow';
    } else if (locationName == 'Town of Gnawnia') {
        locationTag = 'town_of_gnawnia';
    } else if (locationName == 'Windmill') {
        locationTag = 'windmill';
    } else if (locationName == 'Harbour') {
        locationTag = 'harbour';
    } else if (locationName == 'Mountain') {
        locationTag = 'mountain';
    } else if (locationName == "King's Arms") {
        locationTag = 'kings_arms';
    } else if (locationName == 'Tournament Hall') {
        locationTag = 'tournament_hall';
    } else if (locationName == "King's Gauntlet") {
        locationTag = 'kings_gauntlet';
    } else if (locationName == 'Calm Clearing') {
        locationTag = 'calm_clearing';
    } else if (locationName == 'Great Gnarled Tree') {
        locationTag = 'great_gnarled_tree';
    } else if (locationName == 'Lagoon') {
        locationTag = 'lagoon';
    } else if (locationName == 'Laboratory') {
        locationTag = 'laboratory';
    } else if (locationName == 'Mousoleum') {
        locationTag = 'mousoleum';
    } else if (locationName == 'Town of Digby') {
        locationTag = 'town_of_digby';
    } else if (locationName == 'Bazaar') {
        locationTag = 'bazaar';
    } else if (locationName == 'Toxic Spill') {
        locationTag = 'pollution_outbreak';
    } else if (locationName == 'Training Grounds') {
        locationTag = 'training_grounds';
    } else if (locationName == 'Dojo') {
        locationTag = 'dojo';
    } else if (locationName == 'Meditation Room') {
        locationTag = 'meditation_room';
    } else if (locationName == 'Pinnacle Chamber') {
        locationTag = 'pinnacle_chamber';
    } else if (locationName == 'Catacombs') {
        locationTag = 'catacombs';
    } else if (locationName == 'Forbidden Grove') {
        locationTag = 'forbidden_grove';
    } else if (locationName == 'Acolyte Realm') {
        locationTag = 'forbidden_grove';
    } else if (locationName == 'Cape Clawed') {
        locationTag = 'cape_clawed';
    } else if (locationName == 'Elub Shore') {
        locationTag = 'elub_shore';
    } else if (locationName == 'Nerg Plains') {
        locationTag = 'nerg_plains';
    } else if (locationName == 'Derr Dunes') {
        locationTag = 'derr_dunes';
    } else if (locationName == 'Jungle of Dread') {
        locationTag = 'jungle_of_dread';
    } else if (locationName == 'Dracano') {
        locationTag = 'dracano';
    } else if (locationName == "Balack's Cove") {
        locationTag = 'balacks_cove';
    } else if (locationName == 'Claw Shot City') {
        locationTag = 'claw_shot_city';
    } else if (locationName == 'Gnawnian Express Station') {
        locationTag = 'train_station';
    } else if (locationName == 'Fort Rox') {
        locationTag = 'fort_rox';
    } else if (locationName == 'S.S. Huntington IV') {
        locationTag = 'ss_huntington_ii';
    } else if (locationName == "Zugzwang's Tower") {
        locationTag = 'zugzwang_tower';
    } else if (locationName == 'Crystal Library') {
        locationTag = 'zugzwang_library';
    } else if (locationName == 'Slushy Shoreline') {
        locationTag = 'slushy_shoreline';
    } else if (locationName == 'Iceberg') {
        locationTag = 'iceberg';
    } else if (locationName == 'Sunken City') {
        locationTag = 'sunken_city';
    } else if (locationName == 'Muridae Market') {
        locationTag = 'desert_city';
    } else if (locationName == 'Living Garden') {
        locationTag = 'desert_oasis';
    } else if (locationName == 'Twisted Garden') {
        locationTag = 'desert_oasis';
    } else if (locationName == 'Lost City') {
        locationTag = 'lost_city';
    } else if (locationName == 'Cursed City') {
        locationTag = 'lost_city';
    } else if (locationName == 'Sand Dunes') {
        locationTag = 'sand_dunes';
    } else if (locationName == 'Sand Crypts') {
        locationTag = 'sand_dunes';
    }
    if (debug == true) {
        console.log('Traveling to: ',locationName,locationTag);
    }
    return locationTag;
}

$(document).on('click', '.campPage-quests-footer-smash', function() {
    if (confirm("Smash Your m400 Research Assignment?")) {
        const smashIt = 'library_m400_research_quest_item';
        hg.utils.UserInventory.smashItem(smashIt,1,function (resp) {;})
    }
})