Survivio | Enhanced |

Surviv.io Enhanced

当前为 2019-11-26 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Survivio | Enhanced |
// @version      0.0.6.2
// @icon         https://surviv.io/favicon.ico
// @description  Surviv.io Enhanced
// @author       Filip K Zhõng
// @namespace    SurvivEnhanced

// Extra Info
// Made by: Filip K. Zhõng
// Version: 0.0.6.1
// For: Surviv.io

// Support Server: https://discordapp.com/invite/AHZYHxV

// - Note:
    // 3rd party extensions (or code changes) is not official or supported by the developers of the game,
    // they take no responsibility for 3rd party and doesn't recommend it neither,
    // all usage of it is on own risk and extensions THAT GIVES YOU A ADVANTAGE is not allowed!
// - Disclaim:
    // This script doesn't contain any hackusations, or code that gives you a unfair advantage
    // The adblur in this script still supports the game, as the ads still appear (even if they are blured out)
    // This script is used through tampermonkey or resource override, if the game patches it, deal with it, it's not a vanilla!

// <========== MATCH ==========> \\

// @match        http://surviv.io/*
// @match        https://surviv.io/*
// @match        http://surviv.io/?region=na&zone=sfo
// @match        http://surviv.io/?region=na&zone=mia
// @match        http://surviv.io/?region=na&zone=nyc
// @match        http://surviv.io/?region=na&zone=chi
// @match        http://surviv.io/?region=sa&zone=sao
// @match        http://surviv.io/?region=eu&zone=fra
// @match        http://surviv.io/?region=eu&zone=waw
// @match        http://surviv.io/?region=as&zone=sgp
// @match        http://surviv.io/?region=as&zone=nrt
// @match        http://surviv.io/?region=as&zone=hkg
// @match        http://surviv.io/?region=kr&zone=sel
// @match        https://surviv.io/?region=na&zone=sfo
// @match        https://surviv.io/?region=na&zone=mia
// @match        https://surviv.io/?region=na&zone=nyc
// @match        https://surviv.io/?region=na&zone=chi
// @match        https://surviv.io/?region=sa&zone=sao
// @match        https://surviv.io/?region=eu&zone=fra
// @match        https://surviv.io/?region=eu&zone=waw
// @match        https://surviv.io/?region=as&zone=sgp
// @match        https://surviv.io/?region=as&zone=nrt
// @match        https://surviv.io/?region=as&zone=hkg
// @match        https://surviv.io/?region=kr&zone=sel
// @match        http://surviv2.io*
// @match        https://surviv2.io*
// @match        http://2dbattleroyale.com*
// @match        https://2dbattleroyale.com*
// @match        http://2dbattleroyale.org*
// @match        https://2dbattleroyale.org*
// @match        http://piearesquared.info*
// @match        https://piearesquared.info*
// @match        http://thecircleisclosing.com*
// @match        https://thecircleisclosing.com*
// @match        http://archimedesofsyracuse.info*
// @match        https://archimedesofsyracuse.info*
// @match        http://secantsecant.com*
// @match        https://secantsecant.com*
// @match        http://parmainitiative.com*
// @match        https://parmainitiative.com*
// @match        http://nevelskoygroup.com*
// @match        https://nevelskoygroup.com*
// @match        http://kugahi.com*
// @match        https://kugahi.com*
// @match        http://chandlertallowmd.com*
// @match        https://chandlertallowmd.com*
// @match        http://ot38.club*
// @match        https://ot38.club*
// @match        http://kugaheavyindustry.com*
// @match        https://kugaheavyindustry.com*
// @match        http://rarepotato.com*
// @match        https://rarepotato.com*
// @match        http://twitch.tv/popout/survivio/extensions/c79geyxwmp1zpas3qxbddzrtytffta/panel*
// @match        https://twitch.tv/popout/survivio/extensions/c79geyxwmp1zpas3qxbddzrtytffta/panel*
// @match        http://c79geyxwmp1zpas3qxbddzrtytffta.ext-twitch.tv/c79geyxwmp1zpas3qxbddzrtytffta/1.0.2/ce940530af57d2615ac39c266fe9679d/index_twitch.html?anchor=panel&language=en&mode=viewer&state=released&platform=web&popout=true*
// @match        https://c79geyxwmp1zpas3qxbddzrtytffta.ext-twitch.tv/c79geyxwmp1zpas3qxbddzrtytffta/1.0.2/ce940530af57d2615ac39c266fe9679d/index_twitch.html?anchor=panel&language=en&mode=viewer&state=released&platform=web&popout=true*


// @grant        none

// ==/UserScript==

// <---------- Notes ----------> \\
// mapIds;
// 0 - Normal
// 1 - Desert [desertMode]
// 2 - Woods [woodsMode]
// 3 - 50v50 [factionMode]
// 4 - Potato [potatoMode]
// 5 - Savannah [sniperMode]
// 6 - Halloween [N/A]

// getGameModeStyles;
// 1 - solo
// 2 - duo
// 4 - squad

// <========== GUN HUD ==========> \\

(function() {
    'use strict';

    var elems = document.getElementsByClassName('ui-weapon-name')

    console.log(elems);

    for (var ii = 0; ii < elems.length; ii++) {

        elems[ii].addEventListener('DOMSubtreeModified', function() {
            var weaponName = this.textContent;
            var border = 'solid';

            switch (weaponName) {

                // <---------- Default ----------> \\

                default: border = '#ffffff';
                border = 'solid';
                break;

                // <---------- Melees ----------> \\


                case 'Fists':
                        border += '#ffffff';
                    break;

                case 'Bayonet':
                        border += '#615338 ';
                    break;

                case 'Bayonet Rugged':
                        border += '#6C6C6E';
                    break;

                case 'Bayonet Woodland':
                        border += '#75B11B';
                    break;

                case 'Blood Axe':
                        border += '#3D9503';
                    break;

                case 'Bonesaw':
                        border += '#461904';
                    break;

                case 'Bowie Vintage':
                        border += '#A1A1A1';
                    break;

                case 'Bowie Frontier':
                        border += '#9A4726';
                    break;

                case 'Fire Axe':
                        border += '#9D0000';
                    break;

                case 'Hook':
                        border += '#646464';
                    break;

                case 'Huntsman Rugged':
                        border += '#555A5A';
                    break;

                case 'Huntsman Burnished':
                        border += '#D5CB6F';
                    break;

                case 'Karambit':
                        border += '#13173A';
                    break;

                case 'Karambit Prismatic':
                        border += '#28DA8A';
                    break;

                case 'Karambit Drowned':
                        border += '#00BACF';
                    break;

                case 'Katana':
                        border += '#646667';
                    break;

                case 'Katana Rusted':
                        border += '#916A42';
                    break;

                case 'Katana Orchid':
                        border += '#D6A5E3';
                    break;

                case 'Knuckles':
                        border += '#90710F';
                    break;

                case 'Knuckles Heroic':
                        border += '#DEBA28';
                    break;

                case 'Knuckles Rusted':
                        border += '#825836';
                    break;

                case 'Kukri':
                        border += '#1958D5';
                    break;

                case 'Machete':
                        border += '#8E0000';
                    break;

                case 'Naginata':
                        border += '#3C3C3C';
                    break;

                case 'Pan':
                        border += '#444444';
                    break;

                case 'Sledgehammer':
                        border += '#4F5152';
                    break;

                case 'Stonehammer':
                        border += '#797B7C';
                    break;

                case 'Wood Axe':
                        border += '#76787A';
                    break;

                    // <---------- YELLOW: 9mm ----------> \\

                case 'CZ-3A1':
                        case 'G18C':
                        case 'M9':
                        case 'M93R':
                        case 'MAC-10':
                        case 'MP5':
                        case 'P30L':
                        case 'Dual P30L':
                        case 'UMP9':
                        case 'Vector':
                        case 'VSS':
                        border += '#FFAE00';
                    break;

                    // <---------- RED: 12 Gauge ----------> \\

                case 'M1100':
                        case 'M870':
                        case 'MP220':
                        case 'Saiga-12':
                        case 'SPAS-12':
                        case 'Super 90':
                        case 'USAS-12':
                        border += '#FF0000';
                    break;

                    // <---------- BLUE: 7.62 mm ----------> \\

                case 'AK-47':
                        case 'AN-94':
                        case 'BAR M1918':
                        case 'BLR 81':
                        case 'DP-28':
                        case 'Groza':
                        case 'Groza-S':
                        case 'M1 Garand':
                        case 'M39 EMR':
                        case 'Mosin-Nagant':
                        case 'OT-38':
                        case 'OTs-38':
                        case 'PKP Pecheneg':
                        case 'SCAR-H':
                        case 'SV-98':
                        case 'SVD-63':
                        border += '#0066FF';
                    break;

                    // <---------- GREEN: 5.56mm ----------> \\

                case 'FAMAS':
                        case 'L86A2':
                        case 'M249':
                        case 'M416':
                        case 'M4A1-S':
                        case 'Mk 12 SPR':
                        case 'QBB-97':
                        case 'Scout Elite':
                        border += '#039E00';
                    break;

                    // <---------- Purple: .45 ACP ----------> \\

                case 'M1911':
                        case 'M1A1':
                        case 'Mk45G':
                        case 'Model 94':
                        case 'Peacemaker':
                        case 'Vector 45'

                        : border += '#7900FF';
                    break;

                    // <---------- FLARE ----------> \\

                case 'Flare Gun':
                        border += '#D44600';
                    break;

                    // <---------- .50 AE ----------> \\

                case 'DEagle 50':
                        border += '#292929';
                    break;

                    // <---------- .308 Subsonic ----------> \\

                case 'AWM-S':
                        case 'Mk 20 SSR'

                        : border += '#465000';
                    break;

                    // <---------- Potato ----------> \\

                case 'Potato Cannon'

                    :
                        border += '#935924';
                    break;

                    // <---------- CURSED: 9 mm ----------> \\
                case 'M9 Cursed'

                    :
                        border += '#323232';
                    break;

                    // <---------- Trowables ----------> \\

                case 'Frag':
                        border += '#837516';
                    break;

                case 'MIRV':
                        border += '#940000';
                    break;

                case 'Potato':
                        border += '#958359';
                    break;

                case 'Smoke':
                        border += '#DDDDDD';
                    break;

                case 'Snowball':
                        border += '#74D4F8';
                    break;

                case 'Strobe':
                        border += '#FFF205';
                    break;

                case 'Iron Bomb':
                        border += '#FFF205';
                    break;


            }

            // <---------- GUN END ----------> \\

            console.log(border);

            this.parentNode.style.border = border;
        }, false);
    }
})();

// <========== ARMOR HUD ==========> \\

(function() {
    'use strict';

    var elems = document.getElementsByClassName('ui-armor-level');
    console.log(elems);

    for (var ii = 0; ii < elems.length; ii++) {

        elems[ii].addEventListener('DOMSubtreeModified', function() {
            var armorlv = this.textContent;
            var border = 'solid';

            switch (armorlv) {

                default: border = '#000000';
                border = 'solid';
                break;

                case 'Lvl. 0':
                        border += '#ffffff';
                    break;

                case 'Lvl. 1':
                        border += '#ffffff';
                    break;

                case 'Lvl. 2':
                        border += '#808080';
                    break;

                case 'Lvl. 3':
                        border += '#0C0C0C';
                    break;

                case 'Lvl. 4':
                        border += '#FFF00F';
                    break;

            }

            console.log(border);

            this.parentNode.style.border = border;
        }, false);
    }
})();

// <========== HUD END ==========> \\
// <========== Streamer Mode ==========> \\

(function() {
    'use strict';

    setInterval(function() {

// <---------- Squad Fix ---------->

        if(document.querySelector(`#btn-start-team`)) document.querySelector(`#btn-start-team`).style.display = `block`;

// <---------- Surviv-Related Ads AdBlock ---------->

        let blurElements_ad = document.querySelectorAll(`#ad-block-left, #surviv-io_300x600, #surviv-io_300x250, #surviv-io_728x90`);
        for(let i = 0; i < blurElements_ad.length; i++) blurElements_ad[i].style.filter = `blur(10px)`;


// <---------- Streamers;Youtuber ---------->

//        let blurElements = document.querySelectorAll(`#team-url, #team-code, .account-player-name, .account-avatar, .featured-streamer > a, #featured-youtuber a`)
//
//        for(let i = 0; i < blurElements.length; i++) blurElements[i].style.filter = `blur(10px)`;
//
        let removeShadowElements = document.querySelectorAll(`#news-block, #social-share-block, #start-menu, #team-menu`);
        for(let i = 0; i < removeShadowElements.length; i++) removeShadowElements[i].style.boxShadow = ``;

    });
})();
// <========== Streamer Mode End ==========> \\
// <========== Solo Buttons ==========> \\
// <---------- Function DUO ---------->

(function () {
'use strict';
function DUO(){
document.getElementById("btn-create-team").click();
    setTimeout(function(){
document.getElementById("btn-team-queue-mode-1").click();
document.getElementById("btn-team-fill-none").click();
document.getElementById("btn-start-team").click();
}
,750);

}

// <---------- Function DUO ---------->
// <---------- DUO Button ---------->
    var SoloDuo = document.createElement("button");
  SoloDuo.innerHTML = "Play Solo 'Duo'";
  SoloDuo.setAttribute("id", "btn-start-solo btns-quick-start");
  SoloDuo.setAttribute("class", "btn-darken menu-option btn-team-option menu-column menu-block");

//height: 40px;
//width: 128px;

SoloDuo;{
  SoloDuo.style.align = "center";
  SoloDuo.style.background = "#50AFAB";
  SoloDuo.style.border = "#408E8B";
  SoloDuo.style.color = "#E5F1F0";
  SoloDuo.style.cursor = "pointer";
  SoloDuo.style.width = "50%";
  SoloDuo.style.radius = "15px";
  SoloDuo.style.shadow = "0 5px #408E8B";
        }
// <---------- DUO Button ---------->
// <---------- DUO Button Click ---------->

  window.myFunc = function () {
  DUO();
  };
  SoloDuo.addEventListener('click', window.myFunc);
  document.getElementById("btns-quick-start").parentNode.appendChild(SoloDuo);
    var reference = document.getElementById('btn-help');
reference.parentNode.insertBefore(SoloDuo, reference);
})();

// <---------- DUO Button Click ---------->

(function () {
'use strict';
function SQUAD(){
document.getElementById("btn-create-team").click();
    setTimeout(function(){
document.getElementById("btn-team-queue-mode-2").click();
document.getElementById("btn-team-fill-none").click();
document.getElementById("btn-start-team").click();
}
,750);

}

// <---------- Function SQUAD ---------->
// <---------- SQUAD Button ---------->
    var SoloSquad = document.createElement("button");
  SoloSquad.innerHTML = "Play Solo 'Squad'";
  SoloSquad.setAttribute("id", "btn-start-solo btns-quick-start");
  SoloSquad.setAttribute("class", "btn-darken menu-option btn-team-option menu-column menu-block");

//height: 40px;
//width: 128px;

SoloSquad;{
  SoloSquad.style.align = "center";
  SoloSquad.style.background = "#50AFAB";
  SoloSquad.style.border = "#408E8B";
  SoloSquad.style.color = "#E5F1F0";
  SoloSquad.style.cursor = "pointer";
  SoloSquad.style.width = "50%";
  SoloSquad.style.radius = "15px";
  SoloSquad.style.shadow = "0 5px #408E8B";
        }
// <---------- SQUAD Button ---------->
// <---------- SQUAD Button Click ---------->

  window.myFunc = function () {
  SQUAD();
  };
  SoloSquad.addEventListener('click', window.myFunc);
  document.getElementById("btns-quick-start").parentNode.appendChild(SoloSquad);
    var reference = document.getElementById('btn-help');
reference.parentNode.insertBefore(SoloSquad, reference);
})();

// <========== Buttons END==========> \\
// <-########## SCRIPT END ##########-> \\