Vortex Client for Bloxd.io
Vortex Client for Bloxd.io
(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_
]
},
{
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);
function inMenu() {
[Link] = 'none';
['LogoLoaderOuter' , 'LogoLoaderInner' ,
'AdBannerContainer' ,'HomeHeaderRight LinkIconList'].forEach(className => {
[Link]('.' + className).forEach(el => [Link]());
});
[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 () {
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 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' }
];
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';
}
function showSettingsPanel(module) {
[Link] = '';
[Link] = 'flex';
[Link] = 'column';
[Link] = 'flex-start';
[Link](nameLabel);
[Link](nameValue);
[Link](nameWrapper);
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;
}
[Link](setting => {
const value = savedSettings[[Link]] !== undefined ?
savedSettings[[Link]] : [Link];
const settingWrapper = [Link]('div');
[Link] = 'flex';
[Link] = 'space-between';
[Link] = 'center';
[Link] = '100%';
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);
});
}
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;
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);
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;
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`;
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;
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);
};
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;
};
[Link](this, x, y, w, h);
[Link]();
};
[Link]();
} else {
[Link]();
[Link](this, text, x, y, maxWidth);
[Link]();
}
};
}
}
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,
};
})();
[Link] = html;
};
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);
};
if (crosshairElement) {
[Link]();
crosshairElement = null;
}
if (hideStyle) {
[Link]();
hideStyle = null;
}
};
return {
start,
stop
};
})();
})();