您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Starve.io L3Mod, save home, talk with friends, share map ! And more... soon xD
- // ==UserScript==
- // @name Starve.io L3Mod
- // @namespace Starve.io L3Mod
- // @version 0.1
- // @description Starve.io L3Mod, save home, talk with friends, share map ! And more... soon xD
- // @author l3mpik
- // @match *://starve.io/*
- // @require https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.5/socket.io.min.js
- // @require https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
- // @grant none
- // ==/UserScript==
- window.l3 = function() {
- this.socket = null;
- this.version = "1.0";
- this.name = "";
- this.binds = {};
- }
- l3.prototype = {
- get: function(data) {
- return document.getElementById(data.toString());
- },
- getRoom: function(callback) {
- var me = this;
- try {
- //callback(window.webSocket.url), future use bots? :D
- return client.socket.url;
- } catch(e) {
- console.error("Undefined ws.url, connect to server!");
- }
- },
- connect: function(data) {
- var me = this;
- me.socket = io.connect("ws://5.196.23.192:1000");
- me.room = data;
- me.socket.on('request_room', function() {
- me.socket.emit('request_room', me.room);
- });
- me.socket.on('disconnect', function(e) {
- console.log("%c Kurwa. Jeden Way jesteś Banned! :D", "background: #000000; color: yellow; font-size: 2em;");
- });
- me.handleMessages();
- },
- getName: function() {
- var me = this;
- me.name = me.get("nickname_input").value;
- return me.name;
- },
- sendChat: function(data) {
- var me = this;
- me.socket.emit('chat', {
- user: me.getName(),
- message: data
- });
- },
- handleMessages: function(data) {
- var me = this;
- var message_counter = 0;
- var offset = 100;
- me.socket.on('chat', function(data) {
- if(data.user === me.getName()) {
- //return
- } else {
- //console.log("User:", data.user, "Message:", data.message);
- message_counter += 10;
- var r_id = me.randomId(data);
- offset = offset + message_counter;
- $("body").append('<div id="' + r_id + '" class="row" style="width: 30%; position: absolute; z-index: 1; bottom: ' + offset + 'px;"> <div class="alert alert-success" role="alert"> <span class="glyphicon glyphicon-user" aria-hidden="true" style="margin-left: 5px;"></span> <div id="l3_user">' + data.user + '</div>:<div id="l3_message">' + data.message + '</div> </div> </div>');
- setTimeout(() => {
- $("#" + r_id).fadeOut("slow");
- $("#" + r_id).remove();
- message_counter -= 10;
- }, 3000);
- }
- });
- },
- handlebinds: function() {
- var me = this;
- me.binds = [];
- me.binds.push('`|respawn');
- function isBind(e) {
- for(var i in me.binds) {
- var bind = me.binds[i].split("|");
- if(bind[0] === e.key) {
- switch(bind[1]) {
- case 'respawn':
- me.respawn();
- break;
- }
- }
- }
- }
- document.addEventListener('keydown', isBind, false);
- console.log("%c Binds initialization Success!", "background: #000000; color: yellow;");
- },
- respawn: function() {
- var me = this;
- me.client.socket.close(1000);
- },
- randomId: function(data) {
- return Math.floor(Math.random() * (2 + data.user.length * data.message.length + 2))
- },
- override(client, callback) {
- var me = this;
- try {
- client.send_chat = function(data) {
- world.fast_units[user.uid].text = data;
- this.socket.send(JSON.stringify([0, data]));
- me.sendChat(data);
- };
- client.connect = function() {
- this.timeout_number = 0;
- this.connect_timeout();
- me.name = me.getName();
- if(me.socket !== null && me.socket !== void(0)) {
- me.socket.disconnect();
- }
- me.connect(me.getRoom());
- };
- window['create_minimap'] = function(c, g) {
- console.log("Spoofing data:", c, " And this array:", g);
- var f = document.createElement("canvas"),
- d = f.getContext("2d");
- f.width = 200 * c;
- f.height = 200 * c;
- f.id = "minimap";
- d.translate(12 * c, 8 * c);
- d.fillStyle = g[9];
- d.fillRect(-7, 0, f.width - 10, f.height - 18);
- d.fillStyle = g[0];
- d.fillRect(0, 0, f.width - 25, f.height - 25);
- create_minimap_object(d, c, g[1], "p", 5, -1);
- create_minimap_object(d, c, g[2], "s", 3, 2, 2);
- create_minimap_object(d, c, g[3], "s", 4, 1, 1);
- create_minimap_object(d, c, g[4], "s", 5, 0, 0);
- create_minimap_object(d, c, g[5], "t", 3, 5, 4);
- create_minimap_object(d, c, g[6], "t", 4, 3,
- 2);
- create_minimap_object(d, c, g[7], "t", 4, 1, 0);
- create_minimap_object(d, c, g[8], "b", 4, 3, 2);
- create_minimap_object(d, c, g[9], "b", 4, 1, 0);
- create_minimap_object(d, c, g[10], "g", 3, 2, 2);
- create_minimap_object(d, c, g[11], "g", 4, 1, 1);
- create_minimap_object(d, c, g[12], "g", 5, 0, 0);
- create_minimap_object(d, c, g[13], "d", 3, 2, 2);
- create_minimap_object(d, c, g[14], "d", 4, 1, 1);
- create_minimap_object(d, c, g[15], "d", 5, 0, 0);
- d.translate(-7, -2);
- round_rect(d, 0, 0, f.width - 9, f.height - 14, 10);
- d.lineWidth = 5;
- d.strokeStyle = g[16];
- d.stroke();
- };
- me.client = client;
- callback();
- } catch(e) {
- console.error("Kurwa error : ", e)
- }
- },
- isReady(callback) {
- var me = this;
- if(window.client && window.Client && window.game && window.world && window.user) {
- callback();
- return true;
- } else {
- return false;
- }
- },
- inject(data) {
- var link = document.createElement("link");
- link.href = data;
- link.type = "text/css";
- link.rel = "stylesheet";
- document.getElementsByTagName("head")[0].appendChild(link);
- console.log("%c Injection Success!", "background: #000000; color: yellow;");
- }
- }
- setTimeout(function() {
- var app = new window.l3();
- app.isReady(function() {
- console.log("Before:", create_minimap);
- console.log("%c Game is ready! Im working.... okay? ", "background: #000000; color: yellow;");
- app.inject("https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css");
- app.override(window.client, function() {
- console.log("%c Override Success!", "background: #000000; color: yellow;");
- });
- console.log("Before:", create_minimap);
- app.handlebinds();
- });
- }, 2000);