Run it
Copy the script and paste it into your executor.
DEBUG =
DEBUG
().getfenv = ()
({}, {
__index = ()
()
})
HttpService = :()
Players = :()
UserInputService = :()
RunService = :()
TweenService = :()
UISettings = {
TabWidth = ,
Size = { , },
Theme = ,
Acrylic = ,
Transparency = ,
MinimizeKey = ,
ShowNotifications = ,
ShowWarnings = ,
RenderingMode = ,
AutoImport =
}
InterfaceManager = {}
InterfaceManager:()
(()
DEBUG ().isfile ().readfile ().() ().()
Key, Value , HttpService:(().())
UISettings[Key] = Value
)
InterfaceManager:()
(()
DEBUG ().isfile ().readfile ().writefile
().(, HttpService:(UISettings))
)
InterfaceManager:()
UISettings.__LAST_RUN__ = .()
InterfaceManager:()
ColorsHandler = {}
ColorsHandler:(Colour)
(Colour) == { R = Colour.R * , G = Colour.G * , B = Colour.B * } (Colour) == Colour { R = , G = , B = }
ColorsHandler:(Colour)
(Colour) == .(Colour.R, Colour.G, Colour.B) (Colour) == Colour .(, , )
ImportedConfiguration = {}
(()
DEBUG ().isfile ().readfile ().(.(, .GameId)) ().(.(, .GameId)) UISettings.AutoImport
ImportedConfiguration = HttpService:(().(.(, .GameId)))
Key, Value , ImportedConfiguration
Key == Key == Key ==
ImportedConfiguration[Key] = ColorsHandler:(Value)
)
Configuration = {}
Configuration.Aimbot = ImportedConfiguration[]
Configuration.OnePressAimingMode = ImportedConfiguration[]
Configuration.AimKey = ImportedConfiguration[]
Configuration.AimMode = ImportedConfiguration[]
Configuration.SilentAimMethods = ImportedConfiguration[] { , }
Configuration.SilentAimChance = ImportedConfiguration[]
Configuration.OffAimbotAfterKill = ImportedConfiguration[]
Configuration.AimPartDropdownValues = ImportedConfiguration[] { , }
Configuration.AimPart = ImportedConfiguration[]
Configuration.RandomAimPart = ImportedConfiguration[]
Configuration.UseOffset = ImportedConfiguration[]
Configuration.OffsetType = ImportedConfiguration[]
Configuration.StaticOffsetIncrement = ImportedConfiguration[]
Configuration.DynamicOffsetIncrement = ImportedConfiguration[]
Configuration.AutoOffset = ImportedConfiguration[]
Configuration.MaxAutoOffset = ImportedConfiguration[]
Configuration.UseSensitivity = ImportedConfiguration[]
Configuration.Sensitivity = ImportedConfiguration[]
Configuration.UseNoise = ImportedConfiguration[]
Configuration.NoiseFrequency = ImportedConfiguration[]
Configuration.SpinBot = ImportedConfiguration[]
Configuration.OnePressSpinningMode = ImportedConfiguration[]
Configuration.SpinKey = ImportedConfiguration[]
Configuration.SpinBotVelocity = ImportedConfiguration[]
Configuration.SpinPartDropdownValues = ImportedConfiguration[] { , }
Configuration.SpinPart = ImportedConfiguration[]
Configuration.RandomSpinPart = ImportedConfiguration[]
Configuration.TriggerBot = ImportedConfiguration[]
Configuration.OnePressTriggeringMode = ImportedConfiguration[]
Configuration.SmartTriggerBot = ImportedConfiguration[]
Configuration.TriggerKey = ImportedConfiguration[]
Configuration.TriggerBotChance = ImportedConfiguration[]
Configuration.AliveCheck = ImportedConfiguration[]
Configuration.GodCheck = ImportedConfiguration[]
Configuration.TeamCheck = ImportedConfiguration[]
Configuration.FriendCheck = ImportedConfiguration[]
Configuration.FollowCheck = ImportedConfiguration[]
Configuration.VerifiedBadgeCheck = ImportedConfiguration[]
Configuration.WallCheck = ImportedConfiguration[]
Configuration.WaterCheck = ImportedConfiguration[]
Configuration.FoVCheck = ImportedConfiguration[]
Configuration.FoVRadius = ImportedConfiguration[]
Configuration.MagnitudeCheck = ImportedConfiguration[]
Configuration.TriggerMagnitude = ImportedConfiguration[]
Configuration.TransparencyCheck = ImportedConfiguration[]
Configuration.IgnoredTransparency = ImportedConfiguration[]
Configuration.WhitelistedGroupCheck = ImportedConfiguration[]
Configuration.WhitelistedGroup = ImportedConfiguration[]
Configuration.BlacklistedGroupCheck = ImportedConfiguration[]
Configuration.BlacklistedGroup = ImportedConfiguration[]
Configuration.IgnoredPlayersCheck = ImportedConfiguration[]
Configuration.IgnoredPlayersDropdownValues = ImportedConfiguration[] {}
Configuration.IgnoredPlayers = ImportedConfiguration[] {}
Configuration.TargetPlayersCheck = ImportedConfiguration[]
Configuration.TargetPlayersDropdownValues = ImportedConfiguration[] {}
Configuration.TargetPlayers = ImportedConfiguration[] {}
Configuration.PremiumCheck = ImportedConfiguration[]
Configuration.FoV = ImportedConfiguration[]
Configuration.FoVKey = ImportedConfiguration[]
Configuration.FoVThickness = ImportedConfiguration[]
Configuration.FoVOpacity = ImportedConfiguration[]
Configuration.FoVFilled = ImportedConfiguration[]
Configuration.FoVColour = ImportedConfiguration[] .(, , )
Configuration.SmartESP = ImportedConfiguration[]
Configuration.ESPKey = ImportedConfiguration[]
Configuration.ESPBox = ImportedConfiguration[]
Configuration.ESPBoxFilled = ImportedConfiguration[]
Configuration.NameESP = ImportedConfiguration[]
Configuration.NameESPFont = ImportedConfiguration[]
Configuration.NameESPSize = ImportedConfiguration[]
Configuration.NameESPOutlineColour = ImportedConfiguration[] .(, , )
Configuration.HealthESP = ImportedConfiguration[]
Configuration.MagnitudeESP = ImportedConfiguration[]
Configuration.TracerESP = ImportedConfiguration[]
Configuration.ESPThickness = ImportedConfiguration[]
Configuration.ESPOpacity = ImportedConfiguration[]
Configuration.ESPColour = ImportedConfiguration[] .(, , )
Configuration.ESPUseTeamColour = ImportedConfiguration[]
Configuration.RainbowVisuals = ImportedConfiguration[]
Configuration.RainbowDelay = ImportedConfiguration[]
Player = Players.LocalPlayer
Mouse = Player:()
IsComputer = UserInputService.KeyboardEnabled UserInputService.MouseEnabled
MonthlyLabels = { , , , , , , , , , , , }
PremiumLabels = { , , , , }
(String)
(String) == #String >
_, _Player , Players:()
.(.(_Player.Name), , #.(String)) == .(String)
_Player.Name
Status =
Fluent =
ShowWarning =
RobloxActive =
Clock = .()
Aiming =
Target =
Tween =
MouseSensitivity = UserInputService.MouseDeltaSensitivity
Spinning =
Triggering =
ShowingFoV =
ShowingESP =
() == :() :():()
Fluent = (:())
Success, Result = (()
:(, )
)
Success (Result) == .(Result, )
Fluent = ().(Result)()
Fluent.Premium
().(:(, ))()
Success, Result = (()
:(, )
)
Success (Result) == (HttpService.JSONDecode, HttpService, Result) (HttpService:(Result).message) ==
Status = HttpService:(Result).message
SensitivityChanged; SensitivityChanged = UserInputService:():(()
Fluent
SensitivityChanged:()
Aiming DEBUG (().mousemoverel IsComputer Configuration.AimMode == ().hookmetamethod ().newcclosure ().checkcaller ().getnamecallmethod Configuration.AimMode == )
MouseSensitivity = UserInputService.MouseDeltaSensitivity
)
Window = Fluent:({
Title = .(, .(MonthlyLabels[.().month], ), #Status > Status ),
SubTitle = ,
TabWidth = UISettings.TabWidth,
Size = .(.(UISettings.Size)),
Theme = UISettings.Theme,
Acrylic = UISettings.Acrylic,
MinimizeKey = UISettings.MinimizeKey
})
Tabs = { Aimbot = Window:({ Title = , Icon = }) }
Window:()
Tabs.Aimbot:({
Title = .(, .(MonthlyLabels[.().month], )),
Content =
})
AimbotSection = Tabs.Aimbot:()
AimbotToggle = AimbotSection:(, { Title = , Description = , Default = Configuration.Aimbot })
AimbotToggle:((Value)
Configuration.Aimbot = Value
IsComputer
Aiming = Value
)
IsComputer
OnePressAimingModeToggle = AimbotSection:(, { Title = , Description = , Default = Configuration.OnePressAimingMode })
OnePressAimingModeToggle:((Value)
Configuration.OnePressAimingMode = Value
)
AimKeybind = AimbotSection:(, {
Title = ,
Description = ,
Default = Configuration.AimKey,
ChangedCallback = (Value)
Configuration.AimKey = Value
})
Configuration.AimKey = AimKeybind.Value ~= .KeyCode[AimKeybind.Value] .UserInputType.MouseButton2
AimModeDropdown = AimbotSection:(, {
Title = ,
Description = ,
Values = { },
Default = Configuration.AimMode,
Callback = (Value)
Configuration.AimMode = Value
})
().mousemoverel IsComputer
.(AimModeDropdown.Values, )
AimModeDropdown:()
ShowWarning =
().hookmetamethod ().newcclosure ().checkcaller ().getnamecallmethod
.(AimModeDropdown.Values, )
AimModeDropdown:()
SilentAimMethodsDropdown = AimbotSection:(, {
Title = ,
Description = ,
Values = { , , , , , },
Multi = ,
Default = Configuration.SilentAimMethods
})
SilentAimMethodsDropdown:((Value)
Configuration.SilentAimMethods = {}
Key, _ , Value
(Key) ==
.(Configuration.SilentAimMethods, Key)
)
AimbotSection:(, {
Title = ,
Description = ,
Default = Configuration.SilentAimChance,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.SilentAimChance = Value
})
ShowWarning =
OffAimbotAfterKillToggle = AimbotSection:(, { Title = , Description = , Default = Configuration.OffAimbotAfterKill })
OffAimbotAfterKillToggle:((Value)
Configuration.OffAimbotAfterKill = Value
)
AimPartDropdown = AimbotSection:(, {
Title = ,
Description = ,
Values = Configuration.AimPartDropdownValues,
Default = Configuration.AimPart,
Callback = (Value)
Configuration.AimPart = Value
})
RandomAimPartToggle = AimbotSection:(, { Title = , Description = , Default = Configuration.RandomAimPart })
RandomAimPartToggle:((Value)
Configuration.RandomAimPart = Value
)
AimbotSection:(, {
Title = ,
Description = ,
Finished = ,
Placeholder = ,
Callback = (Value)
#Value > .(Configuration.AimPartDropdownValues, Value)
.(Configuration.AimPartDropdownValues, Value)
AimPartDropdown:(Value)
})
AimbotSection:(, {
Title = ,
Description = ,
Finished = ,
Placeholder = ,
Callback = (Value)
#Value > .(Configuration.AimPartDropdownValues, Value)
Configuration.AimPart == Value
AimPartDropdown:()
.(Configuration.AimPartDropdownValues, .(Configuration.AimPartDropdownValues, Value))
AimPartDropdown:(Configuration.AimPartDropdownValues)
})
AimbotSection:({
Title = ,
Description = ,
Callback = ()
Items = #Configuration.AimPartDropdownValues
AimPartDropdown:()
Configuration.AimPartDropdownValues = {}
AimPartDropdown:(Configuration.AimPartDropdownValues)
Window:({
Title = .(MonthlyLabels[.().month], ),
Content = Items == Items == .(, Items),
Buttons = {
{
Title =
}
}
})
})
AimOffsetSection = Tabs.Aimbot:()
UseOffsetToggle = AimOffsetSection:(, { Title = , Description = , Default = Configuration.UseOffset })
UseOffsetToggle:((Value)
Configuration.UseOffset = Value
)
AimOffsetSection:(, {
Title = ,
Description = ,
Values = { , , },
Default = Configuration.OffsetType,
Callback = (Value)
Configuration.OffsetType = Value
})
AimOffsetSection:(, {
Title = ,
Description = ,
Default = Configuration.StaticOffsetIncrement,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.StaticOffsetIncrement = Value
})
AimOffsetSection:(, {
Title = ,
Description = ,
Default = Configuration.DynamicOffsetIncrement,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.DynamicOffsetIncrement = Value
})
AutoOffsetToggle = AimOffsetSection:(, { Title = , Description = , Default = Configuration.AutoOffset })
AutoOffsetToggle:((Value)
Configuration.AutoOffset = Value
)
AimOffsetSection:(, {
Title = ,
Description = ,
Default = Configuration.MaxAutoOffset,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.MaxAutoOffset = Value
})
SensitivityNoiseSection = Tabs.Aimbot:()
UseSensitivityToggle = SensitivityNoiseSection:(, { Title = , Description = , Default = Configuration.UseSensitivity })
UseSensitivityToggle:((Value)
Configuration.UseSensitivity = Value
)
SensitivityNoiseSection:(, {
Title = ,
Description = ,
Default = Configuration.Sensitivity,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.Sensitivity = Value
})
UseNoiseToggle = SensitivityNoiseSection:(, { Title = , Description = , Default = Configuration.UseNoise })
UseNoiseToggle:((Value)
Configuration.UseNoise = Value
)
SensitivityNoiseSection:(, {
Title = ,
Description = ,
Default = Configuration.NoiseFrequency,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.NoiseFrequency = Value
})
Tabs.Bots = Window:({ Title = , Icon = })
Tabs.Bots:({
Title = .(, .(MonthlyLabels[.().month], )),
Content =
})
SpinBotSection = Tabs.Bots:()
SpinBotSection:({
Title = ,
Content =
})
SpinBotToggle = SpinBotSection:(, { Title = , Description = , Default = Configuration.SpinBot })
SpinBotToggle:((Value)
Configuration.SpinBot = Value
IsComputer
Spinning = Value
)
IsComputer
OnePressSpinningModeToggle = SpinBotSection:(, { Title = , Description = , Default = Configuration.OnePressSpinningMode })
OnePressSpinningModeToggle:((Value)
Configuration.OnePressSpinningMode = Value
)
SpinKeybind = SpinBotSection:(, {
Title = ,
Description = ,
Default = Configuration.SpinKey,
ChangedCallback = (Value)
Configuration.SpinKey = Value
})
Configuration.SpinKey = SpinKeybind.Value ~= .KeyCode[SpinKeybind.Value] .UserInputType.MouseButton2
SpinBotSection:(, {
Title = ,
Description = ,
Default = Configuration.SpinBotVelocity,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.SpinBotVelocity = Value
})
SpinPartDropdown = SpinBotSection:(, {
Title = ,
Description = ,
Values = Configuration.SpinPartDropdownValues,
Default = Configuration.SpinPart,
Callback = (Value)
Configuration.SpinPart = Value
})
RandomSpinPartToggle = SpinBotSection:(, { Title = , Description = , Default = Configuration.RandomSpinPart })
RandomSpinPartToggle:((Value)
Configuration.RandomSpinPart = Value
)
SpinBotSection:(, {
Title = ,
Description = ,
Finished = ,
Placeholder = ,
Callback = (Value)
#Value > .(Configuration.SpinPartDropdownValues, Value)
.(Configuration.SpinPartDropdownValues, Value)
SpinPartDropdown:(Value)
})
SpinBotSection:(, {
Title = ,
Description = ,
Finished = ,
Placeholder = ,
Callback = (Value)
#Value > .(Configuration.SpinPartDropdownValues, Value)
Configuration.SpinPart == Value
SpinPartDropdown:()
.(Configuration.SpinPartDropdownValues, .(Configuration.SpinPartDropdownValues, Value))
SpinPartDropdown:(Configuration.SpinPartDropdownValues)
})
SpinBotSection:({
Title = ,
Description = ,
Callback = ()
Items = #Configuration.SpinPartDropdownValues
SpinPartDropdown:()
Configuration.SpinPartDropdownValues = {}
SpinPartDropdown:(Configuration.SpinPartDropdownValues)
Window:({
Title = .(MonthlyLabels[.().month], ),
Content = Items == Items == .(, Items),
Buttons = {
{
Title =
}
}
})
})
().mouse1click IsComputer
TriggerBotSection = Tabs.Bots:()
TriggerBotToggle = TriggerBotSection:(, { Title = , Description = , Default = Configuration.TriggerBot })
TriggerBotToggle:((Value)
Configuration.TriggerBot = Value
)
OnePressTriggeringModeToggle = TriggerBotSection:(, { Title = , Description = , Default = Configuration.OnePressTriggeringMode })
OnePressTriggeringModeToggle:((Value)
Configuration.OnePressTriggeringMode = Value
)
SmartTriggerBotToggle = TriggerBotSection:(, { Title = , Description = , Default = Configuration.SmartTriggerBot })
SmartTriggerBotToggle:((Value)
Configuration.SmartTriggerBot = Value
)
TriggerKeybind = TriggerBotSection:(, {
Title = ,
Description = ,
Default = Configuration.TriggerKey,
ChangedCallback = (Value)
Configuration.TriggerKey = Value
})
Configuration.TriggerKey = TriggerKeybind.Value ~= .KeyCode[TriggerKeybind.Value] .UserInputType.MouseButton2
TriggerBotSection:(, {
Title = ,
Description = ,
Default = Configuration.TriggerBotChance,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.TriggerBotChance = Value
})
ShowWarning =
Tabs.Checks = Window:({ Title = , Icon = })
Tabs.Checks:({
Title = .(, .(MonthlyLabels[.().month], )),
Content =
})
SimpleChecksSection = Tabs.Checks:()
AliveCheckToggle = SimpleChecksSection:(, { Title = , Description = , Default = Configuration.AliveCheck })
AliveCheckToggle:((Value)
Configuration.AliveCheck = Value
)
GodCheckToggle = SimpleChecksSection:(, { Title = , Description = , Default = Configuration.GodCheck })
GodCheckToggle:((Value)
Configuration.GodCheck = Value
)
TeamCheckToggle = SimpleChecksSection:(, { Title = , Description = , Default = Configuration.TeamCheck })
TeamCheckToggle:((Value)
Configuration.TeamCheck = Value
)
FriendCheckToggle = SimpleChecksSection:(, { Title = , Description = , Default = Configuration.FriendCheck })
FriendCheckToggle:((Value)
Configuration.FriendCheck = Value
)
FollowCheckToggle = SimpleChecksSection:(, { Title = , Description = , Default = Configuration.FollowCheck })
FollowCheckToggle:((Value)
Configuration.FollowCheck = Value
)
VerifiedBadgeCheckToggle = SimpleChecksSection:(, { Title = , Description = , Default = Configuration.VerifiedBadgeCheck })
VerifiedBadgeCheckToggle:((Value)
Configuration.VerifiedBadgeCheck = Value
)
WallCheckToggle = SimpleChecksSection:(, { Title = , Description = , Default = Configuration.WallCheck })
WallCheckToggle:((Value)
Configuration.WallCheck = Value
)
WaterCheckToggle = SimpleChecksSection:(, { Title = , Description = , Default = Configuration.WaterCheck })
WaterCheckToggle:((Value)
Configuration.WaterCheck = Value
)
AdvancedChecksSection = Tabs.Checks:()
FoVCheckToggle = AdvancedChecksSection:(, { Title = , Description = , Default = Configuration.FoVCheck })
FoVCheckToggle:((Value)
Configuration.FoVCheck = Value
)
AdvancedChecksSection:(, {
Title = ,
Description = ,
Default = Configuration.FoVRadius,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.FoVRadius = Value
})
MagnitudeCheckToggle = AdvancedChecksSection:(, { Title = , Description = , Default = Configuration.MagnitudeCheck })
MagnitudeCheckToggle:((Value)
Configuration.MagnitudeCheck = Value
)
AdvancedChecksSection:(, {
Title = ,
Description = ,
Default = Configuration.TriggerMagnitude,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.TriggerMagnitude = Value
})
TransparencyCheckToggle = AdvancedChecksSection:(, { Title = , Description = , Default = Configuration.TransparencyCheck })
TransparencyCheckToggle:((Value)
Configuration.TransparencyCheck = Value
)
AdvancedChecksSection:(, {
Title = ,
Description = ,
Default = Configuration.IgnoredTransparency,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.IgnoredTransparency = Value
})
WhitelistedGroupCheckToggle = AdvancedChecksSection:(, { Title = , Description = , Default = Configuration.WhitelistedGroupCheck })
WhitelistedGroupCheckToggle:((Value)
Configuration.WhitelistedGroupCheck = Value
)
AdvancedChecksSection:(, {
Title = ,
Description = ,
Default = Configuration.WhitelistedGroup,
Numeric = ,
Finished = ,
Placeholder = ,
Callback = (Value)
Configuration.WhitelistedGroup = #(Value) > (Value)
})
BlacklistedGroupCheckToggle = AdvancedChecksSection:(, { Title = , Description = , Default = Configuration.BlacklistedGroupCheck })
BlacklistedGroupCheckToggle:((Value)
Configuration.BlacklistedGroupCheck = Value
)
AdvancedChecksSection:(, {
Title = ,
Description = ,
Default = Configuration.BlacklistedGroup,
Numeric = ,
Finished = ,
Placeholder = ,
Callback = (Value)
Configuration.BlacklistedGroup = #(Value) > (Value)
})
ExpertChecksSection = Tabs.Checks:()
IgnoredPlayersCheckToggle = ExpertChecksSection:(, { Title = , Description = , Default = Configuration.IgnoredPlayersCheck })
IgnoredPlayersCheckToggle:((Value)
Configuration.IgnoredPlayersCheck = Value
)
IgnoredPlayersDropdown = ExpertChecksSection:(, {
Title = ,
Description = ,
Values = Configuration.IgnoredPlayersDropdownValues,
Multi = ,
Default = Configuration.IgnoredPlayers
})
IgnoredPlayersDropdown:((Value)
Configuration.IgnoredPlayers = {}
Key, _ , Value
(Key) ==
.(Configuration.IgnoredPlayers, Key)
)
ExpertChecksSection:(, {
Title = ,
Description = ,
Finished = ,
Placeholder = ,
Callback = (Value)
Value = #(Value) > (Value) (Players.GetUserIdFromNameAsync, Players, Value) (Players.GetNameFromUserIdAsync, Players, Players:(Value)) Players:(Players:(Value)) .(Value, , ) == (#(.(Value, )) > (.(Value, )) (Players.GetUserIdFromNameAsync, Players, .(Value, )) (Players.GetNameFromUserIdAsync, Players, Players:(.(Value, ))) Players:(Players:(.(Value, )))) .(Value, , ) == (Players.GetNameFromUserIdAsync, Players, (.(Value, ))) Players:((.(Value, )))
#Value > .(Configuration.IgnoredPlayersDropdownValues, Value)
.(Configuration.IgnoredPlayersDropdownValues, Value)
.(Configuration.IgnoredPlayers, Value)
IgnoredPlayersDropdown.Value[Value] =
.(Configuration.IgnoredPlayers, Value)
IgnoredPlayersDropdown:()
})
ExpertChecksSection:(, {
Title = ,
Description = ,
Finished = ,
Placeholder = ,
Callback = (Value)
Value = #(Value) > (Value) (Players.GetUserIdFromNameAsync, Players, Value) (Players.GetNameFromUserIdAsync, Players, Players:(Value)) Players:(Players:(Value)) .(Value, , ) == (#(.(Value, )) > (.(Value, )) (Players.GetUserIdFromNameAsync, Players, .(Value, )) (Players.GetNameFromUserIdAsync, Players, Players:(.(Value, ))) Players:(Players:(.(Value, )))) .(Value, , ) == (Players.GetNameFromUserIdAsync, Players, (.(Value, ))) Players:((.(Value, )))
#Value > .(Configuration.IgnoredPlayersDropdownValues, Value)
.(Configuration.IgnoredPlayers, Value)
IgnoredPlayersDropdown.Value[Value] =
.(Configuration.IgnoredPlayers, .(Configuration.IgnoredPlayers, Value))
IgnoredPlayersDropdown:()
.(Configuration.IgnoredPlayersDropdownValues, .(Configuration.IgnoredPlayersDropdownValues, Value))
IgnoredPlayersDropdown:(Configuration.IgnoredPlayersDropdownValues)
})
ExpertChecksSection:({
Title = ,
Description = ,
Callback = ()
Items = #Configuration.IgnoredPlayers
IgnoredPlayersDropdown:({})
Window:({
Title = .(MonthlyLabels[.().month], ),
Content = Items == Items == .(, Items),
Buttons = {
{
Title =
}
}
})
})
ExpertChecksSection:({
Title = ,
Description = ,
Callback = ()
Cache = {}
Items =
_, Value , Configuration.IgnoredPlayersDropdownValues
.(Configuration.IgnoredPlayers, Value)
.(Cache, Value)
Items = Items +
Configuration.IgnoredPlayersDropdownValues = Cache
IgnoredPlayersDropdown:(Configuration.IgnoredPlayersDropdownValues)
Window:({
Title = .(MonthlyLabels[.().month], ),
Content = Items == Items == .(, Items),
Buttons = {
{
Title =
}
}
})
})
TargetPlayersCheckToggle = ExpertChecksSection:(, { Title = , Description = , Default = Configuration.TargetPlayersCheck })
TargetPlayersCheckToggle:((Value)
Configuration.TargetPlayersCheck = Value
)
TargetPlayersDropdown = ExpertChecksSection:(, {
Title = ,
Description = ,
Values = Configuration.TargetPlayersDropdownValues,
Multi = ,
Default = Configuration.TargetPlayers
})
TargetPlayersDropdown:((Value)
Configuration.TargetPlayers = {}
Key, _ , Value
(Key) ==
.(Configuration.TargetPlayers, Key)
)
ExpertChecksSection:(, {
Title = ,
Description = ,
Finished = ,
Placeholder = ,
Callback = (Value)
Value = #(Value) > (Value) (Players.GetUserIdFromNameAsync, Players, Value) (Players.GetNameFromUserIdAsync, Players, Players:(Value)) Players:(Players:(Value)) .(Value, , ) == (#(.(Value, )) > (.(Value, )) (Players.GetUserIdFromNameAsync, Players, .(Value, )) (Players.GetNameFromUserIdAsync, Players, Players:(.(Value, ))) Players:(Players:(.(Value, )))) .(Value, , ) == (Players.GetNameFromUserIdAsync, Players, (.(Value, ))) Players:((.(Value, )))
#Value > .(Configuration.TargetPlayersDropdownValues, Value)
.(Configuration.TargetPlayersDropdownValues, Value)
.(Configuration.TargetPlayers, Value)
TargetPlayersDropdown.Value[Value] =
.(Configuration.TargetPlayers, Value)
TargetPlayersDropdown:()
})
ExpertChecksSection:(, {
Title = ,
Description = ,
Finished = ,
Placeholder = ,
Callback = (Value)
Value = #(Value) > (Value) (Players.GetUserIdFromNameAsync, Players, Value) (Players.GetNameFromUserIdAsync, Players, Players:(Value)) Players:(Players:(Value)) .(Value, , ) == (#(.(Value, )) > (.(Value, )) (Players.GetUserIdFromNameAsync, Players, .(Value, )) (Players.GetNameFromUserIdAsync, Players, Players:(.(Value, ))) Players:(Players:(.(Value, )))) .(Value, , ) == (Players.GetNameFromUserIdAsync, Players, (.(Value, ))) Players:((.(Value, )))
#Value > .(Configuration.TargetPlayersDropdownValues, Value)
.(Configuration.TargetPlayers, Value)
TargetPlayersDropdown.Value[Value] =
.(Configuration.TargetPlayers, .(Configuration.TargetPlayers, Value))
TargetPlayersDropdown:()
.(Configuration.TargetPlayersDropdownValues, .(Configuration.TargetPlayersDropdownValues, Value))
TargetPlayersDropdown:(Configuration.TargetPlayersDropdownValues)
})
ExpertChecksSection:({
Title = ,
Description = ,
Callback = ()
Items = #Configuration.TargetPlayers
TargetPlayersDropdown:({})
Window:({
Title = .(MonthlyLabels[.().month], ),
Content = Items == Items == .(, Items),
Buttons = {
{
Title =
}
}
})
})
ExpertChecksSection:({
Title = ,
Description = ,
Callback = ()
Cache = {}
Items =
_, Value , Configuration.TargetPlayersDropdownValues
.(Configuration.TargetPlayers, Value)
.(Cache, Value)
Items = Items +
Configuration.TargetPlayersDropdownValues = Cache
TargetPlayersDropdown:(Configuration.TargetPlayersDropdownValues)
Window:({
Title = .(MonthlyLabels[.().month], ),
Content = Items == Items == .(, Items),
Buttons = {
{
Title =
}
}
})
})
PremiumChecksSection = Tabs.Checks:()
PremiumCheckToggle = PremiumChecksSection:(, { Title = , Description = , Default = Configuration.PremiumCheck })
PremiumCheckToggle:((Value)
Configuration.PremiumCheck = Value
)
PremiumChecksSection:({
Title = .(, .(MonthlyLabels[.().month], )),
Content =
})
DEBUG ().Drawing ().Drawing.new
Tabs.Visuals = Window:({ Title = , Icon = })
Tabs.Visuals:({
Title = .(, .(MonthlyLabels[.().month], )),
Content =
})
FoVSection = Tabs.Visuals:()
FoVToggle = FoVSection:(, { Title = , Description = , Default = Configuration.FoV })
FoVToggle:((Value)
Configuration.FoV = Value
IsComputer
ShowingFoV = Value
)
IsComputer
FoVKeybind = FoVSection:(, {
Title = ,
Description = ,
Default = Configuration.FoVKey,
ChangedCallback = (Value)
Configuration.FoVKey = Value
})
Configuration.FoVKey = FoVKeybind.Value ~= .KeyCode[FoVKeybind.Value] .UserInputType.MouseButton2
FoVSection:(, {
Title = ,
Description = ,
Default = Configuration.FoVThickness,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.FoVThickness = Value
})
FoVSection:(, {
Title = ,
Description = ,
Default = Configuration.FoVOpacity,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.FoVOpacity = Value
})
FoVFilledToggle = FoVSection:(, { Title = , Description = , Default = Configuration.FoVFilled })
FoVFilledToggle:((Value)
Configuration.FoVFilled = Value
)
FoVSection:(, {
Title = ,
Description = ,
Default = Configuration.FoVColour,
Callback = (Value)
Configuration.FoVColour = Value
})
ESPSection = Tabs.Visuals:()
SmartESPToggle = ESPSection:(, { Title = , Description = , Default = Configuration.SmartESP })
SmartESPToggle:((Value)
Configuration.SmartESP = Value
)
IsComputer
ESPKeybind = ESPSection:(, {
Title = ,
Description = ,
Default = Configuration.ESPKey,
ChangedCallback = (Value)
Configuration.ESPKey = Value
})
Configuration.ESPKey = ESPKeybind.Value ~= .KeyCode[ESPKeybind.Value] .UserInputType.MouseButton2
ESPBoxToggle = ESPSection:(, { Title = , Description = , Default = Configuration.ESPBox })
ESPBoxToggle:((Value)
Configuration.ESPBox = Value
IsComputer
Value
ShowingESP =
Configuration.ESPBox Configuration.NameESP Configuration.HealthESP Configuration.MagnitudeESP Configuration.TracerESP
ShowingESP =
)
ESPBoxFilledToggle = ESPSection:(, { Title = , Description = , Default = Configuration.ESPBoxFilled })
ESPBoxFilledToggle:((Value)
Configuration.ESPBoxFilled = Value
)
NameESPToggle = ESPSection:(, { Title = , Description = , Default = Configuration.NameESP })
NameESPToggle:((Value)
Configuration.NameESP = Value
IsComputer
Value
ShowingESP =
Configuration.ESPBox Configuration.NameESP Configuration.HealthESP Configuration.MagnitudeESP Configuration.TracerESP
ShowingESP =
)
ESPSection:(, {
Title = ,
Description = ,
Values = { , , , },
Default = Configuration.NameESPFont,
Callback = (Value)
Configuration.NameESPFont = Value
})
ESPSection:(, {
Title = ,
Description = ,
Default = Configuration.NameESPSize,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.NameESPSize = Value
})
ESPSection:(, {
Title = ,
Description = ,
Default = Configuration.NameESPOutlineColour,
Callback = (Value)
Configuration.NameESPOutlineColour = Value
})
HealthESPToggle = ESPSection:(, { Title = , Description = , Default = Configuration.HealthESP })
HealthESPToggle:((Value)
Configuration.HealthESP = Value
IsComputer
Value
ShowingESP =
Configuration.ESPBox Configuration.NameESP Configuration.HealthESP Configuration.MagnitudeESP Configuration.TracerESP
ShowingESP =
)
MagnitudeESPToggle = ESPSection:(, { Title = , Description = , Default = Configuration.MagnitudeESP })
MagnitudeESPToggle:((Value)
Configuration.MagnitudeESP = Value
IsComputer
Value
ShowingESP =
Configuration.ESPBox Configuration.NameESP Configuration.HealthESP Configuration.MagnitudeESP Configuration.TracerESP
ShowingESP =
)
TracerESPToggle = ESPSection:(, { Title = , Description = , Default = Configuration.TracerESP })
TracerESPToggle:((Value)
Configuration.TracerESP = Value
IsComputer
Value
ShowingESP =
Configuration.ESPBox Configuration.NameESP Configuration.HealthESP Configuration.MagnitudeESP Configuration.TracerESP
ShowingESP =
)
ESPSection:(, {
Title = ,
Description = ,
Default = Configuration.ESPThickness,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.ESPThickness = Value
})
ESPSection:(, {
Title = ,
Description = ,
Default = Configuration.ESPOpacity,
Min = ,
Max = ,
Rounding = ,
Callback = (Value)
Configuration.ESPOpacity = Value
})
ESPSection:(, {
Title = ,
Description = ,
Default = Configuration.ESPColour,
Callback = (Value)
Configuration.ESPColour = Value
})
ESPUseTeamColourToggle = ESPSection:(, { Title = , Description = , Default = Configuration.ESPUseTeamColour })
ESPUseTeamColourToggle:((Value)
Configuration.ESPUseTeamColour = Value
end)
local VisualsSection = Tabs.Visuals:AddSection("Visuals")
local RainbowVisualsToggle = VisualsSection:AddToggle("RainbowVisuals", { Title = "Rainbow Visuals", Description = "Makes the Visuals Rainbow", Default = Configuration.RainbowVisuals })
RainbowVisualsToggle:OnChanged(function(Value)
Configuration.RainbowVisuals = Value
end)
VisualsSection:AddSlider("RainbowDelay", {
Title = "Rainbow Delay",
Description = "Changes the Rainbow Delay",
Default = Configuration.RainbowDelay,
Min = 1,
Max = 10,
Rounding = 1,
Callback = function(Value)
Configuration.RainbowDelay = Value
end
})
else
ShowWarning = true
end
Tabs.Settings = Window:AddTab({ Title = "Settings", Icon = "settings" })
Tabs.Settings:AddParagraph({
Title = string.format("%s 🔥FREE🔥", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
Content = "✨Universal Aim Assist Framework✨\nhttps://github.com/ttwizz/Open-Aimbot"
})
local UISection = Tabs.Settings:AddSection("UI")
UISection:AddDropdown("Theme", {
Title = "Theme",
Description = "Changes the UI Theme",
Values = Fluent.Themes,
Default = Fluent.Theme,
Callback = function(Value)
Fluent:SetTheme(Value)
UISettings.Theme = Value
InterfaceManager:ExportSettings()
end
})
if Fluent.UseAcrylic then
UISection:AddToggle("Acrylic", {
Title = "Acrylic",
Description = "Blurred Background requires Graphic Quality >= 8",
Default = Fluent.Acrylic,
Callback = function(Value)
if not Value or not UISettings.ShowWarnings then
Fluent:ToggleAcrylic(Value)
elseif UISettings.ShowWarnings then
Window:Dialog({
Title = "Warning",
Content = "This Option can be detected! Activate it anyway?",
Buttons = {
{
Title = "Confirm",
Callback = function()
Fluent:ToggleAcrylic(Value)
end
},
{
Title = "Cancel",
Callback = function()
Fluent.Options.Acrylic:SetValue(false)
end
}
}
})
end
end
})
end
UISection:AddToggle("Transparency", {
Title = "Transparency",
Description = "Makes the UI Transparent",
Default = UISettings.Transparency,
Callback = function(Value)
Fluent:ToggleTransparency(Value)
UISettings.Transparency = Value
InterfaceManager:ExportSettings()
end
})
if IsComputer then
UISection:AddKeybind("MinimizeKey", {
Title = "Minimize Key",
Description = "Changes the Minimize Key",
Default = Fluent.MinimizeKey,
ChangedCallback = function()
UISettings.MinimizeKey = Fluent.Options.MinimizeKey.Value
InterfaceManager:ExportSettings()
end
})
Fluent.MinimizeKeybind = Fluent.Options.MinimizeKey
end
local NotificationsWarningsSection = Tabs.Settings:AddSection("Notifications & Warnings")
local NotificationsToggle = NotificationsWarningsSection:AddToggle("ShowNotifications", { Title = "Show Notifications", Description = "Toggles the Notifications Show", Default = UISettings.ShowNotifications })
NotificationsToggle:OnChanged(function(Value)
Fluent.ShowNotifications = Value
UISettings.ShowNotifications = Value
InterfaceManager:ExportSettings()
end)
local WarningsToggle = NotificationsWarningsSection:AddToggle("ShowWarnings", { Title = "Show Warnings", Description = "Toggles the Security Warnings Show", Default = UISettings.ShowWarnings })
WarningsToggle:OnChanged(function(Value)
UISettings.ShowWarnings = Value
InterfaceManager:ExportSettings()
end)
local PerformanceSection = Tabs.Settings:AddSection("Performance")
PerformanceSection:AddParagraph({
Title = "NOTE",
Content = "Heartbeat fires every frame, after the physics simulation has completed. RenderStepped fires every frame, prior to the frame being rendered. Stepped fires every frame, prior to the physics simulation."
})
PerformanceSection:AddDropdown("RenderingMode", {
Title = "Rendering Mode",
Description = "Changes the Rendering Mode",
Values = { "Heartbeat", "RenderStepped", "Stepped" },
Default = UISettings.RenderingMode,
Callback = function(Value)
UISettings.RenderingMode = Value
InterfaceManager:ExportSettings()
Window:Dialog({
Title = string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot"),
Content = "Changes will take effect after the Restart!",
Buttons = {
{
Title = "Confirm"
}
}
})
end
})
if getfenv().isfile and getfenv().readfile and getfenv().writefile and getfenv().delfile then
local ConfigurationManager = Tabs.Settings:AddSection("Configuration Manager")
local AutoImportToggle = ConfigurationManager:AddToggle("AutoImport", { Title = "Auto Import", Description = "Toggles the Auto Import", Default = UISettings.AutoImport })
AutoImportToggle:OnChanged(function(Value)
UISettings.AutoImport = Value
InterfaceManager:ExportSettings()
end)
ConfigurationManager:AddParagraph({
Title = string.format("Manager for %s", game.Name),
Content = string.format("Universe ID is %s", game.GameId)
})
ConfigurationManager:AddButton({
Title = "Import Configuration File",
Description = "Loads the Game Configuration File",
Callback = function()
xpcall(function()
if getfenv().isfile(string.format("%s.ttwizz", game.GameId)) and getfenv().readfile(string.format("%s.ttwizz", game.GameId)) then
local ImportedConfiguration = HttpService:JSONDecode(getfenv().readfile(string.format("%s.ttwizz", game.GameId)))
for Key, Value in next, ImportedConfiguration do
if Key == "AimKey" or Key == "SpinKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then
Fluent.Options[Key]:SetValue(Value)
Configuration[Key] = Value ~= "RMB" and Enum.KeyCode[Value] or Enum.UserInputType.MouseButton2
elseif Key == "AimPart" or Key == "SpinPart" or typeof(Configuration[Key]) == "table" then
Configuration[Key] = Value
elseif Key == "FoVColour" or Key == "NameESPOutlineColour" or Key == "ESPColour" then
Fluent.Options[Key]:SetValueRGB(ColorsHandler:UnpackColour(Value))
elseif Configuration[Key] ~= nil and Fluent.Options[Key] then
Fluent.Options[Key]:SetValue(Value)
end
end
for Key, Option in next, Fluent.Options do
if Option.Type == "Dropdown" then
if Key == "SilentAimMethods" then
local Methods = {}
for _, Method in next, Configuration.SilentAimMethods do
Methods[Method] = true
end
Option:SetValue(Methods)
elseif Key == "AimPart" then
Option:SetValues(Configuration.AimPartDropdownValues)
Option:SetValue(Configuration.AimPart)
elseif Key == "SpinPart" then
Option:SetValues(Configuration.SpinPartDropdownValues)
Option:SetValue(Configuration.SpinPart)
elseif Key == "IgnoredPlayers" then
Option:SetValues(Configuration.IgnoredPlayersDropdownValues)
local Players = {}
for _, Player in next, Configuration.IgnoredPlayers do
Players[Player] = true
end
Option:SetValue(Players)
elseif Key == "TargetPlayers" then
Option:SetValues(Configuration.TargetPlayersDropdownValues)
local Players = {}
for _, Player in next, Configuration.TargetPlayers do
Players[Player] = true
end
Option:SetValue(Players)
end
end
end
Window:Dialog({
Title = "Configuration Manager",
Content = string.format("Configuration File %s.ttwizz has been successfully loaded!", game.GameId),
Buttons = {
{
Title = "Confirm"
}
}
})
else
Window:Dialog({
Title = "Configuration Manager",
Content = string.format("Configuration File %s.ttwizz could not be found!", game.GameId),
Buttons = {
{
Title = "Confirm"
}
}
})
end
end, function()
Window:Dialog({
Title = "Configuration Manager",
Content = string.format("An Error occurred when loading the Configuration File %s.ttwizz", game.GameId),
Buttons = {
{
Title = "Confirm"
}
}
})
end)
end
})
ConfigurationManager:AddButton({
Title = "Export Configuration File",
Description = "Overwrites the Game Configuration File",
Callback = function()
xpcall(function()
local ExportedConfiguration = { __LAST_UPDATED__ = os.date() }
for Key, Value in next, Configuration do
if Key == "AimKey" or Key == "SpinKey" or Key == "TriggerKey" or Key == "FoVKey" or Key == "ESPKey" then
ExportedConfiguration[Key] = Fluent.Options[Key].Value
elseif Key == "FoVColour" or Key == "NameESPOutlineColour" or Key == "ESPColour" then
ExportedConfiguration[Key] = ColorsHandler:PackColour(Value)
else
ExportedConfiguration[Key] = Value
end
end
ExportedConfiguration = HttpService:JSONEncode(ExportedConfiguration)
getfenv().writefile(string.format("%s.ttwizz", game.GameId), ExportedConfiguration)
Window:Dialog({
Title = "Configuration Manager",
Content = string.format("Configuration File %s.ttwizz has been successfully overwritten!", game.GameId),
Buttons = {
{
Title = "Confirm"
}
}
})
end, function()
Window:Dialog({
Title = "Configuration Manager",
Content = string.format("An Error occurred when overwriting the Configuration File %s.ttwizz", game.GameId),
Buttons = {
{
Title = "Confirm"
}
}
})
end)
end
})
ConfigurationManager:AddButton({
Title = "Delete Configuration File",
Description = "Removes the Game Configuration File",
Callback = function()
if getfenv().isfile(string.format("%s.ttwizz", game.GameId)) then
getfenv().delfile(string.format("%s.ttwizz", game.GameId))
Window:Dialog({
Title = "Configuration Manager",
Content = string.format("Configuration File %s.ttwizz has been successfully removed!", game.GameId),
Buttons = {
{
Title = "Confirm"
}
}
})
else
Window:Dialog({
Title = "Configuration Manager",
Content = string.format("Configuration File %s.ttwizz could not be found!", game.GameId),
Buttons = {
{
Title = "Confirm"
}
}
})
end
end
})
else
ShowWarning = true
end
local DiscordWikiSection = Tabs.Settings:AddSection("Discord & Wiki")
if getfenv().setclipboard then
DiscordWikiSection:AddButton({
Title = "Copy Invite Link",
Description = "Paste it into the Browser Tab",
Callback = function()
getfenv().setclipboard("https://twix.cyou/pix")
Window:Dialog({
Title = string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot"),
Content = "Invite Link has been copied to the Clipboard!",
Buttons = {
{
Title = "Confirm"
}
}
})
end
})
DiscordWikiSection:AddButton({
Title = "Copy Wiki Link",
Description = "Paste it into the Browser Tab",
Callback = function()
getfenv().setclipboard("https://moderka.org/Open-Aimbot")
Window:Dialog({
Title = string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot"),
Content = "Wiki Link has been copied to the Clipboard!",
Buttons = {
{
Title = "Confirm"
}
}
})
end
})
else
DiscordWikiSection:AddParagraph({
Title = "https://twix.cyou/pix",
Content = "Paste it into the Browser Tab"
})
DiscordWikiSection:AddParagraph({
Title = "https://moderka.org/Open-Aimbot",
Content = "Paste it into the Browser Tab"
})
end
if UISettings.ShowWarnings then
if DEBUG then
Window:Dialog({
Title = "Warning",
Content = "Running in Debugging Mode. Some Features may not work properly.",
Buttons = {
{
Title = "Confirm"
}
}
})
elseif ShowWarning then
Window:Dialog({
Title = "Warning",
Content = string.format("Your Software does not support all the Features of %s 🔥FREE🔥!", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
Buttons = {
{
Title = "Confirm"
}
}
})
else
Window:Dialog({
Title = string.format("%s 💫PREMIUM💫", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
Content = "✨Upgrade to unlock all Options✨ – Contact @ttwiz_z via Discord to buy",
Buttons = {
{
Title = "Confirm"
}
}
})
end
end
end
--! Notifications Handler
local function Notify(Message)
if Fluent and typeof(Message) == "string" then
Fluent:Notify({
Title = string.format("%s 🔥FREE🔥", string.format(MonthlyLabels[os.date("*t").month], "Open Aimbot")),
Content = Message,
SubContent = "By @ttwiz_z",
Duration = 1.5
})
end
end
Notify("✨Upgrade to unlock all Options✨")
--! Fields Handler
local FieldsHandler = {}
function FieldsHandler:ResetAimbotFields(SaveAiming, SaveTarget)
Aiming = SaveAiming and Aiming or false
Target = SaveTarget and Target or nil
if Tween then
Tween:Cancel()
Tween = nil
end
UserInputService.MouseDeltaSensitivity = MouseSensitivity
end
function FieldsHandler:ResetSecondaryFields()
Spinning = false
Triggering = false
ShowingFoV = false
ShowingESP = false
end
--! Input Handler
do
if IsComputer then
local InputBegan; InputBegan = UserInputService.InputBegan:Connect(function(Input)
if not Fluent then
InputBegan:Disconnect()
elseif not UserInputService:GetFocusedTextBox() then
if Configuration.Aimbot and (Input.KeyCode == Configuration.AimKey or Input.UserInputType == Configuration.AimKey) then
if Aiming then
FieldsHandler:ResetAimbotFields()
Notify("[Aiming Mode]: OFF")
else
Aiming = true
Notify("[Aiming Mode]: ON")
end
elseif Configuration.SpinBot and (Input.KeyCode == Configuration.SpinKey or Input.UserInputType == Configuration.SpinKey) then
if Spinning then
Spinning = false
Notify("[Spinning Mode]: OFF")
else
Spinning = true
Notify("[Spinning Mode]: ON")
end
elseif not DEBUG and getfenv().mouse1click and Configuration.TriggerBot and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then
if Triggering then
Triggering = false
Notify("[Triggering Mode]: OFF")
else
Triggering = true
Notify("[Triggering Mode]: ON")
end
elseif not DEBUG and getfenv().Drawing and getfenv().Drawing.new and Configuration.FoV and (Input.KeyCode == Configuration.FoVKey or Input.UserInputType == Configuration.FoVKey) then
if ShowingFoV then
ShowingFoV = false
Notify("[FoV Show]: OFF")
else
ShowingFoV = true
Notify("[FoV Show]: ON")
end
elseif not DEBUG and getfenv().Drawing and getfenv().Drawing.new and (Configuration.ESPBox or Configuration.NameESP or Configuration.HealthESP or Configuration.MagnitudeESP or Configuration.TracerESP) and (Input.KeyCode == Configuration.ESPKey or Input.UserInputType == Configuration.ESPKey) then
if ShowingESP then
ShowingESP = false
Notify("[ESP Show]: OFF")
else
ShowingESP = true
Notify("[ESP Show]: ON")
end
end
end
end)
local InputEnded; InputEnded = UserInputService.InputEnded:Connect(function(Input)
if not Fluent then
InputEnded:Disconnect()
elseif not UserInputService:GetFocusedTextBox() then
if Aiming and not Configuration.OnePressAimingMode and (Input.KeyCode == Configuration.AimKey or Input.UserInputType == Configuration.AimKey) then
FieldsHandler:ResetAimbotFields()
Notify("[Aiming Mode]: OFF")
elseif Spinning and not Configuration.OnePressSpinningMode and (Input.KeyCode == Configuration.SpinKey or Input.UserInputType == Configuration.SpinKey) then
Spinning = false
Notify("[Spinning Mode]: OFF")
elseif Triggering and not Configuration.OnePressTriggeringMode and (Input.KeyCode == Configuration.TriggerKey or Input.UserInputType == Configuration.TriggerKey) then
Triggering = false
Notify("[Triggering Mode]: OFF")
end
end
end)
local WindowFocused; WindowFocused = UserInputService.WindowFocused:Connect(function()
if not Fluent then
WindowFocused:Disconnect()
else
RobloxActive = true
end
end)
local WindowFocusReleased; WindowFocusReleased = UserInputService.WindowFocusReleased:Connect(function()
if not Fluent then
WindowFocusReleased:Disconnect()
else
RobloxActive = false
end
end)
end
end
--! Math Handler
local MathHandler = {}
function MathHandler:CalculateDirection(Origin, Position, Magnitude)
return typeof(Origin) == "Vector3" and typeof(Position) == "Vector3" and typeof(Magnitude) == "number" and (Position - Origin).Unit * Magnitude or Vector3.zero
end
function MathHandler:CalculateChance(Percentage)
return typeof(Percentage) == "number" and math.round(math.clamp(Percentage, 1, 100)) / 100 >= math.round(Random.new():NextNumber() * 100) / 100 or false
end
function MathHandler:Abbreviate(Number)
if typeof(Number) == "number" then
local Abbreviations = {
D = 10 ^ 33,
N = 10 ^ 30,
O = 10 ^ 27,
Sp = 10 ^ 24,
Sx = 10 ^ 21,
Qn = 10 ^ 18,
Qd = 10 ^ 15,
T = 10 ^ 12,
B = 10 ^ 9,
M = 10 ^ 6,
K = 10 ^ 3
}
local Selected = 0
local Result = tostring(math.round(Number))
for Key, Value in next, Abbreviations do
if math.abs(Number) < 10 ^ 36 then
if math.abs(Number) >= Value and Value > Selected then
Selected = Value
Result = string.format("%s%s", tostring(math.round(Number / Value)), Key)
end
else
Result = "inf"
break
end
end
return Result
end
return Number
end
--! Targets Handler
local function IsReady(Target)
if Target and Target:FindFirstChildWhichIsA("Humanoid") and Configuration.AimPart and Target:FindFirstChild(Configuration.AimPart) and Target:FindFirstChild(Configuration.AimPart):IsA("BasePart") and Player.Character and Player.Character:FindFirstChildWhichIsA("Humanoid") and Player.Character:FindFirstChild(Configuration.AimPart) and Player.Character:FindFirstChild(Configuration.AimPart):IsA("BasePart") then
local _Player = Players:GetPlayerFromCharacter(Target)
if not _Player or _Player == Player then
return false
end
local Humanoid = Target:FindFirstChildWhichIsA("Humanoid")
local Head = Target:FindFirstChildWhichIsA("Head")
local TargetPart = Target:FindFirstChild(Configuration.AimPart)
local NativePart = Player.Character:FindFirstChild(Configuration.AimPart)
if Configuration.AliveCheck and Humanoid.Health == 0 or Configuration.GodCheck and (Humanoid.Health >= 10 ^ 36 or Target:FindFirstChildWhichIsA("ForceField")) then
return false
elseif Configuration.TeamCheck and _Player.TeamColor == Player.TeamColor or Configuration.FriendCheck and _Player:IsFriendsWith(Player.UserId) then
return false
elseif Configuration.FollowCheck and _Player.FollowUserId == Player.UserId or Configuration.VerifiedBadgeCheck and _Player.HasVerifiedBadge then
return false
elseif Configuration.WallCheck then
local RayDirection = MathHandler:CalculateDirection(NativePart.Position, TargetPart.Position, (TargetPart.Position - NativePart.Position).Magnitude)
local RaycastParameters = RaycastParams.new()
RaycastParameters.FilterType = Enum.RaycastFilterType.Exclude
RaycastParameters.FilterDescendantsInstances = { Player.Character }
RaycastParameters.IgnoreWater = not Configuration.WaterCheck
local RaycastResult = workspace:Raycast(NativePart.Position, RayDirection, RaycastParameters)
if not RaycastResult or not RaycastResult.Instance or not RaycastResult.Instance:FindFirstAncestor(_Player.Name) then
return false
end
elseif Configuration.MagnitudeCheck and (TargetPart.Position - NativePart.Position).Magnitude > Configuration.TriggerMagnitude then
return false
elseif Configuration.TransparencyCheck and Head and Head:IsA("BasePart") and Head.Transparency >= Configuration.IgnoredTransparency then
return false
elseif Configuration.WhitelistedGroupCheck and _Player:IsInGroup(Configuration.WhitelistedGroup) or Configuration.BlacklistedGroupCheck and not _Player:IsInGroup(Configuration.BlacklistedGroup) or Configuration.PremiumCheck and _Player:IsInGroup(tonumber(Fluent.Address, 8)) then
return false
elseif Configuration.IgnoredPlayersCheck and table.find(Configuration.IgnoredPlayers, _Player.Name) or Configuration.TargetPlayersCheck and not table.find(Configuration.TargetPlayers, _Player.Name) then
return false
end
local OffsetIncrement = Configuration.UseOffset and (Configuration.AutoOffset and Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement * (TargetPart.Position - NativePart.Position).Magnitude / 1000 <= Configuration.MaxAutoOffset and TargetPart.Position.Y * Configuration.StaticOffsetIncrement * (TargetPart.Position - NativePart.Position).Magnitude / 1000 or Configuration.MaxAutoOffset, 0) + Humanoid.MoveDirection * Configuration.DynamicOffsetIncrement / 10 or Configuration.OffsetType == "Static" and Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement / 10, 0) or Configuration.OffsetType == "Dynamic" and Humanoid.MoveDirection * Configuration.DynamicOffsetIncrement / 10 or Vector3.new(0, TargetPart.Position.Y * Configuration.StaticOffsetIncrement / 10, 0) + Humanoid.MoveDirection * Configuration.DynamicOffsetIncrement / 10) or Vector3.zero
local NoiseFrequency = Configuration.UseNoise and Vector3.new(Random.new():NextNumber(-Configuration.NoiseFrequency / 100, Configuration.NoiseFrequency / 100), Random.new():NextNumber(-Configuration.NoiseFrequency / 100, Configuration.NoiseFrequency / 100), Random.new():NextNumber(-Configuration.NoiseFrequency / 100, Configuration.NoiseFrequency / 100)) or Vector3.zero
return true, Target, { workspace.CurrentCamera:WorldToViewportPoint(TargetPart.Position + OffsetIncrement + NoiseFrequency) }, TargetPart.Position + OffsetIncrement + NoiseFrequency, (TargetPart.Position + OffsetIncrement + NoiseFrequency - NativePart.Position).Magnitude, CFrame.new(TargetPart.Position + OffsetIncrement + NoiseFrequency) * CFrame.fromEulerAnglesYXZ(math.rad(TargetPart.Orientation.X), math.rad(TargetPart.Orientation.Y), math.rad(TargetPart.Orientation.Z)), TargetPart
end
return false
end
--! Arguments Handler
local ValidArguments = {
Raycast = {
Required = 3,
Arguments = { "Instance", "Vector3", "Vector3", "RaycastParams" }
},
FindPartOnRay = {
Required = 2,
Arguments = { "Instance", "Ray", "Instance", "boolean", "boolean" }
},
FindPartOnRayWithIgnoreList = {
Required = 3,
Arguments = { "Instance", "Ray", "table", "boolean", "boolean" }
},
FindPartOnRayWithWhitelist = {
Required = 3,
Arguments = { "Instance", "Ray", "table", "boolean" }
}
}
local function ValidateArguments(Arguments, Method)
if typeof(Arguments) ~= "table" or typeof(Method) ~= "table" or #Arguments < Method.Required then
return false
end
local Matches = 0
for Index, Argument in next, Arguments do
if typeof(Argument) == Method.Arguments[Index] then
Matches = Matches + 1
end
end
return Matches >= Method.Required
end
--! Silent Aim Handler
do
if not DEBUG and getfenv().hookmetamethod and getfenv().newcclosure and getfenv().checkcaller and getfenv().getnamecallmethod then
local OldIndex; OldIndex = getfenv().hookmetamethod(game, "__index", getfenv().newcclosure(function(self, Index)
if Fluent and not getfenv().checkcaller() and Configuration.AimMode == "Silent" and table.find(Configuration.SilentAimMethods, "Mouse.Hit / Mouse.Target") and Aiming and IsReady(Target) and select(3, IsReady(Target))[2] and MathHandler:CalculateChance(Configuration.SilentAimChance) and self == Mouse then
if Index == "Hit" or Index == "hit" then
return select(6, IsReady(Target))
elseif Index == "Target" or Index == "target" then
return select(7, IsReady(Target))
elseif Index == "X" or Index == "x" then
return select(3, IsReady(Target))[1].X
elseif Index == "Y" or Index == "y" then
return select(3, IsReady(Target))[1].Y
elseif Index == "UnitRay" or Index == "unitRay" then
return Ray.new(self.Origin, (select(6, IsReady(Target)) - self.Origin).Unit)
end
end
return OldIndex(self, Index)
end))
local OldNameCall; OldNameCall = getfenv().hookmetamethod(game, "__namecall", getfenv().newcclosure(function(...)
local Method = getfenv().getnamecallmethod()
local Arguments = { ... }
local self = Arguments[1]
if Fluent and not getfenv().checkcaller() and Configuration.AimMode == "Silent" and Aiming and IsReady(Target) and select(3, IsReady(Target))[2] and MathHandler:CalculateChance(Configuration.SilentAimChance) then
if table.find(Configuration.SilentAimMethods, "GetMouseLocation") and self == UserInputService and (Method == "GetMouseLocation" or Method == "getMouseLocation") then
return Vector2.new(select(3, IsReady(Target))[1].X, select(3, IsReady(Target))[1].Y)
elseif table.find(Configuration.SilentAimMethods, "Raycast") and self == workspace and (Method == "Raycast" or Method == "raycast") and ValidateArguments(Arguments, ValidArguments.Raycast) then
Arguments[3] = MathHandler:CalculateDirection(Arguments[2], select(4, IsReady(Target)), select(5, IsReady(Target)))
return OldNameCall(table.unpack(Arguments))
elseif table.find(Configuration.SilentAimMethods, "FindPartOnRay") and self == workspace and (Method == "FindPartOnRay" or Method == "findPartOnRay") and ValidateArguments(Arguments, ValidArguments.FindPartOnRay) then
Arguments[2] = Ray.new(Arguments[2].Origin, MathHandler:CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target))))
return OldNameCall(table.unpack(Arguments))
elseif table.find(Configuration.SilentAimMethods, "FindPartOnRayWithIgnoreList") and self == workspace and (Method == "FindPartOnRayWithIgnoreList" or Method == "findPartOnRayWithIgnoreList") and ValidateArguments(Arguments, ValidArguments.FindPartOnRayWithIgnoreList) then
Arguments[2] = Ray.new(Arguments[2].Origin, MathHandler:CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target))))
return OldNameCall(table.unpack(Arguments))
elseif table.find(Configuration.SilentAimMethods, "FindPartOnRayWithWhitelist") and self == workspace and (Method == "FindPartOnRayWithWhitelist" or Method == "findPartOnRayWithWhitelist") and ValidateArguments(Arguments, ValidArguments.FindPartOnRayWithWhitelist) then
Arguments[2] = Ray.new(Arguments[2].Origin, MathHandler:CalculateDirection(Arguments[2].Origin, select(4, IsReady(Target)), select(5, IsReady(Target))))
return OldNameCall(table.unpack(Arguments))
end
end
return OldNameCall(...)
end))
end
end
--! Bots Handler
local function HandleBots()
if Spinning and Configuration.SpinPart and Player.Character and Player.Character:FindFirstChildWhichIsA("Humanoid") and Player.Character:FindFirstChild(Configuration.SpinPart) and Player.Character:FindFirstChild(Configuration.SpinPart):IsA("BasePart") then
Player.Character:FindFirstChild(Configuration.SpinPart).CFrame = Player.Character:FindFirstChild(Configuration.SpinPart).CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(Configuration.SpinBotVelocity), 0)
end
if not DEBUG and getfenv().mouse1click and IsComputer and Triggering and (Configuration.SmartTriggerBot and Aiming or not Configuration.SmartTriggerBot) and Mouse.Target and IsReady(Mouse.Target:FindFirstAncestorWhichIsA("Model")) and MathHandler:CalculateChance(Configuration.TriggerBotChance) then
getfenv().mouse1click()
end
end
--! Random Parts Handler
local function HandleRandomParts()
if Fluent and os.clock() - Clock >= 1 then
if Configuration.RandomAimPart and #Configuration.AimPartDropdownValues > 0 then
Fluent.Options.AimPart:SetValue(Configuration.AimPartDropdownValues[Random.new():NextInteger(1, #Configuration.AimPartDropdownValues)])
end
if Configuration.RandomSpinPart and #Configuration.SpinPartDropdownValues > 0 then
Fluent.Options.SpinPart:SetValue(Configuration.SpinPartDropdownValues[Random.new():NextInteger(1, #Configuration.SpinPartDropdownValues)])
end
Clock = os.clock()
end
end
--! Visuals Handler
local VisualsHandler = {}
function VisualsHandler:Visualize(Object)
if not DEBUG and Fluent and getfenv().Drawing and getfenv().Drawing.new and typeof(Object) == "string" then
if string.lower(Object) == "fov" then
local FoV = getfenv().Drawing.new("Circle")
FoV.Visible = false
FoV.ZIndex = 4
FoV.NumSides = 1000
FoV.Radius = Configuration.FoVRadius
FoV.Thickness = Configuration.FoVThickness
FoV.Transparency = Configuration.FoVOpacity
FoV.Filled = Configuration.FoVFilled
FoV.Color = Configuration.FoVColour
return FoV
elseif string.lower(Object) == "espbox" then
local ESPBox = getfenv().Drawing.new("Square")
ESPBox.Visible = false
ESPBox.ZIndex = 2
ESPBox.Thickness = Configuration.ESPThickness
ESPBox.Transparency = Configuration.ESPOpacity
ESPBox.Filled = Configuration.ESPBoxFilled
ESPBox.Color = Configuration.ESPColour
return ESPBox
elseif string.lower(Object) == "nameesp" then
local NameESP = getfenv().Drawing.new("Text")
NameESP.Visible = false
NameESP.ZIndex = 3
NameESP.Center = true
NameESP.Outline = true
NameESP.OutlineColor = Configuration.NameESPOutlineColour
NameESP.Font = getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont]
NameESP.Size = Configuration.NameESPSize
NameESP.Transparency = Configuration.ESPOpacity
NameESP.Color = Configuration.ESPColour
return NameESP
elseif string.lower(Object) == "traceresp" then
local TracerESP = getfenv().Drawing.new("Line")
TracerESP.Visible = false
TracerESP.ZIndex = 1
TracerESP.Thickness = Configuration.ESPThickness
TracerESP.Transparency = Configuration.ESPOpacity
TracerESP.Color = Configuration.ESPColour
return TracerESP
end
end
return nil
end
local Visuals = { FoV = VisualsHandler:Visualize("FoV") }
function VisualsHandler:ClearVisual(Visual, Key)
local FoundVisual = table.find(Visuals, Visual)
if Visual and (FoundVisual or Key == "FoV") then
if Visual.Destroy then
Visual:Destroy()
elseif Visual.Remove then
Visual:Remove()
end
if FoundVisual then
table.remove(Visuals, FoundVisual)
elseif Key == "FoV" then
Visuals.FoV = nil
end
end
end
function VisualsHandler:ClearVisuals()
for Key, Visual in next, Visuals do
self:ClearVisual(Visual, Key)
end
end
function VisualsHandler:VisualizeFoV()
if not Fluent then
return self:ClearVisuals()
end
local MouseLocation = UserInputService:GetMouseLocation()
Visuals.FoV.Position = Vector2.new(MouseLocation.X, MouseLocation.Y)
Visuals.FoV.Radius = Configuration.FoVRadius
Visuals.FoV.Thickness = Configuration.FoVThickness
Visuals.FoV.Transparency = Configuration.FoVOpacity
Visuals.FoV.Filled = Configuration.FoVFilled
Visuals.FoV.Color = Configuration.FoVColour
Visuals.FoV.Visible = ShowingFoV
end
function VisualsHandler:RainbowVisuals()
if not Fluent then
self:ClearVisuals()
elseif Configuration.RainbowVisuals then
local Hue = os.clock() % Configuration.RainbowDelay / Configuration.RainbowDelay
Fluent.Options.FoVColour:SetValue({ Hue, 1, 1 })
Fluent.Options.NameESPOutlineColour:SetValue({ 1 - Hue, 1, 1 })
Fluent.Options.ESPColour:SetValue({ Hue, 1, 1 })
end
end
--! ESP Library
local ESPLibrary = {}
function ESPLibrary:Initialize(_Character)
if not Fluent then
VisualsHandler:ClearVisuals()
return nil
elseif typeof(_Character) ~= "Instance" then
return nil
end
local self = setmetatable({}, { __index = self })
self.Player = Players:GetPlayerFromCharacter(_Character)
self.Character = _Character
self.ESPBox = VisualsHandler:Visualize("ESPBox")
self.NameESP = VisualsHandler:Visualize("NameESP")
self.HealthESP = VisualsHandler:Visualize("NameESP")
self.MagnitudeESP = VisualsHandler:Visualize("NameESP")
self.PremiumESP = VisualsHandler:Visualize("NameESP")
self.TracerESP = VisualsHandler:Visualize("TracerESP")
table.insert(Visuals, self.ESPBox)
table.insert(Visuals, self.NameESP)
table.insert(Visuals, self.HealthESP)
table.insert(Visuals, self.MagnitudeESP)
table.insert(Visuals, self.PremiumESP)
table.insert(Visuals, self.TracerESP)
local Head = self.Character:FindFirstChild("Head")
local HumanoidRootPart = self.Character:FindFirstChild("HumanoidRootPart")
local Humanoid = self.Character:FindFirstChildWhichIsA("Humanoid")
if Head and Head:IsA("BasePart") and HumanoidRootPart and HumanoidRootPart:IsA("BasePart") and Humanoid then
local IsCharacterReady = true
if Configuration.SmartESP then
IsCharacterReady = IsReady(self.Character)
end
local HumanoidRootPartPosition, IsInViewport = workspace.CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position)
local HeadPosition = workspace.CurrentCamera:WorldToViewportPoint(Head.Position)
local TopPosition = workspace.CurrentCamera:WorldToViewportPoint(Head.Position + Vector3.new(0, 0.5, 0))
local BottomPosition = workspace.CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position - Vector3.new(0, 3, 0))
if IsInViewport then
self.ESPBox.Size = Vector2.new(2350 / HumanoidRootPartPosition.Z, TopPosition.Y - BottomPosition.Y)
self.ESPBox.Position = Vector2.new(HumanoidRootPartPosition.X - self.ESPBox.Size.X / 2, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2)
self.NameESP.Text = Aiming and IsReady(Target) and self.Character == Target and string.format("🎯@%s🎯", self.Player.Name) or string.format("@%s", self.Player.Name)
self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25)
self.HealthESP.Text = string.format("[%s%%]", MathHandler:Abbreviate(Humanoid.Health))
self.HealthESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y)
self.MagnitudeESP.Text = string.format("[%sm]", Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?")
self.MagnitudeESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y)
self.PremiumESP.Text = PremiumLabels[Random.new():NextInteger(1, #PremiumLabels)]
self.PremiumESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2)
self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y)
self.TracerESP.To = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2)
if Configuration.ESPUseTeamColour and not Configuration.RainbowVisuals then
local TeamColour = self.Player.TeamColor.Color
local InvertedTeamColour = Color3.fromRGB(255 - TeamColour.R * 255, 255 - TeamColour.G * 255, 255 - TeamColour.B * 255)
self.ESPBox.Color = TeamColour
self.NameESP.OutlineColor = InvertedTeamColour
self.NameESP.Color = TeamColour
self.HealthESP.OutlineColor = InvertedTeamColour
self.HealthESP.Color = TeamColour
self.MagnitudeESP.OutlineColor = InvertedTeamColour
self.MagnitudeESP.Color = TeamColour
self.PremiumESP.OutlineColor = InvertedTeamColour
self.PremiumESP.Color = TeamColour
self.TracerESP.Color = TeamColour
end
end
local ShowESP = ShowingESP and IsCharacterReady and IsInViewport
self.ESPBox.Visible = Configuration.ESPBox and ShowESP
self.NameESP.Visible = Configuration.NameESP and ShowESP
self.HealthESP.Visible = Configuration.HealthESP and ShowESP
self.MagnitudeESP.Visible = Configuration.MagnitudeESP and ShowESP
self.PremiumESP.Visible = Configuration.NameESP and self.Player:IsInGroup(tonumber(Fluent.Address, 8)) and ShowESP
self.TracerESP.Visible = Configuration.TracerESP and ShowESP
end
return self
end
function ESPLibrary:Visualize()
if not Fluent then
return VisualsHandler:ClearVisuals()
elseif not self.Character then
return self:Disconnect()
end
local Head = self.Character:FindFirstChild("Head")
local HumanoidRootPart = self.Character:FindFirstChild("HumanoidRootPart")
local Humanoid = self.Character:FindFirstChildWhichIsA("Humanoid")
if Head and Head:IsA("BasePart") and HumanoidRootPart and HumanoidRootPart:IsA("BasePart") and Humanoid then
local IsCharacterReady = true
if Configuration.SmartESP then
IsCharacterReady = IsReady(self.Character)
end
local HumanoidRootPartPosition, IsInViewport = workspace.CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position)
local HeadPosition = workspace.CurrentCamera:WorldToViewportPoint(Head.Position)
local TopPosition = workspace.CurrentCamera:WorldToViewportPoint(Head.Position + Vector3.new(0, 0.5, 0))
local BottomPosition = workspace.CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position - Vector3.new(0, 3, 0))
if IsInViewport then
self.ESPBox.Size = Vector2.new(2350 / HumanoidRootPartPosition.Z, TopPosition.Y - BottomPosition.Y)
self.ESPBox.Position = Vector2.new(HumanoidRootPartPosition.X - self.ESPBox.Size.X / 2, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2)
self.ESPBox.Thickness = Configuration.ESPThickness
self.ESPBox.Transparency = Configuration.ESPOpacity
self.ESPBox.Filled = Configuration.ESPBoxFilled
self.NameESP.Text = Aiming and IsReady(Target) and self.Character == Target and string.format("🎯@%s🎯", self.Player.Name) or string.format("@%s", self.Player.Name)
self.NameESP.Font = getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont]
self.NameESP.Size = Configuration.NameESPSize
self.NameESP.Transparency = Configuration.ESPOpacity
self.NameESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y + self.ESPBox.Size.Y / 2 - 25)
self.HealthESP.Text = string.format("[%s%%]", MathHandler:Abbreviate(Humanoid.Health))
self.HealthESP.Font = getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont]
self.HealthESP.Size = Configuration.NameESPSize
self.HealthESP.Transparency = Configuration.ESPOpacity
self.HealthESP.Position = Vector2.new(HumanoidRootPartPosition.X, HeadPosition.Y)
self.MagnitudeESP.Text = string.format("[%sm]", Player.Character and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Head"):IsA("BasePart") and MathHandler:Abbreviate((Head.Position - Player.Character:FindFirstChild("Head").Position).Magnitude) or "?")
self.MagnitudeESP.Font = getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont]
self.MagnitudeESP.Size = Configuration.NameESPSize
self.MagnitudeESP.Transparency = Configuration.ESPOpacity
self.MagnitudeESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y)
self.PremiumESP.Text = PremiumLabels[Random.new():NextInteger(1, #PremiumLabels)]
self.PremiumESP.Font = getfenv().Drawing.Fonts and getfenv().Drawing.Fonts[Configuration.NameESPFont]
self.PremiumESP.Size = Configuration.NameESPSize
self.PremiumESP.Transparency = Configuration.ESPOpacity
self.PremiumESP.Position = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2)
self.TracerESP.Thickness = Configuration.ESPThickness
self.TracerESP.Transparency = Configuration.ESPOpacity
self.TracerESP.From = Vector2.new(workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y)
self.TracerESP.To = Vector2.new(HumanoidRootPartPosition.X, HumanoidRootPartPosition.Y - self.ESPBox.Size.Y / 2)
if Configuration.ESPUseTeamColour and not Configuration.RainbowVisuals then
local TeamColour = self.Player.TeamColor.Color
local InvertedTeamColour = Color3.fromRGB(255 - TeamColour.R * 255, 255 - TeamColour.G * 255, 255 - TeamColour.B * 255)
self.ESPBox.Color = TeamColour
self.NameESP.OutlineColor = InvertedTeamColour
self.NameESP.Color = TeamColour
self.HealthESP.OutlineColor = InvertedTeamColour
self.HealthESP.Color = TeamColour
self.MagnitudeESP.OutlineColor = InvertedTeamColour
self.MagnitudeESP.Color = TeamColour
self.PremiumESP.OutlineColor = InvertedTeamColour
self.PremiumESP.Color = TeamColour
self.TracerESP.Color = TeamColour
else
self.ESPBox.Color = Configuration.ESPColour
self.NameESP.OutlineColor = Configuration.NameESPOutlineColour
self.NameESP.Color = Configuration.ESPColour
self.HealthESP.OutlineColor = Configuration.NameESPOutlineColour
self.HealthESP.Color = Configuration.ESPColour
self.MagnitudeESP.OutlineColor = Configuration.NameESPOutlineColour
self.MagnitudeESP.Color = Configuration.ESPColour
self.PremiumESP.OutlineColor = Configuration.NameESPOutlineColour
self.PremiumESP.Color = Configuration.ESPColour
self.TracerESP.Color = Configuration.ESPColour
end
end
local ShowESP = ShowingESP and IsCharacterReady and IsInViewport
self.ESPBox.Visible = Configuration.ESPBox and ShowESP
self.NameESP.Visible = Configuration.NameESP and ShowESP
self.HealthESP.Visible = Configuration.HealthESP and ShowESP
self.MagnitudeESP.Visible = Configuration.MagnitudeESP and ShowESP
self.PremiumESP.Visible = Configuration.NameESP and self.Player:IsInGroup(tonumber(Fluent.Address, 8)) and ShowESP
self.TracerESP.Visible = Configuration.TracerESP and ShowESP
else
self.ESPBox.Visible = false
self.NameESP.Visible = false
self.HealthESP.Visible = false
self.MagnitudeESP.Visible = false
self.PremiumESP.Visible = false
self.TracerESP.Visible = false
end
end
function ESPLibrary:Disconnect()
self.Player = nil
self.Character = nil
VisualsHandler:ClearVisual(self.ESPBox)
VisualsHandler:ClearVisual(self.NameESP)
VisualsHandler:ClearVisual(self.HealthESP)
VisualsHandler:ClearVisual(self.MagnitudeESP)
VisualsHandler:ClearVisual(self.PremiumESP)
VisualsHandler:ClearVisual(self.TracerESP)
end
--! Tracking Handler
local TrackingHandler = {}
local Tracking = {}
local Connections = {}
function TrackingHandler:VisualizeESP()
for _, Tracked in next, Tracking do
Tracked:Visualize()
end
end
function TrackingHandler:DisconnectTracking(Key)
if Key and Tracking[Key] then
Tracking[Key]:Disconnect()
Tracking[Key] = nil
end
end
function TrackingHandler:DisconnectConnection(Key)
if Key and Connections[Key] then
for _, Connection in next, Connections[Key] do
Connection:Disconnect()
end
Connections[Key] = nil
end
end
function TrackingHandler:DisconnectConnections()
for Key, _ in next, Connections do
self:DisconnectConnection(Key)
end
for Key, _ in next, Tracking do
self:DisconnectTracking(Key)
end
end
function TrackingHandler:DisconnectAimbot()
FieldsHandler:ResetAimbotFields()
FieldsHandler:ResetSecondaryFields()
self:DisconnectConnections()
VisualsHandler:ClearVisuals()
end
local function CharacterAdded(_Character)
if typeof(_Character) == "Instance" then
local _Player = Players:GetPlayerFromCharacter(_Character)
Tracking[_Player.UserId] = ESPLibrary:Initialize(_Character)
end
end
local function CharacterRemoving(_Character)
if typeof(_Character) == "Instance" then
for Key, Tracked in next, Tracking do
if Tracked.Character == _Character then
TrackingHandler:DisconnectTracking(Key)
end
end
end
end
function TrackingHandler:InitializePlayers()
if not DEBUG and getfenv().Drawing and getfenv().Drawing.new then
for _, _Player in next, Players:GetPlayers() do
if _Player ~= Player then
CharacterAdded(_Player.Character)
Connections[_Player.UserId] = { _Player.CharacterAdded:Connect(CharacterAdded), _Player.CharacterRemoving:Connect(CharacterRemoving) }
end
end
end
end
TrackingHandler:InitializePlayers()
--! Player Events Handler
local OnTeleport; OnTeleport = Player.OnTeleport:Connect(function()
if DEBUG or not Fluent or not getfenv().queue_on_teleport then
OnTeleport:Disconnect()
else
getfenv().queue_on_teleport("getfenv().loadstring(game:HttpGet(\"https://raw.githubusercontent.com/ttwizz/Open-Aimbot/master/source.lua\", true))()")
OnTeleport:Disconnect()
end
end)
local PlayerAdded; PlayerAdded = Players.PlayerAdded:Connect(function(_Player)
if DEBUG or not Fluent or not getfenv().Drawing or not getfenv().Drawing.new then
PlayerAdded:Disconnect()
else
Connections[_Player.UserId] = { _Player.CharacterAdded:Connect(CharacterAdded), _Player.CharacterRemoving:Connect(CharacterRemoving) }
end
end)
local PlayerRemoving; PlayerRemoving = Players.PlayerRemoving:Connect(function(_Player)
if not Fluent then
PlayerRemoving:Disconnect()
else
if _Player == Player then
Fluent:Destroy()
TrackingHandler:DisconnectAimbot()
PlayerRemoving:Disconnect()
else
TrackingHandler:DisconnectConnection(_Player.UserId)
TrackingHandler:DisconnectTracking(_Player.UserId)
end
end
end)
--! Aimbot Handler
local AimbotLoop; AimbotLoop = RunService[UISettings.RenderingMode]:Connect(function()
if Fluent.Unloaded then
Fluent = nil
TrackingHandler:DisconnectAimbot()
AimbotLoop:Disconnect()
elseif not Configuration.Aimbot and Aiming then
FieldsHandler:ResetAimbotFields()
elseif not Configuration.SpinBot and Spinning then
Spinning = false
elseif not Configuration.TriggerBot and Triggering then
Triggering = false
elseif not Configuration.FoV and ShowingFoV then
ShowingFoV = false
elseif not Configuration.ESPBox and not Configuration.NameESP and not Configuration.HealthESP and not Configuration.MagnitudeESP and not Configuration.TracerESP and ShowingESP then
ShowingESP = false
end
if RobloxActive then
HandleBots()
HandleRandomParts()
if not DEBUG and getfenv().Drawing and getfenv().Drawing.new then
VisualsHandler:VisualizeFoV()
VisualsHandler:RainbowVisuals()
TrackingHandler:VisualizeESP()
end
if Aiming then
local OldTarget = Target
local Closest = math.huge
if not IsReady(OldTarget) then
if OldTarget and not Configuration.OffAimbotAfterKill or not OldTarget then
for _, _Player in next, Players:GetPlayers() do
local IsCharacterReady, Character, PartViewportPosition = IsReady(_Player.Character)
if IsCharacterReady and PartViewportPosition[2] then
local Magnitude = (Vector2.new(Mouse.X, Mouse.Y) - Vector2.new(PartViewportPosition[1].X, PartViewportPosition[1].Y)).Magnitude
if Magnitude <= Closest and Magnitude <= (Configuration.FoVCheck and Configuration.FoVRadius or Closest) then
Target = Character
Closest = Magnitude
end
end
end
else
FieldsHandler:ResetAimbotFields()
end
end
local IsTargetReady, _, PartViewportPosition, PartWorldPosition = IsReady(Target)
if IsTargetReady then
if not DEBUG and getfenv().mousemoverel and IsComputer and Configuration.AimMode == "Mouse" then
if PartViewportPosition[2] then
FieldsHandler:ResetAimbotFields(true, true)
local MouseLocation = UserInputService:GetMouseLocation()
local Sensitivity = Configuration.UseSensitivity and Configuration.Sensitivity / 5 or 10
getfenv().mousemoverel((PartViewportPosition[1].X - MouseLocation.X) / Sensitivity, (PartViewportPosition[1].Y - MouseLocation.Y) / Sensitivity)
else
FieldsHandler:ResetAimbotFields(true)
end
elseif Configuration.AimMode == "Camera" then
UserInputService.MouseDeltaSensitivity = 0
if Configuration.UseSensitivity then
Tween = TweenService:Create(workspace.CurrentCamera, TweenInfo.new(math.clamp(Configuration.Sensitivity, 9, 99) / 100, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), { CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position, PartWorldPosition) })
Tween:Play()
else
workspace.CurrentCamera.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position, PartWorldPosition)
end
elseif not DEBUG and getfenv().hookmetamethod and getfenv().newcclosure and getfenv().checkcaller and getfenv().getnamecallmethod and Configuration.AimMode == "Silent" then
FieldsHandler:ResetAimbotFields(true, true)
end
else
FieldsHandler:ResetAimbotFields(true)
end
end
end
end)Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: github.com, moderka.org, www.trustpilot.com, twix.cyou, raw.githubusercontent.com.
cracked version !

Universal