TagPro Highlight Own Ball

Highlights your own ball (optionally only after spawning)

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

You will need to install an extension such as Tampermonkey to install this script.

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         TagPro Highlight Own Ball
// @version      1.1
// @description  Highlights your own ball (optionally only after spawning)
// @author       Ko
// @include      http://tagpro-*.koalabeast.com:*
// @include      http://tagpro-*.koalabeast.com:*
// @include      http://tangent.jukejuice.com:*
// @include      http://tagpro-*.koalabeast.com/game
// @include      http://tagpro-*.koalabeast.com/game
// @include      http://tangent.jukejuice.com/game
// @include      http://*.newcompte.fr:*
// @license      MIT
// @namespace https://greasyfork.org/users/152992
// ==/UserScript==




////////////////////////////////////////////////////////////////////////////////////////////
//     ### --- OPTIONS --- ###                                                            //
////////////////////////////////////////////////////////////////////////////////////////  //
                                                                                      //  //
// This is the time (seconds) that the highlight should                               //  //
// be shown on the ball *after* respawning. Setting this                              //  //
// at 0 will make your ball highlighted forever.                                      //  //
const time = 0 ;                                                                      //  //
                                                                                      //  //
// Color of the highlight (seperate for red and blue balls)                           //  //
// All colors on this website are supported:                                          //  //
//     https://www.w3schools.com/colors/colors_hex.asp                                //  //
// Don't forget the "quotes"                                                          //  //
// If you do this wrong, the highlight will be black. Ugh.                            //  //
const red_color = "lightpink" ;                                                       //  //
const blue_color = "lightblue" ;                                                      //  //
                                                                                      //  //
// You can also use hexadecimal values for colors. Example:                           //  //
//     const red_color = 0xff0000;                                                    //  //
                                                                                      //  //
// The opacity of the highlight, between 0 and 1.                                     //  //
// If you choose 1, the real ball will be invisble,                                   //  //
// and only the color of the highlight will be visible.                               //  //
const alpha = 0.6 ;                                                                   //  //
                                                                                      //  //
// Want to highlight the ball you are spectating too?                                 //  //
// Change the next option to false ;                                                  //  //
const hide_while_spectating = true ;                                                  //  //
                                                                                      //  //
////////////////////////////////////////////////////////////////////////////////////////  //
//                                                     ### --- END OF OPTIONS --- ###     //
////////////////////////////////////////////////////////////////////////////////////////////






//////////////////////////////////////
// SCROLL FURTHER AT YOUR OWN RISK! //
//////////////////////////////////////






tagpro.ready(function(){

    var highlight = new PIXI.Graphics();

    function updateHighlight(attempt=0){
        // This function resets the color and ball to place the highlight on.
        // Usefull when switching teams, or looking at another ball while spectating.

        // 'you' could be your ball, OR the ball you are currently spectating.
        var you = tagpro.players[ tagpro.playerId ];

        if (!you || !you.sprites) return setTimeout(()=>updateHighlight(attempt+1),50);
        if (attempt > 60) return console.warn('TagPro Highlight Own Ball: Something went wrong. I can\'t show a highlight at the moment!');

        let color;
        if (you.team == 1) color = colors[red_color.toLowerCase()] || red_color;
        if (you.team == 2) color = colors[blue_color.toLowerCase()] || blue_color;


        highlight.beginFill( color , alpha ).drawCircle(20,20,19);

        // Adding the highlight to a ball,
        // will remove it from the previous one (if any)
        you.sprites.ball.addChild(highlight);

    }

    if (tagpro.playerId) updateHighlight();
    tagpro.socket.on('id',updateHighlight);

    var timeout;

    if (time) {

        tagpro.socket.on('p',function(p){
            p = p.u || p;

            for ( var player of p ) if (player.id == tagpro.playerId) {

                if (player.dead == false) {
                    highlight.visible = true;
                    clearTimeout(timeout);
                    timeout = setTimeout(()=> highlight.visible = false, time*1000 );
                }

                if (player.team) updateHighlight();

            }
        });
    }

    if (hide_while_spectating) {

        highlight.alpha = !tagpro.spectator && alpha;

        tagpro.socket.on('spectator', function(spectator) {
            highlight.alpha = !spectator && alpha;
            updateHighlight();
        });

    }



});









// List of color names

var colors = {"aliceblue":0xf0f8ff,
              "antiquewhite":0xfaebd7,
              "aqua":0x00ffff,
              "aquamarine":0x7fffd4,
              "azure":0xf0ffff,
              "beige":0xf5f5dc,
              "bisque":0xffe4c4,
              "black":0x000000,
              "blanchedalmond":0xffebcd,
              "blue":0x0000ff,
              "blueviolet":0x8a2be2,
              "brown":0xa52a2a,
              "burlywood":0xdeb887,
              "cadetblue":0x5f9ea0,
              "chartreuse":0x7fff00,
              "chocolate":0xd2691e,
              "coral":0xff7f50,
              "cornflowerblue":0x6495ed,
              "cornsilk":0xfff8dc,
              "crimson":0xdc143c,
              "cyan":0x00ffff,
              "darkblue":0x00008b,
              "darkcyan":0x008b8b,
              "darkgoldenrod":0xb8860b,
              "darkgray":0xa9a9a9,
              "darkgrey":0xa9a9a9,
              "darkgreen":0x006400,
              "darkkhaki":0xbdb76b,
              "darkmagenta":0x8b008b,
              "darkolivegreen":0x556b2f,
              "darkorange":0xff8c00,
              "darkorchid":0x9932cc,
              "darkred":0x8b0000,
              "darksalmon":0xe9967a,
              "darkseagreen":0x8fbc8f,
              "darkslateblue":0x483d8b,
              "darkslategray":0x2f4f4f,
              "darkslategrey":0x2f4f4f,
              "darkturquoise":0x00ced1,
              "darkviolet":0x9400d3,
              "deeppink":0xff1493,
              "deepskyblue":0x00bfff,
              "dimgray":0x696969,
              "dimgrey":0x696969,
              "dodgerblue":0x1e90ff,
              "firebrick":0xb22222,
              "floralwhite":0xfffaf0,
              "forestgreen":0x228b22,
              "fuchsia":0xff00ff,
              "gainsboro":0xdcdcdc,
              "ghostwhite":0xf8f8ff,
              "gold":0xffd700,
              "goldenrod":0xdaa520,
              "gray":0x808080,
              "grey":0x808080,
              "green":0x008000,
              "greenyellow":0xadff2f,
              "honeydew":0xf0fff0,
              "hotpink":0xff69b4,
              "indianred":0xcd5c5c,
              "indigo":0x4b0082,
              "ivory":0xfffff0,
              "khaki":0xf0e68c,
              "lavender":0xe6e6fa,
              "lavenderblush":0xfff0f5,
              "lawngreen":0x7cfc00,
              "lemonchiffon":0xfffacd,
              "lightblue":0xadd8e6,
              "lightcoral":0xf08080,
              "lightcyan":0xe0ffff,
              "lightgoldenrodyellow":0xfafad2,
              "lightgray":0xd3d3d3,
              "lightgrey":0xd3d3d3,
              "lightgreen":0x90ee90,
              "lightpink":0xffb6c1,
              "lightsalmon":0xffa07a,
              "lightseagreen":0x20b2aa,
              "lightskyblue":0x87cefa,
              "lightslategray":0x778899,
              "lightslategrey":0x778899,
              "lightsteelblue":0xb0c4de,
              "lightyellow":0xffffe0,
              "lime":0x00ff00,
              "limegreen":0x32cd32,
              "linen":0xfaf0e6,
              "magenta":0xff00ff,
              "maroon":0x800000,
              "mediumaquamarine":0x66cdaa,
              "mediumblue":0x0000cd,
              "mediumorchid":0xba55d3,
              "mediumpurple":0x9370db,
              "mediumseagreen":0x3cb371,
              "mediumslateblue":0x7b68ee,
              "mediumspringgreen":0x00fa9a,
              "mediumturquoise":0x48d1cc,
              "mediumvioletred":0xc71585,
              "midnightblue":0x191970,
              "mintcream":0xf5fffa,
              "mistyrose":0xffe4e1,
              "moccasin":0xffe4b5,
              "navajowhite":0xffdead,
              "navy":0x000080,
              "oldlace":0xfdf5e6,
              "olive":0x808000,
              "olivedrab":0x6b8e23,
              "orange":0xffa500,
              "orangered":0xff4500,
              "orchid":0xda70d6,
              "palegoldenrod":0xeee8aa,
              "palegreen":0x98fb98,
              "paleturquoise":0xafeeee,
              "palevioletred":0xdb7093,
              "papayawhip":0xffefd5,
              "peachpuff":0xffdab9,
              "peru":0xcd853f,
              "pink":0xffc0cb,
              "plum":0xdda0dd,
              "powderblue":0xb0e0e6,
              "purple":0x800080,
              "rebeccapurple":0x663399,
              "red":0xff0000,
              "rosybrown":0xbc8f8f,
              "royalblue":0x4169e1,
              "saddlebrown":0x8b4513,
              "salmon":0xfa8072,
              "sandybrown":0xf4a460,
              "seagreen":0x2e8b57,
              "seashell":0xfff5ee,
              "sienna":0xa0522d,
              "silver":0xc0c0c0,
              "skyblue":0x87ceeb,
              "slateblue":0x6a5acd,
              "slategray":0x708090,
              "slategrey":0x708090,
              "snow":0xfffafa,
              "springgreen":0x00ff7f,
              "steelblue":0x4682b4,
              "tan":0xd2b48c,
              "teal":0x008080,
              "thistle":0xd8bfd8,
              "tomato":0xff6347,
              "turquoise":0x40e0d0,
              "violet":0xee82ee,
              "wheat":0xf5deb3,
              "white":0xffffff,
              "whitesmoke":0xf5f5f5,
              "yellow":0xffff00,
              "yellowgreen":0x9acd32};