您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
very userfriendly script to fake your final score
当前为
// ==UserScript== // @name Death Screen Faker (Hide with J) // @namespace http://tampermonkey.net/ // @version 1.0.0 // @description very userfriendly script to fake your final score // @author r!PsAw // @match https://diep.io/* // @icon https://www.google.com/s2/favicons?sz=64&domain=diep.io // @grant none // @license MIT // ==/UserScript== //todo list: //- add gui with main logic var legit_mode = false; var buttons_hidden = false; document.onkeydown = function (e) { if(e.key === "J" || e.key === "j"){ buttons_hidden = !buttons_hidden; hide_or_show_btns(); } } const pointsNeeded = [ 0, 4, 13, 28, 50, 78, 113, 157, 211, 275, 350, 437, 538, 655, 787, 938, 1109, 1301, 1516, 1757, 2026, 2325, 2658, 3026, 3433, 3883, 4379, 4925, 5525, 6184, 6907, 7698, 8537, 9426, 10368, 11367, 12426, 13549, 14739, 16000, 17337, 18754, 20256, 21849, 23536, Infinity //this one is not lvl 46, just a value to make my code work ]; const tier = [0, 15, 30, 45]; window.__common__.tanks.sort((a, b) => a.id - b.id); let original = {score: null, selected_tank: null, level: null, time: null, killer_name: null}; let fake = {score: null, selected_tank: null, level: null, time: null, killer_name: null}; function main(){ if(document.querySelector("#game-over-screen").classList.contains("active")){ if(original.score === null && original.selected_tank === null && original.level === null && original.time === null && original.killer_name === null){ save_original_values(); } if(target_cont && !document.getElementById(my_buttons[0][1])){ create_my_buttons(); } legitimate_fake_values(); apply_values(); //more logic coming soon... } } setInterval(main, 500); let target_cont = document.querySelector("#game-over-footer") let my_buttons = [["score", "score-change"], ["killed by", "killer-name"], ["Level", "lvl-change"], ["Time", "final-time"], ["Tank", "tank-change"], ["Legit?", "fake2legit"]]; function create_my_buttons(){ let player_color = window.getComputedStyle(document.querySelector("#game-over-continue")).backgroundColor for(let i = 0; i<my_buttons.length; i++){ create_btn(my_buttons[i][0], player_color, my_buttons[i][1]); } } function create_btn(text, color, id){ let new_btn = document.createElement("div"); new_btn.id = id; new_btn.innerHTML = text; new_btn.style.width = "50px"; new_btn.style.backgroundColor = color; new_btn.classList.add("action-button"); target_cont.appendChild(new_btn); new_btn.onclick = () => { //console.log(text, color, id); if(id === "fake2legit"){ legit_mode = !legit_mode; }else{ handle_ids(id); } }; } function handle_ids(id){ const isNumeric = (string) => /^[+-]?\d+(\.\d+)?$/.test(string); switch (id){ case my_buttons[0][1]:{ // score let click_response = prompt("Enter the score"); isNumeric(click_response) ? fake.score = parseFloat(click_response) : alert("please enter a number"); } break; case my_buttons[1][1]:{ // killer name let click_response = prompt("Enter the killer name"); fake.killer_name = click_response; } break; case my_buttons[2][1]:{ // level let click_response = prompt("Enter the new value"); isNumeric(click_response) ? fake.level = parseFloat(click_response) : alert("please enter a number"); } break; case my_buttons[3][1]:{ // time let hours = prompt("Enter Hours"); let mins = prompt("Enter Minutes"); let secs = prompt("Enter Seconds"); let click_response = convert_time(hours, mins, secs); isNumeric(click_response) ? fake.time = parseFloat(click_response) : alert("please enter a number"); } break; case my_buttons[4][1]:{ let new_tank_str = prompt("Enter Tank name"); let click_response = name2id(new_tank_str); // tank isNumeric(click_response) ? fake.selected_tank = parseFloat(click_response) : alert("please enter a number"); } break; } console.log(fake); } function save_original_values(){ original.score = window.__common__.death_score; original.selected_tank = window.__common__.death_tank ; original.level = window.__common__.death_level; original.time = window.__common__.death_life_time; original.killer_name = window.__common__.killer_name; } CanvasRenderingContext2D.prototype.fillText = new Proxy(CanvasRenderingContext2D.prototype.fillText, { apply(fillRect, ctx, [text, x, y, ...blah]) { console.log(text, original.killer_name, fake.killer_name, window.__common__.killer_name); if(window.__common__.killer_name != original.killer_name && fake.killer_name != null){ if(text === original.killer_name){ text = fake.killer_name; } } fillRect.call(ctx, text, x, y, ...blah); } }); CanvasRenderingContext2D.prototype.strokeText = new Proxy(CanvasRenderingContext2D.prototype.strokeText, { apply(strokeRect, ctx, [text, x, y, ...blah]) { if(window.__common__.killer_name != original.killer_name && fake.killer_name != null){ if(text === original.killer_name){ text = fake.killer_name; } } strokeRect.call(ctx, text, x, y, ...blah); } }); function hide_or_show_btns(){ if(buttons_hidden){ for(let i = 0; i<my_buttons.length; i++){ document.getElementById(my_buttons[i][1]).style.display = "none"; } }else{ for(let i = 0; i<my_buttons.length; i++){ document.getElementById(my_buttons[i][1]).style.display = ""; } } } function legitimate_fake_values(){ if(legit_mode){ fake.score = Math.floor(fake.score); fake.level = Math.floor(fake.level); fake.time = Math.floor(fake.time); //keep level between 1 and 45 if(fake.level != null && fake.score != null){ if(fake.level > 45){ fake.level = 45 }else if(fake.level < 1){ fake.level = 1; } //relations between score and level if(fake.score > pointsNeeded[fake.level]){ fake.score = pointsNeeded[fake.level] - 1; }else if(fake.score < pointsNeeded[fake.level] && pointsNeeded[fake.level] != Infinity){ fake.score = pointsNeeded[fake.level] + 1; } } //keep name shorter than 15 characters if(fake.killer_name != null){ if(fake.killer_name.length > 15){ fake.killer_name.substring(0, 15); } } //tank id should be between 0 and last tank id if(fake.selected_tank != null){ if(fake.selected_tank < 0){ fake.selected_tank = 0; }else if(fake.selected_tank > window.__common__.tanks.length){ fake.selected_tank = window.__common__.tanks.length - 1; } } //tank id should correspond to it's level if(fake.level != null && fake.selected_tank != null){ if(fake.level < tier[window.__common__.tanks[fake.selected_tank].tier]){ fake.level = tier[window.__common__.tanks[fake.selected_tank].tier]; fake.score = pointsNeeded[fake.level]+1; } } //time should not be negative if(fake.time != null){ if(fake.time < 0){ fake.time = 1; } } } } function name2id(name){ let found_id; for(let i = 0; i < window.__common__.tanks.length; i++){ if(name === window.__common__.tanks[i].name){ found_id = window.__common__.tanks[i].id; } } return found_id; } function convert_time(hours, minutes, seconds){ let final_time = (hours*360)+(minutes*6)+seconds; return final_time; } function apply_values(){ if (fake.score != null) window.__common__.death_score = fake.score; if (fake.selected_tank != null) window.__common__.death_tank = fake.selected_tank; if (fake.level != null) window.__common__.death_level = fake.level; if (fake.time != null) window.__common__.death_life_time = fake.time; if (fake.killer_name != null) window.__common__.killer_name = fake.killer_name; }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址