您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
lol7
// ==UserScript== // @name hitchance in combat // @namespace FileFace // @version 0.1.2 // @description lol7 // @author shtos // @match dh3.diamondhunt.co // @grant none // ==/UserScript== /*jshint multistr: true */ /*jslint es5: true */ (function() { 'use strict'; const fightScreen = document.getElementById('navigation-right-combat-fighting') const combatTables = document.querySelectorAll('.fighting-section-stats-and-hp-area') const accHeroElement = combatTables[0].children[0].children[0].children[1] const accMonsterElement = combatTables[1].children[0].children[0].children[1] const heroAcc = document.querySelectorAll('item-accuracy')[1] const heroDef = document.querySelectorAll('item-defence')[1] const monsterAcc = document.querySelector('item-monsteraccuracy') const magicMonsters = ['fireMage', 'spider', 'yeti', 'dungeonSpider', 'skeletonMonks'] var tempMonsterName = '' function linkuStarto(){ if (window.var_username){ addColumns() setTimeout(notifObserver, 2000) }else{ setTimeout(linkuStarto, 1000) } } linkuStarto() function notifObserver(){ const observer = new MutationObserver(mutation => { let monsterHitChance let playerHitChance if (magicMonsters.includes(window.var_monsterName)){ monsterHitChance = '100%' }else{ monsterHitChance = (hitChance(parseInt(window.var_monsterAccuracy), parseInt(window.var_defence))*100).toFixed(0) + '%' } playerHitChance = (hitChance(parseInt(window.var_accuracy), parseInt(window.var_monsterDefence))*100).toFixed(0) + '%' playerHitChance === '100%' ? document.querySelector('#hitchance-span').style.color = 'green' : document.querySelector('#hitchance-span').style.color = 'red' monsterHitChance === '100%' ? document.querySelector('#hitchance-monster-span').style.color = 'red' : document.querySelector('#hitchance-monster-span').style.color = 'green' document.querySelector('#hitchance-span').textContent = playerHitChance document.querySelector('#hitchance-monster-span').textContent = monsterHitChance }) const config = { attributes: true, characterData: true, subtree: true, childList: true } observer.observe(heroAcc, config) observer.observe(heroDef, config) observer.observe(monsterAcc, config) } function addColumns(){ let td = document.createElement('td') td.innerHTML = `<img src="images/accuracy.png" class="img-30"> <span id="hitchance-span">0</span>` accHeroElement.style.display = 'none' $(accHeroElement).after(td) td = document.createElement('td') td.innerHTML = `<img src="images/accuracy.png" class="img-30"> <span id="hitchance-monster-span">0</span>` $(accMonsterElement).after(td) accMonsterElement.style.display = 'none' } function hitChance(accuracy, defence) { if (defence % 2 == 0){ return 1 / Math.max(1, defence/2 - accuracy + 1); } else { return ( hitChance(accuracy, defence-1) + hitChance(accuracy, defence+1) ) / 2; } } })();