Evades tracers

All that this script gives is a tracert to all the balls. In some cases, the ut tracers do not work correctly.. Well, don't take offense at me.. I did it in 25 minutes on my knee.. (You need to choose the red color of the skin (magnax mode) for this to work)

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Evades tracers
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  All that this script gives is a tracert to all the balls. In some cases, the ut tracers do not work correctly.. Well, don't take offense at me.. I did it in 25 minutes on my knee.. (You need to choose the red color of the skin (magnax mode) for this to work)
// @author       Devil D. Nudo#7346
// @match        *://evades.io/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=evades.io
// @grant        none
// @run-at       dcoument-start
// ==/UserScript==

(function() {
    const { arc } = CanvasRenderingContext2D.prototype

    let myX = 0
    let myY = 0

    CanvasRenderingContext2D.prototype.arc = function() {
        const [ x, y, scale ] = arguments

        if (this.fillStyle === "#ff0000" && scale === 15) {
            myX = x
            myY = y
        } else if (scale > 10 && this.fillStyle.length > 4 && scale !== 15) {
            this.save()
            this.lineCap = "round"
            this.strokeStyle = "#8a2828"
            this.globalAlpha = .7
            this.listWidth = 4
            this.beginPath()
            this.moveTo(myX, myY)
            this.lineTo(x, y)
            this.stroke()
            this.closePath()
            this.restore()

            const distance = Math.hypot(y - myY, x - myX)
            const angle = Math.atan2(y - myY, x - myX)
            const maxDistance = Math.min(100, distance)
            const textX = myX + maxDistance * Math.cos(angle)
            const textY = myY + maxDistance * Math.sin(angle)

            this.save()
            this.fillStyle = "#d0d0d0"
            this.strokeStyle = "#1a1a1a"
            this.lineWidth = 3
            this.font = "bold 18px"
            this.strokeText(Math.round(distance), textX, textY)
            this.fillText(Math.round(distance), textX, textY)
            this.restore()
         }

        return arc.apply(this, arguments)
    }
})()