dmm mission

dmm mission!

Устаревшая версия за 08.12.2023. Перейдите к последней версии.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         dmm mission
// @namespace    http://tampermonkey.net/
// @version      2023.12.8
// @description  dmm mission!
// @author       cunhan
// @match      *://mission.games.dmm.com/
// @match      *://library.games.dmm.com/
// @match      *://mission.games.dmm.co.jp/
// @match      *://library.games.dmm.co.jp/
// @match      *://sp-play.games.dmm.com/*
// @match      *://sp-play.games.dmm.co.jp/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        GM_openInTab
// ==/UserScript==

/*
1、先手动签到dmm客户端的两个游戏
2、手动开启浏览器手机模式,然后打开https://library.games.dmm.co.jp/
2.1 脚本按顺序执行以下操作,打开https://library.games.dmm.com/
2.2 接着打开https://mission.games.dmm.co.jp/,并重复4次“打开页游,返回mission页面”,完成任务并领取代币。最后在新标签页打开https://mission.games.dmm.co.jp/(PC版)
2.3 接着打开https://mission.games.dmm.com/,同上。最后也是在新标签里打开https://mission.games.dmm.com/(PC版)
2.4 由于没有方法“以手机模式打开某个网页”,所以手机版的签到流程全都在同一个页面里顺序执行。
3、上述2.2和2.3打开的PC版mission页面,会同时在新标签页打开3个页游、library页面以及pachinko页面。等待10s后mission标签页自动刷新,领取代币。
4、上面打开的标签页都可以配置TabAutoClose(30s)来自动关闭

总结,手动签到2个客户端游戏,然后手机模式打开https://library.games.dmm.co.jp/,剩下的事情脚本会全部搞定。
*/

(function() {
    'use strict';
    var a = setTimeout(function() { myFunction(); },3000);//增加等待时间,让sp-play可以加载完成
    function myFunction(){ // 声明一个函数
        console.log("正在运行中...");
        var platform = document.getElementById("i3_vwtp");
        if (platform.value == "pc")
        {
            console.log("pc html");
            //处理PC版:
            //找到daliy challenge,如果有新的期间限定任务,让手机版的脚本去点
            var daily = document.getElementsByClassName("p-captStandard");
            for (i = 0; i < daily.length; i++) {
                console.log(daily[i].innerText)
                if (daily[i].innerText == "毎日チャレンジできる、デイリーミッション")
                {
                    console.log(daily[i].nextSibling.nextSibling)
                    var mission_status = daily[i].nextSibling.nextSibling.getElementsByClassName("listMission_gauge_flame");;
                    if (mission_status.length > 0)
                    {
                        //还没有领取状态的文字,把几个页游点一遍
                        var missionitems_pc = daily[i].nextSibling.nextSibling.getElementsByClassName("listMission_targetGameItem_inner");
                        var i;
                        for (i = 0; i < 3; i++) {
                            console.log(missionitems_pc[i].href);
                            var playstatus = missionitems_pc[i].getElementsByClassName("listMission_targetGameItem_isPlayed");
                            if (playstatus.length == 0)
                            {

                                GM_openInTab(missionitems_pc[i].href);
                            }
                        }
                        GM_openInTab("https://www.dmm.com/netgame/pachinko/-/game/");
                        GM_openInTab("https://library.games.dmm.co.jp/");
                        GM_openInTab("https://library.games.dmm.com/");
                        setTimeout(function() { uselessFunction(); },10000);
                    }
                    else
                    {
                        var adddiv = document.getElementsByClassName("receiveAll_btn");
                        if (adddiv.length > 0)
                        {
                            console.log("PC:找到按钮"+adddiv.length);
                            adddiv[0].click();
                            console.log("PC:已点击接受所有报酬");
                        }
                    }
                }

            }
        }
        //处理手机版
        //手动开启手机模式,按以下顺序依次跳转library.games.dmm.co.jp -> library.games.dmm.com -> mission.games.dmm.com -> mission.games.dmm.co.jp
        if (platform.value == "sp")
        {
            console.log("sp html")
            //从页游跳回mission
            if (document.domain == "sp-play.games.dmm.co.jp")
            {
                window.location.replace("https://mission.games.dmm.co.jp/");
                return;
            }
            if (document.domain == "sp-play.games.dmm.com")
            {
                window.location.replace("https://mission.games.dmm.com/");
                return;
            }

            if (document.domain == "library.games.dmm.co.jp")//#1
            {
                window.location.replace("https://library.games.dmm.com/");
                return;
            }
            if (document.domain == "library.games.dmm.com")//#2
            {
                window.location.replace("https://mission.games.dmm.co.jp/");
                return;
            }
            //未play的逐个点
            var missionitems_mobile = document.getElementsByClassName("target-item-inner");
            var ij;
            for (ij = 0; ij < missionitems_mobile.length; ij++) {
                console.log(missionitems_mobile[ij].href);
                var playstatusm = missionitems_mobile[ij].getElementsByClassName("target-item-text-played");
                if (playstatusm.length == 0)
                {
                    console.log("redirect.")
                    window.location.replace(missionitems_mobile[ij].href);
                    return;
                }
                else
                {
                    console.log(playstatusm[0]);
                }
            }
            //访问mission页面时,先收菜后跳转
            adddiv = document.getElementsByClassName("receive-all-button");
            if (adddiv.length > 0)
            {
                console.log("手机版:找到按钮"+adddiv.length);
                adddiv[0].click();
                console.log("手机版:已点击接受所有报酬");
            }
            //同时在新标签页打开PC版
            if (document.domain == "mission.games.dmm.co.jp")//#3
            {
                console.log("mobile mission.jp -> mobile mission com, new pc mission.jp")
                GM_openInTab("https://mission.games.dmm.co.jp/");
                window.location.replace("https://mission.games.dmm.com/");
                return;
            }
            if (document.domain == "mission.games.dmm.com")//#4 end
            {
                console.log("mobile mission.com -> new pc misson.com")
                GM_openInTab("https://mission.games.dmm.com/");
                return;
            }
        }

    }


    function uselessFunction(){
        console.log("最后刷新页面")
        location.reload();
    }




})();