- // ==UserScript==
- // @name Deep Space Client
- // @namespace http://tampermonkey.net/
- // @version 1.4.1
- // @description Deep Space Client for bloxd.io
- // @author GEORGECR
- // @match https://bloxd.io/*
- // @match https://bloxd.io/?utm_source=pwa
- // @match https://staging.bloxd.io/
- // @icon https://i.postimg.cc/NMG91FWH/space-BG-loco.jpg
- // @license MIT
- // @grant GM_setValue
- // @grant GM_getValue
- // ==/UserScript==
-
- (function() {
- //copyright Deep Space Client
- 'use strict';
- let crosshairvalue = GM_getValue("crosshair", "https://piskel-imgstore-b.appspot.com/img/7be1c5f3-9ad1-11ef-b170-45e28d82b1ad.gif");
- let capesvalue = GM_getValue("capes", "none");
- let CrossSize = '19';
- let colorPicker1Value = GM_getValue("colorPicker1", "#000000");
- let colorPicker2Value = GM_getValue("colorPicker2", "#FFFFFF");
-
- function modifyCape() {
- try {
- let hotbarContainer = document.querySelector(".HotBarContainer");
- if (!hotbarContainer) {
- return;
- }
-
- let values = Object.values(hotbarContainer);
- if (values.length === 0) {
- return;
- }
-
- let stateManager = values[0]?.return?.updateQueue?.lastEffect?.deps?.[2]?.noa?.ents;
- if (!stateManager) {
- return;
- }
-
- stateManager.getState(1, "cape").chooseCape(capesvalue);
- } catch (error) {
- }
- }
- setInterval(modifyCape, 1000);
-
- function fast_refresh() {
- document.title = "Bloxd.io - Deep Space Client";
- const maintext = document.querySelector('.Title.FullyFancyText');
- if (maintext) {
- maintext.style.webkitTextStroke = "0px";
- maintext.textContent = "DEEP SPACE";
- maintext.style.textShadow = "10px 5px 5px #000000";
- maintext.style.fontSize = "60px";
- }
-
- const background = document.querySelector(".SelectGameGridBackground");
- if (background) {
- background.style.backgroundImage = 'url(https://i.postimg.cc/v8rFjRWq/MAINBACKGROUND.jpg)';
- }
-
- const crosshair = document.querySelector(".CrossHair");
- if (crosshair) {
- crosshair.textContent = "";
- crosshair.style.backgroundImage = `url(${crosshairvalue})`;
- crosshair.style.backgroundRepeat = "no-repeat";
- crosshair.style.backgroundSize = "contain";
- crosshair.style.width = CrossSize + "px";
- crosshair.style.height = CrossSize + "px";
- }
-
- document.querySelectorAll(".HotBarItem").forEach(hotbar => {
- hotbar.style.borderRadius = "12px";
- hotbar.style.borderColor = colorPicker1Value;
- hotbar.style.backgroundColor = "transparent";
- hotbar.style.boxShadow = "none";
- hotbar.style.outline = "transparent";
- });
-
- document.querySelectorAll(".SelectedItem").forEach(slot => {
- slot.style.backgroundColor = "transparent";
- slot.style.boxShadow = "none";
- slot.style.borderRadius = "15px";
- slot.style.borderColor = colorPicker2Value;
- slot.style.outline = "transparent";
- });
-
- document.querySelectorAll('.LoadingOverlayRight').forEach(EnterDiv => {
- EnterDiv.style.transform = 'translate(-20% , 25%)';
- });
-
- document.querySelectorAll('.Inventory').forEach(BloxdUIBoxes => {
- BloxdUIBoxes.style.backgroundColor = 'transparent';
- BloxdUIBoxes.style.border = "3px solid black";
- BloxdUIBoxes.style.boxShadow = "none";
- BloxdUIBoxes.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
- BloxdUIBoxes.style.backdropFilter = `blur(${blur}px)`;
- });
-
-
- document.querySelectorAll('.TitleContainer').forEach(TOP => {
- TOP.style.height = '70px';
- TOP.style.width = '50%';
- });
- document.querySelectorAll('.HomeHeaderRight').forEach(optionsTR => {
- optionsTR.style.backgroundColor = "rgba(136, 50, 64,0.45)";
- });
-
- document.querySelectorAll('.CreativeItemSlotsSearch').forEach(searchbar => {
- searchbar.style.color = 'white';
- searchbar.style.textShadow = "none";
- searchbar.style.backgroundColor = 'transparent';
- searchbar.style.border = "2px solid black";
- searchbar.style.boxShadow = "none";
- searchbar.style.borderRadius = "0px";
- });
-
- }
- setInterval(fast_refresh, 70 );
-
- const UI_aesthetics = () => {
-
- ['LogoContainer', 'cube' , 'HomeScreenBottomLeft'].forEach(className => {
- document.querySelectorAll('.' + className).forEach(el => el.remove());
- });
-
- ['GameAdsBanner', 'HomeBannerInner' , 'ShopBannerDiv' , 'SettingsAdOuter' , 'InventoryAdInner' , 'RespawnLeaderboardBannerDivInner' , 'RespawnSideSquareBannerDiv' , 'LoadingOverlayLeft ' , 'LoadingOverlayRightAdBannerContainer' , 'LoadingOverlayDividerContainer '].forEach(className => {
- document.querySelectorAll('.' + className).forEach(ads => {
- ads.style.opacity = '0';
- ads.style.transform = 'translateX(100%)';
- ads.style.height = '2px';
- ads.style.widght = '2px';
- });
- });
-
- document.querySelectorAll('.PlayerNamePreview').forEach(optionsTL => {
- optionsTL.style.backgroundColor = "rgba(136, 50, 64 ,0.45)";
- optionsTL.style.color = "white";
- optionsTL.style.textShadow = "none";
- });
-
-
- document.querySelectorAll('.SocialBarInner').forEach(socialbox => {
- socialbox.style.backgroundColor = "rgba(0,0,0,1)";
- socialbox.style.opacity = '1';
- });
-
- document.querySelectorAll('.InvenItem').forEach(invenItem => {
- invenItem.style.backgroundColor = 'transparent';
- invenItem.style.border ="3px solid black";
- invenItem.style.borderRadius = "0px";
- });
- document.querySelectorAll('.InvenItem[data-inven-idx="46"], .InvenItem[data-inven-idx="47"], .InvenItem[data-inven-idx="48"], .InvenItem[data-inven-idx="49"], .InvenItem[data-inven-idx="50"]').forEach(ARMOR => {
- ARMOR.style.backgroundColor = "transparent";
- ARMOR.style.boxShadow = "none";
- ARMOR.style.borderColor = "transparent";
- ARMOR.style.outline = "transparent";
- });
- document.querySelectorAll('.InvenItem[data-inven-idx="46"] .InvenItemUnfilled').forEach(armor => {
- armor.style.backgroundImage = 'url(https://piskel-imgstore-b.appspot.com/img/f7c20a66-3491-11ef-911f-9f3fc6109f85.gif)';
- });
- document.querySelectorAll('.InvenItem[data-inven-idx="47"] .InvenItemUnfilled').forEach(armor => {
- armor.style.backgroundImage = 'url(https://piskel-imgstore-b.appspot.com/img/bb5b78a8-3498-11ef-bcaf-9f3fc6109f85.gif)';
- });
- document.querySelectorAll('.InvenItem[data-inven-idx="48"] .InvenItemUnfilled').forEach(armor => {
- armor.style.backgroundImage = 'url(https://piskel-imgstore-b.appspot.com/img/ab8a4be8-3491-11ef-8f57-9f3fc6109f85.gif)';
- });
- document.querySelectorAll('.InvenItem[data-inven-idx="49"] .InvenItemUnfilled').forEach(armor => {
- armor.style.backgroundImage = 'url(https://piskel-imgstore-b.appspot.com/img/f1d6cc85-3493-11ef-a098-9f3fc6109f85.gif)';
- });
- document.querySelectorAll('.InvenItem[data-inven-idx="50"] .InvenItemUnfilled').forEach(armor => {
- armor.style.backgroundImage = 'url(https://piskel-imgstore-b.appspot.com/img/e3868a0c-d01f-11ef-b884-578249ac6cf7.gif)';
- });
-
- document.querySelectorAll('.AvailableGame').forEach(item => {
- item.style.border = "none";
- item.style.borderRadius = "0px";
- item.style.boxShadow = "0px 10px 20px rgba(0, 0, 0, 0.4)";
- });
-
- document.querySelectorAll('.AvailableGameTextInner').forEach(name => {
- name.style.textShadow = "none";
- });
- document.querySelectorAll('.AvailableGameTextWrapperBackground').forEach(removebox => {
- removebox.style.opacity= "0";
- });
-
-
- };
-
- document.addEventListener('DOMContentLoaded', UI_aesthetics);
- setInterval(UI_aesthetics, 1000);
- const Mods = [
- { id: 1, name: 'ARMOR VIEW', backgroundImage: 'url(https://i.postimg.cc/rpyVVM4G/Armor-View.png)' },
- { id: 2, name: 'TOGGLE SPRINT', backgroundImage: 'url(https://i.postimg.cc/xd9GyxJj/Toggle-Sprint.png)' },
- { id: 3, name: 'CROSSHAIR', backgroundImage: 'url(https://i.postimg.cc/FRy45KFV/Crosshairs.png)' },
- { id: 4, name: 'HANDITEM VIEW', backgroundImage: 'url(https://i.postimg.cc/9fy0xC9y/Hand-Item-View.png)' },
- { id: 5, name: 'CPS COUNTER', backgroundImage: 'url(https://i.postimg.cc/X7W8xYyk/Cps-Counter.png)' },
- { id: 6, name: 'PING COUNTER', backgroundImage: 'url(https://i.postimg.cc/HnrV959k/Ping-Counter.png)' },
- { id: 7, name: 'CINEMATIC MODE', backgroundImage: 'url(https://i.postimg.cc/g228xwfr/Cinematic-Mode.png)' },
- { id: 8, name: 'KEYSTROKES', backgroundImage: 'url(https://i.postimg.cc/Fsh6zZGv/Keystrokes.png)' },
- { id: 9, name: 'HOTBAR', backgroundImage: 'url(https://i.postimg.cc/c4VdPP0h/Hotbar.png)' },
- { id: 10, name: 'RESOLUTION', backgroundImage: 'url(https://i.postimg.cc/cJ11cwsG/Resolution-Adjuster.png)' }
- ];
-
- const createhud = (id, zIndex) => {
- const hud = document.createElement('div');
- hud.id = id;
- hud.style.position = 'fixed';
- hud.style.left = '0px';
- hud.style.top = '0px';
- hud.style.backgroundColor = 'transparent';
- hud.style.width = '100%';
- hud.style.height = '100%';
- hud.style.display = 'block';
- hud.style.zIndex = zIndex;
-
- hud.style.pointerEvents = 'none';
-
- hud.addEventListener('mouseover', (event) => {
- if (event.target !== hud) {
- event.target.style.pointerEvents = 'auto';
- }
- });
-
- const observer = new MutationObserver((mutations) => {
- mutations.forEach((mutation) => {
- mutation.addedNodes.forEach((node) => {
- if (node.nodeType === 1) {
- node.style.pointerEvents = 'auto';
- }
- });
- });
- });
-
- observer.observe(hud, { childList: true, subtree: true });
-
- document.body.appendChild(hud);
- return hud;
- };
- const mainHud = createhud('toggleHud', '500');
- const createBox = (id, zIndex) => {
- const box = document.createElement('div');
- box.id = id;
- box.style.position = 'absolute';
- box.style.top = '50%';
- box.style.left = '50%';
- box.style.transform = 'translate(-50%, -50%)';
- box.style.width = '820px';
- box.style.height = '600px';
- box.style.backgroundColor = 'rgb(40, 40, 40)';
- box.style.color = 'white';
- box.style.borderRadius = '20px';
- box.style.display = 'none';
- box.style.padding = '20px';
- box.style.overflowY = 'auto';
- box.style.zIndex = zIndex;
-
- mainHud.appendChild(box);
-
- return box;
- };
- const createmenu = (id, zIndex) => {
- const menu = document.createElement('div');
- menu.id = id;
- menu.style.position = 'fixed';
- menu.style.top = '50%';
- menu.style.left = '50%';
- menu.style.transform = 'translate(-50%, -50%)';
- menu.style.width = '500px';
- menu.style.height = '295px';
- menu.style.color = 'white';
- menu.style.display = 'none';
- menu.style.justifyContent = 'flex-end';
- menu.style.flexDirection = 'column';
- menu.style.padding = '20px';
- menu.style.alignItems = 'center';
- menu.style.backgroundImage = 'url(https://i.postimg.cc/K8kJ6jnq/DSLOLGO.png)';
- menu.style.backgroundRepeat = "no-repeat";
- menu.style.backgroundSize = "400px 230px";
- menu.style.backgroundPosition = 'center calc(50% - 20px)';
- menu.style.zIndex = zIndex;
- mainHud.appendChild(menu);
- return menu;
- };
- const mainMenu = createmenu('toggleMenu', '1000');
-
- const mainBox = createBox('toggleBox', '1001');
-
- const settingsModal = createBox('settingsModal', '1002');
- settingsModal.style.backgroundColor = 'rgb(40, 40, 40)';
-
- const crosshairSettingsModal = createBox('crosshairSettingsModal', '1002');
- crosshairSettingsModal.style.backgroundColor = 'rgb(40, 40, 40)';
-
- const capeModal = createBox('hotbarSettingsModal', '1002');
- capeModal.style.backgroundColor = 'transparent';
- capeModal.style.justifyContent = 'center';
- capeModal.style.alignItems = 'center';
-
- const hotbarSettingsModal = createBox('hotbarSettingsModal', '1002');
- hotbarSettingsModal.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
- hotbarSettingsModal.style.backdropFilter = 'blur(5px)';
- hotbarSettingsModal.style.justifyContent = 'center';
- hotbarSettingsModal.style.alignItems = 'center';
-
- const toggleshiftSettingsModal = createBox('toggleshiftSettingsModal', '1002');
- toggleshiftSettingsModal.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
- toggleshiftSettingsModal.style.backdropFilter = 'blur(5px)';
- toggleshiftSettingsModal.style.justifyContent = 'center';
- toggleshiftSettingsModal.style.alignItems = 'center';
-
- const EditHud = createBox('EditHud', '1002');
- EditHud.style.backgroundColor = 'transparent';
- EditHud.style.justifyContent = 'space-between';
- EditHud.style.flexDirection = 'column';
- EditHud.style.alignItems = 'center';
-
- const resolutionSettingsModal = createBox('resolutionSettingsModal', '1002');
- resolutionSettingsModal.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
- resolutionSettingsModal.style.backdropFilter = 'blur(5px)';
- resolutionSettingsModal.style.justifyContent = 'center';
- resolutionSettingsModal.style.alignItems = 'center';
-
- const menuButtonsCon = document.createElement('div');
- menuButtonsCon.style.flexDirection = 'row';
- menuButtonsCon.style.alignItems = 'center';
- menuButtonsCon.style.display = 'flex';
- mainMenu.appendChild(menuButtonsCon);
-
- const settingsButton = document.createElement('button');
- settingsButton.style.fontSize = '20px';
- settingsButton.style.fontWeight = 'bold';
- settingsButton.style.width = '60px';
- settingsButton.style.height = '60px';
- settingsButton.style.backgroundColor = 'rgba(40, 40, 40, 0.97)';
- settingsButton.style.borderRadius = '10px';
- settingsButton.style.border = '2px solid rgba(50, 50, 50, 0.97)';
- settingsButton.style.outline = '2px solid rgb(30,30,30)';
- settingsButton.style.color = 'white';
- settingsButton.style.cursor = 'pointer';
- settingsButton.style.display = 'flex';
- settingsButton.style.alignItems = 'center';
- settingsButton.style.justifyContent = 'center';
- settingsButton.style.position = 'relative';
- settingsButton.style.justifyContent = 'center';
- settingsButton.style.backgroundImage = 'url(https://i.postimg.cc/MGRs1QCR/settings-icon-1964x2048-8nigtrtt.png)';
- settingsButton.style.position = 'relative';
- settingsButton.style.backgroundRepeat = "no-repeat";
- settingsButton.style.backgroundSize = "40px 40px";
- settingsButton.style.backgroundPosition = 'center';
- settingsButton.addEventListener('mouseover', function() {
- settingsButton.style.outline = '2px solid rgb(255, 255, 255)';
- });
- settingsButton.addEventListener('mouseout', function() {
- settingsButton.style.outline = '2px solid rgb(30, 30, 30)';
- });
- settingsButton.addEventListener('click', function() {
- settingsModal.style.display = 'block';
- });
- menuButtonsCon.appendChild(settingsButton);
-
-
- const ModsButton = document.createElement('button');
- ModsButton.textContent = 'MODS';
- ModsButton.style.marginBottom = '10px';
- ModsButton.style.backgroundColor = 'rgba(40, 40, 40, 0.97)';
- ModsButton.style.borderRadius = '10px';
- ModsButton.style.outline = '2px solid rgb(30,30,30)';
- ModsButton.style.border = '2px solid rgba(50, 50, 50, 0.97)';
- ModsButton.style.color = 'white';
- ModsButton.style.width = '180px';
- ModsButton.style.height = '60px';
- ModsButton.style.margin = '0px 10px 0px 10px';
- ModsButton.style.fontSize = '20px';
- ModsButton.style.fontWeight = '300';
- ModsButton.style.cursor = 'pointer';
- ModsButton.addEventListener('mouseover', function() {
- ModsButton.style.outline = '2px solid rgb(255,255,255)';
- });
- ModsButton.addEventListener('mouseout', function() {
- ModsButton.style.outline = '2px solid rgb(30, 30, 30)';
- });
- ModsButton.addEventListener('click', function() {
- mainBox.style.display = 'block';
- });
- menuButtonsCon.appendChild(ModsButton);
-
-
- const CosmeticsButton = document.createElement('button');
- CosmeticsButton.style.backgroundColor = 'rgba(40, 40, 40, 0.97)';
- CosmeticsButton.style.borderRadius = '10px';
- CosmeticsButton.style.border = '2px solid rgba(50, 50, 50, 0.97)';
- CosmeticsButton.style.outline = '2px solid rgb(30,30,30)';
- CosmeticsButton.style.color = 'white';
- CosmeticsButton.style.width = '60px';
- CosmeticsButton.style.height = '60px';
- CosmeticsButton.style.fontSize = '20px';
- CosmeticsButton.style.fontWeight = 'bold';
- CosmeticsButton.style.cursor = 'pointer';
- CosmeticsButton.style.display = 'block';
- CosmeticsButton.style.justifyContent = 'center';
- CosmeticsButton.style.backgroundImage = 'url(https://i.postimg.cc/t4RkYc5K/yellow-t-shirt-icon-mds.png)';
- CosmeticsButton.style.position = 'relative';
- CosmeticsButton.style.backgroundRepeat = "no-repeat";
- CosmeticsButton.style.backgroundSize = "45px 40px";
- CosmeticsButton.style.backgroundPosition = 'center';
- CosmeticsButton.addEventListener('mouseover', function() {
- CosmeticsButton.style.outline = '2px solid rgb(255,255,255)';
- });
- CosmeticsButton.addEventListener('mouseout', function() {
- CosmeticsButton.style.outline = '2px solid rgb(30,30,30)';
- });
- CosmeticsButton.addEventListener('click', function() {
- capeModal.style.display = 'flex';
- mainMenu.style.display = 'none'
- mainHud.style.backgroundColor = 'rgba(0, 0, 0, 0.6)';;
- mainHud.style.backdropFilter = 'blur(5px)';
- });
- menuButtonsCon.appendChild(CosmeticsButton);
-
- const topBar = document.createElement('div');
- topBar.style.display = 'flex';
- topBar.style.alignItems = 'center';
- topBar.style.justifyContent = 'center';
- topBar.style.flexDirection = 'row';
- topBar.style.backgroundColor = 'transparent';
- topBar.style.width = '100%';
- topBar.style.height = '60px';
- topBar.style.marginTop = '-15px';
- topBar.style.borderBottom = '2px solid rgb(60, 60, 60)';
- mainBox.appendChild(topBar);
-
- const modContainer = document.createElement('div');
- modContainer.style.display = 'flex';
- modContainer.style.flexWrap = 'wrap';
- modContainer.style.gap = '15px';
- modContainer.style.marginTop = '10px';
- mainBox.appendChild(modContainer);
-
- const modBoxItems = [];
- Mods.forEach((mod, index) => {
- const modBoxItem = document.createElement('div');
- modBoxItem.style.backgroundImage = mod.backgroundImage;
- modBoxItem.style.backgroundSize = '75px 75px';
- modBoxItem.style.backgroundRepeat = "no-repeat";
- modBoxItem.style.backgroundPosition = 'center calc(50% - 10px)';
- modBoxItem.style.height = '165px';
- modBoxItem.style.width = '165px';
- modBoxItem.style.padding = '10px';
- modBoxItem.style.backgroundColor = 'rgb(50, 50, 50)';
- modBoxItem.style.display = 'flex';
- modBoxItem.style.border = '2px solid rgb(60, 60, 60)';
- modBoxItem.style.borderRadius = '10px';
- modBoxItem.style.flexDirection = 'column';
- modBoxItem.style.justifyContent = 'space-between';
- modBoxItem.style.alignItems = 'center';
- modBoxItem.innerHTML = mod.name;
- modBoxItem.dataset.name = mod.name.toLowerCase();
- modBoxItem.dataset.id = index;
-
- modContainer.appendChild(modBoxItem);
- modBoxItems.push(modBoxItem);
- });
-
- mainBox.appendChild(modContainer);
- mainHud.appendChild(mainBox);
-
- const buttonsContainer = document.createElement('div');
- buttonsContainer.style.display = 'flex';
- buttonsContainer.style.alignItems = 'center';
- buttonsContainer.style.gap = '10px';
- buttonsContainer.style.marginRight = 'auto';
- buttonsContainer.style.marginTop = '10px';
- buttonsContainer.style.marginLeft = '10px';
-
- const buttons = ['All', 'New', 'Hud'];
- const buttonElements = {};
- buttons.forEach((name) => {
- const button = document.createElement('button');
- button.textContent = name;
- button.style.backgroundColor = name === 'All' ? '#A52D2D' : 'rgb(50, 50, 50)';
- button.style.color = 'white';
- button.style.border = 'none';
- button.style.borderRadius = '10px';
- button.style.height = "37px";
- button.style.width = "80px";
- button.style.fontWeight = '600';
- button.style.cursor = 'pointer';
- button.addEventListener('click', () => handleButtonClick(name));
- buttonsContainer.appendChild(button);
- buttonElements[name] = button;
- });
-
- const EditHUDButton = document.createElement('button');
- EditHUDButton.textContent = 'Edit Hud';
- EditHUDButton.style.marginRight = '5px';
- EditHUDButton.style.backgroundColor = 'rgb(50, 50, 50)';
- EditHUDButton.style.borderRadius = '10px';
- EditHUDButton.style.border = 'none';
- EditHUDButton.style.color = 'white';
- EditHUDButton.style.width = '100px';
- EditHUDButton.style.height = '37px';
- EditHUDButton.style.fontWeight = '600';
- EditHUDButton.style.cursor = 'pointer';
- EditHUDButton.addEventListener('click', function() {
- EditHud.style.display = 'flex';
- mainBox.style.display = 'none';
- mainHud.style.backgroundColor = 'rgba(0, 0, 0, 0.6)';
- mainMenu.style.display = 'none';
- });
- buttonsContainer.appendChild(EditHUDButton);
-
- const spacer = document.createElement('div');
- spacer.style.flexGrow = '1';
-
-
- const searchBar = document.createElement('input');
- searchBar.type = 'text';
- searchBar.placeholder = 'Search';
- searchBar.style.width = '170px';
- searchBar.style.height = '35px';
- searchBar.style.position = 'absolute';
- searchBar.style.top = '22px';
- searchBar.style.right = '70px';
- searchBar.style.borderRadius = '10px';
- searchBar.style.color = 'white';
- searchBar.style.fontWeight = '600';
- searchBar.style.border = 'none';
- searchBar.style.fontSize = "15px";
- searchBar.style.backgroundColor = 'rgb(50, 50, 50)';
- searchBar.style.paddingLeft = '20px';
- searchBar.style.outline = "none";
- searchBar.addEventListener('input', () => {
- const query = searchBar.value.toLowerCase().trim();
-
- modBoxItems.forEach((modBoxItem) => {
- if (modBoxItem.dataset.name.includes(query)) {
- modBoxItem.style.display = 'flex';
- } else {
- modBoxItem.style.display = 'none';
- }
- });
- });
-
- const closeIcon = document.createElement('button');
- closeIcon.textContent = '✖';
- closeIcon.style.position = 'absolute';
- closeIcon.style.width = '37px';
- closeIcon.style.height = '37px';
- closeIcon.style.backgroundColor = 'rgb(50, 50, 50)';
- closeIcon.style.borderRadius = '10px';
- closeIcon.style.top = '22px';
- closeIcon.style.right = '20px';
- closeIcon.style.border = 'none';
- closeIcon.style.fontSize = '16px';
- closeIcon.style.color = 'white';
- closeIcon.style.cursor = 'pointer';
- closeIcon.addEventListener('click', function() {
- mainBox.style.display = 'none';
- });
- topBar.appendChild(closeIcon);
-
- topBar.appendChild(searchBar);
- topBar.appendChild(buttonsContainer);
- topBar.appendChild(spacer);
-
-
- function handleButtonClick(name) {
- modBoxItems.forEach((modBoxItem) => {
- modBoxItem.style.display = 'none';
- });
-
- buttons.forEach((buttonName) => {
- const button = buttonElements[buttonName];
- button.style.backgroundColor = 'rgb(50, 50, 50)';
- });
-
- const activeButton = buttonElements[name];
- activeButton.style.backgroundColor = '#A52D2D';
-
- if (name === 'All') {
- modBoxItems.forEach((modBoxItem) => {
- modBoxItem.style.display = 'flex';
- });
- } else if (name === 'New') {
- const newModBoxItems = [9, 4];
- newModBoxItems.forEach((id) => {
- const modBoxItem = modBoxItems[id];
- if (modBoxItem) {
- modBoxItem.style.display = 'flex';
- }
- });
- } else if (name === 'Hud') {
- const hudItems = [0, 3, 4, 5, 7];
- hudItems.forEach((id) => {
- const modBoxItem = modBoxItems[id];
- if (modBoxItem) {
- modBoxItem.style.display = 'flex';
- }
- });
- }
-
- }
-
- const ArmorViewButton = document.createElement('button');
- ArmorViewButton.textContent = 'Enabled';
- ArmorViewButton.style.backgroundColor = 'rgb(40, 40, 40)';
- ArmorViewButton.style.borderRadius = '10px';
- ArmorViewButton.style.border = 'none';
- ArmorViewButton.style.color = 'white';
- ArmorViewButton.style.width = '160px';
- ArmorViewButton.style.height = '40px';
- ArmorViewButton.style.fontSize = '18px';
- ArmorViewButton.style.cursor = 'pointer';
- modContainer.children[0].appendChild(ArmorViewButton);
-
- let selectedItemBoxInterval;
- function createSelectedItemBox() {
- const selectedItemBox = document.createElement('div');
- selectedItemBox.id = 'selected-item-box';
- selectedItemBox.style.position = 'fixed';
- selectedItemBox.style.bottom = '100px';
- selectedItemBox.style.left = '31%';
- selectedItemBox.style.transformX = 'translateX(-28%)';
- selectedItemBox.style.width = '400px';
- selectedItemBox.style.height = '70px';
- selectedItemBox.style.zIndex = '9999';
- selectedItemBox.style.overflow = 'hidden';
- selectedItemBox.style.display = 'flex';
- selectedItemBox.style.alignItems = 'center';
- selectedItemBox.style.justifyContent = 'center';
- mainHud.appendChild(selectedItemBox);
-
- let isMoving = false;
- let offsetAX = 0;
- let offsetAY = 0;
-
- selectedItemBox.addEventListener('mousedown', (event) => {
- if (ArmorViewButton.textContent === 'Enabled' && EditHud.style.display === 'flex' && event.target.nodeName !== 'INPUT') {
- isMoving = true;
- offsetAX = event.clientX;
- offsetAX = event.clientY;
- }
- });
-
- document.addEventListener('mousemove', (event) => {
- if (ArmorViewButton.textContent === 'Enabled' && isMoving) {
- selectedItemBox.style.left = `${event.clientX}px`;
- selectedItemBox.style.top = `${event.clientY}px`;
- }
- });
-
- document.addEventListener('mouseup', () => isMoving = false);
-
- function updateSelectedItems() {
- const indices = [46, 47, 48, 49, 50];
- const selectedItemBox = document.getElementById('selected-item-box');
- if (selectedItemBox) {
- selectedItemBox.innerHTML = '';
-
- indices.forEach(idx => {
- const selectedItem = document.querySelector(`.InvenItem[data-inven-idx="${idx}"]`);
- if (selectedItem) {
- const clonedItem = selectedItem.cloneNode(true);
- clonedItem.removeAttribute('id');
- clonedItem.style.zIndex = '0';
- clonedItem.querySelectorAll('[id]').forEach(element => element.removeAttribute('id'));
-
- const itemImage = clonedItem.querySelector('.BlockItemWrapper img');
- if (itemImage) {
- itemImage.style.maxWidth = '100%';
- itemImage.style.maxHeight = '100%';
- itemImage.style.display = 'block';
- itemImage.style.margin = 'auto';
- itemImage.style.zIndex = '0';
- }
- selectedItemBox.appendChild(clonedItem);
- }
- });
- }
- }
- selectedItemBoxInterval = setInterval(updateSelectedItems, 1000);
- }
- function removeSelectedItemBox() {
- clearInterval(selectedItemBoxInterval);
- const selectedItemBox = document.getElementById('selected-item-box');
- if (selectedItemBox) {
- selectedItemBox.remove();
- }
- }
- const armorViewState = GM_getValue('armorViewState', 'Enabled');
-
- if (armorViewState === 'Disabled') {
- ArmorViewButton.textContent = 'Disabled';
- } else {
- createSelectedItemBox();
- }
- ArmorViewButton.addEventListener('click', function() {
- if (ArmorViewButton.textContent === 'Enabled') {
- ArmorViewButton.textContent = 'Disabled';
- removeSelectedItemBox();
- GM_setValue('armorViewState', 'Disabled');
- } else {
- ArmorViewButton.textContent = 'Enabled';
- createSelectedItemBox();
- GM_setValue('armorViewState', 'Enabled');
- }
- });
-
-
- const CrosshairButton = document.createElement('button');
- CrosshairButton.textContent = 'Customize'
- CrosshairButton.style.backgroundColor = 'rgb(40, 40, 40)';
- CrosshairButton.style.borderRadius = '10px';
- CrosshairButton.style.border = 'none';
- CrosshairButton.style.color = 'white';
- CrosshairButton.style.fontSize = '18px';
- CrosshairButton.style.width = '160px';
- CrosshairButton.style.height = '40px';
- CrosshairButton.style.cursor = 'pointer';
- CrosshairButton.addEventListener('click', function() {
- crosshairSettingsModal.style.display = 'block';
- });
- modContainer.children[2].appendChild(CrosshairButton);
-
- const CpsCounterButton = document.createElement('button');
- CpsCounterButton.textContent = 'Enabled';
- CpsCounterButton.style.backgroundColor = 'rgb(40, 40, 40)';
- CpsCounterButton.style.borderRadius = '10px';
- CpsCounterButton.style.border = 'none';
- CpsCounterButton.style.color = 'white';
- CpsCounterButton.style.width = '160px';
- CpsCounterButton.style.height = '40px';
- CpsCounterButton.style.fontSize = '18px';
- CpsCounterButton.style.cursor = 'pointer';
- modContainer.children[4].appendChild(CpsCounterButton);
-
- let cpsCounter;
- let leftClickTimes = [];
- let rightClickTimes = [];
- let cpsInterval = null;
- let clickListener = null;
-
- const CpsCounterState = GM_getValue('CpsCounterState', 'Enabled');
- if (CpsCounterState === 'Enabled') {
- CpsCounterButton.textContent = 'Enabled';
- createCPSCounter();
- startCPSCounter();
- } else {
- CpsCounterButton.textContent = 'Disabled';
- }
-
- function createCPSCounter() {
- cpsCounter = document.createElement('div');
- cpsCounter.style.position = 'fixed';
- cpsCounter.style.top = '96%';
- cpsCounter.style.left = '94.5%';
- cpsCounter.style.padding = '5px 10px';
- cpsCounter.style.backgroundColor = '#00000066';
- cpsCounter.style.color = 'white';
- cpsCounter.style.fontSize = '16px';
- cpsCounter.style.zIndex = '1000';
- cpsCounter.innerText = 'CPS: 0 | 0';
- cpsCounter.style.cursor = 'pointer';
- mainHud.appendChild(cpsCounter);
-
-
- let isMoving = false;
- let offsetCX = 0;
- let offsetCY = 0;
-
- cpsCounter.addEventListener('mousedown', (event) => {
- if (CpsCounterButton.textContent === 'Enabled' && EditHud.style.display === 'flex' && event.target.nodeName !== 'INPUT') {
- isMoving = true;
- offsetCX = event.clientX;
- offsetCX = event.clientY;
- }
- });
-
- document.addEventListener('mousemove', (event) => {
- if (CpsCounterButton.textContent === 'Enabled' && isMoving) {
- cpsCounter.style.left = `${event.clientX}px`;
- cpsCounter.style.top = `${event.clientY}px`;
- }
- });
-
- document.addEventListener('mouseup', () => isMoving = false);
-
- }
-
- function startCPSCounter() {
- function countClick(event) {
- const currentTime = new Date().getTime();
- if (event.button === 0) {
- leftClickTimes.push(currentTime);
- } else if (event.button === 2) {
- rightClickTimes.push(currentTime);
- }
- updateCPS();
- }
-
- function updateCPS() {
- const currentTime = new Date().getTime();
- const oneSecondAgo = currentTime - 1000;
- leftClickTimes = leftClickTimes.filter(time => time >= oneSecondAgo);
- rightClickTimes = rightClickTimes.filter(time => time >= oneSecondAgo);
- cpsCounter.innerText = `CPS: ${leftClickTimes.length} | ${rightClickTimes.length}`;
- }
- clickListener = function(event) {
- if (event.button === 0 || event.button === 2) {
- countClick(event);
- }
- };
- document.addEventListener('mousedown', clickListener);
- cpsInterval = setInterval(updateCPS, 1000);
- }
-
- CpsCounterButton.addEventListener('click', function() {
- if (CpsCounterButton.textContent === 'Disabled') {
- CpsCounterButton.textContent = 'Enabled';
- createCPSCounter();
- GM_setValue('CpsCounterState', 'Enabled');
- startCPSCounter();
- } else {
- CpsCounterButton.textContent = 'Disabled';
- GM_setValue('CpsCounterState', 'Disabled');
-
- if (cpsInterval) {
- clearInterval(cpsInterval);
- cpsInterval = null;
- }
- if (clickListener) {
- document.removeEventListener('mousedown', clickListener);
- clickListener = null;
- }
- if (cpsCounter) {
- cpsCounter.remove();
- cpsCounter = null;
- }
- leftClickTimes = [];
- rightClickTimes = [];
- }
- });
-
- const PingCounterButton = document.createElement('button');
- PingCounterButton.textContent = 'Disabled';
- PingCounterButton.style.backgroundColor = 'rgb(40, 40, 40)';
- PingCounterButton.style.borderRadius = '10px';
- PingCounterButton.style.border = 'none';
- PingCounterButton.style.color = 'white';
- PingCounterButton.style.width = '160px';
- PingCounterButton.style.height = '40px';
- PingCounterButton.style.fontSize = '18px';
- PingCounterButton.style.cursor = 'pointer';
- modContainer.children[5].appendChild(PingCounterButton);
-
- class PingCounter {
- constructor(url) {
- this.pingCount = 0;
- this.url = url;
- this.pingInterval = null;
- this.pingTimeDisplay = document.createElement('div');
- this.pingTimeDisplay.id = 'pingTimeDisplay';
- this.pingTimeDisplay.innerText = 'Ping : ';
- this.pingTimeDisplay.style.display = 'none'; // Hide by default
- this.pingTimeDisplay.style.cursor = 'pointer';
- this.pingTimeDisplay.style.position = 'fixed';
- this.pingTimeDisplay.style.top = '96%';
- this.pingTimeDisplay.style.left = '87.3%';
- this.pingTimeDisplay.style.padding = '5px 10px';
- this.pingTimeDisplay.style.backgroundColor = '#00000066';
- this.pingTimeDisplay.style.color = 'white';
- this.pingTimeDisplay.style.fontSize = '16px';
- this.pingTimeDisplay.style.zIndex = '1000';
- mainHud.appendChild(this.pingTimeDisplay);
-
- let isMoving = false;
- let offsetPX = 0;
- let offsetPY = 0;
-
- this.pingTimeDisplay.addEventListener('mousedown', (event) => {
- if (PingCounterButton.textContent === 'Enabled' && EditHud.style.display === 'flex' && event.target.nodeName !== 'INPUT') {
- isMoving = true;
- offsetPX = event.clientX;
- offsetPX = event.clientY;
- }
- });
-
- document.addEventListener('mousemove', (event) => {
- if (PingCounterButton.textContent === 'Enabled' && isMoving) {
- this.pingTimeDisplay.style.left = `${event.clientX}px`;
- this.pingTimeDisplay.style.top = `${event.clientY}px`;
- }
- });
-
- document.addEventListener('mouseup', () => isMoving = false);
-
- }
- ping() {
- const start = new Date().getTime();
- fetch(this.url, { method: 'HEAD', mode: 'no-cors' })
- .then(() => {
- const end = new Date().getTime();
- const pingTime = end - start;
-
- this.pingTimeDisplay.innerText = `Ping : ${pingTime} ms`;
- this.pingCount++;
- })
- .catch((error) => {
- console.error('Ping failed:', error);
- });
- }
- startPinging(interval) {
- this.ping();
- this.pingInterval = setInterval(() => this.ping(), interval);
- }
- stopPinging() {
- clearInterval(this.pingInterval);
- this.pingTimeDisplay.style.display = 'none';
- }
- }
- const pingCounter = new PingCounter('https://bloxd.io');
- const PingCounterState = GM_getValue('PingCounterState', 'Disabled');
- if (PingCounterState === 'Enabled') {
- PingCounterButton.textContent = 'Enabled';
- pingCounter.startPinging(1500);
- pingCounter.pingTimeDisplay.style.display = 'block';
- } else {
- PingCounterButton.textContent = 'Disabled';
- }
- PingCounterButton.addEventListener('click', () => {
- if (PingCounterButton.textContent === 'Disabled') {
- PingCounterButton.textContent = 'Enabled';
- GM_setValue('PingCounterState', 'Enabled');
- pingCounter.startPinging(1500);
- pingCounter.pingTimeDisplay.style.display = 'block';
- } else {
- PingCounterButton.textContent = 'Disabled';
- GM_setValue('PingCounterState', 'Disabled');
- pingCounter.stopPinging();
- }
- });
-
- const toggleshiftButtonContainer = document.createElement('div');
- toggleshiftButtonContainer.style.display = 'flex';
- toggleshiftButtonContainer.style.justifyContent = 'space-between';
- toggleshiftButtonContainer.style.width = '100%';
-
- const toggleshiftToggleButton = document.createElement('button');
- toggleshiftToggleButton.style.backgroundColor = 'rgb(40, 40, 40)';
- toggleshiftToggleButton.style.borderRadius = '10px';
- toggleshiftToggleButton.style.border = 'none';
- toggleshiftToggleButton.style.color = 'white';
- toggleshiftToggleButton.style.width = '100px';
- toggleshiftToggleButton.style.height = '40px';
- toggleshiftToggleButton.style.fontSize = '18px';
- toggleshiftToggleButton.style.cursor = 'pointer';
- toggleshiftButtonContainer.appendChild(toggleshiftToggleButton);
-
- const toggleshiftSettingsButton = document.createElement('button');
- toggleshiftSettingsButton.innerHTML = '⚙';
- toggleshiftSettingsButton.style.backgroundColor = 'rgb(40, 40, 40)';
- toggleshiftSettingsButton.style.borderRadius = '10px';
- toggleshiftSettingsButton.style.border = 'none';
- toggleshiftSettingsButton.style.color = 'white';
- toggleshiftSettingsButton.style.fontSize = '24px';
- toggleshiftSettingsButton.style.width = '40px';
- toggleshiftSettingsButton.style.height = '40px';
- toggleshiftSettingsButton.style.cursor = 'pointer';
- toggleshiftSettingsButton.addEventListener('click', function () {
- toggleshiftSettingsModal.style.display = 'flex';
- });
- toggleshiftButtonContainer.appendChild(toggleshiftSettingsButton);
- modContainer.children[1].appendChild(toggleshiftButtonContainer);
-
- let togglesprintKey = 'KeyF';
- let isRunning = '';
- let isKeepingRunning = false;
- const shiftKeyData = {
- key: 'Shift',
- code: 'ShiftLeft',
- keyCode: 16,
- which: 16,
- shiftKey: true,
- ControlKey: false,
- altKey: false,
- metaKey: false,
- repeat: false,
- bubbles: true,
- cancelable: true
- };
- const shiftDown = new KeyboardEvent('keydown', shiftKeyData);
- const shiftUp = new KeyboardEvent('keyup', shiftKeyData);
- const toggleSprintState = GM_getValue('toggleSprintState', 'Enabled');
-
- toggleshiftToggleButton.textContent = toggleSprintState;
- document.addEventListener('keyup', e => {
- if (toggleshiftToggleButton.textContent === 'Enabled') {
- if (e.code === togglesprintKey) {
- if (!isRunning) {
- isRunning = 'Shift';
- isKeepingRunning = true;
- document.dispatchEvent(shiftDown);
- } else {
- isRunning = '';
- isKeepingRunning = false;
- document.dispatchEvent(shiftUp);
- }
- } else if (e.code === 'ShiftLeft' && isRunning === 'Shift') {
- if (isKeepingRunning) {
- e.stopImmediatePropagation();
- return;
- }
- isRunning = '';
- }
- }
- });
- document.addEventListener('keydown', e => {
- if (toggleshiftToggleButton.textContent === 'Enabled') {
- if (e.code === 'ShiftLeft' && !isRunning) {
- isRunning = 'Shift';
- }
- }
- });
-
- setInterval(() => {
- if (isKeepingRunning && toggleshiftToggleButton.textContent === 'Enabled') {
- document.dispatchEvent(shiftDown);
- }
- }, 100);
- toggleshiftToggleButton.addEventListener('click', () => {
- if (toggleshiftToggleButton.textContent === 'Disabled') {
- toggleshiftToggleButton.textContent = 'Enabled';
- GM_setValue('toggleSprintState', 'Enabled');
- } else {
- toggleshiftToggleButton.textContent = 'Disabled';
- GM_setValue('toggleSprintState', 'Disabled');
- isRunning = '';
- isKeepingRunning = false;
- document.dispatchEvent(shiftUp);
- }
- });
-
-
- let messageSent = false;
- const sendMessageToChat = (msg) => {
- const chat = document.querySelector(".ChatMessages");
- if (chat) {
- const div = document.createElement("div");
- div.className = "MessageWrapper";
- div.innerHTML = `<div class="TextFromServer undefined"><div class="IndividualText undefined cyan-text">${msg}</div></div>`;
- chat.appendChild(div);
- }
- };
- const updateGameStatus = () => {
- const inMenu = document.querySelector('.Title.FullyFancyText');
- if (!inMenu && !messageSent) {
- sendMessageToChat("Welcome To Deep Space Client");
- messageSent = true;
- } else if (inMenu) {
- messageSent = false;
- }
- };
-
- const cinematicToggleButton = document.createElement('button');
- cinematicToggleButton.style.backgroundColor = 'rgb(40, 40, 40)';
- cinematicToggleButton.style.borderRadius = '10px';
- cinematicToggleButton.style.border = 'none';
- cinematicToggleButton.style.color = 'white';
- cinematicToggleButton.style.width = '160px';
- cinematicToggleButton.style.height = '40px';
- cinematicToggleButton.style.fontSize = '18px';
- cinematicToggleButton.style.cursor = 'pointer';
-
- const cinematicModeState = GM_getValue('cinematicModeState', 'Enabled');
-
- cinematicToggleButton.textContent = cinematicModeState;
-
- cinematicToggleButton.addEventListener('click', function () {
- if (cinematicToggleButton.textContent === 'Enabled') {
- cinematicToggleButton.textContent = 'Disabled';
- GM_setValue('cinematicModeState', 'Disabled');
- } else {
- cinematicToggleButton.textContent = 'Enabled';
- GM_setValue('cinematicModeState', 'Enabled');
- }
- });
-
- modContainer.children[6].appendChild(cinematicToggleButton);
-
- document.addEventListener('keydown', function (event) {
- const inMenu = document.querySelector('.Title.FullyFancyText');
- if (inMenu) return;
-
- const key = event.key;
- const wholeAppWrapper = document.querySelector('.WholeAppWrapper');
-
- if (cinematicToggleButton.textContent === 'Enabled' && (key === 'h' || key === 'H')) {
- wholeAppWrapper.style.visibility = wholeAppWrapper.style.visibility === 'hidden' ? 'visible' : 'hidden';
- mainHud.style.visibility = mainHud.style.visibility === 'hidden' ? 'visible' : 'hidden';
- }
- });
-
- setInterval(updateGameStatus, 2000);
- updateGameStatus();
-
- const style = document.createElement("style");
- style.textContent = `.cyan-text { color: rgb(0, 255, 255) !important; }`;
- document.head.appendChild(style);
-
- const hotbarSettingsButton = document.createElement('button');
- hotbarSettingsButton.textContent = 'Customize';
- hotbarSettingsButton.style.backgroundColor = 'rgb(40, 40, 40)';
- hotbarSettingsButton.style.borderRadius = '10px';
- hotbarSettingsButton.style.border = 'none';
- hotbarSettingsButton.style.color = 'white';
- hotbarSettingsButton.style.fontSize = '18px';
- hotbarSettingsButton.style.width = '160px';
- hotbarSettingsButton.style.height = '40px';
- hotbarSettingsButton.style.cursor = 'pointer';
- hotbarSettingsButton.addEventListener('click', function() {
- hotbarSettingsModal.style.display = 'flex';
- });
- modContainer.children[8].appendChild(hotbarSettingsButton);
-
- const keystrokeToggleButton = document.createElement('button');
- keystrokeToggleButton.style.backgroundColor = 'rgb(40, 40, 40)';
- keystrokeToggleButton.style.borderRadius = '10px';
- keystrokeToggleButton.style.border = 'none';
- keystrokeToggleButton.style.color = 'white';
- keystrokeToggleButton.style.width = '160px';
- keystrokeToggleButton.style.height = '40px';
- keystrokeToggleButton.style.fontSize = '18px';
- keystrokeToggleButton.style.cursor = 'pointer';
- modContainer.children[7].appendChild(keystrokeToggleButton);
-
- const keystrokeModeState = GM_getValue('keystrokeModeState', 'Enabled');
- keystrokeToggleButton.textContent = keystrokeModeState;
- keystrokeToggleButton.addEventListener('click', function () {
- if (keystrokeToggleButton.textContent === 'Enabled') {
- keystrokeToggleButton.textContent = 'Disabled';
- GM_setValue('keystrokeModeState', 'Disabled');
- resetKeyStyles();
- setKeysVisibility(false);
- } else {
- keystrokeToggleButton.textContent = 'Enabled';
- GM_setValue('keystrokeModeState', 'Enabled');
- setKeysVisibility(true);
- }
- });
- const keys = [
- { key: 'W', top: '5px', left: '50%' },
- { key: 'A', top: '60px', left: '31.5%' },
- { key: 'S', top: '60px', left: '50%' },
- { key: 'D', top: '60px', left: '68%' },
- { key: 'LMB', top: '115px', left: '35.5%', width: '77px' },
- { key: 'RMB', top: '115px', left: '64%', width: '77px' },
- { key: '―――', top: '170px', left: '50%', height: '25px', width: '160px', fontSize: '18px' }
- ];
- const container = document.createElement("div");
- Object.assign(container.style, {
- zIndex: "10000",
- width: "300px",
- height: "300px",
- transform: "translate(-50%, -50%)",
- top: "91%",
- left: "4.7%",
- position: "fixed",
- opacity: "70%",
- cursor: 'pointer'
- });
- mainHud.appendChild(container);
-
- let isMoving = false;
- let offsetX = 0;
- let offsetY = 0;
-
- container.addEventListener('mousedown', (event) => {
- if (keystrokeToggleButton.textContent === 'Enabled' && EditHud.style.display === 'flex' && event.target.nodeName !== 'INPUT') {
- isMoving = true;
- offsetX = event.clientX;
- offsetY = event.clientY;
- }
- });
-
- document.addEventListener('mousemove', (event) => {
- if (keystrokeToggleButton.textContent === 'Enabled' && isMoving) {
- container.style.left = `${event.clientX}px`;
- container.style.top = `${event.clientY}px`;
- }
- });
-
- document.addEventListener('mouseup', () => isMoving = false);
-
- const createKeyElement = ({ key, top, left, width = '50px', height = '50px', fontSize = '24px' }) => {
- const element = document.createElement('div');
- Object.assign(element.style, {
- position: 'fixed',
- color: 'white',
- top,
- left,
- transform: 'translateX(-50%)',
- zIndex: '10000',
- fontWeight: 'bold',
- backgroundColor: 'rgba(0, 0, 0, 0.6)',
- transition: 'all 0.15s ease-in-out',
- fontSize,
- height,
- width,
- boxShadow: '0 4px 6px rgba(0, 0, 0, 0.3)',
- textAlign: 'center',
- lineHeight: height
- });
- element.textContent = key;
- container.appendChild(element);
- return element;
- };
- const keyElements = keys.reduce((acc, keyConfig) => {
- acc[keyConfig.key] = createKeyElement(keyConfig);
- return acc;
- }, {});
- const updateKeyStyle = (key, active) => {
- if (keystrokeToggleButton.textContent === 'Enabled') {
- keyElements[key].style.backgroundColor = active ? "rgba(255, 255, 255, 0.6)" : "rgba(0, 0, 0, 0.6)";
- keyElements[key].style.color = active ? "black" : "white";
- }
- };
- const resetKeyStyles = () => {
- Object.keys(keyElements).forEach(key => {
- keyElements[key].style.backgroundColor = "rgba(0, 0, 0, 0.6)";
- keyElements[key].style.color = "white";
- });
- };
- const setKeysVisibility = (visible) => {
- Object.values(keyElements).forEach(element => {
- element.style.display = visible ? 'block' : 'none';
- });
- };
- if (keystrokeToggleButton.textContent === 'Disabled') {
- setKeysVisibility(false);
- }
- document.addEventListener('keydown', ({ key }) => {
- if (keystrokeToggleButton.textContent === 'Enabled') {
- const upperKey = key.toUpperCase();
- if (keyElements[upperKey]) updateKeyStyle(upperKey, true);
- if (key === ' ') updateKeyStyle('―――', true);
- }
- });
- document.addEventListener('keyup', ({ key }) => {
- if (keystrokeToggleButton.textContent === 'Enabled') {
- const upperKey = key.toUpperCase();
- if (keyElements[upperKey]) updateKeyStyle(upperKey, false);
- if (key === ' ') updateKeyStyle('―――', false);
- }
- });
- document.addEventListener('mousedown', ({ button }) => {
- if (keystrokeToggleButton.textContent === 'Enabled') {
- if (button === 0) updateKeyStyle('LMB', true);
- if (button === 2) updateKeyStyle('RMB', true);
- }
- });
- document.addEventListener('mouseup', ({ button }) => {
- if (keystrokeToggleButton.textContent === 'Enabled') {
- if (button === 0) updateKeyStyle('LMB', false);
- if (button === 2) updateKeyStyle('RMB', false);
- }
- });
-
- const HandItemToggleButton = document.createElement('button');
- HandItemToggleButton.style.backgroundColor = 'rgb(40, 40, 40)';
- HandItemToggleButton.style.borderRadius = '10px';
- HandItemToggleButton.style.border = 'none';
- HandItemToggleButton.style.color = 'white';
- HandItemToggleButton.style.width = '160px';
- HandItemToggleButton.style.height = '40px';
- HandItemToggleButton.style.fontSize = '18px';
- HandItemToggleButton.style.cursor = 'pointer';
- modContainer.children[3].appendChild(HandItemToggleButton);
-
- let isHandItemBoxEnabled = GM_getValue('HandItemBoxState', true);
-
-
- HandItemToggleButton.textContent = isHandItemBoxEnabled ? 'Enabled' : 'Disabled';
-
- function createHandItemBox() {
- const HandItemBox = document.createElement('div');
- HandItemBox.id = 'hand-item-box';
- HandItemBox.style.position = 'fixed';
- HandItemBox.style.bottom = '105px';
- HandItemBox.style.left = '28%';
- HandItemBox.style.width = '60px';
- HandItemBox.style.height = '60px';
- HandItemBox.style.zIndex = '9999';
- HandItemBox.style.overflow = 'hidden';
- HandItemBox.style.display = 'flex';
- HandItemBox.style.alignItems = 'center';
- HandItemBox.style.justifyContent = 'center';
- HandItemBox.style.cursor = 'pointer';
-
- mainHud.appendChild(HandItemBox);
-
- let isMoving = false;
- let OffsetHX = 0;
- let OffsetHY = 0;
-
- HandItemBox.addEventListener('mousedown', (e) => {
- if (HandItemToggleButton.textContent === 'Enabled' && EditHud.style.display === 'flex' && e.target.nodeName !== 'INPUT') {
- isMoving = true;
- OffsetHX = e.clientX;
- OffsetHY = e.clientY;
- }
- });
-
- document.addEventListener('mousemove', (e) => {
- if (HandItemToggleButton.textContent === 'Enabled' && isMoving) {
- HandItemBox.style.left = `${e.clientX}px`;
- HandItemBox.style.top = `${e.clientY}px`;
- }
- });
-
- document.addEventListener('mouseup', () => isMoving = false);
- }
-
- function updateHandItems() {
- const HandItemBox = document.getElementById('hand-item-box');
- if (HandItemBox) {
- HandItemBox.innerHTML = '';
-
- const HandItems = document.querySelectorAll('.SelectedItem');
- HandItems.forEach(HandItem => {
- const clonedHItem = HandItem.cloneNode(true);
- clonedHItem.removeAttribute('id');
- clonedHItem.querySelectorAll('[id]').forEach(element => element.removeAttribute('id'));
- Object.assign(clonedHItem.style, {
- position: 'static',
- margin: '0',
- padding: '0',
- width: '100%',
- height: '100%',
- boxSizing: 'border-box'
- });
-
- HandItemBox.appendChild(clonedHItem);
- });
- }
- }
-
- HandItemToggleButton.addEventListener('click', function () {
- isHandItemBoxEnabled = !isHandItemBoxEnabled;
- GM_setValue('HandItemBoxState', isHandItemBoxEnabled); // Save state
-
- if (isHandItemBoxEnabled) {
- HandItemToggleButton.textContent = 'Enabled';
- createHandItemBox();
- setInterval(updateHandItems, 1000);
- } else {
- HandItemToggleButton.textContent = 'Disabled';
- const existingBox = document.getElementById('hand-item-box');
- if (existingBox) {
- existingBox.remove();
- }
- }
- });
-
- if (isHandItemBoxEnabled) {
- createHandItemBox();
- setInterval(updateHandItems, 1000);
- }
-
-
- const resolution2Text = document.createElement('span');
- resolution2Text.textContent = 'ADJUSTER';
- resolution2Text.style.marginTop = '-93px';
- modContainer.children[9].appendChild(resolution2Text);
-
- const resolutionButtonContainer = document.createElement('div');
- resolutionButtonContainer.style.display = 'flex';
- resolutionButtonContainer.style.justifyContent = 'space-between';
- resolutionButtonContainer.style.width = '100%';
-
- const resolutionToggleButton = document.createElement('button');
- resolutionToggleButton.textContent = 'Enabled';
- resolutionToggleButton.style.backgroundColor = 'rgb(40, 40, 40)';
- resolutionToggleButton.style.borderRadius = '10px';
- resolutionToggleButton.style.border = 'none';
- resolutionToggleButton.style.color = 'white';
- resolutionToggleButton.style.width = '100px';
- resolutionToggleButton.style.height = '40px';
- resolutionToggleButton.style.fontSize = '18px';
- resolutionToggleButton.style.cursor = 'pointer';
- resolutionToggleButton.addEventListener('click', function() {
- if (resolutionToggleButton.textContent === 'Enabled') {
- resolutionToggleButton.textContent = 'Disabled';
- } else {
- resolutionToggleButton.textContent = 'Enabled';
- }
- });
- resolutionButtonContainer.appendChild(resolutionToggleButton);
-
- const resolutionSettingsButton = document.createElement('button');
- resolutionSettingsButton.innerHTML = '⚙';
- resolutionSettingsButton.style.backgroundColor = 'rgb(40, 40, 40)';
- resolutionSettingsButton.style.borderRadius = '10px';
- resolutionSettingsButton.style.border = 'none';
- resolutionSettingsButton.style.color = 'white';
- resolutionSettingsButton.style.fontSize = '24px';
- resolutionSettingsButton.style.width = '40px';
- resolutionSettingsButton.style.height = '40px';
- resolutionSettingsButton.style.cursor = 'pointer';
- resolutionSettingsButton.addEventListener('click', function() {
- resolutionSettingsModal.style.display = 'flex';
- });
- resolutionButtonContainer.appendChild(resolutionSettingsButton);
- modContainer.children[9].appendChild(resolutionButtonContainer);
-
- capeModal.innerHTML = `
- <div style=" width: 400px; height: 250px;">
- <label>CAPES</label>
- <button id="closeCapeSettings" style="float: right; background: transparent; border: none; color: white; cursor: pointer;">✖</button>
- <div style="display: flex; flex-direction: column; align-items: center; width: 385px; height: 215px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label style="margin-bottom: 5px; font-weight: 700;">PICK YOUR CAPE</label>
- <div style="display: flex; flex-direction: row; align-items: center; width: 370px; height: 100px; gap:15px;">
- <button id="cape0" style="width: 80px; height: 80px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer; background-image: url('https://i.postimg.cc/HWbRtYwF/ISO-7010-P001-svg.png'); background-size: 40px 40px; background-position: center; background-repeat: no-repeat;">
- </button>
- <button id="cape1" style="width: 80px; height: 80px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer; background-image: url('https://i.postimg.cc/ht1dv3dn/Screenshot-2025-03-17-225100.png'); background-size: 40px 65px; background-position: center; background-repeat: no-repeat;">
- </button>
- <button id="cape2" style="width: 80px; height: 80px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer; background-image: url('https://i.postimg.cc/hG9z6ZK6/Screenshot-2025-03-17-225109.png'); background-size: 40px 65px; background-position: center; background-repeat: no-repeat;">
- </button>
- <button id="cape3" style="width: 80px; height: 80px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer; background-image: url('https://i.postimg.cc/yd0rtHG9/Screenshot-2025-03-17-225116.png'); background-size: 40px 65px; background-position: center; background-repeat: no-repeat;">
- </button>
- </div>
- <div style="display: flex; flex-direction: row; align-items: center; width: 370px; height: 100px; gap:15px; margin-top:15px; margin-bottom:15px;">
- <button id="cape4" style="width: 80px; height: 80px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer; background-image: url('https://i.postimg.cc/Wz5xjJRr/Screenshot-2025-03-17-231835.png'); background-size: 40px 65px; background-position: center; background-repeat: no-repeat;">
- </button>
- <button id="cape5" style="width: 80px; height: 80px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer; background-image: url('https://i.postimg.cc/4xStc25h/Screenshot-2025-03-17-225131.png'); background-size: 40px 65px; background-position: center; background-repeat: no-repeat;">
- </button>
- <button id="cape6" style="width: 80px; height: 80px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer; background-image: url('https://i.postimg.cc/rs3gQyG5/Screenshot-2025-03-17-225123.png'); background-size: 40px 65px; background-position: center; background-repeat: no-repeat;">
- </button>
- <button id="cape7" style="width: 80px; height: 80px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;background-image: url('https://i.postimg.cc/g04vJc7m/Screenshot-2025-03-17-225145.png'); background-size: 40px 65px; background-position: center; background-repeat: no-repeat;">
- </button>
- </div>
- </div>
- </div>
- `;
-
- resolutionSettingsModal.innerHTML = `
- <div style="width: 400px; height: 200px;">
- <label>RESOLUTION ADJUSTER</label>
- <button id="closeResolutionSettings" style="float: right; background: transparent; border: none; color: white; cursor: pointer;">✖</button>
- <div style="display: flex; flex-direction: column; align-items: center; width: 385px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label style="margin-bottom: 5px; font-weight: 700;">ADJUST THE RESOLUTION</label>
- <label style="margin-bottom: 5px; font-size: 13px;">The lower the resolution, the higher the FPS.</label>
- <input type="range" id="resolutionSlider" min="0.05" max="1.0" step="0.05" value="1.0" style="width: 70%; appearance: none; height: 10px; background: linear-gradient(to right, #007bff 100%, #323232 0%); border-radius: 5px; outline: none; cursor: pointer; transition: background 0.3s ease;">
- <div>
- <label id="resolutionValueLabel">Resolution: 1.00x</label>
- </div>
- </div>
- </div>
- `;
- hotbarSettingsModal.innerHTML = `
- <div style=" width: 400px; height: 200px;">
- <label>HOTBAR</label>
- <button id="closeHotbarSettings" style="float: right; background: transparent; border: none; color: white; cursor: pointer;">✖</button>
- <div style="display: flex; flex-direction: column; align-items: center; width: 385px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label style="margin-bottom: 5px; font-weight: 700;">CUSTOMIZE HOTBAR</label>
- <label style="margin-bottom: 5px;">Set hotbar and selected hotbar color</label>
- <label for="colorPicker1">Hotbar:</label>
- <input type="color" id="colorPicker1" name="colorPicker1" value="#0000000" style="background: rgb(50, 50, 50); cursor: pointer; border: none; height: 30px;">
- <label for="colorPicker2">Selected hotbar :</label>
- <input type="color" id="colorPicker2" name="colorPicker2" value="#ffffff" style="background: rgb(50, 50, 50); cursor: pointer; border: none; height: 30px;">
- </div>
- </div>
- `;
- EditHud.innerHTML = `
- <label style="font-size: 30px; font-weight: bolder; text-shadow: 0px 5px 5px black;">✎EDIT THE HUD✎</label>
- <button id="CommitChanges" style=" background: rgba(40, 40, 40, 0.97) ; width:300px; height :60px; border: 2px solid rgba(50, 50, 50, 0.97); outline :2px solid rgb(30,30,30); border-radius :10px; color: white; cursor: pointer; font-size :15px; font-weight:bolder;">COMMIT CHANGES</button>
- `;
- toggleshiftSettingsModal.innerHTML = `
- <div style=" width: 400px; height: 200px;">
- <label>TOGGLE SPRINT</label>
- <button id="closetoggleshiftSettings" style="float: right; background: transparent; border: none; color: white; cursor: pointer;">✖</button>
- <div style="display: flex; flex-direction: column; align-items: center; width: 385px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label style="margin-bottom: 5px; font-weight: 700;">TOGGLE KEY</label>
- <label style="margin-bottom: 5px;">Set toggle key for toggle Sprint</label>
- <input type="text" id="customSprintKey" value="SET KEY" style="height:30px; width: 100px; text-align: center; font-weight: bolder; margin-bottom: 10px; background: rgb(40, 40, 40); border:none; color:white; border-radius: 5px; cursor: pointer;" readonly>
- </div>
- </div>
- `;
- settingsModal.innerHTML = `
- <label">SETTINGS</label>
- <button id="closeSettings" style="float: right; background: transparent; border: none; color: white; cursor: pointer;">✖</button>
- <div style="display: flex; flex-direction: row; gap: 15px; margin-top : 5px; margin-bottom : 10px;">
- <div style="display: flex; flex-direction: column; align-items: center; width: 385px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px; margin-top: 5px;">
- <label style="margin-bottom: 10px; font-weight: 700;">TOGGLE KEY</label>
- <label for="customKey" style="margin-bottom: 5px;">Set toggle key for the client menu:</label>
- <input type="text" id="customKey" value="SET KEY" style="height:30px; width: 100px; text-align: center; font-weight: bolder; margin-bottom: 10px; background: rgb(40, 40, 40); border:none; color:white; border-radius: 5px;" readonly>
- </div>
- <div style="display: flex; flex-direction: column; align-items: center; width: 385px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px; margin-top: 5px;">
- <label style=" font-size: 15px; margin-bottom: 10px; font-weight: 700;" >DEEP SPACE CONTROLS</label>
- <label>Client Menu : Right Shift</label>
- <label>Toggle Sprint : F</label>
- <label>Cinematic Mode : H</label>
- </div>
- </div>
- <div style="display: flex; flex-direction: row; gap: 15px; margin-top : 5px; margin-bottom : 10px;">
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px; margin-top: 5px;">
- <label style=" font-size: 15px; margin-bottom: 10px; font-weight: 700;" >CURRENT VERSION</label>
- <label>Version : 1.4.1</label>
- <label style="color: cyan ; font-size: 14px;">Patch Update</label>
- <button id="UpdateButton" style="margin-top: 65px; width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Update</button>
- </div>
- </div>
- `;
- crosshairSettingsModal.innerHTML = `
- <label>CROSSHAIR</label>
- <button id="closeCrosshairSettings" style="float: right; background: transparent; border: none; color: white; cursor: pointer;">✖</button>
- <div style="display: flex; flex-direction: row; gap: 15px; margin-top : 15px;">
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/7be1c5f3-9ad1-11ef-b170-45e28d82b1ad.gif" style="width: 115px; height: 115px;">
- <button id="option1Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/3a948891-4a8f-11ef-8140-5b4c5fd8c3dd.gif" style="width: 115px; height: 115px;">
- <button id="option5Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/354b6bd7-1cd8-11ef-8822-bbb60d940ece.gif" style="width: 115px; height: 115px;">
- <button id="option3Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/18315826-1cd8-11ef-a2e5-bbb60d940ece.gif" style="width: 115px; height: 115px;">
- <button id="option2Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- </div>
- <div style="display: flex; flex-direction: row; gap: 15px; margin-top : 15px;">
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/1904aeee-9ad2-11ef-b197-45e28d82b1ad.gif" style="width: 115px; height: 115px;">
- <button id="option4Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- <div style="display: flex; flex-direction: column; align-items: center; width: 385px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR SETTINGS</label>
- <label style="font-size : 12px;">CROSSHAIR SIZE</label>
- <input type="range" id="crosshairSizeSlider" min="0" max="38" value="19">
- <div id="sliderValue">19</div>
- </div>
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/3f1093ca-4a8d-11ef-92cc-5b4c5fd8c3dd.gif" style="width: 115px; height: 115px;">
- <button id="option6Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- </div>
- <div style="display: flex; flex-direction: row; gap: 15px; margin-top : 15px;">
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/0204821c-aa6a-11ef-84c4-2725c76428b0.gif" style="width: 115px; height: 115px;">
- <button id="option7Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/42579dc0-99cd-11ef-808f-0b01a4cf3689.gif" style="width: 115px; height: 115px;">
- <button id="option8Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- <div style="display: flex; flex-direction: column; align-items: center; width: 185px; height: 185px; background: rgb(50, 50, 50); border: 2px solid rgb(60, 60, 60); border-radius: 10px;">
- <label>CROSSHAIR</label>
- <img src="https://piskel-imgstore-b.appspot.com/img/e0a03de8-c2b3-11ef-95f7-c14fa4ed6efb.gif" style="width: 115px; height: 115px;">
- <button id="option9Button" style="width: 150px; height: 40px; background: rgb(40, 40, 40); border: none; border-radius: 10px; color: white; font-size: 18px; cursor: pointer;">Enable</button>
- </div>
- </div>
- `;
- document.getElementById('cape0').addEventListener('click', function() {
- capesvalue = 'none';
- GM_setValue("capes", capesvalue);
- });
- document.getElementById('cape1').addEventListener('click', function() {
- capesvalue = 'super';
- GM_setValue("capes", capesvalue);
- });
- document.getElementById('cape2').addEventListener('click', function() {
- capesvalue = 'super_inverted';
- GM_setValue("capes", capesvalue);
- });
- document.getElementById('cape3').addEventListener('click', function() {
- capesvalue = 'youtuber';
- GM_setValue("capes", capesvalue);
- });
- document.getElementById('cape4').addEventListener('click', function() {
- capesvalue = 'deep_space';
- GM_setValue("capes", capesvalue);
- });
- document.getElementById('cape5').addEventListener('click', function() {
- capesvalue = 'cow_normal';
- GM_setValue("capes", capesvalue);
- });
- document.getElementById('cape6').addEventListener('click', function() {
- capesvalue = 'pig';
- GM_setValue("capes", capesvalue);
- });
- document.getElementById('cape7').addEventListener('click', function() {
- capesvalue = 'sheep';
- GM_setValue("capes", capesvalue);
- });
-
- document.getElementById('option1Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/7be1c5f3-9ad1-11ef-b170-45e28d82b1ad.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('option2Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/18315826-1cd8-11ef-a2e5-bbb60d940ece.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('option3Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/354b6bd7-1cd8-11ef-8822-bbb60d940ece.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('option4Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/1904aeee-9ad2-11ef-b197-45e28d82b1ad.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('option5Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/3a948891-4a8f-11ef-8140-5b4c5fd8c3dd.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('option6Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/3f1093ca-4a8d-11ef-92cc-5b4c5fd8c3dd.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('option7Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/588a83cc-aa68-11ef-869b-2725c76428b0.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('option8Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/e5874b87-99cc-11ef-a284-0b01a4cf3689.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('option9Button').addEventListener('click', function() {
- crosshairvalue = 'https://piskel-imgstore-b.appspot.com/img/643da997-c382-11ef-a652-398c3ca0dc0d.gif';
- GM_setValue("crosshair", crosshairvalue);
- });
- document.getElementById('crosshairSizeSlider').addEventListener('input', function() {
- CrossSize = parseInt(this.value);
- document.getElementById('sliderValue').textContent = this.value;
- })
- document.getElementById('colorPicker1').addEventListener('input', function() {
- colorPicker1Value = this.value;
- GM_setValue("colorPicker1", colorPicker1Value);
-
- document.querySelectorAll(".item").forEach(hotbar => {
- hotbar.style.backgroundColor = colorPicker1Value;
- });
- });
-
- document.getElementById('colorPicker2').addEventListener('input', function() {
- colorPicker2Value = this.value;
- GM_setValue("colorPicker2", colorPicker2Value);
-
- document.querySelectorAll(".item").forEach(hotbar => {
- hotbar.style.borderColor = colorPicker2Value;
- });
- });
- document.getElementById('UpdateButton').addEventListener('click', function() {
- window.open('https://greasyfork.org/en/scripts/489428-deep-space-client', '_blank');
- })
-
- let canvasWidth, canvasHeight, isResolutionVisible = false, resolutionSliderContainer;
- function init() {
- const canvas = document.getElementById('noa-canvas');
- if (canvas) {
- canvasWidth = canvas.width;
- canvasHeight = canvas.height;
- const resolutionSlider = document.getElementById('resolutionSlider');
- const resolutionValueLabel = document.getElementById('resolutionValueLabel');
-
- resolutionSlider.addEventListener('input', function () {
- const resolutionValue = (+this.value).toFixed(2);
- resolutionValueLabel.textContent = `Resolution: ${resolutionValue}x`;
- canvas.width = canvasWidth * this.value;
- canvas.height = canvasHeight * this.value;
- });
-
- const originalRequestPointerLock = Element.prototype.requestPointerLock;
- Element.prototype.requestPointerLock = function () {
- if (!isResolutionVisible) originalRequestPointerLock.call(this);
- };
- }
- }
- const interval = setInterval(() => {
- if (document.getElementById('noa-canvas')) {
- clearInterval(interval);
- init();
- }
- }, 100);
-
- let toggleKey = 'ShiftRight';
-
- let boxVisible = false;
- let isSettingKey = false;
- document.addEventListener('keydown', function(event) {
- if (isSettingKey) {
- if (document.pointerLockElement) document.exitPointerLock();
- toggleKey = event.code;
- document.getElementById('customKey').value = toggleKey;
- isSettingKey = false;
- } else if (event.code === toggleKey) {
- boxVisible = !boxVisible;
- mainBox.style.display = boxVisible ? 'none' : 'none';
- mainMenu.style.display = boxVisible ? 'flex' : 'none';
- settingsModal.style.display = boxVisible ? 'none' : 'none';
- crosshairSettingsModal.style.display = boxVisible ? 'none' : 'none';
- toggleshiftSettingsModal.style.display = boxVisible ? 'none' : 'none';
- resolutionSettingsModal.style.display = boxVisible ? 'none' : 'none';
- hotbarSettingsModal.style.display = boxVisible ? 'none' : 'none';
- capeModal.style.display = boxVisible ? 'none' : 'none';
- mainHud.style.backgroundColor = 'transparent';
- mainHud.style.backdropFilter = 'blur(0px)';
-
- if (boxVisible && document.pointerLockElement) {
- document.exitPointerLock();
- }
- }
- });
-
- document.getElementById('CommitChanges').addEventListener('click', function() {
- EditHud.style.display = 'none';
- mainMenu.style.display = 'flex';
- mainBox.style.display = 'block';
- mainHud.style.backgroundColor = 'transparent';
- });
- document.getElementById('closetoggleshiftSettings').addEventListener('click', function() {
- toggleshiftSettingsModal.style.display = 'none';
- });
- const customSprintKeyInput = document.getElementById('customSprintKey');
- customSprintKeyInput.addEventListener('keydown', (e) => {
- e.preventDefault();
- togglesprintKey = e.code;
- customSprintKeyInput.value = e.code;
- });
- document.getElementById('customSprintKey').addEventListener('click', function() {
- this.value = 'PRESS A KEY';
- });
- settingsButton.addEventListener('click', function() {
- settingsModal.style.display = 'block';
- });
-
- closeIcon.addEventListener('click', function() {
- mainBox.style.display = 'none';
- });
- document.getElementById('closeResolutionSettings').addEventListener('click', function() {
- resolutionSettingsModal.style.display = 'none';
- });
- document.getElementById('closeCapeSettings').addEventListener('click', function() {
- capeModal.style.display = 'none';
- mainMenu.style.display = 'flex';
- mainHud.style.backgroundColor = 'transparent';
- mainHud.style.backdropFilter = 'blur(0px)';
- });
- document.getElementById('customKey').addEventListener('click', function() {
- isSettingKey = true;
- this.value = 'PRESS A KEY';
- });
- document.getElementById('closeHotbarSettings').addEventListener('click', function() {
- hotbarSettingsModal.style.display = 'none';
- });
- document.getElementById('closeSettings').addEventListener('click', function() {
- settingsModal.style.display = 'none';
- });
-
- document.getElementById('closeCrosshairSettings').addEventListener('click', function() {
- crosshairSettingsModal.style.display = 'none';
- });
-
- })();