您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
气人页游 咕咕镇 沙滩自动刷新。
当前为
// ==UserScript== // @name GuguTown Auto Refresh Beach // @name:zh-CN 咕咕镇沙滩自动刷新 // @name:zh-TW 咕咕鎮沙灘自動刷新 // @name:ja 咕咕镇砂浜自動更新 // @namespace https://github.com/GuguTown/AutoRefreshBeach // @homepage https://github.com/GuguTown/AutoRefreshBeach // @version 1.0.0 // @description WebGame GuguTown Automatic Beach Refresh. // @description:zh-CN 气人页游 咕咕镇 沙滩自动刷新。 // @description:zh-TW 氣人頁遊 咕咕鎮 沙灘自動刷新。 // @description:ja オンラインゲーム 咕咕镇 ビーチの自動更新 // @icon https://sticker.inari.site/favicon.ico // @author ikarosf // @copyright 2020.09-2023.04 ikarosf // @match https://*.guguzhen.com/fyg_beach.php // @match https://*.momozhen.com/fyg_beach.php // @run-at document-end // @license MIT License // ==/UserScript== /* eslint-env jquery */ function guarb(){ let user = $("button[class*='btn btn-lg'][onclick*='fyg_index.php']")[0].innerText; if (user === undefined || user === null || user === NaN) { console.log('当前登陆态失效或游戏处于维护状态,已停止加载沙滩自动刷新插件'); return; }; let refreshBoxNum,keyname = `guguzhen_beach_refresh_plugin_${user}`; if (localStorage[keyname] === undefined) { localStorage[keyname] = 0 }; function FLASHbeach() { 'use strict'; let xingshaflashremainder = 0,flashbyxingshaNUM = 0; if(FM_getValue('flashbyxingshaNUM')!=null){ flashbyxingshaNUM = FM_getValue('flashbyxingshaNUM'); } let mydiv = $(".row>.row>.col-md-12>.panel>.panel-heading>.pull-right")[0],text = mydiv.textContent if(!text.startsWith("距离下次随机装备")){ alert("咕咕镇沙滩自动刷新脚本未获取到时间!"); return; } let patt1 = /\d+/,minute = text.match(patt1) minute = parseInt(minute[0]) + 1 setTimeout(async function(){ await getstpage() await getstdata() for(let i = 0;i < flashbyxingshaNUM ; i++){ await sxstbyxs() await getstpage() await getstdata() } location.reload(); }, minute*60*1000); mydiv.textContent = text + " 将自动刷新" }; function FM_setValue(name, value){ let oldvalue = JSON.parse(localStorage.getItem(user)); if(oldvalue === undefined){ oldvalue = {};} oldvalue[name] = value; localStorage.setItem(user,JSON.stringify(oldvalue)); }; function FM_getValue(name, defaultValue){ let thisvalue = JSON.parse(localStorage.getItem(user)); if(thisvalue != undefined&&name in thisvalue){ return thisvalue[name] } if(defaultValue != null){ return defaultValue; } return null; }; function getPostData(p1,p2){ let data = -1; for(let s of document.getElementsByTagName('script')){ let func = s.innerText.match(p1) if(func!=null){ data = func[0].match(p2)[0]; break; } } return data }; function get_saveid(){ return getPostData(/gx_sxst\(\)\{[\s\S]*\}/m,/data: ".*"/).slice(-7,-1); }; function getstpage(){ return new Promise((resolve, reject)=>{ $.ajax({ url: window.location.origin + "/fyg_beach.php", type: 'GET', contentType: 'application/x-www-form-urlencoded; charset=UTF-8', processData: false, }) .done(data => { if (data.ret == 200) { resolve(data.responseText) }else { console.log(data);reject(); }}) .fail(data => { console.log(data);reject();}); }) }; function getstdata(){ return new Promise((resolve, reject)=>{ $.ajax({ url: window.location.origin + "/fyg_read.php", type: 'POST', contentType: 'application/x-www-form-urlencoded; charset=UTF-8', data:"f=1",processData: false, }) .done(data => { if (data.ret == 200) { /*console.log(data.responseText);*/resolve(data.responseText) }else { console.log(data);reject(); }}) .fail(data => { console.log(data);reject();}); }) }; function sxstbyxs(){ return new Promise((resolve, reject)=>{ $.ajax({ url: window.location.origin + "/fyg_click.php", type: 'POST', contentType: 'application/x-www-form-urlencoded; charset=UTF-8', data:"c=12&safeid=" + get_saveid(),processData: false, }) .done(data => { if (data.ret == 200) { console.log(data.responseText);resolve(data.responseText) }else { console.log(data);reject(); }}) .fail(data => { console.log(data);reject();}); }) }; function refreshUntilCondition(refreshBoxNum) { if (refreshBoxNum === undefined || refreshBoxNum === NaN) { refreshBoxNum = parseInt(localStorage[keyname]) if (isNaN(refreshBoxNum)) { localStorage[keyname] = 0 refreshBoxNum = 0 } } else { localStorage[keyname] = refreshBoxNum } console.log('ddd',refreshBoxNum) if (refreshBoxNum == 0) { return } if (refreshBoxNum > 0) { gx_sxst(); localStorage[keyname] = refreshBoxNum - 1 } } function createElementForOperation() { 'use strict'; refreshBoxNum = 0; let refreshEquipCaseNumInput = document.createElement("div") refreshEquipCaseNumInput.setAttribute('style',"display: inline-block;float: right!important;"); let refreshEquipCaseNUMlabel = document.createElement('i'); refreshEquipCaseNUMlabel.innerText = "批量使用随机装备箱个数:"; refreshEquipCaseNumInput.appendChild(refreshEquipCaseNUMlabel); let refreshEquipCaseNUMInput = document.createElement('input'); refreshEquipCaseNUMInput.setAttribute('type','text'); refreshEquipCaseNUMInput.setAttribute('oninput',"value=value.replace(/[^\\d]/g,'')"); refreshEquipCaseNUMInput.setAttribute('style',"width: 40px;margin-right:15px;"); refreshEquipCaseNUMInput.value = refreshBoxNum; refreshEquipCaseNUMInput.onchange = function(){ let localNUM = parseInt(refreshEquipCaseNUMInput.value); if(isNaN(localNUM)){ refreshBoxNum = 0; }else if(localNUM<0){ localNUM = 0; } refreshBoxNum = localNUM } refreshEquipCaseNumInput.appendChild(refreshEquipCaseNUMInput); $(".btn-group.pull-right").after(refreshEquipCaseNumInput); let refreshContinueBtn = document.createElement('button') refreshContinueBtn.setAttribute('type','button'); refreshContinueBtn.setAttribute('class',"btn btn-success"); refreshContinueBtn.setAttribute('style',"width: auto;margin-left:10px;"); refreshContinueBtn.innerText = '批量消耗装备箱,获取随机装备' refreshContinueBtn.onclick = () => refreshUntilCondition(refreshBoxNum) document.querySelector('div.btn-group.pull-right > button').parentNode.append(refreshContinueBtn) // Your code here... } window.addEventListener('load', () => refreshUntilCondition()); createElementForOperation(); FLASHbeach(); }; $(document).ready(function(e) { guarb();});