100% found this document useful (1 vote)
799 views35 pages

Vortex Client for Bloxd.io

The document is a user script for the Vortex Client designed for the game Bloxd.io, authored by GEORGECR. It includes various modules for combat, visual enhancements, player utilities, and cosmetics, with functionalities such as a CPS counter, ping counter, and customizable crosshair. The script also modifies the game's UI and provides settings for user customization, while allowing users to enable or disable specific features.

Uploaded by

syahrir
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
799 views35 pages

Vortex Client for Bloxd.io

The document is a user script for the Vortex Client designed for the game Bloxd.io, authored by GEORGECR. It includes various modules for combat, visual enhancements, player utilities, and cosmetics, with functionalities such as a CPS counter, ping counter, and customizable crosshair. The script also modifies the game's UI and provides settings for user customization, while allowing users to enable or disable specific features.

Uploaded by

syahrir
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

// ==UserScript==

// @name Vortex Client


// @namespace [Link]
// @version Beta
// @description Vortex Client for [Link]
// @author GEORGECR
// @homepageURL [Link]
// @icon [Link]
// @match [Link]
// @grant none
// @downloadURL
[Link]
Vortex_Client.[Link]
// @updateURL
[Link]
Vortex_Client.[Link]
// ==/UserScript==

(function () {
'use strict';
// No copyright.
// If you have questions about the code or want to use parts of it, feel free
to DM me on Discord: ge0rgecr_

const storageKey = 'vortexClientModuleStates';


const settingsStorageKey = 'vortexClientModuleSettings';

//MODULES (this is not ai bruh its just so its more clean)


const modules = {
'Combat': [
{
name: 'Keystrokes', description: '(coming soon)', hasSettings:
true, enabled: false,
onEnable: () => { },
onDisable: () => { },
settings: [

]
},
{
name: 'Combat Log Timer', description: '(coming soon)', enabled:
false,
onEnable: () => { },
onDisable: () => { },
},
{
name: 'Anti Shake', description: '(coming soon)', enabled: false,
onEnable: () => { },
onDisable: () => { },
},
],
'Visual': [
{
name: 'Armour View', description: 'Shows your armor status\nand
durability.', hasSettings: true, enabled: true,
onEnable: () => { [Link]() },
onDisable: () => { [Link]() },
settings: [
{ id: 'armourview_scale', label: 'Scale', type: 'slider', min:
0.5, max: 2.0, step: 0.1, defaultValue: 1.0 },
{ id: 'armourview_orientation', label: 'Orientation', type:
'dropdown', options: ['Horizontal', 'Vertical'], defaultValue: 'Horizontal' }
]
},
{
name: 'Cps Counter', description: 'Displays your clicks per\nsecond
(CPS).', enabled: true,
onEnable: () => { [Link]() },
onDisable: () => { [Link]() }
},
{
name: 'Ping Counter', description: 'Shows your current ping\nto the
server.', enabled: true,
onEnable: () => { [Link]() },
onDisable: () => { [Link]() }
},
{
name: 'Custom Crosshair', description: 'Customize your crosshair\
nstyle and color.', hasSettings: true, enabled: false,
onEnable: () => { [Link]() },
onDisable: () => { [Link]() },
settings: [
{ id: 'crosshair_color', label: 'Color', type: 'color',
defaultValue: '#ffffff' },
{ id: 'crosshair_size', label: 'Size', type: 'slider', min: 1,
max: 10, step: 1, defaultValue: 4 },
{ id: 'crosshair_shape', label: 'Shape', type: 'dropdown',
options: ['Default', 'Cross', 'Square', 'Dot', 'Arrow', 'Crossed'], defaultValue:
'Default' }
]
}

],
'Player': [
{
name: 'Cinematic Mode', description: '(coming soon)', hasSettings:
true, enabled: false,
onEnable: () => { },
onDisable: () => { },
settings: [

]
}
],

'Utility': [
{
name: 'Resolution Adjuster', description: 'Change game resolution\
nwithout restarting.', hasSettings: true, enabled: false,
onEnable: () => {[Link]()},
onDisable: () => {[Link]() },
settings: [
{ id: 'resolution_value', label: 'Resolution', type: 'slider',
min: 0.1, max: 1.0, step: 0.1, defaultValue: 1.0 },
]
},
{
name: 'Snap Look', description: '(coming soon)', hasSettings: true,
enabled: false,
onEnable: () => {},
onDisable: () => { },
settings: [

]
},
{
name: 'Better Zoom', description: '(coming soon)', hasSettings:
true, enabled: false,
onEnable: () => {},
onDisable: () => {},
settings: [

]
},
],
'Cosmetics': [
{
name: 'Nametags', description: 'Customize appearance\nof player
nametags.', hasSettings: true, enabled: false,
onEnable: () => [Link](),
onDisable: () => [Link](),
settings: [
{ id: 'nametags_custom_ui', type: 'custom' }
]
},
{
name: 'Custom Capes', description:'(coming soon)', hasSettings:
true, enabled: false,
onEnable: () => [Link](),
onDisable: () => [Link](),
settings: [

]
},
],
'Settings': [

]
};

function getModuleByName(moduleName) {
for (const category of [Link](modules)) {
const foundModule = [Link](m => [Link] === moduleName);
if (foundModule) {
return foundModule;
}
}
return null;
}
function initializeModules() {
const savedStates = [Link]([Link](storageKey)) || {};
[Link](modules).flat().forEach(module => {
const isEnabled = savedStates[[Link]] !== undefined ?
savedStates[[Link]] : [Link];
if (isEnabled && typeof [Link] === 'function') {
[Link]();
}
});
}

//CLIENT UI & SHIT (this is not ai bruh its just so its more clean)
const link = [Link]('link');
[Link] = 'stylesheet';
[Link] = '[Link]
[Link](link);

const gameui = [Link]('.WholeAppWrapper');


[Link] = 'block';
[Link] = 'grayscale(80%) brightness(0.6)';
[Link] = 'all 0.2s ease';

let menuInterval, gameInterval;


const ClientHud = [Link]('div');
[Link] = 'fixed';
[Link] = '0px';
[Link] = '0px';
[Link] = 'transparent';
[Link] = '100%';
[Link] = '100%';
[Link] = 'block';
[Link] = '1';
[Link] = 'none';
[Link](ClientHud);

function inMenu() {
[Link] = 'none';

['LogoLoaderOuter' , 'LogoLoaderInner' ,
'AdBannerContainer' ,'HomeHeaderRight LinkIconList'].forEach(className => {
[Link]('.' + className).forEach(el => [Link]());
});

[Link] = "[Link] - Vortex Client";


const MainTitle = [Link]('.Title');
if (MainTitle) {
[Link] = "0px";
[Link] = "VORTEX CLIENT";
[Link] = "none";
[Link] = "55px";
}

const background = [Link](".HomePageBackground");


if (background) {
[Link] =
'url([Link]
[Link])';
}

const TitleContainer = [Link]('.TitleContainer');


[Link] = '70%';

[Link]('.[Link]').forEach(CardText => {
[Link] = 'transparent';
[Link] = '1px 1px 2px black';
});

[Link]('.AvailableGame').forEach(GameCardContainer => {
[Link] = "0 4px 12px rgba(0, 0, 0, 0.2)";
});

function inGame() {
[Link] = 'block';
[Link](".AdBannerContainer").forEach(adHolder => {
[Link]();
});
const GameHeader = [Link]('.InGameHeader');
if (GameHeader) {
[Link] = 'rgba(30, 33, 41, 0.85)';
[Link] = '23px 5px';
[Link] = '9px';

function makeMessagesTransparent() {
[Link]('.MessageWrapper').forEach(msg => {
[Link] = 'transparent';
});
}
makeMessagesTransparent();
const chatContainer = [Link]('.Chat');
if (chatContainer) {
const observer = new MutationObserver(() => {
makeMessagesTransparent();
});
[Link](chatContainer, {
childList: true,
subtree: true
});
}
const InGameChat = [Link]('.Chat');
[Link] = 'rgba(30, 33, 41 ,0.85)';
[Link] = '9px';
[Link] = '350px';
[Link] = '400px';
[Link] = '400px';
[Link] = '10px 0px';
if (GameHeader && InGameChat) {
const headerRect = [Link]();
[Link] = "absolute";
[Link] = `${[Link] + 5 +
[Link]}px`;
}

if (![Link]('.VortexInGameLogo')) {
const InGameLogoHolder = [Link]('div');
[Link]('VortexInGameLogo');
[Link] = 'flex';
[Link] = 'center';
[Link] = '0px';
const VortexInGameLogo = [Link]('div');
[Link] =
'url([Link]
[Link] = 'no-repeat';
[Link] = 'contain';
[Link] = 'center';
[Link] = '#fff';
[Link] = '2em';
[Link] = '1.5em';
[Link] = 'flex';
[Link] = 'center';
[Link] = 'center';
[Link] = '0 0 0 3px';
const text = [Link]('span');
[Link] = 'ortex';
[Link] = '1.1em';
[Link] = 'bolder';
[Link] = '#fff';
[Link] = 'flex';
[Link] = 'center';
[Link] = '-10px';
[Link] = '-2px';
[Link](VortexInGameLogo);
[Link](text);
[Link](InGameLogoHolder);
} ['LikeButton', 'InGameHeaderLogo',
'InGameHeaderSpacer'].forEach(className => {
[Link]('.' + className).forEach(Hidden => {
[Link] = 'none';
[Link] = '0';
});
});
const LobbyName = [Link]('.InGameHeaderLobbyName');
if (LobbyName) {
[Link] = 'gray';
[Link] = '8px';
} ['FpsWrapperDiv', 'CoordinateUI'].forEach(className => {
[Link]('.' + className).forEach(headerbox => {
[Link] = 'rgba(30, 33, 41 ,0.85)';
[Link] = '9px';
[Link] = '23px';
[Link] = '23px';
});
});
['FpsCanvas', 'CoordinateCanvas'].forEach(className => {
[Link]('.' + className).forEach(canvasstyle => {
[Link] = '14px';
});
})
}
}

function checkState() {
const homePage = [Link](".HomePage");
if (homePage && [Link](homePage).display !== "none") {
if (!menuInterval) {
menuInterval = setInterval(inMenu, 1000);
}
if (gameInterval) {
clearInterval(gameInterval);
gameInterval = null;
}
} else {
if (!gameInterval) {
gameInterval = setInterval(inGame, 1000);
}
if (menuInterval) {
clearInterval(menuInterval);
menuInterval = null;
}
}
}
checkState();
setInterval(checkState, 1000);

const hud = [Link]('div');


[Link] = 'fixed';
[Link] = '0';
[Link] = '0';
[Link] = '100%';
[Link] = '100%';
[Link] = '999999';
[Link] = 'rgba(0, 0, 0, 0.8)';
[Link] = 'auto';
[Link] = 'blur(5px)';
[Link] = 'all 0.2s ease';
[Link](hud);

const menu = [Link]('div');


[Link] = 'fixed';
[Link] = '50%';
[Link] = '50%';
[Link] = 'translate(-50%, -50%)';
[Link] = '30vw';
[Link] = '40vh';
[Link] = '500px';
[Link] = '400px';
[Link] = '300px';
[Link] = '250px';
[Link] = '1000000';
[Link] = 'flex';
[Link] = 'column';
[Link] = 'center';
[Link] = 'center';
[Link] = 'url([Link]
[Link])';
[Link] = 'no-repeat';
[Link] = '265px 230px';
[Link] = 'center calc(50% - 70px)';
[Link](menu);

const mainMenuCon = [Link]('div');


[Link] = '50vw';
[Link] = '65vh';
[Link] = 'fixed';
[Link] = '50%';
[Link] = '50%';
[Link] = 'translate(-50%, -50%)';
[Link] = 'none';
[Link] = 'column';
[Link] = 'center';
[Link] = 'center';
[Link] = '1000px';
[Link] = '800px';
[Link] = '900px';
[Link] = '700px';
[Link](mainMenuCon);

const mainMenu = [Link]('div');


[Link] = '50vw';
[Link] = '45vh';
[Link] = '999999';
[Link] = 'relative';
[Link] = 'blur(0.45rem)';
[Link] = 'rgba(10, 12, 16, 0.6)';
[Link] = '1rem';
[Link] = '20px';
[Link] = '1px solid rgba(255, 255, 255, 0.07)';
[Link] = 'flex';
[Link] = 'center';
[Link] = 'center';
[Link] = '0 10px 30px rgba(0, 0, 0, 0.1)';
[Link] = '1000px';
[Link] = '550px';
[Link] = '900px';
[Link] = '550px';
[Link](mainMenu);

const contentArea = [Link]('div');


[Link] = '230px';
[Link] = '20px';
[Link] = 'calc(100% - 230px)';
[Link] = '100%';
[Link] = 'flex';
[Link] = 'column';
[Link] = 'flex-start';
[Link] = 'flex-start';
[Link] = 'white';
[Link] = '18px';
[Link] = 'bold';
[Link](contentArea);

const tabBar = [Link]('div');


[Link] = '240px';
[Link] = '100%';
[Link] = 'flex';
[Link] = 'column';
[Link] = 'flex-start';
[Link] = 'center';
[Link] = '15px';
[Link] = 'absolute';
[Link] = '0';
[Link] = '0';
[Link] = '1.4px solid rgba(255, 255, 255, 0.07)';
[Link] = 'rgba(0, 4, 9, 0.7)';
[Link] = '1rem';
[Link] = '1rem';
[Link](tabBar);

const logoWrapper = [Link]('div');


[Link] = 'flex';
[Link] = 'column';
[Link] = 'center';
[Link] = '20px';
[Link](logoWrapper);

const sidebarLogo = [Link]('img');


[Link] = '[Link]
[Link] = '200px';
[Link] = 'auto';
[Link] = '0.4rem';
[Link](sidebarLogo);

const versionLabel = [Link]('div');


[Link] = 'Version Beta';
[Link] = '13px';
[Link] = 'lighter';
[Link] = 'rgba(255, 255, 255, 0.3)';
[Link] = '-2px';
[Link](versionLabel);

const separator = [Link]('div');


[Link] = '85%';
[Link] = '1px';
[Link] = 'rgba(255, 255, 255, 0.07)';
[Link] = '5px';
[Link](separator);

const tabs = [
{ name: 'Combat', icon: 'ri-sword-fill', description: '#Modules for
fighting and attacks (coming soon)' },
{ name: 'Visual', icon: 'ri-eye-fill', description: '#Modules for graphics
and effects' },
{ name: 'Player', icon: 'ri-walk-fill', description: '#Modules for movement
and stats (coming soon)' },
{ name: 'Utility', icon: 'ri-tools-fill', description: '#Modules for extra
tools and functions' },
{ name: 'Cosmetics', icon: 'ri-magic-fill', description: '#Modules for
skins and appearance' }
];

const tabButtons = [];


let currentTabName = tabs[0].name;
let currentTabDescription = tabs[0].description;

[Link]((tab, index) => {


const tabBtn = [Link]('button');
[Link] = `<i class="${[Link]}" style="margin-right:8px; font-
size:18px;"></i> ${[Link]}`;
[Link] = '80%';
[Link] = '48px';
[Link] = 'flex';
[Link] = 'center';
[Link] = 'flex-start';
[Link] = '8px';
[Link] = '10px';
[Link] = '8px';
[Link] = 'pointer';
[Link] = '14px';
[Link] = 'bold';
[Link] = 'rgba(255, 255, 255, 0.35)';
[Link] = 'all 0.35s ease';
[Link] = 'transparent';
[Link] = 'none';
[Link] = 'none';
if (index === 0) setActive(tabBtn);
[Link]('mouseover', () => { if (!
[Link]('active')) { [Link] = '1px solid rgba(255,
255, 255, 0.1)'; [Link] = 'rgba(255, 255, 255, 0.05)';
[Link] = 'rgba(255, 255, 255, 0.6)'; } });
[Link]('mouseout', () => { if (!
[Link]('active')) { [Link] = 'none';
[Link] = 'transparent'; [Link] = 'rgba(255, 255,
255, 0.35)'; } });
[Link]('click', () => {
[Link](btn => { [Link]('active');
[Link] = 'transparent'; [Link] = 'none';
[Link] = 'none'; [Link] = 'rgba(255, 255, 255, 0.35)'; });
setActive(tabBtn);
setContent([Link], [Link]);
});
[Link](tabBtn);
[Link](tabBtn);
});

function setActive(btn) {
[Link]('active');
[Link] = 'rgba(110, 40, 40, 0.8)';
[Link] = '1px solid rgba(255, 255, 255, 0.1)';
[Link] = '0px 0px 15px 0px rgb(110, 40, 40)';
[Link] = 'white';
}

const bottomSeparator = [Link]('div');


[Link] = '85%';
[Link] = '1.5px';
[Link] = 'rgba(255, 255, 255, 0.07)';
[Link] = '7px 0 7px 0';
[Link](bottomSeparator);

const footerButtons = [{ name: 'Settings', icon: 'ri-settings-5-fill' },


{ name: 'Exit', icon: 'ri-logout-box-r-fill' }];
[Link](footer => {
const fBtn = [Link]('button');
[Link] = `<i class="${[Link]}" style="margin-right:8px; font-
size:18px;"></i> ${[Link]}`;
[Link] = '80%';
[Link] = '48px';
[Link] = 'flex';
[Link] = 'center';
[Link] = 'flex-start';
[Link] = '8px';
[Link] = '8px';
[Link] = '8px';
[Link] = 'pointer';
[Link] = '14px';
[Link] = 'bold';
[Link] = 'rgba(255, 255, 255, 0.35)';
[Link] = 'all 0.3s ease';
[Link] = 'transparent';
[Link] = 'none';
[Link]('mouseover', () => { if (!
[Link]('active')) { [Link] = 'rgba(255, 255,
255, 0.05)'; [Link] = 'rgba(255, 255, 255, 0.6)'; [Link] =
'1px solid rgba(255, 255, 255, 0.1)'; } });
[Link]('mouseout', () => { if (!
[Link]('active')) { [Link] = 'transparent';
[Link] = 'rgba(255, 255, 255, 0.35)'; [Link] = 'none'; } });
if ([Link] === 'Exit') { [Link]('click', () =>
{ [Link] = 'none'; [Link] = 'flex'; }); }
else if ([Link] === 'Settings') {
[Link]('click', () => {
[Link](btn => { [Link]('active');
[Link] = 'transparent'; [Link] = 'none';
[Link] = 'none'; [Link] = 'rgba(255, 255, 255, 0.35)'; });
setContent('Settings', '#Configure client settings');
[Link]('active');
[Link] = 'rgba(255, 255, 255, 0.05)';
[Link] = 'rgba(255, 255, 255, 0.6)';
[Link] = '1px solid rgba(255, 255, 255, 0.1)';
});
}
[Link](fBtn);
});

function createModuleCard(moduleName, iconClass, descriptionText, hasSettings =


false, isEnabled = false) {
const card = [Link]('div');
[Link] = 'rgba(255, 255, 255, 0.05)';
[Link] = '12px';
[Link] = '20px';
[Link] = '1px solid rgba(255, 255, 255, 0.1)';
[Link] = 'center';
[Link] = 'pointer';
[Link] = 'transform 0.3s ease, box-shadow 0.3s ease';
[Link] = 'flex';
[Link] = 'column';
[Link] = 'space-between';
const textWrapper = [Link]('div');
const name = [Link]('div');
[Link] = moduleName;
[Link] = '10px';
[Link] = '16px';
[Link] = 'bold';
[Link] = 'white';
[Link](name);
const desc = [Link]('div');
[Link] = descriptionText;
[Link] = '12px';
[Link] = 'rgba(255, 255, 255, 0.6)';
[Link] = '5px';
[Link](desc);
[Link](textWrapper);
const controls = [Link]('div');
[Link] = 'flex';
[Link] = 'center';
[Link] = 'center';
[Link] = '15px';
[Link] = '10px';
const switchLabel = [Link]('label');
[Link] = 'relative';
[Link] = 'inline-block';
[Link] = '54px';
[Link] = '28px';
[Link](switchLabel);
const switchInput = [Link]('input');
[Link] = 'checkbox';
[Link] = '0';
[Link] = '0';
[Link] = '0';
[Link](switchInput);
const slider = [Link]('span');
[Link] = 'absolute';
[Link] = 'pointer';
[Link] = '0';
[Link] = '0';
[Link] = '0';
[Link] = '0';
[Link] = 'rgba(255, 255, 255, 0.1)';
[Link] = '.4s';
[Link] = '34px';
[Link](slider);
const sliderKnob = [Link]('span');
[Link] = 'absolute';
[Link] = '""';
[Link] = '20px';
[Link] = '20px';
[Link] = '4px';
[Link] = '4px';
[Link] = 'white';
[Link] = '.4s';
[Link] = '50%';
[Link](sliderKnob);
if (isEnabled) {
[Link] = true;
[Link] = 'rgba(110, 40, 40, 0.8)';
[Link] = 'translateX(26px)';
}
[Link]('change', () => {
const isChecked = [Link];
if (isChecked) {
[Link] = 'rgba(110, 40, 40, 0.8)';
[Link] = 'translateX(26px)';
} else {
[Link] = 'rgba(255, 255, 255, 0.1)';
[Link] = 'translateX(0)';
}
let savedStates = [Link]([Link](storageKey)) || {};
savedStates[moduleName] = isChecked;
[Link](storageKey, [Link](savedStates));
const module = getModuleByName(moduleName);
if (!module) return;
if (isChecked && typeof [Link] === 'function') {
[Link]();
} else if (!isChecked && typeof [Link] === 'function') {
[Link]();
}
});
if (hasSettings) {
const settingsBtn = [Link]('button');
[Link] = '<i class="ri-settings-4-fill"></i>';
[Link] = '28px';
[Link] = '28px';
[Link] = '10px';
[Link] = 'none';
[Link] = 'pointer';
[Link] = 'rgba(255, 255, 255, 0.1)';
[Link] = 'white';
[Link] = '18px';
[Link] = 'background-color 0.3s ease';
[Link] = 'flex';
[Link] = 'center';
[Link] = 'center';
[Link]('click', (e) => {
[Link]();
const module = getModuleByName(moduleName);
if (module) { showSettingsPanel(module); }
});
[Link]('mouseover', () =>
{ [Link] = 'rgba(255, 255, 255, 0.2)'; });
[Link]('mouseout', () =>
{ [Link] = 'rgba(255, 255, 255, 0.1)'; });
[Link](settingsBtn);
}
[Link](controls);
[Link]('mouseover', () => { [Link] =
'translateY(-5px) scale(1.02)'; });
[Link]('mouseout', () => { [Link] =
'translateY(0) scale(1)'; });
return card;
}

function showSettingsPanel(module) {
[Link] = '';
[Link] = 'flex';
[Link] = 'column';
[Link] = 'flex-start';

const headerContainer = [Link]('div');


[Link] = 'flex';
[Link] = 'center';
[Link] = '100%';
[Link] = '15px';
[Link](headerContainer);

const backButton = [Link]('button');


[Link] = `<i class="ri-arrow-left-line"></i>`;
[Link] = '20px';
[Link] = 'white';
[Link] = 'rgba(255, 255, 255, 0.1)';
[Link] = '1px solid rgba(255, 255, 255, 0.15)';
[Link] = '8px';
[Link] = '40px';
[Link] = '40px';
[Link] = 'pointer';
[Link] = '15px';
[Link] = 'background-color 0.3s ease';
[Link] = 'flex';
[Link] = 'center';
[Link] = 'center';
[Link]('mouseover', () =>
{ [Link] = 'rgba(255, 255, 255, 0.2)'; });
[Link]('mouseout', () =>
{ [Link] = 'rgba(255, 255, 255, 0.1)'; });
[Link]('click', () => { setContent(currentTabName,
currentTabDescription); });
[Link](backButton);

const title = [Link]('div');


[Link] = `${[Link]} Settings`;
[Link] = '22px';
[Link] = 'bold';
[Link](title);

const separator = [Link]('div');


[Link] = '100%';
[Link] = '1px';
[Link] = 'rgba(255, 255, 255, 0.07)';
[Link] = '20px';
[Link](separator);

if ([Link] === 'Nametags') {


const settingsContentArea = [Link]('div');
[Link] = '100%';
[Link] = 'calc(100% - 100px)';
[Link] = 'auto';
[Link] = 'flex';
[Link] = 'column';
[Link] = '20px';
[Link](settingsContentArea);

const nameWrapper = [Link]('div');


[Link] = '16px';
[Link] = '10px';
[Link] = 'rgba(0,0,0,0.2)';
[Link] = '8px';

const nameLabel = [Link]('span');


[Link] = 'Bloxd Username: ';
[Link] = 'rgba(255,255,255,0.7)';

const nameValue = [Link]('span');


[Link] = 'vortex_nametag_username';
[Link] = [Link]() || 'loading...';
[Link] = 'bold';
[Link] = 'white';

[Link](nameLabel);
[Link](nameValue);
[Link](nameWrapper);

const gridTitle = [Link]('div');


[Link] = 'Select a Nametag Image';
[Link] = '18px';
[Link] = 'bold';
[Link] = '10px';
[Link](gridTitle);

const imageGrid = [Link]('div');


[Link] = 'grid';
[Link] = 'repeat(auto-fill, minmax(120px,
1fr))';
[Link] = '15px';
[Link] = '10px';
[Link](imageGrid);

const nametagImageUrls = [
'[Link]
'[Link]
'[Link]
[Link]',
'[Link]
'[Link]
'[Link]
'[Link]

'[Link]
[Link]',
'[Link]
[Link]',
'[Link]
];

[Link](url => {
const imgContainer = [Link]('div');
[Link] = 'pointer';
[Link] = '2px solid transparent';
[Link] = '8px';
[Link] = 'all 0.2s ease';
[Link] = '4px';
[Link] = 'rgba(255,255,255,0.05)';
const img = [Link]('img');
[Link] = url;
[Link] = '100%';
[Link] = '100%';
[Link] = 'block';
[Link] = '6px';
[Link] = 'cover';
[Link](img);
[Link]('mouseover', () =>
{ [Link] = 'rgba(110, 40, 40, 0.8)';
[Link] = 'scale(1.05)'; });
[Link]('mouseout', () =>
{ [Link] = 'transparent'; [Link] =
'scale(1.0)'; });
[Link]('click', () => {
[Link](url);
[Link]('.nametag-img-container').forEach(c
=> [Link] = 'transparent');
[Link] = 'rgb(110, 40, 40)';
});
[Link] = 'nametag-img-container';
[Link](imgContainer);
});
return;
}

const settingsContentArea = [Link]('div');


[Link] = '100%';
[Link] = 'flex';
[Link] = 'column';
[Link] = '20px';
[Link](settingsContentArea);

if (![Link] || [Link] === 0) {


[Link] = 'No configurable settings are
available for this module.';
[Link] = 'rgba(255, 255, 255, 0.5)';
[Link] = '14px';
return;
}

const savedSettings = [Link]([Link](settingsStorageKey))


|| {};

function saveSetting(id, value) {


savedSettings[id] = value;
[Link](settingsStorageKey,
[Link](savedSettings));
}

[Link](setting => {
const value = savedSettings[[Link]] !== undefined ?
savedSettings[[Link]] : [Link];
const settingWrapper = [Link]('div');
[Link] = 'flex';
[Link] = 'space-between';
[Link] = 'center';
[Link] = '100%';

const label = [Link]('label');


[Link] = [Link];
[Link] = '16px';
[Link](label);

switch ([Link]) {
case 'slider': {
const controlWrapper = [Link]('div');
[Link] = 'flex';
[Link] = 'center';
[Link] = '10px';
const slider = [Link]('input');
[Link] = 'range';
[Link] = [Link];
[Link] = [Link];
[Link] = [Link];
[Link] = value;
const valueLabel = [Link]('span');
[Link] = parseFloat(value).toFixed(1);
[Link] = '30px';
[Link]('input', () => {
[Link] =
parseFloat([Link]).toFixed(1);
saveSetting([Link], parseFloat([Link]));
});
[Link](slider);
[Link](valueLabel);
[Link](controlWrapper);
break;
}
case 'toggle': {
const switchLabel = [Link]('label');
[Link] = 'relative';
[Link] = 'inline-block';
[Link] = '54px';
[Link] = '28px';
const switchInput = [Link]('input');
[Link] = 'checkbox';
[Link] = '0';
[Link] = '0';
[Link] = '0';
const sliderSpan = [Link]('span');
[Link] = 'absolute';
[Link] = 'pointer';
[Link] = '0';
[Link] = '0';
[Link] = '0';
[Link] = '0';
[Link] = '.4s';
[Link] = '34px';
const sliderKnob = [Link]('span');
[Link] = 'absolute';
[Link] = '20px';
[Link] = '20px';
[Link] = '4px';
[Link] = '4px';
[Link] = 'white';
[Link] = '.4s';
[Link] = '50%';

function updateToggle(checked) {
if (checked) {
[Link] = 'rgba(110, 40, 40,
0.8)';
[Link] = 'translateX(26px)';
} else {
[Link] = 'rgba(255, 255, 255,
0.1)';
[Link] = 'translateX(0)';
}
}
[Link] = value;
updateToggle(value);
[Link]('change', () => {
updateToggle([Link]);
saveSetting([Link], [Link]);
});
[Link](sliderKnob);
[Link](switchInput);
[Link](sliderSpan);
[Link](switchLabel);
break;
}
case 'color': {
const colorInput = [Link]('input');
[Link] = 'color';
[Link] = value;
[Link] = 'none';
[Link] = 'none';
[Link] = '40px';
[Link] = '40px';
[Link]('input', () => {
saveSetting([Link], [Link]);
});
[Link](colorInput);
break;
}
case 'dropdown': {
const select = [Link]('select');
[Link] = [Link];
[Link] = 'rgba(0,0,0,0.3)';
[Link] = 'white';
[Link] = '1px solid rgba(255,255,255,0.1)';
[Link] = '5px';
[Link] = '5px';
[Link](opt => {
const option = [Link]('option');
[Link] = opt;
[Link] = opt;
[Link](option);
});
[Link] = value;
[Link]('change', () => {
saveSetting([Link], [Link]);
});
[Link](select);
break;
}
case 'text': {
const textInput = [Link]('input');
[Link] = 'text';
[Link] = [Link];
[Link] = value;
[Link] = 'rgba(0,0,0,0.3)';
[Link] = 'white';
[Link] = '1px solid rgba(255,255,255,0.1)';
[Link] = '5px';
[Link] = '8px';
[Link] = 'right';
[Link]('change', () => {
saveSetting([Link], [Link]);
});
[Link](textInput);
break;
}
}
[Link](settingWrapper);
});
}
function setContent(tabName, tabDescription) {
currentTabName = tabName;
currentTabDescription = tabDescription;
[Link] = '';
[Link] = 'relative';
const headerContainer = [Link]('div');
[Link] = 'center';
[Link] = '100%';
[Link] = '15px';
[Link](headerContainer);
const tabLabel = [Link]('div');
[Link] = tabName;
[Link] = '22px';
[Link] = 'bold';
[Link] = 'white';
[Link] = '5px';
[Link] = '0 0 10px rgba(255, 255, 255, 0.2)';
[Link] = 'all 0.4s ease-in-out';
[Link](tabLabel);
const description = [Link]('div');
[Link] = tabDescription;
[Link] = '11px';
[Link] = 'normal';
[Link] = 'rgba(255, 255, 255, 0.5)';
[Link] = 'uppercase';
[Link](description);
const separator = [Link]('div');
[Link] = '100%';
[Link] = '1px';
[Link] = 'rgba(255, 255, 255, 0.07)';
[Link] = '20px';
[Link](separator);
const gridContainer = [Link]('div');
[Link] = '100%';
[Link] = 'calc(100% - 100px)';
[Link] = 'auto';
[Link] = 'grid';
[Link] = 'repeat(auto-fill, minmax(180px,
1fr))';
[Link] = '20px';
[Link] = '10px';
[Link](gridContainer);
let savedStates = [Link]([Link](storageKey)) || {};
const currentModules = modules[tabName] || [];
[Link](module => {
const isEnabled = savedStates[[Link]] !== undefined ?
savedStates[[Link]] : [Link];
const card = createModuleCard([Link], [Link],
[Link], [Link], isEnabled);
[Link](card);
});
}

const createStyledButton = (options = {}) => {


const btn = [Link]('button');
[Link] = [Link] || '60px';
[Link] = [Link] || '60px';
[Link] = 'linear-gradient(45deg, rgba(0, 4, 9, 1) 40%,
rgba(14, 14, 19, 1) 100%)';
[Link] = 'cover';
[Link] = '0% 0%';
[Link] = 'repeat';
[Link] = 'transparent';
[Link] = 'none';
[Link] = '0.7rem';
[Link] = 'pointer';
[Link] = 'none';
[Link] = [Link] || '20px';
[Link] = 'white';
[Link] = 'box-shadow 0.3s ease';
[Link]('mouseover', function () { [Link] =
'background-image 0.3s ease, box-shadow 0.3s ease'; [Link] =
'linear-gradient(45deg, rgba(110, 40, 40, 1) 40%, rgba(124, 54, 59, 1) 100%)';
[Link] = '0px 0px 29px 0px rgb(110, 40, 40)'; });
[Link]('mouseout', function () { [Link] =
'none'; [Link] = 'linear-gradient(45deg, rgba(0, 4, 9, 1) 40%,
rgba(14, 14, 19, 1) 100%)'; [Link] = 'none'; });
if ([Link]) [Link] = [Link];
if ([Link]) [Link] = [Link];
return btn;
};

const VortexContainer = [Link]('div');


[Link] = 'flex';
[Link] = 'column';
[Link] = 'center';
[Link] = '10px';
[Link](VortexContainer);

const VortexSettingsBtn = createStyledButton({ width: '250px', height: '60px',


fontSize: '16px', text: 'Vortex Settings' });
[Link] = '120px';
[Link]('click', function ()
{ [Link] = 'flex'; [Link] = 'none';
[Link] = ''; });
[Link](VortexSettingsBtn);

const VortexMenuBtnDiv = [Link]('div');


[Link] = '250px';
[Link] = '60px';
[Link] = 'flex';
[Link] = 'row';
[Link] = 'center';
[Link] = '10px';
[Link] = '10px';
[Link](VortexMenuBtnDiv);

const icons = ['ri-pencil-fill', 'ri-group-fill', 'ri-magic-fill', 'ri-


settings-5-fill'];
[Link](icon => {
const btn = createStyledButton({ html: `<i class="${icon}"></i>` });
[Link](btn);
if (icon === 'ri-pencil-fill') {
[Link]('click', startHudEditMode);
}
});

let hudEditOverlay = null;


function startHudEditMode() {
if (hudEditOverlay && [Link] === 'flex') return;
[Link] = 'transparent';
[Link] = 'blur(0px)';
[Link] = 'grayscale(0%) brightness(1)';
[Link] = 'none';
[Link] = 'none';
if (!hudEditOverlay) {
hudEditOverlay = [Link]('div');
[Link]([Link], { position: 'fixed', top: 0, left:
0, width: '100%', height: '100%', zIndex: '999998', display: 'flex',
justifyContent: 'center', alignItems: 'center', paddingBottom: '30px',
pointerEvents: 'none' });
const doneButton = [Link]('button');
[Link] = 'Done';
[Link]([Link], { padding: '12px 25px', fontSize:
'18px', cursor: 'pointer', color: 'white', boxShadow : '0px 0px 15px 0px rgb(20,
20, 20)', border: '1px solid rgba(125, 125, 125, 0.5)', borderRadius: '8px',
backgroundColor: 'rgb(20, 20, 20)', transition: 'transform 0.2s ease',
pointerEvents: 'auto' });
[Link]('mouseover', () =>
[Link] = 'scale(1.05)');
[Link]('mouseout', () =>
[Link] = 'scale(1.0)');
[Link]('click', endHudEditMode);
[Link](doneButton);
[Link](hudEditOverlay);
}
[Link] = 'flex';
if (typeof [Link] === 'function')
[Link](true);
}
function endHudEditMode() {
if (hudEditOverlay) [Link] = 'none';
[Link] = 'flex';
[Link] = 'auto';
[Link] = 'rgba(0, 0, 0, 0.8)';
[Link] = 'blur(5px)';
[Link] = 'grayscale(80%) brightness(0.6))';
if (typeof [Link] === 'function')
[Link](false);
}

let menuVisible = true;


const toggleMenuKey = 'ShiftRight';
[Link]('keydown', function (e) {
if ([Link] === toggleMenuKey) {
if (hudEditOverlay && [Link] === 'flex')
{endHudEditMode();return;}
menuVisible = !menuVisible;
[Link] = menuVisible ? 'flex' : 'none';
[Link] = menuVisible ? 'rgba(0, 0, 0, 0.8)' :
'transparent';
[Link] = menuVisible ? 'blur(5px)' : 'blur(0px)';
[Link] = menuVisible ? 'auto' : 'none';
[Link] = 'none';
[Link] = 'block';
[Link] = menuVisible ? 'grayscale(80%) brightness(0.6)' :
'grayscale(0%) brightness(1)';
if (menuVisible && [Link])
{ [Link](); }
}
});

setContent(tabs[0].name, tabs[0].description);
setTimeout(initializeModules, 2000);

//CPS COUNTER MODULE (this is not ai bruh its just so its more clean)
const cpsModule = (function () {
let cpsHud = null;
let clicksTextSpan = null;
let clickListener = null;
let updateIntervalId = null;
let positionIntervalId = null;

let leftClicks = 0;
let rightClicks = 0;
let lastLeftClickTime = 0;
let lastRightClickTime = 0;

const start = () => {


if (cpsHud) return;
cpsHud = [Link]("div");
[Link] = "fixed";
[Link] = 'cpsDisplay';
[Link] = "rgba(0, 0, 0, 0.6)";
[Link] = "#fff";
[Link] = 'center';
[Link] = 'center';
[Link] = '500';
[Link] = '0.5';
[Link] = 'none';
const cpsTextSpan = [Link]("span");
[Link] = "#cfcfcf";
[Link] = "CPS ";
[Link] = '5px';
clicksTextSpan = [Link]("span");
[Link] = "#fff";
[Link] = "0 � 0";
[Link](cpsTextSpan);
[Link](clicksTextSpan);
[Link](cpsHud);
lastLeftClickTime = [Link]();
lastRightClickTime = [Link]();
clickListener = (e) => {
if ([Link] === 0) {
leftClicks++;
} else if ([Link] === 2) {
rightClicks++;
}
};
[Link]("mousedown", clickListener);

const updateBoxPosition = () => {


if (!cpsHud) return;

const header = [Link]('.InGameHeader');


if (!header || [Link] === 0) {
[Link] = 'none';
return;
}
[Link] = 'flex';

const fps = [Link]('.FpsWrapperDiv');


const coords = [Link]('.CoordinateUI');
const fpsVisible = fps && [Link](fps).display !==
'none';
const visibleCoords = [Link](coords).filter(c =>
[Link](c).display !== 'none');
let targetRect = null;

if ([Link] > 0) {
const rightmostCoord = [Link]((a, b) =>
[Link]().right > [Link]().right ? a : b);
targetRect = [Link]();
} else if (fpsVisible) {
targetRect = [Link]();
} else {
targetRect = [Link]();
}

[Link] = `${[Link]}px`;
[Link] = `${[Link] + 5}px`;
[Link] = `${[Link]}px`;
const headerStyle = [Link](header);
[Link] = [Link];
[Link] = [Link];
[Link] = [Link];
[Link] = 'auto';
[Link] = `${[Link] + 10}px`;
};

setInterval(() => {
[Link] = `${leftClicks} � ${rightClicks}`;
leftClicks = 0;
rightClicks = 0;
}, 1000);

positionIntervalId = setInterval(updateBoxPosition, 250);


};

const stop = () => {


clearInterval(updateIntervalId);
clearInterval(positionIntervalId);
updateIntervalId = positionIntervalId = null;

if (clickListener) {
[Link]("mousedown", clickListener);
clickListener = null;
}

if (cpsHud) {
[Link]();
cpsHud = null;
}

leftClicks = 0;
rightClicks = 0;
};

return {
start,
stop
};
})();

//PING COUNTER MODULE (this is not ai bruh its just so its more clean)
const pingModule = (function () {
let pingHud = null;
let msTextSpan = null;
let pingUpdateIntervalId = null;
let textUpdateIntervalId = null;
let positionIntervalId = null;
let ping = 0;

const start = () => {


if (pingHud) return;
pingHud = [Link]("div");
[Link] = "fixed";
[Link] = "#fff";
[Link] = 'none';
[Link] = 'center';
[Link] = 'center';
[Link] = '500';
[Link] = '0.5';
const pingTextSpan = [Link]("span");
[Link] = "#cfcfcf";
[Link] = "PING ";
[Link] = '5px';
msTextSpan = [Link]("span");
[Link] = "#fff";
[Link] = "--ms";
[Link](pingTextSpan);
[Link](msTextSpan);
[Link](pingHud);

const updatePing = () => {


const startTime = [Link]();
fetch([Link], { method: 'HEAD', mode: 'no-cors',
cache: 'no-store' })
.then(() => {
ping = [Link]() - startTime;
})
.catch(() => {
ping = -1;
});
};
const updateBoxPosition = () => {
if (!pingHud) return;

const header = [Link]('.InGameHeader');


if (!header || [Link] === 0) {
[Link] = 'none';
return;
}
[Link] = 'flex';
const fps = [Link]('.FpsWrapperDiv');
const coords = [Link]('.CoordinateUI');
const cpsElement = [Link]('cpsDisplay');

const fpsVisible = fps && [Link](fps).display !==


'none';
const visibleCoords = [Link](coords).filter(c =>
[Link](c).display !== 'none');
const cpsVisible = cpsElement &&
[Link](cpsElement).display !== 'none';

let targetRect = null;

if (cpsVisible) {
targetRect = [Link]();
} else if ([Link] > 0) {
targetRect = [Link]((rightmost, c) => {
const rect = [Link]();
return !rightmost || [Link] > [Link] ? rect :
rightmost;
}, null);
} else if (fpsVisible) {
targetRect = [Link]();
} else {
targetRect = [Link]();
}

[Link] = `${[Link]}px`;
[Link] = `${[Link] + 5}px`;
[Link] = `${[Link]}px`;

const headerStyle = [Link](header);


[Link] = [Link];
[Link] = [Link];
[Link] = [Link];
[Link] = 'auto';
[Link] = `${[Link] + 10}px`;
};

textUpdateIntervalId = setInterval(() => {


if (msTextSpan) {
[Link] = ping >= 0 ? `${ping}ms` : "--";
}
}, 1000);
pingUpdateIntervalId = setInterval(updatePing, 2500);
positionIntervalId = setInterval(updateBoxPosition, 300);
updatePing();
updateBoxPosition();
};

const stop = () => {


clearInterval(pingUpdateIntervalId);
clearInterval(textUpdateIntervalId);
clearInterval(positionIntervalId);
pingUpdateIntervalId = textUpdateIntervalId = positionIntervalId =
null;
if (pingHud) {
[Link]();
pingHud = null;
}

msTextSpan = null;
ping = 0;
};

return {
start,
stop
};

})();

// ARMOUR VIEW MODULE (this is not ai bruh its just so its more clean)
const armorDisplayModule = (function() {
const ARMOR_IMG_URL =
'[Link]
const ARMOR_INDEXES = [46, 47, 48, 49, 50];
const POSITION_STORAGE_KEY = 'armorDisplayPosition';
let displayBox = null;
let overrideStyleSheet = null;
let updateIntervalId = null;
let isEditable = false;
let isDragging = false;
let dragOffsetX = 0;
let dragOffsetY = 0;

const setStyles = (element, styles) => {


[Link]([Link], styles);
};

const getSettings = () => {


const savedSettings =
[Link]([Link](settingsStorageKey)) || {};
return {
scale: savedSettings.armourview_scale !== undefined ?
savedSettings.armourview_scale : 1.0,
orientation: savedSettings.armourview_orientation || 'Horizontal'
};
};

const savePosition = () => {


if (!displayBox) return;
const position = { top: [Link], left:
[Link] };
[Link](POSITION_STORAGE_KEY, [Link](position));
};

const loadPosition = () => {


const savedPosition = [Link](POSITION_STORAGE_KEY);
return savedPosition ? [Link](savedPosition) : null;
};

const onMouseDown = (e) => {


if (!isEditable || [Link] !== 0) return;
isDragging = true;
[Link]();
const rect = [Link]();
setStyles(displayBox, {
top: `${[Link]}px`,
left: `${[Link]}px`,
bottom: 'auto',
right: 'auto',
transformOrigin: 'top left'
});

dragOffsetX = [Link] - [Link];


dragOffsetY = [Link] - [Link];
[Link] = 'move';
[Link]('mousemove', onMouseMove);
[Link]('mouseup', onMouseUp);
};

const onMouseMove = (e) => {


if (!isDragging) return;
[Link]();
let newLeft = [Link] - dragOffsetX;
let newTop = [Link] - dragOffsetY;
newLeft = [Link](0, [Link](newLeft, [Link] -
[Link]));
newTop = [Link](0, [Link](newTop, [Link] -
[Link]));
[Link] = `${newLeft}px`;
[Link] = `${newTop}px`;
};

const onMouseUp = () => {


if (!isDragging) return;
isDragging = false;
[Link] = 'grab';
savePosition();
[Link]('mousemove', onMouseMove);
[Link]('mouseup', onMouseUp);
};
const setEditable = (editable) => {
isEditable = editable;
if (!displayBox) return;
if (editable) {
setStyles(displayBox, {cursor: 'grab', border: '2px dashed rgba(30,
33, 41 ,0.85)', pointerEvents: 'auto'});
[Link]('mousedown', onMouseDown);
} else {
setStyles(displayBox, {cursor: 'default', border: 'none',
pointerEvents: 'none'});
[Link]('mousedown', onMouseDown);
if (isDragging) onMouseUp();
}
};

const injectOverrideCSS = () => {


if (overrideStyleSheet) return;
overrideStyleSheet = [Link]('style');
[Link] = `
.[Link]-item-clone {
background: none !important;
background-color: transparent !important;
border: none !important;
outline: none !important;
background-image: none !important;
}
`;
[Link](overrideStyleSheet);
};

const createDisplayBox = () => {


displayBox = [Link]('div');
const savedPosition = loadPosition();
const initialStyles = {
position: 'fixed', zIndex: '0.5', display: 'flex', padding: '5px',
backgroundColor: 'transparent', pointerEvents: 'none'
};

if (savedPosition) {
[Link](initialStyles, {
top: [Link],
left: [Link],
transformOrigin: 'top left'
});
} else {
[Link](initialStyles, {
bottom: '20px',
right: '20px',
transformOrigin: 'bottom right'
});
}
setStyles(displayBox, initialStyles);
[Link](displayBox);
};

const applyStylesFromSettings = () => {


if (!displayBox) return;
const settings = getSettings();

if ([Link] === 'Horizontal') {


setStyles(displayBox, { flexDirection: 'row', width: 'auto',
height: '60px', alignItems: 'center' });
} else {
setStyles(displayBox, { flexDirection: 'column', width: '60px',
height: 'auto', alignItems: 'center' });
}
[Link] = `scale(${[Link]})`;
};

const updateItems = () => {


if (!displayBox) return;
applyStylesFromSettings();
[Link]('.inven-item-clone').forEach(item =>
[Link]());
ARMOR_INDEXES.forEach(idx => {
const originalItem = [Link](`.InvenItem[data-inven-
idx="${idx}"]`);
if (!originalItem) return;
const clone = [Link](true);
[Link] = 'InvenItem inven-item-clone';
[Link]('id');
setStyles(clone, { backgroundColor: 'transparent', border: 'none',
marginBottom: '-7px', transform: 'scale(1.0)' });
const unfilledSlot = [Link]('.InvenItemUnfilled');
if (unfilledSlot) {
[Link] = `url("${ARMOR_IMG_URL}")`;
}
[Link](clone);
});
};

const start = () => {


if (displayBox) return;
injectOverrideCSS();
createDisplayBox();
updateItems();
updateIntervalId = setInterval(updateItems, 500);
};

const stop = () => {


clearInterval(updateIntervalId);
updateIntervalId = null;
if (displayBox) {
[Link]();
displayBox = null;
}
if (overrideStyleSheet) {
[Link]();
overrideStyleSheet = null;
}
};

return {
start,
stop,
setEditable
};
})();

// NAMETAG MODULE (this is not ai bruh its just so its more clean)
const nametagsModule = (function() {
let username = 'unknown';
let getNameIntervalId = null;
let originalGetContext = null;
let db = null;
let patterns = {};
let unsubscribeSnapshot = null;

function GetBloxdName() {
const playername =
[Link](".PlayerNamePreview")?.[Link]();
if (playername && playername !== username) {
username = playername;
const nameUIElement =
[Link]("vortex_nametag_username");
if (nameUIElement) {
[Link] = username;
}
}
}
function loadFirebaseScripts(callback) {
if ([Link] && [Link]) {
return callback();
}
const scripts = [
"[Link]
"[Link]
[Link]"
];
let loaded = 0;
[Link](src => {
const script = [Link]('script');
[Link] = src;
[Link] = () => {
loaded++;
if (loaded === [Link]) callback();
};
[Link](script);
});
}

function patchCanvas(patterns) {
const originalGetContext = [Link];
[Link] = function (type, ...args) {
const ctx = [Link](this, type, ...args);
if (type === '2d') hookCanvas(ctx, patterns);
return ctx;
};

function hookCanvas(ctx, patterns) {


if (ctx._hooked) return;
ctx._hooked = true;

const originalFillText = [Link];


[Link] = function (text, x, y, maxWidth) {
const isInsideNametagBox = x >= 0 && x <= 800 && y >= 30 && y
<= 300;
if (typeof text === "string" && [Link] > 1 &&
isInsideNametagBox && patterns[text]) {
const cfg = patterns[text];
[Link]();
[Link] = 'source-over';
[Link](this, text, x, y, maxWidth);

const originalFillRect = [Link];


[Link] = function (x, y, w, h) {
const isBoxForNametag = w > 30 && w < 200 && h >= 10 &&
h <= 25 && y >= 30 && y <= 300;
if (isBoxForNametag) return;
[Link]();
[Link] = 0.8;
[Link] = 'screen';
try {
if ([Link] && [Link] > 0) {
if (![Link]) {
[Link] = [Link]([Link],
'repeat');
}
[Link] = [Link];
}
} catch (e) {}

[Link](this, x, y, w, h);
[Link]();
};
[Link]();
} else {
[Link]();
[Link](this, text, x, y, maxWidth);
[Link]();
}
};
}
}

const start = () => {


if (originalGetContext) return;
originalGetContext = [Link];
loadFirebaseScripts(() => {
if ([Link] === 0) {
const firebaseConfig = {
apiKey: "AIzaSyDmvmcxP55DQ0guGF81rLf5XCpArEr2mQs",
authDomain: "[Link]",
projectId: "vortex-client-database",
};
[Link](firebaseConfig);
}
db = [Link]();
unsubscribeSnapshot =
[Link]("nametags").onSnapshot((snapshot) => {
[Link](doc => {
const { name, imgUrl } = [Link]();
const img = new Image();
[Link] = "anonymous";
[Link] = imgUrl;
patterns[name] = { img, pattern: null };
});
});
patchCanvas(patterns);
});
getNameIntervalId = setInterval(GetBloxdName, 500);
};

const stop = () => {


if (getNameIntervalId) clearInterval(getNameIntervalId);
if (unsubscribeSnapshot) unsubscribeSnapshot();
if (originalGetContext) [Link] =
originalGetContext;
getNameIntervalId = unsubscribeSnapshot = originalGetContext = db =
null;
patterns = {};
};

return {
start,
stop,
setNametag: function(imageUrl) {
if (!db || username === 'unknown' || !imageUrl) {
alert("You have to be in menu to set your nametag");
return;
}
const name = username;
[Link]("nametags").doc(name).set({ name, imgUrl: imageUrl })
.then(() => { /* Yay it sented */ })
.catch(err => {

});
},
getUsername: () => username,
};
})();

const crosshairModule = (function () {


let crosshairElement = null;
let hideStyle = null;
let updateIntervalId = null;

const getSettings = () => {


const savedSettings =
[Link]([Link](settingsStorageKey)) || {};
return {
crosshair_color: savedSettings.crosshair_color || '#ffffff',
crosshair_size: savedSettings.crosshair_size !== undefined ?
savedSettings.crosshair_size : 4,
crosshair_shape: savedSettings.crosshair_shape || 'Default'
};
};

const renderCrosshair = () => {


if (!crosshairElement) return;

const { crosshair_color, crosshair_size, crosshair_shape } =


getSettings();
const size = parseInt(crosshair_size, 10);

let html = "";


if (crosshair_shape === "Dot") {
html = `<div style="width:${size * 2}px;height:${size *
2}px;background:${crosshair_color};border-radius:50%;position:absolute;top:-$
{size}px;left:-${size}px;"></div>`;
} else if (crosshair_shape === "Arrow") {
html = `
<div style="width:2px;height:${size * 2.5}px;background:$
{crosshair_color};position:absolute;top:0;left:-1px;transform-origin:top
center;transform:rotate(-35deg);"></div>
<div style="width:2px;height:${size * 2.5}px;background:$
{crosshair_color};position:absolute;top:0;left:-1px;transform-origin:top
center;transform:rotate(35deg);"></div>
`;
} else if (crosshair_shape === "Crossed") {
html = `
<div style="width:2px;height:${size * 2.2}px;background:$
{crosshair_color};position:absolute;top:0;left:-1px;transform-origin:top
center;transform:rotate(-40deg);"></div>
<div style="width:2px;height:${size * 2.2}px;background:$
{crosshair_color};position:absolute;top:0;left:-1px;transform-origin:top
center;transform:rotate(40deg);"></div>
<div style="width:2px;height:${size * 2.2}px;background:$
{crosshair_color};position:absolute;top:-${size * 2.2}px;left:-1px;transform-
origin:bottom center;transform:rotate(40deg);"></div>
<div style="width:2px;height:${size * 2.2}px;background:$
{crosshair_color};position:absolute;top:-${size * 2.2}px;left:-1px;transform-
origin:bottom center;transform:rotate(-40deg);"></div>
`;
} else if (crosshair_shape === "Cross") {
html = `
<div style="position:absolute;width:2px;height:${size *
2}px;background:${crosshair_color};top:-${size * 3}px;left:-1px;"></div>
<div style="position:absolute;width:2px;height:${size *
2}px;background:${crosshair_color};top:${size + 1}px;left:-1px;"></div>
<div style="position:absolute;width:${size *
2}px;height:2px;background:${crosshair_color};top:-1px;left:-${size * 3}px;"></div>
<div style="position:absolute;width:${size *
2}px;height:2px;background:${crosshair_color};top:-1px;left:${size + 1}px;"></div>
`;
} else if (crosshair_shape === "Square") {
const squareSide = size * 3;
const offset = squareSide / 2;
html = `<div style="position:absolute; width:${squareSide}px;
height:${squareSide}px; background:${crosshair_color}; top:-${offset}px; left:-$
{offset}px;"></div>`;
} else {
html = `
<div style="position:absolute;width:2px;height:${size *
4}px;background:${crosshair_color};top:-${size * 2}px;left:-1px;"></div>
<div style="position:absolute;width:${size *
4}px;height:2px;background:${crosshair_color};top:-1px;left:-${size * 2}px;"></div>
`;
}

[Link] = html;
};

const start = () => {


if (crosshairElement) return;

hideStyle = [Link]("style");
[Link] = `.CrossHair { opacity: 0 !important; }`;
[Link](hideStyle);

crosshairElement = [Link]("div");
[Link]([Link], {
position: "fixed",
top: "50%",
left: "50%",
zIndex: "0.5",
pointerEvents: "none"
});
[Link](crosshairElement);

renderCrosshair();
updateIntervalId = setInterval(renderCrosshair, 250);
};

const stop = () => {


clearInterval(updateIntervalId);
updateIntervalId = null;

if (crosshairElement) {
[Link]();
crosshairElement = null;
}
if (hideStyle) {
[Link]();
hideStyle = null;
}
};

return { start, stop };


})();

const resolutionAdjusterModule = (function() {


const UPDATE_INTERVAL_MS = 2000;
const FIND_CANVAS_INTERVAL_MS = 1000;
let findCanvasInterval = null;
let updateIntervalId = null;
let gameCanvas = null;
const getResolutionSetting = () => {
const savedSettings =
[Link]([Link](settingsStorageKey)) || {};
return savedSettings.resolution_value !== undefined ?
savedSettings.resolution_value : 1.0;
};
const resizeCanvas = (scale) => {
if (!gameCanvas) return;
const newWidth = [Link]([Link] * scale);
const newHeight = [Link]([Link] * scale);
if ([Link] !== newWidth || [Link] !== newHeight) {
[Link] = newWidth;
[Link] = newHeight;
}
};

const start = () => {


if (findCanvasInterval || updateIntervalId) return;

findCanvasInterval = setInterval(() => {


gameCanvas = [Link]('noa-canvas');
if (gameCanvas && [Link] > 0) {
clearInterval(findCanvasInterval);
findCanvasInterval = null;
const updateResolution = () => {
const currentScale = getResolutionSetting();
resizeCanvas(currentScale);
};
updateResolution();
updateIntervalId = setInterval(updateResolution,
UPDATE_INTERVAL_MS);
}
}, FIND_CANVAS_INTERVAL_MS);
};

const stop = () => {


if (findCanvasInterval) {
clearInterval(findCanvasInterval);
findCanvasInterval = null;
}
if (updateIntervalId) {
clearInterval(updateIntervalId);
updateIntervalId = null;
}
if (gameCanvas) {
resizeCanvas(1.0);
}
gameCanvas = null;
};

return {
start,
stop
};
})();

})();

You might also like