您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Joust Tab
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/399266/787096/AutoJoust.js
/**************************** Joust Tab ****************************************/ // @tabversion 20190705 Tabs.Joust = { tabOrder: 2120, tabLabel : 'Joust', tabColor : 'brown', ValidJoust: false, isBusy: false, myDiv : null, timer : null, NumJousts : 0, NumWins : 0, Options: { JoustRunning: false, JoustDelay: 7, }, init : function (div){ var t = Tabs.Joust; t.myDiv = div; if (!Options.JoustOptions) { Options.JoustOptions = t.Options; } else { for (var y in t.Options) { if (!Options.JoustOptions.hasOwnProperty(y)) { Options.JoustOptions[y] = t.Options[y]; } } } t.CheckEvent(t.show); }, CheckEvent : function (notify) { var t = Tabs.Joust; t.ValidJoust = uW.cm.JoustingModel.getTimeLeft() > 0; t.ValidJoust = true; var elem = ById("bttcJoust"); if (t.ValidJoust) { elem.setAttribute("style","color:#f00"); } if (Options.JoustOptions.JoustRunning) { t.start(); } if (notify) { notify(); } }, eventDoJoust: function () { var t = Tabs.Joust; if (!t.isBusy) return; var div = $("pbjoust_info"); // get opponents var params = uW.Object.clone(uW.g_ajaxparams); params.ctrl = 'jousting\\JoustingController'; params.action = 'opponents'; new MyAjaxRequest(uW.g_ajaxpath+"ajax/_dispatch53.php"+uW.g_ajaxsuffix,{ method:"post", parameters:params, onSuccess:function(rslt) { if (rslt.ok){ for (var o=0;o<rslt.opponents.length;o++) { setTimeout(t.eventDoFight,(o*1000*Math.ceil(Options.JoustOptions.JoustDelay,1000)),rslt.opponents[o].id, rslt.opponents[o].serverid); } var DelayAdjustment = Math.floor(Math.random() * 4); setTimeout(t.nextfight, 1000*Math.ceil(((Options.JoustOptions.JoustDelay*3)+DelayAdjustment),3)); } else { div.innerHTML = '<span style="color:#800;">'+tx('Server Error')+' '+rslt.msg+'</span><br>'+div.innerHTML; ById('pbJoustCancel').firstChild.innerHTML = uW.g_js_strings.commonstr.close; t.isBusy = false; } }, onFailure: function () { div.innerHTML = '<span style="color:#800;">'+tx('Server Error')+'!</span><br>'+div.innerHTML; ById('pbJoustCancel').firstChild.innerHTML = uW.g_js_strings.commonstr.close; t.isBusy = false; }, },true); }, eventDoFight : function (opponent,opponentServerId) { var t = Tabs.Joust; if (!t.isBusy) return; var div = $("pbjoust_info"); var params = uW.Object.clone(uW.g_ajaxparams); params.ctrl = 'jousting\\JoustingController'; params.action = 'fight'; params.opponent = opponent; params.opponentServerId = opponentServerId; new MyAjaxRequest(uW.g_ajaxpath+"ajax/_dispatch53.php"+uW.g_ajaxsuffix,{ method:"post", parameters:params, onSuccess:function(rslt2) { if (rslt2.ok){ t.NumJousts++; reward = ''; if (rslt2.reward) { uW.ksoItems[rslt2.reward.itemId].add(rslt2.reward.quantity); Seed.items["i"+rslt2.reward.itemId] = parseInt(Seed.items["i"+rslt2.reward.itemId])+rslt2.reward.quantity; reward = ' - '+tx('Awarded')+' '+rslt2.reward.quantity+' '+uW.itemlist['i'+rslt2.reward.itemId].name; } if (rslt2.report.s1.won) { t.NumWins++; div.innerHTML = '<span style="color:#080;">'+tx('Won against')+' '+rslt2.report.s0.nam+reward+'</span><br>'+div.innerHTML; } else { div.innerHTML = '<span style="color:#800;">'+tx('Lost against')+' '+rslt2.report.s0.nam+reward+'</span><br>'+div.innerHTML; } } else { div.innerHTML = '<span style="color:#800;">'+tx('Server Error')+' '+rslt2.msg+'</span><br>'+div.innerHTML; } ById('joustHeader').innerHTML = tx('Jousting Results')+'... ('+t.NumWins+'/'+t.NumJousts+')'; }, onFailure: function () { div.innerHTML = '<span style="color:#800;">'+tx('Server Error')+'!</span><br>'+div.innerHTML; ById('pbJoustCancel').firstChild.innerHTML = uW.g_js_strings.commonstr.close; t.isBusy = false; }, },true); }, show : function (){ var t = Tabs.Joust; if (!t.isBusy) { var m = '<DIV class=divHeader align=center>JOUST</div>'; m += '<div style="min-height:400px;">'; if (t.ValidJoust) { m += '<br><DIV align=center>'+tx("Joust interval")+': <INPUT id=btjoustinterval type=text size=3 value=' + Options.JoustOptions.JoustDelay + ' /> '+tx("seconds"); m += '</div>'; m +='<br><br><center><input type=button value="'+uW.g_js_strings.modal_mmb.playnow+'" id=btJoustStart></center>'; } else { m += '<br><div align=center>'+tx('No active event')+'</div>'; } m += '</div>'; m += '<div align=center><div style="position:absolute;bottom:0px;width:'+GlobalOptions.btWinSize.x+'px;"><br><hr>'; m += '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">\ <input type="hidden" name="cmd" value="_s-xclick">\ <input type="hidden" name="hosted_button_id" value="8VEDPV3X9X82L">\ <input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">\ <img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">\ </form>'; m += '<br>'+tx('This additional tab has been provided free of charge for the benefit of players. Please donate to help with future support and development of this and other features')+'.<br>'+tx('Thanks')+', Barbarossa.<br> </div></div>'; t.myDiv.innerHTML = m; ResetFrameSize('btMain',100,GlobalOptions.btWinSize.x); if (t.ValidJoust) { ById('btJoustStart').addEventListener('click', function(){t.start();} , false); ChangeOption('JoustOptions','btjoustinterval', 'JoustDelay'); } } else { // reset curtain position.. t.setCurtain(true); } }, setPopup: function (onoff) { var t = Tabs.Joust; if (onoff) { var div = document.createElement('div'); div.id = 'ptJoustPop'; div.style.backgroundColor = '#fff'; div.style.zindex = mainPop.div.zIndex + 2; div.style.opacity = '1'; div.style.border = '3px outset black'; div.style.width = (GlobalOptions.btWinSize.x-200)+'px'; div.style.height = '300px'; div.style.display = 'block'; div.style.position = 'absolute'; div.style.top = '100px'; div.style.left = '100px'; t.myDiv.appendChild(div); return div; } else { t.myDiv.removeChild(ById('ptJoustPop')); } }, setCurtain: function (onoff) { var t = Tabs.Joust; if (onoff) { var off = getAbsoluteOffsets(t.myDiv); var curtain = ById('ptJoustCurtain'); if (!curtain) { curtain = document.createElement('div'); curtain.id = 'ptJoustCurtain'; curtain.style.zindex = mainPop.div.zIndex + 1; curtain.style.backgroundColor = "#000000"; curtain.style.opacity = '0.5'; curtain.style.display = 'block'; curtain.style.position = 'absolute'; t.myDiv.appendChild(curtain); } curtain.style.width = (t.myDiv.clientWidth+4) + 'px'; curtain.style.height = (t.myDiv.clientHeight+4) + 'px'; curtain.style.top = off.top + 'px'; curtain.style.left = off.left + 'px'; } else { t.myDiv.removeChild(ById('ptJoustCurtain')); } }, e_Cancel: function () { var t = Tabs.Joust; if (t.isBusy) { t.isBusy = false; Options.JoustOptions.JoustRunning = false; var div = $("pbjoust_info"); div.innerHTML += "<br><span>"+tx('Cancelled')+"!</span>"; ById('pbJoustCancel').firstChild.innerHTML = uW.g_js_strings.commonstr.close; return; } t.setCurtain(false); t.setPopup(false); t.show(); }, start : function (){ var t = Tabs.Joust; t.isBusy = true; t.NumJousts = 0; t.NumWins = 0; Options.JoustOptions.JoustRunning = true; t.setCurtain(true); var popDiv = t.setPopup(true); popDiv.innerHTML = '<TABLE class=xtab width=100% height=100%><TR><TD align=center>\ <DIV class=divHeader align=center id=joustHeader>'+tx('Jousting Results')+'...</div>\ <DIV id=pbjoust_info style="padding:10px; height:225px; max-height:225px; overflow-y:auto"></div>\ </td></tr><TR><TD align=center>' + strButton20(uW.g_js_strings.commonstr.cancel, 'id=pbJoustCancel') + '</td></tr></table>'; ById('pbJoustCancel').addEventListener('click', t.e_Cancel, false); t.nextfight(); }, nextfight : function (){ var t = Tabs.Joust; if(!t.isBusy) return; var div = $("pbjoust_info"); t.eventDoJoust(); }, }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址