Ships 3D Hackss

Best Ships3D Hack (I think)

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name          Ships 3D Hackss
// @description   Best Ships3D Hack (I think)
// @author        Jhonny-The
// @match         *://yp3d.com/ships3d/*
// @namespace     http://tampermonkey.net/
// @version       1.1
// @icon          https://i.imgur.com/11sYWVM.png
// @grant         none
// @license       MIT
// ==/UserScript==



(function() {
    'use strict';



    //PAGE 1
document.addEventListener("keydown", function(e) {
  if (e.key == '\\') {
    let d = document.querySelector('#menu');
    if (d.style.display == 'none') {
      d.style.display = "block";
    } else {
      d.style.display = "none";
    }
  }
});
window.API = {
  THREE: window.THREE,
  scene: null,
  gameClient: {},
  AmbientLight: null,
  DirectionalLight: null,
  ocean: null
};
delete window.THREE;
var done = false;
WeakMap.prototype.set = new Proxy(WeakMap.prototype.set, {
  apply(target, thisArgs, [object]) {
    if (object && typeof object === 'object' && object.type !==
'BufferGeometry' && object.type !== 'PlaneGeometry') {
      if (object.type == 'Scene') {
        API.scene = object;
        for (let index = 0; index < API.scene.children.length; index++) {
          if (API.scene.children[index].name === 'ocean') {
            API.ocean = API.scene.children[index];
          }
          if (API.scene.children[index].type === 'DirectionalLight') {
            API.DirectionalLight = API.scene.children[index];
          }
          if (API.scene.children[index].type === 'AmbientLight') {
            API.AmbientLight = API.scene.children[index];
          }
        }
      }
    }
    return Reflect.apply(...arguments);
  }
});



//PAGE 2
function ShipProxy(obj, propName, callback) {
  obj[propName] = new Proxy(obj[propName], {
    apply: function(target, thisArg, argumentsList) {
      callback(...argumentsList);
      return Reflect.apply(target, thisArg, argumentsList);
    }
  });
}
ShipProxy(Object, "defineProperty", (...object) => {
  if (object.length === 3 && object[1] === "getCollectionLengths" && !
API.gameClient.hasOwnProperty('gameClient')) {
    API.gameClient = object[0];
  }
});
window.ShipsAPI = API;
let inHTML = `
<div style="z-index:999999; color:white; position:fixed; top:20px; left:20px;
padding:20px; height:auto; width:230px; background:rgba(0,0,0,0.9); border-
radius:8px; font-family:sans-serif;" id="menu">
  <h2 style="color:#4CAF50; text-align:center; margin-bottom:10px;
  font-size: 24px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);" >Kraken</h2>
  <ul style="display:flex; flex-direction:column; align-items:left; min-
height:auto; height:auto; overflow-y:auto; list-style:none; padding:0;">
  <li id="p-reset" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Teleport-Spawn</li>
  <li id="fly" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Fly</li>
  <li id="speed" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Speed (doesn't work)</li>
  <li id="fast-swim" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Fast-Swim(Doesn't work)</li>
  <li id="low-gravity" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Low-Gravity</li>
  <li id="high-jump" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">High-Jump</li>
  <li id="float" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Float</li>
  <li id="dolphin" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Dolphin-Mode</li>
  <li id="highlight-weapons" style="background-color:#222; margin-bottom:5px;
border-radius:5px; padding:8px 10px;">Highlights</li>
  <li id="spectate" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Spectate</li>
  <li id="hide-ui" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Hide-UI</li>
  <li id="water-visibility" style="background-color:#222; margin-bottom:5px; border-
radius:5px; padding:8px 10px;">Invisible Water</li>
  </ul>
</div>
`;
let elem = document.createElement("div");
elem.innerHTML = inHTML;
document.body.appendChild(elem);
function Dolphin() {
  alert("Toggle: Press Shift to enable/disable Ground-Pass People can shoot you trough the ground, but you can do it too.");
  let originalMathSqrt = Math.sqrt;
  let dolphinActive = false;



  document.addEventListener('keydown', function(event) {
    if (event.key === 'Shift') {
      dolphinActive = !dolphinActive;
      const dolphinButton = document.querySelector("#dolphin");
      if (dolphinActive) {
        Math.sqrt = function(value) {
          return 1;
        };
        if (dolphinButton) {
          dolphinButton.style.backgroundColor = 'green';
        }
      } else {
        Math.sqrt = originalMathSqrt;
        if (dolphinButton) {
          dolphinButton.style.backgroundColor = '#222';
        }
      }
    }
  });
}
document.querySelector("#dolphin").addEventListener("click", Dolphin);
function HighlightWeapons() {
  const wireFrame = true;
  const original_push = Array.prototype.push;
  Array.prototype.push = function(...args) {
  original_push.apply(this, args);
  if (args[0] && args[0].material && args[0].type == "SkinnedMesh") {
    if (wireFrame) {
      args[0].material.wireframe = true;
    }
    args[0].material.alphaTest = -1;
    args[0].material.wireframeLinewidth = 0.1;
    args[0].material.depthTest = true;
    args[0].material.fog = false;
    args[0].material.color.r = 255;
    args[0].material.color.g = 255;
    args[0].material.color.b = 255;
  }
  };
}
document.querySelector("#highlight-weapons").addEventListener("click",
HighlightWeapons);
function HidePlayerNames() {
  let roundOverride = true;
  document.addEventListener("keyup", function(event) {
  if (event.key === "l") {
    roundOverride = !roundOverride;
    if (roundOverride) {
      Math.round = function(value) {
        return 1;
      };
    } else
Math.round = Math._round;
  }
  }
);
  if (roundOverride) {
    Math._round = Math.round;
    Math.round = function(value) {
      return 1;
    };
  }
}
document.querySelector("#hide-ui").addEventListener("click", HidePlayerNames);
window.intersectingPartialStateMsg = false;
window.toggleIntersectingPartialStateMsg = function() {
  intersectingPartialStateMsg = !intersectingPartialStateMsg;
};
const h = {
  apply: function(target, thisArgs, argumentsList) {
  if (argumentsList[0].t === 'ms' && intersectingPartialStateMsg) {
    argumentsList[0] = new Object;
  };
  return target.apply(thisArgs, argumentsList)
  }
};
function Speed() {
  const button = document.querySelector("#speed");
  const speedEnabled = window.ShipsAPI.gameClient.gameClient.sailorMe.maxSpeed === 4;
  toggleIntersectingPartialStateMsg();
  ShipsAPI.gameClient.gameClient.gameSocket.sendMessage = new
Proxy(API.gameClient.gameClient.gameSocket.sendMessage, h);
  window.ShipsAPI.gameClient.gameClient.sailorMe.maxSpeed = speedEnabled ? 3 : 4;
  button.style.backgroundColor = speedEnabled ? '#222' : 'green';
}
document.querySelector("#speed").addEventListener("click", Speed);
function Float() {
  const button = document.querySelector("#float");
  const floatEnabled = window.ShipsAPI.gameClient.gameClient.sailorMe.gravity === 0;
  window.ShipsAPI.gameClient.gameClient.sailorMe.gravity = floatEnabled ? 4 : 0;
  button.style.backgroundColor = floatEnabled ? '#222' : 'green';
}
document.querySelector("#float").addEventListener("click", Float);
function FastSwim() {
  const button = document.querySelector("#fast-swim");
  const fastSwimEnabled = window.ShipsAPI.gameClient.gameClient.sailorMe.swimmingSpeed === 10;
  window.ShipsAPI.gameClient.gameClient.sailorMe.swimmingSpeed = fastSwimEnabled ? 5 : 10;
  button.style.backgroundColor = fastSwimEnabled ? '#222' : 'green';
}
document.querySelector("#fast-swim").addEventListener("click", FastSwim);
function HighJump() {
  const button = document.querySelector("#high-jump");
  const highJumpEnabled = window.ShipsAPI.gameClient.gameClient.sailorMe.jumpSpeed === 20;
  window.ShipsAPI.gameClient.gameClient.sailorMe.jumpSpeed = highJumpEnabled ? 5 : 20;
  button.style.backgroundColor = highJumpEnabled ? '#222' : 'green';
}
document.querySelector("#high-jump").addEventListener("click", HighJump);
function LowGravity() {
  const button = document.querySelector("#low-gravity");
  const lowGravityEnabled = window.ShipsAPI.gameClient.gameClient.sailorMe.gravity === 1;
  window.ShipsAPI.gameClient.gameClient.sailorMe.gravity = lowGravityEnabled ? 4 : 1;
  button.style.backgroundColor = lowGravityEnabled ? '#222' : 'green';
}
document.querySelector("#low-gravity").addEventListener("click", LowGravity);
function Spectate() {
  const button = document.querySelector("#spectate");
  window.ShipsAPI.gameClient.gameClient.spectator.isOn = !window.ShipsAPI.gameClient.gameClient.spectator.isOn;
  button.style.backgroundColor = window.ShipsAPI.gameClient.gameClient.spectator.isOn ? 'green' : '#222';
}
document.querySelector("#spectate").addEventListener("click", Spectate);
function PReset() {
  const button = document.querySelector("#p-reset");
  // PReset is a one-time action, so we'll just briefly highlight it on click
  button.style.backgroundColor = 'green';
  setTimeout(() => {
    button.style.backgroundColor = '#222';
  }, 500); // Revert color after 0.5 seconds
}
document.querySelector("#p-reset").addEventListener("click", PReset);
function Fly() {
  const button = document.querySelector("#fly");
  let flyEnabled = window.ShipsAPI.gameClient.gameClient.sailorMe.gravity === -4;
  window.onkeydown = (e) => {
    if (e.code === 'Space') {
      flyEnabled = !flyEnabled;
      window.ShipsAPI.gameClient.gameClient.sailorMe.gravity = flyEnabled ? -4 : 4;
      button.style.backgroundColor = flyEnabled ? 'green' : '#222';
    }
  };
  // Set initial color based on the initial state (off)
  button.style.backgroundColor = flyEnabled ? 'green' : '#222';
}
document.querySelector("#fly").addEventListener("click", Fly);
function ToggleWaterVisibility() {
  if (window.ShipsAPI && window.ShipsAPI.ocean) {
    window.ShipsAPI.ocean.visible = !window.ShipsAPI.ocean.visible;
    const waterButton = document.querySelector("#water-visibility");
    if (waterButton) {
      waterButton.style.backgroundColor = window.ShipsAPI.ocean.visible ? '#222' : 'green';
    }
  } else {
    console.log("Water object not found yet.");
  }
}
document.querySelector("#water-visibility").addEventListener("click", ToggleWaterVisibility);



})();