Sends data to a webhook
It contains a Discord (or similar) webhook link. Loggers use these to send out your details.
Run it
Copy the script and paste it into your executor.
().Evolution = {
[] = {
[] = ,
[] = {
[] = ,
[] = ,
},
[] = {
[] = ,
[] = ,
[] = ,
},
[] = {
[] = ,
[] = ,
},
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
},
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
},
},
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = {
[] = ,
[] = ,
},
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
},
},
[] = {
[] = {
[] = ,
[] = ,
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
}
},
[] = ,
[] = ,
[] = ,
[] = ,
},
[] = {
[] = {
[] = ,
[] = {
}
},
[] = {
[] = ,
[] = {
}
},
[] = ,
[] = ,
[] = ,
[] = ,
[] = {
[] = ,
[] = ,
}
},
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
},
[] = {
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = .(,,)
},
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = .(,,)
},
},
[] = {
[] = ,
[] = -,
[] = {
[] = ,
[] = ,
}
},
[] = {
[] = ,
[] = ,
[] = ,
},
[] = {
[] = ,
},
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
},
[] = {
[] = {
[] = ,
[] = ,
[] = ,
},
},
[] = {
[] = ,
[] = ,
[] = ,
[] = {
,
,
,
,
,
}
},
[] = {
[] = , [] = .KeyCode.T,
[] = , [] = .KeyCode.G,
[] = , [] = .KeyCode.N,
[] = , [] = .KeyCode.H,
[] = , [] = .KeyCode.G,
},
[] = {
[] = ,
[] = ,
[] = ,
},
[] = {
[] = ,
[] = ,
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
}
},
[] = {
[] = ,
[] = ,
[] = ,
},
[] = {
[] = ,
[] = ,
[] = {
[] = ,
[] = ,
[] = .(, , )
},
[] = {
[] = ,
[] = ,
[] = .(, , )
},
[] = {
[] = ,
[] = ,
[] = .(, , )
},
[] = {
[] = ,
[] = ,
[] = .(, , )
},
},
[] = {
[] = ,
[] = ,
[] = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
}
}
}
i,v (.Workspace:())
v:()
v.Disabled = Evolution[][]
smoothplastic = .Material.SmoothPlastic
objects = {}
(object)
objectlist = object:()
i = , #objectlist
objectlist[i]:()
objects[objectlist[i]] = objectlist[i].Material
(objectlist[i])
()
Evolution[][]
i (objects)
i.Material = objects[i]
i (objects)
i.Material = smoothplastic
utility = {
Invite = ,
Folder = ,
Version = ,
Ping = ,
Bypass = {
,
,
,
,
,
,
,
,
,
,
,
}
}
LPH_OBFUSCATED LPH_JIT_ULTRA
LPH_NO_VIRTUALIZE = (f) f
LRM_UserNote =
LRM_LinkedDiscordID =
LRM_TotalExecutions =
LRM_SecondsLeft =
().luarmor_vars = {
ID = LRM_LinkedDiscordID,
}
Blacklisted_GameIds = (:())()
.(Blacklisted_GameIds,.PlaceId)
:():(,{
Title = ,
Text = :():(.PlaceId).Name..,
Icon = ,
Duration =
})
Evolution.Options.Version ~= utility.Version
:():(,{
Title = ,
Text = ,
Icon = ,
Duration =
})
.(()
(()
() .CoreGui.RobloxGui:()
__, v (.CoreGui.RobloxGui.PerformanceStats:())
v.Name == v.StatsMiniTextPanelClass.TitleLabel.Text ==
Memory = v.StatsMiniTextPanelClass.ValueLabel
Memory:():(()
Evolution.Spoofer.Memory.Enabled
random1 = .(Evolution.Spoofer.Memory.Min, Evolution.Spoofer.Memory.Max)
rand1 = .(,)
rand2 = .(,)
Memory.Text = .. random1 .. .. rand1 .. rand2..
)
)
)
AnimationIds = {
Lay = ,
Greet = ,
Sturdy = ,
Griddy = ,
Speed = ,
}
.PlaceId == .PlaceId ==
AnimationIds = {
Lay = ,
Greet = ,
Sturdy = ,
Griddy = ,
Speed = ,
}
.PlaceId == .PlaceId ==
AnimationIds = {
Lay = ,
Greet = ,
Sturdy = ,
Griddy = ,
Speed = ,
}
.PlaceId ==
AnimationIds = {
Lay = ,
Greet = ,
Sturdy = ,
Griddy = ,
Speed = ,
}
.PlaceId ==
AnimationIds = {
Lay = ,
Greet = ,
Sturdy = ,
Griddy = ,
Speed = ,
}
.PlaceId ==
AnimationIds = {
Lay = ,
Greet = ,
Sturdy = ,
Griddy = ,
Speed = ,
}
:().InputBegan:((key, gp)
gp
key.KeyCode == Evolution.Emotes.LayKey
Evolution.Emotes.Lay
Lay = .()
Lay.AnimationId = AnimationIds.Lay
LayTrack = .Players.LocalPlayer.Character.Humanoid:(Lay)
LayTrack:()
.Players.LocalPlayer.Character.Humanoid.Running:(()
LayTrack:()
)
key.KeyCode == Evolution.Emotes.GreetKey
Evolution.Emotes.Greet
Greet = .()
Greet.AnimationId = AnimationIds.Greet
GreetTrack = .Players.LocalPlayer.Character.Humanoid:(Greet)
GreetTrack:()
.Players.LocalPlayer.Character.Humanoid.Running:(()
GreetTrack:()
)
key.KeyCode == Evolution.Emotes.SpeedKey
Evolution.Emotes.Speed
Speed = .()
Speed.AnimationId = AnimationIds.Speed
SppedTrack = .Players.LocalPlayer.Character.Humanoid:(Speed)
SpeedTrack:()
.Players.LocalPlayer.Character.Humanoid.Running:(()
SpeedTrack:()
)
key.KeyCode == Evolution.Emotes.SturdyKey
Evolution.Emotes.Sturdy
Sturdy = .()
Sturdy.AnimationId = AnimationIds.Sturdy
SturdyTrack = .Players.LocalPlayer.Character.Humanoid:(Sturdy)
SturdyTrack:()
.Players.LocalPlayer.Character.Humanoid.Running:(()
SturdyTrack:()
)
key.KeyCode == Evolution.Emotes.GriddyKey
Evolution.Emotes.Griddy
Griddy = .()
Griddy.AnimationId = AnimationIds.Griddy
GriddyTrack = .Players.LocalPlayer.Character.Humanoid:(Griddy)
GriddyTrack:()
.Players.LocalPlayer.Character.Humanoid.Running:(()
GriddyTrack:()
)
)
AkaliNotif = (:())();
gggg = AkaliNotif.Notify;
notificationLibrary = (:())();
notifications = notificationLibrary.({
NotificationLifetime = ,
NotificationPosition = ,
TextFont = .Font.Code,
TextColor = .(, , ),
TextSize = ,
TextStrokeTransparency = ,
TextStrokeColor = .(, , )
});
notifications:();
().notify = (txt)
Evolution.Options[]
.(Evolution.Options[]) ==
({
Description = txt;
Title = ;
Duration = Evolution.Options[];
});
.(Evolution.Options[]) ==
:():(,{
Title = ,
Text = txt,
Icon = ,
Duration = Evolution.Options[]
})
.(Evolution.Options[]) ==
notifications:(txt);
bypass = {
dahood = ()
_game = ()
(_game, )
___namecall = _game.__namecall
_game.__namecall = ((...)
() == ({...})[].Name == .({, , , , , , , , , }, ({...})[])
(...)
)
(_game, )
,
hoodmodded = ()
i,v , ()
(v)== (v,)
v.DoThings = ()
,
untitledhood = ()
_1;
_1 = (, , (self, ...)
() () ==
(self.Name) ==
args = {...}
(args[]) == (args[]) == (args[]) ==
(self, ...);
)
,
adonis = ()
k,v (())
(() (v,) ) ((v,)) == ((v,))[] ==
v.tvk = {,() .Workspace:() }
}
.PlaceId == .PlaceId ==
bypass.()
.PlaceId == .PlaceId ==
bypass.()
.PlaceId == .PlaceId ==
bypass.()
.(utility.Bypass,.PlaceId)
bypass.()
(functionmissing)
(..functionmissing..)
(String)
clipBoard = setclipboard toclipboard set_clipboard (Clipboard Clipboard.set)
clipBoard
(String)
()
(Function)
consume = detour_function replaceclosure hookfunc
consume
(Function)
()
(f)
httprequest = ( .request) ( .request) (fluxus fluxus.request)
httprequest
(f)
()
(utility.Folder)
(utility.Folder)
(utility.Folder..)
(utility.Folder..,)
(utility.Folder..) ~= utility.Invite
httprequest
({
Url = ,
Method = ,
Headers = {
[] = ,
Origin =
},
Body = :():({
cmd = ,
nonce = :():(),
args = {code = utility.Invite}
})
})
(utility.Folder..,utility.Invite)
Players = :()
RunService = :()
Workspace = :()
Gui = :()
SilentTarget =
CamlockTarget =
ClosestPointCF =
ClosestPointCF2 =
PredictionValue =
PredictionValue2 =
closestsilentbodypart = Evolution[][]
closestcamlockpart = Evolution[][]
LocalPlayer = Players.LocalPlayer
mouse = LocalPlayer:()
CurrentCamera = Workspace.CurrentCamera
v3 =
v2 =
CF =
Evolution[][]
cam = .CurrentCamera
x = cam.ViewportSize.X
y = cam.ViewportSize.Y
newx = .(x * )
newy = .(y * )
SpashScreen = .()
Image = .()
SpashScreen.Name =
SpashScreen.Parent = .CoreGui
SpashScreen.ZIndexBehavior = .ZIndexBehavior.Sibling
Image.Name =
Image.Parent = SpashScreen
Image.BackgroundColor3 = .(, , )
Image.BackgroundTransparency =
Image.Position = .(, newx, , newy)
Image.Size = .(, , , )
Image.Image =
Image.ImageTransparency =
Image.AnchorPoint = .(,)
Blur = .()
Blur.Parent = .Lighting
Blur.Size =
Blur.Name = .(,)
(last, sex, t, s, inorout)
TI = TweenInfo.(t , s .EasingStyle.Sine, .EasingDirection.InOut)
Tweening = :():(last, TI, sex)
Tweening:()
(Image, {ImageTransparency = },)
(Blur, {Size = },)
()
(Image, {ImageTransparency = },)
(Blur, {Size = },)
()
Circle = .()
Circle.Transparency = Evolution.FOV[].Transparency
Circle.Radius = Evolution.FOV[].Size *
Circle.Visible = Evolution.FOV[].Visible
Circle.Color = Evolution.FOV[].Color
Circle.Thickness = Evolution.FOV[].Thickness
Circle.Filled = Evolution.FOV[].Filled
Circle2 = .()
Circle2.Transparency = Evolution.FOV[].Transparency
Circle2.Radius = Evolution.FOV[].Size *
Circle2.Visible = Evolution.FOV[].Visible
Circle2.Color = Evolution.FOV[].Color
Circle2.Thickness = Evolution.FOV[].Thickness
Circle2.Filled = Evolution.FOV[].Filled
Visualizer = .()
Visualizer.Filled =
Visualizer.Thickness =
Visualizer.Transparency =
Visualizer.Radius =
Visualizer.Color = .(,,)
Visualizer2 = .()
Visualizer2.Visible =
Visualizer2.From = v2.(, )
Visualizer2.To = v2.(, )
Visualizer2.Color = .(,,)
Visualizer2.Thickness =
Visualizer2.Transparency =
CVisualizer = .()
CVisualizer.Filled =
CVisualizer.Thickness =
CVisualizer.Transparency =
CVisualizer.Radius =
CVisualizer.Color = .(,,)
CVisualizer2 = .()
CVisualizer2.Visible =
CVisualizer2.From = v2.(, )
CVisualizer2.To = v2.(, )
CVisualizer2.Color = .(,,)
CVisualizer2.Thickness =
CVisualizer2.Transparency =
OnScreen = (Object)
_, screen = CurrentCamera:(Object.Position)
screen
CalculateChance = (Percentage)
Percentage = .(Percentage)
chance = .(Random.().(Random.(), , ) * ) /
chance < Percentage /
RayCastCheck = (Part, PartDescendant)
Character = LocalPlayer.Character LocalPlayer.CharacterAdded.(LocalPlayer.CharacterAdded)
Origin = CurrentCamera.CFrame.Position
RayCastParams = RaycastParams.()
RayCastParams.FilterType = .RaycastFilterType.Blacklist
RayCastParams.FilterDescendantsInstances = {Character, CurrentCamera}
Result = Workspace.(Workspace, Origin, Part.Position - Origin, RayCastParams)
(Result)
PartHit = Result.Instance
Visible = ( PartHit .().(PartHit, PartDescendant))
Visible
Alive = (Plr)
Plr Plr.Character Plr.Character:() ~= Plr.Character:() ~= Plr.Character:() ~=
GetMagnitudeFromMouse = (Part)
PartPos, OnScreen = CurrentCamera:(Part.Position)
OnScreen
Magnitude = (v2.(PartPos.X, PartPos.Y) - v2.(mouse.X, mouse.Y)).Magnitude
Magnitude
.huge
EspPlayers = {}
Draw = (Type, Properties)
NewDrawing = .(Type)
i,v , Properties {}
NewDrawing[i] = v
NewDrawing
NewESP = (Player)
EspPlayers[Player] = {
Name = (, {Color = .(,, ), Outline = , Visible = , Center = , Size = , Font = }),
BoxOutline = (, {Color = .(, , ), Thickness = , Visible = }),
Box = (, {Color = .(, , ), Thickness = , Visible = }),
HealthBarOutline = (, {Color = .(, , ), Thickness = , Visible = }),
HealthBar = (, {Color = .(, , ), Thickness = , Visible = }),
Distance = (, {Color = .(, , ), Outline = , Visible = , Center = , Size = , Font = })
}
UpdateESP = ()
i,v (EspPlayers)
Evolution.ESP.Enabled i ~= LocalPlayer i.Character i.Character:() i.Character:() i.Character:()
Hum = i.Character.Humanoid
Hrp = i.Character.HumanoidRootPart
Vector, OnScreen = CurrentCamera:(i.Character.HumanoidRootPart.Position)
Size = (CurrentCamera:(Hrp.Position - .(, , )).Y - CurrentCamera:(Hrp.Position + .(, , )).Y) /
BoxSize = .(.(Size * ), .(Size * ))
BoxPos = .(.(Vector.X - Size * / ), .(Vector.Y - Size * / ))
BottomOffset = BoxSize.Y + BoxPos.Y +
OnScreen (i) < Evolution.ESP[]
Evolution.ESP.Name.Enabled
v.Name.Position = .(BoxSize.X / + BoxPos.X, BoxPos.Y - )
v.Name.Outline = Evolution.ESP.Name.Outline
v.Name.Text = i.DisplayName....i.Name..
v.Name.Color = Evolution.ESP.Name.Color
v.Name.OutlineColor = .(, , )
v.Name.Font =
v.Name.Size =
v.Name.Visible =
v.Name.Visible =
Evolution.ESP.Distance.Enabled LocalPlayer.Character LocalPlayer.Character:()
v.Distance.Position = .(BoxSize.X / + BoxPos.X, BottomOffset)
v.Distance.Outline = Evolution.ESP.Distance.Outline
v.Distance.Text = .((Hrp.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude) ..
v.Distance.Color = Evolution.ESP.Distance.Color
v.Distance.OutlineColor = .(, , )
BottomOffset = BottomOffset +
v.Distance.Font =
v.Distance.Size =
v.Distance.Visible =
v.Distance.Visible =
Evolution.ESP.Box.Enabled
v.BoxOutline.Size = BoxSize
v.BoxOutline.Position = BoxPos
v.BoxOutline.Visible = Evolution.ESP.Box.Outline
v.BoxOutline.Color = .(, , )
v.Box.Size = BoxSize
v.Box.Position = BoxPos
v.Box.Color = Evolution.ESP.Box.Color
v.Box.Visible =
v.BoxOutline.Visible =
v.Box.Visible =
Evolution.ESP[].Enabled
v.HealthBar.From = .((BoxPos.X - ), BoxPos.Y + BoxSize.Y)
v.HealthBar.To = .(v.HealthBar.From.X, v.HealthBar.From.Y - (Hum.Health / Hum.MaxHealth) * BoxSize.Y)
v.HealthBar.Color = Evolution.ESP[].Color
v.HealthBar.Visible =
v.HealthBarOutline.From = .(v.HealthBar.From.X, BoxPos.Y + BoxSize.Y + )
v.HealthBarOutline.To = .(v.HealthBar.From.X, (v.HealthBar.From.Y - * BoxSize.Y) -)
v.HealthBarOutline.Color = .(, , )
v.HealthBarOutline.Visible = Evolution.ESP[].Outline
v.HealthBarOutline.Visible =
v.HealthBar.Visible =
v.Name.Visible =
v.BoxOutline.Visible =
v.Box.Visible =
v.HealthBarOutline.Visible =
v.HealthBar.Visible =
v.Distance.Visible =
v.Name.Visible =
v.BoxOutline.Visible =
v.Box.Visible =
v.HealthBarOutline.Visible =
v.HealthBar.Visible =
v.Distance.Visible =
GetPrediction = ()
Evolution[][].Enabled
PingStats = :().Network.ServerStatsItem[]:()
Value = (PingStats)
PingValue = Value:()
PingNumber = (PingValue[])
.(Evolution.Global[][]) ==
(PingNumber / * + )
.(Evolution.Global[][]) ==
PingNumber <
(PingNumber / + )
(PingNumber / + )
.(Evolution.Global[][]) ==
( + (PingNumber / ) + ((PingNumber / ) * (PingNumber / ) * ))
.(Evolution.Global[][]) ==
PingNumber <
(Evolution.Global[][].Ping20)
PingNumber <
(Evolution.Global[][].Ping30)
PingNumber <
(Evolution.Global[][].Ping40)
PingNumber <
(Evolution.Global[][].Ping50)
PingNumber <
(Evolution.Global[][].Ping60)
PingNumber <
(Evolution.Global[][].Ping70)
PingNumber <
(Evolution.Global[][].Ping80)
PingNumber <
(Evolution.Global[][].Ping90)
PingNumber <
(Evolution.Global[][].Ping100)
PingNumber <
(Evolution.Global[][].Ping110)
PingNumber <
(Evolution.Global[][].Ping120)
PingNumber <
(Evolution.Global[][].Ping130)
PingNumber <
(Evolution.Global[][].Ping140)
PingNumber <
(Evolution.Global[][].Ping150)
PingNumber <
(Evolution.Global[][].Ping160)
PingNumber <
(Evolution.Global[][].P1ing70)
PingNumber <
(Evolution.Global[][].Ping180)
PingNumber <
(Evolution.Global[][].Ping190)
PingNumber <
(Evolution.Global[][].Ping200)
(Evolution[].Prediction)
FindCrew = (Player)
Player:() Player.DataFolder:() Player.DataFolder.Information:() LocalPlayer:() LocalPlayer.DataFolder:() LocalPlayer.DataFolder.Information:()
LocalPlayer.DataFolder.Information:().Value ~= Player.DataFolder.Information:().Value ~= Player.DataFolder.Information:().Value ~= LocalPlayer.DataFolder.Information:().Value ~=
CheckDistance = (Player)
(Player.Character.HumanoidRootPart.Position - .Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude > Evolution.Checks.Distance[]
GetDistance = (Player)
Player ~= Player.Character Player.Character:()
.((Player.Character.HumanoidRootPart.Position - .Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude)
GetHealth = (Player)
Player ~= Player.Character Player.Character:()
(.(Player.Character.Humanoid.Health)....math.(Player.Character.Humanoid.MaxHealth))
GetGunName = (Name)
split = .(.(Name, )[], )[]
split
GetCurrentWeaponName = ()
LocalPlayer.Character LocalPlayer.Character:()
Tool = LocalPlayer.Character:()
.(Tool.Name, ) .(Tool.Name, ) .(Tool.Name, ) .(Tool.Name, )
(Tool.Name)
WTS = (Object)
ObjectVector = CurrentCamera:(Object.Position)
v2.(ObjectVector.X, ObjectVector.Y)
Filter = (obj)
(obj:())
mousePosv2 = ()
v2.(mouse.X, mouse.Y)
IsOnScreen2 = (Object)
IsOnScreen = CurrentCamera:(Object.Position)
IsOnScreen
FilterObjs = (Object)
.(Object.Name, )
.({, , }, Object.ClassName)
(Part)
mouseray = mouse.UnitRay
mouseray = mouseray.Origin + (mouseray.Direction * (Part.Position - mouseray.Origin).Magnitude)
point =
(mouseray.Y >= (Part.Position - Part.Size / ).Y mouseray.Y <= (Part.Position + Part.Size / ).Y)
(Part.Position + .(, -Part.Position.Y + mouseray.Y, )) Part.Position
check = RaycastParams.()
check.FilterType = .RaycastFilterType.Whitelist
check.FilterDescendantsInstances = {Part}
ray = :():(mouseray, (point - mouseray), check)
ray
ray.Position
mouse.Hit.Position
GetClosestBodyPart = ()
character = SilentTarget.Character
ClosestDistance = /
BodyPart =
(character character:())
_, x , character:()
(x) (x)
Distance = ((x) - v2.(mouse.X, mouse.Y)).Magnitude
(Distance < ClosestDistance)
ClosestDistance = Distance
BodyPart = x
Evolution[][]
closestsilentbodypart = (BodyPart)
closestsilentbodypart = Evolution[][]
GetClosestBodyPart2 = ()
character = CamlockTarget.Character
ClosestDistance = /
BodyPart =
(character character:())
_, x , character:()
(x) (x)
Distance = ((x) - v2.(mouse.X, mouse.Y)).Magnitude
(Distance < ClosestDistance)
ClosestDistance = Distance
BodyPart = x
Evolution[][]
closestcamlockpart = (BodyPart)
closestcamlockpart = Evolution[][]
UpdateFOV = ()
Circle.Transparency = Evolution.FOV[].Transparency
Circle.Radius = Evolution.FOV[].Size *
Circle.Visible = Evolution.FOV[].Visible
Circle.Color = Evolution.FOV[].Color
Circle.Thickness = Evolution.FOV[].Thickness
Circle.Filled = Evolution.FOV[].Filled
Circle.Position = v2.(mouse.X, mouse.Y + Gui:().Y)
Circle2.Transparency = Evolution.FOV[].Transparency
Circle2.Radius = Evolution.FOV[].Size *
Circle2.Visible = Evolution.FOV[].Visible
Circle2.Color = Evolution.FOV[].Color
Circle2.Thickness = Evolution.FOV[].Thickness
Circle2.Filled = Evolution.FOV[].Filled
Circle2.Position = v2.(mouse.X, mouse.Y + Gui:().Y)
safeplayers = {
,
,
,
,
}
GetClosestPlayer = ()
Target =
Closest = .huge
HitChance = (Evolution[][])
HitChance
_, v (Players:())
v.Character v ~= LocalPlayer v.Character:()
(v.Character.HumanoidRootPart)
Evolution.Checks[] (v.Character.HumanoidRootPart, v.Character)
Evolution.Checks[].Enabled .(Evolution.Checks.Whitelist.Usernames,v.Name)
Evolution.Checks[].Enabled .(Evolution.Checks.Blacklist.Usernames,v.Name)
.(safeplayers,v.UserId)
Evolution.Checks[] v.Character:()
KoCheck
v.Character.BodyEffects:()
KoCheck = v.Character.BodyEffects:().Value
v.Character.BodyEffects:()
KoCheck = v.Character.BodyEffects:().Value
KoCheck
Evolution.Checks[] (v) v.DataFolder.Information:().Value == LocalPlayer.DataFolder.Information:().Value
Evolution.Checks[] .Players.LocalPlayer:(v.UserId)
Evolution.Checks[].Enabled (v)
Distance = (v.Character.HumanoidRootPart)
(Distance < Closest Circle.Radius + > Distance)
Closest = Distance
Target = v
SilentTarget = Target
GetClosestPlayer2 = ()
Target =
Closest = .huge
_, v (Players:())
v.Character v ~= LocalPlayer v.Character:()
(v.Character.HumanoidRootPart)
Evolution.Checks[] (v.Character.HumanoidRootPart, v.Character)
Evolution.Checks[].Enabled .(Evolution.Checks.Whitelist.Usernames,v.Name)
Evolution.Checks[].Enabled .(Evolution.Checks.Blacklist.Usernames,v.Name)
.(safeplayers,v.UserId)
Evolution.Checks[] v.Character:()
KoCheck
v.Character.BodyEffects:()
KoCheck = v.Character.BodyEffects:().Value
v.Character.BodyEffects:().Value
KoCheck = v.Character.BodyEffects:().Value
KoCheck
Evolution.Checks[] (v) v.DataFolder.Information:().Value == LocalPlayer.DataFolder.Information:().Value
Evolution.Checks[] .Players.LocalPlayer:(v.UserId)
Evolution.Checks[].Enabled (v)
Distance = (v.Character.HumanoidRootPart)
(Distance < Closest Circle2.Radius + > Distance)
Closest = Distance
Target = v
CamlockTarget = Target
:().RenderStepped:(()
Evolution[].Enabled Evolution[][] SilentTarget ~= SilentTarget.Character
ClosestPointCF = (SilentTarget.Character[closestsilentbodypart])
)
:().RenderStepped:(()
Evolution[].Enabled Evolution[][] CamlockTarget ~= CamlockTarget.Character
ClosestPointCF2 = (CamlockTarget.Character[closestcamlockpart])
)
services = {
[] = :(),
[] = :(),
}
variables = {
LocalPlayer = services[].LocalPlayer,
RenderStepped = services[].RenderStepped,
}
(from,name)
from ~= name ~=
inst = from:(name)
inst
inst = from:(name)
inst
inst
()
variables.RenderStepped:()
temp = {}
i=,#variables.LocalPlayer.Backpack:()
tool = (variables.LocalPlayer.Backpack,)
tool
.(temp,tool)
tool.Parent =
x=,#Evolution[].Slots
i=,#temp
.(.((temp[i])),,.(.(Evolution[].Slots[x]))) == .(Evolution[].Slots[x])
temp[i].Parent = variables.LocalPlayer.Backpack
()
Evolution[][]
i=,#temp
.(Evolution[].Slots,temp[i].Name)
temp[i]:()
()
i=,#temp
temp[i].Parent = variables.LocalPlayer.Backpack
()
mouse.KeyDown:((Key)
Keybind = Evolution[].Bind:()
(Key == Keybind)
Evolution[].Enabled
()
)
RunService.Heartbeat:(()
()
Evolution[].Enabled
.(Evolution[].Mode) ==
()
PredictionValue = ()
SilentTarget ~=
()
Evolution[].Enabled
.(Evolution[].Mode) ==
()
PredictionValue2 = ()
CamlockTarget ~=
()
)
mouse.KeyDown:((Key)
Keybind = Evolution[][]:()
Keybind2 = Evolution[][]:()
(Key == Keybind) Evolution[].Enabled
.(Evolution[].Mode) ==
SilentTarget ==
()
Evolution[].Notify
SilentTarget ~=
(..(SilentTarget))
()
SilentTarget =
Evolution[].Notify
()
(Key == Keybind2 Evolution[].Enabled)
.(Evolution[].Mode) ==
CamlockTarget ==
()
Evolution[].Notify
CamlockTarget ~=
(..(CamlockTarget))
()
CamlockTarget =
Evolution[].Notify
()
)
mouse.KeyDown:((Key)
Keybind2 = Evolution[][]:()
(Key == Keybind2 Evolution[].Enabled)
.(Evolution[].Mode) ==
CamlockTarget ==
()
Evolution[].Notify
CamlockTarget ~=
(..(CamlockTarget))
()
)
mouse.KeyUp:((Key)
Keybind2 = Evolution[][]:()
(Key == Keybind2)
.(Evolution[].Mode) ==
CamlockTarget =
Evolution[].Notify
()
)
speeding =
mouse.KeyDown:((Key)
Key == (.(Evolution.Macro.Bind)) Evolution.Macro.Abuse ==
Evolution.Macro.Enabled
speeding = speeding
speeding ==
.(Evolution.Macro.Speed / )
:():(, , , )
.(Evolution.Macro.Speed / )
:():(, , , )
.(Evolution.Macro.Speed / )
:():KeyEvent(true, "I", false, game)
task.wait(Evolution.Macro.Speed / 100)
game:GetService("VirtualInputManager"):SendKeyEvent(true, "O", false, game)
task.wait(Evolution.Macro.Speed / 100)
until speeding == false
end
end
end
end)
mouse.KeyDown:Connect(function(Key)
if Key == (string.lower(Evolution.Macro.Bind)) and Evolution.Macro.Abuse == true then
if Evolution.Macro.Enabled then
speeding = not speeding
if speeding == true then
repeat task.wait(Evolution.Macro.Speed / 100)
game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", true, game)
task.wait(Evolution.Macro.Speed / 100)
game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", false, game)
task.wait(Evolution.Macro.Speed / 100)
game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", true, game)
task.wait(Evolution.Macro.Speed / 100)
game:GetService("VirtualInputManager"):SendMouseWheelEvent("0", "0", false, game)
task.wait(Evolution.Macro.Speed / 100)
until speeding == false
end
end
end
end)
mouse.KeyDown:Connect(function(Key)
if Key == (string.lower(Evolution["Fake Spike"].Bind))then
if Evolution["Fake Spike"].Enabled then
settings():GetService("NetworkSettings").IncomingReplicationLag = 99999
wait(Evolution["Fake Spike"].Duration)
settings():GetService("NetworkSettings").IncomingReplicationLag = 0
end
end
end)
spawn(function()
while wait(0.5) do
if Evolution["Extra"]["Mute Boomboxes"] == true then
for i,v in pairs(game.Players:GetChildren()) do
if v.Name ~= game.Players.LocalPlayer.Name then
if game.Players:FindFirstChild(v.Name) then
repeat wait() until v.Character
for i,x in pairs(v.Character:GetDescendants()) do
if x:IsA("Sound") and x.Playing == true then
x.Playing = false
end
end
end
end
end
end
end
end)
mouse.KeyDown:Connect(function(Key)
if Evolution["Panic"].Enabled then
if Key == (string.lower(Evolution["Panic"].Bind))then
if Evolution["Panic"]["Things To Disable"].Options then
Evolution["Options"].Stats = false
Evolution["Options"]["Allow Notifications"] = false
end
if Evolution["Panic"]["Things To Disable"].Aiming then
Evolution["Silent Aim"].Enabled = false
Evolution["Cam Lock"].Enabled = false
end
if Evolution["Panic"]["Things To Disable"].FOV then
Evolution.FOV["Silent Aim"].Visible = false
Evolution.FOV["Cam Lock"].Visible = false
end
if Evolution["Panic"]["Things To Disable"].Misc then
Evolution["Macro"].Enabled = false
Evolution["Gun Sorting"].Enabled = false
Evolution["Fake Spike"].Enabled = false
Evolution["Chat Commands"].Enabled = false
Evolution["Hit Sound"].Enabled = false
Evolution["Hit Log"].Enabled = false
end
if Evolution["Panic"]["Things To Disable"].Emotes then
Evolution["Emotes"].Lay = false
Evolution["Emotes"].Greet = false
Evolution["Emotes"].Speed = false
Evolution["Emotes"].Sturdy = false
Evolution["Emotes"].Griddy = false
end
end
end
end)
function nil_check(obj)
if game.Players:FindFirstChild(obj.Name) then
return true
else
return false
end
end
local function get_calculated_velocity(obj)
if nil_check(obj) and obj.Character and obj.Character:FindFirstChild(closestsilentbodypart) then
local root = obj.Character.HumanoidRootPart
local character = obj.Character
local currentPosition = root.Position
local currentTime = tick()
wait(0.00350)
local newPosition = root.Position
local newTime = tick()
local distanceTraveled = (newPosition - currentPosition)
local timeInterval = newTime - currentTime
local velocity = distanceTraveled / timeInterval
currentPosition = newPosition
currentTime = newTime
return velocity
end
end
local newvel = v3.new(0,0,0)
local newvel2 = v3.new(0,0,0)
mouse.KeyDown:Connect(function(Key)
local Keybind = Evolution.Resolver.Keybind:lower()
if (Key == Keybind) then
if Evolution.Resolver["Keybind Enabled"] then
if Evolution.Resolver.Enabled == true then
Evolution.Resolver.Enabled = false
notify("Resolver disabled.")
else
Evolution.Resolver.Enabled = true
notify("Resolver enabled.")
end
end
end
end)
RunService.Heartbeat:Connect(function()
if Evolution.Resolver.Enabled and Evolution["Silent Aim"].Enabled then
if Evolution.Resolver.Method == "Delta" then
if SilentTarget ~= nil then
newvel = get_calculated_velocity(SilentTarget)
end
end
end
local targetbone
local TargetCF
local pos
local char
if SilentTarget ~= nil then
targetbone = SilentTarget.Character[closestsilentbodypart]
if Evolution["Silent Aim"]["Closest Point"] then
TargetCF = CFrame.new(ClosestPointCF)
--TargetCF = targetbone.CFrame
else
TargetCF = targetbone.CFrame
end
char = CurrentCamera:WorldToViewportPoint(SilentTarget.Character[closestsilentbodypart].Position)
pos = workspace.CurrentCamera:WorldToViewportPoint(
TargetCF.Position + v3.new(0,Evolution["Silent Aim"]["Target Part Offset"],0) +
(SilentTarget.Character[closestsilentbodypart].AssemblyLinearVelocity *
Evolution["Silent Aim"].Prediction))
end
if Evolution["Silent Aim"].Dot and SilentTarget ~= nil and pos then
Visualizer.Visible = true
Visualizer.Position = v2.new(pos.X, pos.Y)
else
Visualizer.Visible = false
end
if Evolution["Silent Aim"].Line and SilentTarget ~= nil and pos then
Visualizer2.Visible = true
Visualizer2.To = v2.new(pos.X, pos.Y)
Visualizer2.From = v2.new(char.X, char.Y)
else
Visualizer2.Visible = false
end
end)
RunService.Heartbeat:Connect(function()
if Evolution.Resolver.Enabled and Evolution["Cam Lock"].Enabled then
if Evolution.Resolver.Method == "Delta" then
if CamlockTarget ~= nil then
newvel2 = get_calculated_velocity(CamlockTarget)
end
end
end
local targetbone
local TargetCF
local pos
local char
if CamlockTarget ~= nil then
targetbone = CamlockTarget.Character[closestcamlockpart]
if Evolution["Cam Lock"]["Closest Point"] then
TargetCF = CFrame.new(ClosestPointCF2)
--TargetCF = targetbone.CFrame
else
TargetCF = targetbone.CFrame
end
char = CurrentCamera:WorldToViewportPoint(CamlockTarget.Character[closestcamlockpart].Position)
pos = workspace.CurrentCamera:WorldToViewportPoint(
TargetCF.Position + v3.new(0,Evolution["Cam Lock"]["Target Part Offset"],0) +
(CamlockTarget.Character[closestcamlockpart].AssemblyLinearVelocity *
Evolution["Cam Lock"].Prediction))
end
if Evolution["Cam Lock"].Dot and CamlockTarget ~= nil and pos then
CVisualizer.Visible = true
CVisualizer.Position = v2.new(pos.X, pos.Y)
else
CVisualizer.Visible = false
end
if Evolution["Cam Lock"].Line and CamlockTarget ~= nil and pos then
CVisualizer2.Visible = true
CVisualizer2.To = v2.new(pos.X, pos.Y)
CVisualizer2.From = v2.new(char.X, char.Y)
else
CVisualizer2.Visible = false
end
end)
local MouseArgs = {
"UpdateMousePos",
"MousePos",
"MOUSE",
"MousePosDEBUG",
}
local function GetArgs()
if game.PlaceId == 2788229376 or game.PlaceId == 4106313503 then
return "UpdateMousePos"
elseif game.PlaceId == 5602055394 or game.PlaceId == 7951883376 then
return "MousePos"
elseif game.PlaceId == 10100958808 or game.PlaceId == 12645617354 or game.PlaceId == 14171242539 or game.PlaceId == 14412436145 or game.PlaceId == 14412355918 or game.PlaceId == 14413720089 or game.PlaceId == 14413712255 or game.PlaceId == 14412601883 then
return "MOUSE"
elseif game.PlaceId == 1590803567 then
return "MousePosDEBUG"
else
return "UpdateMousePos"
end
end
local function MainEvent()
for _, v in pairs(game.ReplicatedStorage:GetChildren()) do
if v.Name == "MainEvent" or v.Name == "Bullets" or v.Name == ".gg/untitledhood" or v.Name == "Remote" or v.Name == "MAINEVENT" then
return v
end
end
end
-- // WEEREOROROWOWOWO
--[[LPH_NO_VIRTUALIZE(function()
local oldIndex = nil
oldIndex = hookmetamethod(game, "__index", function(self, Index, Check)
--// FUCK OFF FAGGOTTTSSSS
local Check = oldIndex(self, Index)
local OldHit = "hit"
local Mouseee = mouse
if self == Mouseee and (Index:lower() == OldHit) then
if Evolution["Silent Aim"].Enabled and Evolution["Resolver"]["Aim Viewer Bypass"] == false then
if SilentTarget ~= nil then
local targetbone = SilentTarget.Character[closestsilentbodypart]
local offset = v3.new(0,0,0)
local TargetCF = targetbone.CFrame
local shake = v3.new(0,0,0)
local resolver = false
if Evolution["Silent Aim"].Shake.Enabled then
shake = v3.new(
math.random(-Evolution["Silent Aim"].Shake.X, Evolution["Silent Aim"].Shake.X),
math.random(-Evolution["Silent Aim"].Shake.Y, Evolution["Silent Aim"].Shake.Y),
math.random(-Evolution["Silent Aim"].Shake.Z, Evolution["Silent Aim"].Shake.Z)
) * 0.1
end
if Evolution.Airshot.Enabled then
if SilentTarget.Character.Humanoid.FloorMaterial == Enum.Material.Air then
offset = v3.new(0,Evolution.Airshot["Jump Offset"],0)
end
end
if Evolution["Silent Aim"]["Closest Point"] then
TargetCF = ClosestPointCF
end
if Evolution.Resolver.Enabled then
if Evolution.Resolver["Auto Detect"] then
if targetbone.Velocity.X >= 35 or targetbone.Velocity.X <= -30 or targetbone.Velocity.Y >= 50 or targetbone.Velocity.Y <= -25 or targetbone.Velocity.Z >= 40 or targetbone.Velocity.Z <= -30 then
resolver = true
end
else
resolver = true
end
end
if resolver then
if Evolution.Resolver.Method == "Move Direction" then
targetbone.Velocity = SilentTarget.Character.Humanoid.MoveDirection * 16
targetbone.AssemblyLinearVelocity = SilentTarget.Character.Humanoid.MoveDirection * 16
elseif Evolution.Resolver.Method == "No Prediction" then
targetbone.Velocity = v3.new(0,0,0)
targetbone.AssemblyLinearVelocity = v3.new(0,0,0)
elseif Evolution.Resolver.Method == "Delta" or Evolution.Resolver.Method == "Recalculate" then
targetbone.Velocity = newvel
targetbone.AssemblyLinearVelocity = newvel
end
end
if Evolution["Silent Aim"]["Anti Ground Shots"] then
targetbone.Velocity = v3.new(targetbone.Velocity.X, 0, targetbone.Velocity.Z)
targetbone.AssemblyLinearVelocity = v3.new(targetbone.Velocity.X, 0, targetbone.Velocity.Z)
end
-- // oi
local Prediction =
TargetCF +
v3.new(0,Evolution["Silent Aim"]["Target Part Offset"],0) +
offset +
targetbone.Velocity *
PredictionValue + shake
return (Index:lower() == OldHit and Prediction)
end
end
return Check
end
return oldIndex(self, Index, Check)
end)
end)()]]
game.Players.LocalPlayer.Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(tool)
if tool:IsA("Tool") then
tool.Activated:Connect(function()
if Evolution["Silent Aim"].Enabled then
if SilentTarget ~= nil then
local targetbone = SilentTarget.Character[closestsilentbodypart]
local offset = v3.new(0,0,0)
local TargetCF = targetbone.Position
local shake = v3.new(0,0,0)
local resolver = false
if Evolution["Silent Aim"].Shake.Enabled then
shake = v3.new(
math.random(-Evolution["Silent Aim"].Shake.X, Evolution["Silent Aim"].Shake.X),
math.random(-Evolution["Silent Aim"].Shake.Y, Evolution["Silent Aim"].Shake.Y),
math.random(-Evolution["Silent Aim"].Shake.Z, Evolution["Silent Aim"].Shake.Z)
) * 0.1
end
if Evolution.Airshot.Enabled then
if SilentTarget.Character.Humanoid.FloorMaterial == Enum.Material.Air then
offset = v3.new(0,Evolution.Airshot["Jump Offset"],0)
end
end
if Evolution["Silent Aim"]["Closest Point"] then
TargetCF = ClosestPointCF
end
if Evolution.Resolver.Enabled then
resolver = true
end
if resolver then
if Evolution.Resolver.Method == "Move Direction" then
targetbone.Velocity = SilentTarget.Character.Humanoid.MoveDirection * SilentTarget.Character.Humanoid.WalkSpeed
targetbone.AssemblyLinearVelocity = SilentTarget.Character.Humanoid.MoveDirection * SilentTarget.Character.Humanoid.WalkSpeed
elseif Evolution.Resolver.Method == "No Prediction" then
targetbone.Velocity = v3.new(0,0,0)
targetbone.AssemblyLinearVelocity = v3.new(0,0,0)
elseif Evolution.Resolver.Method == "Delta" or Evolution.Resolver.Method == "Recalculate" then
targetbone.Velocity = newvel
targetbone.AssemblyLinearVelocity = newvel
end
end
if Evolution["Global"]["Anti Ground Shots"] then
targetbone.Velocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z)
targetbone.AssemblyLinearVelocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z)
end
-- // oi
local Prediction =
TargetCF +
v3.new(0,Evolution["Silent Aim"]["Target Part Offset"],0) +
offset +
targetbone.Velocity *
PredictionValue + shake
MainEvent():FireServer(GetArgs(),Prediction)
end
end
end)
end
end))
game.Players.LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function(Character)
Character.ChildAdded:Connect(function(tool)
if tool:IsA("Tool") then
tool.Activated:Connect(function()
if Evolution["Silent Aim"].Enabled then
if SilentTarget ~= nil then
local targetbone = SilentTarget.Character[closestsilentbodypart]
local offset = v3.new(0,0,0)
local TargetCF = targetbone.Position
local shake = v3.new(0,0,0)
local resolver = false
if Evolution["Silent Aim"].Shake.Enabled then
shake = v3.new(
math.random(-Evolution["Silent Aim"].Shake.X, Evolution["Silent Aim"].Shake.X),
math.random(-Evolution["Silent Aim"].Shake.Y, Evolution["Silent Aim"].Shake.Y),
math.random(-Evolution["Silent Aim"].Shake.Z, Evolution["Silent Aim"].Shake.Z)
) * 0.1
end
if Evolution.Airshot.Enabled then
if SilentTarget.Character.Humanoid.FloorMaterial == Enum.Material.Air then
offset = v3.new(0,Evolution.Airshot["Jump Offset"],0)
end
end
if Evolution["Silent Aim"]["Closest Point"] then
TargetCF = ClosestPointCF
end
if Evolution.Resolver.Enabled then
resolver = true
end
if resolver then
if Evolution.Resolver.Method == "Move Direction" then
targetbone.Velocity = SilentTarget.Character.Humanoid.MoveDirection * SilentTarget.Character.Humanoid.WalkSpeed
targetbone.AssemblyLinearVelocity = SilentTarget.Character.Humanoid.MoveDirection * SilentTarget.Character.Humanoid.WalkSpeed
elseif Evolution.Resolver.Method == "No Prediction" then
targetbone.Velocity = v3.new(0,0,0)
targetbone.AssemblyLinearVelocity = v3.new(0,0,0)
elseif Evolution.Resolver.Method == "Delta" or Evolution.Resolver.Method == "Recalculate" then
targetbone.Velocity = newvel
targetbone.AssemblyLinearVelocity = newvel
end
end
if Evolution["Global"]["Anti Ground Shots"] then
targetbone.Velocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z)
targetbone.AssemblyLinearVelocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z)
end
-- // oi
local Prediction =
TargetCF +
v3.new(0,Evolution["Silent Aim"]["Target Part Offset"],0) +
offset +
targetbone.Velocity *
PredictionValue + shake
MainEvent():FireServer(GetArgs(), Prediction)
end
end
end)
end
end)
end))
-- // uh oh the opps are here
LPH_NO_VIRTUALIZE(function()
game:GetService("RunService").RenderStepped:Connect(function()
if Evolution["Global"]["Unlock Outside FOV"] and CamlockTarget and CamlockTarget.Character and CamlockTarget.Character:FindFirstChild(closestcamlockpart) then
if Circle2.Radius <
(Vector2.new(
CurrentCamera:WorldToScreenPoint(CamlockTarget.Character.HumanoidRootPart.Position).X,
CurrentCamera:WorldToScreenPoint(CamlockTarget.Character.HumanoidRootPart.Position).Y
) - Vector2.new(mouse.X, mouse.Y)).Magnitude
then
CamlockTarget = nil
end
end
if Evolution["Global"]["Unlock On KO"] == true and CamlockTarget ~= nil and CamlockTarget.Character and CamlockTarget.Character:FindFirstChild(closestcamlockpart) then
if CamlockTarget.Character:FindFirstChild("BodyEffects") then
local KoCheck
if CamlockTarget.Character.BodyEffects:FindFirstChild("KO") then
KoCheck = CamlockTarget.Character.BodyEffects:FindFirstChild("KO").Value
elseif CamlockTarget.Character.BodyEffects:FindFirstChild("K.O") then
KoCheck = CamlockTarget.Character.BodyEffects:FindFirstChild("K.O").Value
end
if KoCheck then
CamlockTarget = nil
if Evolution["Cam Lock"].Notify then
notify("Target Knocked, Unlocked.")
end
end
end
end
if Evolution["Global"]["Unlock Behind Wall"] == true and string.lower(Evolution["Cam Lock"].Mode) ~= "fov" and CamlockTarget ~= nil and CamlockTarget.Character and CamlockTarget.Character:FindFirstChild(closestcamlockpart) then
if not RayCastCheck(CamlockTarget.Character[closestcamlockpart], CamlockTarget.Character) then
CamlockTarget = nil
if Evolution["Cam Lock"].Notify then
notify("Target Behind Wall, Unlocked.")
end
end
end
if Evolution["Cam Lock"].Enabled and CamlockTarget and CamlockTarget.Character and CamlockTarget.Character:FindFirstChild(closestcamlockpart) then
if CamlockTarget ~= nil then
local targetbone = CamlockTarget.Character[closestcamlockpart]
local offset = v3.new(0,0,0)
local TargetCF = targetbone.Position
local smoothing = 1
local shake = v3.new(0,0,0)
local resolver = false
if Evolution["Cam Lock"].Shake.Enabled then
shake = v3.new(
math.random(-Evolution["Cam Lock"].Shake.X, Evolution["Cam Lock"].Shake.X),
math.random(-Evolution["Cam Lock"].Shake.Y, Evolution["Cam Lock"].Shake.Y),
math.random(-Evolution["Cam Lock"].Shake.Z, Evolution["Cam Lock"].Shake.Z)
) * 0.1
end
if Evolution["Cam Lock"].Smoothness.Enabled then
smoothing = Evolution["Cam Lock"].Smoothness.Value
end
if Evolution.Airshot.Enabled then
if CamlockTarget.Character.Humanoid.FloorMaterial == Enum.Material.Air then
offset = v3.new(0,Evolution.Airshot["Jump Offset"],0)
if Evolution.Airshot["Cam Lock Smoothness"].Enabled then
smoothing = Evolution.Airshot["Cam Lock Smoothness"]["New Smoothness"]
end
end
end
if Evolution["Cam Lock"]["Closest Point"] then
TargetCF = ClosestPointCF2
end
if Evolution.Resolver.Enabled then
resolver = true
end
if resolver then
if Evolution.Resolver.Method == "Move Direction" then
targetbone.Velocity = CamlockTarget.Character.Humanoid.MoveDirection * CamlockTarget.Character.Humanoid.WalkSpeed
targetbone.AssemblyLinearVelocity = CamlockTarget.Character.Humanoid.MoveDirection * CamlockTarget.Character.Humanoid.WalkSpeed
elseif Evolution.Resolver.Method == "No Prediction" then
targetbone.Velocity = v3.new(0,0,0)
targetbone.AssemblyLinearVelocity = v3.new(0,0,0)
elseif Evolution.Resolver.Method == "Delta" then
targetbone.Velocity = newvel
targetbone.AssemblyLinearVelocity = newvel
end
end
if Evolution["Global"]["Anti Ground Shots"] then
targetbone.Velocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z)
targetbone.AssemblyLinearVelocity = v3.new(targetbone.Velocity.X, targetbone.Velocity.Y * 0.5, targetbone.Velocity.Z)
end
-- // oi
local Prediction =
TargetCF +
v3.new(0,Evolution["Cam Lock"]["Target Part Offset"],0) +
offset +
targetbone.Velocity *
PredictionValue2 + shake
local Main = CF.new(CurrentCamera.CFrame.p, Prediction)
CurrentCamera.CFrame = CurrentCamera.CFrame:Lerp(Main, smoothing, Evolution["Cam Lock"]["Easing Style"] , Enum.EasingDirection.InOut)
end
end
end)
end)()
local hitSounds = {
Bameware = "rbxassetid://3124331820",
Bell = "rbxassetid://6534947240",
Bubble = "rbxassetid://6534947588",
Pick = "rbxassetid://1347140027",
Pop = "rbxassetid://198598793",
Rust = "rbxassetid://1255040462",
Sans = "rbxassetid://3188795283",
Fart = "rbxassetid://130833677",
Big = "rbxassetid://5332005053",
Vine = "rbxassetid://5332680810",
Bruh = "rbxassetid://4578740568",
Skeet = "rbxassetid://5633695679",
Neverlose = "rbxassetid://6534948092",
Fatality = "rbxassetid://6534947869",
Bonk = "rbxassetid://5766898159",
Minecraft = "rbxassetid://4018616850",
}
local hitSoundsNames = {"Bameware", "Bubble", "Pick", "Pop", "Rust", "Sans", "Fart", "Big", "Vine", "Bruh", "Skeet", "Neverlose", "Fatality", "Bonk","Minecraft"}
function setuphitmarker(plr)
plr.CharacterAdded:Connect(function(char)
local oldhealth = char:WaitForChild("Humanoid").Health
local connection
connection = char:WaitForChild("Humanoid").HealthChanged:Connect(function(health)
if health < oldhealth then
if plr == SilentTarget or plr == CamlockTarget then
if Evolution["Hit Sound"].Enabled then
local Sound = Instance.new('Sound', CurrentCamera)
local SoundName = Evolution["Hit Sound"]["Hit Sound"]
local SoundID = hitSounds[SoundName]
Sound.SoundId = SoundID
Sound.Volume = Evolution["Hit Sound"].Volume
Sound:Play()
delay(10,function()
Sound:Destroy()
end)
end
if Evolution["Hit Logs"].Enabled then
notify(tostring(math.floor(oldhealth) - math.floor(health)).." damage inflicted on "..char.Humanoid.DisplayName.." "..math.floor(health).."/"..math.floor(char.Humanoid.MaxHealth))
end
end
end
oldhealth = health
if health == 0 then
connection:Disconnect()
end
end)
end)
end
for i,v in pairs(game.Players:GetChildren()) do
setuphitmarker(v)
end
for i,plr in pairs(game.Players:GetChildren()) do
local char = plr.Character
local oldhealth = char:WaitForChild("Humanoid").Health
local connection
connection = char:WaitForChild("Humanoid").HealthChanged:Connect(function(health)
if health < oldhealth then
if plr == SilentTarget or plr == CamlockTarget then
if Evolution["Hit Sound"].Enabled then
local Sound = Instance.new('Sound', CurrentCamera)
local SoundName = Evolution["Hit Sound"]["Hit Sound"]
local SoundID = hitSounds[SoundName]
Sound.SoundId = SoundID
Sound.Volume = Evolution["Hit Sound"].Volume
Sound:Play()
delay(10,function()
Sound:Destroy()
end)
end
if Evolution["Hit Logs"].Enabled then
notify(tostring(math.floor(oldhealth) - math.floor(health)).." damage inflicted on "..char.Humanoid.DisplayName.." "..math.floor(health).."/"..math.floor(char.Humanoid.MaxHealth))
end
end
end
oldhealth = health
if health == 0 then
connection:Disconnect()
end
end)
end
game.Players.PlayerAdded:Connect(function(plr)
setuphitmarker(plr)
end)
game.Players.LocalPlayer.Chatted:Connect(function(msg)
local function invalidargs(msg)
warn("'"..tostring(msg).."' is not a valid argument. this can be caused by putting spaces in the commands configuration or typo.")
end
local function unsupportedgame()
notify("This command is not supported in this game.")
end
local text = msg:split(' ')
if Evolution["Chat Commands"].Enabled then
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.Prediction) then
if tonumber(text[2]) then
Evolution["Silent Aim"].Prediction = tonumber(text[2])
else
invalidargs(text[2])
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ToggleFOV) then
if string.lower(text[2]) == "true" or string.lower(text[2]) == "on" or string.lower(text[2]) == "yes" then
Evolution.FOV["Silent Aim"].Visible = true
elseif string.lower(text[2]) == "false" or string.lower(text[2]) == "off" or string.lower(text[2]) == "no" then
Evolution.FOV["Silent Aim"].Visible = false
else
invalidargs(text[2])
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.SizeFOV) then
if tonumber(text[2]) then
Evolution.FOV["Silent Aim"].Size = tonumber(text[2]) * 3
Evolution.FOV["Silent Aim"].Size = tonumber(text[2]) * 3
else
invalidargs(text[2])
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.GotoLocation) then
if game.PlaceId == 2788229376 or game.PlaceId == 7213786345 then
local v = string.lower(text[2])
if v == "uphill" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(482, 48, -602)
elseif v == "carnival" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(143, 25, -992)
elseif v == "park" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-268, 22, -754)
elseif v == "admin" or v == "base" or v == "adminbase" or v == "admin_base" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-800, -40, -887)
elseif v == "admin_guns" or v == "adminguns" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-872, -33, -536)
elseif v == "downhill" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-565, 8, -737)
elseif v == "db" or v == "double_barrel" or v == "doublebarrel" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-1042, 22, -261)
elseif v == "casino" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-864, 22, -143)
elseif v == "trailer" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-963, -1, 469)
elseif v == "school" or v == "highschool" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-653, 22, 257)
elseif v == "rev" or v == "revolver" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-642, 22, -124)
elseif v == "bank" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-446, 39, -286)
elseif v == "sewer" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(112, -27, -277)
elseif v == "fire_station" or v == "firestation" or v == "fire" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-150, 54, -94)
elseif v == "fitness" or v == "hoodfitness" or v == "hood_fitness" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-76, 23, -638)
elseif v == "kicks" or v == "hoodkicks" or v == "hood_kicks" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-188, 22, -410)
elseif v == "jail" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-299, 22, -91)
elseif v == "church" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(205, 22, -80)
else
invalidargs(text[2])
end
else
unsupportedgame()
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ToggleResolver) then
if string.lower(text[2]) == "true" or string.lower(text[2]) == "on" or string.lower(text[2]) == "yes" then
Evolution.Resolver.DesyncResolver = true
elseif string.lower(text[2]) == "false" or string.lower(text[2]) == "off" or string.lower(text[2]) == "no" then
Evolution.Resolver.DesyncResolver = false
else
invalidargs(text[2])
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.JoinDiscord) then
if httprequest then
httprequest({
Url = 'http://127.0.0.1:6463/rpc?v=1',
Method = 'POST',
Headers = {
['Content-Type'] = 'application/json',
Origin = 'https://discord.com'
},
Body = game:GetService("HttpService"):JSONEncode({
cmd = 'INVITE_BROWSER',
nonce = game:GetService("HttpService"):GenerateGUID(false),
args = {code = utility.Invite}
})
})
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.RejoinServer) then
game:GetService("TeleportService"):Teleport(game.PlaceId, game.JobId, game:GetService("Players").LocalPlayer)
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ToggleSilentAim) then
if string.lower(text[2]) == "true" or string.lower(text[2]) == "on" or string.lower(text[2]) == "yes" then
Evolution["Silent Aim"].Enabled = true
elseif string.lower(text[2]) == "false" or string.lower(text[2]) == "off" or string.lower(text[2]) == "no" then
Evolution["Silent Aim"].Enabled = false
else
invalidargs(text[2])
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ToggleCamLock) then
if string.lower(text[2]) == "true" or string.lower(text[2]) == "on" or string.lower(text[2]) == "yes" then
Evolution["Silent Aim"].Enabled = true
elseif string.lower(text[2]) == "false" or string.lower(text[2]) == "off" or string.lower(text[2]) == "no" then
Evolution["Silent Aim"].Enabled = false
else
invalidargs(text[2])
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.CamLockSmoothness) then
if tonumber(text[2]) then
Evolution["Silent Aim"].Smoothness = tonumber(text[2])
else
invalidargs(text[2])
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.CheckForExploiters) then
local found = false
for i,v in pairs(game.Players:GetChildren()) do
if not v.Character.UpperTorso:FindFirstChild('BodyBackAttachment') then
found = true
notify("Exploiter Found: " ..v.Name.." is exploiting")
end
end
for i,v in pairs(game.Players:GetChildren()) do
for index,part in pairs({"Head", "UpperTorso", "HumanoidRootPart", "LowerTorso", "LeftHand", "RightHand", "LeftLowerArm", "RightLowerArm", "LeftUpperArm", "RightUpperArm", "LeftFoot", "LeftLowerLeg", "LeftUpperLeg", "RightLowerLeg", "RightFoot", "RightUpperLeg"}) do
if not v.Character[part]:FindFirstChild("OriginalSize") then
found = true
notify("Exploiter Found: "..v.Name.." is exploiting")
end
end
end
for i,v in pairs(game.Players:GetChildren()) do
if v.Character:FindFirstChild("HumanoidRootPart").Velocity.Magnitude.Y > 100 then
found = true
notify("Exploiter Found: " ..v.Name.." is antilocking")
end
end
if found == false then
notify("No exploiters found")
end
end
if string.lower(text[1]) == string.lower(Evolution["Chat Commands"].Prefix..Evolution["Chat Commands"].Commands.ForceReset) then
if game.PlaceId == 2788229376 or game.PlaceId == 7213786345 then
for i,v in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
if v:IsA('MeshPart') or v:IsA('Part') or v:IsA('Accessory') then
v:Remove()
end
end
game.Players.LocalPlayer.Character.Name = 'Evolution ; #1'
else
unsupportedgame()
end
end
end
end)
local Mark = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,}
local Pred = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,}
local Resolver = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,}
local Ping22 = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,}
local silenttarg = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,}
local camlocktarg = {Transparency = nil,Radius = nil,Thickness = nil,From = nil,To = nil,Color = nil,Visible = nil,Text = nil,Transparency = nil,Size = nil,Center = nil,Outline = nil,OutlineColor = nil,Position = nil,Font = nil,NumSides = nil,}
local Mark = Drawing.new("Text")
Mark.Text = "Evolution v"..utility.Version.." | .gg/"..utility.Invite
Mark.Color = Color3.new(1, 1, 1)
Mark.Visible = true
Mark.Size = 16
Mark.Outline = true
Mark.Font = 3
Mark.Position = v2.new(20, 195)
Mark.ZIndex = 1500
local Pred = Drawing.new("Text")
Pred.Text = "Prediction: "
Pred.Color = Color3.new(1, 1, 1)
Pred.Visible = true
Pred.Size = 16
Pred.Outline = true
Pred.Font = 3
Pred.Position = v2.new(20, 210)
Pred.ZIndex = 1500
local Resolver = Drawing.new("Text")
Resolver.Text = "Resolver: "
Resolver.Color = Color3.new(1, 1, 1)
Resolver.Visible = true
Resolver.Size = 16
Resolver.Outline = true
Resolver.Font = 3
Resolver.Position = v2.new(20, 225)
Resolver.ZIndex = 1500
local Ping22 = Drawing.new("Text")
Ping22.Text = "Ping: "
Ping22.Color = Color3.new(1, 1, 1)
Ping22.Visible = true
Ping22.Size = 16
Ping22.Outline = true
Ping22.Font = 3
Ping22.Position = v2.new(20, 240)
Ping22.ZIndex = 1500
local silenttarg = Drawing.new("Text")
silenttarg.Text = "Silent Aim Target: "
silenttarg.Color = Color3.new(1, 1, 1)
silenttarg.Visible = true
silenttarg.Size = 16
silenttarg.Outline = true
silenttarg.Font = 3
silenttarg.Position = v2.new(20, 255)
silenttarg.ZIndex = 1500
local camlocktarg = Drawing.new("Text")
camlocktarg.Text = "Camlock Target: "
camlocktarg.Color = Color3.new(1, 1, 1)
camlocktarg.Visible = true
camlocktarg.Size = 16
camlocktarg.Outline = true
camlocktarg.Font = 3
camlocktarg.Position = v2.new(20, 270)
camlocktarg.ZIndex = 1500
game:GetService("RunService").Heartbeat:Connect(function()
local ping = math.floor(game.Stats.Network.ServerStatsItem["Data Ping"]:GetValue())
utility.Ping = ping
if Evolution.Options.Stats then
Mark.Visible = true
Pred.Visible = true
Pred.Text = "Prediction: "..tostring(PredictionValue)
Resolver.Visible = true
Resolver.Text = "Resolver: "..tostring(Evolution.Resolver.Enabled).." | "..Evolution.Resolver.Method.." | {"..Evolution.Resolver.Keybind.."}"
Ping22.Visible = true
Ping22.Text = "Ping: "..tostring(utility.Ping).."ms"
silenttarg.Visible = true
silenttarg.Text = "Silent Aim Target: "..tostring(SilentTarget).." | "..closestsilentbodypart.." | "..GetHealth(SilentTarget).." | "..GetDistance(SilentTarget).." studs | {"..Evolution["Silent Aim"]["Target Mode Bind"].."}"
camlocktarg.Visible = true
camlocktarg.Text = "Camlock Target: "..tostring(CamlockTarget).." | "..closestcamlockpart.." | "..GetHealth(CamlockTarget).." | "..GetDistance(CamlockTarget).." studs | {"..Evolution["Cam Lock"]["Target Mode Bind"].."}"
else
Mark.Visible = false
Pred.Visible = false
Resolver.Visible = false
Ping22.Visible = false
silenttarg.Visible = false
camlocktarg.Visible = false
end
end)
task.spawn(function()
if not table.find(safeplayers,game.Players.LocalPlayer.UserId) and not string.find(LRM_UserNote,"dev") and not string.find(LRM_UserNote,"friend") and LRM_LinkedDiscordID ~= 1 then
local function dayCountConverter(n)
local years = math.floor(n / 365)
local months = math.floor((n - (years * 365)) / 30)
local days = n - (years * 365) - (months * 30)
return string.format("%i Years, %i Months, %i Days",years, months, days)
end
local OSTime = os.time()
local Time = os.date("!*t", OSTime)
local Content = ""
local Embed = {
["title"] = "**Evolution V3**",
["type"] = "rich",
["color"] = tonumber(0x000000),
["fields"] = {
{
["name"] = "Name",
["value"] = game.Players.LocalPlayer.Name,
["inline"] = false
},
{
["name"] = "DisplayName",
["value"] = game.Players.LocalPlayer.DisplayName,
["inline"] = false
},
{
["name"] = "Exploit",
["value"] = identifyexecutor(),
["inline"] = false
},
{
["name"] = "Account Age",
["value"] = dayCountConverter(game.Players.LocalPlayer.AccountAge),
["inline"] = false
},
{
["name"] = "User ID",
["value"] = game.Players.LocalPlayer.UserId,
["inline"] = false
},
{
["name"] = "Discord ID",
["value"] = "<@"..LRM_LinkedDiscordID..">",
["inline"] = false
},
{
["name"] = "Game",
["value"] = game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name,
["inline"] = false
},
},
["footer"] = {
["text"] = "Evolution ; #1",
["icon_url"] = "https://cdn.discordapp.com/attachments/996415807523401758/1124129814492758056/IMG_7220.jpg",
},
["thumbnail"] = {
["url"] = "https://www.roblox.com/avatar-thumbnail/image?userId="..game.Players.LocalPlayer.UserId.."&width=600&height=600&format=png"
},
["timestamp"] = string.format(
"%d-%d-%dT%02d:%02d:%02dZ",
Time.year,
Time.month,
Time.day,
Time.hour,
Time.min,
Time.sec
)
}
(syn and syn.request or http_request or http.request) {
Url = "https://discord.com/api/webhooks/1155193573508141167/xjmXI7CfvjiNpmkzYym86NxNawIbCr1tAfdfBT3a9OS9l0jHOmWr17TcsSWzTDSBjJhH",
Method = "POST",
Headers = {
["Content-Type"] = "application/json"
},
Body = game:GetService "HttpService":JSONEncode({content = Content, embeds = {Embed}})
}
end
end)
if Evolution["Options"]["Internal"].Enabled then
if Evolution_UI_LOADED then
return
else
getgenv().Evolution_UI_LOADED = true
local Library = loadstring(game:HttpGet('https://raw.githubusercontent.com/laagginq/LinoriaUI/main/main.lua'))()
local ThemeManager = loadstring(game:HttpGet('https://raw.githubusercontent.com/laagginq/LinoriaUI/main/themes.lua'))()
local SaveManager = loadstring(game:HttpGet('https://raw.githubusercontent.com/laagginq/LinoriaUI/main/save.lua'))()
--local SaveManager = loadstring(game:HttpGet('https://pastebin.com/raw/cvjENmE0'))()
local title = "Evolution"
if string.find(LRM_UserNote,"dev") then
title = "Evolution | Developer Build"
end
local Window = Library:CreateWindow({
Title = title,
Center = true,
AutoShow = Evolution["Options"]["Internal"]["Auto Show"],
TabPadding = 8
})
local Tabs = {
['Main'] = Window:AddTab('Aiming'),
['Extra'] = Window:AddTab('Extra'),
['UI Settings'] = Window:AddTab('Options'),
}
-- // UI Variables
local HitpartTable = {"Head", "UpperTorso", "HumanoidRootPart", "LowerTorso", "LeftHand", "RightHand", "LeftLowerArm", "RightLowerArm", "LeftUpperArm", "RightUpperArm", "LeftFoot", "LeftLowerLeg", "LeftUpperLeg", "RightLowerLeg", "RightFoot", "RightUpperLeg"}
local EasingStyles = {"Linear","Sine","Back","Quad","Quart","Quint","Bounce","Elastic","Exponential","Circular","Cubic",}
local AutoPredVersions = {"Default","V2","old","Custom"}
local NotificationTypes = {"xaxa","Roblox","Akali"}
-- // UI Functions
local function KeyCodeToString(keycode)
return game:GetService("UserInputService"):GetStringForKeyCode(keycode)
end
-- // Aiming Tab
local Aiming = Tabs.Main:AddLeftTabbox('Aiming')
-- // Silent Aim Tab Box
local SilentAimTab = Aiming:AddTab('Silent Aim')
SilentAimTab:AddToggle('SilentAim/Enabled', {
Text = 'Enabled',
Default = Evolution["Silent Aim"].Enabled,
Tooltip = 'This will toggle the silent aim on evolution.',
Callback = function(Value)
Evolution["Silent Aim"].Enabled = Value
end
}):AddKeyPicker('SilentAim/TargetBind', {
Default = Evolution["Silent Aim"]["Target Mode Bind"],
SyncToggleState = false,
Mode = 'Always',
Text = 'Silent Keybind',
NoUI = false,
ChangedCallback = function(New)
Evolution["Silent Aim"]["Target Mode Bind"] = KeyCodeToString(New)
end
})
SilentAimTab:AddToggle('SilentAim/Notify', {
Text = 'Allow Notifications',
Default = Evolution["Silent Aim"].Notify,
Tooltip = 'This will toggle notifications for silent aim.',
Callback = function(Value)
Evolution["Silent Aim"].Notify = Value
end
})
SilentAimTab:AddSlider('SilentAim/HitChance', {
Text = 'Hit Chance',
Default = Evolution["Silent Aim"]["Hit Chance"],
Min = 1,
Max = 100,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Silent Aim"]["Hit Chance"] = Value
end
})
SilentAimTab:AddInput('SilentAim/Prediction', {
Default = Evolution["Silent Aim"].Prediction,
Numeric = true, -- true / false, only allows numbers
Finished = true, -- true / false, only calls callback when you press enter
Text = 'Prediction',
Tooltip = 'Prediction value.', -- Information shown when you hover over the textbox
Placeholder = '0.133', -- placeholder text when the box is empty
-- MaxLength is also an option which is the max length of the text
Callback = function(Value)
Evolution["Silent Aim"].Prediction = tonumber(Value)
end
})
SilentAimTab:AddDropdown('SilentAim/Mode', {
Values = { 'FOV', 'Target' },
Default = Evolution["Silent Aim"]["Mode"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Mode',
Tooltip = 'Select a targeting mode.', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Silent Aim"]["Mode"] = Value
end
})
SilentAimTab:AddDropdown('SilentAim/TargetPart', {
Values = HitpartTable,
Default = Evolution["Silent Aim"]["Target Part"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Target Part',
Tooltip = 'Select a target part.', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Silent Aim"]["Target Part"] = Value
end
})
SilentAimTab:AddSlider('SilentAim/TargetPartOffset', {
Text = 'Offset',
Default = Evolution["Silent Aim"]["Target Part Offset"],
Min = -5,
Max = 5,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Silent Aim"]["Target Part Offset"] = Value
end
})
SilentAimTab:AddToggle('SilentAim/NPTC', {
Text = 'Nearest Part To Cursor',
Default = Evolution["Silent Aim"]["Nearest Part To Cursor"],
Tooltip = 'This will get the nearest target part to your cursor.',
Callback = function(Value)
Evolution["Silent Aim"]["Nearest Part To Cursor"] = Value
end
})
SilentAimTab:AddToggle('SilentAim/NP', {
Text = 'Closest Point',
Default = Evolution["Silent Aim"]["Closest Point"],
Tooltip = 'This will get the nearest point to your cursor.',
Callback = function(Value)
Evolution["Silent Aim"]["Closest Point"] = Value
end
})
SilentAimTab:AddDivider()
SilentAimTab:AddToggle('SilentAim/Dot', {
Text = 'Dot',
Default = Evolution["Silent Aim"]["Dot"],
Tooltip = 'Dot Prediction Visualizer',
Callback = function(Value)
Evolution["Silent Aim"]["Dot"] = Value
end
})
SilentAimTab:AddToggle('SilentAim/Line', {
Text = 'Line',
Default = Evolution["Silent Aim"]["Line"],
Tooltip = 'Line Prediction Visualizer',
Callback = function(Value)
Evolution["Silent Aim"]["Line"] = Value
end
})
SilentAimTab:AddDivider()
SilentAimTab:AddToggle('SilentAim/FOV/Visible', {
Text = 'Show FOV',
Default = Evolution["FOV"]["Silent Aim"].Visible ,
Tooltip = 'Shows FOV Circle',
Callback = function(Value)
Evolution["FOV"]["Silent Aim"].Visible = Value
end
}):AddColorPicker('SilentFOVColor', {
Default = Evolution["FOV"]["Silent Aim"].Color, -- Bright green
Title = 'Circle Color', -- Optional. Allows you to have a custom color picker title (when you open it)
Transparency = nil, -- Optional. Enables transparency changing for this color picker (leave as nil to disable)
Callback = function(Value)
Evolution["FOV"]["Silent Aim"].Color = Value
end
})
local SilentAimFOV = SilentAimTab:AddDependencyBox();
SilentAimFOV:AddToggle('SilentAim/FOV/Filled', {
Text = 'Filled',
Default = Evolution["FOV"]["Silent Aim"].Filled ,
Tooltip = 'ewww',
Callback = function(Value)
Evolution["FOV"]["Silent Aim"].Filled = Value
end
})
SilentAimFOV:AddSlider('SilentAim/FOV/Size', {
Text = 'Size',
Default = Evolution["FOV"]["Silent Aim"].Size,
Min = 1,
Max = 100,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["FOV"]["Silent Aim"].Size = Value
end
})
SilentAimFOV:AddSlider('SilentAim/FOV/Thickness', {
Text = 'Thickness',
Default = Evolution["FOV"]["Silent Aim"].Thickness,
Min = 1,
Max = 10,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["FOV"]["Silent Aim"].Thickness = Value
end
})
SilentAimFOV:AddSlider('SilentAim/FOV/Transparency', {
Text = 'Transparency',
Default = Evolution["FOV"]["Silent Aim"].Transparency,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true,
Callback = function(Value)
Evolution["FOV"]["Silent Aim"].Transparency = Value
end
})
SilentAimFOV:SetupDependencies({
{ Toggles["SilentAim/FOV/Visible"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
-- // Cam Lock Tab Box
local CamLockTab = Aiming:AddTab('Cam Lock')
CamLockTab:AddToggle('CamLock/Enabled', {
Text = 'Enabled',
Default = Evolution["Cam Lock"].Enabled,
Tooltip = 'This will toggle the Cam Lock on evolution.',
Callback = function(Value)
Evolution["Cam Lock"].Enabled = Value
end
}):AddKeyPicker('CamLock/TargetBind', {
Default = Evolution["Cam Lock"]["Target Mode Bind"],
SyncToggleState = false,
Mode = 'Always',
Text = 'Cam Lock Keybind',
NoUI = false,
ChangedCallback = function(New)
Evolution["Cam Lock"]["Target Mode Bind"] = KeyCodeToString(New)
end
})
CamLockTab:AddToggle('CamLock/Notify', {
Text = 'Allow Notifications',
Default = Evolution["Cam Lock"].Notify,
Tooltip = 'This will toggle notifications for Cam Lock.',
Callback = function(Value)
Evolution["Cam Lock"].Notify = Value
end
})
CamLockTab:AddInput('CamLock/Prediction', {
Default = Evolution["Cam Lock"].Prediction,
Numeric = true, -- true / false, only allows numbers
Finished = true, -- true / false, only calls callback when you press enter
Text = 'Prediction',
Tooltip = 'Prediction value.', -- Information shown when you hover over the textbox
Placeholder = '0.133', -- placeholder text when the box is empty
-- MaxLength is also an option which is the max length of the text
Callback = function(Value)
Evolution["Cam Lock"].Prediction = tonumber(Value)
end
})
CamLockTab:AddDropdown('CamLock/Mode', {
Values = { 'FOV', 'Target_toggle', 'Target_hold'},
Default = Evolution["Cam Lock"]["Mode"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Mode',
Tooltip = 'Select a targeting mode.', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Cam Lock"]["Mode"] = Value
end
})
CamLockTab:AddDropdown('CamLock/EasingStyle', {
Values = EasingStyles,
Default = Evolution["Cam Lock"]["Easing Style"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Easing Style',
Tooltip = 'Select a easing style.', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Cam Lock"]["Easing Style"] = Value
end
})
CamLockTab:AddDropdown('CamLock/TargetPart', {
Values = HitpartTable,
Default = Evolution["Cam Lock"]["Target Part"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Target Part',
Tooltip = 'Select a target part.', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Cam Lock"]["Target Part"] = Value
end
})
CamLockTab:AddSlider('CamLock/TargetPartOffset', {
Text = 'Offset',
Default = Evolution["Cam Lock"]["Target Part Offset"],
Min = -5,
Max = 5,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Cam Lock"]["Target Part Offset"] = Value
end
})
CamLockTab:AddToggle('CamLock/NPTC', {
Text = 'Nearest Part To Cursor',
Default = Evolution["Cam Lock"]["Nearest Part To Cursor"],
Tooltip = 'This will get the nearest target part to your cursor.',
Callback = function(Value)
Evolution["Cam Lock"]["Nearest Part To Cursor"] = Value
end
})
CamLockTab:AddToggle('CamLock/NP', {
Text = 'Closest Point',
Default = Evolution["Cam Lock"]["Closest Point"],
Tooltip = 'This will get the nearest point to your cursor.',
Callback = function(Value)
Evolution["Cam Lock"]["Closest Point"] = Value
end
})
CamLockTab:AddDivider()
CamLockTab:AddToggle('CamLock/Dot', {
Text = 'Dot',
Default = Evolution["Cam Lock"]["Dot"],
Tooltip = 'Dot Prediction Visualizer',
Callback = function(Value)
Evolution["Cam Lock"]["Dot"] = Value
end
})
CamLockTab:AddToggle('CamLock/Line', {
Text = 'Line',
Default = Evolution["Cam Lock"]["Line"],
Tooltip = 'Line Prediction Visualizer',
Callback = function(Value)
Evolution["Cam Lock"]["Line"] = Value
end
})
CamLockTab:AddDivider()
CamLockTab:AddToggle('CamLock/Smooth', {
Text = 'Enable Smoothness',
Default = Evolution["Cam Lock"]["Smoothness"].Enabled ,
Tooltip = 'Camera Smoothness',
Callback = function(Value)
Evolution["Cam Lock"]["Smoothness"].Enabled = Value
end
})
local SmootnessValue = CamLockTab:AddDependencyBox();
SmootnessValue:AddSlider('CamLock/SmoothV', {
Text = 'Value',
Default = Evolution["Cam Lock"]["Smoothness"].Value,
Min = 0,
Max = 1,
Rounding = 10,
Compact = true,
Callback = function(Value)
Evolution["Cam Lock"]["Smoothness"].Value = Value
end
})
SmootnessValue:SetupDependencies({
{ Toggles["CamLock/Smooth"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
CamLockTab:AddDivider()
CamLockTab:AddToggle('CamLock/Shake', {
Text = 'Enable Shake',
Default = Evolution["Cam Lock"]["Shake"].Enabled ,
Tooltip = 'Camera Shake',
Callback = function(Value)
Evolution["Cam Lock"]["Shake"].Enabled = Value
end
})
local ValuesDEP = CamLockTab:AddDependencyBox();
ValuesDEP:AddSlider('CamLock/ShakeX', {
Text = 'X',
Default = Evolution["Cam Lock"]["Shake"].X,
Min = 0,
Max = 10,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Cam Lock"]["Shake"].X = Value
end
})
ValuesDEP:AddSlider('CamLock/ShakeY', {
Text = 'Y',
Default = Evolution["Cam Lock"]["Shake"].Y,
Min = 0,
Max = 10,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Cam Lock"]["Shake"].Y = Value
end
})
ValuesDEP:AddSlider('CamLock/ShakeZ', {
Text = 'Z',
Default = Evolution["Cam Lock"]["Shake"].Z,
Min = 0,
Max = 10,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Cam Lock"]["Shake"].Z = Value
end
})
ValuesDEP:SetupDependencies({
{ Toggles["CamLock/Shake"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
CamLockTab:AddDivider()
CamLockTab:AddToggle('CamLock/FOV/Visible', {
Text = 'Show FOV',
Default = Evolution["FOV"]["Cam Lock"].Visible ,
Tooltip = 'Shows FOV Circle',
Callback = function(Value)
Evolution["FOV"]["Cam Lock"].Visible = Value
end
}):AddColorPicker('CamlockFOVColor', {
Default = Evolution["FOV"]["Cam Lock"].Color, -- Bright green
Title = 'Circle Color', -- Optional. Allows you to have a custom color picker title (when you open it)
Transparency = nil, -- Optional. Enables transparency changing for this color picker (leave as nil to disable)
Callback = function(Value)
Evolution["FOV"]["Cam Lock"].Color = Value
end
})
local CamLockFOV = CamLockTab:AddDependencyBox();
CamLockFOV:AddToggle('CamLock/FOV/Filled', {
Text = 'Filled',
Default = Evolution["FOV"]["Cam Lock"].Filled ,
Tooltip = 'ewww',
Callback = function(Value)
Evolution["FOV"]["Cam Lock"].Filled = Value
end
})
CamLockFOV:AddSlider('CamLock/FOV/Size', {
Text = 'Size',
Default = Evolution["FOV"]["Cam Lock"].Size,
Min = 1,
Max = 100,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["FOV"]["Cam Lock"].Size = Value
end
})
CamLockFOV:AddSlider('CamLock/FOV/Thickness', {
Text = 'Thickness',
Default = Evolution["FOV"]["Cam Lock"].Thickness,
Min = 1,
Max = 10,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["FOV"]["Cam Lock"].Thickness = Value
end
})
CamLockFOV:AddSlider('CamLock/FOV/Transparency', {
Text = 'Transparency',
Default = Evolution["FOV"]["Cam Lock"].Transparency,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true,
Callback = function(Value)
Evolution["FOV"]["Cam Lock"].Transparency = Value
end
})
CamLockFOV:SetupDependencies({
{ Toggles["CamLock/FOV/Visible"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
-- // Global
local Global = Tabs.Main:AddRightGroupbox('Global')
Global:AddToggle('Global/AutoPrediction', {
Text = 'Auto Prediction',
Default = Evolution["Global"]["Auto Prediction"].Enabled ,
Tooltip = 'Uses ping based auto prediction.',
Callback = function(Value)
Evolution["Global"]["Auto Prediction"].Enabled = Value
end
})
local Depbox = Global:AddDependencyBox();
Depbox:AddDropdown('Global/AutoPrediction/Version', {
Values = AutoPredVersions,
Default = Evolution["Global"]["Auto Prediction"]["Version"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Version',
Tooltip = 'Select a auto prediction mode', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Version"] = Value
end
})
Depbox:AddToggle('Global/AutoPrediction/SetupCustomPrediction', {
Text = 'Setup Custom prediction',
Default = false,
Tooltip = 'Set your custom prediction values.',
})
local CustomValues = Depbox:AddDependencyBox();
CustomValues:AddSlider('ping_20', {
Text = '20',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping20,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping20 = Value
end
})
CustomValues:AddSlider('ping_30', {
Text = '30',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping30,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping30 = Value
end
})
CustomValues:AddSlider('ping_40', {
Text = '40',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping40,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping40 = Value
end
})
CustomValues:AddSlider('ping_50', {
Text = '50',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping50,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping50 = Value
end
})
CustomValues:AddSlider('ping_60', {
Text = '60',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping60,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping60 = Value
end
})
CustomValues:AddSlider('ping_70', {
Text = '70',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping70,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping70 = Value
end
})
CustomValues:AddSlider('ping_80', {
Text = '80',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping80,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping80 = Value
end
})
CustomValues:AddSlider('ping_90', {
Text = '90',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping90,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping90 = Value
end
})
CustomValues:AddSlider('ping_100', {
Text = '100',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping100,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping100 = Value
end
})
CustomValues:AddSlider('ping_110', {
Text = '110',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping110,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping110 = Value
end
})
CustomValues:AddSlider('ping_120', {
Text = '120',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping120,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping120 = Value
end
})
CustomValues:AddSlider('ping_130', {
Text = '130',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping130,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping130 = Value
end
})
CustomValues:AddSlider('ping_140', {
Text = '140',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping140,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping140 = Value
end
})
CustomValues:AddSlider('ping_150', {
Text = '150',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping150,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping150 = Value
end
})
CustomValues:AddSlider('ping_160', {
Text = '160',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping160,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping160 = Value
end
})
CustomValues:AddSlider('ping_170', {
Text = '170',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping170,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping170 = Value
end
})
CustomValues:AddSlider('ping_180', {
Text = '180',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping180,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping180 = Value
end
})
CustomValues:AddSlider('ping_190', {
Text = '190',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping190,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping190 = Value
end
})
CustomValues:AddSlider('ping_200', {
Text = '200',
Default = Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping200,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Global"]["Auto Prediction"]["Custom Settings"].Ping200 = Value
end
})
CustomValues:AddDivider()
CustomValues:SetupDependencies({
{ Toggles["Global/AutoPrediction/SetupCustomPrediction"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Depbox:SetupDependencies({
{ Toggles["Global/AutoPrediction"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Global:AddToggle('Global/AntiGroundShots', {
Text = 'Anti Ground Shots',
Default = Evolution["Global"]["Anti Ground Shots"] ,
Tooltip = 'Will prevent you from shooting at the ground.',
Callback = function(Value)
Evolution["Global"]["Anti Ground Shots"] = Value
end
})
Global:AddToggle('Global/UnlockOnKO', {
Text = 'Unlock On KO',
Default = Evolution["Global"]["Unlock On KO"] ,
Tooltip = 'Unlocks when target is knocked.',
Callback = function(Value)
Evolution["Global"]["Unlock On KO"] = Value
end
})
Global:AddToggle('Global/UnlockOutSideFOV', {
Text = 'Unlock Outside FOV',
Default = Evolution["Global"]["Unlock Outside FOV"] ,
Tooltip = 'Unlocks when target goes outside your FOV.',
Callback = function(Value)
Evolution["Global"]["Unlock Outside FOV"] = Value
end
})
Global:AddToggle('Global/UnlockBehindWall', {
Text = 'Unlock Behind Wall',
Default = Evolution["Global"]["Unlock Behind Wall"] ,
Tooltip = 'Unlocks when target goes behind a wall',
Callback = function(Value)
Evolution["Global"]["Unlock Behind Wall"] = Value
end
})
-- // Checks
local Checks = Tabs.Main:AddRightGroupbox('Checks')
Checks:AddToggle('Checks/Whitelist', {
Text = 'Whitelist',
Default = Evolution["Checks"]["Whitelist"].Enabled ,
Tooltip = 'Will only lock onto people whitelisted',
Callback = function(Value)
Evolution["Checks"]["Whitelist"].Enabled = Value
end
})
local Whitelist = Checks:AddDependencyBox();
Whitelist:AddDropdown('Checks/Whitelist/SelectPlayer', {
SpecialType = 'Player',
Multi = true,
Text = 'Whitelisted Players',
Tooltip = 'Select Targets', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Checks"]["Whitelist"].Usernames = Value
end
})
Whitelist:AddDivider()
Whitelist:SetupDependencies({
{ Toggles["Checks/Whitelist"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Checks:AddToggle('Checks/Blacklist', {
Text = 'Blacklist',
Default = Evolution["Checks"]["Blacklist"].Enabled ,
Tooltip = 'Will not lock onto people blacklisted',
Callback = function(Value)
Evolution["Checks"]["Blacklist"].Enabled = Value
end
})
local Blacklist = Checks:AddDependencyBox();
Blacklist:AddDropdown('Checks/Blacklist/SelectPlayer', {
SpecialType = 'Player',
Multi = true,
Text = 'Blacklisted Players',
Tooltip = 'Select Targets', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Checks"]["Blacklist"].Usernames = Value
end
})
Blacklist:AddDivider()
Blacklist:SetupDependencies({
{ Toggles["Checks/Blacklist"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Checks:AddToggle('Checks/Distance', {
Text = 'Distance',
Default = Evolution["Checks"]["Distance"].Enabled ,
Tooltip = 'Will not lock onto people who are too far away',
Callback = function(Value)
Evolution["Checks"]["Distance"].Enabled = Value
end
})
local Distance = Checks:AddDependencyBox();
Distance:AddSlider('Checks/Distance/Max', {
Text = 'Max Distance',
Default = Evolution["Checks"]["Distance"]["Max Distance"],
Min = 1,
Max = 1000,
Rounding = 0,
Compact = true, -- If set to true, then it will hide the label
Callback = function(Value)
Evolution["Checks"]["Distance"]["Max Distance"] = Value
end
})
Distance:AddDivider()
Distance:SetupDependencies({
{ Toggles["Checks/Distance"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Checks:AddToggle('Checks/Visible', {
Text = 'Visible',
Default = Evolution["Checks"]["Visible Check"] ,
Tooltip = 'Will not lock onto people who are behind a wall',
Callback = function(Value)
Evolution["Checks"]["Visible Check"] = Value
end
})
Checks:AddToggle('Checks/KO', {
Text = 'Knocked',
Default = Evolution["Checks"]["K.O Check"] ,
Tooltip = 'Will not lock onto people who are knocked',
Callback = function(Value)
Evolution["Checks"]["K.O Check"] = Value
end
})
Checks:AddToggle('Checks/Crew', {
Text = 'Crew',
Default = Evolution["Checks"]["Crew Check"] ,
Tooltip = 'Will not lock onto people who are in your crew',
Callback = function(Value)
Evolution["Checks"]["Crew Check"] = Value
end
})
Checks:AddToggle('Checks/Friend', {
Text = 'Friend',
Default = Evolution["Checks"]["Friend Check"] ,
Tooltip = 'Will not lock onto people who are your friends',
Callback = function(Value)
Evolution["Checks"]["Friend Check"] = Value
end
})
local Resolver = Tabs.Main:AddRightGroupbox('Resolver')
Resolver:AddToggle('Resolver/Enabled', {
Text = 'Enabled',
Default = Evolution["Resolver"].Enabled ,
Tooltip = 'Will toggle resolver.',
Callback = function(Value)
Evolution["Resolver"].Enabled = Value
end
}):AddKeyPicker('Resolver/ToggleBind', {
Default = Evolution.Resolver.Keybind,
SyncToggleState = true,
Mode = 'Toggle',
Text = 'Resolver',
NoUI = false,
})
Resolver:AddDropdown('Resolver/Method', {
Values = { 'Delta', 'Move Direction' ,'No Prediction', 'Recalculate' },
Default = Evolution["Resolver"]["Method"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Method',
Tooltip = 'Select a resolving method.', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Resolver"]["Method"] = Value
end
})
local Airshot = Tabs.Main:AddRightGroupbox('Airshot')
Airshot:AddToggle('Airshot/Enabled', {
Text = 'Enable Airshot',
Default = Evolution["Airshot"].Enabled ,
Tooltip = 'Will change your target offset if player is in air',
Callback = function(Value)
Evolution["Airshot"].Enabled = Value
end
})
local ssss = Airshot:AddDependencyBox();
ssss:AddSlider('Airshot/JumpOffset', {
Text = 'Offset',
Default = Evolution["Airshot"]["Jump Offset"],
Min = -5,
Max = 5,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Airshot"]["Jump Offset"] = Value
end
})
ssss:AddDivider()
ssss:SetupDependencies({
{ Toggles["Airshot/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Airshot:AddToggle('Airshot/CamlockSmoothness', {
Text = 'Enable Camlock Smoothness',
Default = Evolution["Airshot"]["Cam Lock Smoothness"].Enabled ,
Tooltip = 'Will change your camlock smoothness if target is in air',
Callback = function(Value)
Evolution["Airshot"]["Cam Lock Smoothness"].Enabled = Value
end
})
local SMoothing = Airshot:AddDependencyBox();
SMoothing:AddSlider('CamLock/SmoothV2', {
Text = 'Value',
Default = Evolution["Airshot"]["Cam Lock Smoothness"]["New Smoothness"],
Min = 0,
Max = 1,
Rounding = 10,
Compact = true,
Callback = function(Value)
Evolution["Airshot"]["Cam Lock Smoothness"]["New Smoothness"] = Value
end
})
SMoothing:AddDivider()
SMoothing:SetupDependencies({
{ Toggles["Airshot/CamlockSmoothness"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
local Visuals = Tabs.Main:AddLeftGroupbox('Visuals')
Visuals:AddToggle('HitSound/Enabled', {
Text = 'Hit Sound',
Default = Evolution["Hit Sound"].Enabled ,
Tooltip = 'Will play sound when you hit target',
Callback = function(Value)
Evolution["Hit Sound"].Enabled = Value
end
})
local HitSound = Visuals:AddDependencyBox();
HitSound:AddSlider('HitSound/Volume', {
Text = 'Volume',
Default = Evolution["Hit Sound"].Volume * 10,
Min = 1,
Max = 100,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Hit Sound"].Volume = Value / 10
end
})
HitSound:AddDropdown('HitSound/Sound', {
Values = hitSoundsNames,
Default = Evolution["Hit Sound"]["Hit Sound"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Sound',
Tooltip = 'Select a sound to play', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution["Hit Sound"]["Hit Sound"] = Value
end
})
HitSound:AddDivider()
HitSound:SetupDependencies({
{ Toggles["HitSound/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Visuals:AddToggle('HitLogs/Enabled', {
Text = 'Hit Logs',
Default = Evolution["Hit Logs"].Enabled ,
Tooltip = 'Logs when you hit a player',
Callback = function(Value)
Evolution["Hit Logs"].Enabled = Value
end
})
-- Extra Tab
local Misc = Tabs.Extra:AddLeftGroupbox('Miscellaneous')
Misc:AddToggle('Macro/Enabled', {
Text = 'Macro',
Default = Evolution["Macro"].Enabled ,
Tooltip = 'Lua based Macro',
Callback = function(Value)
Evolution["Macro"].Enabled = Value
end
}):AddKeyPicker('Macro/Bind', {
Default = Evolution["Macro"]["Bind"],
SyncToggleState = false,
Mode = 'Always',
Text = 'Macro',
NoUI = false,
ChangedCallback = function(New)
Evolution["Macro"]["Bind"] = KeyCodeToString(New)
end
})
local MacroSets = Misc:AddDependencyBox();
MacroSets:AddToggle('Macro/Abuse', {
Text = 'Abuse',
Default = Evolution["Macro"].Abuse ,
Tooltip = 'Use scroll wheel to macro',
Callback = function(Value)
Evolution["Macro"].Abuse = Value
end
})
MacroSets:AddSlider('Macro/Speed', {
Text = 'Speed',
Default = Evolution["Macro"].Speed,
Min = 0,
Max = 1,
Rounding = 3,
Compact = true,
Callback = function(Value)
Evolution["Macro"].Speed = Value
end
})
MacroSets:AddDivider()
MacroSets:SetupDependencies({
{ Toggles["Macro/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Misc:AddToggle('MemorySpoofer/Enabled', {
Text = 'Memory Spoofer',
Default = Evolution["Spoofer"].Memory.Enabled ,
Tooltip = 'Spoofs your memory',
Callback = function(Value)
Evolution["Spoofer"].Memory.Enabled = Value
end
})
local SpooferSets = Misc:AddDependencyBox();
SpooferSets:AddSlider('MemorySpoofer/Min', {
Text = 'Minimum',
Default = Evolution["Spoofer"].Memory.Min,
Min = 500,
Max = 2000,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Spoofer"].Memory.Min = Value
end
})
SpooferSets:AddSlider('MemorySpoofer/Max', {
Text = 'Maximum',
Default = Evolution["Spoofer"].Memory.Max,
Min = 500,
Max = 2000,
Rounding = 1,
Compact = true,
Callback = function(Value)
Evolution["Spoofer"].Memory.Max = Value
end
})
SpooferSets:AddDivider()
SpooferSets:SetupDependencies({
{ Toggles["MemorySpoofer/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Misc:AddToggle('FakeSpike/Enabled', {
Text = 'Fake Spike',
Default = Evolution["Fake Spike"].Enabled ,
Tooltip = 'Spikes your ping to make it look like your lagging',
Callback = function(Value)
Evolution["Fake Spike"].Enabled = Value
end
}):AddKeyPicker('FakeSpike/Bind', {
Default = Evolution["Fake Spike"]["Bind"],
SyncToggleState = false,
Mode = 'Always',
Text = 'Fake Spike',
NoUI = false,
ChangedCallback = function(New)
Evolution["Fake Spike"]["Bind"] = KeyCodeToString(New)
end
})
local Spike = Misc:AddDependencyBox();
Spike:AddSlider('FakeSpike/Duration', {
Text = 'Duration',
Default = Evolution["Fake Spike"]["Duration"],
Min = 0.1,
Max = 3,
Rounding = 2,
Compact = true,
Callback = function(Value)
Evolution["Fake Spike"]["Duration"] = Value
end
})
Spike:AddDivider()
Spike:SetupDependencies({
{ Toggles["FakeSpike/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Misc:AddToggle('Panic/Enabled', {
Text = 'Panic',
Default = Evolution["Panic"].Enabled ,
Tooltip = 'Will disable everything when your press keybind',
Callback = function(Value)
Evolution["Panic"].Enabled = Value
end
}):AddKeyPicker('Panic/Bind', {
Default = Evolution["Panic"]["Bind"],
SyncToggleState = false,
Mode = 'Always',
Text = 'Panic',
NoUI = false,
ChangedCallback = function(New)
Evolution["Panic"]["Bind"] = KeyCodeToString(New)
end
})
local PanicMode = Misc:AddDependencyBox();
PanicMode:AddToggle('Panic/Options', {
Text = 'Options',
Default = Evolution["Panic"]["Things To Disable"].Options ,
Callback = function(Value)
Evolution["Panic"]["Things To Disable"].Options = Value
end
})
PanicMode:AddToggle('Panic/Aiming', {
Text = 'Aiming',
Default = Evolution["Panic"]["Things To Disable"].Aiming ,
Callback = function(Value)
Evolution["Panic"]["Things To Disable"].Aiming = Value
end
})
PanicMode:AddToggle('Panic/FOV', {
Text = 'FOV',
Default = Evolution["Panic"]["Things To Disable"].FOV ,
Callback = function(Value)
Evolution["Panic"]["Things To Disable"].FOV = Value
end
})
PanicMode:AddToggle('Panic/Misc', {
Text = 'Misc',
Default = Evolution["Panic"]["Things To Disable"].Misc ,
Callback = function(Value)
Evolution["Panic"]["Things To Disable"].Misc = Value
end
})
PanicMode:AddToggle('Panic/Emotes', {
Text = 'Emotes',
Default = Evolution["Panic"]["Things To Disable"].Emotes ,
Callback = function(Value)
Evolution["Panic"]["Things To Disable"].Emotes = Value
end
})
PanicMode:AddDivider()
PanicMode:SetupDependencies({
{ Toggles["Panic/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
Misc:AddToggle('GunSorting/Enabled', {
Text = 'Gun Sorting',
Default = Evolution["Gun Sorting"].Enabled ,
Tooltip = 'Sorts your guns in your hotbar (must set in table)',
Callback = function(Value)
Evolution["Gun Sorting"].Enabled = Value
end
}):AddKeyPicker('GunSorting/Bind', {
Default = Evolution["Gun Sorting"]["Bind"],
SyncToggleState = false,
Mode = 'Always',
Text = 'Sort Guns',
NoUI = false,
ChangedCallback = function(New)
Evolution["Gun Sorting"]["Bind"] = KeyCodeToString(New)
end
})
local Sort = Misc:AddDependencyBox();
Sort:AddToggle('GunSorting/Delete', {
Text = 'Delete Extra',
Default = Evolution["Gun Sorting"]["Delete Extra"] ,
Tooltip = 'Deletes unsorted items from your inventory',
Callback = function(Value)
Evolution["Gun Sorting"]["Delete Extra"] = Value
end
})
Sort:AddDivider()
Sort:SetupDependencies({
{ Toggles["GunSorting/Enabled"], true } -- We can also pass `false` if we only want our features to show when the toggle is off!
});
local ESP = Tabs.Extra:AddRightGroupbox('ESP')
ESP:AddToggle('Esp/Enabled', {
Text = 'Enabled',
Default = Evolution["ESP"].Enabled ,
Callback = function(Value)
Evolution["ESP"].Enabled = Value
end
})
ESP:AddSlider('ESP/MAXDISTANCE', {
Text = 'Max Distance',
Default = Evolution.ESP["Max Distance"],
Min = 1,
Max = 1000,
Rounding = 0,
Compact = true,
Callback = function(Value)
Evolution.ESP["Max Distance"] = Value
end
})
ESP:AddToggle('Esp/Names', {
Text = 'Names',
Default = Evolution["ESP"].Name.Enabled ,
Callback = function(Value)
Evolution["ESP"].Name.Enabled = Value
end
}):AddColorPicker('NameColor', {
Default = Evolution["ESP"].Name.Color,
Title = 'Name Color',
Transparency = nil,
Callback = function(Value)
Evolution["ESP"].Name.Color = Value
end
})
ESP:AddToggle('Esp/Names/Outline', {
Text = 'Name Outline',
Default = Evolution["ESP"].Name.Outline ,
Callback = function(Value)
Evolution["ESP"].Name.Outline = Value
end
})
ESP:AddToggle('Esp/Box', {
Text = 'Box',
Default = Evolution["ESP"].Box.Enabled ,
Callback = function(Value)
Evolution["ESP"].Box.Enabled = Value
end
}):AddColorPicker('BoxColor', {
Default = Evolution["ESP"].Box.Color,
Title = 'Box Color',
Transparency = nil,
Callback = function(Value)
Evolution["ESP"].Box.Color = Value
end
})
ESP:AddToggle('Esp/Names/Outline', {
Text = 'Box Outline',
Default = Evolution["ESP"].Box.Outline ,
Callback = function(Value)
Evolution["ESP"].Box.Outline = Value
end
})
ESP:AddToggle('Esp/Health', {
Text = 'Health Bar',
Default = Evolution["ESP"]["Health Bar"].Enabled ,
Callback = function(Value)
Evolution["ESP"]["Health Bar"].Enabled = Value
end
}):AddColorPicker('HealthColor', {
Default = Evolution["ESP"]["Health Bar"].Color,
Title = 'Health Bar Color',
Transparency = nil,
Callback = function(Value)
Evolution["ESP"]["Health Bar"].Color = Value
end
})
ESP:AddToggle('Esp/Health/Outline', {
Text = 'Health Bar Outline',
Default = Evolution["ESP"]["Health Bar"].Outline ,
Callback = function(Value)
Evolution["ESP"]["Health Bar"].Outline = Value
end
})
ESP:AddToggle('Esp/Distance', {
Text = 'Distance',
Default = Evolution["ESP"].Distance.Enabled ,
Callback = function(Value)
Evolution["ESP"].Distance.Enabled = Value
end
}):AddColorPicker('DistanceColor', {
Default = Evolution["ESP"].Distance.Color,
Title = 'Distance Color',
Transparency = nil,
Callback = function(Value)
Evolution["ESP"].Distance.Color = Value
end
})
ESP:AddToggle('Esp/Distance/Outline', {
Text = 'Distance Outline',
Default = Evolution["ESP"].Distance.Outline ,
Callback = function(Value)
Evolution["ESP"].Distance.Outline = Value
end
})
-- UI Settings
Library:SetWatermark('Evolution | '..tostring(os.date("%B") .. " " .. os.date("%d") .. " " .. os.date("%Y")).." | "..utility.Version)
Library:SetWatermarkVisibility(false)
local MenuGroup = Tabs['UI Settings']:AddLeftGroupbox('Menu')
local MenuGroup2 = Tabs['UI Settings']:AddRightGroupbox('More Settings')
MenuGroup:AddButton('Unload', function() Library:Unload() end)
MenuGroup:AddLabel('Menu bind'):AddKeyPicker('MenuKeybind', { Default = Evolution["Options"]["Internal"].Bind, NoUI = true, Text = 'Menu keybind' })
MenuGroup2:AddToggle('togglekeybindmenu', {
Text = 'Keybind Menu',
Default = false,
Callback = function(V)
Library.KeybindFrame.Visible = Toggles.togglekeybindmenu.Value
end
})
MenuGroup2:AddToggle('show_stats', {
Text = 'Show Stats',
Default = Evolution["Options"]["Stats"],
Callback = function(V)
Evolution["Options"]["Stats"] = V
end
})
MenuGroup2:AddToggle('allow_notifications', {
Text = 'Allow Notifications',
Default = Evolution["Options"]["Allow Notifications"],
Callback = function(V)
Evolution["Options"]["Allow Notifications"] = V
end
})
MenuGroup2:AddDropdown('notification_mode', {
Values = NotificationTypes,
Default = Evolution.Options["Notifcation Type"], -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Type',
Tooltip = 'Select a notification type', -- Information shown when you hover over the dropdown
Callback = function(Value)
Evolution.Options["Notifcation Type"] = Value
end
})
MenuGroup2:AddToggle('togglewatermark', {
Text = 'Watermark',
Default = false,
Callback = function(V)
Library:SetWatermarkVisibility(Toggles.togglewatermark.Value)
end
})
Library.ToggleKeybind = Options.MenuKeybind
ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)
SaveManager:IgnoreThemeSettings()
SaveManager:BuildConfigSection(Tabs['UI Settings'])
ThemeManager:ApplyToTab(Tabs['UI Settings'])
SaveManager:LoadAutoloadConfig()
if game:GetService("UserInputService").TouchEnabled then
task.spawn(function()
local EvolutionMobileButton = Instance.new("ScreenGui")
local Icon = Instance.new("Frame")
local IconButton = Instance.new("TextButton")
local IconImage = Instance.new("ImageLabel")
local IconCorner = Instance.new("UICorner")
EvolutionMobileButton.Name = "EvolutionMobileButton"
EvolutionMobileButton.IgnoreGuiInset = true
EvolutionMobileButton.Parent = game.CoreGui
EvolutionMobileButton.DisplayOrder = 10
EvolutionMobileButton.ResetOnSpawn = false
Icon.Name = "Icon"
Icon.Parent = EvolutionMobileButton
Icon.BackgroundTransparency = 1.000
Icon.LayoutOrder = 1
Icon.Position = UDim2.new(0, 104, 0, 4)
Icon.Size = UDim2.new(0, 32, 0, 32)
IconButton.Name = "IconButton"
IconButton.Parent = Icon
IconButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
IconButton.BackgroundTransparency = 0.500
IconButton.BorderSizePixel = 0
IconButton.Size = UDim2.new(1, 0, 1, 0)
IconButton.ZIndex = 10
IconButton.AutoButtonColor = false
IconButton.Text = ""
IconImage.Name = "IconImage"
IconImage.Parent = IconButton
IconImage.AnchorPoint = Vector2.new(0.5, 0.5)
IconImage.BackgroundTransparency = 1.000
IconImage.Position = UDim2.new(0.5, 0, 0.5, 0)
IconImage.Size = UDim2.new(0, 20, 0.629999995, 0)
IconImage.ZIndex = 11
IconImage.Image = "rbxassetid://14270853092"
IconImage.ScaleType = Enum.ScaleType.Fit
IconCorner.CornerRadius = UDim.new(0.25, 0)
IconCorner.Name = "IconCorner"
IconCorner.Parent = IconButton
IconButton.MouseButton1Down:Connect(function()
game:GetService("VirtualInputManager"):SendKeyEvent(true, string.upper(Evolution["Options"]["Internal UI Bind"]) , false , game)
end)
end)
end
end
end
notify("Evolution V3 has loaded.")Obfuscated. The code is scrambled, so you can't read what it does. Common for key systems, but take care.
Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: create.roblox.com, raw.githubusercontent.com, discord.com, cdn.discordapp.com, www.roblox.com, pastebin.com.
cool i thinq

Universal