Neptune Macros (ALL JS!!)

Currently, A good Sploop.io Script to be in Greasyfork!

  1. // ==UserScript==
  2. // @name Neptune Macros (ALL JS!!)
  3. // @namespace http://aslxcoder.glitch.me/
  4. // @version V1.1
  5. // @description Currently, A good Sploop.io Script to be in Greasyfork!
  6. // @author naggets
  7. // @license MIT
  8. // @match https://sploop.io/*
  9. // @require http://code.jquery.com/jquery-3.3.1.min.js
  10. // @require https://code.jquery.com/ui/1.12.0/jquery-ui.min.js
  11. // @icon https://www.google.com/s2/favicons?sz=64&domain=sploop.io
  12. // @grant none
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. 'use strict';
  17. document.querySelector("link[rel='icon']").href = "https://i.imgur.com/ytddtwh.png";
  18. // currently, all of these settings don't work or aren't being used, I will update
  19.  
  20. var ping = true;
  21. const traps = true;
  22. const heal = true;
  23. const spike = true;
  24. let fps = {
  25. old: Date.now(),
  26. count: 0,
  27. result: null,
  28. updateTime: 750
  29. }
  30. function updateFPS() {
  31. let newDate = Date.now(),
  32. lastDate = newDate - fps.old
  33. if (lastDate < fps.updateTime) ++fps.count
  34. else {
  35. fps.result = Math.round(fps.count / (lastDate / 1000))
  36. if ($('#ping').css('display') == 'inline-flex') $("#ping > i").text('Ping: ' + (window.pingTime != undefined ? window.pingTime : 0))
  37. $("#fps > i").text('Fps: ' + fps.result)
  38. fps.count = 0
  39. fps.old = newDate
  40. }
  41. requestAnimationFrame(updateFPS)
  42. }
  43. requestAnimationFrame(updateFPS)
  44.  
  45.  
  46. let modmenuthing = `
  47. <div class="modalert">
  48. <span class="fp" style="width: calc(100% - 10px); height: 40px; padding: 0;"><i>Using : <h2 class="rainbow">Neptune v1</h2></i></span><br>
  49. <span class="fp" id="fps" style="margin-left: 75px; width: 135px; height: 40px; padding: 0;"><i>Fps: 0</i></span>
  50. </div>
  51.  
  52. <style>
  53. .modsettings {
  54. position: absolute;
  55. bottom: 50px;
  56. right: 20px;
  57. }
  58. .modalert {
  59. position: absolute;
  60. top: 20px;
  61. left: 20px;
  62. }
  63. .rainbow{
  64. animation: rainbow 5.5s linear;
  65. animation-iteration-count: infinite;
  66. }
  67. @keyframes rainbow-bg{
  68. 100%,0%{
  69. background-color: rgb(255,0,0);
  70. }
  71. 8%{
  72. background-color: rgb(255,127,0);
  73. }
  74. 16%{
  75. background-color: rgb(255,255,0);
  76. }
  77. 25%{
  78. background-color: rgb(127,255,0);
  79. }
  80. 33%{
  81. background-color: rgb(0,255,0);
  82. }
  83. 41%{
  84. background-color: rgb(0,255,127);
  85. }
  86. 50%{
  87. background-color: rgb(0,255,255);
  88. }
  89. 58%{
  90. background-color: rgb(0,127,255);
  91. }
  92. 66%{
  93. background-color: rgb(0,0,255);
  94. }
  95. 75%{
  96. background-color: rgb(127,0,255);
  97. }
  98. 83%{
  99. background-color: rgb(255,0,255);
  100. }
  101. 91%{
  102. background-color: rgb(255,0,127);
  103. }
  104. }
  105.  
  106. @keyframes rainbow{
  107. 100%,0%{
  108. color: rgb(255,0,0);
  109. }
  110. 8%{
  111. color: rgb(255,127,0);
  112. }
  113. 16%{
  114. color: rgb(255,255,0);
  115. }
  116. 25%{
  117. color: rgb(127,255,0);
  118. }
  119. 33%{
  120. color: rgb(0,255,0);
  121. }
  122. 41%{
  123. color: rgb(0,255,127);
  124. }
  125. 50%{
  126. color: rgb(0,255,255);
  127. }
  128. 58%{
  129. color: rgb(0,127,255);
  130. }
  131. 66%{
  132. color: rgb(0,0,255);
  133. }
  134. 75%{
  135. color: rgb(127,0,255);
  136. }
  137. 83%{
  138. color: rgb(255,0,255);
  139. }
  140. 91%{
  141. color: rgb(255,0,127);
  142. }
  143. }
  144. .fp {
  145. position: relative;
  146. display: inline-flex;
  147. justify-content: center;
  148. align-items: center;
  149. padding-bottom: 8px;
  150. padding-right: 2px;
  151. border-radius: 10px;
  152. margin: 5px 5px;
  153. width: 60px;
  154. height: 60px;
  155. background: linear-gradient(180deg, rgba(41, 41, 41, 0.69), rgba(33, 33, 33, 0.54));
  156. box-shadow: inset -8px 0 8px rgba(0,0,0,.15), inset 0px -8px 8px rgba(0,0,0,.25), 0 0 0 2px rgba(0,0,0,.75), 10px 20px 25px rgba(0, 0, 0, .4);
  157. overflow: hidden;
  158. }
  159. </style>
  160. `
  161. $('body').append(modmenuthing)
  162.  
  163. let SploopStyle = `
  164. <style>
  165. .chat-container input {
  166. color: yellow;
  167. text-align: center;
  168. background-color: #000000ba;
  169. box-shadow: none;
  170. width: 315px;
  171. }
  172. #play:hover {
  173. box-shadow: none;
  174. }
  175. #play {
  176. box-shadow: none;
  177. }
  178. .background-img-play {
  179. display: none;
  180. }
  181. .game-mode {
  182. box-shadow: none;
  183. }
  184. .dark-blue-button-3-active:hover {
  185. box-shadow: none;
  186. }
  187. .dark-blue-button:hover {
  188. box-shadow: none;
  189. }
  190. #nickname {
  191. background: #484c52;
  192. text-align: center;
  193. color: #9ab3ff;
  194. width: 340px;
  195. }
  196. .input {
  197. box-shadow: none;
  198. color: white;
  199. }
  200. .menu .content .menu-item {
  201. }
  202. #main-content {
  203. width: auto;
  204. }
  205. #hat-menu {
  206. }
  207. #hat_menu_content {
  208. padding: initial;
  209. }
  210. .menu .content .menu-item {
  211. border: none !important;
  212. }
  213. #server-select {
  214. width: 340px;
  215. }q
  216. #game-middle-main {
  217. height: 310px;
  218. }
  219. #homepage {
  220. background-image: url('') !important;
  221. }
  222. </style>
  223. `;
  224. $("body").append(SploopStyle)
  225.  
  226. let maingui = `
  227. <div class="modsettings" id="mod">
  228. <input type="checkbox" id="hp2" class="ui-checkbox" onclick="hp()" checked> <label class="text">Show hitboxes</label>
  229.  
  230.  
  231. </div>
  232. </body>
  233. <style>
  234.  
  235. .text {
  236. font-size: x-large
  237.  
  238. }
  239. .modsettings {
  240. position: relative;
  241. top: 400px;
  242. left: 1000px;
  243. border-radius: 25px;
  244. width: 250px;
  245. height: 290px;
  246. background: #2919b6;
  247. border: 6px solid rgb(16, 29, 84);
  248. }
  249. /* checkbox settings 👇 */
  250.  
  251. .ui-checkbox {
  252. --primary-color: #1677ff;
  253. --secondary-color: #fff;
  254. --primary-hover-color: #4096ff;
  255. /* checkbox */
  256. --checkbox-diameter: 20px;
  257. --checkbox-border-radius: 5px;
  258. --checkbox-border-color: #d9d9d9;
  259. --checkbox-border-width: 1px;
  260. --checkbox-border-style: solid;
  261. /* checkmark */
  262. --checkmark-size: 1.2;
  263. }
  264.  
  265. .ui-checkbox,
  266. .ui-checkbox *,
  267. .ui-checkbox *::before,
  268. .ui-checkbox *::after {
  269. -webkit-box-sizing: border-box;
  270. box-sizing: border-box;
  271. }
  272.  
  273. .ui-checkbox {
  274. -webkit-appearance: none;
  275. -moz-appearance: none;
  276. appearance: none;
  277. width: var(--checkbox-diameter);
  278. height: var(--checkbox-diameter);
  279. border-radius: var(--checkbox-border-radius);
  280. background: var(--secondary-color);
  281. border: var(--checkbox-border-width) var(--checkbox-border-style) var(--checkbox-border-color);
  282. -webkit-transition: all 0.3s;
  283. -o-transition: all 0.3s;
  284. transition: all 0.3s;
  285. cursor: pointer;
  286. position: relative;
  287. }
  288.  
  289. .ui-checkbox::after {
  290. content: "";
  291. position: absolute;
  292. top: 0;
  293. left: 0;
  294. right: 0;
  295. bottom: 0;
  296. -webkit-box-shadow: 0 0 0 calc(var(--checkbox-diameter) / 2.5) var(--primary-color);
  297. box-shadow: 0 0 0 calc(var(--checkbox-diameter) / 2.5) var(--primary-color);
  298. border-radius: inherit;
  299. opacity: 0;
  300. -webkit-transition: all 0.5s cubic-bezier(0.12, 0.4, 0.29, 1.46);
  301. -o-transition: all 0.5s cubic-bezier(0.12, 0.4, 0.29, 1.46);
  302. transition: all 0.5s cubic-bezier(0.12, 0.4, 0.29, 1.46);
  303. }
  304.  
  305. .ui-checkbox::before {
  306. top: 40%;
  307. left: 50%;
  308. content: "";
  309. position: absolute;
  310. width: 4px;
  311. height: 7px;
  312. border-right: 2px solid var(--secondary-color);
  313. border-bottom: 2px solid var(--secondary-color);
  314. -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(0);
  315. -ms-transform: translate(-50%, -50%) rotate(45deg) scale(0);
  316. transform: translate(-50%, -50%) rotate(45deg) scale(0);
  317. opacity: 0;
  318. -webkit-transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s;
  319. -o-transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s;
  320. transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),opacity 0.1s;
  321. }
  322.  
  323. /* actions */
  324.  
  325. .ui-checkbox:hover {
  326. border-color: var(--primary-color);
  327. }
  328.  
  329. .ui-checkbox:checked {
  330. background: var(--primary-color);
  331. border-color: transparent;
  332. }
  333.  
  334. .ui-checkbox:checked::before {
  335. opacity: 1;
  336. -webkit-transform: translate(-50%, -50%) rotate(45deg) scale(var(--checkmark-size));
  337. -ms-transform: translate(-50%, -50%) rotate(45deg) scale(var(--checkmark-size));
  338. transform: translate(-50%, -50%) rotate(45deg) scale(var(--checkmark-size));
  339. -webkit-transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;
  340. -o-transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;
  341. transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;
  342. }
  343.  
  344. .ui-checkbox:active:not(:checked)::after {
  345. -webkit-transition: none;
  346. -o-transition: none;
  347. -webkit-box-shadow: none;
  348. box-shadow: none;
  349. transition: none;
  350. opacity: 1;
  351. }
  352.  
  353. </style>
  354. `
  355. //$('body').append(maingui) // currently a WIP, still making this
  356.  
  357. const enhanceFillRect = function (fill, cColor) {
  358. return function (x, y, width, height) {
  359. if (this.fillStyle === "#a4cc4f") {
  360. this.fillStyle = cColor;
  361. }
  362. fill.call(this, x, y, width, height);
  363. };
  364. };
  365.  
  366. const customColor = "#397bed";
  367. const FillRect = CanvasRenderingContext2D.prototype.fillRect;
  368.  
  369. CanvasRenderingContext2D.prototype.fillRect = enhanceFillRect(FillRect, customColor);
  370.  
  371. CanvasRenderingContext2D.prototype.fillText = new Proxy(CanvasRenderingContext2D.prototype.fillText, {
  372. apply: function (target, thisArg, argumentsList) {
  373. thisArg.lineWidth = 8;
  374. thisArg.strokeStyle = "black";
  375. thisArg.strokeText.apply(thisArg, argumentsList);
  376. return target.apply(thisArg, argumentsList);
  377. }
  378. });
  379.  
  380. let hp2 = document.getElementById('hp2');
  381. var text = document.getElementById("trueorfalse");
  382.  
  383. function blur() {
  384. const homepage = document.getElementById("homepage");
  385. homepage.style.display = "flex";
  386. // -/ | \- Set a fixed blur value -/ | \-
  387. const blurValue = 1.5;
  388. homepage.style.backdropFilter = `blur(${blurValue}px)`;
  389. }
  390. setTimeout(blur, 2000);
  391. const grid = document.querySelector('#grid-toggle');
  392. const pingshw = document.querySelector('#display-ping-toggle');
  393. grid.click();
  394. pingshw.click();
  395.  
  396.  
  397. function togglevisui() {
  398. var GUI = document.getElementById('mod');
  399. if (GUI.style.display == "none") {
  400. GUI.style.display = "block";
  401. } else {
  402. GUI.style.display = "none";
  403. }
  404. }
  405.  
  406.  
  407. addEventListener("keydown", function(event){
  408. //do something on keydown
  409. if(event.keyCode==27){
  410. togglevisui()
  411. //enter key was pressed
  412. }
  413. });
  414.  
  415. // Your code here...
  416. function createKeyboardEvent(type, code) {
  417. return new Proxy(new KeyboardEvent(type), {
  418. get(target, prop) {
  419. if (prop === "isTrusted") return true;
  420. if (prop === "target") return document.body;
  421. if (prop === "code") return code;
  422. return target[prop];
  423. }
  424. })
  425. }
  426. function keypress(code) {
  427. const keydown = createKeyboardEvent("keydown", code);
  428. const keyup = createKeyboardEvent("keyup", code);
  429. window.onkeydown(keydown);
  430. window.onkeyup(keyup);
  431. }
  432. function sleep(ms) {
  433. return new Promise(resolve => setTimeout(resolve, ms));
  434. }
  435. document.addEventListener(
  436. "keydown",
  437. function(event) {
  438. const melee = "1"
  439. const autoeat = "q"
  440. const mills = "6"
  441. const click = "Space"
  442. if (event.key === 'q') {
  443. setTimeout(() => {
  444.  
  445. keypress(autoeat);
  446. keypress(click);
  447. }, "5")
  448. if (event.repeat) {
  449. setTimeout(() => {
  450.  
  451. keypress(autoeat);
  452.  
  453. }, "5")
  454. };
  455. };
  456.  
  457. //PLACE A TRAP
  458. if (event.key === 'f') {
  459. setTimeout(() => {
  460.  
  461. keypress(click);
  462. }, "5")};
  463. if (event.key === 'v') {
  464. setTimeout(() => {
  465.  
  466. keypress(click);
  467. }, "5")};
  468. if (event.key === 'r') {
  469. setTimeout(() => {
  470.  
  471. keypress(click);
  472. }, "5")};
  473. if (event.key === '6') {
  474. keypress(mills)
  475. setTimeout(() => {
  476.  
  477. keypress(click);
  478. }, "5")};
  479. });
  480. })();
  481.  
  482.  
  483.  
  484.