Messagej 3 K
Messagej 3 K
game.Loaded:Wait();
end
local UILibrary =
loadstring(game:HttpGet("https://raw.githubusercontent.com/fatesc/fates-esp/main/
ui.lua"))();
local DefaultSettings = {
Esp = {
NamesEnabled = true,
DisplayNamesEnabled = false,
DistanceEnabled = true,
HealthEnabled = true,
TracersEnabled = false,
BoxEsp = false,
TeamColors = true,
Thickness = 1.5,
TracerThickness = 1.6,
Transparency = .9,
TracerTrancparency = .7,
Size = 16,
RenderDistance = 9e9,
Color = Color3.fromRGB(19, 130, 226),
OutlineColor = Color3new(),
TracerTo = "Head",
BlacklistedTeams = {}
},
Aimbot = {
Enabled = false,
SilentAim = false,
Wallbang = false,
ShowFov = false,
Snaplines = true,
ThirdPerson = false,
FirstPerson = false,
ClosestCharacter = false,
ClosestCursor = true,
Smoothness = 1,
SilentAimHitChance = 100,
FovThickness = 1,
FovTransparency = 1,
FovSize = 150,
FovColor = Color3new(1, 1, 1),
Aimlock = "Head",
SilentAimRedirect = "Head",
BlacklistedTeams = {}
},
WindowPosition = UDim2.new(0.5, -200, 0.5, -139);
Version = 1.2
}
DecodeConfig = function(Config)
local DecodedConfig = deepsearchset(Config, function(Index, Value)
return type(Value) == "table" and (Value.HSVColor or Value.Position);
end, function(Index, Value)
local Color = Value.HSVColor
local Position = Value.Position
if (Color) then
return Color3.fromHSV(Color.H, Color.S, Color.V);
end
if (Position and Position.Y and Position.X) then
return UDim2.new(UDim.new(Position.X.Scale, Position.X.Offset),
UDim.new(Position.Y.Scale, Position.Y.Offset));
else
return DefaultSettings.WindowPosition;
end
end);
return DecodedConfig
end
EncodeConfig = function(Config)
local ToHSV = Color3new().ToHSV
local EncodedConfig = deepsearchset(Config, function(Index, Value)
return typeof(Value) == "Color3" or typeof(Value) == "UDim2"
end, function(Index, Value)
local Color = typeof(Value) == "Color3"
local Position = typeof(Value) == "UDim2"
if (Color) then
local H, S, V = ToHSV(Value);
return { HSVColor = { H = H, S = S, V = V } };
end
if (Position) then
return { Position = {
X = { Scale = Value.X.Scale, Offset = Value.X.Offset };
Y = { Scale = Value.Y.Scale, Offset = Value.Y.Offset }
} };
end
end)
return EncodedConfig
end
end
local CustomGet = {
[0] = function()
return {}
end
}
local Get;
if (CustomGet[PlaceId]) then
Get = CustomGet[PlaceId]();
end
local Drawings = {}
table.insert(Drawings, FOV);
table.insert(Drawings, Snaplines);
Players.PlayerRemoving:Connect(function(Player)
Characters[Player] = nil
local PlayerDrawings = Drawings[Player]
for Index, Drawing in pairs(PlayerDrawings or {}) do
Drawing.Visible = false
end
Drawings[Player] = nil
end);
if (AimbotSettings.ShowFov) then
FOV.Position = MouseVector
FOV.Visible = true
Snaplines.Visible = false
else
FOV.Visible = false
end
if (EspSettings.TracersEnabled) then
PlayerDrawings.Tracer.To = CharacterVec2
end
if (EspSettings.BoxEsp) then
local Parts = {}
for Index, Part in pairs(Character:GetChildren()) do
if (IsA(Part, "BasePart")) then
local ViewportPos = WorldToViewportPoint(CurrentCamera,
Part.Position);
Parts[Part] = Vector2new(ViewportPos.X, ViewportPos.Y);
end
end
if (EspSettings.TeamColors) then
local TeamColor;
if (PlayerTeam) then
local BrickTeamColor = PlayerTeam.TeamColor
TeamColor = BrickTeamColor.Color
else
TeamColor = Color3new(0.639216, 0.635294, 0.647059);
end
PlayerDrawings.Text.Color = TeamColor
PlayerDrawings.Box.Color = TeamColor
PlayerDrawings.Tracer.Color = TeamColor
end
PlayerDrawings.Text.Visible = true
PlayerDrawings.Box.Visible = EspSettings.BoxEsp
PlayerDrawings.Tracer.Visible = EspSettings.TracersEnabled
else
PlayerDrawings.Text.Visible = false
PlayerDrawings.Box.Visible = false
PlayerDrawings.Tracer.Visible = false
end
else
PlayerDrawings.Text.Visible = false
PlayerDrawings.Box.Visible = false
PlayerDrawings.Tracer.Visible = false
end
end
return unpack(Closest);
end
local Hooks = {
HookedFunctions = {},
OldMetaMethods = {},
MetaMethodHooks = {},
HookedSignals = {}
}
local OtherDeprecated = {
children = "GetChildren"
}
local RealMethods = {}
local FakeMethods = {}
local x = setmetatable({}, {
__index = function(...)
print("index", ...);
end,
__add = function(...)
print("add", ...);
end,
__sub = function(...)
print("sub", ...);
end,
__mul = function(...)
print("mul", ...);
end
});
MetaMethodHooks.Index = function(...)
local __Index = OldMetaMethods.__index
if (Player and Aimlock and ... == Mouse and not checkcaller()) then
local CallingScript = getfenv(2).script;
if (CallingScript.Name == "CallingScript") then
return __Index(...);
end
return __Index(...);
end
MetaMethodHooks.Namecall = function(...)
local __Namecall = OldMetaMethods.__namecall
local self = ...
local Method = gsub(getnamecallmethod() or "", "^%l", upper);
local Hooked = HookedFunctions[Method]
if (Hooked and self == Hooked[1]) then
return Hooked[3](...);
end
return __Namecall(...);
end
HookedFunctions.FindPartOnRayWithIgnoreList = {Workspace,
Workspace.FindPartOnRayWithIgnoreList, function(...)
local OldFindPartOnRayWithIgnoreList =
HookedFunctions.FindPartOnRayWithIgnoreList[4]
if (Player and Aimlock and not checkcaller()) then
local CallingScript = getcallingscript();
local PassedChance = random(1, 100) < AimbotSettings.SilentAimHitChance
if (CallingScript.Name ~= "ControlModule" and ClosestCharacter and
PassedChance) then
local Parts = GetPartsObscuringTarget(CurrentCamera,
{CurrentCamera.CFrame.Position, Aimlock.Position}, {LocalPlayer.Character,
ClosestCharacter});
if (#Parts == 0 or AimbotSettings.Wallbang) then
return Aimlock, Aimlock.Position + (Vector3new(random(1, 10),
random(1, 10), random(1, 10)) / 10), Vector3new(0, 1, 0), Aimlock.Material
end
end
end
return OldFindPartOnRayWithIgnoreList(...);
end};
if (gethui) then
MainUI.UI.Parent = gethui();
else
local protect_gui = (syn or getgenv()).protect_gui
if (protect_gui) then
protect_gui(MainUI.UI);
end
MainUI.UI.Parent = game:GetService("CoreGui");
end
while wait(5) do
Settings.WindowPosition = Window.GetPosition();
local Encoded = HttpService:JSONEncode(EncodeConfig(Settings));
writefile("fates-esp.json", Encoded);
end