Greasy Fork

Venge.io HACKS UPDATED 1.0.25 UNLIMTIED AMMO INF JUMP INSTANT MELEE AUTO KILL

Venge.io HACKS

目前为 2020-07-05 提交的版本。查看 最新版本

// ==UserScript==
// @name         Venge.io HACKS UPDATED 1.0.25 UNLIMTIED AMMO INF JUMP INSTANT MELEE AUTO KILL
// @version      0.8
// @description  Venge.io HACKS
// @author       MetaHuman
// @match        https://venge.io/
// @grant        none
// @run-at       document-start
// @namespace https://greasyfork.org/users/662462
// ==/UserScript==

var Hack = function() {
	this.settings = {
		infAmmo: false,
		infJump: false,
		autoKill: false,
	};
	this.hooks = {
		network: null,
		movement: null,
		anticheat: null
	};

	this.setupHooks = function() {
		this.waitForProp("Movement").then(this.hookMovement).catch(e => console.log(e));
		this.waitForProp("NetworkManager").then(this.hookNetwork).catch(e => console.log(e));
		this.waitForProp("VengeGuard").then(this.hookAnticheat).catch(e => console.log(e));
	}

	this.setupBinds = function() {
		window.addEventListener("keydown", (e) => {
			if (e.keyCode == 190) { // PERIOD
				this.settings.autoKill = !this.settings.autoKill;
				this.hooks.network.app.fire("Chat:Message", "Hacks", "Kill on Respawn - " + (this.settings.autoKill?"Enabled":"Disabled"), !0)
			} if (e.keyCode == 188) { // COMMA
				this.settings.infAmmo = !this.settings.infAmmo;
				this.hooks.network.app.fire("Chat:Message", "Hacks", "Infinite Ammo - " + (this.settings.infAmmo?"Enabled":"Disabled"), !0)
			} if (e.keyCode == 222) { // QUOTE
				this.settings.infJump = !this.settings.infJump;
				this.hooks.network.app.fire("Chat:Message", "Hacks", "Infinite Jump - " + (this.settings.infJump?"Enabled":"Disabled"), !0)
			}
		})
	}

	this.waitForProp = async function(val) {
		while(!window.hasOwnProperty(val))
			await new Promise(resolve => setTimeout(resolve, 1000));
	}

	this.hookMovement = function() {
		const update = Movement.prototype.update;
		Movement.prototype.update = function (t) {
			if (!FakeGuard.hooks.movement) {
				FakeGuard.hooks.movement = this;
			}
			FakeGuard.onTick();
			update.apply(this, [t]);
			if (FakeGuard.settings.infAmmo) {
                this.setAmmoFull();
				this.isHitting = false;
			}
			if (FakeGuard.settings.infJump) {
				this.isLanded = true;
				this.bounceJumpTime = 0;
				this.isJumping = false;
			}
		};
		console.log("Movement Hooked");
	}

	this.hookNetwork = function() {
		var manager = NetworkManager.prototype.initialize;
		NetworkManager.prototype.initialize = function() {
			if (!FakeGuard.hooks.network) {
			   FakeGuard.hooks.network = this;
			}
			manager.call(this);
		};

		var ogRespawn = NetworkManager.prototype.respawn;
		NetworkManager.prototype.respawn = function(e) {
			ogRespawn.apply(this, [e]);
			if (e && e.length > 0 && FakeGuard.settings.autoKill) {
				var t = e[0], i = this.getPlayerById(t);
				if (i&& t!=this.playerid) {
                    var scope = this;
                    setTimeout(function() {
                        scope.send(["da", t, 100, 1, i.position.x, i.position.y, i.position.z])
                    }, 3500);
				}
			}
		}
		console.log("Network Hooked");
	}

	this.hookAnticheat = function() {
		VengeGuard.prototype.onCheck = function() {
			this.app.fire("Network:Guard", 1)
		}
		console.log("Anticheat Hooked");
	}

	this.onTick = function() {
		if (FakeGuard.settings.kill) FakeGuard.teleportKill();
	}

	this.setupHooks();
	this.setupBinds();
};
FakeGuard = new(Hack)();