// ==UserScript==
// @name 赛尔号启航Pc
// @name:en 赛尔号启航Pc
// @namespace 赛尔号启航Pc
// @version 1.3.7
// @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 bossStatus = false
var SelfUid = ""
var skillID = "" //获取首发精灵skillID
var myTeam = [] //获取精灵配置信息
var myTeamDone = 0
var StartJson = "" //存储迷航当前进度id
var rewrite = 0
var CmdArr = []
// fixMsg()
// 创建一个 div
var topWindow = window.top;
//判断顶层body
if (topWindow == window) {
var div = document.createElement("div");
div.id = "cardPage";
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 div1 = document.createElement("div");
div1.style.position = "fixed";
div1.style.left = "0";
div1.style.top = "60px";
div1.style.width = "250px";
div1.style.height = "10%";
// 创建一个按钮
var tosmall = document.createElement("button");
tosmall.innerHTML = "缩小菜单";
tosmall.style.display = "block";
tosmall.style.margin = "10px auto";
tosmall.style.width = "100px";
tosmall.style.height = "30px";
// 在点击按钮时输出日志到文本框中
tosmall.onclick = function () {
if (tosmall.innerHTML == "缩小菜单") {
tosmall.innerHTML = "展开菜单"
document.getElementById("cardPage").style.display = "none"
} else {
tosmall.innerHTML = "缩小菜单"
document.getElementById("cardPage").style.display = "block"
}
};
div1.appendChild(tosmall)
var button0 = document.createElement("h3");
button0.innerHTML = "启航护肝小助手1.3.7";
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 group = document.createElement("button");
group.innerHTML = "加群";
group.style.margin = "10px";
group.style.width = "30px";
group.style.height = "40px";
group.style.fontSize = "5px"; //
group.style.fontWeight = "bold"
group.style.float = "left";
// 在点击按钮时输出日志到文本框中
group.onclick = function () {
window.open("http://43.143.137.151:8008/wxcode/qun.jpg", "_blank", "resizable,scrollbars,status");
};
div.appendChild(group);
var supportTxt = document.createElement("p");
supportTxt.innerHTML = "【支持所有(ios,安卓,windows,苹果,ipad)】";
supportTxt.style.display = "block";
supportTxt.style.marginLeft = "10px";
supportTxt.style.width = "100px";
supportTxt.style.height = "30px";
supportTxt.style.fontSize = "5px";
supportTxt.style.fontWeight = "bold"
supportTxt.style.textAlign = "center";
supportTxt.style.float = "left";
div.appendChild(supportTxt);
// 创建一个按钮
var payFor = document.createElement("button");
payFor.innerHTML = "赞助";
payFor.style.margin = "10px";
payFor.style.width = "30px";
payFor.style.height = "40px";
payFor.style.fontSize = "5px"; //
payFor.style.fontWeight = "bold"
payFor.style.marginLeft = "40px"
// 在点击按钮时输出日志到文本框中
payFor.onclick = function () {
window.open("http://43.143.137.151:8008/wxcode/payForUp.png", "_blank", "resizable,scrollbars,status");
};
div.appendChild(payFor);
// 创建一个按钮
var button1 = document.createElement("button");
button1.innerHTML = "开启监听";
button1.style.margin = "10px";
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 button5 = document.createElement("button");
button5.innerHTML = "星际迷航";
button5.style.margin = "10px";
button5.style.width = "100px";
button5.style.height = "30px";
// 在点击按钮时输出日志到文本框中
button5.onclick = async function () {
await starTrek()
};
div.appendChild(button5);
// 创建一个按钮
var button = document.createElement("button");
button.innerHTML = "一键刷资源";
button.style.margin = "10px";
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.margin = "10px";
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.margin = "10px";
button3.style.width = "100px";
button3.style.height = "30px";
// 在点击按钮时输出日志到文本框中
button3.onclick = async function () {
await getResource()
};
div.appendChild(button3);
var button4 = document.createElement("button");
button4.innerHTML = "一键轮盘";
button4.style.margin = "10px";
button4.style.width = "100px";
button4.style.height = "30px";
// 在点击按钮时输出日志到文本框中
button4.onclick = async function () {
await goPrize()
};
div.appendChild(button4);
// 创建一个文本框用于输出日志
var logTextArea = document.createElement("textarea");
logTextArea.style.display = "block";
logTextArea.style.width = "90%";
logTextArea.style.height = "210px";
logTextArea.style.margin = "10px auto";
logTextArea.scrollTop = logTextArea.scrollHeight;
div.appendChild(logTextArea);
// 将 div 添加到页面中
let bdTag = document.getElementsByTagName("html")[0]
bdTag.appendChild(div1);
bdTag.appendChild(div);
}
// 创建 MutationObserver 实例
const observer1 = new MutationObserver((mutationsList) => {
// 监听到内容变化时的回调函数
logTextArea.scrollTop = logTextArea.scrollHeight;
});
// 配置 MutationObserver 监听的内容变化类型
const config = { childList: true, subtree: true };
// 开始监听 logTextArea 内容的变化
observer1.observe(logTextArea, config);
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;
try {
var socketPrototype = document.querySelector("iframe").contentWindow.SocketSeqMsgs.prototype;
if (socketPrototype.createMsg === undefined) {
originalCreateMsg = SocketSeqMsgs.prototype.createMsg;
socketPrototype = SocketSeqMsgs.prototype;
} else {
originalCreateMsg = socketPrototype.createMsg;
}
} catch (e) {
originalCreateMsg = SocketSeqMsgs.prototype.createMsg;
socketPrototype = SocketSeqMsgs.prototype;
}
socketPrototype.createMsg = function (t, e) {
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";
}
if ((cmd == "1120") && (raw.indexOf("starMedal") != -1)) {
StartJson = JSON.parse(raw);
}
if (cmd == "1049") {
bossStatus = true;
}
} catch (e) { }
console.log("=======");
};
// //重写图鉴监听方法
// var PetView
// if (document.querySelector("iframe").contentWindow.SocketSeqMsgs == undefined) {
// PetView = petIllustrated.PetIllustrated.prototype.updatePetAttrView;
// // 重写updatePetAttrView方法
// petIllustrated.PetIllustrated.prototype.updatePetAttrView = function (e) {
// console.log(e)
// // 执行原有的createMsg方法e
// PetView.call(this, e);
// }
// } else {
// PetView = document.querySelector("iframe").contentWindow.petIllustrated.PetIllustrated.prototype.updatePetAttrView;
// // 重写updatePetAttrView方法
// document.querySelector("iframe").contentWindow.petIllustrated.PetIllustrated.prototype.updatePetAttrView = function (e) {
// console.log(e)
// // 执行原有的createMsg方法e
// PetView.call(this, e);
// }
// }
}
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));
};
function getCountByItemId(itemID) {
let count
try {
count = ItemManager.getInstance().getItemNumById(itemID);
} catch (e) {
count = document.querySelector("iframe").contentWindow.ItemManager.getInstance().getItemNumById(itemID);
}
return count
}
//星际迷航
async function starTrek() {
while (1) {
await wait(100)
await sendMsg(1120, {
"type": 0
})
logTextArea.value += `当前迷航进度: 第${parseInt(StartJson.levelId) + 1}关卡\n`;
if (parseInt(StartJson.levelId) >= 15) {
logTextArea.value += `完成星际迷航,进行一键领取\n`;
await wait(200)
await sendMsg(1223, {})
break
}
if ((parseInt(StartJson.levelId) + 1) >= 11) {
let skillList = StartJson.petList[0].useSkills
for (let index = 0; index < skillList.length; index++) {
if (skillList[index].id == 11022) {
logTextArea.value += `更换阵容首发为蒙多,继续!\n`;
await sendMsg(1122, {
"petList": [
StartJson.petList[1].getTime,
StartJson.petList[0].getTime,
0,
0,
0,
0
],
"attachBattleSkill": []
})
await sendMsg(1120, {
"type": 0
})
}
}
}
//前十关卡
if ((parseInt(StartJson.levelId) + 1) <= 10) {
let skillList = StartJson.petList[0].useSkills
for (let index = 0; index < skillList.length; index++) {
if (skillList[index].id == 100023) {
logTextArea.value += `更换阵容首发为魔焰,继续!\n`;
await sendMsg(1122, {
"petList": [
StartJson.petList[1].getTime,
StartJson.petList[0].getTime,
0,
0,
0,
0
],
"attachBattleSkill": []
})
await sendMsg(1120, {
"type": 0
})
}
}
}
//2.进入迷航关卡
await sendMsg(1121, {
"getTimeList": [
StartJson.petList[0].getTime,
StartJson.petList[1].getTime,
0,
0,
0,
0
]
})
while (1) {
if (bossStatus == true) {
console.log("顺利加载战斗资源")
bossStatus = false
break
} else {
await wait(50)
}
}
await sendMsg(1042, {
"groupId": "",
"battleType": 0
})
await sendMsg(1045, {
"opType": 5,
"data": null,
"groupId": ""
})
await sendMsg(1057, {
"groupId": "",
});
if (parseInt(StartJson.levelId) + 1 <= 10) {
logTextArea.value += `释放绝命火焰\n`;
await sendMsg(1045, {
"opType": 1,
"data": {
"skillID": 11022
},
"groupId": ""
})
} else {
logTextArea.value += `释放蒙多光闪击\n`;
await sendMsg(1045, {
"opType": 1,
"data": {
"skillID": 100023
},
"groupId": ""
})
}
await wait(100)
await sendMsg(8201, {})
await sendMsg(8209, {})
//逃跑
await sendMsg(303, {})
await wait(50)
//顺利释放一次
console.log("顺利释放一次")
}
}
//轮盘
async function goPrize() {
//皮皮星轮盘 每次消耗5个
let CountC = 0
while (1) {
var count = getCountByItemId(100014) //获取物品id对应数量 光合能量
if (count >= 5) {
CountC++
logTextArea.value += "皮皮星轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 1,
"prizePool": 1
})
} else {
logTextArea.value += "皮皮星轮盘已经清空!!" + "\n";
break
}
}
CountC = 0
//海洋星2级轮盘 每次消耗2个 和 1个 1个
while (1) {
var count0 = getCountByItemId(100015); //甲烷
var count1 = getCountByItemId(100016);; //青晶石
var count2 = getCountByItemId(100017); //黑曜石
if (count0 >= 2 && count1 >= 1 && count2 >= 1) {
CountC++
logTextArea.value += "海洋星2级轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 2,
"prizePool": 2
})
} else {
logTextArea.value += "海洋星2级轮盘已经清空!!" + "\n";
break
}
}
CountC = 0
//海洋星1级轮盘 每次消耗2个 和 1个
while (1) {
var count0 = getCountByItemId(100015); //甲烷
var count1 = getCountByItemId(100016); //青晶石
if (count0 >= 2 && count1 >= 1) {
CountC++
logTextArea.value += "海洋星1级轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 2,
"prizePool": 1
})
} else {
logTextArea.value += "海洋星1级轮盘已经清空!!" + "\n";
break
}
}
CountC = 0
//火山星1轮盘 每次消耗1个 和 2个
while (1) {
var count0 = getCountByItemId(100029); //甲烷
var count1 = getCountByItemId(100030); //青晶石
if (count0 >= 1 && count1 >= 2) {
CountC++
logTextArea.value += "火山星1级轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 3,
"prizePool": 1
})
} else {
logTextArea.value += "火山星1级轮盘已经清空!!" + "\n";
break
}
}
CountC = 0
//火山星2轮盘 每次消耗 1个
while (1) {
var count = getCountByItemId(100031);
if (count >= 1) {
CountC++
logTextArea.value += "火山星2级轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 3,
"prizePool": 2
})
} else {
logTextArea.value += "火山星2级轮盘已经清空!!" + "\n";
break
}
}
CountC = 0
//云霄1轮盘 每次消耗2个
while (1) {
var count = getCountByItemId(100076); //空气结晶
if (count >= 2) {
CountC++
logTextArea.value += "云霄星1级轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 5,
"prizePool": 1
})
} else {
logTextArea.value += "云霄星1级轮盘已经清空!!" + "\n";
break
}
}
CountC = 0
//云霄2轮盘 每次消耗2个 1个
while (1) {
var count0 = getCountByItemId(100077); //不息云壤
var count1 = getCountByItemId(100078); //幻影之羽
if (count0 >= 2 && count1 >= 1) {
CountC++
logTextArea.value += "云霄星2级轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 5,
"prizePool": 2
})
} else {
logTextArea.value += "云霄星2级轮盘已经清空!!" + "\n";
break
}
}
CountC = 0
//双子阿尔法星 每次消耗1个 1个
while (1) {
var count0 = getCountByItemId(100191);
var count1 = getCountByItemId(100193);
if (count0 >= 1 && count1 >= 1) {
CountC++
logTextArea.value += "双子阿尔法星轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 6,
"prizePool": 1
})
} else {
logTextArea.value += "双子阿尔法星轮盘已经清空!!" + "\n";
break
}
}
CountC = 0
//暗影星轮盘 每次消耗 2个
while (1) {
var count = getCountByItemId(100313);
if (count >= 2) {
CountC++
logTextArea.value += "暗影星轮盘第" + CountC + "次" + "\n";
await wait(200)
await sendMsg(8997, {
"levelId": 8,
"prizePool": 1
})
} else {
logTextArea.value += "暗影星轮盘已经清空!!" + "\n";
break
}
}
}
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...
})();