Unnamed ESP Script for Roblox Exploits
Unnamed ESP Script for Roblox Exploits
if not syn and not PROTOSMASHER_LOADED then print'Unnamed ESP only officially
supports Synapse and Protosmasher! If you\'re an exploit developer and have added
drawing API to your exploit, try setting syn as true then checking if that works,
otherwise, DM me on discord @ [Link]#1968 or add an issue to the Unnamed ESP
Github Repository and I\'ll see it through email!' end
return false;
end
[Link] = S;
[Link] = B;
local CustomPlayerTag;
local CustomESP;
local CustomCharacter;
local GetHealth;
local GetAliveState;
local CustomRootPartName;
local Modules = {
[292439477] = {
CustomESP = function()
if type(shared.PF_Replication) ~= 'table' then
local lastScan = [Link]
return
end
[Link] = nil;
end
end,
GetHealth = function(Player)
if type([Link]) ~= 'table' then
return false
end
return [Link]:getplayerhealth(Player)
end,
GetAliveState = function(Player)
if type([Link]) ~= 'table' then
local lastScan = [Link]
local gc = getgc(true)
for i = 1, #gc do
local gcObject = gc[i];
if type(gcObject) == 'table' and
type(rawget(gcObject, 'getplayerhealth')) == 'function' then
[Link] = gcObject;
break
end
end
end
return
end
return [Link]:isplayeralive(Player)
end,
CustomRootPartName = 'Torso',
};
[2950983942] = {
CustomCharacter = function(Player)
if workspace:FindFirstChild'Players' then
return [Link]:FindFirstChild([Link]);
end
end
};
[2262441883] = {
CustomPlayerTag = function(Player)
return Player:FindFirstChild'Job' and (' [' ..
[Link] .. ']') or '';
end;
CustomESP = function()
if workspace:FindFirstChild'MoneyPrinters' then
for i, v in pairs([Link]:GetChildren()) do
local Main = v:FindFirstChild'Main';
local Owner = v:FindFirstChild'TrueOwner';
local Money = v:FindFirstChild'Int' and
[Link]:FindFirstChild'Money' or nil;
if Main and Owner and Money then
local O = tostring([Link]);
local M = tostring([Link]);
pcall([Link],
RenderList, v, Main, [Link]('Money Printer\nOwned by %s\n[%s]', O, M),
[Link](13, 255, 227));
end
end
end
end;
};
-- [4581966615] = {
-- CustomESP = function()
-- if workspace:FindFirstChild'Entities' then
-- for i, v in pairs([Link]:GetChildren()) do
-- if not [Link]:match'Printer' then continue end
-- pcall([Link],
RenderList, v, Main, [Link]('Money Printer\nOwned by %s\n[%s]', O, M),
[Link](13, 255, 227));
-- end
-- end
-- end
-- end;
-- };
[4801598506] = {
CustomESP = function()
if workspace:FindFirstChild'Mobs' and
[Link]:FindFirstChild'Forest1' then
for i, v in pairs([Link].Forest1:GetChildren()) do
local Main = v:FindFirstChild'Head';
local Hum = v:FindFirstChild'Mob';
if Main then
pcall([Link],
RenderList, v, Main, 'Wood Planks', [Link](13, 255, 227));
end
end
end
end
end;
};
[5208655184] = {
CustomESP = function()
-- if workspace:FindFirstChild'Live' then
-- for i, v in pairs([Link]:GetChildren()) do
-- if [Link]:sub(1, 1) == '.' then
-- local Main = v:FindFirstChild'Head';
-- if Main then
-- pcall([Link],
RenderList, v, Main, [Link]:sub(2), [Link](250, 50, 40));
-- end
-- end
-- end
-- end
end;
CustomPlayerTag = function(Player)
if [Link] < 457 then return '' end
if Character then
if Character and Character:FindFirstChild'Danger'
then [Link](Extra, 'D'); end
if Character:FindFirstChild'ManaAbilities' and
[Link]:FindFirstChild'ManaSprint' then [Link](Extra, 'D1');
end
if Character:FindFirstChild'Mana' then
[Link](Extra, 'M' .. [Link]([Link])); end
if Character:FindFirstChild'Vampirism' then
[Link](Extra, 'V'); end
if Character:FindFirstChild'Observe' then
[Link](Extra, 'ILL'); end
if Character:FindFirstChild'Inferi' then
[Link](Extra, 'NEC'); end
if Character:FindFirstChild'World\'s Pulse' then
[Link](Extra, 'DZIN'); end
if Character:FindFirstChild'Shift' then
[Link](Extra, 'MAD'); end
if Character:FindFirstChild'Head' and
[Link]:FindFirstChild'FacialMarking' then
local FM =
[Link]:FindFirstChild'FacialMarking';
if [Link] == '[Link]
id=4072968006' then
[Link](Extra, 'HEALER');
elseif [Link] ==
'[Link] then
[Link](Extra, 'SEER');
elseif [Link] ==
'[Link] then
[Link](Extra, 'JESTER');
elseif [Link] ==
'[Link] then
[Link](Extra, 'BLADE');
end
end
end
if Player:FindFirstChild'Backpack' then
if [Link]:FindFirstChild'Observe'
then [Link](Extra, 'ILL'); end
if [Link]:FindFirstChild'Inferi'
then [Link](Extra, 'NEC'); end
if [Link]:FindFirstChild'World\'s Pulse'
then [Link](Extra, 'DZIN'); end
if [Link]:FindFirstChild'Shift'
then [Link](Extra, 'MAD'); end
end
return Name;
end;
};
[3541987450] = {
CustomPlayerTag = function(Player)
local Name = '';
if Player:FindFirstChild'leaderstats' then
Name = Name .. '\n[';
local Prefix = '';
local Extra = {};
if [Link]:FindFirstChild'Prestige' and
[Link] == 'IntValue' and
[Link] > 0 then
Name = Name .. '#' ..
tostring([Link]) .. ' ';
end
if [Link]:FindFirstChild'HouseRank' and
[Link]:FindFirstChild'Gender' and
[Link] == 'StringValue' and not
IsStringEmpty([Link]) then
Prefix = [Link] ==
'Owner' and ([Link] == 'Female' and 'Lady ' or 'Lord ') or
'';
end
if [Link]:FindFirstChild'FirstName' and
[Link] == 'StringValue' and not
IsStringEmpty([Link]) then
Name = Name .. '' .. Prefix ..
[Link];
end
if [Link]:FindFirstChild'LastName' and
[Link] == 'StringValue' and not
IsStringEmpty([Link]) then
Name = Name .. ' ' ..
[Link];
end
if [Link]:FindFirstChild'UberTitle' and
[Link] == 'StringValue' and not
IsStringEmpty([Link]) then
Name = Name .. ', ' ..
[Link];
end
if not IsStringEmpty(Name) then Name = Name .. ']'; end
if Character then
if Character and Character:FindFirstChild'Danger'
then [Link](Extra, 'D'); end
if Character:FindFirstChild'ManaAbilities' and
[Link]:FindFirstChild'ManaSprint' then [Link](Extra, 'D1');
end
if Character:FindFirstChild'Mana' then
[Link](Extra, 'M' .. [Link]([Link])); end
if Character:FindFirstChild'Vampirism' then
[Link](Extra, 'V'); end
if Character:FindFirstChild'Observe'
then [Link](Extra, 'ILL'); end
if Character:FindFirstChild'Inferi' then
[Link](Extra, 'NEC'); end
return Name;
end;
};
if Character then
local Blood, Armor = Character:FindFirstChild('Blood'),
Character:FindFirstChild('Armor');
return Name;
end;
};
return Name;
end;
};
};
function GetCharacter(Player)
return [Link] or (CustomCharacter and CustomCharacter(Player));
end
function GetMouseLocation()
return UserInputService:GetMouseLocation();
end
function MouseHoveringOver(Values)
local X1, Y1, X2, Y2 = Values[1], Values[2], Values[3], Values[4]
local MLocation = GetMouseLocation();
return (MLocation.x >= X1 and MLocation.x <= (X1 + (X2 - X1))) and
(MLocation.y >= Y1 and MLocation.y <= (Y1 + (Y2 - Y1)));
end
function GetTableData(t) -- basically [Link] i dont even know why i made
this
if typeof(t) ~= 'table' then return end
return setmetatable(t, {
__call = function(t, func)
if typeof(func) ~= 'function' then return end;
for i, v in pairs(t) do
pcall(func, i, v);
end
end;
});
end
local function Format(format, ...)
return [Link](format, ...);
end
function CalculateValue(Min, Max, Percent)
return Min + [Link](((Max - Min) * Percent) + .5);
end
function NewDrawing(InstanceName)
local Instance = [Link](InstanceName);
-- pcall(Set, Instance, 'OutlineOpacity', 0.8)
return (function(Properties)
for i, v in pairs(Properties) do
pcall(Set, Instance, i, v);
end
return Instance;
end)
end
[Link][Name] = Instance;
return Instance;
end
function Menu:UpdateMenuInstance(Name)
local Instance = [Link][Name];
if Instance ~= nil then
return (function(Properties)
for i, v in pairs(Properties) do
pcall(Set, Instance, i, v);
end
return Instance;
end)
end
end
function Menu:GetInstance(Name)
return [Link][Name];
end
function Load()
local _, Result = pcall(readfile, OptionsFile);
if _ then -- extremely ugly code yea i know but i dont care p.s. i hate pcall
local _, Table = pcall([Link], HttpService, Result);
if _ and typeof(Table) == 'table' then
for i, v in pairs(Table) do
if typeof(Options[i]) == 'table' and Options[i].Value ~=
nil and (typeof(Options[i].Value) == 'boolean' or typeof(Options[i].Value) ==
'number') then
Options[i].Value = [Link];
pcall(Options[i], [Link]);
end
end
if [Link] then
[Link]:Dispose() end
local ColorPicker = [Link](Position - V2New(-10,
50));
CurrentColorPicker = ColorPicker;
[Link] = CurrentColorPicker;
[Link]:Connect(function(Color) [Link]
= Color TeamColor = Color [Link] = Color end);
end
};
{
Type = 'Color'; Text = 'Enemy Color'; Color = EnemyColor;
if [Link] then
[Link]:Dispose() end
local ColorPicker = [Link](Position - V2New(-10,
50));
CurrentColorPicker = ColorPicker;
[Link] = CurrentColorPicker;
[Link]:Connect(function(Color) [Link]
= Color EnemyColor = Color [Link] = Color end);
end
};
{
Type = 'Button'; Text = 'Reset Colors';
Function = function()
EnemyColor = [Link](1, 0, 0);
TeamColor = [Link](0, 1, 0);
Function = function()
Rainbow = not Rainbow;
end
};
});
end, 2);
Options('ResetSettings', 'Reset Settings', function()
for i, v in pairs(Options) do
if Options[i] ~= nil and Options[i].Value ~= nil and Options[i].Text ~=
nil and (typeof(Options[i].Value) == 'boolean' or typeof(Options[i].Value) ==
'number' or typeof(Options[i].Value) == 'EnumItem') then
Options[i](Options[i].DefaultValue, true);
end
end
end, 5);
Options('LoadSettings', 'Load Settings', Load, 4);
Options('SaveSettings', 'Save Settings', function()
local COptions = {};
for i, v in pairs(Options) do
COptions[i] = v;
end
writefile(OptionsFile, HttpService:JSONEncode(COptions));
end, 3);
Load(1);
function LineBox:Create(Properties)
local Box = { Visible = true }; -- prevent errors not really though dont
worry bout the Visible = true thing
for i, v in pairs(Parts) do
-- if not v:IsA'BasePart' then continue end
local Corners = {
[Link](CF.X + Size.X / 2, CF.Y + Size.Y / 2,
CF.Z + Size.Z / 2);
[Link](CF.X - Size.X / 2, CF.Y + Size.Y / 2,
CF.Z + Size.Z / 2);
[Link](CF.X - Size.X / 2, CF.Y - Size.Y / 2,
CF.Z - Size.Z / 2);
[Link](CF.X + Size.X / 2, CF.Y - Size.Y / 2,
CF.Z - Size.Z / 2);
[Link](CF.X - Size.X / 2, CF.Y + Size.Y / 2,
CF.Z - Size.Z / 2);
[Link](CF.X + Size.X / 2, CF.Y + Size.Y / 2,
CF.Z - Size.Z / 2);
[Link](CF.X - Size.X / 2, CF.Y - Size.Y / 2,
CF.Z + Size.Z / 2);
[Link](CF.X + Size.X / 2, CF.Y - Size.Y / 2,
CF.Z + Size.Z / 2);
};
for i, v in pairs(Corners) do
[Link](AllCorners, v);
end
-- break
end
for i, v in pairs(AllCorners) do
local Position, V = WorldToViewport(v);
return
end
if QUAD_SUPPORTED_EXPLOIT then
if Visible1 and Visible2 and Visible3 and Visible4 then
[Link] = true;
[Link] = Color;
[Link] = V2New(TLPos.X, TLPos.Y);
[Link] = V2New(TRPos.X, TRPos.Y);
[Link] = V2New(BRPos.X, BRPos.Y);
[Link] = V2New(BLPos.X, BLPos.Y);
else
Box['Quad'].Visible = false;
end
else
Visible1 = TLPos.Z > 0 -- (commented | reason: random flashes);
Visible2 = TRPos.Z > 0 -- (commented | reason: random flashes);
Visible3 = BLPos.Z > 0 -- (commented | reason: random flashes);
Visible4 = BRPos.Z > 0 -- (commented | reason: random flashes);
return Box;
end
local Colors = {
White = FromHex'ffffff';
Primary = {
Main = FromHex'424242';
Light = FromHex'6d6d6d';
Dark = FromHex'1b1b1b';
};
Secondary = {
Main = FromHex'e0e0e0';
Light = FromHex'ffffff';
Dark = FromHex'aeaeae';
};
};
function Connections:DisconnectAll()
for Index, Connection in pairs([Link]) do
if [Link] then
Connection:Disconnect();
end
end
[Link] = {};
end
function [Link]()
local self = setmetatable({ _BindableEvent = [Link]'BindableEvent' },
Signal);
return self;
end
function Signal:Connect(Callback)
assert(typeof(Callback) == 'function', 'function expected; got ' ..
typeof(Callback));
function Signal:Fire(...)
self._BindableEvent:Fire(...);
end
function Signal:Wait()
local Arguments = self._BindableEvent:Wait();
return Arguments;
end
function Signal:Disconnect()
if self._BindableEvent then
self._BindableEvent:Destroy();
end
end
print(Drawing, IsSynapse)
-- oh god unnamed esp needs an entire rewrite, someone make a better one pls im too
lazy
-- btw the color picker was made seperately so it doesnt fit with the code of
unnamed esp
return true;
end
spawn(function()
repeat wait() until [Link];
if not [Link] then rawset(self,
'DefaultSize', [Link]) end
Property = 'ScaleFactor';
Value = Value.X / [Link].X;
Object[Property] = Value
end)
end
return Object;
end
});
[Link] = true;
[Link] = 1; -- Transparency is really Opacity with drawing
api (1 being visible, 0 being invisible)
return self.__Objects[Index];
end
return Object;
end
spawn(function()
[Link] = '[Link]
[Link] = '[Link]
end)
[Link] = [Link]();
function Picker:UpdatePosition(Input)
local MousePosition = V2New([Link].X, [Link].Y + 33);
if [Link] then
if [Link] == 'Ring' then
local Main = [Link]['Image-Main'] ();
local Preview = [Link]['Square-Preview'] ();
local Bounds = [Link] / 2;
local Center = [Link] + Bounds;
local Relative = MousePosition - Center;
local Direction = [Link];
local Position = Center + Direction * [Link].X / 2.15;
local H = (math.atan2(Position.Y - Center.Y, Position.X -
Center.X)) * 60;
if H < 0 then H = 360 + H; end
H = H / 360;
[Link].H = H;
local EndColor = [Link](H, [Link].S, [Link].V); if
EndColor ~= [Link] then [Link]:Fire([Link]); end
local Pointer = [Link]['Circle-Cursor'] { Position =
Position };
[Link]['Circle-CursorOutline'] { Position = [Link]
};
Bounds = Bounds * 2;
[Link] = [Link](H, 1, 1);
[Link] = EndColor;
[Link]['Circle-Preview'] { Color = EndColor };
elseif [Link] == 'HL' then
local Preview = [Link]['Square-Preview'] ();
local HSV = [Link];
local Position = V2New([Link](MousePosition.X,
[Link].X, [Link].X + [Link].X),
[Link](MousePosition.Y, [Link].Y, [Link].Y +
[Link].Y));
HSV.S = (Position.X - [Link].X) / [Link].X;
HSV.V = 1 - (Position.Y - [Link].Y) / [Link].Y;
local EndColor = [Link](HSV.H, HSV.S, HSV.V); if EndColor
~= [Link] then [Link]:Fire([Link]); end
[Link] = EndColor;
[Link]['Circle-Preview'] { Color = EndColor };
local Pointer = [Link]['Circle-CursorSquare'] { Position =
Position };
[Link]['Circle-CursorOutlineSquare'] { Position =
[Link] };
end
end
end
self:UpdatePosition(Input, P);
end
elseif Type == 'Changed' then
if [Link] == 'MouseMovement' then
self:UpdatePosition(Input, P);
end
elseif Type == 'Ended' and [Link] == 'MouseButton1' then
[Link] = nil;
end
end
function Picker:Dispose()
[Link](false);
[Link] = nil;
[Link] = nil;
Connections:DisconnectAll(); -- scuffed tbh
end
[Link] = false;
[Link] = Drawings;
return Picker;
end
delay(0.025, function()
if not [Link] then return; end
Menu:AddMenuInstance('Sub-Main', 'Square', {
Size = BaseSize;
Position = BasePosition;
Filled = false;
Color = [Link];
Thickness = 3;
Visible = Visible;
});
end);
Menu:AddMenuInstance('Sub-TopBar', 'Square', {
Position = BasePosition;
Size = V2New(BaseSize.X, 10);
Color = [Link];
Filled = true;
Visible = Visible;
});
Menu:AddMenuInstance('Sub-TopBarTwo', 'Square', {
Position = BasePosition + V2New(0, 10);
Size = V2New(BaseSize.X, 20);
Color = [Link];
Filled = true;
Visible = Visible;
});
Menu:AddMenuInstance('Sub-TopBarText', 'Text', {
Size = 20;
Position = [Link]['Sub-
TopBarTwo'].Position + V2New(15, -3);
Text = Title or '';
Color = [Link];
Visible = Visible;
});
Menu:AddMenuInstance('Sub-Filling', 'Square', {
Size = BaseSize - V2New(0, 30);
Position = BasePosition + V2New(0, 30);
Filled = true;
Color = [Link];
Transparency= .75;
Visible = Visible;
});
if Options then
for Index, Option in pairs(Options) do -- currently only supports color
and button(but color is a button so), planning on fully rewriting or something
local function GetName(Name) return ('Sub-%s.%d'):format(Name,
Index) end
local Position = [Link]['Sub-
Filling'].Position + V2New(20, Index * 25 - 10);
-- local BasePosition =
[Link] + V2New(30, [Link] * 25 - 10);
function SubMenu:Hide()
[Link] = false;
for i, v in pairs([Link]) do
if i:sub(1, 3) == 'Sub' then
[Link] = false;
CurrentColorPicker = nil;
end
Menu:AddMenuInstance('CrosshairX', 'Line', {
Visible = false;
Color = [Link](0, 1, 0);
Transparency = 1;
Thickness = 1;
});
Menu:AddMenuInstance('CrosshairY', 'Line', {
Visible = false;
Color = [Link](0, 1, 0);
Transparency = 1;
Thickness = 1;
});
local CPos = 0;
GetTableData(Options)(function(i, v)
if typeof([Link]) == 'boolean' and not IsStringEmpty([Link]) and
[Link] ~= nil then
CPos = CPos + 25;
local BaseSize = V2New(BaseSize.X, 30);
local BasePosition =
[Link] + V2New(30, [Link] * 25 - 10);
UIButtons[#UIButtons + 1] = {
Option = v;
Instance = Menu:AddMenuInstance(Format('%s_Hitbox',
[Link]), 'Square', {
Position = BasePosition - V2New(30, 15);
Size = BaseSize;
Visible = false;
});
};
Menu:AddMenuInstance(Format('%s_OuterCircle', [Link]), 'Circle',
{
Radius = 10;
Position = BasePosition;
Color = [Link];
Filled = true;
Visible = true;
});
Menu:AddMenuInstance(Format('%s_InnerCircle', [Link]), 'Circle',
{
Radius = 7;
Position = BasePosition;
Color = [Link];
Filled = true;
Visible = [Link];
});
Menu:AddMenuInstance(Format('%s_Text', [Link]), 'Text', {
Text = [Link];
Size = 20;
Position = BasePosition + V2New(20, -10);
Visible = true;
Color = [Link];
Transparency= 1;
Outline = true;
OutlineOpacity = 0.5;
});
end
end)
GetTableData(Options)(function(i, v) -- just to make sure certain things are
drawn before or after others, too lazy to actually sort table
if typeof([Link]) == 'number' then
CPos = CPos + 25;
local Line =
Menu:AddMenuInstance(Format('%s_SliderLine', [Link]), 'Square', {
Transparency = 1;
Color = [Link];
-- Thickness = 3;
Filled = true;
Visible = true;
Position = BasePosition + V2New(15, -5);
Size = BaseSize - V2New(30, 10);
Transparency = 0.5;
});
local Slider =
Menu:AddMenuInstance(Format('%s_Slider', [Link]), 'Square', {
Visible = true;
Filled = true;
Color = [Link];
Size = V2New(5, [Link].Y);
Transparency = 0.5;
});
local Text = Menu:AddMenuInstance(Format('%s_Text',
[Link]), 'Text', {
Text = [Link];
Size = 20;
Center = true;
Transparency = 1;
Outline = true;
OutlineOpacity = 0.5;
Visible = true;
Color = [Link];
}); [Link] = [Link] + ([Link] / 2) - V2New(0,
[Link].Y / 1.75);
local AMT =
Menu:AddMenuInstance(Format('%s_AmountText', [Link]), 'Text', {
Text = tostring([Link]);
Size = 22;
Center = true;
Transparency = 1;
Outline = true;
OutlineOpacity = 0.5;
Visible = true;
Color = [Link];
Position = [Link];
});
Dummy:GetPropertyChangedSignal'Value':Connect(function()
[Link] = [Link];
-- [Link] = 1 - [Link];
[Link] = 1 - [Link];
end);
[Link] = 1;
function CSlider:ShowValue(Bool)
[Link] = Bool;
TweenService:Create(Dummy, [Link](0.5,
[Link], [Link]), { Value = Bool and 0 or
1 }):Play();
end
Sliders[#Sliders + 1] = CSlider;
[Link] = BaseSize;
[Link] = BasePosition;
-- [Link] = BasePosition + V2New(BaseSize.X -
[Link].X - 10, -10)
end
end)
local FirstItem = false;
GetTableData(Options)(function(i, v) -- just to make sure certain things are
drawn before or after others, too lazy to actually sort table
if typeof([Link]) == 'EnumItem' then
CPos = CPos + (not FirstItem and 30 or 25);
FirstItem = true;
UIButtons[#UIButtons + 1] = {
Option = v;
Instance = Menu:AddMenuInstance(Format('%s_Hitbox',
[Link]), 'Square', {
Size = V2New(BaseSize.X, 20) - V2New(30, 0);
Visible = true;
Transparency= .5;
Position = BasePosition + V2New(15, -10);
Color = [Link];
Filled = true;
});
};
local Text = Menu:AddMenuInstance(Format('%s_Text',
[Link]), 'Text', {
Text = [Link];
Size = 20;
Position = BasePosition + V2New(20, -10);
Visible = true;
Color = [Link];
Transparency= 1;
Outline = true;
OutlineOpacity = 0.5;
});
local BindText = Menu:AddMenuInstance(Format('%s_BindText',
[Link]), 'Text', {
Text = tostring([Link]):match'%w+%.%w+%.(.+)';
Size = 20;
Position = BasePosition;
Visible = true;
Color = [Link];
Transparency= 1;
Outline = true;
OutlineOpacity = 0.5;
});
Options[i].BaseSize = BaseSize;
Options[i].BasePosition = BasePosition;
[Link] = BasePosition + V2New(BaseSize.X -
[Link].X - 20, -10);
end
end)
GetTableData(Options)(function(i, v) -- just to make sure certain things are
drawn before or after others, too lazy to actually sort table
if typeof([Link]) == 'function' then
local BaseSize = V2New(BaseSize.X, 30);
local BasePosition =
[Link] + V2New(0, CPos + (25 *
[Link][4]) - 35);
UIButtons[#UIButtons + 1] = {
Option = v;
Instance = Menu:AddMenuInstance(Format('%s_Hitbox',
[Link]), 'Square', {
Size = V2New(BaseSize.X, 20) - V2New(30, 0);
Visible = true;
Transparency= .5;
Position = BasePosition + V2New(15, -10);
Color = [Link];
Filled = true;
});
};
local Text = Menu:AddMenuInstance(Format('%s_Text',
[Link]), 'Text', {
Text = [Link];
Size = 20;
Position = BasePosition + V2New(20, -10);
Visible = true;
Color = [Link];
Transparency= 1;
Outline = true;
OutlineOpacity = 0.5;
});
delay(.1, function()
MenuLoaded = true;
end);
-- this has to be at the bottom cuz proto drawing api doesnt have
zindex :triumph:
Menu:AddMenuInstance('Cursor1', 'Line', {
Visible = false;
Color = [Link](1, 0, 0);
Transparency = 1;
Thickness = 2;
});
Menu:AddMenuInstance('Cursor2', 'Line', {
Visible = false;
Color = [Link](1, 0, 0);
Transparency = 1;
Thickness = 2;
});
Menu:AddMenuInstance('Cursor3', 'Line', {
Visible = false;
Color = [Link](1, 0, 0);
Transparency = 1;
Thickness = 2;
});
end
CreateMenu();
delay(0.1, function()
SubMenu:Show(V2New()); -- Create the submenu
SubMenu:Hide();
end);
shared.UESP_InputChangedCon = [Link]:Connect(function(input)
if [Link] == 'MouseMovement' and [Link]
then
for i, v in pairs(Sliders) do
local Values = {
[Link].X;
[Link].Y;
[Link].X + [Link].X;
[Link].Y + [Link].Y;
};
if MouseHoveringOver(Values) then
v:ShowValue(true);
else
if not MouseHeld then v:ShowValue(false); end
end
end
end
end)
shared.UESP_InputBeganCon = [Link]:Connect(function(input)
if [Link] == 'MouseButton1' and [Link] then
MouseHeld = true;
local Bar = Menu:GetInstance'TopBar';
local Values = {
[Link].X;
[Link].Y;
[Link].X + [Link].X;
[Link].Y + [Link].Y;
}
if MouseHoveringOver(Values) then
DraggingUI = true;
DragOffset = Menu:GetInstance'Main'.Position -
GetMouseLocation();
else
for i, v in pairs(Sliders) do
local Values = {
[Link].X;
[Link].Y;
[Link].X + [Link].X;
[Link].Y + [Link].Y;
-- [Link].X - ([Link]);
-- [Link].Y - ([Link]);
-- [Link].X + ([Link]);
-- [Link].Y + ([Link]);
};
if MouseHoveringOver(Values) then
DraggingWhat = v;
Dragging = true;
break
end
end
local Values = {
[Link].X;
[Link].Y;
[Link].X + [Link].X;
[Link].Y + [Link].Y;
};
if MouseHoveringOver(Values) then
[Link]();
IgnoreOtherInput = true;
break -- prevent clicking 2 options
end
end
for i, v in pairs(Sliders) do
if IgnoreOtherInput then break end
local Values = {
[Link].X;
[Link].Y;
[Link].X + [Link].X;
[Link].Y + [Link].Y;
};
if not MouseHoveringOver(Values) then
v:ShowValue(false);
end
end
end
elseif [Link] == 'MouseButton2' and [Link]
and not DragTracerPosition then
local Values = {
TracerPosition.X - 10;
TracerPosition.Y - 10;
TracerPosition.X + 10;
TracerPosition.Y + 10;
}
if MouseHoveringOver(Values) then
DragTracerPosition = false;
TracerPosition = V2New([Link].X / 2,
[Link].Y - 135);
end
elseif [Link] == 'Keyboard' then
if Binding then
BindedKey = [Link];
Binding = false;
elseif [Link] == [Link] or ([Link] ==
[Link] and UserInputService:IsKeyDown([Link])) then
[Link]();
elseif [Link] == [Link] then
[Link]();
elseif [Link] == 'F1' and
UserInputService:IsMouseButtonPressed(1) and shared.am_ic3 then -- hehe hiden
spectate feature cuz why not
local HD, LPlayer, LCharacter = 0.95;
if Head then
local Distance = ([Link] -
[Link]).Magnitude;
local DP = Direction:Dot(Unit);
if DP > HD then
HD = DP;
LPlayer = Player;
LCharacter = Character;
end
end
end
end
[Link]:GetPropertyChangedSignal'ViewportSize':Connect(function()
TracerPosition = V2New([Link].X / 2, [Link].Y
- 135);
end);
end
CameraCon();
return Pass;
end
CheckTeam = [Link];
end
[Link] = [Link];
[Link]['OutlineTracer'] =
[Link]['OutlineTracer'] or NewDrawing'Line'{
Transparency = 0.75;
Thickness = 5;
Color = [Link](0.1, 0.1, 0.1);
}
[Link]['Tracer'] = [Link]['Tracer'] or
NewDrawing'Line'{
Transparency = 1;
Thickness = 2;
}
[Link]['NameTag'] = [Link]['NameTag'] or
NewDrawing'Text'{
Size = [Link];
Center = true;
Outline = [Link];
Visible = true;
};
[Link]['DistanceTag'] =
[Link]['DistanceTag'] or NewDrawing'Text'{
Size = [Link] - 1;
Center = true;
Outline = [Link];
Visible = true;
};
if Pass then
local ScreenPosition, Vis =
WorldToViewport([Link]);
local Color = [Link];
local OPos =
[Link]:pointToObjectSpace([Link]);
local Position =
WorldToViewport([Link]:pointToWorldSpace(OPos));
if [Link] then
[Link] = [Link](Distance /
200, 0.45, 0.8);
[Link] = true;
[Link] = TracerPosition;
[Link] = V2New(Position.X,
Position.Y);
[Link] = Color;
[Link] = true;
[Link] =
[Link] - 0.1;
[Link] = [Link];
[Link] = [Link];
[Link] = [Link](0.1, 0.1,
0.1);
else
[Link] = false;
[Link] = false;
end
if [Link] then
[Link] = 0;
[Link] = true;
[Link] = [Link];
[Link] =
[Link];
[Link] =
[Link];
[Link] =
V2New(ScreenPositionUpper.X, ScreenPositionUpper.Y);
[Link] = Color;
if [Link] and shared.am_ic3 then
-- CURRENTLY SYNAPSE ONLY :MEGAHOLY:
[Link] =
[Link];
end
else
[Link] = 100;
[Link] = false;
end
if [Link] or
[Link] then
[Link] = true;
[Link] =
[Link] - 1;
[Link] =
[Link];
[Link] = [Link](1, 1,
1);
if [Link] and shared.am_ic3 then
-- CURRENTLY SYNAPSE ONLY :MEGAHOLY:
[Link] =
[Link];
end
if [Link] then
Str = Str .. Format('[%d] ',
Distance);
end
[Link] = Str;
[Link] =
V2New(ScreenPositionUpper.X, ScreenPositionUpper.Y) + V2New(0,
[Link].Y);
else
[Link] = false;
end
else
[Link] = false;
[Link] = false;
end
else
[Link] = false;
[Link] = false;
[Link] = false;
[Link] = false;
end
[Link]['NameTag'] = NameTag;
[Link]['DistanceTag'] = DistanceTag;
[Link]['Tracer'] = Tracer;
[Link]['OutlineTracer'] = OutlineTracer;
[Link][[Link]:GetDebugId()] = Data;
end
end
for i, v in pairs(Players:GetPlayers()) do
local Data = [Link][[Link]] or { Instances = {}; };
[Link]['Box'] = [Link]['Box'] or
LineBox:Create{Thickness = 4};
[Link]['OutlineTracer'] = [Link]['OutlineTracer']
or NewDrawing'Line'{
Transparency = 1;
Thickness = 3;
Color = [Link](0.1, 0.1, 0.1);
}
[Link]['Tracer'] = [Link]['Tracer'] or
NewDrawing'Line'{
Transparency = 1;
Thickness = 1;
}
[Link]['HeadDot'] = [Link]['HeadDot'] or
NewDrawing'Circle'{
Filled = true;
NumSides = 30;
}
[Link]['NameTag'] = [Link]['NameTag'] or
NewDrawing'Text'{
Size = [Link];
Center = true;
Outline = [Link];
OutlineOpacity = 1;
Visible = true;
};
[Link]['DistanceHealthTag'] =
[Link]['DistanceHealthTag'] or NewDrawing'Text'{
Size = [Link] - 1;
Center = true;
Outline = [Link];
OutlineOpacity = 1;
Visible = true;
};
local Position =
WorldToViewport([Link]:pointToWorldSpace(OPos));
if [Link] then
if TracerPosition.X >= [Link].X or
TracerPosition.Y >= [Link].Y or TracerPosition.X < 0 or
TracerPosition.Y < 0 then
TracerPosition =
V2New([Link].X / 2, [Link].Y - 135);
end
[Link] = true;
[Link] = [Link](1 -
(Distance / 200), 0.25, 0.75);
[Link] = TracerPosition;
[Link] = V2New(Position.X,
Position.Y);
[Link] = Color;
[Link] = [Link];
[Link] = [Link];
[Link] =
[Link] - 0.15;
[Link] = true;
else
[Link] = false;
[Link] = false;
end
if [Link] then
[Link] = true;
[Link] = [Link] ..
(CustomPlayerTag and CustomPlayerTag(v) or '');
[Link] =
[Link];
[Link] =
[Link];
[Link] =
V2New(ScreenPositionUpper.X, ScreenPositionUpper.Y) - V2New(0,
[Link].Y);
[Link] = Color;
[Link] = Color;
[Link]= [Link](0.05,
0.05, 0.05);
[Link]= 0.85;
if [Link] and shared.am_ic3 then
-- CURRENTLY SYNAPSE ONLY :MEGAHOLY:
[Link] =
[Link];
end
else
[Link] = false;
end
if [Link] or
[Link] then
[Link] = true;
[Link] =
[Link] - 1;
[Link] =
[Link];
[Link] = [Link](1, 1,
1);
[Link]= 0.85;
if [Link] and shared.am_ic3 then
-- CURRENTLY SYNAPSE ONLY :MEGAHOLY:
[Link] =
[Link];
end
if [Link] then
Str = Str .. Format('[%d] ',
Distance);
end
if [Link] then
if typeof(Humanoid) == 'Instance'
then
Str = Str .. Format('[%d/%d]
[%s%%]', [Link], [Link], [Link]([Link] /
[Link] * 100));
elseif type(GetHealth) ==
'function' then
local health, maxHealth =
GetHealth(v)
if type(health) == 'number'
and type(maxHealth) == 'number' then
Str = Str ..
Format('[%d/%d] [%s%%]', health, maxHealth, [Link](health / maxHealth * 100))
end
end
end
[Link] = Str;
[Link] =
[Link](0.05, 0.05, 0.05);
[Link] = ([Link]
and [Link] + V2New(0, [Link].Y) or
V2New(ScreenPositionUpper.X, ScreenPositionUpper.Y));
else
[Link] = false;
end
if [Link] and Vis then
local Top =
WorldToViewport(([Link] * [Link](0, Scale, 0)).Position);
local Bottom =
WorldToViewport(([Link] * [Link](0, -Scale, 0)).Position);
local Radius = (Top -
Bottom).y;
[Link] = true;
[Link] = Color;
[Link] =
V2New(ScreenPosition.X, ScreenPosition.Y);
[Link] = Radius;
else
[Link] = false;
end
if [Link] and Vis and
HumanoidRootPart then
local Body = {
Head;
Character:FindFirstChild'Left Leg'
or Character:FindFirstChild'LeftLowerLeg';
Character:FindFirstChild'Right Leg'
or Character:FindFirstChild'RightLowerLeg';
Character:FindFirstChild'Left Arm'
or Character:FindFirstChild'LeftLowerArm';
Character:FindFirstChild'Right Arm'
or Character:FindFirstChild'RightLowerArm';
}
Box:Update([Link],
V3New(2, 3, 1) * (Scale * 2), Color, nil, shared.am_ic3 and Body);
else
Box:SetVisible(false);
end
else
[Link] = false;
[Link] = false;
[Link] = false;
Box:SetVisible(false);
end
else
[Link] = false;
[Link] = false;
[Link] = false;
[Link] = false;
[Link] = false;
Box:SetVisible(false);
end
else
[Link] = false;
[Link] = false;
[Link] = false;
[Link] = false;
[Link] = false;
Box:SetVisible(false);
end
[Link][[Link]] = Data;
end
end
end
local LastInvalidCheck = 0;
for i, v in pairs([Link]) do
if not Players:FindFirstChild(tostring(i)) then
if not [Link][i].DontDelete then
GetTableData([Link])(function(i, obj)
[Link] = false;
obj:Remove();
[Link][i] = nil;
end)
[Link][i] = nil;
else
if [Link][i].Instance == nil or
[Link][i].[Link] == nil then
GetTableData([Link])(function(i, obj)
[Link] = false;
obj:Remove();
[Link][i] = nil;
end)
[Link][i] = nil;
end
end
end
end
end
local CX = Menu:GetInstance'CrosshairX';
local CY = Menu:GetInstance'CrosshairY';
if [Link] then
[Link] = true;
[Link] = true;
local Values = {
[Link].X;
[Link].Y;
[Link].X + [Link].X;
[Link].Y + [Link].Y;
};
Menu:UpdateMenuInstance'Cursor1'{
Visible = true;
From = V2New(MLocation.x, MLocation.y);
To = V2New(MLocation.x + 5, MLocation.y + 6);
}
Menu:UpdateMenuInstance'Cursor2'{
Visible = true;
From = V2New(MLocation.x, MLocation.y);
To = V2New(MLocation.x, MLocation.y + 8);
}
Menu:UpdateMenuInstance'Cursor3'{
Visible = true;
From = V2New(MLocation.x, MLocation.y + 6);
To = V2New(MLocation.x + 5, MLocation.y + 5);
}
else
if [Link] then
[Link] = false;
Menu:UpdateMenuInstance'Cursor1'{Visible = false};
Menu:UpdateMenuInstance'Cursor2'{Visible = false};
Menu:UpdateMenuInstance'Cursor3'{Visible = false};
end
end
if MouseHeld then
local MousePos = GetMouseLocation();
if Dragging then
[Link] = V2New([Link](MLocation.X
- [Link].X / 2, [Link].X,
[Link].X + [Link].X -
[Link].X), [Link].Y);
local Percent = ([Link].X -
[Link].X) / (([Link].X +
[Link].X - [Link].X) -
[Link].X);
local Value = CalculateValue([Link],
[Link], Percent);
[Link](Value);
elseif DraggingUI then
[Link] = true;
local Main = Menu:GetInstance'Main';
[Link] = MousePos + DragOffset;
elseif DragTracerPosition then
TracerPosition = MousePos;
end
else
Dragging = false;
DragTracerPosition = false;
if DraggingUI and [Link] then
[Link] = false;
DraggingUI = false;
CreateMenu(Menu:GetInstance'Main'.Position);
end
end
if not [Link] then
[Link] = true;
ToggleMenu();
end
elseif [Link] and not [Link] then
[Link] = false;
ToggleMenu();
end
end
RunService:UnbindFromRenderStep(GetDataName);
RunService:UnbindFromRenderStep(UpdateName);