赛尔号启航Pc

赛尔号启航Pc.

ของเมื่อวันที่ 27-06-2023 ดู เวอร์ชันล่าสุด

  1. // ==UserScript==
  2. // @name 赛尔号启航Pc
  3. // @name:en 赛尔号启航Pc
  4. // @namespace 赛尔号启航Pc
  5. // @version 1.8.7
  6. // @description 赛尔号启航Pc.
  7. // @description:en helpersaiier
  8. // @include http://s.61.com/*
  9. // @require https://greasyfork.org/scripts/372672-everything-hook/code/Everything-Hook.js?version=881251
  10. // @author 2942332601QQ
  11. // @match http://s.61.com/*,https://img.2125.com/*
  12. // @run-at document-start
  13. // @grant none
  14. // @license GPL-3.0-or-later
  15. // ==/UserScript==
  16. (function () {
  17. 'use strict';
  18. //去除左侧小贴士
  19. var targetClass = 'age-tip';
  20. var targetClass1 = 'years'
  21. var observer = new MutationObserver(function (mutations) {
  22. mutations.forEach(function (mutation) {
  23. mutation.addedNodes.forEach(function (node) {
  24. if (node.classList && node.classList.contains(targetClass)) {
  25. node.style.display = 'none';
  26. }
  27. if (node.classList && node.classList.contains(targetClass1)) {
  28. node.style.display = 'none';
  29. }
  30. });
  31. });
  32. });
  33. // 监听整个文档的变化
  34. observer.observe(document, { childList: true, subtree: true });
  35. var bossStatus = false
  36. var doneRound = false
  37. var tttt
  38. var SelfUid = ""
  39. var skillID = "" //获取首发精灵skillID
  40. var skillStarId = ""
  41. var myTeam = [] //获取精灵配置信息
  42. var myTeamDone = 0
  43. var StartJson = "" //存储迷航当前进度id
  44. var rewrite = 0
  45. var CmdArr = []
  46. var changePet = ""
  47. var nextRound = false
  48. var 战斗资源加载完毕
  49. var PetMsgDetail = ""
  50. var doneBattleMsg = ""
  51. var 捕捉ok = false
  52. var catchCount = 0
  53. var 捕捉情况 = ""
  54. // fixMsg()
  55. // 创建一个 div
  56. var topWindow = window.top;
  57. //判断顶层body
  58. if (topWindow == window) {
  59. var div = document.createElement("div");
  60. div.id = "cardPage";
  61. div.style.position = "fixed";
  62. div.style.left = "0";
  63. div.style.top = "100px";
  64. div.style.width = "250px";
  65. div.style.height = "300px";
  66. div.style.backgroundColor = "lightblue";
  67.  
  68.  
  69.  
  70. var div1 = document.createElement("div");
  71. div1.style.position = "fixed";
  72. div1.style.left = "0";
  73. div1.style.top = "60px";
  74. div1.style.width = "250px";
  75. div1.style.height = "10%";
  76.  
  77. // 创建一个按钮
  78. var tosmall = document.createElement("button");
  79. tosmall.innerHTML = "缩小";
  80. tosmall.style.display = "block";
  81. tosmall.style.margin = "10px auto";
  82. tosmall.style.width = "0px";
  83. tosmall.style.height = "30px";
  84. // 在点击按钮时输出日志到文本框中
  85. tosmall.onclick = function () {
  86. if (tosmall.innerHTML == "缩小") {
  87. tosmall.innerHTML = "展开"
  88. document.getElementById("cardPage").style.display = "none"
  89. } else {
  90. tosmall.innerHTML = "缩小"
  91. document.getElementById("cardPage").style.display = "block"
  92.  
  93. }
  94. };
  95.  
  96.  
  97. div1.appendChild(tosmall)
  98.  
  99.  
  100.  
  101. var button0 = document.createElement("h3");
  102. button0.innerHTML = "⚡启航护肝小助手1.8.7⚡\n ";
  103. button0.style.display = "block";
  104. button0.style.margin = "1px auto";
  105. button0.style.marginTop = "5px"
  106. button0.style.width = "200px";
  107. // button0.style.height = "30px";
  108. button0.style.fontSize = "16px";
  109. button0.style.fontWeight = "bold"
  110. button0.style.textAlign = "center";
  111. div.appendChild(button0);
  112.  
  113.  
  114. var supportTxt = document.createElement("p");
  115. supportTxt.innerHTML = "❤群1018932295【永久免费】❤";
  116. supportTxt.style.display = "block";
  117. // supportTxt.style.marginLeft = "10px";
  118. supportTxt.style.width = "250px";
  119. // supportTxt.style.fontSize = "17px";
  120. supportTxt.style.fontWeight = "bold"
  121. supportTxt.style.textAlign = "center";
  122. supportTxt.style.float = "left";
  123. supportTxt.style.margin = "0px"
  124. div.appendChild(supportTxt);
  125.  
  126. var supportTxt1 = document.createElement("p");
  127. supportTxt1.innerHTML = "支持安卓,ios,平板,win电脑,苹果电脑";
  128. supportTxt1.style.display = "block";
  129. supportTxt1.style.width = "250px";
  130. // supportTxt1.style.height = "15px";
  131. supportTxt1.style.fontSize = "10px";
  132. supportTxt1.style.margin = "0px"
  133. // supportTxt1.style.fontWeight = "bold"
  134. supportTxt1.style.textAlign = "center";
  135. supportTxt1.style.float = "left";
  136. div.appendChild(supportTxt1);
  137.  
  138. // 创建单选按钮1
  139. var radio1 = document.createElement('input');
  140. radio1.type = 'radio';
  141. radio1.name = 'option';
  142. radio1.value = '4001';
  143. radio1.style.marginLeft = "10px";
  144.  
  145. // 创建标签1
  146. var label1 = document.createElement('label');
  147. label1.innerHTML = '初级胶囊';
  148. label1.style.fontSize = "10px";
  149. // 创建单选按钮2
  150. var radio2 = document.createElement('input');
  151. radio2.type = 'radio';
  152. radio2.name = 'option';
  153. radio2.value = '4002';
  154. // 创建标签2
  155. var label2 = document.createElement('label');
  156. label2.innerHTML = '中级胶囊';
  157. label2.style.fontSize = "10px";
  158. // 创建单选按钮3
  159. var radio3 = document.createElement('input');
  160. radio3.type = 'radio';
  161. radio3.name = 'option';
  162. radio3.value = '4003';
  163. // 创建标签3
  164. var label3 = document.createElement('label');
  165. label3.innerHTML = '高级胶囊';
  166. label3.style.fontSize = "10px";
  167. // 添加单选按钮和标签到div
  168. div.appendChild(radio1);
  169. div.appendChild(label1);
  170.  
  171. div.appendChild(radio2);
  172. div.appendChild(label2);
  173.  
  174. div.appendChild(radio3);
  175. div.appendChild(label3);
  176.  
  177. // // 设置单选按钮样式
  178. // radio1.style.display = 'block';
  179. // radio2.style.display = 'block';
  180. // radio3.style.display = 'block';
  181. // // 添加其他样式设置...
  182.  
  183. // // 设置标签样式
  184. // label1.style.display = 'block';
  185. // label2.style.display = 'block';
  186. // label3.style.display = 'block';
  187. // 添加其他样式设置...
  188.  
  189.  
  190.  
  191. var produceLogPanel = 0
  192. var tttt
  193. // 创建一个按钮
  194. var button1 = document.createElement("button");
  195. button1.innerHTML = "开启";
  196. button1.style.margin = "4px";
  197. button1.style.width = "45px";
  198. button1.style.height = "30px";
  199. // 在点击按钮时输出日志到文本框中
  200. button1.onclick = function () {
  201. if (rewrite == 0) {
  202. try {
  203. var userI = document.querySelector("iframe").contentWindow.UserManager.getInstance()
  204.  
  205. } catch (e) {
  206. var userI = UserManager.getInstance()
  207. }
  208. if (userI.userInfo == undefined) {
  209. showToast("请先登入游戏再点击开启监听!!")
  210. return
  211. }
  212. rewrite = 1
  213. fixMsg()
  214. showToast("顺利开启监听,宝贝")
  215. showNotice("您的赞助和支持是我最大的动力\n(*^_^*),可加交流粉丝群1018932295。\n近期频频有人贩卖软件,如您遇到贩卖的情况,请及时联系开发者\nV1.8.7更新内容:\n1.ui界面得到更好的美化\n2.新增一键捕捉地图野怪的功能")
  216. if (produceLogPanel == 0) {
  217. produceLogPanel = 1
  218. produceLog()
  219. }
  220. button1.innerHTML = "关闭";
  221. } else if (rewrite == 1) {
  222. rewrite = 0
  223. backMSg()
  224. showToast("顺利关闭,内存得到部分释放")
  225. button1.innerHTML = "开启";
  226. }
  227.  
  228. };
  229. div.appendChild(button1);
  230.  
  231.  
  232.  
  233. var button5 = document.createElement("button");
  234. button5.innerHTML = "迷航";
  235. button5.style.margin = "4px";
  236. button5.style.width = "45px";
  237. button5.style.height = "30px";
  238. button5.style.marginLeft = "10px"
  239. // 在点击按钮时输出日志到文本框中
  240. button5.onclick = async function () {
  241. await starTrek()
  242. };
  243. div.appendChild(button5);
  244.  
  245.  
  246.  
  247.  
  248.  
  249. // 创建一个按钮
  250. var button = document.createElement("button");
  251. button.innerHTML = "资源";
  252. button.style.margin = "4px";
  253. button.style.width = "45px";
  254. button.style.height = "30px";
  255. // 在点击按钮时输出日志到文本框中
  256. button.onclick = async function () {
  257. if (rewrite == 0) {
  258. showToast("请先开启监听!宝贝");
  259. return
  260. }
  261. if (skillID == "") {
  262. showToast("请调换首发精灵技能!");
  263. return
  264. }
  265. writeLog("皮皮星第一层")
  266. while (true) {
  267. //查询轮盘
  268. await sendMsg(1176, { planetId: 1 })
  269. let reward = ""
  270. CmdArr.forEach(item => {
  271. if (parseInt(Object.keys(item)[0]) == 1176) {
  272. reward = JSON.parse(item["1176"]).reward
  273. }
  274. })
  275. if (reward["1"] == undefined) {
  276. writeLog("皮皮星①第1次奖励!")
  277. }
  278. else if (reward["1"] < 10) {
  279. writeLog("皮皮星①第" + reward["1"] + "次奖励!")
  280. } else {
  281. writeLog("皮皮星①完成!")
  282. CmdArr = []
  283. break
  284. }
  285.  
  286. await getObjs(20001, 109, 1)
  287. await wait(200)
  288. CmdArr = []
  289. }
  290. await wait(200)
  291.  
  292. writeLog("皮皮第二层")
  293. while (true) {
  294. //查询轮盘
  295. await sendMsg(1176, { planetId: 1 })
  296. let reward = ""
  297. CmdArr.forEach(item => {
  298. if (parseInt(Object.keys(item)[0]) == 1176) {
  299. reward = JSON.parse(item["1176"]).reward
  300. }
  301. })
  302. if (reward["2"] == undefined) {
  303. writeLog("皮皮星②第1次奖励!")
  304. }
  305. else if (reward["2"] < 10) {
  306. writeLog("皮皮星②第" + reward["2"] + "次奖励!")
  307. } else {
  308. writeLog("皮皮星②完成!")
  309. CmdArr = []
  310. break
  311. }
  312. await wait(200)
  313.  
  314. await getObjs(20002, 87, 2)
  315. CmdArr = []
  316. }
  317. await wait(200)
  318. writeLog("皮皮第三层")
  319. while (true) {
  320. //查询轮盘
  321. await sendMsg(1176, { planetId: 1 })
  322. let reward = ""
  323. CmdArr.forEach(item => {
  324. if (parseInt(Object.keys(item)[0]) == 1176) {
  325. reward = JSON.parse(item["1176"]).reward
  326. }
  327. })
  328.  
  329. if (reward["3"] < 5) {
  330. let oneC = isNaN(parseInt(reward["3"])) ? 0 : parseInt(reward["3"])
  331. let twoC = isNaN(parseInt(reward["4"])) ? 0 : parseInt(reward["4"])
  332. writeLog("皮皮星③第" + (oneC + twoC) + "次奖励!")
  333. await getObjs(20003, 29, 3)
  334.  
  335. } else if (reward["4"] < 5) {
  336. let oneC = isNaN(parseInt(reward["3"])) ? 0 : parseInt(reward["3"])
  337. let twoC = isNaN(parseInt(reward["4"])) ? 0 : parseInt(reward["4"])
  338. writeLog("皮皮星③第" + (oneC + twoC) + "次奖励!")
  339.  
  340. await getObjs(20003, 29, 4)
  341. } else if (reward["3"] == undefined) {
  342. await getObjs(20003, 29, 3)
  343. } else if (reward["4"] == undefined) {
  344. await getObjs(20003, 29, 4)
  345. } else {
  346. writeLog("皮皮星③完成!")
  347. CmdArr = []
  348. await wait(200)
  349. break
  350. }
  351.  
  352. CmdArr = []
  353. }
  354.  
  355. await wait(200)
  356. writeLog("水星第一层")
  357. while (true) {
  358. CmdArr = []
  359. //查询轮盘
  360. await sendMsg(1176, { planetId: 2 })
  361. let reward = ""
  362. CmdArr.forEach(item => {
  363. if (parseInt(Object.keys(item)[0]) == 1176) {
  364. reward = JSON.parse(item["1176"]).reward
  365. }
  366. })
  367. if (reward["9"] == undefined) {
  368. writeLog("水星①第1次奖励!")
  369. } else if (reward["9"] < 20) {
  370. writeLog("水星①第" + reward["9"] + "次奖励!")
  371. } else {
  372. writeLog("水星①完成!")
  373. CmdArr = []
  374. break
  375. }
  376. await wait(200)
  377.  
  378. await getObjs(20004, 31, 9)
  379. CmdArr = []
  380. }
  381.  
  382. await wait(200)
  383. writeLog("水星第二层")
  384. while (true) {
  385. CmdArr = []
  386. //查询轮盘
  387. await sendMsg(1176, { planetId: 2 })
  388. let reward = ""
  389. CmdArr.forEach(item => {
  390. if (parseInt(Object.keys(item)[0]) == 1176) {
  391. reward = JSON.parse(item["1176"]).reward
  392. }
  393. })
  394. if (reward["10"] == undefined) {
  395. writeLog("水星②第1次奖励!")
  396. } else if (reward["10"] < 10) {
  397. writeLog("水星②第" + reward["10"] + "次奖励!")
  398. } else {
  399. writeLog("水星②完成!")
  400. CmdArr = []
  401. break
  402. }
  403. await wait(200)
  404. await getObjs(20005, 31, 10)
  405. CmdArr = []
  406. }
  407. await wait(200)
  408. writeLog("水星第三层")
  409. while (true) {
  410. CmdArr = []
  411. //查询轮盘
  412. await sendMsg(1176, { planetId: 2 })
  413. let reward = ""
  414. CmdArr.forEach(item => {
  415. if (parseInt(Object.keys(item)[0]) == 1176) {
  416. reward = JSON.parse(item["1176"]).reward
  417. }
  418. })
  419.  
  420. if (reward["11"] == undefined) {
  421. writeLog("水星③第1次奖励!")
  422. }
  423.  
  424. else if (reward["11"] < 3) {
  425. writeLog("水星③第" + reward["11"] + "次奖励!")
  426. } else {
  427. writeLog("水星③完成!")
  428. CmdArr = []
  429. break
  430. }
  431.  
  432. await getObjs(20006, 31, 11)
  433. CmdArr = []
  434. await wait(200)
  435. }
  436.  
  437.  
  438. await wait(200)
  439. writeLog("火星第一层")
  440. while (true) {
  441. CmdArr = []
  442. //查询轮盘
  443. await sendMsg(1176, { planetId: 3 })
  444. let reward = ""
  445. CmdArr.forEach(item => {
  446. if (parseInt(Object.keys(item)[0]) == 1176) {
  447. reward = JSON.parse(item["1176"]).reward
  448. }
  449. })
  450. if (reward["12"] == undefined) {
  451. writeLog("火星①第1次奖励!")
  452. } else if (reward["12"] < 10) {
  453. writeLog("火星①第" + reward["12"] + "次奖励!")
  454. } else {
  455. writeLog("火星①完成!")
  456. CmdArr = []
  457. break
  458. }
  459. await wait(200)
  460. await getObjs(20007, 9, 12)
  461. CmdArr = []
  462. }
  463.  
  464.  
  465. await wait(200)
  466. writeLog("火星第二层")
  467. while (true) {
  468. CmdArr = []
  469. //查询轮盘
  470. await sendMsg(1176, { planetId: 3 })
  471. let reward = ""
  472. CmdArr.forEach(item => {
  473. if (parseInt(Object.keys(item)[0]) == 1176) {
  474. reward = JSON.parse(item["1176"]).reward
  475. }
  476. })
  477. if (reward["13"] == undefined) {
  478. writeLog("火星②第1次奖励!")
  479. } else if (reward["13"] < 20) {
  480. writeLog("火星②第" + reward["13"] + "次奖励!")
  481. } else {
  482. writeLog("火星②完成!")
  483. CmdArr = []
  484. break
  485. }
  486. await wait(200)
  487.  
  488. await getObjs(20008, 9, 13)
  489. CmdArr = []
  490. }
  491.  
  492.  
  493. await wait(200)
  494. writeLog("火星第三层")
  495. while (true) {
  496. CmdArr = []
  497. //查询轮盘
  498. await sendMsg(1176, { planetId: 3 })
  499. let reward = ""
  500. CmdArr.forEach(item => {
  501. if (parseInt(Object.keys(item)[0]) == 1176) {
  502. reward = JSON.parse(item["1176"]).reward
  503. }
  504. })
  505. if (reward["14"] == undefined) {
  506. writeLog("火星③第1次奖励!")
  507. } else if (reward["14"] < 3) {
  508. writeLog("火星③第" + reward["14"] + "次奖励!")
  509. } else {
  510. writeLog("火星③第1次奖励!")
  511. CmdArr = []
  512. break
  513. }
  514. await wait(200)
  515.  
  516. await getObjs(20009, 9, 14)
  517. CmdArr = []
  518. }
  519.  
  520.  
  521. await wait(200)
  522. writeLog("云霄星第一层")
  523. while (true) {
  524. CmdArr = []
  525. //查询轮盘
  526. await sendMsg(1176, { planetId: 5 })
  527. let reward = ""
  528. CmdArr.forEach(item => {
  529. if (parseInt(Object.keys(item)[0]) == 1176) {
  530. reward = JSON.parse(item["1176"]).reward
  531. }
  532. })
  533. if (reward["33"] == undefined) {
  534. writeLog("云霄星①第1次奖励!")
  535. } else if (reward["33"] < 20) {
  536. writeLog("云霄星①第" + reward["33"] + "次奖励!")
  537. } else {
  538. writeLog("云霄星完成!")
  539. CmdArr = []
  540. break
  541. }
  542. await wait(200)
  543. await getObjs(20015, 10, 33)
  544. CmdArr = []
  545. }
  546.  
  547.  
  548. await wait(200)
  549. writeLog("云霄星第二层")
  550. while (true) {
  551. CmdArr = []
  552. //查询轮盘
  553. await sendMsg(1176, { planetId: 5 })
  554. let reward = ""
  555. CmdArr.forEach(item => {
  556. if (parseInt(Object.keys(item)[0]) == 1176) {
  557. reward = JSON.parse(item["1176"]).reward
  558. }
  559. })
  560. if (reward["34"] == undefined) {
  561. writeLog("云霄星②第1次奖励!")
  562. } else if (reward["34"] < 10) {
  563. writeLog("云霄星②第" + reward["34"] + "次奖励!")
  564. } else {
  565. writeLog("云霄星②完成!")
  566. CmdArr = []
  567. break
  568. }
  569. await wait(200)
  570. await getObjs(20016, 9, 34)
  571. CmdArr = []
  572. }
  573.  
  574.  
  575.  
  576. await wait(200)
  577. writeLog("云霄星第三层")
  578. while (true) {
  579. CmdArr = []
  580. //查询轮盘
  581. await sendMsg(1176, { planetId: 5 })
  582. let reward = ""
  583. CmdArr.forEach(item => {
  584. if (parseInt(Object.keys(item)[0]) == 1176) {
  585. reward = JSON.parse(item["1176"]).reward
  586. }
  587. })
  588. if (reward["35"] == undefined) {
  589. writeLog("云霄星③第1次奖励!")
  590. } else if (reward["35"] < 5) {
  591. writeLog("云霄星③第" + reward["35"] + "次奖励!")
  592. } else {
  593. writeLog("云霄星③完成!")
  594. CmdArr = []
  595. break
  596. }
  597. await wait(200)
  598.  
  599. await getObjs(20017, 10, 35)
  600. CmdArr = []
  601. }
  602.  
  603.  
  604.  
  605.  
  606.  
  607. await wait(200)
  608. writeLog("喷泉星第一层")
  609. while (true) {
  610. CmdArr = []
  611. //查询轮盘
  612. await sendMsg(1176, { planetId: 6 })
  613. let reward = ""
  614. CmdArr.forEach(item => {
  615. if (parseInt(Object.keys(item)[0]) == 1176) {
  616. reward = JSON.parse(item["1176"]).reward
  617. }
  618. })
  619. if (reward["179"] == undefined) {
  620. writeLog("喷泉星①第1次奖励!")
  621. } else if (reward["179"] < 10) {
  622. writeLog("喷泉星①第" + reward["179"] + "次奖励!")
  623. } else {
  624. writeLog("喷泉星①完成!")
  625. CmdArr = []
  626. break
  627. }
  628.  
  629. await getObjs(20018, 9, 179)
  630. await wait(200)
  631.  
  632. CmdArr = []
  633. }
  634.  
  635.  
  636.  
  637. await wait(200)
  638. writeLog("喷泉星第二层")
  639. while (true) {
  640. CmdArr = []
  641. //查询轮盘
  642. await sendMsg(1176, { planetId: 6 })
  643. let reward = ""
  644. CmdArr.forEach(item => {
  645. if (parseInt(Object.keys(item)[0]) == 1176) {
  646. reward = JSON.parse(item["1176"]).reward
  647. }
  648. })
  649. if (reward["60"] == undefined) {
  650. writeLog("喷泉星②第1次奖励!")
  651. } else if (reward["60"] < 10) {
  652. writeLog("喷泉星②第" + reward["60"] + "次奖励!")
  653. } else {
  654. writeLog("喷泉星②完成!")
  655. CmdArr = []
  656. break
  657. }
  658. await getObjs(20020, 9, 60)
  659. CmdArr = []
  660. await wait(200)
  661. }
  662.  
  663.  
  664.  
  665. await wait(200)
  666. writeLog("暗影星第一层")
  667. while (true) {
  668. CmdArr = []
  669. //查询轮盘
  670. await sendMsg(1176, { planetId: 8 })
  671. let reward = ""
  672. CmdArr.forEach(item => {
  673. if (parseInt(Object.keys(item)[0]) == 1176) {
  674. reward = JSON.parse(item["1176"]).reward
  675. }
  676. })
  677. if (reward["66"] == undefined) {
  678. writeLog("暗影星①第一次奖励!")
  679. } else if (reward["66"] < 20) {
  680. writeLog("暗影星①第" + reward["66"] + "次奖励!")
  681. } else {
  682. writeLog("暗影星①完成!")
  683. CmdArr = []
  684. break
  685. }
  686. await getObjs(20026, 43, 66)
  687. await wait(200)
  688.  
  689. CmdArr = []
  690. }
  691. console.log("刷资源")
  692. };
  693. div.appendChild(button);
  694.  
  695.  
  696.  
  697.  
  698. var button3 = document.createElement("button");
  699. button3.innerHTML = "打怪";
  700. button3.style.margin = "4px";
  701. button3.style.width = "45px";
  702. button3.style.height = "30px";
  703. // 在点击按钮时输出日志到文本框中
  704. button3.onclick = async function () {
  705. if (rewrite == 0) {
  706. showToast("请先开启监听!宝贝")
  707. return
  708. }
  709. await fightQiu()
  710. };
  711. div.appendChild(button3);
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718. // 创建一个按钮
  719. var button2 = document.createElement("button");
  720. button2.innerHTML = "雇佣";
  721. button2.style.margin = "4px";
  722. button2.style.width = "45px";
  723. button2.style.height = "30px";
  724. // 在点击按钮时输出日志到文本框中
  725. button2.onclick = async function () {
  726. if (rewrite == 0) {
  727. showToast("请先开启监听!宝贝")
  728. return
  729. }
  730. SelfUid = 雇佣Uid.value
  731. console.log(SelfUid)
  732. let nowSkillId = skillID
  733.  
  734.  
  735. while (1) {
  736. CmdArr = []
  737. await sendMsg(10042, {
  738. "friendPageNo": 1,
  739. "friendPageSize": 1000,
  740. "teamPageNo": 1,
  741. "teamPageSize": 1000
  742. })
  743. let HireArr = []
  744. CmdArr.forEach(item => {
  745. if (parseInt(Object.keys(item)[0]) == 10042) {
  746. let teamHireList = JSON.parse(item["10042"]).teamHireList
  747. teamHireList.forEach(item0 => {
  748. if (item0.userId == parseInt(SelfUid)) {
  749. console.log(item0)
  750. HireArr.push(item0)
  751. }
  752. })
  753. }
  754. })
  755.  
  756. let doneGet = 0
  757. for (let index = 0; index < HireArr.length; index++) {
  758. if (HireArr[index].petHireTimes < 10) {
  759. doneGet = 1
  760. writeLog("" + HireArr[index].roleNick + "的第" + (index + 1) + "只精灵,雇佣次数:" + HireArr[index].petHireTimes)
  761. let newTeamList = []
  762.  
  763. for (let index = 0; index < myTeam.length; index++) {
  764. if (myTeam[index].indexOf("_") != -1) {
  765. break
  766. } else {
  767. newTeamList.push(myTeam[index])
  768. }
  769. }
  770.  
  771. newTeamList.push(SelfUid + "_" + HireArr[index].type + "_" + HireArr[index].pos)
  772.  
  773.  
  774.  
  775. CmdArr = []
  776. await sendMsg(10043, {
  777. "type": HireArr[index].type,
  778. "pos": HireArr[index].pos,
  779. "targetUid": parseInt(SelfUid)
  780. })
  781. let goalPet
  782. //取出雇佣目标精灵信息
  783. CmdArr.forEach(item => {
  784. if (parseInt(Object.keys(item)[0]) == 10043) {
  785. goalPet = JSON.parse(item["10043"]).pet
  786. }
  787. })
  788.  
  789. console.log({
  790. "levelId": 36,
  791. "hirePetList": newTeamList,
  792. "attachBattleSkill": [
  793. {
  794. "petId": goalPet.petId,
  795. "level": goalPet.level,
  796. "skillList": goalPet.skills,
  797. "getTime": HireArr[index].getTime,
  798. "otherUid": parseInt(SelfUid),
  799. "type": HireArr[index].type
  800. }
  801. ]
  802. })
  803. //开始进入草系关卡
  804. await sendMsg(4881, {
  805. "levelId": 1,
  806. "hirePetList": newTeamList,
  807. "attachBattleSkill": [
  808. {
  809. "petId": goalPet.petId,
  810. "level": goalPet.level,
  811. "skillList": goalPet.skills,
  812. "getTime": HireArr[index].getTime,
  813. "otherUid": parseInt(SelfUid),
  814. "type": HireArr[index].type
  815. }
  816. ]
  817. })
  818.  
  819.  
  820. await sendMsg(1042, {
  821. "groupId": "",
  822. "battleType": 0
  823. })
  824.  
  825.  
  826. await sendMsg(1045, {
  827. "data": null,
  828. "groupId": "",
  829. "opType": 5
  830. });
  831. CmdArr = []
  832.  
  833. await sendMsg(1057, {
  834. "groupId": "",
  835. });
  836. CmdArr = []
  837.  
  838.  
  839. await sendMsg(1045, {
  840. opType: 1,
  841. data: {
  842. skillID: nowSkillId,
  843. },
  844. groupId: "",
  845. });
  846. CmdArr = []
  847. writeLog("本次雇佣完毕")
  848. console.log("打完了!")
  849. await wait(100)
  850. break
  851. }
  852.  
  853. }
  854. if (doneGet == 0) {
  855. writeLog("雇佣完毕!!")
  856. return
  857. }
  858. }
  859.  
  860.  
  861.  
  862.  
  863. };
  864. div.appendChild(button2);
  865.  
  866.  
  867.  
  868. var button3 = document.createElement("button");
  869. button3.innerHTML = "采集";
  870. button3.style.margin = "4px";
  871. button3.style.width = "45px";
  872. button3.style.height = "30px";
  873. button3.style.marginLeft = "10px"
  874. // 在点击按钮时输出日志到文本框中
  875. button3.onclick = async function () {
  876. await getResource()
  877. };
  878. div.appendChild(button3);
  879.  
  880.  
  881.  
  882. var button4 = document.createElement("button");
  883. button4.innerHTML = "轮盘";
  884. button4.style.margin = "4px";
  885. button4.style.width = "45px";
  886. button4.style.height = "30px";
  887.  
  888. // 在点击按钮时输出日志到文本框中
  889. button4.onclick = async function () {
  890. await goPrize()
  891. };
  892. div.appendChild(button4);
  893.  
  894.  
  895.  
  896. var button9 = document.createElement("button");
  897. button9.innerHTML = "捕捉";
  898. button9.style.margin = "4px";
  899. button9.style.width = "45px";
  900. button9.style.height = "30px";
  901. // 在点击按钮时输出日志到文本框中
  902. button9.onclick = async function () {
  903. if (rewrite == 0) {
  904. showToast("请先开启监听!宝贝")
  905. return
  906. }
  907. catchCount = 0
  908. let opt = getSelectedOptions()
  909. if (opt.length == 0) {
  910. showToast("请先选择使用胶囊种类!!")
  911. return
  912. }
  913. if (isNaN(catchC.value)) {
  914. showToast("请输入捕捉次数!!")
  915. return
  916. }
  917. while (1) {
  918. await catchPet()
  919. if (catchCount >= catchC.value) {
  920. writeLog("捕捉结束")
  921. break
  922. }
  923. }
  924.  
  925.  
  926.  
  927. };
  928. div.appendChild(button9);
  929.  
  930. div.appendChild(document.createElement("br"));
  931. var 雇佣Uid = document.createElement("input");
  932. 雇佣Uid.style.marginLeft = "10px"
  933. 雇佣Uid.id = '雇佣Uid';
  934. 雇佣Uid.placeholder = "输入雇佣uid"
  935. 雇佣Uid.style.width = "100px"
  936. div.appendChild(雇佣Uid);
  937.  
  938. var catchC = document.createElement("input");
  939. catchC.style.marginLeft = "10px"
  940. catchC.id = 'catchC';
  941. catchC.placeholder = "输入捕捉次数"
  942. catchC.style.width = "100px"
  943. div.appendChild(catchC);
  944.  
  945. // 创建一个文本框用于输出日志
  946. var logTextArea = document.createElement("textarea");
  947. logTextArea.id = 'logId';
  948. logTextArea.style.resize = 'none';
  949. logTextArea.readOnly = 'readOnly';
  950. logTextArea.style.display = "block";
  951. logTextArea.style.width = "90%";
  952. logTextArea.style.height = "70px";
  953. logTextArea.style.margin = "10px auto";
  954. logTextArea.scrollTop = logTextArea.scrollHeight;
  955. logTextArea.placeholder = "禁止贩卖!如果被欺诈,请在群里联系开发者!"
  956. div.appendChild(logTextArea);
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963. setTimeout(() => {
  964. // 将 div 添加到页面中
  965. let bdTag = document.getElementsByTagName("html")[0]
  966. bdTag.appendChild(div1);
  967. bdTag.appendChild(div);
  968. }, 5000)
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975. }
  976. // 创建 MutationObserver 实例
  977. const observer1 = new MutationObserver((mutationsList) => {
  978. // 监听到内容变化时的回调函数
  979. logTextArea.scrollTop = logTextArea.scrollHeight;
  980. });
  981.  
  982. // 配置 MutationObserver 监听的内容变化类型
  983. const config = { childList: true, subtree: true };
  984.  
  985. // 开始监听 logTextArea 内容的变化
  986. if (logTextArea) {
  987. observer1.observe(logTextArea, config);
  988. } else {
  989. console.error("yhyh未监听到内容");
  990. }
  991.  
  992.  
  993.  
  994. async function sendSkillAndCatch(nowSkillId) {
  995. await sendMsg(1042, {
  996. "groupId": "",
  997. "battleType": 0
  998. })
  999. await wait(100)
  1000.  
  1001. await sendMsg(1045, {
  1002. "opType": 5,
  1003. "data": null,
  1004. "groupId": ""
  1005. })
  1006.  
  1007.  
  1008.  
  1009. await wait(100)
  1010. await sendMsg(1057, {
  1011. "groupId": ""
  1012. })
  1013.  
  1014. await sendMsg(1045, {
  1015. "opType": 1,
  1016. "data": {
  1017. "skillID": nowSkillId
  1018. },
  1019. "groupId": ""
  1020. })
  1021.  
  1022.  
  1023.  
  1024. while (1) {
  1025. if (nextRound == true) {
  1026. console.log("$$$$$$$$$$$$$$本回合结束$$$$$$$$$$$$$$")
  1027. nextRound = false
  1028. break
  1029. } else {
  1030. await wait(50)
  1031. }
  1032. }
  1033.  
  1034.  
  1035.  
  1036.  
  1037. await sendMsg(1057, {
  1038. "groupId": ""
  1039. })
  1040. await sendMsg(1045, {
  1041. "opType": 3,
  1042. "data": {
  1043. "itemID": 4001
  1044. },
  1045. "groupId": ""
  1046. })
  1047.  
  1048. await wait(300)
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056. }
  1057.  
  1058. function produceLog() {
  1059. try {
  1060. tttt = new WatchChatList;
  1061. tttt.skinName = "WatchChatListSkin";
  1062. tttt.strMsg = ""
  1063. tttt.y = 100;
  1064. RES.loadConfig("resource/ui/battle.json", "resource/ui/").then(() => {
  1065. MFC.rootLayer.addChild(tttt)
  1066. tttt.$doRemoveChild(0)
  1067. tttt.$doRemoveChild(3)
  1068. tttt.$doRemoveChild(2)
  1069. tttt.$doRemoveChild(0)
  1070. tttt.$doRemoveChild(1)
  1071. tttt.$doRemoveChild(2)
  1072. })
  1073. } catch (e) {
  1074. let WatchChatList = document.querySelector("iframe").contentWindow.WatchChatList
  1075. tttt = new WatchChatList;
  1076. tttt.skinName = "WatchChatListSkin";
  1077. tttt.strMsg = ""
  1078. tttt.y = 100;
  1079. document.querySelector("iframe").contentWindow.RES.loadConfig("resource/ui/battle.json", "resource/ui/").then(() => {
  1080. document.querySelector("iframe").contentWindow.MFC.rootLayer.addChild(tttt)
  1081. tttt.$doRemoveChild(0)
  1082. tttt.$doRemoveChild(3)
  1083. tttt.$doRemoveChild(2)
  1084. tttt.$doRemoveChild(0)
  1085. tttt.$doRemoveChild(1)
  1086. tttt.$doRemoveChild(2)
  1087. })
  1088. }
  1089.  
  1090. }
  1091. function newLogOutput() {
  1092. logTextArea.scrollTop = logTextArea.scrollHeight;
  1093. }
  1094. function writeLog(logStr) {
  1095. logTextArea.value += logStr + "\n";
  1096. newLogOutput();
  1097. //第二代版本
  1098. // try {
  1099. // tttt.strMsg = "<font color='#bbff00'>[护肝助手]</font><font color='#FFFFFF'>" + logStr + "</font>\n" + tttt.strMsg
  1100. // tttt.txtMsg.textFlow = (new egret.HtmlTextParser).parser(tttt.strMsg)
  1101. // } catch (e) {
  1102. // tttt.strMsg = "<font color='#bbff00'>[护肝助手]</font><font color='#FFFFFF'>" + logStr + "</font>\n" + tttt.strMsg
  1103. // let TextParser = document.querySelector("iframe").contentWindow.egret.HtmlTextParser
  1104. // tttt.txtMsg.textFlow = (new TextParser).parser(tttt.strMsg)
  1105. // }
  1106. }
  1107.  
  1108.  
  1109.  
  1110. async function fightQiu() {
  1111. for (let index = 1; index <= 120; index++) {
  1112. var FirgetTime
  1113. var Pet
  1114. try {
  1115. FirgetTime = document.querySelector("iframe").contentWindow.UserManager.getInstance().userInfo.defaultTeam[0]
  1116. Pet = document.querySelector("iframe").contentWindow.PetManager.getInstance().getPetInfoByGetTime(FirgetTime)
  1117. } catch (e) {
  1118. FirgetTime = UserManager.getInstance().userInfo.defaultTeam[0]
  1119. Pet = PetManager.getInstance().getPetInfoByGetTime(FirgetTime)
  1120. }
  1121.  
  1122.  
  1123. writeLog(Pet.nick + "进入战斗")
  1124. //17 进入战斗
  1125. await sendMsg(1172, {
  1126. "levelId": 2,
  1127. "battleType": 3
  1128. })
  1129. while (1) {
  1130. if (bossStatus == true) {
  1131. bossStatus = false
  1132. break
  1133. }
  1134. await wait(100)
  1135. }
  1136. await sendSkillToSuccess(Pet.skills[0])
  1137. writeLog("第" + index + "战斗顺利!")
  1138. }
  1139.  
  1140.  
  1141.  
  1142.  
  1143. }
  1144.  
  1145. async function sendSkillToSuccess(nowSkillId) {
  1146. await sendMsg(1042, {
  1147. "groupId": "",
  1148. "battleType": 0
  1149. })
  1150. await wait(100)
  1151.  
  1152. await sendMsg(1045, {
  1153. "opType": 5,
  1154. "data": null,
  1155. "groupId": ""
  1156. })
  1157. doneRound = false
  1158. let CountBattle = 0
  1159. while (1) {
  1160. await wait(100)
  1161. await sendMsg(1057, {
  1162. "groupId": ""
  1163. })
  1164. CountBattle++
  1165. writeLog("释放第" + CountBattle + "次技能")
  1166. await sendMsg(1045, {
  1167. "opType": 1,
  1168. "data": {
  1169. "skillID": nowSkillId
  1170. },
  1171. "groupId": ""
  1172. })
  1173.  
  1174. let oldTime = new Date().getTime()
  1175. while (1) {
  1176. if ((new Date().getTime() - oldTime) / 1000 < 2) {
  1177. if (doneRound == true) {
  1178. doneRound = false
  1179. await wait(50)
  1180. return
  1181. } else {
  1182. await wait(50)
  1183. }
  1184. } else {
  1185. break
  1186. }
  1187. }
  1188.  
  1189.  
  1190. await wait(50)
  1191. }
  1192.  
  1193. }
  1194.  
  1195.  
  1196. function showToast(txtMsg) {
  1197. try {
  1198. document.querySelector("iframe").contentWindow.MFC.bubbleAlert.showAlert(txtMsg)
  1199. } catch (e) {
  1200. MFC.bubbleAlert.showAlert(txtMsg)
  1201. }
  1202.  
  1203. }
  1204.  
  1205. function showNotice(txtMsg) {
  1206. try {
  1207. document.querySelector("iframe").contentWindow.MFC.alert.showSimpleTxt(txtMsg) //普通提示
  1208. } catch (e) {
  1209. MFC.alert.showSimpleTxt(txtMsg) //普通提示
  1210. }
  1211. }
  1212.  
  1213. async function getObjs(mapId, viewId, levelId) {
  1214. await sendMsg(279, {})
  1215. CmdArr = []
  1216.  
  1217. await sendMsg(4354, { mapId: mapId, viewId: viewId })
  1218. CmdArr = []
  1219.  
  1220.  
  1221. await sendMsg(1172, {
  1222. "levelId": levelId,
  1223. "battleType": 3
  1224. });
  1225. CmdArr = []
  1226.  
  1227.  
  1228. await sendMsg(1045, {
  1229. "data": "",
  1230. "groupId": "",
  1231. "battleType": 5
  1232. });
  1233. CmdArr = []
  1234.  
  1235. await sendMsg(1057, {
  1236. "groupId": "",
  1237. });
  1238. CmdArr = []
  1239.  
  1240.  
  1241. await sendMsg(1045, {
  1242. opType: 1,
  1243. data: {
  1244. skillID: skillID,
  1245. },
  1246. groupId: "",
  1247. });
  1248. CmdArr = []
  1249.  
  1250.  
  1251.  
  1252. console.log("打完了!")
  1253. }
  1254.  
  1255.  
  1256. function sendMsg(nowCmd, nowBody) {
  1257. return new Promise((resolve) => {
  1258. if (document.querySelector("iframe").contentWindow.GlobalSocket == undefined) {
  1259. GlobalSocket.PROTOCOL_SOCKET.send(
  1260. nowCmd,
  1261. nowBody
  1262. );
  1263. } else {
  1264. document.querySelector("iframe").contentWindow.GlobalSocket.PROTOCOL_SOCKET.send(
  1265. nowCmd,
  1266. nowBody
  1267. );
  1268.  
  1269. }
  1270.  
  1271.  
  1272. console.log({ "指令": nowCmd, "发送体": nowBody });
  1273.  
  1274. async function checkCmd() {
  1275. while (true) {
  1276. await new Promise((resolve) => setTimeout(resolve, 1));
  1277.  
  1278. let keysArr = []
  1279. CmdArr.forEach(item => {
  1280. keysArr.push(parseInt(Object.keys(item)[0]))
  1281. })
  1282. if (keysArr.indexOf(nowCmd) != -1) {
  1283. console.info("接收到了信息!" + nowCmd)
  1284.  
  1285. resolve();
  1286. break;
  1287. }
  1288. }
  1289. }
  1290.  
  1291. checkCmd().then(resolve);
  1292. });
  1293. }
  1294.  
  1295. function getSelectedOptions() {
  1296. var radios = document.getElementsByName('option');
  1297. var selectedOptions = [];
  1298.  
  1299. for (var i = 0; i < radios.length; i++) {
  1300. if (radios[i].checked) {
  1301. selectedOptions.push(radios[i].value);
  1302. }
  1303. }
  1304.  
  1305. return selectedOptions;
  1306. }
  1307. function getRandomIndex(array) {
  1308. var randomIndex = Math.floor(Math.random() * array.length);
  1309. return randomIndex;
  1310. }
  1311.  
  1312.  
  1313.  
  1314. async function catchPet() {
  1315. let opt = getSelectedOptions()[0]
  1316. try {
  1317. var cap = document.querySelector("iframe").contentWindow.ItemManager.getInstance().getItemNumById(opt)
  1318. } catch (e) {
  1319. var cap = ItemManager.getInstance().getItemNumById(opt)
  1320. }
  1321. let nowStr = opt == "4001" ? "普通" : opt == "4002" ? "中级" : opt == "4003" ? "高级" : "";
  1322. writeLog(`目前${nowStr}胶囊剩余数量:` + cap);
  1323. try {
  1324. let randomIndex = getRandomIndex(document.querySelector("iframe").contentWindow.MFC.mapManager._bossManager.bossDataList)
  1325. var levelId = document.querySelector("iframe").contentWindow.MFC.mapManager._bossManager.bossDataList[randomIndex].id
  1326.  
  1327.  
  1328. } catch (e) {
  1329. let randomIndex = getRandomIndex(MFC.mapManager._bossManager.bossDataList)
  1330. var levelId = MFC.mapManager._bossManager.bossDataList[randomIndex].id
  1331.  
  1332. }
  1333. await sendMsg(1172, {
  1334. "levelId": levelId,
  1335. "battleType": 3
  1336. })
  1337. while (1) {
  1338. if (bossStatus == true) {
  1339. bossStatus = false
  1340. break
  1341. }
  1342. await wait(100)
  1343. }
  1344.  
  1345.  
  1346. //首发技能
  1347. var Pet
  1348. var FirgetTime
  1349. try {
  1350. FirgetTime = document.querySelector("iframe").contentWindow.UserManager.getInstance().userInfo.defaultTeam[0]
  1351. Pet = document.querySelector("iframe").contentWindow.PetManager.getInstance().getPetInfoByGetTime(FirgetTime)
  1352. } catch (e) {
  1353. FirgetTime = UserManager.getInstance().userInfo.defaultTeam[0]
  1354. Pet = PetManager.getInstance().getPetInfoByGetTime(FirgetTime)
  1355. }
  1356. await sendSkillAndCatch(Pet.skills[0], parseInt(opt))
  1357. }
  1358.  
  1359.  
  1360. async function sendSkillAndCatch(nowSkillId, capID) {
  1361. await sendMsg(1042, {
  1362. "groupId": "",
  1363. "battleType": 0
  1364. })
  1365. await wait(100)
  1366. await sendMsg(1045, {
  1367. "opType": 5,
  1368. "data": null,
  1369. "groupId": ""
  1370. })
  1371. await wait(100)
  1372. while (1) {
  1373. if (nextRound == true) {
  1374. console.log("$$$$$$$$$$$$$$本回合结束$$$$$$$$$$$$$$")
  1375. writeLog("顺利进入对局!")
  1376. nextRound = false
  1377. break
  1378. } else {
  1379. await wait(50)
  1380. }
  1381. }
  1382. await wait(100)
  1383.  
  1384. while (1) {
  1385. await sendMsg(1057, {
  1386. "groupId": ""
  1387. })
  1388.  
  1389. await sendMsg(1045, {
  1390. "opType": 1,
  1391. "data": {
  1392. "skillID": nowSkillId
  1393. },
  1394. "groupId": ""
  1395. })
  1396.  
  1397. while (1) {
  1398. if (nextRound == true) {
  1399. console.log("$$$$$$$$$$$$$$本回合结束$$$$$$$$$$$$$$")
  1400. writeLog("继续释放技能!")
  1401. nextRound = false
  1402. break
  1403. } else {
  1404. await wait(50)
  1405. }
  1406. }
  1407. //等待1s 等待288结算的出现
  1408. let oldTime = new Date().getTime()
  1409. while (1) {
  1410. if ((new Date().getTime() - oldTime) / 1000 < 2) {
  1411. if (doneRound == true) {
  1412. console.log("##############战斗结束##############")
  1413. doneRound = false
  1414. await wait(50)
  1415. return
  1416. } else {
  1417. await wait(50)
  1418. }
  1419. } else {
  1420. break
  1421. }
  1422. }
  1423.  
  1424.  
  1425. var haveHp = PetMsgDetail.result.playerInfos[1].petInfos[0].crtHp
  1426. writeLog("野怪还剩余hp:" + haveHp)
  1427. if (haveHp <= 1) {
  1428. writeLog("开始捕捉!")
  1429. await wait(1000)
  1430. await sendMsg(1057, {
  1431. "groupId": ""
  1432. })
  1433. await wait(1000)
  1434. break
  1435. }
  1436. }
  1437. // doneRound = false;
  1438. let useC = 0
  1439. // nextRound = false
  1440. changePet = ""
  1441. while (1) {
  1442. useC++
  1443. writeLog("丢出第" + useC + "次胶囊捕捉~")
  1444. await sendMsg(1045, {
  1445. "opType": 3,
  1446. "data": {
  1447. "itemID": capID
  1448. },
  1449. "groupId": ""
  1450. })
  1451. if (useC >= 5) {
  1452. writeLog("5次还没捕捉到,跑路了")
  1453. await sendMsg(8201, {})
  1454. await sendMsg(8209, {})
  1455. //逃跑
  1456. await sendMsg(303, {})
  1457. return
  1458.  
  1459. }
  1460.  
  1461. // while (1) {
  1462. // if (changePet != "") {
  1463. // if (JSON.stringify(changePet).indexOf("getTime") != -1) {
  1464. // writeLog("捕捉成功:" + changePet.changePetList[0].nick + " 天赋: " + changePet.changePetList[0].talent)
  1465. // await wait(2000)
  1466. // return
  1467. // } else {
  1468. // writeLog("捕捉失败")
  1469. // await wait(1000)
  1470. // break
  1471. // }
  1472. // } else {
  1473. // await wait(1000)
  1474. // }
  1475. // }
  1476. // changePet = ""
  1477. await wait(200)
  1478. while (1) {
  1479. if (nextRound == true) {
  1480. console.log("$$$$$$$$$$$$$$捕捉,本回合结束$$$$$$$$$$$$$$")
  1481. nextRound = false
  1482. break
  1483. } else {
  1484. await wait(100)
  1485. console.log("等待捕捉回合结束")
  1486. }
  1487. }
  1488. while (1) {
  1489. if (捕捉情况 != "") {
  1490. if (JSON.stringify(捕捉情况).indexOf("getTime") != -1) {
  1491. writeLog("捕捉成功:" + 捕捉情况.pet.nick + " 天赋: " + 捕捉情况.pet.talent)
  1492. catchCount++
  1493. await wait(2000)
  1494. return
  1495. } else {
  1496. writeLog("捕捉失败")
  1497. await wait(1000)
  1498. break
  1499. }
  1500. } else {
  1501. await wait(1000)
  1502. }
  1503. }
  1504. 捕捉情况 = ""
  1505.  
  1506. //等待1s 等待288结算的出现
  1507. let oldTime = new Date().getTime()
  1508. while (1) {
  1509. if ((new Date().getTime() - oldTime) / 1000 < 2) {
  1510. if (doneRound == true) {
  1511. console.log("##############战斗结束##############")
  1512. doneRound = false
  1513. await wait(50)
  1514. return
  1515. } else {
  1516. await wait(50)
  1517. }
  1518. } else {
  1519. break
  1520. }
  1521. }
  1522.  
  1523. await wait(200)
  1524. await sendMsg(1057, {
  1525. "groupId": ""
  1526. })
  1527. await wait(200)
  1528.  
  1529. // await sendMsg(1057, {
  1530. // "groupId": ""
  1531. // })
  1532.  
  1533. }
  1534.  
  1535. }
  1536.  
  1537. function fixMsg() {
  1538. // 保存原函数
  1539. var originalCreateMsg;
  1540. try {
  1541. var socketPrototype = document.querySelector("iframe").contentWindow.SocketSeqMsgs.prototype;
  1542. if (socketPrototype.createMsg === undefined) {
  1543. originalCreateMsg = SocketSeqMsgs.prototype.createMsg;
  1544. socketPrototype = SocketSeqMsgs.prototype;
  1545. } else {
  1546. originalCreateMsg = socketPrototype.createMsg;
  1547. }
  1548. } catch (e) {
  1549. originalCreateMsg = SocketSeqMsgs.prototype.createMsg;
  1550. socketPrototype = SocketSeqMsgs.prototype;
  1551. }
  1552.  
  1553.  
  1554.  
  1555. socketPrototype.createMsg = function (t, e) {
  1556. originalCreateMsg.call(this, t, e);
  1557. var s = this._tmpBytesArray[this._tmpBytesArray.length - 1];
  1558. var raw = s.raw;
  1559. var cmd = s.header.cmd;
  1560. CmdArr.push({ [cmd]: raw });
  1561. // console.log("=======");
  1562. // console.log('接收cmd:', cmd);
  1563. // console.log('raw:', raw);
  1564. try {
  1565. if ((raw.indexOf("skills") != -1) && (raw.indexOf("subCmd") != -1) && (raw.indexOf("pet") != -1)) {
  1566. skillID = JSON.parse(raw).pet.skills[0];
  1567. // writeLog("技能刷新完毕:" + JSON.parse(raw).pet.nick)
  1568. }
  1569. if (raw.indexOf("defaultTeam") != -1) {
  1570. myTeam = JSON.parse(raw).value;
  1571. console.log(myTeam);
  1572. writeLog("顺利获取精灵配置信息!")
  1573. }
  1574. if ((cmd == "1120") && (raw.indexOf("starMedal") != -1)) {
  1575. StartJson = JSON.parse(raw);
  1576. }
  1577.  
  1578. if (cmd == "1049") {
  1579. bossStatus = true;
  1580. }
  1581. if (cmd == "1044") {
  1582. 捕捉ok = true;
  1583. }
  1584. if (cmd == "288") {
  1585. changePet = JSON.parse(raw);
  1586. }
  1587. if (cmd == "1056") {
  1588. console.log("本回合结束")
  1589. nextRound = true;
  1590. PetMsgDetail = JSON.parse(raw);
  1591. }
  1592. if (cmd == "769" || cmd == "513") {
  1593. 捕捉情况 = JSON.parse(raw);
  1594. }
  1595. if (cmd == "1109") {
  1596. console.log("战斗结束")
  1597. doneRound = true;
  1598. doneBattleMsg = JSON.parse(raw);
  1599.  
  1600. }
  1601. } catch (e) { }
  1602.  
  1603. // console.log("=======");
  1604. };
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611. // //重写图鉴监听方法
  1612. // var PetView
  1613. // if (document.querySelector("iframe").contentWindow.SocketSeqMsgs == undefined) {
  1614. // PetView = petIllustrated.PetIllustrated.prototype.updatePetAttrView;
  1615. // // 重写updatePetAttrView方法
  1616. // petIllustrated.PetIllustrated.prototype.updatePetAttrView = function (e) {
  1617. // console.log(e)
  1618. // // 执行原有的createMsg方法e
  1619. // PetView.call(this, e);
  1620.  
  1621. // }
  1622. // } else {
  1623. // PetView = document.querySelector("iframe").contentWindow.petIllustrated.PetIllustrated.prototype.updatePetAttrView;
  1624. // // 重写updatePetAttrView方法
  1625. // document.querySelector("iframe").contentWindow.petIllustrated.PetIllustrated.prototype.updatePetAttrView = function (e) {
  1626. // console.log(e)
  1627. // // 执行原有的createMsg方法e
  1628. // PetView.call(this, e);
  1629.  
  1630. // }
  1631. // }
  1632.  
  1633. }
  1634.  
  1635.  
  1636.  
  1637. function backMSg() {
  1638. // 保存原函数
  1639. if (document.querySelector("iframe").contentWindow.SocketSeqMsgs == undefined) {
  1640. var originalCreateMsg = SocketSeqMsgs.prototype.createMsg;
  1641. SocketSeqMsgs.prototype.createMsg = function (t, e) {
  1642. // 执行原有的createMsg方法
  1643. originalCreateMsg.call(this, t, e);
  1644.  
  1645. }
  1646. } else {
  1647. var originalCreateMsg = document.querySelector("iframe").contentWindow.SocketSeqMsgs.prototype.createMsg;
  1648. document.querySelector("iframe").contentWindow.SocketSeqMsgs.prototype.createMsg = function (t, e) {
  1649. // 执行原有的createMsg方法
  1650. originalCreateMsg.call(this, t, e);
  1651.  
  1652. }
  1653. }
  1654.  
  1655. }
  1656.  
  1657. function wait(ms) {
  1658. return new Promise(resolve => setTimeout(() => resolve(), ms));
  1659. };
  1660.  
  1661. function getCountByItemId(itemID) {
  1662. let count
  1663. try {
  1664. count = ItemManager.getInstance().getItemNumById(itemID);
  1665. } catch (e) {
  1666. count = document.querySelector("iframe").contentWindow.ItemManager.getInstance().getItemNumById(itemID);
  1667. }
  1668. return count
  1669. }
  1670.  
  1671.  
  1672. function checkPet(skillList) {
  1673. for (let index = 0; index < skillList.length; index++) {
  1674. if (skillList[index].id == 100023) {
  1675. skillStarId = "100023"
  1676. return
  1677. }
  1678. if (skillList[index].id == 11022) {
  1679. return
  1680. }
  1681. }
  1682. skillStarId = skillList[0].id
  1683. }
  1684.  
  1685.  
  1686. //迷航
  1687. async function starTrek() {
  1688. if (rewrite == 0) {
  1689. showToast("请先开启监听!宝贝")
  1690. return
  1691. }
  1692. showNotice("如有不能正常运行。\n1.请确保魔焰和蒙多放到一号二号位置喔~~\n2.请确定魔焰猩猩是否带了绝命,蒙多是否带了光闪击\n3.请确保蒙多具有瞬杀特性\n4.只需要带这两只精灵即可")
  1693. //首次读取技能
  1694. await sendMsg(1120, {
  1695. "type": 0
  1696. })
  1697. checkPet(StartJson.petList[0].useSkills)
  1698. checkPet(StartJson.petList[1].useSkills)
  1699.  
  1700. while (1) {
  1701. await wait(100)
  1702. await sendMsg(1120, {
  1703. "type": 0
  1704. })
  1705. writeLog(`迷航进度: ${parseInt(StartJson.levelId) + 1}关卡`)
  1706. if (parseInt(StartJson.levelId) >= 15) {
  1707. writeLog(`完成迷航,进行领取`)
  1708. await wait(200)
  1709. await sendMsg(1223, {})
  1710. break
  1711. }
  1712. if ((parseInt(StartJson.levelId) + 1) > 8) {
  1713. let skillList = StartJson.petList[0].useSkills
  1714. for (let index = 0; index < skillList.length; index++) {
  1715. if (skillList[index].id == 11022) {
  1716. writeLog(`首发为蒙多,继续!`)
  1717. await sendMsg(1122, {
  1718. "petList": [
  1719. StartJson.petList[1].getTime,
  1720. StartJson.petList[0].getTime,
  1721. 0,
  1722. 0,
  1723. 0,
  1724. 0
  1725. ],
  1726. "attachBattleSkill": []
  1727. })
  1728. await sendMsg(1120, {
  1729. "type": 0
  1730. })
  1731. }
  1732.  
  1733. }
  1734. }
  1735.  
  1736. //前8关卡
  1737. if ((parseInt(StartJson.levelId) + 1) <= 8) {
  1738. let skillList = StartJson.petList[0].useSkills
  1739. for (let index = 0; index < skillList.length; index++) {
  1740. if (skillList[index].id == skillStarId) {
  1741. writeLog(`首发为魔焰,继续!`)
  1742. await sendMsg(1122, {
  1743. "petList": [
  1744. StartJson.petList[1].getTime,
  1745. StartJson.petList[0].getTime,
  1746. 0,
  1747. 0,
  1748. 0,
  1749. 0
  1750. ],
  1751. "attachBattleSkill": []
  1752. })
  1753. await sendMsg(1120, {
  1754. "type": 0
  1755. })
  1756. }
  1757. }
  1758. }
  1759.  
  1760. //2.进入迷航关卡
  1761.  
  1762.  
  1763. await sendMsg(1121, {
  1764. "getTimeList": [
  1765. StartJson.petList[0].getTime,
  1766. StartJson.petList[1].getTime,
  1767. 0,
  1768. 0,
  1769. 0,
  1770. 0
  1771. ]
  1772. })
  1773. while (1) {
  1774. if (bossStatus == true) {
  1775.  
  1776. console.log("顺利加载战斗资源")
  1777. bossStatus = false
  1778. break
  1779. } else {
  1780. await wait(50)
  1781. }
  1782. }
  1783.  
  1784.  
  1785. await sendMsg(1042, {
  1786. "groupId": "",
  1787. "battleType": 0
  1788. })
  1789.  
  1790.  
  1791. await sendMsg(1045, {
  1792. "opType": 5,
  1793. "data": null,
  1794. "groupId": ""
  1795. })
  1796. await sendMsg(1057, {
  1797. "groupId": "",
  1798. });
  1799.  
  1800.  
  1801. if (parseInt(StartJson.levelId) + 1 <= 8) {
  1802. writeLog(`释放绝命火焰`)
  1803. await sendMsg(1045, {
  1804. "opType": 1,
  1805. "data": {
  1806. "skillID": 11022
  1807. },
  1808. "groupId": ""
  1809. })
  1810.  
  1811. } else {
  1812. writeLog(`释放蒙多光闪击`)
  1813. await sendMsg(1045, {
  1814. "opType": 1,
  1815. "data": {
  1816. "skillID": skillStarId
  1817. },
  1818. "groupId": ""
  1819. })
  1820. }
  1821. await wait(100)
  1822.  
  1823.  
  1824.  
  1825.  
  1826. await sendMsg(8201, {})
  1827.  
  1828.  
  1829. await sendMsg(8209, {})
  1830. //逃跑
  1831. await sendMsg(303, {})
  1832.  
  1833.  
  1834. await wait(50)
  1835.  
  1836. //顺利释放一次
  1837. console.log("顺利释放一次")
  1838. }
  1839.  
  1840. }
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846. //轮盘
  1847. async function goPrize() {
  1848. if (rewrite == 0) {
  1849. showToast("请先开启监听!宝贝")
  1850. return
  1851. }
  1852. //皮皮星轮盘 每次消耗5个
  1853. let CountC = 0
  1854. while (1) {
  1855. var count = getCountByItemId(100014) //获取物品id对应数量 光合能量
  1856. if (count >= 5) {
  1857. CountC++
  1858. writeLog("皮皮星轮盘第" + CountC + "次")
  1859. await wait(200)
  1860. await sendMsg(8997, {
  1861. "levelId": 1,
  1862. "prizePool": 1
  1863. })
  1864. } else {
  1865. writeLog("皮皮星轮盘清空!")
  1866. break
  1867. }
  1868. }
  1869.  
  1870. CountC = 0
  1871. //海洋星2级轮盘 每次消耗2个 和 1个 1个
  1872. while (1) {
  1873. var count0 = getCountByItemId(100015); //甲烷
  1874. var count1 = getCountByItemId(100016);; //青晶石
  1875. var count2 = getCountByItemId(100017); //黑曜石
  1876. if (count0 >= 2 && count1 >= 1 && count2 >= 1) {
  1877. CountC++
  1878. writeLog("海洋星2级轮盘第" + CountC + "次")
  1879. await wait(200)
  1880. await sendMsg(8997, {
  1881. "levelId": 2,
  1882. "prizePool": 2
  1883. })
  1884. } else {
  1885. writeLog("海洋星2级轮盘清空!")
  1886. break
  1887. }
  1888. }
  1889.  
  1890.  
  1891. CountC = 0
  1892. //海洋星1级轮盘 每次消耗2个 和 1个
  1893. while (1) {
  1894. var count0 = getCountByItemId(100015); //甲烷
  1895. var count1 = getCountByItemId(100016); //青晶石
  1896. if (count0 >= 2 && count1 >= 1) {
  1897. CountC++
  1898. writeLog("海洋星1级轮盘第" + CountC + "次")
  1899. await wait(200)
  1900. await sendMsg(8997, {
  1901. "levelId": 2,
  1902. "prizePool": 1
  1903. })
  1904. } else {
  1905. writeLog("海洋星1级轮盘清空!")
  1906. break
  1907. }
  1908. }
  1909.  
  1910.  
  1911. CountC = 0
  1912. //火山星1轮盘 每次消耗1个 和 2个
  1913. while (1) {
  1914. var count0 = getCountByItemId(100029); //甲烷
  1915. var count1 = getCountByItemId(100030); //青晶石
  1916. if (count0 >= 1 && count1 >= 2) {
  1917. CountC++
  1918. writeLog("火山星1级轮盘第" + CountC + "次")
  1919. await wait(200)
  1920. await sendMsg(8997, {
  1921. "levelId": 3,
  1922. "prizePool": 1
  1923. })
  1924. } else {
  1925. writeLog("火山星1级轮盘清空!")
  1926. break
  1927. }
  1928. }
  1929.  
  1930.  
  1931. CountC = 0
  1932. //火山星2轮盘 每次消耗 1个
  1933. while (1) {
  1934. var count = getCountByItemId(100031);
  1935. if (count >= 1) {
  1936. CountC++
  1937. writeLog("火山星2级轮盘第" + CountC + "次")
  1938. await wait(200)
  1939. await sendMsg(8997, {
  1940. "levelId": 3,
  1941. "prizePool": 2
  1942. })
  1943. } else {
  1944. writeLog("火山星2级轮盘清空!")
  1945. break
  1946. }
  1947. }
  1948.  
  1949.  
  1950. CountC = 0
  1951. //云霄1轮盘 每次消耗2个
  1952. while (1) {
  1953. var count = getCountByItemId(100076); //空气结晶
  1954. if (count >= 2) {
  1955. CountC++
  1956. writeLog("云霄星1级轮盘第" + CountC + "次")
  1957. await wait(200)
  1958. await sendMsg(8997, {
  1959. "levelId": 5,
  1960. "prizePool": 1
  1961. })
  1962. } else {
  1963. writeLog("云霄星1级轮盘清空!")
  1964. break
  1965. }
  1966. }
  1967.  
  1968.  
  1969. CountC = 0
  1970. //云霄2轮盘 每次消耗2个 1个
  1971. while (1) {
  1972. var count0 = getCountByItemId(100077); //不息云壤
  1973. var count1 = getCountByItemId(100078); //幻影之羽
  1974. if (count0 >= 2 && count1 >= 1) {
  1975. CountC++
  1976. writeLog("云霄星2级轮盘第" + CountC + "次")
  1977.  
  1978. await wait(200)
  1979. await sendMsg(8997, {
  1980. "levelId": 5,
  1981. "prizePool": 2
  1982. })
  1983. } else {
  1984. writeLog("云霄星2级轮盘清空!")
  1985. break
  1986. }
  1987. }
  1988.  
  1989.  
  1990. CountC = 0
  1991. //双子阿尔法星 每次消耗1个 1个
  1992. while (1) {
  1993. var count0 = getCountByItemId(100191);
  1994. var count1 = getCountByItemId(100193);
  1995. if (count0 >= 1 && count1 >= 1) {
  1996. CountC++
  1997. writeLog("双子阿尔法星轮盘第" + CountC + "次")
  1998. await wait(200)
  1999. await sendMsg(8997, {
  2000. "levelId": 6,
  2001. "prizePool": 1
  2002. })
  2003. } else {
  2004. writeLog("双子阿尔法星轮盘清空!")
  2005. break
  2006. }
  2007. }
  2008.  
  2009.  
  2010. CountC = 0
  2011. //暗影星轮盘 每次消耗 2个
  2012. while (1) {
  2013. var count = getCountByItemId(100313);
  2014. if (count >= 2) {
  2015. CountC++
  2016. writeLog("暗影星轮盘第" + CountC + "次")
  2017. await wait(200)
  2018. await sendMsg(8997, {
  2019. "levelId": 8,
  2020. "prizePool": 1
  2021. })
  2022. } else {
  2023. writeLog("暗影星轮盘清空!")
  2024. break
  2025. }
  2026. }
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035. }
  2036.  
  2037.  
  2038. async function getResource() {
  2039. if (rewrite == 0) {
  2040. showToast("请先开启监听!宝贝")
  2041. return
  2042. }
  2043. for (let index = 0; index < 4; index++) {
  2044. await wait(200)
  2045. //皮皮星第一层
  2046. await sendMsg(9147, { id: 1 }) //矿石
  2047. await sendMsg(279, {})
  2048. }
  2049. writeLog("皮皮星第一层采集完成!!")
  2050.  
  2051. for (let index = 0; index < 4; index++) {
  2052. await wait(200)
  2053. //海星第一层
  2054. await sendMsg(9147, { id: 5 }) //甲烷
  2055. await sendMsg(279, {})
  2056. }
  2057. writeLog("海星第一层甲烷采集完成!!")
  2058.  
  2059. for (let index = 0; index < 4; index++) {
  2060. await wait(200)
  2061. //海星第一层
  2062. await sendMsg(9147, { id: 34 }) //金石
  2063. await sendMsg(279, {})
  2064. }
  2065. writeLog("海星第一层金石采集完成!!")
  2066.  
  2067. for (let index = 0; index < 4; index++) {
  2068. await wait(200)
  2069. //海星第二层
  2070. await sendMsg(9147, { id: 3 })
  2071. await sendMsg(279, {})
  2072. }
  2073. writeLog("海星第一层矿石采集完成!!")
  2074.  
  2075.  
  2076.  
  2077. for (let index = 0; index < 4; index++) {
  2078. await wait(200)
  2079. //火星第一层
  2080. await sendMsg(9147, { id: 2 })
  2081. await sendMsg(279, {})
  2082. }
  2083. writeLog("火星第一层矿石采集完成!!")
  2084.  
  2085.  
  2086. for (let index = 0; index < 4; index++) {
  2087. await wait(200)
  2088. //火星第二层
  2089. await sendMsg(9147, { id: 6 })
  2090. await sendMsg(279, {})
  2091. }
  2092. writeLog("火星第一层甲烷采集完成!!")
  2093.  
  2094.  
  2095. for (let index = 0; index < 4; index++) {
  2096. await wait(200)
  2097. //喷泉星第二层
  2098. await sendMsg(9147, { id: 7 })
  2099. await sendMsg(279, {})
  2100. }
  2101. writeLog("喷泉星第二层采集完成!!")
  2102.  
  2103.  
  2104. for (let index = 0; index < 4; index++) {
  2105. await wait(200)
  2106. //喷泉星第二层
  2107. await sendMsg(9147, { id: 8 })
  2108. await sendMsg(279, {})
  2109. }
  2110. writeLog("喷泉星第二层采集完成!!")
  2111.  
  2112.  
  2113.  
  2114. for (let index = 0; index < 4; index++) {
  2115. await wait(200)
  2116. //机械星
  2117. await sendMsg(9147, { id: 10 })
  2118. await sendMsg(279, {})
  2119. }
  2120. writeLog("机械星采集完成!!")
  2121. }
  2122. // Your code here...
  2123. })();