// ==UserScript== // @name Zones Only // @description made with much love // @version 0.0.1 // @author Cazka#1820 // @match *://diep.io/* // @grant none // @require https://greasyfork.org/scripts/433681-diepapi/code/diepAPI.js?version=977858 // @namespace https://greasyfork.org/users/541070 // @downloadURL none // ==/UserScript== 'use strict'; function drawZones() { ctx.save(); ctx.globalAlpha = 0.08; if (localStorage.gamemode === '4teams') { let center; let radius; //blue center = arenaScaling.toScreenPos(new Vector(-11150 + 1675, -11150 + 1675)); radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, -11150 + 1675 + 5250)).y - center.y; ctx.fillStyle = '#006480'; ctx.beginPath(); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.fill(); radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, -11150 + 1675 + 3800)).y - center.y; ctx.fillStyle = '#ff6480'; ctx.beginPath(); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.fill(); //purple center = arenaScaling.toScreenPos(new Vector(11150 - 1675, -11150 + 1675)); radius = arenaScaling.toScreenPos(new Vector(11150 - 1675, -11150 + 1675 + 5250)).y - center.y; ctx.fillStyle = '#644280'; ctx.beginPath(); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.fill(); radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, -11150 + 1675 + 3800)).y - center.y; ctx.fillStyle = '#ff4280'; ctx.beginPath(); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.fill(); //green center = arenaScaling.toScreenPos(new Vector(-11150 + 1675, 11150 - 1675)); radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, 11150 - 1675 + 5250)).y - center.y; ctx.fillStyle = '#00803e'; ctx.beginPath(); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.fill(); radius = arenaScaling.toScreenPos(new Vector(-11150 + 1675, 11150 - 1675 + 3800)).y - center.y; ctx.fillStyle = '#ff803e'; ctx.beginPath(); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.fill(); //red center = arenaScaling.toScreenPos(new Vector(11150 - 1675, 11150 - 1675)); radius = arenaScaling.toScreenPos(new Vector(11150 - 1675, 11150 - 1675 + 5250)).y - center.y; ctx.fillStyle = '#963033'; ctx.beginPath(); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.fill(); radius = arenaScaling.toScreenPos(new Vector(11150 - 1675, 11150 - 1675 + 3800)).y - center.y; ctx.fillStyle = '#ff3033'; ctx.beginPath(); ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI); ctx.fill(); } else if (localStorage.gamemode === 'teams') { let coords1; let coords2; //blue coords1 = arenaScaling.toScreenPos(new Vector(-11150, -11150)); coords2 = arenaScaling.toScreenPos(new Vector(-11150 + 5500, 11150)); ctx.fillStyle = '#006480'; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords2 = arenaScaling.toScreenPos(new Vector(-11150 + 4150, 11150)); ctx.fillStyle = '#ff6480'; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); //red coords1 = arenaScaling.toScreenPos(new Vector(11150, -11150)); coords2 = arenaScaling.toScreenPos(new Vector(11150 - 5500, 11150)); ctx.fillStyle = '#963033'; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); coords2 = arenaScaling.toScreenPos(new Vector(11150 - 4150, 11150)); ctx.fillStyle = '#ff3033'; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); } //pentagon nest let coords1; let coords2; coords1 = arenaScaling.toScreenPos(new Vector(-1115, -1115)); coords2 = arenaScaling.toScreenPos(new Vector(1115, 1115)); ctx.fillStyle = '#8aff69'; ctx.fillRect(coords1.x, coords1.y, coords2.x - coords1.x, coords2.y - coords1.y); ctx.restore(); } const { Vector, arenaScaling, player, game } = window.diepAPI; const ctx = document.getElementById('canvas').getContext('2d'); let isAlive = false; player.on('dead', () => (isAlive = false)); player.on('spawn', () => (isAlive = true)); game.once('ready', () => { game.on('frame', () => { if(isAlive) drawZones(); }); });