您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
a new game mode that consists of racing with your friends PS:new update will come
// ==UserScript== // @name (new, Diep.io)Mario kart // @description a new game mode that consists of racing with your friends PS:new update will come // @version 0.1 // @author tariteur#2358 // @match *://diep.io/* // @grant none // @require https://greasyfork.org/scripts/433681-diepapi/code/diepAPI.js?version=1012053 // @namespace // @namespace https://greasyfork.org/users/870564 // ==/UserScript== //I use diep API by cazka 'use strict'; const { Vector, arenaScaling, player, game, entityManager } = window.diepAPI; const ctx = document.getElementById('canvas').getContext('2d'); const canvas = document.getElementById('canvas'); const colors = ["#E8B18A", "#E666EA", "#9566EA", "#6690EA", "#E7D063", "#EA6666", "#92EA66", "#808080"]; ////////////////////rose////////violet/////bleu///////jaune//////rouge//////vert///////bleu clair//gris//// const textShadow = 'text-shadow:black 0.18vh 0, black -0.18vh 0, black 0 -0.18vh, black 0 0.18vh, black 0.18vh 0.18vh, black -0.18vh 0.18vh, black 0.18vh -0.18vh, black -0.18vh -0.18vh, black 0.09vh 0.18vh, black -0.09vh 0.18vh, black 0.09vh -0.18vh, black -0.09vh -0.18vh, black 0.18vh 0.09vh, black -0.18vh 0.09vh, black 0.18vh -0.09vh, black -0.18vh -0.09vh' let coords1; let coords2; var timerON = false; var trial = 0; var Color; const html = ` <body> <label for="color-select">Choose a color:</label> <select id="color-select" onchange="colourFunction()"> <option value="">--choose an color--</option> <option class="pink" value="pink">Pink</option> <option class="purple" value="purple">Purple</option> <option class="blue" value="blue">Blue</option> <option class="yellow" value="yellow">Yellow</option> <option class="red" value="red">Red</option> <option class="green" value="green">Green</option> <option class="gray" value="gray">Gray</option> </select> <label for="time-select">Choose a time:</label> <select id="time-select" onchange="timeFunction()"> <option value="">- ⬇ Best Try ⬇ -</option> </select> <h1 id="test"><time>00:00:00</time></h1> <button id="strt">start</button> <button id="stp">stop</button> <button id="rst">reset</button> </body> ` const css = ` <style> #time-select { cursor:pointer; idth:5vw; height:4vh; border-radius: 0.5vw; font-family:Ubuntu; position: absolute; display: none; background: } #tool-select { cursor:pointer; idth:5vw; height:4vh; border-radius: 0.5vw; font-family:Ubuntu; position: absolute; display: block; background: top: 5%; left: 1%; } #block { position: absolute; top: 1%; left: 240px; display: block; } #sphere { position: absolute; top: 1%; left: 280px; display: block; } #text { position: absolute; top: 1%; left: 320px; display: block; } #retour { position: absolute; top: 1%; left: 360px; display: block; } .white {background:white;} .pink {background:pink;} .purple {background:purple;} .blue {background:blue;} .yellow {background:yellow;} .red {background:red;} .green {background:green} .gray {background:gray} #color-select { cursor:pointer; idth:5vw; height:4vh; border-radius: 0.5vw; font-family:Ubuntu; position: absolute; display: none; background: } </style>`; canvas.insertAdjacentHTML('afterend', css); canvas.insertAdjacentHTML('afterend', html); function drawZones() { let img = new Image(); // Crée un nouvel élément Image img.src = 'https://cdn.discordapp.com/attachments/937831925484228690/1021459145771204648/channels4_profile.jpg'; // Définit le chemin vers sa source let img2 = new Image(); // Crée un nouvel élément Image img2.src = 'https://pbs.twimg.com/media/FcPVr3kX0AMhHwv?format=png&name=small'; // Définit le chemin vers sa source let img3 = new Image(); // Crée un nouvel élément Image img3.src = 'https://pbs.twimg.com/media/FcSiuCMXgAA9rUf?format=png&name=240x240'; // Définit le chemin vers sa source let img4 = new Image(); // Crée un nouvel élément Image img4.src = 'https://pbs.twimg.com/media/FcVAfmrXoAE1pAa?format=png&name=360x360'; // Définit le chemin vers sa source var mylist = document.getElementById("color-select"); let Color = mylist.options[mylist.selectedIndex].text; document.getElementById("color-select").style.background = mylist.options[mylist.selectedIndex].text; coords1 = arenaScaling.toScreenPos(new Vector(-2000, -2500)); document.getElementById("color-select").style.top = coords1.y + "px"; document.getElementById("color-select").style.left = coords1.x + "px"; coords1 = arenaScaling.toScreenPos(new Vector(-1350, -2500)); document.getElementById("time-select").style.top = coords1.y + "px"; document.getElementById("time-select").style.left = coords1.x + "px"; document.getElementById('color-select').style.display = "block"; document.getElementById('test').style.display = "block"; document.getElementById('time-select').style.display = "block"; ctx.save(); ctx.globalAlpha = 0.5; coords1 = arenaScaling.toScreenPos(new Vector(-2500, -2500)); coords2 = arenaScaling.toScreenPos(new Vector(-3000, -2000)); ctx.drawImage(img, coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-2500, -2000)); coords2 = arenaScaling.toScreenPos(new Vector(-3000, -1900)); ctx.drawImage(img2, coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-1500, -1500)); coords2 = arenaScaling.toScreenPos(new Vector(-1000, -1350)); ctx.drawImage(img3, coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-2500, -1500)); coords2 = arenaScaling.toScreenPos(new Vector(-2000, -1350)); ctx.drawImage(img3, coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-3000, -1500)); coords2 = arenaScaling.toScreenPos(new Vector(-2500, -1350)); ctx.drawImage(img3, coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-2000, -2500)); coords2 = arenaScaling.toScreenPos(new Vector(-2500, -2100)); ctx.drawImage(img4, coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-2500, -1500)); ctx.textAlign = "center" ctx.font = '48px serif'; ctx.strokeText('Start', coords1.x, coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-1250, -1500)); ctx.textAlign = "center" ctx.font = '48px serif'; ctx.strokeText('Finish', coords1.x, coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-2250, -2000)); ctx.textAlign = "center" ctx.font = '30px serif'; ctx.strokeText('created by', coords1.x, coords1.y); ctx.strokeText('tariteur#2358', coords1.x, coords1.y+25); coords1 = arenaScaling.toScreenPos(new Vector(3000, -3000)); coords2 = arenaScaling.toScreenPos(new Vector(-3000, -2500)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-2000, -1500)); coords2 = arenaScaling.toScreenPos(new Vector(-1500, 1500)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-1000, -2500)); coords2 = arenaScaling.toScreenPos(new Vector(-500, 500)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-3500, -3000)); coords2 = arenaScaling.toScreenPos(new Vector(-3000, 3000)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-3000, 2500)); coords2 = arenaScaling.toScreenPos(new Vector(2500, 3000)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(-1500, 1000)); coords2 = arenaScaling.toScreenPos(new Vector(1500, 1500)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(0, -2000)); coords2 = arenaScaling.toScreenPos(new Vector(500, 1000)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(500, -1500)); coords2 = arenaScaling.toScreenPos(new Vector(2000, -1000)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(3000, -2500)); coords2 = arenaScaling.toScreenPos(new Vector(3500, 1000)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(1500, -500)); coords2 = arenaScaling.toScreenPos(new Vector(3000, 0)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(2500, 1000)); coords2 = arenaScaling.toScreenPos(new Vector(3500, 1500)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords1 = arenaScaling.toScreenPos(new Vector(2500, 1500)); coords2 = arenaScaling.toScreenPos(new Vector(3000, 3000)); ctx.fillStyle = Color; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); ctx.restore(); } game.once('ready', () => { game.on('frame', () => { if (!player.isDead) drawZones(); }); }); function bestTime() { trial ++; var x = document.getElementById("time-select"); var option = document.createElement("option"); option.text = h1.textContent + ", try: "+ trial; x.add(option); sortList(); } function sortList() { var list, i, switching, b, shouldSwitch; list = document.getElementById("time-select"); switching = true; while (switching) { switching = false; b = list.getElementsByTagName("option"); for (i = 0; i < (b.length - 1); i++) { shouldSwitch = false; if (b[i].innerHTML.toLowerCase() > b[i + 1].innerHTML.toLowerCase()) { shouldSwitch = true; break; } } if (shouldSwitch) { b[i].parentNode.insertBefore(b[i + 1], b[i]); switching = true; } } } function getPlayer(){ const me = entityManager.entities.filter( (ent) => ent.type == 0 && Vector.distance(ent.position, player.position) < 28 ); return me[0]; } game.once('ready', () => { game.on('frame', () => { if (!player.isDead){ let ple = getPlayer(); let margin = ple.extras.radius; let px = player.position.x; let py = player.position.y; if ((-1500 - margin < px && px < -1000 + margin && -1500 - margin < py && py < -1350 + margin) ){ if (timerON) { document.getElementById("stp").click(); bestTime(); timerON = false; } }; if ((-3000 - margin < px && px < -2000 + margin && -1500 - margin < py && py < -1350 + margin) ){ if (!timerON) { document.getElementById("strt").click(); timerON = true; } else { document.getElementById("rst").click(); } }; if ((-3000 - margin < px && px < -2500 + margin && -2500 - margin < py && py < -2000 + margin) ){ window.open("https://www.youtube.com/channel/UCT6nOb6Zsjz8Thrse6Nuimw","nom_de_la_fenetre","options_nouvelle_fenetre"); input.keyDown(40); } else { input.keyUp(40); } } }); }); var h1 = document.getElementsByTagName('h1')[0]; var start = document.getElementById('strt'); var stop = document.getElementById('stp'); var reset = document.getElementById('rst'); var sec = 0; var min = 0; var hrs = 0; var t; var sec2; var min2; var hrs2; function tick(){ sec++; if (sec >= 60) { sec = 0; min++; if (min >= 60) { min = 0; hrs++; } } } function add() { tick(); h1.textContent = (hrs > 9 ? hrs : "0" + hrs) + ":" + (min > 9 ? min : "0" + min) + ":" + (sec > 9 ? sec : "0" + sec); timer(); } function timer() { t = setTimeout(add, 10); } start.onclick = timer; stop.onclick = function() { clearTimeout(t); } reset.onclick = function() { h1.textContent = "00:00:00"; sec = 0; min = 0; hrs = 0; }