Greasy Fork

赛尔号启航Pc

赛尔号启航Pc.

目前为 2023-05-28 提交的版本。查看 最新版本

// ==UserScript==
// @name            赛尔号启航Pc
// @name:en         赛尔号启航Pc
// @namespace       赛尔号启航Pc
// @version         1.1.5
// @description     赛尔号启航Pc.
// @description:en  helpersaiier
// @include         http://s.61.com/*
// @require         https://greasyfork.org/scripts/372672-everything-hook/code/Everything-Hook.js?version=881251
// @author          2942332601QQ
// @match           http://s.61.com/*
// @run-at          document-start
// @grant           none
// @license         GPL-3.0-or-later
// ==/UserScript==

(function () {
    'use strict';
    //去除左侧小贴士
    var targetClass = 'age-tip';
    var targetClass1 = 'years'
    var observer = new MutationObserver(function (mutations) {
        mutations.forEach(function (mutation) {
            mutation.addedNodes.forEach(function (node) {
                if (node.classList && node.classList.contains(targetClass)) {
                    node.style.display = 'none';
                }
                if (node.classList && node.classList.contains(targetClass1)) {
                    node.style.display = 'none';
                }
            });
        });
    });
    // 监听整个文档的变化
    observer.observe(document, { childList: true, subtree: true });


    var SelfUid = ""
    var skillID = ""   //获取首发精灵skillID
    var myTeam = []  //获取精灵配置信息
    var myTeamDone = 0
    var rewrite = 0
    var CmdArr = []
    // fixMsg()
    // 创建一个 div
    var topWindow = window.top;
    //判断顶层body
    if (topWindow == window) {


        var div = document.createElement("div");


        div.style.position = "fixed";
        div.style.left = "0";
        div.style.top = "100px";
        div.style.width = "250px";
        div.style.height = "70%";
        div.style.backgroundColor = "lightblue";



        var button0 = document.createElement("h3");
        button0.innerHTML = "启航护肝小助手1.1.5";
        button0.style.display = "block";
        button0.style.margin = "10px auto";
        button0.style.width = "200px";
        button0.style.height = "30px";
        button0.style.fontSize = "16px";
        button0.style.fontWeight = "bold"
        button0.style.textAlign = "center";
        div.appendChild(button0);


        // 创建一个按钮
        var button1 = document.createElement("button");
        button1.innerHTML = "开启监听";
        button1.style.display = "block";
        button1.style.margin = "10px auto";
        button1.style.width = "100px";
        button1.style.height = "30px";
        // 在点击按钮时输出日志到文本框中
        button1.onclick = function () {
            if (rewrite == 0) {
                rewrite = 1
                fixMsg()
                logTextArea.value += "顺利开启,您可以进行功能操作了\n";

                button1.innerHTML = "关闭监听";
            } else if (rewrite == 1) {
                rewrite = 0
                backMSg()
                logTextArea.value += "顺利关闭,内存得到部分释放\n";
                button1.innerHTML = "开启监听";
            }

        };
        div.appendChild(button1);


        // 创建一个按钮
        var button = document.createElement("button");
        button.innerHTML = "一键刷资源";
        button.style.display = "block";
        button.style.margin = "10px auto";
        button.style.width = "100px";
        button.style.height = "30px";
        // 在点击按钮时输出日志到文本框中
        button.onclick = async function () {
            if (skillID == "") {
                alert("请先开启监听!调换首发精灵技能!")
                return
            }
            logTextArea.value += "开始刷皮皮第一层\n";
            while (true) {
                //查询轮盘
                await sendMsg(1176, { planetId: 1 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["1"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续皮皮星1\n";
                }
                else if (reward["1"] < 10) {
                    logTextArea.value += "第" + reward["1"] + "次奖励,继续皮皮星1\n";
                } else {
                    logTextArea.value += "第" + reward["1"] + "次奖励,已经刷完皮皮星1\n";
                    CmdArr = []
                    break
                }

                await getObjs(20001, 109, 1)
                await wait(200)
                CmdArr = []
            }
            await wait(200)
            logTextArea.value += "开始刷皮皮第二层\n";
            while (true) {
                //查询轮盘
                await sendMsg(1176, { planetId: 1 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["2"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续皮皮星2\n";
                }
                else if (reward["2"] < 10) {
                    logTextArea.value += "第" + reward["2"] + "次奖励,继续皮皮星2\n";
                } else {
                    logTextArea.value += "第" + reward["2"] + "次奖励,已经刷完皮皮星2\n";
                    CmdArr = []
                    break
                }
                await wait(200)

                await getObjs(20002, 87, 2)
                CmdArr = []
            }
            await wait(200)
            logTextArea.value += "开始刷皮皮第三层\n";
            while (true) {
                //查询轮盘
                await sendMsg(1176, { planetId: 1 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })

                if (reward["3"] < 5) {
                    logTextArea.value += "第" + (reward["3"] + reward["4"]) + "次奖励,继续皮皮星3\n";
                    await getObjs(20003, 29, 3)

                } else if (reward["4"] < 5) {
                    logTextArea.value += "第" + (reward["3"] + reward["4"]) + "次奖励,继续皮皮星3\n";
                    await getObjs(20003, 29, 4)
                } else if (reward["3"] == undefined) {
                    await getObjs(20003, 29, 3)
                } else if (reward["4"] == undefined) {
                    await getObjs(20003, 29, 4)
                } else {
                    logTextArea.value += "第" + (reward["3"] + reward["4"]) + "次奖励,已经刷完皮皮星3\n";
                    CmdArr = []
                    await wait(200)
                    break
                }

                CmdArr = []
            }

            await wait(200)
            logTextArea.value += "开始刷水星第一层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 2 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["9"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续水星1\n";
                } else if (reward["9"] < 20) {
                    logTextArea.value += "第" + reward["9"] + "次奖励,继续水星1\n";
                } else {
                    logTextArea.value += "第" + reward["9"] + "次奖励,已经刷完水星1\n";
                    CmdArr = []
                    break
                }
                await wait(200)

                await getObjs(20004, 31, 9)
                CmdArr = []
            }
            await wait(200)
            logTextArea.value += "开始刷水星第二层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 2 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["10"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续水星2\n";
                } else if (reward["10"] < 10) {
                    logTextArea.value += "第" + reward["10"] + "次奖励,继续水星2\n";
                } else {
                    logTextArea.value += "第" + reward["10"] + "次奖励,已经刷完水星2\n";
                    CmdArr = []
                    break
                }
                await wait(200)
                await getObjs(20005, 31, 10)
                CmdArr = []
            }
            await wait(200)
            logTextArea.value += "开始刷水星第三层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 2 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })

                if (reward["11"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续水星3\n";
                }

                else if (reward["11"] < 3) {
                    logTextArea.value += "第" + reward["11"] + "次奖励,继续水星3\n";
                } else {
                    logTextArea.value += "第" + reward["11"] + "次奖励,已经刷完水星3\n";
                    CmdArr = []
                    break
                }

                await getObjs(20006, 31, 11)
                CmdArr = []
                await wait(200)
            }


            await wait(200)
            logTextArea.value += "开始刷火星第一层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 3 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["12"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续火星1\n";
                } else if (reward["12"] < 10) {
                    logTextArea.value += "第" + reward["12"] + "次奖励,继续火星1\n";
                } else {
                    logTextArea.value += "第" + reward["12"] + "次奖励,已经刷完火星1\n";
                    CmdArr = []
                    break
                }
                await wait(200)

                await getObjs(20007, 9, 12)
                CmdArr = []
            }
            await wait(200)
            logTextArea.value += "开始刷火星第二层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 3 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["13"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续火星2\n";
                } else if (reward["13"] < 20) {
                    logTextArea.value += "第" + reward["13"] + "次奖励,继续火星2\n";
                } else {
                    logTextArea.value += "第" + reward["13"] + "次奖励,已经刷完火星2\n";
                    CmdArr = []
                    break
                }
                await wait(200)

                await getObjs(20008, 9, 13)
                CmdArr = []
            }
            await wait(200)
            logTextArea.value += "开始刷火星第三层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 3 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["14"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续火星2\n";
                } else if (reward["14"] < 3) {
                    logTextArea.value += "第" + reward["14"] + "次奖励,继续火星2\n";
                } else {
                    logTextArea.value += "第" + reward["14"] + "次奖励,已经刷完火星2\n";
                    CmdArr = []
                    break
                }
                await wait(200)

                await getObjs(20009, 9, 14)
                CmdArr = []
            }







            await wait(200)
            logTextArea.value += "开始刷云霄星第一层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 5 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["33"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续云霄星1\n";
                } else if (reward["33"] < 20) {
                    logTextArea.value += "第" + reward["33"] + "次奖励,继续云霄星1\n";
                } else {
                    logTextArea.value += "第" + reward["33"] + "次奖励,已经刷完云霄星1\n";
                    CmdArr = []
                    break
                }
                await wait(200)

                await getObjs(20015, 10, 33)
                CmdArr = []
            }
            await wait(200)
            logTextArea.value += "开始刷云霄星第二层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 5 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["34"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续云霄星2\n";
                } else if (reward["34"] < 10) {
                    logTextArea.value += "第" + reward["34"] + "次奖励,继续云霄星2\n";
                } else {
                    logTextArea.value += "第" + reward["34"] + "次奖励,已经刷完云霄星2\n";
                    CmdArr = []
                    break
                }
                await wait(200)
                await getObjs(20016, 9, 34)
                CmdArr = []
            }
            await wait(200)
            logTextArea.value += "开始刷云霄星第三层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 5 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["35"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续云霄星3\n";
                } else if (reward["35"] < 5) {
                    logTextArea.value += "第" + reward["35"] + "次奖励,继续云霄星3\n";
                } else {
                    logTextArea.value += "第" + reward["35"] + "次奖励,已经刷完云霄星3\n";
                    CmdArr = []
                    break
                }
                await wait(200)

                await getObjs(20017, 10, 35)
                CmdArr = []
            }


            await wait(200)
            logTextArea.value += "开始刷喷泉星第一层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 6 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["179"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续喷泉星1\n";
                } else if (reward["179"] < 10) {
                    logTextArea.value += "第" + reward["179"] + "次奖励,继续喷泉星1\n";
                } else {
                    logTextArea.value += "第" + reward["179"] + "次奖励,已经刷完喷泉星1\n";
                    CmdArr = []
                    break
                }

                await getObjs(20018, 9, 179)
                await wait(200)

                CmdArr = []
            }

            await wait(200)
            logTextArea.value += "开始刷喷泉星第二层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 6 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["60"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续喷泉星2\n";
                } else if (reward["60"] < 10) {
                    logTextArea.value += "第" + reward["60"] + "次奖励,继续喷泉星2\n";
                } else {
                    logTextArea.value += "第" + reward["60"] + "次奖励,已经刷完喷泉星2\n";
                    CmdArr = []

                    break
                }
                await getObjs(20020, 9, 60)
                CmdArr = []
                await wait(200)
            }




            await wait(200)
            logTextArea.value += "开始刷暗影星第一层\n";
            while (true) {
                CmdArr = []
                //查询轮盘
                await sendMsg(1176, { planetId: 8 })
                let reward = ""
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 1176) {
                        reward = JSON.parse(item["1176"]).reward
                    }
                })
                if (reward["66"] == undefined) {
                    logTextArea.value += "第" + 1 + "次奖励,继续暗影星1\n";
                } else if (reward["66"] < 20) {
                    logTextArea.value += "第" + reward["66"] + "次奖励,继续暗影星1\n";
                } else {
                    logTextArea.value += "第" + reward["66"] + "次奖励,已经刷完暗影星1\n";
                    CmdArr = []
                    break
                }
                await getObjs(20026, 43, 66)
                await wait(200)

                CmdArr = []
            }





















            console.log("一键刷资源")
        };
        div.appendChild(button);


        // 创建一个按钮
        var button2 = document.createElement("button");
        button2.innerHTML = "一键雇佣";
        button2.style.display = "block";
        button2.style.margin = "10px auto";
        button2.style.width = "100px";
        button2.style.height = "30px";
        // 在点击按钮时输出日志到文本框中
        button2.onclick = async function () {
            SelfUid = prompt("请输入你的大号UID【保证大号小号在同一个战队】");
            console.log(SelfUid)
            let nowSkillId = skillID
            while (1) {
                CmdArr = []
                await sendMsg(10042, {
                    "friendPageNo": 1,
                    "friendPageSize": 1000,
                    "teamPageNo": 1,
                    "teamPageSize": 1000
                })
                let HireArr = []
                CmdArr.forEach(item => {
                    if (parseInt(Object.keys(item)[0]) == 10042) {
                        let teamHireList = JSON.parse(item["10042"]).teamHireList
                        teamHireList.forEach(item0 => {
                            if (item0.userId == parseInt(SelfUid)) {
                                console.log(item0)
                                HireArr.push(item0)
                            }
                        })
                    }
                })

                let doneGet = 0
                for (let index = 0; index < HireArr.length; index++) {
                    if (HireArr[index].petHireTimes < 10) {
                        doneGet = 1
                        logTextArea.value += "开始:" + HireArr[index].roleNick + "的第" + (index + 1) + "只精灵,雇佣次数:" + HireArr[index].petHireTimes + "\n";
                        let newTeamList = []

                        for (let index = 0; index < myTeam.length; index++) {
                            if (myTeam[index].indexOf("_") != -1) {
                                break
                            } else {
                                newTeamList.push(myTeam[index])
                            }
                        }

                        newTeamList.push(SelfUid + "_" + HireArr[index].type + "_" + HireArr[index].pos)



                        CmdArr = []
                        await sendMsg(10043, {
                            "type": HireArr[index].type,
                            "pos": HireArr[index].pos,
                            "targetUid": parseInt(SelfUid)
                        })
                        let goalPet
                        //取出雇佣目标精灵信息
                        CmdArr.forEach(item => {
                            if (parseInt(Object.keys(item)[0]) == 10043) {
                                goalPet = JSON.parse(item["10043"]).pet
                            }
                        })

                        console.log({
                            "levelId": 36,
                            "hirePetList": newTeamList,
                            "attachBattleSkill": [
                                {
                                    "petId": goalPet.petId,
                                    "level": goalPet.level,
                                    "skillList": goalPet.skills,
                                    "getTime": HireArr[index].getTime,
                                    "otherUid": parseInt(SelfUid),
                                    "type": HireArr[index].type
                                }
                            ]
                        })
                        //开始进入冰系关卡
                        await sendMsg(4881, {
                            "levelId": 36,
                            "hirePetList": newTeamList,
                            "attachBattleSkill": [
                                {
                                    "petId": goalPet.petId,
                                    "level": goalPet.level,
                                    "skillList": goalPet.skills,
                                    "getTime": HireArr[index].getTime,
                                    "otherUid": parseInt(SelfUid),
                                    "type": HireArr[index].type
                                }
                            ]
                        })


                        await sendMsg(1042, {
                            "groupId": "",
                            "battleType": 0
                        })


                        await sendMsg(1045, {
                            "data": null,
                            "groupId": "",
                            "opType": 5
                        });
                        CmdArr = []

                        await sendMsg(1057, {
                            "groupId": "",
                        });
                        CmdArr = []


                        await sendMsg(1045, {
                            opType: 1,
                            data: {
                                skillID: nowSkillId,
                            },
                            groupId: "",
                        });
                        CmdArr = []
                        logTextArea.value += "本次雇佣完毕!" + "\n";
                        console.log("打完了!")
                        await wait(100)
                        break
                    }

                }
                if (doneGet == 0) {
                    logTextArea.value += "雇佣完毕!!" + "\n";
                    return
                }
            }




        };
        div.appendChild(button2);



        var button3 = document.createElement("button");
        button3.innerHTML = "一键采集";
        button3.style.display = "block";
        button3.style.margin = "10px auto";
        button3.style.width = "100px";
        button3.style.height = "30px";
        // 在点击按钮时输出日志到文本框中
        button3.onclick = async function () {

            await getResource()
        };
        div.appendChild(button3);





        // 创建一个文本框用于输出日志
        var logTextArea = document.createElement("textarea");
        logTextArea.style.display = "block";
        logTextArea.style.width = "90%";
        logTextArea.style.height = "210px";
        logTextArea.style.margin = "10px auto";
        div.appendChild(logTextArea);



        // 将 div 添加到页面中
        let bdTag = document.getElementsByTagName("html")[0]
        bdTag.appendChild(div);
    }


    async function getObjs(mapId, viewId, levelId) {
        await sendMsg(279, {})
        CmdArr = []

        await sendMsg(4354, { mapId: mapId, viewId: viewId })
        CmdArr = []


        await sendMsg(1172, {
            "levelId": levelId,
            "battleType": 3
        });
        CmdArr = []


        await sendMsg(1045, {
            "data": "",
            "groupId": "",
            "battleType": 5
        });
        CmdArr = []

        await sendMsg(1057, {
            "groupId": "",
        });
        CmdArr = []


        await sendMsg(1045, {
            opType: 1,
            data: {
                skillID: skillID,
            },
            groupId: "",
        });
        CmdArr = []

        console.log("打完了!")
    }


    function sendMsg(nowCmd, nowBody) {
        return new Promise((resolve) => {
            if (document.querySelector("iframe").contentWindow.GlobalSocket == undefined) {
                GlobalSocket.PROTOCOL_SOCKET.send(
                    nowCmd,
                    nowBody
                );
            } else {
                document.querySelector("iframe").contentWindow.GlobalSocket.PROTOCOL_SOCKET.send(
                    nowCmd,
                    nowBody
                );

            }


            console.log("发送指令:" + nowCmd);

            async function checkCmd() {
                while (true) {
                    await new Promise((resolve) => setTimeout(resolve, 1));

                    let keysArr = []
                    CmdArr.forEach(item => {
                        keysArr.push(parseInt(Object.keys(item)[0]))
                    })
                    if (keysArr.indexOf(nowCmd) != -1) {
                        console.info("接收到了信息!" + nowCmd)
                        resolve();
                        break;
                    }
                }
            }

            checkCmd().then(resolve);
        });
    }





    function fixMsg() {
        // 保存原函数
        var originalCreateMsg
        if (document.querySelector("iframe").contentWindow.SocketSeqMsgs == undefined) {
            originalCreateMsg = SocketSeqMsgs.prototype.createMsg;
            // 重写createMsg方法
            SocketSeqMsgs.prototype.createMsg = function (t, e) {
                // 执行原有的createMsg方法
                originalCreateMsg.call(this, t, e);

                // 获取需要的变量
                var s = this._tmpBytesArray[this._tmpBytesArray.length - 1];
                var raw = s.raw;
                var cmd = s.header.cmd;
                CmdArr.push({ [cmd]: raw })
                // 在这里可以对获取到的变量进行处理或者输出
                console.log("=======")
                console.log('接收cmd:', cmd);
                console.log('raw:', raw);
                try {
                    if ((raw.indexOf("skills") != -1) && (raw.indexOf("subCmd") != -1) && (raw.indexOf("pet") != -1)) {
                        skillID = JSON.parse(raw).pet.skills[0]
                        logTextArea.value += "技能刷新完毕" + JSON.parse(raw).pet.nick + "==>技能读取完毕!!\n请确保精灵第一技能可以释放一次秒掉野怪\n";
                    }
                    if (raw.indexOf("defaultTeam") != -1) {
                        myTeam = JSON.parse(raw).value
                        console.log(myTeam)
                        logTextArea.value += "顺利获取精灵配置信息,可开始雇佣!\n";
                    }

                } catch (e) {

                }

                console.log("=======")

            }
        } else {
            originalCreateMsg = document.querySelector("iframe").contentWindow.SocketSeqMsgs.prototype.createMsg;
            // 重写createMsg方法
            document.querySelector("iframe").contentWindow.SocketSeqMsgs.prototype.createMsg = function (t, e) {
                // 执行原有的createMsg方法
                originalCreateMsg.call(this, t, e);

                // 获取需要的变量
                var s = this._tmpBytesArray[this._tmpBytesArray.length - 1];
                var raw = s.raw;
                var cmd = s.header.cmd;
                CmdArr.push({ [cmd]: raw })
                // 在这里可以对获取到的变量进行处理或者输出
                console.log("=======")
                console.log('接收cmd:', cmd);
                console.log('raw:', raw);
                try {
                    if ((raw.indexOf("skills") != -1) && (raw.indexOf("subCmd") != -1) && (raw.indexOf("pet") != -1)) {
                        skillID = JSON.parse(raw).pet.skills[0]
                        logTextArea.value += "技能刷新完毕" + JSON.parse(raw).pet.nick + "==>技能读取完毕!!\n请确保精灵第一技能可以释放一次秒掉野怪\n";
                    }
                    if (raw.indexOf("defaultTeam") != -1) {
                        myTeam = JSON.parse(raw).value
                        console.log(myTeam)
                        logTextArea.value += "顺利获取精灵配置信息,可开始雇佣!\n";
                    }

                } catch (e) {

                }

                console.log("=======")

            }
        }



    }



    function backMSg() {
        // 保存原函数
        if (document.querySelector("iframe").contentWindow.SocketSeqMsgs == undefined) {
            var originalCreateMsg = SocketSeqMsgs.prototype.createMsg;
            SocketSeqMsgs.prototype.createMsg = function (t, e) {
                // 执行原有的createMsg方法
                originalCreateMsg.call(this, t, e);

            }
        }else{
            var originalCreateMsg = document.querySelector("iframe").contentWindow.SocketSeqMsgs.prototype.createMsg;
            document.querySelector("iframe").contentWindow.SocketSeqMsgs.prototype.createMsg = function (t, e) {
                // 执行原有的createMsg方法
                originalCreateMsg.call(this, t, e);

            }
        }

    }

    function wait(ms) {
        return new Promise(resolve => setTimeout(() => resolve(), ms));
    };



    async function getResource() {

        for (let index = 0; index < 4; index++) {
            await wait(200)
            //皮皮星第一层
            await sendMsg(9147, { id: 1 })  //矿石
        }
        logTextArea.value += "皮皮星第一层采集完成!!" + "\n";

        for (let index = 0; index < 4; index++) {
            await wait(200)
            //海星第一层
            await sendMsg(9147, { id: 5 })    //甲烷
        }
        logTextArea.value += "海星第一层甲烷采集完成!!" + "\n";

        for (let index = 0; index < 4; index++) {
            await wait(200)
            //海星第一层
            await sendMsg(9147, { id: 34 }) //金石
        }
        logTextArea.value += "海星第一层金石采集完成!!" + "\n";


        for (let index = 0; index < 4; index++) {
            await wait(200)
            //海星第二层
            await sendMsg(9147, { id: 3 })
        }
        logTextArea.value += "海星第一层矿石采集完成!!" + "\n";


        for (let index = 0; index < 4; index++) {
            await wait(200)
            //火星第一层
            await sendMsg(9147, { id: 2 })
        }
        logTextArea.value += "火星第一层矿石采集完成!!" + "\n";

        for (let index = 0; index < 4; index++) {
            await wait(200)
            //火星第二层
            await sendMsg(9147, { id: 6 })
        }
        logTextArea.value += "火星第一层甲烷采集完成!!" + "\n";


        for (let index = 0; index < 4; index++) {
            await wait(200)
            //喷泉星第二层
            await sendMsg(9147, { id: 7 })
        }
        logTextArea.value += "喷泉星第二层采集完成!!" + "\n";


        for (let index = 0; index < 4; index++) {
            await wait(200)
            //喷泉星第二层
            await sendMsg(9147, { id: 8 })
        }
        logTextArea.value += "喷泉星第二层采集完成!!!!" + "\n";


        for (let index = 0; index < 4; index++) {
            await wait(200)
            //机械星
            await sendMsg(9147, { id: 10 })
        }
        logTextArea.value += "机械星采集完成!!!!" + "\n";










    }



    // Your code here...
})();