Greasy Fork

来自缓存

4399增强

[✨荒岛求生日记 高情商聊天] 无限钻石资源精力金币嗨翻天 [🔥免广告领奖励] 不用看广告,奖励领到吐,还能自定义奖励倍数 [🚫不用下载4399在线玩] 直接拿专属礼包 [✔️修改提交分数] 0.99 秒冲榜不是梦 (慎用) [🌏修改浏览器UA] 让浏览器变成4399在线玩或4399游戏盒 [★开发者福利] 拒绝4399疯狂调试

目前为 2022-04-23 提交的版本。查看 最新版本

// ==UserScript==
// @name         4399增强
// @namespace    https://fcmsb250.github.io/
// @version      0.4.3
// @description  [✨荒岛求生日记 高情商聊天] 无限钻石资源精力金币嗨翻天  [🔥免广告领奖励] 不用看广告,奖励领到吐,还能自定义奖励倍数 [🚫不用下载4399在线玩] 直接拿专属礼包 [✔️修改提交分数] 0.99 秒冲榜不是梦 (慎用) [🌏修改浏览器UA] 让浏览器变成4399在线玩或4399游戏盒 [★开发者福利] 拒绝4399疯狂调试
// @author       dsy
// @icon         http://4399.com/favicon.ico
// @run-at       document-start
// @license      MIT

// @include      *://*/*
// 鬼知道哪个地方有4399的API

// @grant        GM_getValue
// @grant        GM_registerMenuCommand
// @grant        GM_unregisterMenuCommand
// @grant        GM_setValue
// @grant        unsafeWindow

// @homepageURL  https://fcmsb250.github.io/
// @supportURL   https://github.com/dsy4567/Fucking-Anti-Indulgence/

// ==/UserScript==

// 感谢这个网站, 让我顺利制作出这个脚本 --> https://open.4399.cn/console/doc

var D = new Date();

// 防那个啥
try {
    if (
        location.href.indexOf("12377.cn") >= 0 ||
        location.href.indexOf("12321.cn") >= 0 ||
        location.href.indexOf("cyberpolice") >= 0 ||
        location.href.indexOf("jubao.chinaso.com") >= 0 ||
        document.title.indexOf("违法和不良信息") >= 0
    ) {
        try {
            location.href = "about:blank";
        } catch (e) {}
        try {
            location.port = "54088";
        } catch (e) {}
        try {
            document.write("<p></p>");
        } catch (e) {}
        try {
            stop();
        } catch (e) {}
    }
} catch (e) {}

function 激励广告奖励翻几倍() {
    let AD = GM_getValue("AD", 1);
    if (!isNaN(Number(AD))) {
        return Number(AD);
    } else {
        GM_setValue("AD", 1);
        return 1;
    }
}

if (location.host == ("szhong.4399.com" || "sxiao.4399.com")) {
    // 荒岛求生日记
    if (unsafeWindow.localStorage.getItem("Idle-Arks-Build-At-Sea-goldCount")) {
        unsafeWindow.localStorage.setItem("Idle-Arks-Build-At-Sea-goldCount", 999999999999999);
        unsafeWindow.localStorage.setItem("Idle-Arks-Build-At-Sea-moodCount", 999999999999999);
    }

    // 高情商聊天
    if (unsafeWindow.localStorage.getItem("electric")) {
        unsafeWindow.localStorage.setItem("kindness", 999999999999999);
        unsafeWindow.localStorage.setItem("electric", 999999999999999);
    }
}

var 免广告次数 = 0; // 阻止广告并发放奖励次数
var 奖励倍数菜单名 = "当前奖励倍数: " + 激励广告奖励翻几倍();
var 奖励倍数菜单id = -1;

var ua菜单名 = "当前UA: " + GM_getValue("UA", navigator.userAgent);
var ua菜单id = -1;

function 更新奖励倍数菜单名() {
    GM_unregisterMenuCommand(奖励倍数菜单id);
    GM_unregisterMenuCommand(奖励倍数菜单名);
    奖励倍数菜单名 = "当前奖励倍数: " + 激励广告奖励翻几倍();
    奖励倍数菜单id = GM_registerMenuCommand(奖励倍数菜单名);
}

function 更新ua菜单名() {
    GM_unregisterMenuCommand(ua菜单id);
    GM_unregisterMenuCommand(ua菜单名);
    ua菜单名 = "当前UA: " + GM_getValue("UA", navigator.userAgent);
    ua菜单id = GM_registerMenuCommand(ua菜单名);
}

function 去他的广告和防沉迷() {
    // h5小游戏
    if (unsafeWindow.h5api) {
        if (!unsafeWindow.h5api.已修改) {
            unsafeWindow.h5api.已修改 = 1; // 防止重复定义

            // 激励广告API
            // 播放全屏广告,并获得广告播放状态
            unsafeWindow.h5api.playAd = function (回调) {
                if (免广告次数 >= 50) {
                    return alert(
                        "是个人都要恰饭, 游戏作者也是, 要不先暂时禁用这个脚本, 然后主动看几条广告?"
                    );
                }

                if (typeof 回调 === "function") {
                    var _激励广告奖励翻几倍 = 激励广告奖励翻几倍();
                    for (let i = 0; i < _激励广告奖励翻几倍; i++) {
                        回调({
                            code: 10000,
                            message: "开始播放",
                        });
                        回调({
                            code: 10001,
                            message: "播放结束",
                        });

                        console.log("[4399增强] 已阻止广告并发放奖励");
                        console.log("回调:", 回调);
                        免广告次数++;
                    }
                } else {
                    console.log("[4399增强] 无效回调");
                }
            };
            // 获得是否可以播放广告及剩余次数
            unsafeWindow.h5api.canPlayAd = function (回调) {
                if (typeof 回调 === "function") {
                    console.log("[4399增强] 正在检测是否能播放广告");
                    回调({
                        canPlayAd: true,
                        remain: 99999,
                    });
                    console.log("回调:", 回调);
                } else {
                    console.log("[4399增强] 无效回调");
                }
                return true;
            };

            // 引导下载API
            unsafeWindow.h5api.showGuide = function (回调) {
                if (typeof 回调 === "function") {
                    回调();
                    alert("领取成功");
                    console.log("[4399增强] 专属礼包领取成功");
                    console.log("回调:", 回调);
                } else {
                    console.log("[4399增强] 无效回调");
                }
            };

            // 排行榜API
            unsafeWindow.h5api.mySubmitRankScore = unsafeWindow.h5api.submitRankScore;
            unsafeWindow.h5api.submitRankScore = function (排行榜id, 分数, 回调) {
                var 用户想要的分数 = prompt(
                    "您正在提交分数, 请在下方输入您想要的分数 (悠着点,小心封号)\n排行榜id: " +
                        排行榜id,
                    分数
                );
                if (用户想要的分数 == null || 用户想要的分数 == "") {
                    用户想要的分数 = 分数;
                }
                unsafeWindow.h5api.mySubmitRankScore(排行榜id, 用户想要的分数, function (输出参数) {
                    alert(
                        "分数提交完毕\n状态码: " +
                            输出参数.code +
                            "\n消息: " +
                            输出参数.msg +
                            "\n历史最高分数: " +
                            输出参数.data.score +
                            "\n历史最高排名: " +
                            输出参数.data.rank
                    );
                    回调(输出参数);
                });
            };
        }
    }

    // (a)iwan4399.com 上引用的 ifs-web_sdk
    // if (unsafeWindow.PageWebApiSdk) {
    //     try {
    //         unsafeWindow.PageWebApiSdkStyle = {};
    //         unsafeWindow.PageWebApiSdk = {};
    //         unsafeWindow.CountDown = {};
    //         unsafeWindow.Tools = {};
    //         unsafeWindow.PageWebApiSdkConf = {};
    //     } catch (err) {
    //         console.error(err);
    //     }
    // }
    // if (unsafeWindow.PageWebPlay) {
    //     try {
    //         unsafeWindow.PageWebPlay = {};
    //     } catch (err) {
    //         console.error(err);
    //     }
    // }

    // // web.4399.com 上引用的 fcmv2.js
    // if (unsafeWindow.smevent) {
    //     try {
    //         unsafeWindow.smevent = () => {};
    //         unsafeWindow.smevent.IEVersion = () => {};
    //         unsafeWindow.smevent.flashChecker = function () {
    //             return { flash: true };
    //         };
    //         unsafeWindow.popup = () => {};
    //         unsafeWindow.poplist = () => {};
    //         unsafeWindow.immedToWeb = () => {};
    //         unsafeWindow.toweb = () => {};
    //         unsafeWindow.exitGame = () => {};
    //         unsafeWindow.tofcmdjs = () => {};
    //         unsafeWindow.closePop = () => {};
    //         unsafeWindow.playGameCountdown = () => {};
    //         unsafeWindow.countdown = () => {};
    //         unsafeWindow.news_handle = () => {};
    //         unsafeWindow.heartbeat = () => {};
    //         unsafeWindow.popwebtips = () => {};
    //         unsafeWindow.flashpop = () => {};
    //         unsafeWindow.a1101824 = () => {};
    //     } catch (err) {
    //         console.error(err);
    //     }
    // }
}
function 去他的广告和防沉迷2() {
    // h5页游
    if (unsafeWindow.H5API) {
        if (!unsafeWindow.H5API.已修改) {
            unsafeWindow.H5API.已修改 = 1; // 防止重复定义

            // 激励广告API
            // 播放全屏广告,并获得广告播放状态
            unsafeWindow.H5API.playAd = function (回调) {
                if (免广告次数 >= 50) {
                    return alert(
                        "是个人都要恰饭, 游戏作者也是, 要不先暂时禁用这个脚本, 然后主动看几条广告?"
                    );
                }

                if (typeof 回调 === "function") {
                    var _激励广告奖励翻几倍 = 激励广告奖励翻几倍();
                    for (let i = 0; i < _激励广告奖励翻几倍; i++) {
                        回调({
                            code: 10000,
                            message: "开始播放",
                        });
                        回调({
                            code: 10001,
                            message: "播放结束",
                        });

                        console.log("[4399增强] 已阻止广告并发放奖励");
                        console.log("回调:", 回调);
                        免广告次数++;
                    }
                } else {
                    console.log("[4399增强] 无效回调");
                }
            };
            // 获得是否可以播放广告及剩余次数
            unsafeWindow.H5API.canPlayAd = function (回调) {
                if (typeof 回调 === "function") {
                    console.log("[4399增强] 正在检测是否能播放广告");
                    回调({
                        canPlayAd: true,
                        remain: 99999,
                    });
                    console.log("回调:", 回调);
                } else {
                    console.log("[4399增强] 无效回调");
                }
                return true;
            };

            // 防沉迷API
            unsafeWindow.H5API.openVerify = H5API.verifyState = function (回调) {
                if (typeof 回调 === "function") {
                    console.log("[4399增强] 正在告诉游戏玩家不是未成年");
                    回调({
                        eventType: "_verifyState",
                        data: {
                            needVerify: false,
                            antiIndulge: 1,
                        },
                    });
                    console.log("回调:", 回调);
                } else {
                    console.log("[4399增强] 无效回调");
                }
            };

            // 引导下载API
            unsafeWindow.H5API.showGuide = function (回调) {
                if (typeof 回调 === "function") {
                    回调();
                    alert("领取成功");
                    console.log("[4399增强] 专属礼包领取成功");
                    console.log("回调:", 回调);
                } else {
                    console.log("[4399增强] 无效回调");
                }
            };
        }
    }
}

去他的广告和防沉迷2();
setInterval(去他的广告和防沉迷2, 5000);

if (location.host.includes("4399")) {
    // 干掉疯狂调试
    unsafeWindow.fuck_debugger = () => {
        console.log(`
            运行下面的代码:
            check = () => {};
            consoleOpenCallback = () => {};
            clearInterval(_windon_handler);
            alert="";
        `);
    };
    try {
        Object.defineProperty(unsafeWindow, "check", {
            value: () => {},
            writable: false,
        });
    } catch (e) {}
    try {
        Object.defineProperty(unsafeWindow, "consoleOpenCallback", {
            value: () => {},
            writable: false,
        });
    } catch (e) {}
    try {
        unsafeWindow.consoleOpenCallback = () => {};
        unsafeWindow.check = () => {};
        unsafeWindow.clearInterval(unsafeWindow._windon_handler);
    } catch (e) {}

    去他的广告和防沉迷();
    setInterval(去他的广告和防沉迷, 5000);

    setTimeout(() => {
        // 修改UA
        let customUserAgent = GM_getValue("UA", navigator.userAgent);
        if (customUserAgent != "default") {
            Object.defineProperty(navigator, "userAgent", {
                value: customUserAgent,
                writable: false,
            });
        }
    }, 1500);

    if (self == top) {
        GM_registerMenuCommand("修改UA为4399在线玩", () => {
            GM_setValue("UA", "4399wan");
            更新ua菜单名();
        });
        GM_registerMenuCommand("修改UA为4399游戏盒广场小游戏", () => {
            GM_setValue("UA", "4399GameCenter minigame");
            更新ua菜单名();
        });
        GM_registerMenuCommand("修改UA为默认", () => {
            GM_setValue("UA", "default");
            更新ua菜单名();
        });

        GM_registerMenuCommand("1倍激励广告奖励", () => {
            GM_setValue("AD", "1");
            更新奖励倍数菜单名();
        });
        GM_registerMenuCommand("1000倍激励广告奖励()", () => {
            GM_setValue("AD", "1000");
            更新奖励倍数菜单名();
        });
        GM_registerMenuCommand("自定义激励广告奖励倍数", () => {
            let inp = prompt("请输入数字, 数字过大将导致游戏卡顿", 激励广告奖励翻几倍());
            if (isNaN(Number(inp)) || Number(inp) == 0) {
                return alert("无效数字");
            }
            GM_setValue("AD", String(inp));
            更新奖励倍数菜单名();
        });
        奖励倍数菜单id = GM_registerMenuCommand(奖励倍数菜单名);
        ua菜单id = GM_registerMenuCommand(ua菜单名);
    }
}

console.log(
    "[4399增强] 脚本执行完毕, 用时" + (new Date().getTime() - D.getTime()) + "ms ",
    location.href
);