local ui = {} -- local uis = game:GetService('UserInputService') local txtservice = game:GetService('TextService') local ts = game:GetService('TweenService') -- local repo = "https://raw.githubusercontent.com/f1nobe7650/Lynx/main/" -- Getting the functions n stuff local Color = loadstring(game:HttpGet(repo .."Color.lua"))(); local Math = loadstring(game:HttpGet(repo .."Math.lua"))(); local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/Blissful4992/ESPs/main/3D%20Drawing%20Api.lua"))(); local WatermarkLUA = loadstring(game:HttpGet("https://pastebin.com/raw/FhFwETdS"))(); -- local InputService, TeleportService, RunService, Workspace, Lighting, Players, HttpService, StarterGui, ReplicatedStorage, TweenService, VirtualUser, PathFindingService = game:GetService("UserInputService"), game:GetService("TeleportService"), game:GetService("RunService"), game:GetService("Workspace"), game:GetService("Lighting"), game:GetService("Players"), game:GetService("HttpService"), game:GetService("StarterGui"), game:GetService("ReplicatedStorage"), game:GetService("TweenService"), game:GetService("VirtualUser"), game:GetService("PathfindingService") local Mouse, Camera, LocalPlayer = Players.LocalPlayer:GetMouse(), Workspace.Camera, Players.LocalPlayer local NewVector2, NewVector3, NewCFrame, NewAngle, NewRGB, NewHex, NewInstance, Spawn, Wait, Create, Resume, SpinAngle, SpinSize, SpinSpeed, Huge, Pi, Clamp, Round, Abs, Floor, Random, Sin, Cos, Rad, Halfpi, Find, Clear, Sub, Upper, Lower, Insert = Vector2.new, Vector3.new, CFrame.new, CFrame.Angles, Color3.fromRGB, Color3.fromHex, Instance.new, task.spawn, task.wait, coroutine.create, coroutine.resume, 0, 25, 0, math.huge, math.pi, math.clamp, math.round, math.abs, math.floor, math.random, math.sin, math.cos, math.rad, math.pi/2, table.find, table.clear, string.sub, string.upper, string.lower, table.insert local Wanted, ShopPath, bodyParts, viewportSize = LocalPlayer:WaitForChild("DataFolder").Information.Wanted, workspace.Ignored.Shop, {}, Camera.ViewportSize local OldWanted = Wanted.Value -- for i,v in pairs(LocalPlayer.Character:GetChildren()) do if v:IsA("BasePart") then table.insert(bodyParts,v.Name) end end -- local ColorCorrectionEffect = Instance.new("ColorCorrectionEffect", Lighting); ColorCorrectionEffect.Enabled = false; ColorCorrectionEffect.Brightness = 0; ColorCorrectionEffect.Contrast = 0; ColorCorrectionEffect.Saturation = 0; ColorCorrectionEffect.TintColor = Color3.fromRGB(255,255,255) -- setfpscap(999) -- getgenv().Lynx, getgenv().Visuals, getgenv().utility = { ["Connections"] = {}, ["Account"] = { Username = (lgVarsTbl and lgVarsTbl["DiscordUsername"] or "User"), UserID = LocalPlayer.UserId, Game = "Da Hood" }, ["Locals"] = { Window = {}, }, ["Silent"] = { Target = nil, Check = true, Prediction = 0, Resolver = {false, nil}, Offset = 0, Check = true, Hitpart = nil, Position = nil, }, ["Assist"] = { Target = nil, Prediction = 0, Resolver = false, }, ["Files"] = { Folders = {"Lynx", "Lynx/Configs", "Lynx/Luas", "Lynx/Assets"}, Luas = { ["ChinaHat"] = game:HttpGet("https://raw.githubusercontent.com/f1nobe7650/Lynx/main/LUAs/ChinaHat"), ["Minecraft"] = game:HttpGet("https://raw.githubusercontent.com/f1nobe7650/Lynx/main/LUAs/Minecraft"), ["BetterGame"] = game:HttpGet("https://raw.githubusercontent.com/f1nobe7650/Lynx/main/LUAs/BetterGame") }, } }, { ["Drawings"] = {}, ["Bases"] = {}, ["Base"] = {}, ["Settings"] = { ["Line"] = { Thickness = 1, Color = Color3.fromRGB(0, 255, 0) }, ["Text"] = { Size = 13, Center = true, Outline = true, Font = Drawing.Fonts.Plex, Color = Color3.fromRGB(255, 255, 255) }, ["Square"] = { Thickness = 1, Color = Color3.fromRGB(255, 255, 255), Filled = false, }, ["Triangle"] = { Color = Color3.fromRGB(255, 255, 255), Filled = true, Visible = false, Thickness = 1, }, ["Image"] = { Transparency = 1, Data = game:HttpGet("https://raw.githubusercontent.com/portallol/luna/main/Gradient.png") } }, ["KeyBindList"] = {} }, { ["Cursor"] = {Lines = {}, Outlines = {}, Dots = {}}, ["Renders"] = {}, ["Parts"] = {}, ["Desyncs"] = { ["None"] = NewVector3(0, 0, 0), ["HvH"] = NewVector3(0, -16384, 0), ["AntiBot"] = NewVector3(0, 100, 0), ["Horizontal"] = NewVector3(-16384, 0, 0), ["Sky"] = NewVector3(0, 16384, 0), ["Ground"] = NewVector3(0, -100, 0), ["Desync"] = NewVector3(-16384, -16384, -16384) }, ["Ignore"] = {}, ["LastTick"] = tick(), ["ShitTalk"] = { ["Lynx"] = { "WHAT THE HELL IS AN AZURE 🤡🤡", "LYNX ONTOP LYNX ONTOP LYNX ONTOP", "IS THAT LYNX???!! | .gg/lynx", "Here is a wild lynx user in its habitat | .gg/lynx", "LYNX >> ALL", "LYNX ON TOP | .gg/lynx", "LYNX > U", ".gg/lynx" }, ["AntiAim"] = { "CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! CANT HIT ME?! ", "Hmmm why arent u hitting me? Lynx too good XDDD", "RESOLVER SUCCESSFULLY HIT 0 SHOTS", "I think 0 prediction can hit more shots :(", "Uphillian Aim???!!!!", "Cmon man resolve my beanbot desync :^)", "SKID DETECTED NOT RESOLVING!", "Azure hits better cmon bro up the game :rofl:" }, }, ["TracerTextures"] = { ["1"] = 7136858729, ["2"] = 6333823534, ["3"] = 5864341017, ["4"] = 9150663556, ["5"] = 446111271, ["6"] = 2950987173, ["7"] = 7151778302, ["8"] = 11226108137, ["9"] = 6511613786, }, ["sfx"] = { ["Bameware"] = "3124331820", ["Skeet"] = "4753603610", ["Bonk"] = "3765689841", ["Lazer Beam"] = "130791043", ["Windows XP Error"] = "160715357", ["TF2 Hitsound"] = "3455144981", ["TF2 Critical"] = "296102734", ["TF2 Bat"] = "3333907347", ['Bow Hit'] = "1053296915", ['Bow'] = "3442683707", ['OSU'] = "7147454322", ['Minecraft Hit'] = "4018616850", ['Steve'] = "5869422451", ['1nn'] = "7349055654", ['Rust'] = "3744371091", ["TF2 Pan"] = "3431749479", ["Neverlose"] = "8679627751", ["Mario"] = "5709456554", }, ["SkyBoxes"] = { ["Normal"] = {600886090,600830446,600831635,600832720,600833862,600835177}, ["DoomSpire"] = {6050649245,6050664592,6050648475,6050644331,6050649718,6050650083}, ["CatGirl"] = {444167615,444167615,444167615,444167615,444167615,444167615}, ["Vibe"] = {1417494402,1417494030,1417494146,1417494253,1417494499,1417494643}, ["Blue Aurora"] = {12063984,12064107,12064152,12064121,12064115,12064131}, ["Purple Clouds"] = {151165191,151165214,151165197,151165224,151165206,151165227}, ["Purple Nebula"] = {159454286,159454299,159454296,159454293,159454300,159454288}, ["Twighlight"] = {264909758,264908339,264907909,264909420,264908886,264907379}, ["Vivid Skies"] = {271042310,271042516,271077243,271042556,271042467,271077958}, ["Purple and Blue"] = {149397684,149397692,149397686,149397697,149397688,149397702}, }, ["LightingBackUp"] = { ["Ambient"] = Lighting.Ambient, ["OutdoorAmbient"] = Lighting.OutdoorAmbient, ["ColorShift_Top"] = Lighting.ColorShift_Top, ["FogColor"] = Lighting.FogColor, ["FogEnd"] = Lighting.FogEnd, ["FogStart"] = Lighting.FogStart, ["ClockTime"] = Lighting.ClockTime, ["Brightness"] = Lighting.Brightness }, ["Angle"] = 0, --[[["Maps"] = { ["MM2 MAP"] = {game:GetObjects("rbxassetid://6961429165")[1], NewCFrame(-2279.90967, 5337.09326, -5520.67969, -4.37113883e-08, 0, -1, -1, -4.37113883e-08, 4.37113883e-08, -4.37113883e-08, 1, 1.91068547e-15), NewVector3(-8000,5000,-5504)}, ["Parkour"] = {game:GetObjects("rbxassetid://5172031164")[1], NewCFrame(-12906.4688, 13095.1973, -11499.5381, 0.318712622, 1.4782394e-08, 0.947851419, -4.15312478e-08, 1, -1.63091063e-09, -0.947851419, -3.88456591e-08, 0.318712622), NewVector3(-12922,13090,-11418)}, ["Office"] = {game:GetObjects("rbxassetid://6882056127")[1], NewCFrame(-10773.5635, 6006.16406, -14860.6035, 1, 8.80185169e-08, -1.60622491e-07, -8.80185098e-08, 1, 6.82912145e-08, 1.60622491e-07, -6.82912003e-08, 1), NewVector3(-17608,5510,-10917)}, ["Anarchy"] = {game:GetObjects("rbxassetid://2782284003")[1], NewCFrame(-5820.18994, 5510.59863, -8075.72021, -0.286452234, -7.80991627e-08, 0.958094537, 5.32952846e-08, 1, 9.74493801e-08, -0.958094537, 7.89765124e-08, -0.286452234), NewVector3(-8190,5431,-9629)}, },]] ["Characters"] = { AmongUs = {Vector3.new(0.15,0.15,0.15), "6686375937", "6686375902"}, SpongeBob = {Vector3.new(5,5,5), "5408463358", "5408463211"}, Patrick = {Vector3.new(0.4,0.4,0.4), "5730253510", "5730253467"}, Maxell = {Vector3.new(0.2,0.2,0.2), "12303996609", "12303996327"}, Brian = {Vector3.new(1.7,1.7,1.7), "512454212", "512454192"}, CapyBara = {Vector3.new(2,2,2), "11255227067", "11255226712"}, Chicken = {Vector3.new(3, 3, 3), "2114220248", "2114220154"}, Sonic = {Vector3.new(0.15,0.15,0.15), "6901422268", "6901422170"}, } } -- local Stomps = {} do function Stomps:Explode(VictimChar) spawn(function() local Explosion = game:GetObjects("rbxassetid://12843483581")[1] Explosion.Position = VictimChar.UpperTorso.Position for i,v in pairs(Explosion:GetChildren()) do if v:IsA('Part') then local RandomOffsets = { [3] = { [1] = CFrame.new(0, 0, 0, 0.291951358, -0.454637647, 0.841468394, 0.837198734, -0.303921342, -0.454675913, 0.462452948, 0.837219477, 0.291891754), [2] = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), [3] = CFrame.new(0, 0, 0, 0.980090559, 0.139680177, 0.141109571, -0.159390777, 0.977284014, 0.139680177, -0.118393585, -0.159390777, 0.980090559), [4] = CFrame.new(0, 0, 0, 0.173127294, 0.378437281, 0.909292102, -0.722461104, -0.578677535, 0.378394246, 0.669385433, -0.722438574, 0.17322135), [5] = CFrame.new(0, 0, 0, 0.427273333, 0.494663626, 0.756799459, -0.869062901, -0.00613296032, 0.494663626, 0.249333531, -0.869062901, 0.427273333) }, [4] = { [1] = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), [2] = CFrame.new(0, 0, 0, 0.291951358, 0.454619884, -0.841477931, -0.0720763057, 0.887764454, 0.454619884, 0.953713477, -0.0720763057, 0.291951358), [3] = CFrame.new(0, 0, 0, 0.17322135, -0.378349423, -0.909310758, 0.0343255848, 0.925026178, -0.378349423, 0.98428458, 0.0343255848, 0.17322135), [4] = CFrame.new(0, 0, 0, 0.980090559, -0.13969931, -0.141090572, 0.11998871, 0.982897162, -0.13969931, 0.158193409, 0.11998871, 0.980090559), [5] = CFrame.new(0, 0, 0, 0.427273333, -0.494724542, -0.756759584, 0.120325297, 0.860679626, -0.494724542, 0.896079957, 0.120325297, 0.427273333) }, [5] = { [1] = CFrame.new(0, 0, 0, 0.291951358, 0.454619884, -0.841477931, -0.0720763057, 0.887764454, 0.454619884, 0.953713477, -0.0720763057, 0.291951358), [2] = CFrame.new(0, 0, 0, 0.17322135, -0.378349423, -0.909310758, 0.0343255848, 0.925026178, -0.378349423, 0.98428458, 0.0343255848, 0.17322135), [3] = CFrame.new(0, 0, 0, 0.980090559, -0.13969931, -0.141090572, 0.11998871, 0.982897162, -0.13969931, 0.158193409, 0.11998871, 0.980090559), [4] = CFrame.new(0, 0, 0, 0.427273333, 0.494663626, 0.756799459, -0.869062901, -0.00613296032, 0.494663626, 0.249333531, -0.869062901, 0.427273333) } } v.CFrame = Explosion.CFrame * RandomOffsets[i][math.random(1, #RandomOffsets[i])] end end Explosion.Parent = workspace.Ignored Explosion.Explosion:Play() spawn(function() local Tween1 = TweenService:Create(Explosion.Mesh, TweenInfo.new(5, Enum.EasingStyle.Circular), {Scale = Vector3.new(27.5, 27.5, 27.5)}) Tween1:Play() for i,v in pairs(Explosion:GetChildren()) do if v:FindFirstChild('Mesh') then spawn(function() local Tween1 = TweenService:Create(v.Mesh, TweenInfo.new(0.1125, Enum.EasingStyle.Circular), {Scale = Vector3.new(12.5, 12.5, 12.5)}) local Tween2 = TweenService:Create(v.Mesh, TweenInfo.new(1.5875, Enum.EasingStyle.Circular), {Scale = Vector3.new(13.75, 13.75, 13.75)}) local Tween3 = TweenService:Create(v, TweenInfo.new(0.165), {Transparency = 0.35}) local Tween4 = TweenService:Create(v, TweenInfo.new(0.9), {Transparency = 1}) Tween1:Play() Tween3:Play() Tween1.Completed:Connect(function() Tween2:Play() end) delay(1.425, function() Tween4:Play() end) end) end end local Tween2 = TweenService:Create(Explosion, TweenInfo.new(0.3, Enum.EasingStyle.Sine), {Transparency = 1}) wait(0.8) Tween2:Play() end) game:GetService('Debris'):AddItem(Explosion, 5) end) end function Stomps:AirStrike(VictimChar) spawn(function() local Radio = Instance.new("Sound", VictimChar.UpperTorso) Radio.SoundId = "http://www.roblox.com/asset/?id=88858815" Radio.PlaybackSpeed = 1.5 Radio.Volume = 1 Radio:Play() local Jet = game:GetObjects("rbxassetid://12868291219")[1] Jet.Parent = workspace.Ignored Jet.Position = VictimChar.UpperTorso.CFrame.Position + Vector3.new(0, 200, -2000) Jet.Sound:Play() local function AddExplosion() local ExplosionSound = Instance.new("Sound", VictimChar.UpperTorso) ExplosionSound.SoundId = "rbxassetid://3802269741" local Explosion = Instance.new("Explosion", Jet) Explosion.DestroyJointRadiusPercent = 0 Explosion.BlastPressure = 10000 Explosion.Position = VictimChar.UpperTorso.Position + Vector3.new(math.random(0,50) * 0.1, 0, math.random(0,50) * 0.1) ExplosionSound:Play() end task.spawn(function() task.wait(2.78333333333) for i = 1,4 do AddExplosion() wait(math.random(0, 100) * 0.001) end end) local Tween = TweenService:Create(Jet, TweenInfo.new(5.566666666666666, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), { Position = Jet.go.WorldPosition }) Tween:Play() Tween.Completed:Wait() Jet:Destroy() end) end function Stomps:Heart(VictimChar) spawn(function() local Table = {} local Heart = game:GetObjects("rbxassetid://12868779018")[1] Heart.Parent = workspace.Ignored Heart.PartOne.Position = VictimChar.UpperTorso.Position + Vector3.new(0,7,0) Heart.PartOne.Anchored = true Heart.Part.Position = VictimChar.UpperTorso.Position Heart.Part.Anchored = true for i,v in pairs(Heart.PartOne:GetDescendants()) do if v:IsA("ParticleEmitter") then table.insert(Table, v) end end for i, v in pairs(Heart.Part:GetDescendants()) do if v:IsA("ParticleEmitter") then table.insert(Table, v); end; end; for i, v in pairs(Table) do if v:GetAttribute("EmitDelay") then task.delay(v:GetAttribute("EmitDelay"), function() v:Emit(v:GetAttribute("EmitCount")); end); else v:Emit(v:GetAttribute("EmitCount")); end; end; local Sound = Instance.new("Sound", Heart.PartOne) Sound.Volume = 1 Sound.SoundId = "rbxassetid://1840977366" Sound.PlayOnRemove = true Sound:Destroy() task.wait(0.35) for i,v in pairs(VictimChar:GetDescendants()) do if v:IsA("BasePart") then TweenService:Create(v, TweenInfo.new(0.5, Enum.EasingStyle.Quad), { Transparency = 1 }):Play() end end game.Debris:AddItem(Heart, 10) end) end function Stomps:UFO(VictimChar) spawn(function() local UFO = game:GetObjects("rbxassetid://12876678129")[1] UFO.Parent = workspace.Ignored local Sound = Instance.new("Sound", VictimChar.UpperTorso) Sound.SoundId = "rbxassetid://138207483" Sound:Play() game.Debris:AddItem(Sound, 5) local Effect = UFO.Effect Effect.CFrame = CFrame.new(VictimChar.UpperTorso.Position.X, VictimChar.UpperTorso.Position.Y + 35, VictimChar.UpperTorso.Position.Z) TweenService:Create(Effect, TweenInfo.new(0.5), { Transparency = 0 }):Play() game.Debris:AddItem(Effect, 5) task.wait(0.5) local Main = UFO.Main Main.CFrame = CFrame.new(VictimChar.UpperTorso.Position.X, VictimChar.UpperTorso.Position.Y - 1, VictimChar.UpperTorso.Position.Z) game.Debris:AddItem(Main, 4) TweenService:Create(Main, TweenInfo.new(4), { CFrame = CFrame.new(Main.Position.X, Main.Position.Y + 20, Main.Position.Z) }):Play() TweenService:Create(Effect, TweenInfo.new(4), { CFrame = CFrame.new(Effect.Position.X, Effect.Position.Y + 20, Effect.Position.Z) }):Play() for i,v in pairs(VictimChar:GetDescendants()) do if not (not v:IsA("BasePart")) or not (not v:IsA("MEshPart")) or v:IsA("Decal") then TweenService:Create(v, TweenInfo.new(4), { Transparency = 1 }):Play() end end task.delay(4, function() TweenService:Create(Effect, TweenInfo.new(4), { Transparency = 1 }):Play() end) end) end function Stomps:Glitch(VictimChar) spawn(function() local Glitch = game:GetObjects("rbxassetid://12886574483")[1] Glitch.Parent = workspace.Ignored Glitch.CFrame = VictimChar.UpperTorso.CFrame + Vector3.new(0, -0.5, 0) Glitch.Orientation = VictimChar.UpperTorso.Orientation for i,v in pairs(VictimChar:GetDescendants()) do if not (not v:IsA("BasePart")) or not (not v:IsA("MEshPart")) or v:IsA("Decal") then TweenService:Create(v, TweenInfo.new(4), { Transparency = 1 }):Play() end end game.Debris:AddItem(Glitch, 4.5) for i,v in pairs(Glitch:GetChildren()) do if v:IsA("ParticleEmitter") then TweenService:Create(v, TweenInfo.new(4), { Rate = 0 }):Play() end end local Sound = Instance.new("Sound", VictimChar.UpperTorso) Sound.SoundId = "rbxassetid://8880764455" Sound:Play() end) end function Stomps:CosmicSlash(VictimChar) spawn(function() local Tween = game:GetObjects("rbxassetid://12888729215")[1] local XSlash = game:GetObjects("rbxassetid://12888745636")[1] local Folder = Instance.new("Folder", workspace.Ignored) local sucess, err = pcall(function() for i,v in pairs(VictimChar:GetDescendants()) do if not (not v:IsA("BasePart")) or not (not v:IsA("MeshPart")) or v:IsA("Decal") then TweenService:Create(v, TweenInfo.new(4), { Transparency = 1 }):Play() end end local Part = Instance.new("Part") local HRP = VictimChar:FindFirstChild("HumanoidRootPart") Part.CFrame = CFrame.new(VictimChar.UpperTorso.CFrame.p) * CFrame.new(0,2.2,0) local Particles = XSlash.particles local Particles2 = XSlash.particles2 local Beams = XSlash.Beams local Main = XSlash.Main Main.CFrame = Part.CFrame * CFrame.new(0, -2.7, 0) Main.Parent = Folder game.Debris:AddItem(Main, 3) Sound:Play() game.Debris:AddItem(Sound, 3) Particles2.CFrame = Part.CFrame * CFrame.Angles(0, -2.3935096295999836, 0) Particles2.Parent = Folder game.Debris:AddItem(Particles2, 3) Particles.CFrame = Part.CFrame * CFrame.Angles(0, -0.8226958495125671, 0) Particles.Parent = Folder game.Debris:AddItem(Particles, 3) Main.Attachment.OUT3:Emit(6) Main.Attachment.OUT2:Emit(6) Main.Attachment.OUT:Emit(4) Main.Attachment.ParticleEmitter:Emit(2) TweenService:Create(Main.PointLight, TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0), { Brightness = 5 }):Play() wait(0.06) Main.Attachment.IN:Emit(4) wait(0.1) Main.Attachment2.ParticleEmitter:Emit(39) wait(0.28) Main.Attachment.OUTFX:Emit(4) Main.Attachment.OUTFX2:Emit(4) Main.Attachment2.ParticleEmitterOUT:Emit(39) for i,v in pairs(Particles:GetChildren()) do v:Emit(v:GetAttribute("EmitCount")) end for i,v in pairs(Particles2:GetChildren()) do v:Emit(v:GetAttribute("EmitCount")) end spawn(function() Tween.Parent = game.Lighting game.TweenService:Create(Tween, TweenInfo.new(0.2), { TintColor = Color3.fromRGB(172, 78, 255), Brightness = 0.5, Contrast = 1, Saturation = -1 }):Play(); wait(0.2); game.TweenService:Create(Tween, TweenInfo.new(0.3), { TintColor = Color3.fromRGB(255, 255, 255), Brightness = 0, Contrast = 0, Saturation = 0 }):Play(); game.Debris:AddItem(Tween, 0.3); end) local PrimartyPart = Beams.PrimaryPart spawn(function() PrimartyPart.CFrame = Part.CFrame * CFrame.new(0, -2.7, 0) Beams.Parent = Folder for i = 0, 1, 0.1 do Beams:FindFirstChild("Part1").BEAM.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part1").BEAM1.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part1").BEAM2.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part1").BEAM3.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part1").BEAM4.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part1").BEAM5.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part1").BEAM6.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part1").BEAM7.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part2").BEAM.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part2").BEAM1.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part2").BEAM2.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part2").BEAM3.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part2").BEAM4.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part2").BEAM5.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part2").BEAM6.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part2").BEAM7.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part3").BEAM.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part3").BEAM1.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part3").BEAM2.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part3").BEAM3.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part3").BEAM4.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part3").BEAM5.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part3").BEAM6.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part3").BEAM7.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part4").BEAM.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part4").BEAM1.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part4").BEAM2.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part4").BEAM3.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part4").BEAM4.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part4").BEAM5.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part4").BEAM6.Transparency = NumberSequence.new(i); Beams:FindFirstChild("Part4").BEAM7.Transparency = NumberSequence.new(i); wait(0.001); end end) wait(0.4) TweenService:Create(Main.PointLight, TweenInfo.new(1, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0), { Brightness = 0 }):Play(); end) if sucess then task.delay(25, function() Folder:Destroy() end) return end Folder:Destroy() Tween:Destroy() end) end end -- local Highlights = Instance.new("Folder") Highlights.Parent = game.CoreGui -- if not LPH_OBFUSCATED then LPH_JIT_MAX = function(...) return (...) end; LPH_NO_VIRTUALIZE = function(...) return (...) end; LPH_JIT = function(...) return (...) end; end -- for i,v in pairs(Lynx.Files.Folders) do makefolder(v) end -- for LuaName, Contents in pairs(Lynx.Files.Luas) do writefile("Lynx/Luas/" .. LuaName .. ".lua", Contents) end -- if not isfile("Lynx/Assets/Auto Prediction.txt") then writefile("Lynx/Assets/Auto Prediction.txt", "10 ping value\n20 ping value\n30 ping value\n40 ping value\n50 ping value\n60 ping value\n70 ping value\n80 ping value\n90 ping value\n100 ping value") end -- -- if not isfile("Lynx/Assets/Shit Talk.txt") then writefile("Lynx/Assets/Shit Talk.txt", "You're a dog nn\nGet Good Get Lynx\nLOL") end -- utility.ShitTalk.Custom = readfile("Lynx/Assets/Shit Talk.txt"):split("\n") -- local ui = {} -- local uis = game:GetService('UserInputService') local txtservice = game:GetService('TextService') local ts = game:GetService('TweenService') local rs = game:GetService('RunService') local hs = game:GetService('HttpService') local HttpService = game:GetService("HttpService") local ENABLE_TRACEBACK = false local Signal = {} do Signal.__index = Signal Signal.ClassName = "Signal" --[=[ Returns whether a class is a signal @param value any @return boolean ]=] function Signal.isSignal(value) return type(value) == "table" and getmetatable(value) == Signal end --[=[ Constructs a new signal. @return Signal ]=] function Signal.new() local self = setmetatable({}, Signal) self._bindableEvent = Instance.new("BindableEvent") self._argMap = {} self._source = ENABLE_TRACEBACK and debug.traceback() or "" self._bindableEvent.Event:Connect(function(key) self._argMap[key] = nil if (not self._bindableEvent) and (not next(self._argMap)) then self._argMap = nil end end) return self end --[=[ Fire the event with the given arguments. All handlers will be invoked. Handlers follow @param ... T -- Variable arguments to pass to handler ]=] function Signal:Fire(...) if not self._bindableEvent then warn(("Signal is already destroyed. %s"):format(self._source)) return end local args = table.pack(...) local key = HttpService:GenerateGUID(false) self._argMap[key] = args self._bindableEvent:Fire(key) end --[=[ Connect a new handler to the event. Returns a connection object that can be disconnected. @param handler (... T) -> () -- Function handler called when `:Fire(...)` is called @return RBXScriptConnection ]=] function Signal:Connect(handler) if not (type(handler) == "function") then error(("connect(%s)"):format(typeof(handler)), 2) end return self._bindableEvent.Event:Connect(function(key) local args = self._argMap[key] if args then handler(table.unpack(args, 1, args.n)) else error("Missing arg data, probably due to reentrance.") end end) end --[=[ Wait for fire to be called, and return the arguments it was given. @yields @return T ]=] function Signal:Wait() local key = self._bindableEvent.Event:Wait() local args = self._argMap[key] if args then return table.unpack(args, 1, args.n) else error("Missing arg data, probably due to reentrance.") return nil end end --[=[ Disconnects all connected events to the signal. Voids the signal as unusable. Sets the metatable to nil. ]=] function Signal:Destroy() if self._bindableEvent then self._bindableEvent:Destroy() self._bindableEvent = nil end setmetatable(self, nil) end end local Connections = {} local function Tween(frame,time,style,direction,props) local a = ts:Create(frame,TweenInfo.new(time,Enum.EasingStyle[style],Enum.EasingDirection[direction]),props) a:Play() return a end local function formatTable(t) local t = t or {} local new = {} for i,v in pairs(t) do new[tostring(i):lower()] = v end return new end local function create(className,options) local options = options or {} local inst = Instance.new(className) for i,v in pairs(options) do inst[i] = v end return inst end local function TabInsert(t,v) if not table.find(t,v) then table.insert(t,v) end end local function TabRemove(t,v) local a = table.find(t,v) if a then table.remove(t,a) end end local function Dragify(frame,frame2) local frame2 = frame2 or frame local dragging = false local dragInput local dragStart local startPos local function update(input) local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end frame2.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame2.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) uis.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) end local function SetupFrame(frame,options) local options = formatTable(options) local uiCorner,stroke,list,pad if options.corner then local cornerOptions = formatTable(options.corner) uiCorner = create('UICorner',{ Parent = frame, CornerRadius = cornerOptions.radius or UDim.new(), }) end if options.stroke then local strokeOptions = formatTable(options.stroke) stroke = create('UIStroke',{ Name = 'Stroke', Parent = frame, Thickness = 1, Transparency = 0, Color = strokeOptions.Color or Color3.fromRGB(40,40,40), -- ps it doesnt even change LineJoinMode = 'Round', ApplyStrokeMode = 'Contextual' }) end if options.list then local listOptions = formatTable(options.list) list = create('UIListLayout',{ Parent = frame, Padding = listOptions.pad or UDim.new(), FillDirection = listOptions.direction or 'Vertical', HorizontalAlignment = listOptions.horizontalalignment or 'Left', SortOrder = listOptions.order or 'LayoutOrder', VerticalAlignment = listOptions.verticalalignment or 'Top', }) end if options.pad then local padOptions = formatTable(options.pad) pad = create('UIPadding',{ Parent = frame, PaddingBottom = padOptions.bottom or UDim.new(), PaddingTop = padOptions.top or UDim.new(), PaddingRight = padOptions.right or UDim.new(), PaddingLeft = padOptions.left or UDim.new(), }) end return uiCorner,stroke,list,pad end local function CreateElement(element) -- aka create holder local holder = element._holder local elementHolder = create('Frame',{ Name = #holder:GetChildren()-(element._settingMenu and 0 or 3), Parent = holder, Size = UDim2.new(1,0,0,15), BackgroundTransparency = 1, BorderSizePixel = 0, ZIndex = holder.ZIndex+1, }) local holder = create('Frame',{ Name = 'Holder', Parent = elementHolder, BackgroundTransparency = 1, BorderSizePixel = 0, Position = element._holderPosition or UDim2.new(0,80,0,0), Size = element._holderSize or UDim2.new(0,100,1,0), ZIndex = elementHolder.ZIndex+1, }) SetupFrame(holder,{ List = {Pad = UDim.new(0,5),Direction = 'Horizontal',horizontalalignment = 'Right',verticalalignment = 'Top'}, }) return holder end local function CreateSlider(frame,options) local options = formatTable(options) local side = options.side or 'X' local offset = side == 'Y' and 36 or 0 local min = options.min or 0 local max = options.max or 100 local default = options.default or 0 local float = options.float or 1 local set = options.set or function() end local button = create('Frame',{ Parent = frame, Name = 'Button', BackgroundTransparency = 1, Position = UDim2.new(), Size = UDim2.new(1,0,1,0), ZIndex = frame.ZIndex+1, }) local function slide(input) local x = (input.Position[side]-frame.AbsolutePosition[side])/frame.AbsoluteSize[side] local value = ((max-min)*x)+min value = math.floor(value*(1/float))/(1/float) value = math.clamp(value,min,max) set(value) end set(default) local sliding = false button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = true slide(input) end end) button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = false slide(input) end end) uis.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and sliding then slide(input) end end) return button end local function CreateInput(textlabel,options) local textbox = create('TextBox',{ Parent = textlabel.Parent, ClearTextOnFocus = false, Font = textlabel.Font, FontFace = textlabel.FontFace, LineHeight = textlabel.LineHeight, Position = textlabel.Position, Size = textlabel.Size, Text = textlabel.Text, TextColor3 = textlabel.TextColor3, TextScaled = textlabel.TextScaled, TextSize = textlabel.TextSize, Name = textlabel.Name, ZIndex = textlabel.ZIndex, BackgroundTransparency = textlabel.BackgroundTransparency, TextTransparency = textlabel.TextTransparency, TextXAlignment = textlabel.TextXAlignment, BorderSizePixel = textlabel.BorderSizePixel, }) textlabel:Destroy() local options = formatTable(options) local callback = options.callback or function() end if options.focuses then textbox.Focused:Connect(function() callback(false,textbox.Text) end) textbox.FocusLost:Connect(function(a,b) callback(true,textbox.Text,a,b) end) else textbox:GetPropertyChangedSignal('Text'):Connect(function() callback(textbox.Text) end) end return textbox end -- im master of sphagetti code when it comes to uis LOL local Elements = {} Elements.__index = Elements local function CombineTables(t,t2) local t3 = {} for i,v in pairs(t) do t3[i] = v end for i,v in pairs(t2) do t3[i] = v end return setmetatable(t3,Elements) end local Segment = {} -- i have no clue how to call it srry Segment.__index = Segment function Segment:CreateSegment(options) local options = formatTable(options) local holder = CreateElement(self) local elementsClass = {_holder = holder,_window = self._window,_sector = self._sector,_tabSector = self._tabSector,_segment = true} if options.name then elementsClass._title = true create('TextLabel',{ Name = 'Title', Parent = holder.Parent, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = holder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) end return setmetatable(elementsClass,Elements) end function Elements:Colorpicker(options) local options = formatTable(options) local mainHolder = self._holder if not self._segment then mainHolder = CreateElement(self) end if not mainHolder.Parent:FindFirstChild('Title') then create('TextLabel',{ Name = 'Title', Parent = mainHolder.Parent, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) end local sector = self._tabSector local zindexadd = 300+300*#sector:GetChildren() local colorpickerIcon = create('ImageLabel',{ Parent = mainHolder, Name = (10-#mainHolder:GetChildren()), BackgroundTransparency = 1.000, BorderSizePixel = 0, Position = UDim2.new(0, 46, 0, 0), Size = UDim2.new(0, 15, 0, 15), ZIndex = mainHolder.ZIndex+1, Image = "http://www.roblox.com/asset/?id=14259665095", ImageColor3 = Color3.fromRGB(200, 200, 200), SliceScale = 4.000, }) local scroll = self._tabSector local scrollY = scroll.CanvasSize.Y.Offset local edgeX = scroll.AbsolutePosition.X+scroll.AbsoluteSize.X local sizex = 125 local offset = 15 local posX = ((colorpickerIcon.AbsolutePosition.X+offset >= edgeX or colorpickerIcon.AbsolutePosition.X+offset+sizex >= edgeX) and -(sizex+offset) or offset+(colorpickerIcon.AbsoluteSize.X/2)) local posY = math.clamp(colorpickerIcon.AbsolutePosition.Y-60,scroll.AbsolutePosition.Y,scroll.AbsolutePosition.Y+scrollY) local colorpickerFrame = create('Frame',{ Name = 'ColorpickerFrame', Parent = colorpickerIcon, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, posX, 0, posY-colorpickerIcon.AbsolutePosition.Y+2), Size = UDim2.new(0, sizex, 0, 135), ZIndex = zindexadd+1, Visible = false, }) SetupFrame(colorpickerFrame,{corner = {radius = UDim.new(0,4)},stroke = {}}) local button = create('TextButton',{ Parent = colorpickerIcon, Size = UDim2.new(1,0,1,0), TextTransparency = 1, BackgroundTransparency = 1, ZIndex = zindexadd+1 }) button.MouseButton1Down:Connect(function() colorpickerFrame.Visible = not colorpickerFrame.Visible end) scroll:GetPropertyChangedSignal('CanvasSize'):Connect(function() scrollY = scroll.CanvasSize.Y.Offset posY = math.clamp(colorpickerIcon.AbsolutePosition.Y-60,scroll.AbsolutePosition.Y,scroll.AbsolutePosition.Y+scrollY) colorpickerFrame.Position = UDim2.new(0, posX, 0, posY-colorpickerIcon.AbsolutePosition.Y+2) end) -- 5 fucking frames 3 textlables and 1 image i fucking hate colorpicker i made local mainColorpicker = create('Frame',{ Name = 'Colorpicker', Parent = colorpickerFrame, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BorderSizePixel = 0, Position = UDim2.new(0, 5, 0, 5), Size = UDim2.new(0, 100, 0, 90), ZIndex = zindexadd+2, }) SetupFrame(mainColorpicker,{Corner = {radius = UDim.new(0,4)}}) local image = create('ImageLabel',{ ZIndex = zindexadd+3, Parent = mainColorpicker, Image = 'rbxassetid://4155801252', Size = UDim2.new(1,0,1,0) }) local hue = create('Frame',{ Name = 'Hue', Parent = colorpickerFrame, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 5, 0, 100), Size = UDim2.new(0, 115, 0, 11), ZIndex = zindexadd+2, }) SetupFrame(hue,{corner = {radius = UDim.new(0,4)}}) create('UIGradient',{ Parent = hue, Enabled = true, Rotation = 0, Color = ColorSequence.new{ ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 0)), ColorSequenceKeypoint.new(0.17, Color3.fromRGB(255, 255, 0)), ColorSequenceKeypoint.new(0.33, Color3.fromRGB(0, 255, 0)), ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 255, 255)), ColorSequenceKeypoint.new(0.66, Color3.fromRGB(0, 0, 255)), ColorSequenceKeypoint.new(0.82, Color3.fromRGB(255, 0, 255)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 0)) } }) local alpha = create('ImageLabel',{ Name = 'Alpha', Parent = colorpickerFrame, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BorderSizePixel = 0, Position = UDim2.new(0, 110, 0, 5), Size = UDim2.new(0, 10, 0, 90), ZIndex = zindexadd+2, Image = "rbxassetid://14248403322", }) local alphaslideFrame = create('Frame',{ BackgroundTransparency = 1, Parent = alpha, Size = UDim2.new(1,0,1,-2) }) local alphapicker = create('Frame',{ Parent = alphaslideFrame, BorderSizePixel = 1, Size = UDim2.new(1,-2,0,2), Position = UDim2.new(0,1,0,0), BackgroundColor3 = Color3.fromRGB(255, 255, 255), ZIndex = zindexadd+4 }) local hueslideFrame = create('Frame',{ BackgroundTransparency = 1, Parent = hue, Size = UDim2.new(1,-2,1,0) }) local huepicker = create('Frame',{ Parent = hueslideFrame, BorderSizePixel = 1, Size = UDim2.new(0,2,1,-2), Position = UDim2.new(0,0,0,1), BackgroundColor3 = Color3.fromRGB(255, 255, 255), ZIndex = zindexadd+4 }) local colorpickerSlide = create('Frame',{ Parent = mainColorpicker, Name = 'SlideFrame', Size = UDim2.new(1,-3,1,-3), Position = UDim2.new(0,1,0,1), BackgroundTransparency = 1, }) local colorpointer = create('Frame',{ Parent = colorpickerSlide, Name = 'Picker', Size = UDim2.new(0,6,0,6), Position = UDim2.new(), BorderSizePixel = 1, BackgroundColor3 = Color3.fromRGB(255, 255, 255), ZIndex = zindexadd+4 }) local inputs = {} for i=1,3 do -- i am NOT doing 3 20 lines of code local mainFrame = create('Frame',{ Name = tostring(i), Parent = colorpickerFrame, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BackgroundTransparency = 0.500, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 6+(39*(i-1)), 0, 116), Size = UDim2.new(0, 35, 0, 14), ZIndex = zindexadd+2, }) local a = create('TextLabel',{ Name = tostring(i), Parent = mainFrame, BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 1, 0, 0), Size = UDim2.new(1, 0, 1, -1), ZIndex = zindexadd+3, Font = Enum.Font.Gotham, Text = "255", TextColor3 = Color3.fromRGB(180, 180, 180), TextSize = 11.000, TextWrapped = true, }) SetupFrame(mainFrame,{corner = {radius = UDim.new(0,4)},pad = {top = UDim.new(0,1),bottom = UDim.new(0,1),left = UDim.new(0,8),right = UDim.new(0,8)},stroke = {}}) table.insert(inputs,a) end local window = self._window local callback = options.callback or function() end local flag = options.flag; if not flag then window._undefinedFlags += 1; flag = 'undefined_'..window._undefinedFlags end local callback = options.callback or function() end local default = {Color = Color3.fromRGB(255, 255, 255),Alpha = 0} if options.default then if typeof(options.default) == 'Color3' then default.Color = options.default elseif typeof(options.default) == 'table' then default = options.default end end window.flags[flag] = {Color = default.Color,Alpha = default.Alpha or 0} local h,s,v = default.Color:ToHSV() local a = default.Alpha or 0 local function set(color,setpos) local newhue,newsat,newval = color:ToHSV() if setpos then h = newhue s = newsat v = newval alphapicker.Position = UDim2.new(0,1,a,0) huepicker.Position = UDim2.new(h,0,0,1) colorpointer.Position = UDim2.new(1-s,-3,1-v,-3) end image.ImageColor3 = Color3.fromHSV(h,1,1) alpha.BackgroundColor3 = Color3.fromHSV(h,1,1) inputs[1].Text = math.floor(color.R*255) inputs[2].Text = math.floor(color.G*255) inputs[3].Text = math.floor(color.B*255) window.flags[flag].Color = color window.flags[flag].Alpha = a callback(window.flags[flag]) end local function SetA(newa) a = newa alphapicker.Position = UDim2.new(0,1,a,0) set(Color3.fromHSV(h,1-s,1-v)) end local function SetH(value) h = value huepicker.Position = UDim2.new(h,0,0,1) set(Color3.fromHSV(h,1-s,1-v)) end local function SetS(value) s = value colorpointer.Position = UDim2.new(s,-3,v,-3) set(Color3.fromHSV(h,1-s,1-v)) end local function SetV(value) v = value colorpointer.Position = UDim2.new(s,-3,v,-3) set(Color3.fromHSV(h,1-s,1-v)) end CreateSlider(alphaslideFrame,{side = 'Y',min=0,max=1,float=0.01,default=0,set=SetA}) CreateSlider(hueslideFrame,{side = 'X',min=0,max=1,float=0.01,default=0,set=SetH}) CreateSlider(colorpickerSlide,{side = 'X',min=0,max=1,float=0.01,default=0,set=SetS}) CreateSlider(colorpickerSlide,{side = 'Y',min=0,max=1,float=0.01,default=0,set=SetV}) set(default.Color,true) local r,g,b local textbox;textbox = CreateInput(inputs[1],{focuses = true,callback = function(a,text,b,c) if not a then r = text else if tonumber(text) then set(Color3.fromRGB(text,inputs[2].Text,inputs[3].Text),true) else textbox.Text = r end end end}) inputs[1] = textbox local textbox;textbox = CreateInput(inputs[2],{focuses = true,callback = function(a,text,b,c) if not a then g = text else if tonumber(text) then set(Color3.fromRGB(inputs[1].Text,text,inputs[3].Text),true) else textbox.Text = g end end end}) inputs[2] = textbox local textbox;textbox = CreateInput(inputs[3],{focuses = true,callback = function(a,text,b,c) if not a then b = text else if tonumber(text) then set(Color3.fromRGB(inputs[1].Text,inputs[2].Text,text),true) else textbox.Text = b end end end}) inputs[3] = textbox local function SetValue(color) a = typeof(color) == 'table' and color.Alpha or 0 local color = typeof(color) == 'table' and color.Color or color set(color,true) end window._FlagsSet[flag] = SetValue local newmt = table.clone(self) newmt._holder = mainHolder newmt._segment = true setmetatable(newmt,Elements) return setmetatable({Set = SetValue},{__index = newmt}) end function Elements:Settings(options) local options = formatTable(options) local mainHolder = self._holder if not self._segment then mainHolder = CreateElement(self) end if not mainHolder.Parent:FindFirstChild('Title') then create('TextLabel',{ Name = 'Title', Parent = mainHolder.Parent, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) end local scroll = self._tabSector local edgeX = scroll.AbsolutePosition.X+scroll.AbsoluteSize.X local zindexadd = 200+#self._sector:GetChildren()*200 local settingIcon = create('ImageLabel',{ Parent = mainHolder, Name = (10-#mainHolder:GetChildren()), BackgroundTransparency = 1.000, BorderSizePixel = 0, Position = UDim2.new(0, 46, 0, 0), Size = UDim2.new(0, 15, 0, 15), ZIndex = mainHolder.ZIndex+1, Image = "http://www.roblox.com/asset/?id=14259672152", ImageColor3 = Color3.fromRGB(200, 200, 200), SliceScale = 4.000, }) local sizex = 150 local offset = 10 local posX = ((settingIcon.AbsolutePosition.X+offset >= edgeX or settingIcon.AbsolutePosition.X+offset+sizex >= edgeX) and -(sizex+offset) or offset+(settingIcon.AbsoluteSize.X/2)) local posY = math.clamp(settingIcon.AbsolutePosition.Y,scroll.AbsolutePosition.Y,scroll.AbsolutePosition.Y+scroll.AbsoluteSize.Y) local button = create('TextButton',{ Parent = settingIcon, Name = 'Button', Size = UDim2.new(1,0,1,0), BackgroundTransparency = 1, TextTransparency = 1, ZIndex = mainHolder.ZIndex+2, }) local settingFrame = create('Frame',{ Name = 'Setting', Parent = settingIcon, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderSizePixel = 0, Position = UDim2.new(0, posX, 0, posY-settingIcon.AbsolutePosition.Y+2), Size = UDim2.new(0, sizex, 0, 10), ZIndex = zindexadd, Visible = false, }) SetupFrame(settingFrame,{Corner = {radius = UDim.new(0, 4)},stroke = {}}) button.MouseButton1Down:Connect(function() settingFrame.Visible = not settingFrame.Visible end) local settingsHolder = create('Frame',{ Parent = settingFrame, BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(), Size = UDim2.new(1, 0, 1, 0), ZIndex = zindexadd+1, }) SetupFrame(settingsHolder, { list = {pad = UDim.new(0,5),directing = 'Vertical',horizontalalignment = 'Left',verticalalignment = 'Top'}, pad = {bottom = UDim.new(0,5),top = UDim.new(0,5),left = UDim.new(0,6), right = UDim.new(0,6)} } ) local list = settingsHolder.UIListLayout local function UpdatePos() local contentSize = list.AbsoluteContentSize.Y + 25 local posY = math.clamp(settingIcon.AbsolutePosition.Y+(-contentSize/2+7),scroll.AbsolutePosition.Y,scroll.AbsolutePosition.Y+scroll.AbsoluteSize.Y) settingFrame.Size = UDim2.new(0,sizex,0,contentSize) settingFrame.Position = UDim2.new(0, posX, 0, posY-settingIcon.AbsolutePosition.Y+2) end list:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(UpdatePos) scroll:GetPropertyChangedSignal('CanvasSize'):Connect(UpdatePos) return setmetatable( { _holder = settingsHolder, _window = self._window, _tabSector = self._tabSector, _sector = self._sector, _settingMenu = true, _holderSize = UDim2.new(1,-60,1,0), _holderPosition = UDim2.new(1,-80,0,0) }, {__index = Elements} ) end function Elements:Title(options) local options = formatTable(options) local oldMainholder = CreateElement(self) local mainHolder = oldMainholder.Parent oldMainholder:Destroy() local title = options.title or '' local description = options.description if description then mainHolder.Size = UDim2.new(1, 0, 0, 28) end SetupFrame(mainHolder,{ list = {Pad = UDim.new(0,4),direction = 'Vertical',horizontalalignment = 'Left',verticalalignment = 'Center'} }) create('TextLabel',{ Parent = mainHolder, Name = 'Title', LayoutOrder = 1, BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, description and 12 or 15), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left, Text = title }) if description then create('TextLabel',{ Parent = mainHolder, Name = 'Description', LayoutOrder = 2, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.Gotham, Text = description, TextColor3 = Color3.fromRGB(108, 108, 108), TextSize = 12.000, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, }) end end function Elements:Toggle(options) local options = formatTable(options) local mainHolder = self._holder if not self._segment then mainHolder = CreateElement(self) end if not mainHolder.Parent:FindFirstChild('Title') then create('TextLabel',{ Name = 'Title', Parent = mainHolder.Parent, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) end local toggle = create('Frame',{ Name = 'Toggle', LayoutOrder = (10-#mainHolder:GetChildren()), Parent = mainHolder, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BackgroundTransparency = 0.5, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 1, 0, 1), Size = UDim2.new(0, 33, 1, 0), ZIndex = mainHolder.ZIndex+2, }) SetupFrame(toggle,{ corner = {radius = UDim.new(1,0)}, pad = {bottom = UDim.new(0,1),top = UDim.new(0,1),right = UDim.new(0,1),left = UDim.new(0,1)}, stroke = {} }) local circle = create('Frame',{ Name = 'Circle', Parent = toggle, BackgroundColor3 = Color3.fromRGB(125, 125, 125), BorderSizePixel = 0, Position = UDim2.new(0, 1, 0, 0), Size = UDim2.new(0, 12, 1, 0), ZIndex = mainHolder.ZIndex+3, }) local btn = create('TextButton',{ Name = 'Callback Handler', Parent = toggle, BackgroundTransparency = 1, Text = '', BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = mainHolder.ZIndex+4, }) SetupFrame(circle,{corner = {radius = UDim.new(1,0)}}) local window = self._window local flag = options.flag; if not flag then window._undefinedFlags += 1; flag = 'undefined_'..window._undefinedFlags end local callback = options.callback or function() end window.flags[flag] = (options.default ~= nil) local function OnCallback() if window.flags[flag] then Tween(circle,0.25,'Quad','Out',{BackgroundColor3 = Color3.new(1, 1, 1),Position = UDim2.new(1, -13, 0,0)}) else Tween(circle,0.25,'Quad','Out',{BackgroundColor3 = Color3.fromRGB(125, 125, 125),Position = UDim2.new(0, 1,0,0)}) end --Tween(circle,0.25,'Quad','Out',{BackgroundColor3 = (window.flags[flag] and Color3.new(1, 1, 1) or Color3.fromRGB(125, 125, 125)),Position = UDim2.new(window.flags[flag] and 1 or 0, window.flags[flag] and -13 or 1,0,0)}) callback(window.flags[flag]) end local function Set(val) window.flags[flag] = val OnCallback() end Set(window.flags[flag]) local _ = toggle.AbsolutePosition -- abs position doesnt get updated until indexes lmao btn.MouseButton1Down:Connect(function() Set(not window.flags[flag]) end) window._FlagsSet[flag] = Set local newmt = table.clone(self) newmt._holder = mainHolder newmt._segment = true setmetatable(newmt,Elements) return setmetatable({Set = Set},{__index = newmt}) end function Elements:Input(options) local options = formatTable(options) local mainHolder = self._holder if not self._segment then mainHolder = CreateElement(self) end if not mainHolder.Parent:FindFirstChild('Title') then create('TextLabel',{ Name = 'Title', Parent = mainHolder.Parent, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) end local window = self._window local callback = options.callback or function() end local flag = options.flag; if not flag then window._undefinedFlags += 1; flag = 'undefined_'..window._undefinedFlags end local input = create('Frame',{ Name = 'Input', LayoutOrder = (10-#mainHolder:GetChildren()), Parent = mainHolder, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BackgroundTransparency = 0.5, BorderSizePixel = 0, Position = UDim2.new(0, 1, 0, 1), Size = UDim2.new(0, 100, 1, 0), ZIndex = mainHolder.ZIndex+2, }) SetupFrame(input,{pad = {Bottom = UDim.new(0,1),top = UDim.new(0,1),right = UDim.new(0,8),left = UDim.new(0,8)},corner = {radius = UDim.new(1,0)},stroke = {}}) local inputTextlabel = create('TextLabel',{ Parent = input, BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = mainHolder.ZIndex+3, Font = Enum.Font.Gotham, Text = "0", TextColor3 = Color3.fromRGB(255, 255, 255), TextScaled = true, TextSize = 14, TextWrapped = true, }) local function set(text) inputTextlabel.Text = text window.flags[flag] = text callback(text) end inputTextlabel = CreateInput(inputTextlabel,{focuses = options.focuses,callback = function(...) window.flags[flag] = inputTextlabel.Text callback(...) end,}) window._FlagsSet[flag] = set local newmt = table.clone(self) newmt._holder = mainHolder newmt._segment = true setmetatable(newmt,Elements) return setmetatable({Set = set},{__index = newmt}) end function Elements:Slider(options) local options = formatTable(options) local mainHolder = self._holder local window = self._window local flag = options.flag; if not flag then window._undefinedFlags += 1; flag = 'undefined_'..window._undefinedFlags end local callback = options.callback or function() end local min = options.min or 0 local max = options.max or 100 local default = options.default or min local float = options.float or 1 local showvalue = true if options.showvalue == false then showvalue = false end if not self._segment then mainHolder = CreateElement(self) end if not mainHolder.Parent:FindFirstChild('Title') then create('TextLabel',{ Name = 'Title', Parent = mainHolder.Parent, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) end local SlideHolder = create('Frame',{ Name = 'Slider', LayoutOrder = (10-#mainHolder:GetChildren()), Parent = mainHolder, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(0, 70+(showvalue and txtservice:GetTextSize(tostring(max),12,Enum.Font['GothamMedium'],Vector2.new(math.huge,math.huge)).X+5 or 0), 1, 0), ZIndex = mainHolder.ZIndex+2, }) SetupFrame(SlideHolder,{pad = {bottom = UDim.new(0,1),top = UDim.new(0,1),left = UDim.new(0,1),right = UDim.new(0,1)},corner = {radius = UDim.new(1,0)}}) local slider = create('Frame',{ Name = 'Slide', Parent = SlideHolder, BackgroundColor3 = Color3.fromRGB(40, 40, 40), BorderSizePixel = 0, Position = UDim2.new(1, -65, 0.5, -1), Size = UDim2.new(0, 60, 0, 2), ZIndex = mainHolder.ZIndex+3 }) local circle = create('Frame',{ Parent = slider, Name = 'Circle', BackgroundColor3 = Color3.fromRGB(255, 255, 255), BorderSizePixel = 0, Position = UDim2.new(0, -5, 0, 6), Size = UDim2.new(0, 12, 0, 12), ZIndex = mainHolder.ZIndex+3 }) SetupFrame(circle,{corner = {radius = UDim.new(1,0)}}) SetupFrame(slider,{corner = {radius = UDim.new(1,0)}}) local textLabel; if showvalue then textLabel = create('TextLabel',{ Parent = SlideHolder, Name = 'Counter', BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(0, txtservice:GetTextSize(tostring(max),12,Enum.Font['GothamMedium'],Vector2.new(math.huge,math.huge)).X, 1, 0), ZIndex = SlideHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = 'Right' }) end local function set(newval) newval = math.clamp(newval,min,max) circle.Position = UDim2.new((newval-min)/(max-min),-3,0,-6) if textLabel then textLabel.Text = tostring(newval) end window.flags[flag] = newval callback(newval) end local a = CreateSlider(slider,{min = min,max = max,default = default,float = float,side = 'X',set = set}) a.Position = UDim2.new(0,0,0,-6) a.Size = UDim2.new(0,60,0,12) set(default) window._FlagsSet[flag] = set local newmt = table.clone(self) newmt._holder = mainHolder newmt._segment = true setmetatable(newmt,Elements) return setmetatable({ Set = set, },{__index = newmt}) end function Elements:Dropdown(options) local options = formatTable(options) local mainHolder = self._holder if not self._segment then mainHolder = CreateElement(self) end if not mainHolder.Parent:FindFirstChild('Title') then create('TextLabel',{ Name = 'Title', Parent = mainHolder.Parent, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) end local choices = options.options or {} local current = options.default or {} local min = options.min or 0 local max = options.max or #choices if min>max then error('kill yourself (min is bigger than max)',2) end local currentChild = #self._sector:GetChildren() local zindexadd = 100 local dropdownHolder = create('Frame',{ Parent = mainHolder, Name = 'Dropdown', LayoutOrder = (10-#mainHolder:GetChildren()), BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 1, 0, 1), Size = UDim2.new(0, 90, 1, 0), ZIndex = zindexadd, }) SetupFrame(dropdownHolder,{Corner = {radius = UDim.new(0,2)},stroke = {}}) local btn = create('TextButton',{ Parent = dropdownHolder, Name = 'Handler', BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = zindexadd+1, Text = '', TextTransparency = 1, }) local choiceText = create('TextLabel',{ Parent = dropdownHolder, Name = 'Choice', BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 5, 0, 2), Size = UDim2.new(1, -20, 0, 9), ZIndex = zindexadd+1, Font = Enum.Font.Gotham, Text = '', TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 11, TextXAlignment = Enum.TextXAlignment.Left }) local arrow = create('ImageLabel',{ Parent = dropdownHolder, Name = 'Arrow', BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(1, -12, 0, 5), Size = UDim2.new(0, 7, 0, 4), ZIndex = dropdownHolder.ZIndex+1, Image = "http://www.roblox.com/asset/?id=14259608577", ImageColor3 = Color3.fromRGB(200, 200, 200), }) dropdownHolder:GetPropertyChangedSignal('ZIndex'):Connect(function() arrow.ZIndex = dropdownHolder.ZIndex+1 end) local optionsHolder = create('ScrollingFrame',{ Parent = dropdownHolder, Name = 'OptionsHolder', Active = true, BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 0, 0, 17), Size = UDim2.new(1, 0, 0, 73), Visible = false, ZIndex = zindexadd+1, CanvasSize = UDim2.new(0, 0, 0, 0), AutomaticCanvasSize = 'Y', ScrollBarImageTransparency = 1, }) SetupFrame(optionsHolder,{list = {pad = UDim.new(0,5),direction = 'Vertical',horizontalalignment = 'Left',verticalalignment = 'Top'},pad = {Top = UDim.new(0,1),Bottom = UDim.new(0,1),right = UDim.new(0,4),left = UDim.new(0,4)}}) local window = self._window local flag = options.flag; if not flag then window._undefinedFlags += 1; flag = 'undefined_'..window._undefinedFlags end local callback = options.callback or function() end local function Update() local str = '' if #current == 0 then str = 'None' choiceText.TextColor3 = Color3.fromRGB(125,125,125) else choiceText.TextColor3 = Color3.fromRGB(255,255,255) for i,v in pairs(current) do local len = txtservice:GetTextSize(v,choiceText.TextSize,Enum.Font.Gotham,choiceText.AbsoluteSize).X if txtservice:GetTextSize(str,choiceText.TextSize,Enum.Font.Gotham,choiceText.AbsoluteSize).X + len >= choiceText.AbsoluteSize.X-7 then str = str..'...' break end str = str..tostring(v)..(#current ~= 1 and (i==#current and '' or ', ') or '') end end choiceText.Text = str window.flags[flag] = (max == 1 and current[1] or current) callback(window.flags[flag]) end Update() local ChosenFrames = {} local FramesChosen = {} local function OnClick(frame) -- last time it took like a day or something if not FramesChosen[frame] then if #ChosenFrames == max then -- causes double update + stack overflow otherwise local frame = ChosenFrames[1] Tween(frame,0.25,'Quad','In',{TextColor3 = Color3.fromRGB(125, 125, 125)}) TabRemove(current,frame.Text) TabRemove(ChosenFrames,frame) FramesChosen[frame] = false end Tween(frame,0.25,'Quad','In',{TextColor3 = Color3.fromRGB(255, 255, 255)}) TabInsert(current,frame.Text) TabInsert(ChosenFrames,frame) FramesChosen[frame] = true else -- trying to remove if #current <= min then return end Tween(frame,0.25,'Quad','In',{TextColor3 = Color3.fromRGB(125, 125, 125)}) TabRemove(current,frame.Text) TabRemove(ChosenFrames,frame) FramesChosen[frame] = false end Update() end local indx = 1 local choicesholders = {} for i,v in pairs(choices) do local frame = create('TextLabel',{ Parent = optionsHolder, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 1, 0, 1), Size = UDim2.new(1, -5, 0, 12), ZIndex = zindexadd+11, Font = Enum.Font.Gotham, Text = tostring(v), TextColor3 = Color3.fromRGB(125, 125, 125), TextSize = 11, TextXAlignment = Enum.TextXAlignment.Left, }) choicesholders[tostring(v)] = frame local button = create('TextButton',{ Parent = frame, BackgroundTransparency = 1, TextTransparency = 1, Size = UDim2.new(1,0,1,0), ZIndex = frame.ZIndex+1, }) frame.MouseEnter:Connect(function() if FramesChosen[frame] then return end Tween(frame,0.25,'Quad','In',{TextColor3 = Color3.fromRGB(200, 200, 200)}) end) frame.MouseLeave:Connect(function() if FramesChosen[frame] then return end Tween(frame,0.25,'Quad','In',{TextColor3 = Color3.fromRGB(125, 125, 125)}) end) button.MouseButton1Down:Connect(function() OnClick(frame) end) optionsHolder:GetPropertyChangedSignal('ZIndex'):Connect(function() frame.ZIndex = optionsHolder.ZIndex + 1 button.ZIndex = frame.ZIndex + 1 end) if min >= indx then OnClick(frame) end indx += 1 end optionsHolder.Size = UDim2.new(1,-5,0,0) self._sector.ChildAdded:Connect(function() zindexadd = 100+(#self._sector:GetChildren()-currentChild)*100 dropdownHolder.ZIndex = zindexadd optionsHolder.ZIndex = zindexadd+1 choiceText.ZIndex = zindexadd+1 btn.ZIndex = zindexadd+1 end) btn.MouseButton1Down:Connect(function() optionsHolder.Visible = not optionsHolder.Visible local time = optionsHolder.Visible and 0.4 or 0.3 local size = optionsHolder.Visible and UDim2.new(0,90,1,math.clamp(optionsHolder.AbsoluteCanvasSize.Y,20,100)+5) or UDim2.new(0, 90, 1, 0) local size2 =optionsHolder.Visible and UDim2.new(1,0,0,math.clamp(optionsHolder.AbsoluteCanvasSize.Y,20,100)+5) or UDim2.new(1,0,0,0) Tween(dropdownHolder,time,'Quad','InOut',{Size = size}) Tween(optionsHolder,time,'Quad','InOut',{Size = size2}) end) local function SetValue(newoptions) if typeof(newoptions) == 'table' then for i,v in pairs(newoptions) do if not choices[i] then newoptions[i] = nil end end else newoptions = {newoptions} end current = newoptions for i,v in pairs(choicesholders) do local a = table.find(current,i) v.TextColor3 = a and Color3.fromRGB(255,255,255) or Color3.fromRGB(125, 125, 125) FramesChosen[v] = a ~= nil local b = table.find(ChosenFrames,v) if b then table.remove(ChosenFrames,b) end end Update() end window._FlagsSet[flag] = SetValue local newmt = table.clone(self) newmt._holder = mainHolder newmt._segment = true setmetatable(newmt,Elements) return setmetatable({Set = SetValue},{__index = newmt}) end function Elements:Label(options) local options = formatTable(options) local mainHolder = CreateElement(self) create('TextLabel',{ Name = 'Title', Parent = mainHolder.Parent, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) mainHolder:Destroy() end function Elements:Button(options) local options = formatTable(options) local mainHolder = self._holder if not self._segment then mainHolder = CreateElement(self) end local callback = options.callback or function() end mainHolder.Position = UDim2.new(0,1,0,-1) mainHolder.Size = UDim2.new(0,180,1,2) local button = create('Frame',{ Name = 'Button', LayoutOrder = 0, Parent = mainHolder, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderSizePixel = 0, Position = UDim2.new(0, 1, 0, 1), Size = UDim2.new(1, 0, 1, 0), ZIndex = mainHolder.ZIndex+2, }) SetupFrame(button,{corner = {radius = UDim.new(0,2)},stroke = {}}) create('TextLabel',{ Parent = button, Name = 'Label', BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 3, 0, 1), Size = UDim2.new(1, 0, 1, -3), ZIndex = mainHolder.ZIndex+3, Font = Enum.Font.Gotham, Text = options.name or '', TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 12.000, }) local btn = create('TextButton', { Parent = button, Name = 'Handler', BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = mainHolder.ZIndex + 4, Text = '', }) btn.MouseButton1Down:Connect(callback) end local keys = { -- took mostly from vozoid, not doing allat [Enum.KeyCode.LeftShift] = 'L-SHIFT', [Enum.KeyCode.RightShift] = 'R-SHIFT', [Enum.KeyCode.One] = '1', [Enum.KeyCode.Two] = '2', [Enum.KeyCode.Three] = '3', [Enum.KeyCode.Four] = '4', [Enum.KeyCode.Five] = '5', [Enum.KeyCode.Six] = '6', [Enum.KeyCode.Seven] = '7', [Enum.KeyCode.Eight] = '8', [Enum.KeyCode.Nine] = '9', [Enum.KeyCode.Zero] = '0', [Enum.KeyCode.LeftControl] = 'L-CTRL', [Enum.KeyCode.RightControl] = 'R-CTRL', [Enum.KeyCode.RightAlt] = 'R-ALT', [Enum.KeyCode.LeftAlt] = 'L-ALT', [Enum.KeyCode.CapsLock] = 'CAPSLOCK', [Enum.KeyCode.KeypadOne] = 'NUM-1', [Enum.KeyCode.KeypadTwo] = 'NUM-2', [Enum.KeyCode.KeypadThree] = 'NUM-3', [Enum.KeyCode.KeypadFour] = 'NUM-4', [Enum.KeyCode.KeypadFive] = 'NUM-5', [Enum.KeyCode.KeypadSix] = 'NUM-6', [Enum.KeyCode.KeypadSeven] = 'NUM-7', [Enum.KeyCode.KeypadEight] = 'NUM-8', [Enum.KeyCode.KeypadNine] = 'NUM-9', [Enum.KeyCode.KeypadZero] = 'NUM-0', [Enum.KeyCode.Minus] = "-", [Enum.KeyCode.Equals] = "=", [Enum.KeyCode.Tilde] = "~", [Enum.KeyCode.LeftBracket] = "[", [Enum.KeyCode.RightBracket] = "]", [Enum.KeyCode.RightParenthesis] = ")", [Enum.KeyCode.LeftParenthesis] = "(", [Enum.KeyCode.Semicolon] = ",", [Enum.KeyCode.Quote] = "'", [Enum.KeyCode.BackSlash] = "\\", [Enum.KeyCode.Comma] = ",", [Enum.KeyCode.Period] = ".", [Enum.KeyCode.Slash] = "/", [Enum.KeyCode.Asterisk] = "*", [Enum.KeyCode.Plus] = "+", [Enum.KeyCode.Period] = ".", [Enum.KeyCode.Backquote] = "`", [Enum.UserInputType.MouseButton1] = "MOUSE-1", [Enum.UserInputType.MouseButton2] = "MOUSE-2", [Enum.UserInputType.MouseButton3] = "MOUSE-3" } local function GetEnum(EnumList, EnumChild) local s,result = pcall(function() return EnumList[EnumChild] end) if not s then return end return result end local function GetKeyCode(name) for i,v in pairs(keys) do if v == name then return i end end return GetEnum(Enum.KeyCode,name) or GetEnum(Enum.UserInputType,name) or name end function Elements:Keybind(options) local options = formatTable(options) local mainHolder = CreateElement(self) local window = self._window local callback = options.callback or function() end mainHolder.Size += UDim2.new(0,0,0,1) create('TextLabel',{ Name = 'Title', Parent = mainHolder.Parent, BackgroundTransparency = 1.000, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 12), ZIndex = mainHolder.ZIndex+1, Font = Enum.Font.GothamMedium, TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 12.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.name or '' }) local keybindHolder = create("Frame",{ Name = 'KeybindHolder', Parent = mainHolder, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BackgroundTransparency = 0.5, BorderSizePixel = 0, Size = UDim2.new(0, 75, 1, 0), ZIndex = mainHolder.ZIndex+2, }) local btn = create('TextButton',{ Name = 'Handler', Parent = keybindHolder, BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 10, 1, 0), Position = UDim2.new(0,-5,0,0), ZIndex = mainHolder.ZIndex+5, Text = '' }) SetupFrame(keybindHolder, { corner = {radius = UDim.new(0,2)}, pad = {bottom = UDim.new(0,1),top = UDim.new(0,1),Left = UDim.new(0,8),right = UDim.new(0,8)}, stroke = {} } ) local keyText = create('TextLabel',{ Parent = keybindHolder, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = mainHolder.ZIndex+3, Font = Enum.Font.Gotham, Text = "NONE", TextColor3 = Color3.fromRGB(125, 125, 125), TextSize = 12, TextWrapped = false, }) ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ local Update local flag = options.flag; if not flag then window._undefinedFlags += 1; flag = 'undefined_'..window._undefinedFlags end window.flags[flag] = { Active = options.active, Type = options.Type or 1, Binding = false, } -- 1 toggle 2 hold local typechoser = create('Frame',{ Parent = keybindHolder, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BackgroundTransparency = 0, BorderSizePixel = 0, Position = UDim2.new(0.5,0,0.5,0), Size = UDim2.new(), ZIndex = mainHolder.ZIndex+5, Visible = false, }) SetupFrame(typechoser,{stroke = {},corner = {radius = UDim.new(0,2)}}) local button1 = create('TextButton',{ Parent = typechoser, BackgroundColor3 = Color3.fromRGB(125, 125, 125), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0.5, 0), Size = UDim2.new(1, 0, 0.5, 0), ZIndex = mainHolder.ZIndex+6, Font = Enum.Font.SourceSans, Text = "TOGGLE", TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14, }) local button2 = create('TextButton',{ Parent = typechoser, BackgroundColor3 = Color3.fromRGB(125, 125, 125), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0, 0), Size = UDim2.new(1, 0, 0.5, 0), ZIndex = mainHolder.ZIndex+6, Font = Enum.Font.SourceSans, Text = "HOLD", TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14, }) local scroll = self._tabSector local scrollY = scroll.AbsoluteCanvasSize.Y local edgeX = scroll.AbsolutePosition.X+scroll.AbsoluteSize.X local sizex = 50 local offset = 15 local reverse = (keybindHolder.AbsolutePosition.X+keybindHolder.AbsoluteSize.X+offset >= edgeX or keybindHolder.AbsolutePosition.X+keybindHolder.AbsoluteSize.X+offset+sizex >= edgeX) local function UpdateVisibility(set) if set == false or typechoser.Visible then Tween(button1,0.5,'Quad','Out',{TextTransparency = 1}) Tween(button2,0.5,'Quad','Out',{TextTransparency = 1}) Tween(typechoser,0.5,'Quad','Out',{Position = UDim2.new(0.5,0,0.5,0),Size = UDim2.new()}).Completed:Wait() typechoser.Visible = false else local posY = math.clamp(keybindHolder.AbsolutePosition.Y-8,scroll.AbsolutePosition.Y,scroll.AbsolutePosition.Y+scrollY) typechoser.Visible = true Tween(button1,0.5,'Quad','Out',{TextTransparency = 0}) Tween(button2,0.5,'Quad','Out',{TextTransparency = 0}) Tween(typechoser,0.5,'Quad','Out',{Position = (reverse and UDim2.new(0,-65, 0, -8) or UDim2.new(1,15,0,-8)),Size = UDim2.new(0, 50, 0, 30)}).Completed:Wait() end end btn.MouseButton2Down:Connect(function() UpdateVisibility() end) button1.MouseButton1Down:Connect(function() window.flags[flag].Type = 1 Update() UpdateVisibility(false) end) button2.MouseButton1Down:Connect(function() window.flags[flag].Type = 2 Update() UpdateVisibility(false) end) button1.MouseEnter:Connect(function() if window.flags[flag].Type ~= 1 then Tween(button1,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(200,200,200)}) end end) button2.MouseEnter:Connect(function() if window.flags[flag].Type ~= 2 then Tween(button2,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(200,200,200)}) end end) button1.MouseLeave:Connect(function() if window.flags[flag].Type ~= 1 then Tween(button1,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(125,125,125)}) end end) button2.MouseLeave:Connect(function() if window.flags[flag].Type ~= 2 then Tween(button2,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(125,125,125)}) end end) local key local function setkey(newkey) local keyName = keys[newkey] or tostring(newkey):match("Enum%.%a+%.(%a+)") or newkey local color = (keyName == 'NONE' or keyName == '...') and Color3.fromRGB(125, 125, 125) or Color3.fromRGB(255, 255, 255) Tween(keyText,0.1,'Quad','In',{TextColor3 = color}) keyText.Text = keyName keybindHolder.Size = UDim2.new(0,keyText.TextBounds.X+10,1,0) key = GetKeyCode(keyName) window.flags[flag]['Key'] = keyName end setkey('NONE') local defaultKey = options.key if defaultKey then if typeof(defaultKey) == 'EnumItem' then setkey(defaultKey) else setkey(Enum.KeyCode[defaultKey] or Enum.UserInputType.MouseButton1) end end Update = function() local val = window.flags[flag] if val.Type == 1 then Tween(button1,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(255,255,255)}) Tween(button2,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(125,125,125)}) else Tween(button1,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(125,125,125)}) Tween(button2,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(255,255,255)}) end callback(val) end Update() local bindingSignal btn.MouseButton1Click:Connect(function() window.flags[flag].Binding = true setkey('...') bindingSignal = uis.InputBegan:Connect(function(input,a) --if a then return end if input.KeyCode == Enum.KeyCode.Backspace then setkey('NONE') elseif input.KeyCode == Enum.KeyCode.Unknown then setkey(input.UserInputType) else setkey(input.KeyCode) end window.flags[flag].Binding = false bindingSignal:Disconnect() Update() end) end) Connections[math.random()] = uis.InputBegan:Connect(function(input,a) --if a then return end if key == input.KeyCode or key == input.UserInputType then if window.flags[flag].Type == 1 then window.flags[flag].Active = not window.flags[flag].Active else window.flags[flag].Active = true end Update() end end) Connections[math.random()] = uis.InputEnded:Connect(function(input,a) --if a then return end if key == input.KeyCode or key == input.UserInputType then if window.flags[flag].Type == 2 then window.flags[flag].Active = false Update() end end end) ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------ local function SetValue(value) assert(typeof(value) == 'table') local value = formatTable(value) window.flags[flag].Binding = false window.flags[flag].Active = value.active window.flags[flag].Type = value.type or window.flags[flag].Type setkey(GetKeyCode(value.key or 'NONE')) end window._FlagsSet[flag] = SetValue local newmt = table.clone(self) newmt._holder = mainHolder newmt._segment = true setmetatable(newmt,Elements) return setmetatable({Set = SetValue},{__index = newmt}) end function SetupSector(window,tab) SetupFrame(tab,{ list = {pad = UDim.new(0,14),direction = 'Horizontal',horizontalalignment = 'Left',verticalalignment = 'Top'}, pad = {top = UDim.new(0,1), left = UDim.new(0, 1),right = UDim.new(0,3)} }) local rightRow = create('Frame',{ Name = 'Row 1', Parent = tab, BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(0.5, -7, 1, 0), }) local leftRow = create('Frame',{ Name = 'Row 2', Parent = tab, BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(0.5,-7,1,0) }) local _, _, rightList = SetupFrame(rightRow,{ list = {pad = UDim.new(0,14),verticalalignment = 'Top',direction = 'Vertical'} }) local _, _, leftList = SetupFrame(leftRow,{ list = {pad = UDim.new(0,14),verticalalignment = 'Top',direction = 'Vertical'} }) local function handleCanvas() task.wait() tab.CanvasSize = UDim2.new(0, 0, 0, math.max(leftList.AbsoluteContentSize.Y, rightList.AbsoluteContentSize.Y) + tab.Parent.UIPadding.PaddingTop.Offset + tab.Parent.UIPadding.PaddingBottom.Offset) end rightList:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(handleCanvas) leftList:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(handleCanvas) local SectionsHandler = {} function SectionsHandler:Sector(options) local options = formatTable(options) local row = options.side == 1 and rightRow or leftRow local section = create('Frame',{ Parent = row, ZIndex = 2, BackgroundColor3 = Color3.fromRGB(30,30,30), BackgroundTransparency = 0.5, Size = UDim2.new(), Name = 'Sector' }) SetupFrame(section,{ list = {pad = UDim.new(0,12),direction = 'Vertical',horizontalalignment = 'Left',verticalalignment = 'Top'}, corner = {radius = UDim.new(0,4)}, pad = {Bottom = UDim.new(0,16),top = UDim.new(0,16),right = UDim.new(0,16),left = UDim.new(0,16)}, stroke = {} }) local list = section.UIListLayout list:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(function(newval) local contentSize = list.AbsoluteContentSize.Y + 32 section.Size = UDim2.new(1,0,0,contentSize) handleCanvas() end) return setmetatable( { _holder = section, _window = window, _side = options.side, _tabSector = tab, _sector = section, _holderSize = UDim2.new(0,100,1,0), _holderPosition = UDim2.new(0,80,0,0) }, {__index = function(a,b) return Segment[b] or Elements[b] end} ) end return SectionsHandler end local Tabs = {} Tabs.__index = Tabs function Tabs.normal(tabholder,window) local tab = create('ScrollingFrame',{ Parent = tabholder, Name = 'Sector', LayoutOrder = #window._tabs+1, Size = UDim2.new(1, 0, 1, 0), BackgroundTransparency = 1, BorderSizePixel = 0, BottomImage = "", CanvasSize = UDim2.new(0, 0, 1, 0), ScrollBarImageColor3 = Color3.fromRGB(50, 50, 50), ScrollBarThickness = 1, TopImage = "", Active = true, ZIndex = 3, Visible = false }) return tab,SetupSector(window,tab) end local skins = {} skins.__index = skins function skins.new(options,window,tab) local options = formatTable(options) local self = setmetatable( { _window = window, _CurrentChoices = {}, }, skins ) local flag = options.flag; if not flag then window._undefinedFlags += 1; flag = 'undefined_'..window._undefinedFlags end window.flags[flag] = {choices = {},options = {}} self._flag = flag tab.Visible = false local background = create('Frame',{ Parent = tab, Name = 'Background', BackgroundColor3 = Color3.fromRGB(20, 20, 20), BackgroundTransparency = 0.500, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = 2, }) SetupFrame(background,{ corner = {radius = UDim.new(0,4)},stroke = {} }) local addframe = create('Frame',{ Parent = tab, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = 2, Visible = false, }) local content = create('ScrollingFrame',{ Name = 'Content', Parent = tab, Active = true, BackgroundColor3 = Color3.fromRGB(20, 20, 20), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), Visible = true, ZIndex = 2, BottomImage = "", CanvasSize = UDim2.new(0, 0, 0, 0), ScrollBarThickness = 1, TopImage = "", }) self._ChoicesHolder = content do create('UIGridLayout',{ Parent = content, CellPadding = UDim2.new(0,4,0,4), CellSize = UDim2.new(0,80,0,85), FillDirection = 'Horizontal', SortOrder = 'LayoutOrder' }) SetupFrame(content,{pad = {top = UDim.new(0,14),bottom = UDim.new(0,14),left = UDim.new(0,12),right = UDim.new(0,11)}}) local addbutton = create('Frame',{ Parent = content, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, LayoutOrder = 1, Size = UDim2.new(0, 100, 0, 100), ZIndex = 3, }) SetupFrame(addbutton,{corner = {radius = UDim.new(0,4)},pad = {top = UDim.new(0,3),bottom = UDim.new(0,3),left = UDim.new(0,3),right = UDim.new(0,3)},stroke = {}}) for i=0,1 do -- best for loop create('Frame',{ Parent = addbutton, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0.5, -5, 0.5, -20), Rotation = i*90, Size = UDim2.new(0, 10, 0, 40), ZIndex = 4, }) end create('TextButton',{ Parent = addbutton, BackgroundTransparency = 1, TextTransparency = 1, ZIndex = addbutton.ZIndex + 1, Size = UDim2.new(1,0,1,0), }).MouseButton1Down:Connect(function() content.Visible = not content.Visible addframe.Visible = not addframe.Visible end) end do local options = create('ScrollingFrame',{ Name = 'Options', Parent = addframe, Active = true, BackgroundColor3 = Color3.fromRGB(50, 50, 50), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0, 30), Size = UDim2.new(1, -5, 1, -30), ZIndex = 3, CanvasSize = UDim2.new(0, 0, 0, 0), ScrollBarThickness = 1, }) SetupFrame(options,{list = {pad = UDim.new(0,5),horizontalalignment = 'Left',direction = 'Vertical',SortOrder = 'Name',Verticalalignment = 'Top'},pad = {bottom = UDim.new(0,10),top = UDim.new(0,10),right = UDim.new(0,15),left = UDim.new(0,15)}}) self._OptionsHolder = options local menu = create('Frame',{ Parent = addframe, Name = 'Menu', BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 30), ZIndex = 3, }) SetupFrame(menu,{ corner = {radius = UDim.new(0,4)}, list = {pad = UDim.new(0,6),direction = 'Horizontal',order = 'LayoutOrder',HorizontalAlignment = 'Left',verticalalignment = 'Top'}, pad = {top = UDim.new(0,5),bottom = UDim.new(0,5),left = UDim.new(0,5),right = UDim.new(0,5)}, stroke = {} }) local add = create('Frame',{ Parent = menu, Name = 'Add', BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, LayoutOrder = 2, Size = UDim2.new(0, 140, 1, 0), ZIndex = 4, }) local back = create('Frame',{ Parent = menu, Name = 'Back', BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, LayoutOrder = 1, Size = UDim2.new(0, 60, 1, 0), ZIndex = 4, }) local search = create('Frame',{ Parent = menu, Name = 'Search', BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, LayoutOrder = 3, Size = UDim2.new(0, 200, 1, 0), ZIndex = 4, }) SetupFrame(add,{corner = {radius = UDim.new(0,2)},stroke = {}}) SetupFrame(back,{corner = {radius = UDim.new(0,2)},stroke = {}}) SetupFrame(search,{corner = {radius = UDim.new(0,2)},stroke = {}}) create('TextButton',{ Parent = back, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0, 1), Size = UDim2.new(1, 0, 1, 0), ZIndex = 4, Font = Enum.Font.GothamMedium, Text = "Back", TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14.000, }).MouseButton1Down:Connect(function() content.Visible = true addframe.Visible = false end) create('TextButton',{ Parent = add, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0, 3), TextScaled = true, TextWrapped = true, Size = UDim2.new(1, 0, 1, -5), ZIndex = 4, Font = Enum.Font.GothamMedium, Text = "Add Selected (0)", TextColor3 = Color3.fromRGB(125, 125, 125), TextSize = 14.000, }).MouseButton1Down:Connect(function() return self:_HandleChoices() end) local searchbox = create('TextBox',{ Parent = search, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 5, 0, 3), Size = UDim2.new(1, -5, 1, -5), TextScaled = true, ZIndex = 5, Font = Enum.Font.GothamMedium, Text = "Search", TextColor3 = Color3.fromRGB(125, 125, 125), TextSize = 14.000, TextXAlignment = Enum.TextXAlignment.Left, }) local isEmpty = true local ignore = false searchbox.Focused:Connect(function() searchbox.TextColor3 = Color3.fromRGB(255, 255, 255) if isEmpty then searchbox.Text = '' end end) searchbox.FocusLost:Connect(function() searchbox.ClearTextOnFocus = searchbox.Text == '' isEmpty = searchbox.Text == '' if searchbox.Text == '' then searchbox.TextColor3 = Color3.fromRGB(125,125,125) ignore = true searchbox.Text = 'Search' end end) searchbox:GetPropertyChangedSignal('Text'):Connect(function() if ignore then ignore = false isEmpty = true else isEmpty = searchbox.Text == '' end for i,v in pairs(options:GetChildren()) do if not v:IsA('Frame') then continue end if v.Name:match(searchbox.Text) or isEmpty then v.Visible = true else v.Visible = false end end end) end self:AddOptions(options.options or {}) self:AddChoices(options.choices or {}) end function skins:AddOption(suffix,option) local holder = self._OptionsHolder local option = formatTable(option) local name = option.name or '' local window = self._window local flag = self._flag local suffix = suffix or '' local holder = create('Frame',{ Parent = holder, Name = (suffix or '')..' | '..(name or ''), LayoutOrder = #holder:GetChildren()-1, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0, 0), Size = UDim2.new(1, 0, 0, 40), ZIndex = 4, }) SetupFrame(holder,{pad = {bottom = UDim.new(0,5),top = UDim.new(0,5),left = UDim.new(),right = UDim.new(0,5)}}) create('ImageLabel',{ Parent = holder, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(0, 30, 1, 0), ZIndex = 4, Image = option.image or '', }) create('TextLabel',{ Parent = holder, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 35, 0, 0), Size = UDim2.new(0, 200, 1, 0), ZIndex = 4, Font = Enum.Font.GothamMedium, Text = (suffix or '')..' | '..(name or ''), TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14.000, TextXAlignment = Enum.TextXAlignment.Left, }) local button = create('Frame',{ Name = 'Button', Parent = holder, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(1, -75, 0, 0), Size = UDim2.new(0, 75, 1, 0), ZIndex = 4, }) SetupFrame(button,{corner = {radius = UDim.new(0,2)},stroke = {}}) window.flags[self._flag].options[suffix] = window.flags[self._flag].options[suffix] or {} local data = {image = option.image or '',name = option.name or ''} table.insert(window.flags[self._flag].options[suffix],data) local id = #window.flags[self._flag].options[suffix] local btn = create('TextButton',{ Name = 'Button', Parent = button, BackgroundColor3 = Color3.fromRGB(200, 200, 200), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = 4, Font = Enum.Font.GothamMedium, Text = "ADD", TextColor3 = Color3.fromRGB(200, 200, 200), TextSize = 14.000, }) btn.MouseButton1Down:Connect(function() if window.flags[flag].choices[suffix] and window.flags[flag].choices[suffix].name == data.name then return end if self._CurrentChoices[suffix] then self._CurrentChoices[suffix] = nil self:_SetSelection(self:_GetSelection()-1) Tween(btn,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(200,200,200)}) else self._CurrentChoices[suffix] = data self:_SetSelection(self:_GetSelection()+1) Tween(btn,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(125,125,125)}) end self:FilterOptions() end) btn.MouseEnter:Connect(function() if self._CurrentChoices[suffix] ~= data and (not window.flags[flag].choices[suffix] or window.flags[flag].choices[suffix].name ~= data.name) then Tween(btn,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(255,255,255)}) end end) btn.MouseLeave:Connect(function() if self._CurrentChoices[suffix] ~= data and (not window.flags[flag].choices[suffix] or window.flags[flag].choices[suffix].name ~= data.name) then Tween(btn,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(200,200,200)}) end end) end function skins:AddChoice(suffix,data) if self._window.flags[self._flag].choices[suffix] then return end local holder = self._ChoicesHolder local option = formatTable(data) local frame = create('Frame',{ Parent = holder, LayoutOrder = #holder:GetChildren()-1, Name = 'Choice', BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(0, 100, 0, 100), ZIndex = 3, }) SetupFrame(frame,{corner = {radius = UDim.new(0,4)},pad = {Bottom = UDim.new(0,3),top = UDim.new(0,3),right = UDim.new(0,3),left = UDim.new(0,3)},stroke = {}}) local button = create('ImageButton',{ Parent = frame, BackgroundColor3 = Color3.fromRGB(200, 200, 200), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = 4, Image = option.image or '' }) button.MouseButton1Down:Connect(function() self._window.flags[self._flag].choices[suffix] = nil frame:Destroy() self:FilterOptions() end) self._window.flags[self._flag].choices[suffix] = option end function skins:AddChoices(options) for i,v in pairs(options) do for _,v2 in pairs(v) do self:AddChoice(i,v2) end end end function skins:AddOptions(options) for i,v in pairs(options) do for _,v2 in pairs(v) do self:AddOption(i,v2) end end end function skins:_HandleChoices() for i,v in pairs(self._CurrentChoices) do self:AddChoice(i,v) end table.clear(self._CurrentChoices) self:FilterOptions() self:_SetSelection(0) end function skins:_SetSelection(n) local text = "Add Selection ("..n..')' self._OptionsHolder.Parent.Menu.Add.TextButton.Text = text Tween(self._OptionsHolder.Parent.Menu.Add.TextButton,0.2,'Quad','Out',{TextColor3 = tonumber(n) == 0 and Color3.fromRGB(125,125,125) or Color3.fromRGB(255,255,255)}) end function skins:_GetSelection() return self._OptionsHolder.Parent.Menu.Add.TextButton.Text:match("%d+") end function skins:FilterOptions() for i,v in pairs(self._OptionsHolder:GetChildren()) do if not v:IsA('Frame') then continue end local data = v.Name:split(' | ') local value = self._CurrentChoices[data[1]] local value2 = self._window.flags[self._flag].choices[data[1]] if (value and value.name ~= data[2]) or (value2 and value2.name ~= data[2]) then v.Visible = false Tween(v.Button.Button,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(200,200,200)}) else if not (value or value2) then Tween(v.Button.Button,0.2,'Quad','Out',{TextColor3 = Color3.fromRGB(200,200,200)}) end v.Visible = true end end end function Tabs.skins(tabholder,window,options) -- whatever name it yourself local options = formatTable(options) return tabholder,skins.new(options,window,tabholder) end local Notify = {} Notify.__index = Notify function Notify.new(options,notifsholder) local options = typeof(options) == 'table' and formatTable(options) or {text=tostring(options)} local holder = create('Frame',{ Parent = notifsholder, Name = 'Holder', BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(50, 0, 0, 20), ZIndex = 3, ClipsDescendants = true, }) SetupFrame(holder,{corner = {radius = UDim.new(0,4)},stroke = {}}) options.color = options.color or Color3.fromRGB(255,255,255) options.time = options.time or 1.3 if options.grad ~= false then create('Frame',{ Name = 'Color', Parent = holder, BackgroundColor3 = options.color, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0, 1), Size = UDim2.new(0, 1, 1, -2), ZIndex = 4, }) create('Frame',{ Name = 'Color2', Parent = holder, BackgroundColor3 = options.color, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0,1,0,0), Size = UDim2.new(0, 1, 1, 0), ZIndex = 4, }) end local text = create('TextLabel',{ Parent = holder, Name = 'Text', BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 7, 0, 0), Size = UDim2.new(1, -10, 1, 0), ZIndex = 4, Font = Enum.Font.Gotham, TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14.000, TextXAlignment = Enum.TextXAlignment.Left, Text = options.text or '' }) holder.Size = UDim2.new(0,text.TextBounds.X+15,0,25) local mt = setmetatable({_holder = holder,_options = options},Notify) task.spawn(Notify[options.style and options.style:lower() or 'normal'],mt) return mt end function Notify:_Animate() local signals = { OnFinish = Signal.new(), OnAnimation = Signal.new(), } coroutine.wrap(function() local size = self._holder.AbsoluteSize self._holder.Size = UDim2.new(0,0,0,size.Y) Tween(self._holder,0.6,'Quad','Out',{Size = UDim2.new(0,size.X,0,size.Y)}) wait(self._options.time) signals.OnAnimation:Fire() Tween(self._holder,0.2,'Quad','Out',{BackgroundTransparency = 1,Position = UDim2.new(-1,0,0,0)}) Tween(self._holder.Color,0.2,'Quad','Out',{BackgroundTransparency = 1}) Tween(self._holder.Stroke,0.2,'Quad','Out',{Transparency = 1}) Tween(self._holder.Color2,0.2,'Quad','Out',{BackgroundTransparency = 1}) local t = Tween(self._holder.Text,0.2,'Quad','Out',{TextTransparency = 1}) t.Completed:Wait() signals.OnFinish:Fire() self._holder:Destroy() end)() return signals end function Notify:normal() return self:_Animate() end function Notify:warning() local shouldbreak = false local grad,grad2 = self._holder.Color,self._holder.Color2 coroutine.wrap(function() local a = 0 while not shouldbreak do Tween(grad,0.25,'Linear','In',{BackgroundColor3 = Color3.new() or self._options.color}) local t = Tween(grad2,0.25,'Linear','In',{BackgroundColor3 = Color3.new() or self._options.color}) t.Completed:Wait() a+=1 end end)() local signals = self:_Animate() signals.OnFinish:Connect(function() shouldbreak = true end) return signals end function Notify:time() local shouldbreak = false local time = self._options.time local timer = create('Frame',{ Parent = self._holder, Position = UDim2.new(0,2,1,-1), Size = UDim2.new(0,0,0,1), BackgroundColor3 = self._options.color, ZIndex = 4, BorderSizePixel = 0, }) local ct = 0 local loop = rs.RenderStepped:Connect(function(dt) ct += dt timer.Size = UDim2.new(math.min(ct/time,1),-6,0,1) end) local signals = self:_Animate() signals.OnAnimation:Connect(function() loop:Disconnect() Tween(timer,0.2,'Quad','Out',{BackgroundTransparency = 1}) end) return signals end function Notify:loading() local shouldbreak = false local grad,grad2 = self._holder.Color,self._holder.Color2 local bar = create('Frame',{ Parent = self._holder, Position = UDim2.new(0,1,1,-1), Size = UDim2.new(0,0,0,1), BackgroundColor3 = self._options.color, ZIndex = 4, BorderSizePixel = 0, }) coroutine.wrap(function() local a = 0 while not shouldbreak do local sizex = self._holder.AbsoluteSize.X/3 local x = (sizex/2) local t = Tween(bar,0.6,'Linear','Out',{Position = UDim2.new(0.5,a%2 == 0 and x or -x,1,-1),Size = UDim2.new(0,a%2 == 0 and -sizex or sizex,0,1)}) t.Completed:Wait() local t = Tween(bar,0.6,'Quad','Out',{Position = a%2==0 and UDim2.new(1,-2,1,-1) or UDim2.new(0,2,1,-1),Size = UDim2.new(0,1,0,1)}) t.Completed:Wait() a+=1 task.wait(.15) end end)() local signals = self:_Animate() signals.OnAnimation:Connect(function() shouldbreak = true Tween(bar,0.2,'Quad','Out',{BackgroundTransparency = 1}) end) return signals end function Notify:SetText(text) self._holder.Text.Text = text self._holder.Size = UDim2.new(0,self._holder.Text.TextBounds.X+10,0,25) end local Watermark = {} Watermark.__index = Watermark function Watermark.new(watermark,options) local mt = setmetatable({_watermark = watermark},Watermark) mt:Edit(options or {}) return mt end function Watermark:Edit(options) -- background, textcolor, richtext local options = formatTable(options) if options.text then self._watermark.Text.Text = tostring(options.text) end end function ui:Init(options) local options = formatTable(options) local parent = options.parent or script.Parent or game:GetService('CoreGui') local UIsHolder = create('ScreenGui',{ Name = 'UIHolder', Parent = parent, ZIndexBehavior = 'Global', ResetOnSpawn = false }) function ui:Unload() for _, connection in next, Connections do connection:Disconnect() end UIsHolder:Destroy() end function ui:SetToggled(bool) UIsHolder.Enabled = bool end function ui:Toggle() self:SetToggled(not UIsHolder.Enabled) end function ui:Watermark(options) local options = formatTable(options) local text = options.text or 'Lynx' local watermark = create('Frame',{ Name = "Watermark", Parent = UIsHolder, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderSizePixel = 0, Position = UDim2.new(0, 32, 0, 32), Size = UDim2.new(0, 32, 0, 32), }) Dragify(watermark) SetupFrame(watermark, { corner = {radius = UDim.new(0, 8)}, pad = {bottom = UDim.new(0, 8), top = UDim.new(0, 8), left = UDim.new(0, 16), right = UDim.new(0, 16)}, stroke = {} }) local text = create('TextLabel', { Name = "Text", FontFace = Font.new("rbxasset://fonts/families/GothamSSm.json"), RichText = true, Text = text, TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14, TextScaled = false, TextWrapped = false, TextXAlignment = "Left", BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), Parent = watermark }) text:GetPropertyChangedSignal('TextBounds'):Connect(function() task.wait() local bounds = text.TextBounds watermark.Size = UDim2.new(0, bounds.X + 32, 0, bounds.Y + 16) end) return Watermark.new(watermark,options) end do --super duper cool uilistlayout local notifs = create("ScreenGui",{ Parent = UIsHolder.Parent, Name = 'Notifications' }) local notifsholder = create('Frame',{ Name = 'NotificationsHolder', Parent = notifs, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 50, 0, 50), Size = UDim2.new(0, 34, 50, 0), ZIndex = 2, }) local childs = {} local offsets = {} notifsholder.ChildAdded:Connect(function(child) if child.Name == 'Holder' then local y = #childs*30 -- was meant to have getpropchangedsignal but lazy to change allat child.Position = UDim2.new(0,child.AbsolutePosition.X,0,y) table.insert(childs,child) offsets[child] = y end end) notifsholder.ChildRemoved:Connect(function(child) if child.Name == 'Holder' then local t = table.find(childs,child) local curY = offsets[child] for i=t+1,#childs do local child = childs[i] local oldy = curY curY = offsets[child] offsets[child] = oldy Tween(child,0.2,'Quad','Out',{Position = UDim2.new(0,child.AbsolutePosition.X-notifsholder.AbsolutePosition.X,0,oldy)}) end offsets[child] = nil table.remove(childs,t) end end) function ui:Notify(options) return Notify.new(options,notifsholder) end end function ui:SetupLoader(options) local options = formatTable(options) local span = options.time or 2 local loaderFrame = create('Frame',{ Parent = UIsHolder, Name = 'Loading', BackgroundColor3 = Color3.fromRGB(30, 30, 30), BorderSizePixel = 0, Position = UDim2.new(0.5, -50, 0.5, -50), Size = UDim2.fromOffset(100, 100), }) SetupFrame(loaderFrame, { corner = {radius = UDim.new(1, 0)}, pad = {bottom = UDim.new(0, 16),top = UDim.new(0, 16),left = UDim.new(0, 16),right = UDim.new(0, 16)} }) local circle = create('ImageLabel', { Name = "Circle", Image = "rbxassetid://6331335348", BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.fromScale(1, 1), Parent = loaderFrame }) local startTick = tick() task.spawn(function() while task.wait() do if tick() - startTick >= (span - 2) then task.spawn(function() Tween(circle, 0.1, 'Quad', 'In', {ImageTransparency = 1}) task.wait(.1) circle.Rotation = 0 circle.Image = 'rbxassetid://1202200114' Tween(circle, 0.1, 'Quad', 'In', {ImageTransparency = 0}) task.wait(1) Tween(loaderFrame, 0.2, 'Quad', 'In', {BackgroundTransparency = 1}) Tween(circle, 0.2, 'Quad', 'In', {ImageTransparency = 1}) task.wait(.9) loaderFrame:Destroy() end) break end circle.Rotation = (circle.Rotation + 5) % 360 end end) end function ui:NewWindow(options) local options = formatTable(options) local windowOptions = formatTable(options.window) local windowName = windowOptions.name or 'Lynx' local windowDescription = windowOptions.description or 'Universal' local userOptions= formatTable(options.user) local username = userOptions.name or 'Finobe' local role = userOptions.role or 'Developer' local icon = userOptions.icon local windowFrame = create('Frame',{ Parent = UIsHolder, Name = 'Window', BackgroundColor3 = Color3.fromRGB(30, 30, 30), BackgroundTransparency = 0.030, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(0, 640, 0, 500), }) windowFrame.Position = UDim2.new(0.5, -windowFrame.AbsoluteSize.X/2, 0.5, -windowFrame.AbsoluteSize.Y/2) SetupFrame(windowFrame,{ corner = {radius = UDim.new(0,8)}, stroke = {Color = Color3.fromRGB(40,40,40)} }) local sideBar = create('Frame',{ Parent = windowFrame, Name = 'Sidebar', BackgroundColor3 = Color3.fromRGB(255, 255, 255), BorderColor3 = Color3.fromRGB(0, 0, 0), BackgroundTransparency = 1.000, Size = UDim2.new(0.270000011, 0, 1, 0), BorderSizePixel = 0, }) Dragify(windowFrame,sideBar) local window = { _tabs = {}, _undefinedFlags = 0, _FlagsSet = {}, _DefaultFlags = {}, flags = {}, } window['Flags'] = window.flags function window:SaveConfig(name) local cfg = {} for i,v in pairs(window.flags) do local val = v if typeof(v) == 'table' and v.Color and typeof(v.Color) == 'Color3' then val = {Color = {R = v.Color.R,G=v.Color.G,B=v.Color.B},Alpha = v.Alpha} end cfg[i] = val end return hs:JSONEncode(cfg) end function window:LoadConfig(input) local load = hs:JSONDecode(input) for flag,val in pairs(load) do if typeof(val) == 'table' and typeof(val.Color) == 'table' then val.Color = Color3.new(val.Color.R,val.Color.G,val.Color.B) end if window._FlagsSet[flag] then window._FlagsSet[flag](val) end end end do -- content setup local content = create('Frame',{ Name = 'Content', Parent = sideBar, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), }) create('UIPadding',{ Parent = content, PaddingBottom = UDim.new(0, 16), PaddingLeft = UDim.new(0, 16), PaddingRight = UDim.new(0, 16), PaddingTop = UDim.new(0, 16), }) --------------------------------------------------------- local windowsInfo = create('Frame',{ Parent = content, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, 0, 0.150000006, -16), }) create('UIListLayout',{ Parent = windowsInfo, Padding = UDim.new(0,4), HorizontalAlignment = Enum.HorizontalAlignment.Center, VerticalAlignment = Enum.VerticalAlignment.Center, }) create('TextLabel',{ Name = 'a_name', Parent = windowsInfo, BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 18), Font = Enum.Font.GothamBlack, Text = windowName, RichText = true, TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14.000, TextXAlignment = Enum.TextXAlignment.Left, TextYAlignment = Enum.TextYAlignment.Bottom, }) create('TextLabel',{ Name = 'b_Description', Parent = windowsInfo, BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 0, 18), Font = Enum.Font.Gotham, Text = windowDescription, RichText = true, TextColor3 = Color3.fromRGB(108, 108, 108), TextSize = 14.000, TextStrokeColor3 = Color3.fromRGB(92, 92, 92), TextXAlignment = Enum.TextXAlignment.Left, TextYAlignment = Enum.TextYAlignment.Top, }) ------------------------------------------------------------ local userInfo = create('Frame',{ Name = 'UserInfo', Parent = content, BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 0, 0.9, 0), Size = UDim2.new(1, 0, 0.1, 0), }) SetupFrame(userInfo,{list = {pad = UDim.new(0,16),sort = 'LayoutOrder',direction = 'Horizontal',horizontalalignment = 'Left'}}) if icon then SetupFrame(create('ImageLabel',{ Name = 'Img', Parent = userInfo, BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 0, 0.5, -12), Size = UDim2.new(0, 24, 0, 24), Image = icon, }),{corner = {radius = UDim.new(1,0),stroke = {}}}) end local info = create('Frame',{ Name = 'Info', Parent = userInfo, BackgroundTransparency = 1.000, BorderSizePixel = 0, Position = UDim2.new(0, icon and 56 or 0, 0, 0), Size = UDim2.new(1, icon and -40 or 0, 1, 0), }) SetupFrame(info,{list = {pad = UDim.new(0,4)}}) create('TextLabel',{ Parent = info, BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 56, 0.5, -18), Size = UDim2.new(1, 0, 0, 14), Font = Enum.Font.GothamBold, Text = username, TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14.000, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, TextYAlignment = Enum.TextYAlignment.Bottom, }) create('TextLabel',{ Parent = info, BackgroundTransparency = 1, BorderSizePixel = 0, Position = UDim2.new(0, 56, 0.5, -18), Size = UDim2.new(1, 0, 0, 14), Font = Enum.Font.Gotham, Text = role, TextColor3 = Color3.fromRGB(108, 108, 108), TextSize = 14, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, TextYAlignment = Enum.TextYAlignment.Top, }) -------------------------------------------------------------- local tabs = create('ScrollingFrame',{ Name = 'Tabs', Parent = content, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0.150000006, 0), Selectable = false, Size = UDim2.new(1, 0, 0.75, -24), BottomImage = "", CanvasSize = UDim2.new(0, 0, 0, 145), ScrollBarImageColor3 = Color3.fromRGB(50, 50, 50), ScrollBarThickness = 1, TopImage = "", }) local _, _, list, pad = SetupFrame(tabs,{ list = {pad = UDim.new(0,8),VerticalAlignment = 'Top'}, Pad = {left = UDim.new(0,1),top = UDim.new(0,1), right = UDim.new(0, 8)} }) list:GetPropertyChangedSignal('AbsoluteContentSize'):Connect(function() task.wait() local abs = list.AbsoluteContentSize tabs.CanvasSize = UDim2.new(0, abs.X, 0, abs.Y) end) local function _tween(fp, is) Tween(fp, 0.25, 'Quad', 'In', {BackgroundTransparency = is and 0 or 1}) Tween(fp:FindFirstChildOfClass('UIStroke'), 0.25, 'Quad', 'In', {Transparency = is and 0 or 1}) end function window:Tab(options) local options = formatTable(options) local type = options.type and options.type:lower() or 'normal' local icon = options.icon ---------------------------------------------------------------------------------- local section = create('Frame',{ Name = ('1'):rep(#tabs:GetChildren()-1), Parent = tabs, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, -1, 0, 32), ZIndex = 2, }) local _clickHandler = create('TextButton', { Name = 'Handler', Parent = section, BackgroundTransparency = 1, BorderSizePixel = 0, ZIndex = 5, Size = UDim2.new(1, 0, 1, 0), Text = '', }) local tab_a = create('Frame',{ Name = 'Tab', Parent = section, BackgroundColor3 = Color3.fromRGB(30, 30, 30), BackgroundTransparency = 1, BorderSizePixel = 0, Size = UDim2.new(1, 0, 1, 0), ZIndex = 3, }) local _,stroke,_,_ = SetupFrame(tab_a,{ corner = {radius = UDim.new(0,4)}, list = {pad = UDim.new(0,8),horizontalalignment = 'Left',verticalalignment = 'Center',direction = 'Horizontal'}, pad = {bottom = UDim.new(0,10),top = UDim.new(0,10),left = UDim.new(0,10),right = UDim.new(0,10)}, stroke = {} }) stroke.Transparency = 1 if icon then create('ImageLabel',{ Name = 'a_icon', Parent = tab_a, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(0, 16, 1, 0), ZIndex = 4, Image = icon, ScaleType = Enum.ScaleType.Fit, }) end create('TextLabel',{ Name = 'b_text', Parent = tab_a, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 1.000, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(1, icon and -28 or 0, 1, 0), ZIndex = 4, Font = Enum.Font.GothamMedium, Text = options.name or '[NO NAME]', TextColor3 = Color3.fromRGB(255, 255, 255), TextSize = 14, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, }) ---------------------------------------------------------------------------------- local tabHolder = create('Frame',{ Parent = windowFrame, Name = 'SectorHolder_'..(#window._tabs+1), Size = UDim2.new(0.73, 0,1, 0), Position = UDim2.new(0.27,0,0,0), BackgroundTransparency = 1, BorderSizePixel = 0, }) SetupFrame(tabHolder, { pad = {bottom = UDim.new(0,14),top = UDim.new(0,14),right = UDim.new(0,14),left = UDim.new(0,14)} }) local tab,funcs = Tabs[type](tabHolder,window,options) _clickHandler.MouseButton1Down:Connect(function() if window._CurrentTab[1] ~= section then task.spawn(function() _tween(window._CurrentTab[1].Tab, false) window._CurrentTab[2].Visible = false window._CurrentTab[2].ZIndex -= 1 window._CurrentTab = {section,tab} tab.ZIndex += 1 _tween(section.Tab, true) end) tab.Visible = true end end) if not window._CurrentTab then window._CurrentTab = {section,tab} _tween(window._CurrentTab[1].Tab, true) tab.Visible = true tab.ZIndex += 1 end table.insert(window._tabs,tab) return funcs end function window:Separator() create('Frame',{ Name = 'Separator', Parent = create('Frame',{ Name = ('1'):rep(#tabs:GetChildren()-1), Parent = tabs, BackgroundTransparency = 1, Size = UDim2.new(1, -1, 0, 32), ZIndex = 2, }), BackgroundColor3 = Color3.fromRGB(40, 40, 40), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(0, 0, 0.5, 0), Size = UDim2.new(1, 0, 0, 1), }) end end create('Frame',{ Name = "Separator", Parent = sideBar, BackgroundColor3 = Color3.fromRGB(40, 40, 40), BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Position = UDim2.new(1, 0, 0, 0), Size = UDim2.new(0, 1, 1, 0), }) return window end end -- UI END ui:Init() -- ui:SetupLoader({time = 2}) -- Wait(2) -- local Window = ui:NewWindow{window = {Name = [[osiris.cool]], Description = game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name}, User = {Name = LocalPlayer.Name,Role = 'Buyer Build'}} local flags = Window.flags -- Functions , Renders local Backtrack = Instance.new("Folder") Backtrack.Parent = Workspace.Terrain Backtrack.Name = "Backtrack" -- local NovaPart = game:GetObjects("rbxassetid://14745759584")[1]; NovaPart.Parent = game:GetService("ReplicatedStorage"); local Nova = NovaPart.Attachment -- local HitChams = Instance.new("Folder") HitChams.Parent = Workspace.Terrain HitChams.Name = "HitChams" -- local VisualizeCFrame = game:GetObjects("rbxassetid://8246626421")[1]; VisualizeCFrame.Humanoid:Destroy(); VisualizeCFrame.Head.Face:Destroy(); VisualizeCFrame.Parent = game.Workspace; VisualizeCFrame.HumanoidRootPart.Velocity = Vector3.new(); VisualizeCFrame.HumanoidRootPart.CFrame = CFrame.new(9999,9999,9999); VisualizeCFrame.HumanoidRootPart.Transparency = 1; VisualizeCFrame.HumanoidRootPart.CanCollide = false; local hitmodule = game:GetObjects("rbxassetid://7255773215")[1]; hitmodule.Parent = game:GetService("ReplicatedStorage") -- for i,v in pairs(VisualizeCFrame:GetChildren()) do if v:IsA("BasePart") then v.CanCollide = false v.Material = Enum.Material.Neon v.Transparency= 0.99 end end -- local Chams = {} do function Lynx:Cham_Character(Player, Color1, Color2, Fill1, Fill2) local Highlight = NewInstance("Highlight", Highlights) Highlight.Adornee = Player.Character Highlight.Enabled = true Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop Highlight.FillColor = Color1 Highlight.OutlineColor = Color2 Highlight.OutlineTransparency = Fill1 Highlight.FillTransparency = Fill2 -- Chams[Player] = Highlight -- Player.CharacterAdded:Connect(function(Character) Highlight.Adornee = Character Highlight.Parent = game.CoreGui end) end function Lynx:Cham_Remove(Player) if Player and Chams[Player] then Chams[Player]:Destroy() Chams[Player].Parent = nil Chams[Player].Adornee = nil end end -- function Lynx:PlayerDraw(Type, Outline, Name, Filled) local drawing = Drawing.new(Type) for i, v in pairs(Visuals["Settings"][Type]) do drawing[i] = v end -- if Outline then drawing.Color = Color3.new(0,0,0) drawing.Thickness = 3 end -- if Filled then drawing.Filled = true end -- return drawing end -- function Lynx:Add(Player) if not Visuals["Drawings"][Player] then Visuals["Drawings"][Player] = { Name = Lynx:PlayerDraw("Text", nil, "Name", false), Tool = Lynx:PlayerDraw("Text", nil, "Tool", false), BoxOutline = Lynx:PlayerDraw("Square", true, "BoxOutline", false), Box = Lynx:PlayerDraw("Square", nil, "Box",false), HealthOutline = Lynx:PlayerDraw("Square", false, "HealthOutline", false), Health = Lynx:PlayerDraw("Square", nil, "Health", false), HealthText = Lynx:PlayerDraw("Text",nil, "HealthText", false), HealthBarGradient = Lynx:PlayerDraw("Image", nil, "HealthBarGradient", false), BoxFill = Lynx:PlayerDraw("Square", nil, "BoxFill", true), ArmorBar = Lynx:PlayerDraw("Line", nil, "ArmorBar", false), ArrowOutline = Lynx:PlayerDraw("Triangle", false, "ArrowOutline", false), Arrow = Lynx:PlayerDraw("Triangle", nil, "Arrow", false), Flag = Lynx:PlayerDraw("Text",nil, "Flag", false) } -- Visuals["Drawings"][Player]["Corners"] = {} -- for Index = 9, 16 do Visuals["Drawings"][Player]["Corners"][Index] = Lynx:PlayerDraw("Line", nil, "Corners", false) Visuals["Drawings"][Player]["Corners"][Index].Thickness = 3 end -- for Index = 1, 8 do Visuals["Drawings"][Player]["Corners"][Index] = Lynx:PlayerDraw("Line", nil, "Corners", false) Visuals["Drawings"][Player]["Corners"][Index].Thickness = 0 end end end -- function HitMarker(Gap, Color, Time) local Lines = {} -- for i = 1, 4 do Lines[i] = Lynx:newDrawing("Line", {Color = Color, Visible = true, Transparency = 1, Thickness = 1}) end -- Lines[1].From = Vector2.new(Mouse.X + Gap, (Mouse.Y + 36) + Gap) Lines[1].To = Vector2.new(Mouse.X + (Gap * 2.5), (Mouse.Y + 36) + (Gap * 2.5)) -- Lines[2].From = Vector2.new(Mouse.X + Gap, (Mouse.Y + 36) - Gap) Lines[2].To = Vector2.new(Mouse.X + (Gap * 2.5), (Mouse.Y + 36) - (Gap * 2.5)) -- Lines[3].From = Vector2.new(Mouse.X - Gap, (Mouse.Y + 36) + Gap) Lines[3].To = Vector2.new(Mouse.X - (Gap * 2.5), (Mouse.Y + 36) + (Gap * 2.5)) -- Lines[4].From = Vector2.new(Mouse.X - Gap, (Mouse.Y + 36) - Gap) Lines[4].To = Vector2.new(Mouse.X - (Gap * 2.5), (Mouse.Y + 36) - (Gap * 2.5)) -- delay(Time, function() for i = Time, 0, -0.1 do task.wait() for _, Value in next, Lines do Value.Transparency = i end end -- for _, Value in next, Lines do Value:Remove() end end) end -- function HitMarker3D(Gap, Color, Time, Hit) local Lines = {} -- for i = 1, 4 do Lines[i] = Lynx:newDrawing("Line", {Color = Color, Visible = true, Transparency = 1, Thickness = 1}) end -- local Loop = RunService.RenderStepped:Connect(function() local Position3D, OnScreen = Camera:WorldToViewportPoint(Hit) -- Lines[1].From = Vector2.new(Position3D.X + Gap, Position3D.Y + Gap) Lines[1].To = Vector2.new(Position3D.X + (Gap * 2.5), Position3D.Y + (Gap * 2.5)) -- Lines[2].From = Vector2.new(Position3D.X + Gap, Position3D.Y - Gap) Lines[2].To = Vector2.new(Position3D.X + (Gap * 2.5), Position3D.Y - (Gap * 2.5)) -- Lines[3].From = Vector2.new(Position3D.X - Gap, Position3D.Y + Gap) Lines[3].To = Vector2.new(Position3D.X - (Gap * 2.5), Position3D.Y + (Gap * 2.5)) -- Lines[4].From = Vector2.new(Position3D.X - Gap, Position3D.Y - Gap) Lines[4].To = Vector2.new(Position3D.X - (Gap * 2.5), Position3D.Y - (Gap * 2.5)) -- for _, Value in next, Lines do Value.Visible = OnScreen end end) -- delay(Time, function() for i = Time, 0, -0.1 do task.wait() for _, Value in next, Lines do Value.Transparency = i end end -- for _, Value in next, Lines do Value:Remove() end Loop:Disconnect() end) end -- function Lynx:HitEffect(Type, Character) local function convert(color) return color.r/5, color.g/5, color.b/5 end -- local function Weld(x,y) local W = Instance.new("Weld") W.Part0 = x W.Part1 = y local CJ = CFrame.new(x.Position) local C0 = x.CFrame:inverse()*CJ local C1 = y.CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = x end -- if Type == "Confetti" then task.spawn(function() local Confetti_Amount = 20000 local RootPart = Character.HumanoidRootPart local ConfettiClone = hitmodule:Clone() ConfettiClone.RainbowParticles.Rate = Confetti_Amount ConfettiClone.Parent = workspace ConfettiClone.CanCollide = false ConfettiClone.CFrame = RootPart.CFrame -- for i = Confetti_Amount, 0 , -(Confetti_Amount/50) do task.wait() ConfettiClone.RainbowParticles.Rate = i end -- delay(5, function() ConfettiClone:Destroy() end) end) else local Effect = Nova:Clone() Effect.Parent = Character.HumanoidRootPart -- for i,v in pairs(Effect:GetChildren()) do v.Rate = 0 v.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.new(0, 0, 0)), ColorSequenceKeypoint.new(0.5, Color3.new(convert(flags["Hit Effects Color"].Color))),ColorSequenceKeypoint.new(1, Color3.new(0, 0, 0)),}) v:Emit() end -- delay(2, function() Effect:Destroy() end) end end -- Lynx:HitEffect("Confetti", LocalPlayer.Character) -- function Lynx:ThreadFunction(Func, Name, ...) local Func = Name and function() local Passed, Statement = pcall(Func) -- if not Passed and not Lynx.Safe then warn("Lynx:\n", " " .. Name .. ":", Statement) end end or Func local Thread = Create(Func) -- Resume(Thread, ...) return Thread end -- function Lynx:RayCast(Part, Origin, Ignore, Distance) local IgnoreList = Ignore local Distance = Distance or 5000 -- local Cast = Ray.new(Origin, (Part.Position - Origin).Unit * Distance) local Hit = Workspace:FindPartOnRayWithIgnoreList(Cast, IgnoreList) -- return (Hit and Hit:IsDescendantOf(Part.Parent)) == true, Hit end -- function Lynx:KnockCheck(Player) if Player.Character then if Player.Character.BodyEffects ~= nil then if Player.Character.BodyEffects["K.O"].Value == true then return false end end end return true end -- function Lynx:newDrawing(type, prop) local obj = Drawing.new(type) -- if prop then for i,v in next, prop do obj[i] = v end end return obj end -- function Lynx:GetPlayerStatus(Player) if not Player then Player = LocalPlayer end return Player.Character and Player.Character:FindFirstChild("Humanoid") and Player.Character:FindFirstChild("HumanoidRootPart") and Player.Character.Humanoid.Health > 0 and true or false end -- function Lynx:CreateBeam(Origin, End, Color1, Color2, Texture) local BeamPart = NewInstance("Part", workspace) BeamPart.Name = "BeamPart" BeamPart.Transparency = 1 -- local Part = NewInstance("Part", BeamPart) Part.Size = NewVector3(1, 1, 1) Part.Transparency = 1 Part.CanCollide = false Part.CFrame = typeof(Origin) == "CFrame" and Origin or CFrame.new(Origin) Part.Anchored = true local Attachment = NewInstance("Attachment", Part) local Part2 = NewInstance("Part", BeamPart) Part2.Size = NewVector3(1, 1, 1) Part2.Transparency = 1 Part2.CanCollide = false Part2.CFrame = typeof(End) == "CFrame" and End or CFrame.new(End) Part2.Anchored = true Part2.Color = Color3.fromRGB(255, 255, 255) local Attachment2 = NewInstance("Attachment", Part2) local Beam = NewInstance("Beam", Part) Beam.FaceCamera = true Beam.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0.00, Color1), ColorSequenceKeypoint.new(1, Color2), } Beam.Attachment0 = Attachment Beam.Attachment1 = Attachment2 Beam.LightEmission = 6 Beam.LightInfluence = 1 Beam.Width0 = 1 Beam.Width1 = 0.6 Beam.Texture = "rbxassetid://".. Texture .."" Beam.LightEmission = 1 Beam.LightInfluence = 1 Beam.TextureMode = Enum.TextureMode.Wrap Beam.TextureLength = 3 Beam.TextureSpeed = 3 delay(1, function() for i = 0.5, 1, 0.02 do wait() Beam.Transparency = NumberSequence.new(i) end Part:Destroy() Part2:Destroy() BeamPart:Destroy() end) end -- function Lynx:GetTool() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildWhichIsA("Tool") and Lynx:GetPlayerStatus() then return LocalPlayer.Character:FindFirstChildWhichIsA("Tool") end end -- function Lynx:Map(N, OldMin, OldMax, Min, Max) return (N - OldMin) / (OldMax - OldMin) * (Max - Min) + Min end -- function Lynx:Rainbow(Speed) return Color3.fromHSV(Abs(Sin(tick()) / (5 - Speed)),1,1) end -- function Lynx:CheckIfEven(Number) if (Number % 2 == 0) then return true else return false end end -- function Lynx:Connection(Type, Callback) local Connection = Type:Connect(Callback) Lynx.Connections[#Lynx.Connections + 1] = Connection -- return Connection end -- function Lynx:GetBodyParts(Character, RootPart, Indexes, Hitboxes) local Parts = {} local Hitboxes = Hitboxes or {"Head", "Torso", "Arms", "Legs"} -- for Index, Part in pairs(Character:GetChildren()) do if Part:IsA("BasePart") and Part ~= RootPart then if Find(Hitboxes, "Head") and Part.Name:lower():find("head") then Parts[Indexes and Part.Name or #Parts + 1] = Part elseif Find(Hitboxes, "Torso") and Part.Name:lower():find("torso") then Parts[Indexes and Part.Name or #Parts + 1] = Part elseif Find(Hitboxes, "Arms") and Part.Name:lower():find("arm") then Parts[Indexes and Part.Name or #Parts + 1] = Part elseif Find(Hitboxes, "Legs") and Part.Name:lower():find("leg") then Parts[Indexes and Part.Name or #Parts + 1] = Part elseif (Find(Hitboxes, "Arms") and Part.Name:lower():find("hand")) or (Find(Hitboxes, "Legs ") and Part.Name:lower():find("foot")) then Parts[Indexes and Part.Name or #Parts + 1] = Part end end end -- return Parts end -- function Lynx:GetClosestPlayer() local shortestDistance = Huge -- local closestPlayer for _, Player in pairs(Players:GetPlayers()) do if Player ~= LocalPlayer and Lynx:GetPlayerStatus(Player) then local pos, OnScreen = Camera:WorldToViewportPoint(Player.Character.HumanoidRootPart.Position) local magnitude = (Vector2.new(pos.X, pos.Y) - Vector2.new(Mouse.X, Mouse.Y)).magnitude -- if magnitude < shortestDistance and OnScreen then closestPlayer = Player shortestDistance = magnitude end end end return closestPlayer end -- function Lynx:UpdateVisuals() if flags["lighting_masterswitch"] then if flags["lighting_ambient"] then if Lighting.Ambient ~= flags["lighting_ambient1"] then Lighting.Ambient = flags["lighting_ambient1"] end if Lighting.OutdoorAmbient ~= flags["lighting_ambient2"] then Lighting.OutdoorAmbient = flags["lighting_ambient2"] end end -- if flags["lighting_ambientcolorshift"] then if Lighting.ColorShift_Bottom ~= flags["lighting_ambientcolorshift1"] then Lighting.ColorShift_Bottom = flags["lighting_ambientcolorshift1"] end if Lighting.ColorShift_Top ~= flags["lighting_ambientcolorshift2"] then Lighting.ColorShift_Top = flags["lighting_ambientcolorshift2"] end end -- if flags["lighting_fog"] then if Lighting.FogColor ~= flags["lighting_fog1"] then Lighting.FogColor = flags["lighting_fog1"] end if Lighting.FogEnd ~= flags["lighting_fog_end"] then Lighting.FogEnd = flags["lighting_fog_end"] end if Lighting.FogStart ~= flags["lighting_fog_start"] then Lighting.FogStart = flags["lighting_fog_start"] end end -- if flags["lighting_clocktime"] then if Lighting.ClockTime ~= flags["lighting_clocktime_slider"] then Lighting.ClockTime = flags["lighting_clocktime_slider"] end end -- if flags["lighting_brightness"] then if Lighting.Brightness ~= flags["lighting_brightness_slider"] then Lighting.Brightness = flags["lighting_brightness_slider"] end end end end -- function Lynx:GetPlayerParent(Player) return Player.Parent end -- function Lynx:AngleToEdge(angle, inset) -- pasted from the grenade indicators lmao local pos local ox = Cos(angle) local oy = Sin(angle) local slope = oy / ox -- local h_edge = viewportSize.x - inset local v_edge = viewportSize.y - inset if oy < 0 then v_edge = inset end if ox < 0 then h_edge = inset end local y = (slope * h_edge) + (viewportSize.y / 2) - slope * (viewportSize.x / 2) if y > 0 and y < viewportSize.y - inset then pos = Vector2.new(h_edge, y) else pos = Vector2.new( (v_edge - viewportSize.y / 2 + slope * (viewportSize.x / 2)) / slope, v_edge ) end return pos end -- function Lynx:GetCharacter(Player) return Player.Character end -- function Lynx:GetHumanoid(Player, Character) return Character:FindFirstChildOfClass("Humanoid") end -- function Lynx:GetRootPart(Player, Character, Humanoid) return Humanoid.RootPart end -- function Lynx:GetHealth(Player, Character, Humanoid) if Humanoid then return Clamp(Humanoid.Health, 0, Humanoid.MaxHealth), Humanoid.MaxHealth end end -- function Lynx:ValidateClient(Player) local Object = Lynx:GetCharacter(Player) local Humanoid = (Object and Lynx:GetHumanoid(Player, Object)) local RootPart = (Humanoid and Lynx:GetRootPart(Player, Object, Humanoid)) -- return Object, Humanoid, RootPart end -- function Lynx:ClientAlive(Player, Character, Humanoid) local Health, MaxHealth = Lynx:GetHealth(Player, Character, Humanoid) -- return (Health > 0) end -- function Lynx:getRotate(Vec, Rads) local vec = Vec.Unit local sin = math.sin(Rads) local cos = math.cos(Rads) local x = (cos * vec.x) - (sin * vec.y) local y = (sin * vec.x) + (cos * vec.y) -- return Vector2.new(x, y).Unit * Vec.Magnitude end -- function Lynx:Unload() for Index, Connection in next, Lynx.Connections do Connection:Disconnect() end -- if ui then ui:Unload() end -- end --[[ function Lynx:Update_Configs() all_cfgs = listfiles("Lynx\\") for _,cfg in next, all_cfgs do all_cfgs[_] = string.gsub(string.gsub(cfg, "Lynx\\", ""), ".txt", "") list:add_value(all_cfgs[_]) end end Lynx:Update_Configs() --]] function Lynx:ClampString(String, Length, Font) local Font = (Font or 2) local Split = String:split("\n") -- local Clamped = "" -- for Index, Value2 in pairs(Split) do if (Index * 13) <= Length then Clamped = Clamped .. Value2 .. (Index == #Split and "" or "\n") end end -- return (Clamped ~= String and (Clamped == "" and "" or Clamped:sub(0, #Clamped - 1) .. " ...") or Clamped) end -- function Lynx:GetTeam(Player) return Player.Team end -- function Lynx:CheckTeam(Player1, Player2) return (Lynx:GetTeam(Player1) ~= Lynx:GetTeam(Player2)) end -- function Lynx:GetClosestPart(Player, List) local shortestDistance = Huge local closestPart = nil if Lynx:GetPlayerStatus(Player) then for Index, Value in pairs(Player.Character:GetChildren()) do if Value:IsA("BasePart") then local pos = Camera:WorldToViewportPoint(Value.Position) local magnitude = (Vector2.new(pos.X, pos.Y) - Vector2.new(Mouse.X, Mouse.Y + 36)).magnitude if magnitude < shortestDistance and Find(List, Value.Name) then closestPart = Value shortestDistance = magnitude end end end return closestPart end end -- function Lynx:findNearestTargetInRadius(origin, radius) local minDistance = radius local nearestTarget = nil -- for _, target in pairs(Players:GetPlayers()) do if target ~= LocalPlayer and Lynx:GetPlayerStatus() and Lynx:GetPlayerStatus(target) then local Object, Humanoid, RootPart = Lynx:ValidateClient(target) if Object and Humanoid and RootPart then local Check = true -- if (Find(flags["Silent_Aim_Checks"], "Wall") and not Lynx:RayCast(RootPart, Lynx:GetOrigin("Handle"), {Lynx:GetCharacter(LocalPlayer)})) then Check = false end if (Find(flags["Silent_Aim_Checks"], "ForceField") and Object:FindFirstChildOfClass("ForceField")) then Check = false end if (Find(flags["Silent_Aim_Checks"], "Knocked") and not Lynx:KnockCheck(target)) then Check = false end -- local distance = (target.Character.HumanoidRootPart.Position - origin).Magnitude if distance < minDistance and Check == true then minDistance = distance nearestTarget = target end end end end -- return nearestTarget end -- function Lynx:movePlayerAlongPath(path, offset) local waypoints = path:GetWaypoints() -- for _, waypoint in pairs(waypoints) do local waypointPosition = waypoint.Position + Vector3.new(0, offset, 0) player.Character.HumanoidRootPart.CFrame = CFrame.new(waypointPosition) task.wait() end end -- function Lynx:RandomChance(Percentage) local Chance = Percentage -- if Random(1,100) <= Chance then return true else return false end end -- function Lynx:CloneCharacter(Player, Color, Material, Transparency, Parent, Time) Player.Character.Archivable = true local Clone = Player.Character:Clone() Clone.Parent = Parent for _, Part in pairs(Clone:GetDescendants()) do if Part:IsA("Highlight") or Part:IsA("Humanoid") or Part:IsA("LocalScript") or Part:IsA("Script") or Part:IsA("Decal") or Part:IsA("Accessory") then Part:Destroy() end -- if Part:IsA("BasePart") or Part:IsA("Meshpart") or Part:IsA("Part") then if Part.Transparency ~= 1 then Part.Anchored = true Part.Material = Material Part.Color = Color Part.Transparency = Transparency Part.Size = Part.Size + NewVector3(0.03, 0.03, 0.03) else Part:Destroy() end end -- if Part:IsA("Attachment") or Part:IsA("StringValue") or Part:IsA("Shirt") or Part:IsA("Pants") or Part:IsA("Vector3Value") or Part:IsA("WrapTarget") or Part:IsA("Folder") or Part:IsA("Motor6D") or Part:IsA("BodyColors") then Part:Destroy() end -- pcall(function() Part.CanCollide = false end) end -- delay(Time, function() Clone:Destroy() end) end -- function Lynx:CloneCharacter2(Player, Color, Enabled, Time, Material, Transparency, Parent) local Model = NewInstance("Model") Model.Name = "Model" Model.Parent = Parent -- for i,v in pairs(Player.Character:GetChildren()) do if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then local ClonedPart = Instance.new("Part") ClonedPart.Anchored = true ClonedPart.CanCollide = false ClonedPart.Position = v.Position ClonedPart.Parent = Model ClonedPart.Material = Enum.Material[Material] ClonedPart.Shape = Enum.PartType.Block ClonedPart.Transparency = Transparency ClonedPart.Color = Color ClonedPart.Size = v.Size + NewVector3(0.01,0.01,0.01) ClonedPart.Name = v.Name ClonedPart.Rotation = v.Rotation end end -- if Enabled then delay(Time, function() Model:Destroy() end) end end -- function Lynx:CalculateAbsolutePosition(Player) if Lynx:GetPlayerStatus(Player) then local root = Player.Character.HumanoidRootPart local character = Player.Character -- local currentPosition = root.Position local currentTime = tick() -- Wait() -- 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 -- function Lynx:GetOrigin(Origin) if Origin == "Head" then local Object, Humanoid, RootPart = Lynx:ValidateClient(LocalPlayer) local Head = Object:FindFirstChild("Head") -- if Head and Head:IsA("RootPart") then return Head.CFrame.Position end elseif Origin == "Torso" then local Object, Humanoid, RootPart = Lynx:ValidateClient(LocalPlayer) -- if RootPart then return RootPart.CFrame.Position end elseif Origin == "Handle" then local Tool = Lynx:GetTool() -- if Tool then return Tool.Handle.CFrame.Position end end -- return Workspace.CurrentCamera.CFrame.Position end -- function Lynx:HitSound(Id, Volume, Pitch) local Sound = Instance.new("Sound", Workspace); local PitchSound = Instance.new("PitchShiftSoundEffect", Sound) -- Sound.SoundId = "rbxassetid://".. Id .."" Sound.Volume = Volume PitchSound.Octave = Pitch Sound:Play() Sound.Ended:Connect(function() Sound:Destroy() PitchSound:Destroy() end) end -- function Lynx:ValidateArguments(Args, RayMethod) local Matches = 0 -- if #Args < RayMethod.ArgCountRequired then return false end -- for Pos, Argument in next, Args do if typeof(Argument) == RayMethod.Args[Pos] then Matches = Matches + 1 end end -- return Matches >= RayMethod.ArgCountRequired end -- function Lynx:GetDirection(Origin, Position) return (Position - Origin).Unit * 1000 end -- for Index = 1, 4 do local line = Lynx:newDrawing("Line",{ Visible = true, Color = NewRGB(255,255,255), Thickness = 2, ZIndex = 2, Transparency = 1 }) -- local line_outline = Lynx:newDrawing("Line",{ Visible = true, Color = Color3.fromRGB(0, 0, 0), Thickness = 4, ZIndex = 1, Transparency = 1 }) -- utility.Cursor.Lines[Index] = line utility.Cursor.Outlines[Index] = line_outline end -- for Index = 1, 2 do local Square = Lynx:newDrawing("Square",{ Visible = true, Size = NewVector2(2, 2), Color = NewRGB(255,255,255), Filled = true, ZIndex = 1000, Transparency = 1 }) utility.Cursor.Dots[Index] = Square end -- for Index = 1, 5 do local FieldOfView = Lynx:newDrawing("Circle",{ Visible = false, Color = NewRGB(255,255,255), Thickness = 1, ZIndex = 2, Transparency = 0.5, Filled = true }) utility.Renders[Index] = FieldOfView end -- utility.Parts[1] = NewInstance("Part") utility.Parts[1].Anchored = false utility.Parts[1].CanCollide = false utility.Parts[1].Parent = game.Workspace utility.Parts[1].Material = Enum.Material.Neon utility.Parts[1].Shape = Enum.PartType.Block utility.Parts[1].Transparency = 0.8 utility.Parts[1].Color = Color3.fromRGB(255,255,255) -- for Index = 6, 7 do utility.Renders[Index] = Lynx:newDrawing("Line", {Visible = true, Color = Color3.fromRGB(255, 255, 255), Thickness = 1, ZIndex = 1, Transparency = 1}) end -- utility.Renders[6].Thickness = 1 utility.Renders[7].Color = Color3.fromRGB(255, 255, 255) utility.Renders[7].Thickness = 3 utility.Renders[6].ZIndex = 999999 utility.Renders[7].ZIndex = 1 utility.Renders[5].Radius = 2 -- local Visualize = Library:New3DCircle() Visualize.ZIndex = 4 Visualize.Visible = false Visualize.Transparency = 1 Visualize.Color = Color3.fromRGB(255,255,255) Visualize.Thickness = 1 Visualize.Position = LocalPlayer.Character.HumanoidRootPart.Position Visualize.Radius = 20 -- local Size = {200, 20} local Position = {10,(Workspace.CurrentCamera.ViewportSize.Y/2)-50} -- Visuals["KeyBindList"] = { ["Drawings"] = { Accent = Lynx:newDrawing("Square", {Size = NewVector2(Size[1] - 2,1.5), Color = Color3.fromRGB(0,193,255), Visible = false , Position = NewVector2(Position[1] + 1, Position[2]), Filled = true, ZIndex = 999}), Text = Lynx:newDrawing("Text", {Text = "Keybinds", Color = NewRGB(255,255,255), Size = 13, Center = false, Font = 1, Visible = false, Position = NewVector2(79,Position[2]+2), Outline = true, ZIndex = 9999}), Frame = Lynx:newDrawing("Square", {Size = NewVector2(Size[1],Size[2]), Visible = false, Color = NewRGB(0, 0, 0), Position = NewVector2(Position[1],Position[2]), Filled = true}), Inner = Lynx:newDrawing("Square", {Size = NewVector2(Size[1]-2,Size[2]-2), Visible = false , Color = NewRGB(30, 30, 30), Position = NewVector2(Position[1]+1,Position[2]+1), Filled = true}), Gradient = Lynx:newDrawing("Image", {Size = NewVector2(Size[1]-2,Size[2]-2), Visible = false , Position = NewVector2(Position[1]+1,Position[2]+1), Transparency = 1, Data = game:HttpGet("https://raw.githubusercontent.com/portallol/luna/main/gradient_new.png"), Transparency = 0.5}), Key = Lynx:newDrawing("Text", {Text = "", Color = NewRGB(255,255,255), Size = 13, Center = false, Font = 1, Visible = false, Position = NewVector2(13,Position[2]+17), Outline = true, ZIndex = 9999}), }, ["Text"] = "" } -- function Visuals.KeyBindList.SetVisibleList(Bool) for _, Drawing in next, Visuals["KeyBindList"]["Drawings"] do Drawing.Visible = Bool end end -- function Visuals.KeyBindList.AddValue(Bool, Bool2, Name, Key) if Bool and Bool2 then Visuals["KeyBindList"]["Text"] ..= ("%s\n"):format("".. Name .." [" .. Key .. "] ") end end end -- Combat do local Silent_Aim_Tab = Window:Tab{Name = 'Silent Aim', icon = "rbxassetid://6034509987"} local Aim_Assist_Tab = Window:Tab{Name = 'Assist Tab', icon = "rbxassetid://4483345998"} local On_Hit = Window:Tab{Name = 'Settings', icon = "rbxassetid://3605022185"} -- local Aimbot = Aim_Assist_Tab:Sector{Side = 1} do Aimbot:Title{Title = 'Aim Assist'} -- THL = Aimbot:Toggle{Name = 'Enabled',flag = 'Aim Assist Enabled'} -- S = THL:Settings() -- S:Keybind{name = 'Key', flag = "Aim Assist Key", type = 1, callback = function(Bool) if Bool and flags["Aim Assist Enabled"] then Lynx.Assist.Target = Lynx:GetClosestPlayer() end end} -- S:Toggle{Name = 'Sticky Aim', flag = 'Sticky Aim'} -- Aimbot:Input({Name = "Prediction:", Flag = "Aim Assist Prediction", Focuses = true, Editable = true}) -- THL = Aimbot:Dropdown{Name = 'Hit-Part', flag = 'Aim Assist HitPart', options = bodyParts, min = 1} -- Aimbot:Toggle{Name = 'Smoothness',flag = 'Smoothness'} -- Aimbot:Slider{Name = 'Amount', flag = 'Smoothness Amount', min = 1, max = 100, default = 1, float = 0.1} -- Aimbot:Dropdown{Name = 'Checks', flag = 'Aim_Assist_Checks', options = {"Visible", "Wall", "ForceField", "Knocked"}, min = 0} -- local serversideQqwdqQW = Aimbot:CreateSegment{Name = 'Stutter'} -- serversideQqwdqQW:Slider{flag = 'Stutter Amount', min = 0, max = 50, default = 0, float = 0.1} -- Aimbot:Slider{Name = 'Distance', flag = 'Aim Assist Distance', min = 1, max = 7500, default = 7500, float = 0.1} end -- local CameraShake = Aim_Assist_Tab:Sector{Side = 2} do CameraShake:Toggle{Name = "Camera Shake", flag = "Camera Shake"} -- CameraShake:Slider{Name = 'X', flag = 'X', min = 0.01, max = 5, default = 0.00001, float = 0.01} -- CameraShake:Slider{Name = 'Y', flag = 'Y', min = 0.01, max = 5, default = 0.00001, float = 0.01} -- CameraShake:Slider{Name = 'Z', flag = 'Z', min = 0.01, max = 5, default = 0.00001, float = 0.01} end -- FOV local FieldOfView = On_Hit:Sector{Side = 2} do FieldOfView:Title{Title = 'Field Of View', Description = "Only aimbots in the circle."} -- S = FieldOfView:CreateSegment{Name = 'Silent Aim FOV'} -- THL = S:Toggle{flag = 'Silent Aim FOV Enabled', callback = function(Bool) utility.Renders[1].Visible = Bool end} -- Sl = THL:Settings() -- Sl:Toggle{Name = "Filled", flag = 'Silent Aim FOV Filled', callback = function(Bool) utility.Renders[1].Filled = Bool end} -- S:Colorpicker{flag = "Silent Aim FOV Color", transparency = 0.5, callback = function() utility.Renders[1].Color = flags["Silent Aim FOV Color"].Color utility.Renders[1].Transparency = 1 - flags["Silent Aim FOV Color"].Alpha end} -- FieldOfView:Slider{Name = 'Radius', flag = 'Silent Aim FOV Radius', min = 1, max = 500, default = 1, float = 1, callback = function(Int) utility.Renders[1].Radius = Int end} -- S = FieldOfView:CreateSegment{Name = 'Aim Assist FOV'} -- THL = S:Toggle{flag = 'Aim Assist FOV Enabled', callback = function(Bool) utility.Renders[2].Visible = Bool end} -- Sl = THL:Settings() -- Sl:Toggle{Name = "Filled", flag = 'Aim Assist FOV Filled', callback = function(Bool) utility.Renders[2].Filled = Bool end} -- S:Colorpicker{flag = "Aim Assist FOV Color", transparency = 0.5, callback = function() utility.Renders[2].Color = flags["Aim Assist FOV Color"].Color utility.Renders[2].Transparency = 1 - flags["Aim Assist FOV Color"].Alpha end} -- FieldOfView:Slider{Name = 'Radius', flag = 'Aim Assist FOV Radius', min = 1, max = 500, default = 1, float = 0.1, callback = function(Int) utility.Renders[2].Radius = Int end} -- S = FieldOfView:CreateSegment{Name = 'Render Deadzone'} -- THL = S:Toggle{flag = 'Deadzone Enabled', callback = function(Bool) utility.Renders[3].Visible = Bool end} -- Sl = THL:Settings() -- Sl:Toggle{Name = "Filled", flag = 'Deadzone FOV Filled', callback = function(Bool) utility.Renders[3].Filled = Bool end} -- S:Colorpicker{flag = 'Deadzone Color', transparency = 0.5, callback = function() utility.Renders[3].Color = flags["Deadzone Color"].Color utility.Renders[3].Transparency = 1 - flags["Deadzone Color"].Alpha end} -- FieldOfView:Slider{Name = 'Radius', flag = 'Deadzone Radius', min = 1, max = 500, default = 1, float = 0.1, callback = function(Int) utility.Renders[3].Radius = Int end} end -- local GunShootSound = On_Hit:Sector{Side = 2} do GunShootSound:Title{Title = 'Custom Gun Sound'} GunShootSound:Toggle{Name = "Enabled", flag = "Custom Gun Sounds"} GunShootSound:Dropdown{Name = 'Sound', flag = 'Sound Effect', options = {"Bameware", "Skeet", "Bonk", "Lazer Beam", "Windows XP Error", "TF2 Hitsound", "TF2 Critical", "TF2 Bat", "Bow Hit", "Bow", "OSU", "Minecraft Hit", "Steve", "1nn", "Rust", "TF2 Pan", "Neverlose", "Mario"}, min = 1, max = 1} GunShootSound:Slider{Name = 'Volume', flag = 'Volume', min = 0, max = 30, default = 3, float = 0.5} GunShootSound:Slider{Name = 'Pitch', flag = 'Play Back Time', min = 0, max = 10, default = 0, float = 0.5} end -- Silent Aim local Silent_Aim = Silent_Aim_Tab:Sector{Side = 1} do Silent_Aim:Title{Title = 'Silent Aim'} S = Silent_Aim:CreateSegment{Name = 'On'} S:Dropdown{Name = 'Type', flag = 'Silent Aim Type', options = {"Target Aim", "Silent Aim"}, min = 1, max = 1} KHL = S:Toggle{Name = 'Enabled', flag = 'Silent Aim Enabled'} S = KHL:Settings() S:Keybind{name = 'Key', type = 1, flag = "Silent Aim Key", callback = function(Bool) if flags["Silent Aim Enabled"] == true then -- if flags["Silent Aim Key"].Active then Lynx.Silent.Target = Lynx:GetClosestPlayer() if not Lynx.Silent.Target then return end if Lynx.Silent.Target.Character and flags["Silent Aim Type"] == "Target Aim" and flags["RageBot"] == false then local currentHealth = Lynx.Silent.Target.Character:WaitForChild("Humanoid").Health -- if Find(flags["Silent Aim Notify"], "Locked") then ui:Notify{text = "Locked onto: ".. Lynx.Silent.Target.Name.. " (".. Lynx.Silent.Target.DisplayName .. ")", time = 2, style = "loading"} end -- if flags["Visualize Part Chams Enabled"] then Lynx:CloneCharacter2(Lynx.Silent.Target, flags["Visualize Part Chams Color"].Color, false, 0, flags["Visualize Part Chams Material"],flags["Visualize Part Chams Color"].Alpha, Workspace.Terrain["Backtrack"]) end -- if flags["Cham Player Enabled"] then Highlight = NewInstance("Highlight", Lynx.Silent.Target.Character) Highlight.Enabled = true Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop Highlight.FillColor = flags["Cham Player Color1"].Color Highlight.OutlineColor = flags["Cham Player Color2"].Color Highlight.OutlineTransparency = flags["Cham Player Color2"].Alpha Highlight.FillTransparency = flags["Cham Player Color1"].Alpha end -- --[[Lynx.Connections["On-Hit"] = Lynx.Silent.Target.Character:WaitForChild("Humanoid").HealthChanged:Connect(function(newHealth) if newHealth < currentHealth then if Find(flags["Silent Aim Notify"], "Hit Log") then ui:Notify{text = "".. Lynx.Silent.Target.Name.. " got hit for: ".. Floor(Abs(newHealth - currentHealth)), time = 5, style = "loading"} end end currentHealth = newHealth end)]] -- Lynx.Connections["On-Respawn"] = Lynx.Silent.Target.CharacterAdded:Connect(function() Wait(2) if flags["Cham Player Enabled"] then Highlight = NewInstance("Highlight", Lynx.Silent.Target.Character) Highlight.Enabled = true Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop Highlight.FillColor = flags["Cham Player Color1"].Color Highlight.OutlineColor = flags["Cham Player Color2"].Color Highlight.OutlineTransparency = flags["Cham Player Color2"].Alpha Highlight.FillTransparency = flags["Cham Player Color1"].Alpha end end) end else if Lynx.Connections["On-Hit"] then Lynx.Connections["On-Hit"]:Disconnect() end -- if Lynx.Connections["On-Respawn"] then Lynx.Connections["On-Respawn"]:Disconnect() end -- if Find(flags["Silent Aim Notify"], "Unlocked") then ui:Notify{text = "Unlocked !", time = 2, style = "loading"} end -- utility.Parts[1].CFrame = CFrame.new(9999,9999,9999) LocalPlayer.Character.Humanoid.AutoRotate = true Workspace.Terrain["Backtrack"]:ClearAllChildren() -- for Index = 5, 7 do utility.Renders[Index].Visible = false end -- if Highlight then Highlight:Destroy() end end end end} S:Toggle{Name = 'Look-At', flag = 'Look-At'} Lynx.Connections["Anti Aim Viewer"] = {} S:Toggle{Name = 'Bypass Aim Viewer', flag = 'Bypass Aim Viewer', callback = function(Bool) if Bool then for i, v in pairs(LocalPlayer.Backpack:GetChildren()) do if v:IsA("Tool") and not Lynx.Connections["Anti Aim Viewer"][v] then Lynx.Connections["Anti Aim Viewer"][v] = v.Activated:Connect(Lynx.AimViwerBypass) end end for i, v in pairs(LocalPlayer.Character:GetChildren()) do if v:IsA("Tool") and not Lynx.Connections["Anti Aim Viewer"][v] then Lynx.Connections["Anti Aim Viewer"][v] = v.Activated:Connect(Lynx.AimViwerBypass) end end LocalPlayer.Character.ChildAdded:connect(function(v) if v:IsA("Tool") and not Lynx.Connections["Anti Aim Viewer"][v] then Lynx.Connections["Anti Aim Viewer"][v] = v.Activated:Connect(Lynx.AimViwerBypass) end end) LocalPlayer.CharacterAdded:connect(function(v) for i = 1, #Lynx.Connections["Anti Aim Viewer"] do Lynx.Connections["Anti Aim Viewer"][i]:Disconnect() Lynx.Connections["Anti Aim Viewer"][i] = nil end v.ChildAdded:connect(function(v) if v:IsA("Tool") and not Lynx.Connections["Anti Aim Viewer"][v] then Lynx.Connections["Anti Aim Viewer"][v] = v.Activated:Connect(Lynx.AimViwerBypass) end end) end) else for i = 1, #Lynx.Connections["Anti Aim Viewer"] do Lynx.Connections["Anti Aim Viewer"][i]:Disconnect() Lynx.Connections["Anti Aim Viewer"][i] = nil end end end} S:Toggle{Name = 'RageBot', flag = 'RageBot'} S:Toggle{Name = 'Auto-Shoot', flag = 'Auto-Shoot'} Silent_Aim:Input{Name = "Prediction:", flag = "Silent Aim Prediction", Focuses = true, Editable = true, callback = function(Text) Lynx.Silent.Prediction = flags["Silent Aim Prediction"] end} S:Toggle{Name = 'Auto Prediction', flag = 'Auto Prediction'} S:Toggle{Name = 'Use Ping', flag = 'Use Ping'} Silent_Aim:Dropdown{Name = 'Hit-Part', flag = 'Silent Aim HitPart', options = bodyParts, min = 1, default = {"HumanoidRootPart"}} Silent_Aim:Dropdown{Name = 'Checks', flag = 'Silent_Aim_Checks', options = {"Wall", "Visible", "ForceField", "Knocked"}, min = 0, max = 5} KHL = Silent_Aim:Toggle{Name = 'Resolver', flag = 'Resolver'} S = KHL:Settings() S:Keybind{name = 'Key', flag = "Resolver Key", type = 1} Silent_Aim:Dropdown{Name = 'Notify', flag = 'Silent Aim Notify', options = {"Locked", "Unlocked", "Hit Log", "Left"}, min = 1} end -- local AirPrediction = Silent_Aim_Tab:Sector{Side = 1} do AirPrediction:Toggle{Name = "Air Prediction", flag = "Hits more shots."} -- AirPrediction:Dropdown{Name = 'Method', flag = 'Air Prediction Method', options = {"Offset", "Part"}, default = {"Offset"}, min = 1, max = 1} -- AirPrediction:Input{Name = "Jump Offset:", flag = "Jump Offset", Focuses = true, Editable = true, callback = function(Text) Lynx.Silent.Offset = flags["Jump Offset"] end} -- AirPrediction:Dropdown{Name = 'Part', flag = 'Air Prediction Part', options = bodyParts, min = 1, max = 1} end -- local VisualizeSilent = Silent_Aim_Tab:Sector{Side = 2} do VisualizeSilent:Title{Title = 'Visualize', Description = "Shows ur targets position"} -- S = VisualizeSilent:CreateSegment{Name = 'Part'} KHS = S:Toggle{flag = 'Visualize Part Enabled'} S:Colorpicker{flag = "Visualize Part Color", callback = function() utility.Parts[1].Color = flags["Visualize Part Color"].Color utility.Parts[1].Transparency = flags["Visualize Part Color"].Alpha end} Sl = KHS:Settings() Sl:Toggle{Name = "Show hitbox", flag = 'Hitbox', callback = function() utility.Parts[1].Size = Vector3.new(LocalPlayer.Character.HumanoidRootPart.Size.X * 3 ,5,LocalPlayer.Character.HumanoidRootPart.Size.X * 3) end} Sl:Toggle{Name = "Show Prediction", flag = 'Show Prediction'} VisualizeSilent:Slider{Name = 'Size', flag = 'Visualize Part Size', min = 1, max = 50, default = 1, callback = function() utility.Parts[1].Size = Vector3.new(flags["Visualize Part Size"],flags["Visualize Part Size"],flags["Visualize Part Size"]) if flags["Hitbox"] then utility.Parts[1].Size = Vector3.new(LocalPlayer.Character.HumanoidRootPart.Size.X * 3 ,5,LocalPlayer.Character.HumanoidRootPart.Size.X * 3) end end} VisualizeSilent:Dropdown{Name = 'Material', flag = 'Part Material', options = {"ForceField", "Neon", "Plastic"}, min = 1,max = 1} -- S = VisualizeSilent:CreateSegment{Name = 'Visualize Part Chams'} S:Toggle{flag = 'Visualize Part Chams Enabled'} S:Colorpicker{flag = "Visualize Part Chams Color"} VisualizeSilent:Dropdown{Name = 'Material', flag = 'Visualize Part Chams Material', options = {"ForceField", "Neon", "Plastic"}, min = 1,max = 1} end -- local VisualizeDrawings = Silent_Aim_Tab:Sector{Side = 2} do S = VisualizeDrawings:CreateSegment{Name = 'Cham Player'} S:Toggle{flag = 'Cham Player Enabled'} S:Colorpicker{flag = "Cham Player Color1"} S:Colorpicker{flag = "Cham Player Color2"} -- S = VisualizeDrawings:CreateSegment{Name = 'Draw Tracer'} KHS = S:Toggle{flag = 'Draw Tracer Enabled', function() utility.Renders[6].Visible = false utility.Renders[7].Visible = false end} S:Colorpicker{flag = "Draw Tracer Settings", callback = function() utility.Renders[6].Color = flags["Draw Tracer Settings"].Color utility.Renders[6].Transparency = 1 - flags["Draw Tracer Settings"].Alpha end} Sl = KHS:Settings() Sl:Toggle{flag = 'Tracer Outline', callback = function(Bool) utility.Renders[7].Visible = false end} VisualizeDrawings:Slider{Name = 'Thickness', flag = 'Draw Tracer Thickness', min = 0, max = 3, default = 1, float = 0.1, callback = function(Int) utility.Renders[6].Thickness = Int utility.Renders[7].Thickness = Int + 3 end} -- S = VisualizeDrawings:CreateSegment{Name = 'Draw Dot'} S:Toggle{flag = 'Draw Dot', callback = function(Bool) if not Bool then utility.Renders[5].Visible = false end end} S:Colorpicker{flag = "Draw Dot Settings", callback = function() utility.Renders[5].Transparency = 1 - flags["Draw Dot Settings"].Alpha utility.Renders[5].Color = flags["Draw Dot Settings"].Color end} utility.Renders[5].Filled = true utility.Renders[5].Radius = 10 end -- local On_Hit_Sector = On_Hit:Sector{Side = 1} do On_Hit_Sector:Title{Title = 'On-Hit', Description = "Visualizes on target hit"} -- On_Hit_Sector:Toggle{Name = 'Enabled', flag = "On-Hit-Raycast"} -- local Hit_Chams = On_Hit:Sector{Side = 1} do Hit_Chams:Title{Title = 'Hit-Chams', Description = "Visualizes a clone"} S = Hit_Chams:CreateSegment{Name = 'Enabled'} S:Toggle{flag = 'Hit Chams Enabled'} S:Colorpicker{flag = "Hit Chams Color"} Hit_Chams:Toggle{flag = 'Optimized Chams', Name = "Optimized"} Hit_Chams:Dropdown{Name = 'Material', flag = 'Hit Chams Material', options = {"ForceField", "Neon", "Plastic"}, default = {"ForceField"}, min = 1, max = 1} Hit_Chams:Slider{Name = 'Time', flag = 'Hit Chams Time', min = 0.1, max = 5, default = 1, float = 0.1} end -- local Hit_Chams = On_Hit:Sector{Side = 1} do Hit_Chams:Title{Title = 'Hit-Markers', Description = "Shows a crosshair when shot"} S = Hit_Chams:CreateSegment{Name = 'Enabled'} S:Toggle{flag = 'Hit Markers Enabled'} S:Colorpicker{flag = "Hit Markers Color"} Hit_Chams:Dropdown{Name = 'Type', flag = 'HitMarker Type', options = {"3D", "2D"}, min = 1, max = 1} Hit_Chams:Slider{Name = 'Time', flag = 'Hit Markers Time', min = 0.1, max = 5, default = 1, float = 0.1} end -- local Hit_Sounds = On_Hit:Sector{Side = 1} do Hit_Sounds:Title{Title = 'Hit Sounds', Description = "Plays a sound when hit"} Hit_Sounds:Toggle{Name = "Hit Sound", flag = 'Hit Sound'} Hit_Sounds:Dropdown{Name = 'Sound', flag = 'Hit Sound Effect', options = {"Bameware", "Skeet", "Bonk", "Lazer Beam", "Windows XP Error", "TF2 Hitsound", "TF2 Critical", "TF2 Bat", "Bow Hit", "Bow", "OSU", "Minecraft Hit", "Steve", "1nn", "Rust", "TF2 Pan", "Neverlose", "Mario"}, min = 1, max = 1} Hit_Sounds:Slider{Name = 'Volume', flag = 'Hit Sound Volume', min = 0.1, max = 10, default = 10, float = 0.1} Hit_Sounds:Slider{Name = 'Pitch', flag = 'Hit Sound Pitch', min = 0.1, max = 10, default = 1, float = 0.1} end -- local Hit_Effects = On_Hit:Sector{Side = 1} do S = Hit_Effects:CreateSegment{Name = 'Hit Effects'} S:Toggle{flag = 'Hit Effects'} S:Colorpicker{flag = "Hit Effects Color"} Hit_Effects:Dropdown{Name = 'Texture', flag = 'Hit Effect', options = {"Bubble", "Confetti"}, min = 1, max = 1} end end end Window:Separator() -- ESP do local ESP = Window:Tab{Name = 'ESP', icon = "rbxassetid://6031251516"} -- local ESP1 = ESP:Sector{Side = 1} ESP1:Title{Title = 'ESP'} do ESP1:Toggle{Name = 'Enabled', flag = 'PlayerESP_Enabled'} S = ESP1:CreateSegment{Name = 'Name'} S:Toggle{flag = 'PlayerESP_Name'} S:Colorpicker{flag = "PlayerESP_Name_Color"} S = ESP1:CreateSegment{Name = 'Box'} THL = S:Toggle{flag = 'PlayerESP_Box'} S:Colorpicker{flag = "PlayerESP_Box_Color1", default = {Color = NewRGB(255, 255, 255), Alpha = 1}} S:Colorpicker{flag = "PlayerESP_Box_Color2", default = {Color = NewRGB(0, 0, 0), Alpha = 1}} Se = THL:Settings() Se:Toggle{Name = 'Corner Boxes', flag = 'PlayerESP_Box_Type'} S = ESP1:CreateSegment{Name = 'Healthbar'} THL = S:Toggle{flag = 'PlayerESP_HealthBar'} S:Colorpicker{flag = "PlayerESP_HealthBar_Color_High", default = {Color = Color3.fromRGB(0, 255, 0), Alpha = 1}} S:Colorpicker{flag = "PlayerESP_HealthBar_Color_Low", default = {Color = Color3.fromRGB(255, 0, 0), Alpha = 1}} Se = THL:Settings() Se:Toggle{Name = 'Apply Gradient', flag = 'PlayerESP_HealthBarGradient'} Se:Toggle{Name = 'Health Text', flag = 'PlayerESP_HealthNumber'} ESP1:Slider{Name = 'Thickness', flag = 'PlayerESP_HealthBar_Thickness', min = 2, max = 5, default = 2, float = 0.01} S = ESP1:CreateSegment{Name = 'Weapon'} S:Toggle{flag = 'PlayerESP_Weapon'} S:Colorpicker{flag = "PlayerESP_Weapon_Color"} S = ESP1:CreateSegment{Name = 'Flag'} S:Toggle{flag = 'PlayerESP_Flags'} S:Colorpicker{flag = "PlayerESP_FlagsColor"} ESP1:Dropdown{Name = 'Flags:', flag = 'PlayerESP_Flag_Options', options = {"Distance", "Money", "Knocked"}, min = 0} end -- local ESP_Settings = ESP:Sector{Side = 2} ESP_Settings:Title{Title = 'Out Of View'} do S = ESP_Settings:CreateSegment{Name = 'Out of view'} S:Toggle{flag = 'PlayerESP_Arrows'} S:Colorpicker{flag = "PlayerESP_ArrowColor", alpha = 0.5} S:Colorpicker{flag = "PlayerESP_ArrowOutline"} ESP_Settings:Slider{Name = 'Arrow Size', flag = 'PlayerESP_ArrowSize', min = 0, max = 30, default = 12, float = 1} ESP_Settings:Slider{Name = 'Arrow Radius', flag = 'PlayerESP_ArrowRadius', min = 0, max = 100, default = 50, float = 1} -- S = ESP_Settings:CreateSegment{Name = 'Box-Fill'} S:Toggle{flag = 'PlayerESP_BoxFill'} S:Colorpicker{flag = "PlayerESP_BoxFill_Color"} -- ESP_Settings:Slider{Name = 'Render Distance', flag = 'ESP Distance', min = 0, max = 10000, default = 7500, float = 1} end -- local ESP_Chams = ESP:Sector{Side = 2} do ESP_Chams:Title{Title = 'Chams'} -- S = ESP_Chams:CreateSegment{Name = 'Enabled'} S:Toggle{flag = 'PlayerESP_Chams', callback = function(Bool) for Index, Player in pairs(Players:GetPlayers()) do if Player ~= LocalPlayer then if Bool then Lynx:Cham_Character(Player, flags["Highlight_Fill_Color"].Color, flags["Highlight_Outline_Color"].Color, flags["Highlight_Fill_Color"].Alpha, flags["Highlight_Outline_Color"].Alpha) else Lynx:Cham_Remove(Player) end end end end} S:Colorpicker{flag = "Highlight_Fill_Color", default = {Color = Color3.fromRGB(0, 255, 0), Alpha = 0.5}, callback = function() for i,v in pairs(game.CoreGui.Folder:GetChildren()) do v.FillColor = flags["Highlight_Fill_Color"].Color v.FillTransparency = flags["Highlight_Fill_Color"].Alpha end end} S:Colorpicker{flag = "Highlight_Outline_Color", default = {Color = Color3.fromRGB(255, 255, 0), Alpha = 0}, callback = function() for i,v in pairs(game.CoreGui.Folder:GetChildren()) do v.OutlineColor = flags["Highlight_Outline_Color"].Color v.OutlineTransparency = flags["Highlight_Outline_Color"].Alpha end end} end end -- Visuals do local Visuals = Window:Tab{Name = 'Visuals', icon = "rbxassetid://6031075931"} -- local GunShootSound = Visuals:Sector{Side = 1} do GunShootSound:Title{Title = 'Custom Stomps'} GunShootSound:Toggle{Name = "Enabled", flag = "Custom Stomps"} GunShootSound:Dropdown{Name = 'Stomp', flag = 'Stomp Effect', options = {"Glitch","Explosion","Airstrike","Heart","UFO"}, min = 1, max = 1} end -- local Crosshair = Visuals:Sector{Side = 2} Crosshair:Title{Title = 'Crosshair'} do S = Crosshair:CreateSegment{Name = 'Enabled'} THS = S:Toggle{flag = 'Cursor', callback = LPH_JIT(function(Bool) if flags["Cursor"] then InputService.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.ForceHide for i,v in next, utility.Cursor.Outlines do v.Visible = true end -- for i,v in next, utility.Cursor.Lines do v.Visible = true end else InputService.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.ForceShow for i,v in next, utility.Cursor.Outlines do v.Visible = false end -- for i,v in next, utility.Cursor.Lines do v.Visible = false end end end)} S:Colorpicker{flag = "Cursor Color", callback = LPH_JIT(function(Color) for i,v in next, utility.Cursor.Lines do v.Color = flags["Cursor Color"].Color end -- utility.Cursor.Dots[1].Color = flags["Cursor Color"].Color end)} -- S = THS:Settings() -- S:Toggle{Name = "Dot", flag = 'Dot', callback = LPH_JIT(function(Bool) utility.Cursor.Dots[1].Visible = Bool utility.Cursor.Dots[2].Visible = Bool end)} -- S = Crosshair:CreateSegment{Name = 'Dynamic'} -- S:Toggle{flag = 'Dynamic Gap Enabled'} -- S:Slider{Name = "Speed", flag = 'Dynamic Gap Speed', min = 0, max = 5, default = 1, float = 0.01} -- S = Crosshair:CreateSegment{Name = 'Spin'} -- S:Toggle{flag = 'Spin'} -- S:Slider{flag = 'Spin Speed', min = 0, max = 360, default = 90, float = 1} -- Crosshair:Slider{Name = "Radius", flag = 'Cursor Radius', min = 0, max = 50, default = 5, float = 0.1} -- Crosshair:Slider{Name = "Gap", flag = 'Cursor Gap', min = 0, max = 50, default = 10, float = 0.1} -- Crosshair:Slider{Name = "Thickness", flag = 'Cursor Thickness', min = 0, max = 3, default = 1.5, float = 0.01, callback = LPH_JIT(function(int) for i,v in next, utility.Cursor.Outlines do v.Thickness = int + 2 end -- for i,v in next, utility.Cursor.Lines do v.Thickness = int end end)} end -- local DaHoodCursor = Visuals:Sector{Side = 2} do DaHoodCursor:Title{Title = 'Da Hood Cursor'} DaHoodCursor:Toggle{Name = "Spin", flag = "Da Hood Cursor Spin", callback = function() LocalPlayer.PlayerGui.MainScreenGui.Aim.Rotation = 0 end} DaHoodCursor:Slider{Name = 'Speed', flag = 'Cursor Spin Speed for DH', min = 2, max = 10, default = 2, float = 0.01} DaHoodCursor:Colorpicker{Name = "Color", flag = "Cursor Color", callback = function() LocalPlayer.PlayerGui.MainScreenGui.Aim.BackgroundColor3 = flags["Cursor Color"].Color for i,v in next, LocalPlayer.PlayerGui.MainScreenGui.Aim:GetChildren() do v.BackgroundColor3 = flags["Cursor Color"].Color end end} end end -- World do local World_Visuals = Window:Tab{Name = 'World', icon = "rbxassetid://6026568295"} -- local World = World_Visuals:Sector{Side = 1} -- World:Title{Title = 'World'} do World:Toggle{Name = 'Enabled', flag = "World Visuals Enabled", callback = function(Bool) if not Bool then for i, v in pairs(utility.LightingBackUp) do Lighting[i] = v end end end} S = World:CreateSegment{Name = 'Ambient'} S:Toggle{flag = 'Ambient Enabled'} S:Colorpicker{flag = "Ambient1 Color"} S:Colorpicker{flag = "Ambient2 Color"} S = World:CreateSegment{Name = 'Color Shift'} S:Toggle{flag = 'Color Shift'} S:Colorpicker{flag = 'Color Shift1'} S:Colorpicker{flag = 'Color Shift2'} S = World:CreateSegment{Name = 'Fog'} S:Toggle{flag = 'Fog Enabled'} S:Colorpicker{flag = "Fog Color"} World:Slider{Name = 'Fog Start', flag = 'Fog Start', min = 0, max = 10000, default = 7500, float = 1} World:Slider{Name = 'Fog End', flag = 'Fog Start', min = 0, max = 10000, default = 7500, float = 1} S = World:CreateSegment{Name = 'Time'} S:Toggle{flag = 'Time Enabled'} S:Slider{flag = 'Time', min = 1, max = 24, default = 12, float = 1} World:Toggle{Name = 'Custom Skybox', flag = "Custom Skybox"} World:Dropdown{Name = 'Skybox:', flag = 'Skybox', options = {"Normal", "DoomSpire", "CatGirl", "Vibe", "Blue Aurora","Purple Clouds","Purple Nebula","Purple and Blue","Vivid Skies","Twighlight"}, min = 1, max = 1, callback = function() local Sky = Lighting:FindFirstChildWhichIsA("Sky") if flags["Custom Skybox"] then Sky.SkyboxLf = "rbxassetid:// "..utility.SkyBoxes[flags["Skybox"]][1].."" Sky.SkyboxBk = "rbxassetid:// "..utility.SkyBoxes[flags["Skybox"]][2].."" Sky.SkyboxDn = "rbxassetid:// "..utility.SkyBoxes[flags["Skybox"]][3].."" Sky.SkyboxFt = "rbxassetid:// "..utility.SkyBoxes[flags["Skybox"]][4].."" Sky.SkyboxRt = "rbxassetid:// "..utility.SkyBoxes[flags["Skybox"]][5].."" Sky.SkyboxUp = "rbxassetid:// "..utility.SkyBoxes[flags["Skybox"]][6].."" else Sky.SkyboxLf = "rbxassetid://600886090" Sky.SkyboxBk = "rbxassetid://600830446" Sky.SkyboxDn = "rbxassetid://600831635" Sky.SkyboxFt = "rbxassetid://600832720" Sky.SkyboxRt = "rbxassetid://600833862" Sky.SkyboxUp = "rbxassetid://600835177" end end} end -- local Effects = World_Visuals:Sector{Side = 1} Effects:Title{Title = 'World Effects'} do Effects:Toggle{Name = "Enabled", flag = 'Color Correction', callback = function(Bool) ColorCorrectionEffect.Enabled = Bool end} -- Effects:Colorpicker{Name = "Tint", flag = "Tint Color", callback = function() ColorCorrectionEffect.TintColor = flags["Tint Color"].Color end} -- Effects:Slider{Name = "Saturation", flag = 'Saturation', min = 0, max = 2, default = 0, float = 0.01, callback = function(s) ColorCorrectionEffect.Saturation = s end} -- Effects:Slider{Name = "Contrast", flag = 'Contrast', min = 0, max = 5, default = 0, float = 0.01, callback = function(s) ColorCorrectionEffect.Contrast = s end} -- Effects:Slider{Name = "Brightness", flag = 'Brightness', min = 0, max = 1, default = 0, float = 0.01, callback = function(s) ColorCorrectionEffect.Brightness = s end} -- end -- local Local = World_Visuals:Sector{Side = 2} Local:Title{Title = 'Local'} do S = Local:CreateSegment{Name = 'Bullet Tracers'} KHL = S:Toggle{flag = 'Bullet Tracers Enabled'} S:Colorpicker{flag = "Bullet Tracers Color1"} S:Colorpicker{flag = "Bullet Tracers Color2"} Sl = KHL:Settings() Sl:Toggle{Name = "Rainbow", flag = 'Rainbow Bullet Tracers'} Local:Dropdown{Name = 'Texture:', flag = 'Bullet Tracers Texture', options = {"1", "2", "3", "4", "5", "6", "7", "8", "9"}, min = 1, max = 1} Local:Dropdown{Name = 'Type:', flag = 'Bullet Tracers Mode', options = {"Local", "Global"}, min = 1, max = 1} S = Local:CreateSegment{Name = 'Impact Points'} KHL = S:Toggle{flag = 'Impact Points Enabled'} S:Colorpicker{flag = "Impact Points Color"} Local:Dropdown{Name = 'Material:', flag = 'Impact Points Material', options = {"ForceField", "Neon", "Plastic"}, min = 1, max = 1} end end Window:Separator() -- Character do local Character = Window:Tab{Name = 'Character', icon = "rbxassetid://6031215978"} -- local Movement = Character:Sector{Side = 1} do Movement:Title{Title = 'Movement', Description = "Movement Stuffs >w<"} -- local Speed = Movement:CreateSegment{Name = 'Speed'} Speed:Toggle{flag = 'Speed Enabled'} Movement:Slider{Name = "Speed", flag = 'Speed Amount', min = 1, max = 100, default = 1, editable = true} Movement:Slider{Name = "Float Height", flag = 'Float Height', min = 1, max = 100, default = 1, editable = true} S = Speed:Settings() S:Keybind{flag = "Speed Key", name = 'Key', type = 1} S:Toggle{Name = "Auto Jump", flag = 'Auto Jump'} S:Toggle{Name = "Float", flag = 'Float'} -- local BHOP = Movement:CreateSegment{Name = "B-Hop"} BHOP:Toggle{flag = 'Bunny Hop'} Movement:Slider{Name = "Speed", flag = 'Bunny Hop Amount', min = 1, max = 10, default = 1, editable = true} S = BHOP:Settings() S:Keybind{Flag = "Bhop Key", name = 'Key', type = 1} -- local Fly = Movement:CreateSegment{Name = 'Fly'} Fly:Toggle{flag = 'Fly Enabled', callback = function() LocalPlayer.Character.HumanoidRootPart.Anchored = false end} Movement:Slider{Name = "Fly Speed", flag = 'Fly Amount', min = 1, max = 200, default = 1, editable = true} S = Fly:Settings() S:Keybind{Flag = "Fly Key", name = 'Key', type = 1, callback = function() LocalPlayer.Character.HumanoidRootPart.Anchored = false end} end -- local Character_Customization = Character:Sector{Side = 2} do S = Character_Customization:CreateSegment{Name = 'Character Material'} KHL = S:Toggle{flag = 'Forcefield Character Enabled', callback = function() for i, v in pairs(LocalPlayer.Character:GetChildren()) do if v:IsA("BasePart") then v.Material = Enum.Material.Plastic end end end} S:Colorpicker{flag = "Forcefield Character Color"} Se = KHL:Settings() Se:Toggle{Name = "Rainbow", flag = "Rainbow Character"} S = Character_Customization:CreateSegment{Name = 'Gun Material'} KHL = S:Toggle{flag = 'Gun Material Enabled'} S:Colorpicker{flag = "Gun Material Color"} Sl = KHL:Settings() Sl:Toggle{Name = "Rainbow", flag = 'Rainbow Gun'} Sl:Toggle{Name = "Sine", flag = 'Sine Gun'} Character_Customization:Dropdown{Name = 'Material:', flag = 'Gun Material', options = {"ForceField", "Neon", "Plastic"}, min = 1, max = 1} end -- local Custom_Characters = Character:Sector{Side = 2} do Custom_Characters:Title{Title = 'Custom Character'} Custom_Characters:Toggle{Name = "Enabled", flag = "Custom Character", callback = function() local function Weld(x,y) local W = Instance.new("Weld") W.Part0 = x W.Part1 = y local CJ = CFrame.new(x.Position) local C0 = x.CFrame:inverse()*CJ local C1 = y.CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = x end if flags["Custom Character"] then for i,v in pairs(LocalPlayer.Character:GetDescendants()) do if v:IsA("BasePart") or v:IsA("Decal") then v.Transparency = 1 end end -- Lynx["Connections"]["Custom Character"] = LocalPlayer.CharacterAdded:Connect(function() if Part then Part:Destroy() end -- delay(5, function() Part = Instance.new("Part", Workspace) Part.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame Part.CanCollide = false -- Character = Instance.new("SpecialMesh") Character.Parent = Part Character.MeshType = "FileMesh" -- Character.Scale = utility.Characters[flags["CharacterFunny1"]][1] Character.TextureId= "http://www.roblox.com/asset/?id=".. utility.Characters[flags["CharacterFunny1"]][2] .. "" Character.MeshId="http://www.roblox.com/asset/?id=".. utility.Characters[flags["CharacterFunny1"]][3] .."" -- Weld(LocalPlayer.Character.HumanoidRootPart, Part) -- for i,v in pairs(LocalPlayer.Character:GetDescendants()) do if v:IsA("BasePart") or v:IsA("Decal") then v.Transparency = 1 end end end) end) Part = Instance.new("Part", Workspace) Part.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame Part.CanCollide = false -- Character = Instance.new("SpecialMesh") Character.Parent = Part Character.MeshType = "FileMesh" -- Character.Scale = utility.Characters[flags["CharacterFunny1"]][1] Character.TextureId= "http://www.roblox.com/asset/?id=".. utility.Characters[flags["CharacterFunny1"]][2] .. "" Character.MeshId="http://www.roblox.com/asset/?id=".. utility.Characters[flags["CharacterFunny1"]][3] .."" -- Weld(LocalPlayer.Character.HumanoidRootPart, Part) else if Part then Part:Destroy() end -- for i,v in pairs(LocalPlayer.Character:GetDescendants()) do if v:IsA("BasePart") or v:IsA("Decal") and v.Name ~= "CUFF" then v.Transparency = 0 end -- if v.Name == "CUFF" then v:Destroy() end -- if v.Name == "LeftLowerArmFake" or v.Name == "HumanoidRootPart" or v.Name == "RightLowerArmFake" or v.Name == "LeftLowerLegFake" or v.Name == "RightLowerLegFake" then v.Transparency = 1 end end -- if Lynx["Connections"]["Custom Character"] then Lynx["Connections"]["Custom Character"]:Disconnect() end -- if Lynx:GetTool() then Lynx:GetTool().Handle.Transparency = 0 end end end} Custom_Characters:Dropdown{Name = 'Character', flag = 'CharacterFunny1', options = {"AmongUs", "SpongeBob", "Patrick", "Maxell", "Brian", "CapyBara", "Chicken", "Sonic"}, min = 1, max = 1, callback = function() if flags["Custom Character"] then Character.Scale = utility.Characters[flags["CharacterFunny1"]][1] Character.TextureId = "http://www.roblox.com/asset/?id=".. utility.Characters[flags["CharacterFunny1"]][2] .. "" Character.MeshId ="http://www.roblox.com/asset/?id=".. utility.Characters[flags["CharacterFunny1"]][3] .."" end end} end -- local GripPosition = Character:Sector{Side = 2} do GripPosition:Title{Title = 'Grip Position', Description = "Changes Tool Position"} -- GripPosition:Toggle{Name = "Enabled", flag = 'Grip Position'} -- GripPosition:Slider{Name = 'X', flag = 'XX', min = -10, max = 10, default = 1, float = 0.01} GripPosition:Slider{Name = 'Y', flag = 'YY', min = -10, max = 10, default = 1, float = 0.01} GripPosition:Slider{Name = 'Z', flag = 'ZZ', min = -10, max = 10, default = 1, float = 0.01} end end -- Anti-Aim do local Anti = Window:Tab{Name = 'Anti-Aim', icon = "rbxassetid://6034754445"} -- local CFrame_Desync = Anti:Sector{Side = 1} do CFrame_Desync:Title{Title = 'CFrame Desync', Description = "Serverside Position Changer"} -- local THS = CFrame_Desync:Toggle{Name = "Enabled", flag = 'CFrame Desync', callback = function() if utility.Desyncs.OldCFrame then LocalPlayer.Character.HumanoidRootPart.CFrame = utility.Desyncs.OldCFrame end end} -- S = THS:Settings() -- S:Keybind{flag = "CFrame Desync Key", name = 'Key', type = 1, callback = LPH_JIT(function(Bool) if flags["CFrame Desync"] then if not flags["CFrame Desync Key"].Active then VisualizeCFrame:SetPrimaryPartCFrame(NewCFrame(999,999,999)) end end -- if utility.Desyncs.OldCFrame then LocalPlayer.Character.HumanoidRootPart.CFrame = utility.Desyncs.OldCFrame end end)} -- CFrame_Desync:Dropdown{Name = 'Type', flag = 'CFrame Desync Preset', options = {"Nothing", "Upside Down", "Floor Plant", "Random", "Void"}, min = 1, max = 1} -- CFrame_Desync:Slider{Name = "Random Range", flag = 'Random Teleport Range', min = 0, max = 30, default = 12, float = 1} end -- local CFrame_Desync1 = Anti:Sector{Side = 1} do CFrame_Desync1:Title{Title = 'Visualize', Description = "Visualizes Serverside Position"} -- S = CFrame_Desync1:CreateSegment{Name = 'Enabled'} -- S:Toggle{flag = "Visualize CFrame Desync", callback = function() VisualizeCFrame:SetPrimaryPartCFrame(CFrame.new(999,999,999)) end} -- S:Colorpicker{flag = "CFrame Visualizer Color", callback = function() for _, Part in next, VisualizeCFrame:GetChildren() do if Part.Name ~= "HumanoidRootPart" then Part.Color = flags["CFrame Visualizer Color"].Color Part.Transparency = flags["CFrame Visualizer Color"].Alpha end end end} end -- local CFrame_Desync2 = Anti:Sector{Side = 1} do CFrame_Desync2:Title{Title = 'Custom Offset', Description = "Customize Your Position: XYZ"} -- CFrame_Desync2:Slider{Name = "X", flag = 'XXX', min = -50, max = 50, default = 0, float = 0.5} -- CFrame_Desync2:Slider{Name = "Y", flag = 'YYY', min = -50, max = 50, default = 0, float = 0.5} -- CFrame_Desync2:Slider{Name = "Z", flag = 'ZZZ', min = -50, max = 50, default = 0, float = 0.5} end -- local CFrame_Desync3 = Anti:Sector{Side = 1} do CFrame_Desync3:Title{Title = 'Custom Rotation', Description = "Customize Your Rotation: XYZ"} -- CFrame_Desync3:Slider{Name = "X", flag = 'X Rotation', min = -180, max = 180, default = 0, float = 1} -- CFrame_Desync3:Slider{Name = "Y", flag = 'Y Rotation', min = -180, max = 180, default = 0, float = 1} -- CFrame_Desync3:Slider{Name = "Z", flag = 'Z Rotation', min = -180, max = 180, default = 0, float = 1} -- CFrame_Desync3:Button{Name = 'Reset', callback = LPH_JIT(function() Window._FlagsSet["XXX"](0) Window._FlagsSet["YYY"](0) Window._FlagsSet["ZZZ"](0) Window._FlagsSet["X Rotation"](0) Window._FlagsSet["Y Rotation"](0) Window._FlagsSet["Z Rotation"](0) end)} end -- local Velocity_Desync = Anti:Sector{Side = 2} do Velocity_Desync:Title{Title = 'Anti-Lock', Description = "Messes up lockers prediction."} -- local KHL = Velocity_Desync:Toggle{Name = "Enabled", flag = 'Velocity Desync'} -- S = KHL:Settings() -- S:Keybind{flag = "Velocity Desync Key", name = 'Key', type = 1, callback = LPH_JIT(function(Bool) if flags["Velocity Desync Notify"] then ui:Notify{text = "Desync:".. tostring(flags["Velocity Desync Key"].Active).."", time = 5, style = "loading"} end end)} -- S:Toggle{Name = "Notify", flag = 'Velocity Desync Notify'} -- Velocity_Desync:Dropdown{Name = 'Type', flag = 'Velocity Desync Preset', options = {"None", "HvH", "AntiBot", "Horizontal", "Sky", "Ground", "Desync"}, min = 1, max = 1} end end -- Misc do local Misc = Window:Tab{Name = 'Misc', icon = "rbxassetid://6031104650"} -- local TargetStrafeSector = Misc:Sector{Side = 1} -- do TargetStrafeSector:Title{Title = 'Target Strafe', Description = "Strafes your target"} -- TargetStrafeSector:Toggle{Name = "Enabled", flag = "Target Strafe"} -- S = TargetStrafeSector:CreateSegment{Name = 'Visualize'} -- KHL = S:Toggle{flag = 'Visualize Strafe'} -- S:Colorpicker{flag = "Visualize Strafe Color"} -- TargetStrafeSector:Slider{Name = "Speed", flag = 'Target Strafe Speed', min = 0, max = 20, default = 5, float = 0.5} -- TargetStrafeSector:Slider{Name = "Height", flag = 'Target Strafe Height', min = 0, max = 10, default = 0, float = 0.5} -- TargetStrafeSector:Slider{Name = "Radius", flag = 'Target Strafe Radius', min = 0, max = 10, default = 5, float = 0.5} end -- local Teleports = Misc:Sector{Side = 2} do Teleports:Title{Title = 'Buys', Description = "Auto-Buy Items"} -- Teleports:Toggle{Name = "Buy Ammo", flag = 'Buy Ammo'} -- Teleports:Slider{Name = 'Amount', flag = 'Buy Ammo Amount', min = 1, max = 20, default = 5, float = 1} -- Teleports:Button{Name = 'Buy', callback = LPH_JIT(function() local Old_Position = LocalPlayer.Character.HumanoidRootPart.CFrame -- LocalPlayer.Character.HumanoidRootPart.CFrame = utility["Auto Buy"]["Guns"][flags["Gun Name"]][1].Head.CFrame -- Wait(0.3) -- for i = 1, 20 do Wait() fireclickdetector(utility["Auto Buy"]["Guns"][flags["Gun Name"]][1].ClickDetector) end -- Wait(0.3) -- LocalPlayer.Character.HumanoidRootPart.CFrame = Old_Position -- if flags["Buy Ammo"] then for i = 1, flags["Buy Ammo Amount"] do Wait(0.175) local Old_Ammo_Position = LocalPlayer.Character.HumanoidRootPart.CFrame LocalPlayer.Character.HumanoidRootPart.CFrame = utility["Auto Buy"]["Guns"][flags["Gun Name"]][2].Head.CFrame Wait(0.175) -- for i = 1, 10 do Wait() fireclickdetector(utility["Auto Buy"]["Guns"][flags["Gun Name"]][2].ClickDetector) end -- Wait(0.175) LocalPlayer.Character.HumanoidRootPart.CFrame = Old_Ammo_Position Wait(0.175) end end end)} -- Teleports:Toggle{Name = "Auto Buy Armor", flag = 'Auto Buy Armor'} end end Window:Separator() -- Lua do local Settings = Window:Tab{Name = 'Settings', icon = "rbxassetid://6035067857"} -- local Configs_Sector = Settings:Sector{Side = 1} Configs_Sector:Title{Title = 'Configuration', Description = "Save configurations."} do Configs_Sector:Input({Name = "Name:", Flag = "Config Name", Focuses = true, Editable = true}) -- Configs_Sector:Button{Name = 'Save', callback = LPH_JIT(function() local config_name = flags["Config Name"] if config_name == "" then ui:Notify{text = 'Enter a config name!', time = 5, style = "loading"} end writefile("Lynx/Configs/" .. config_name .. ".cfg", Window:SaveConfig()) ui:Notify{text = "Saved your config to: " .. config_name, time = 5, style = "loading"} end)} Configs_Sector:Button{Name = 'Load', callback = LPH_JIT(function() local config_name = flags["Config Name"] Window:LoadConfig(readfile("Lynx/Configs/" .. config_name .. ".cfg")) ui:Notify{text = "" .. config_name .. " has succesfully loaded!.", time = 5, style = "loading"} end)} Configs_Sector:Button{Name = 'Delete', callback = LPH_JIT(function() local selected_config = flags["Config Name"] if selected_config then delfile("Lynx/Configs/" .. selected_config .. ".cfg") ui:Notify{text = "" .. selected_config .. " has been deleted.", time = 5, style = "loading"} else ui:Notify{text = "" .. selected_config .. " doesnt exist..", time = 5, style = "loading"} end end)} end Configs_Sector:Button{Name = 'Load', callback = LPH_JIT(function() local config_name = flags["Config Name"] Window:LoadConfig(readfile("Lynx/Configs/" .. config_name .. ".cfg")) ui:Notify{text = "" .. config_name .. " has succesfully loaded!.", time = 5, style = "loading"} end)} -- local Settings_Sector = Settings:Sector{Side = 2} Settings_Sector:Title{Title = 'Settings'} do Settings_Sector:Button{Name = 'Unload Cheat', callback = Lynx.Unload} -- Settings_Sector:Keybind{Flag = "UI Bind", name = 'Key',key = Enum.KeyCode.Insert, type = 2, callback = LPH_JIT(function() ui:Toggle() end)} ui:Toggle() -- Settings_Sector:Slider{Name = 'Rainbow Speed', flag = 'Rainbow Speed', min = 0.1, max = 5, default = 2, float = 0.1} -- S = Settings_Sector:CreateSegment{Name = 'Keybind List'} -- S:Toggle{Name = "Enabled", flag = "Keybind List", callback = function(Bool) Visuals.KeyBindList.SetVisibleList(Bool) end} -- S:Colorpicker{flag = "Keybind List Color", callback = function() Visuals["KeyBindList"]["Drawings"]["Accent"].Color = flags["Keybind List Color"].Color end} -- S = Settings_Sector:CreateSegment{Name = 'Watermark'} -- S:Toggle{Name = "Enabled", flag = "Keybind List", callback = function(Bool) if Watermark ~= nil then WatermarkLUA:SetVisible(Bool) end end} -- S:Colorpicker{flag = "Watermark Color", callback = function() WatermarkLUA["Drawings"].Accent.Color = flags["Watermark Color"].Color end} end end -- Scripts do local Scripts = Window:Tab{Name = 'Scripts', icon = "rbxassetid://11419714821"} -- local Settings_Sector = Scripts:Sector{Side = 1} Settings_Sector:Title{Title = 'Settings'} do Settings_Sector:Dropdown{Name = 'LUAs', flag = 'LUAs', options = {"ChinaHat", "BetterGame", "Minecraft"}, min = 1, max = 1} -- Settings_Sector:Button{Name = 'Load', callback = function() loadfile("Lynx/Luas/".. flags["LUAs"]..".lua")() end} end -- --[[local Map_Sector = Scripts:Sector{Side = 2} -- Map_Sector:Dropdown{Name = 'Maps', flag = 'Map', options = {"MM2 MAP","Parkour","Office","Anarchy"}, min = 1, max = 1} -- Map_Sector:Button{Name = 'Load', callback = function() LocalPlayer.Character.HumanoidRootPart.CFrame = utility["Maps"][flags["Map"]]--[[[2]] --end} -- end -- Looped Functions do --LOOPED FUNCTIONS function Lynx:Cursor(Frame) if flags["Cursor"] and flags["Spin"] then local MousePosition = NewVector2(Mouse.X, Mouse.Y + 36) -- local SpinSize = flags["Dynamic Gap Enabled"] and (Abs(Sin(tick() * flags["Dynamic Gap Speed"])) * flags["Cursor Gap"] / 4) + (flags['dot'] and 5 or 1) or flags["Cursor Gap"] / 4 local SpinSpeed = flags["Spin Speed"] / 5 local Radius = flags["Cursor Radius"] / 4 * 5 -- SpinAngle = SpinAngle + Rad((SpinSpeed * 10) * Frame); -- if flags['Dot'] then utility.Cursor.Dots[1].Position = NewVector2(Mouse.X - 1, Mouse.Y + 36 - 1) utility.Cursor.Dots[2].Position = NewVector2(Mouse.X - 2, Mouse.Y + 36 - 2) utility.Cursor.Dots[2].Color = NewRGB(0,0,0) end -- do -- // Inlines utility.Cursor.Lines[1].From = (MousePosition + (NewVector2(Cos(SpinAngle), Sin(SpinAngle))* (SpinSize + 1))) utility.Cursor.Lines[1].To = (utility.Cursor.Lines[1].From + (NewVector2(Cos(SpinAngle), Sin(SpinAngle)) * (Radius * 5))) -- utility.Cursor.Lines[2].From = (MousePosition + (NewVector2(Cos(SpinAngle + Pi), Sin(SpinAngle + Pi))* (SpinSize + 1))) utility.Cursor.Lines[2].To = (utility.Cursor.Lines[2].From + (NewVector2(Cos(SpinAngle + Pi), Sin(SpinAngle + Pi)) * (Radius * 5))) -- utility.Cursor.Lines[3].From = (MousePosition + (NewVector2(Cos(SpinAngle + Halfpi), Sin(SpinAngle + Halfpi))* (SpinSize + 1))) utility.Cursor.Lines[3].To = (utility.Cursor.Lines[3].From + (NewVector2(Cos(SpinAngle + Halfpi), Sin(SpinAngle + Halfpi)) * (Radius * 5))) -- utility.Cursor.Lines[4].From = (MousePosition + (NewVector2(Cos(SpinAngle + Halfpi * 3), Sin(SpinAngle + Halfpi * 3)) * (SpinSize + 1))) utility.Cursor.Lines[4].To = (utility.Cursor.Lines[4].From + (NewVector2(Cos(SpinAngle + Halfpi * 3), Sin(SpinAngle + Halfpi * 3)) * (Radius * 5))) end -- do -- // Outlines utility.Cursor.Outlines[1].From = (MousePosition + (NewVector2(Cos(SpinAngle), Sin(SpinAngle)) * (SpinSize + 1))) utility.Cursor.Outlines[1].To = (utility.Cursor.Outlines[1].From + (NewVector2(Cos(SpinAngle), Sin(SpinAngle)) * ((Radius * 5) + 0.05))) -- utility.Cursor.Outlines[2].From = (MousePosition + (NewVector2(Cos(SpinAngle + Pi), Sin(SpinAngle + Pi))* (SpinSize + 1))) utility.Cursor.Outlines[2].To = (utility.Cursor.Outlines[2].From + (NewVector2(Cos(SpinAngle + Pi), Sin(SpinAngle + Pi)) * ((Radius * 5) + 0.05))) -- utility.Cursor.Outlines[3].From = (MousePosition + (NewVector2(Cos(SpinAngle + Halfpi), Sin(SpinAngle + Halfpi))* (SpinSize + 1))) utility.Cursor.Outlines[3].To = (utility.Cursor.Outlines[3].From + (NewVector2(Cos(SpinAngle + Halfpi), Sin(SpinAngle + Halfpi)) * ((Radius * 5) + 0.05))) -- utility.Cursor.Outlines[4].From = (MousePosition + (NewVector2(Cos(SpinAngle + Halfpi * 3), Sin(SpinAngle + Halfpi * 3)) * (SpinSize + 1))) utility.Cursor.Outlines[4].To = (utility.Cursor.Outlines[4].From + (NewVector2(Cos(SpinAngle + Halfpi * 3), Sin(SpinAngle + Halfpi * 3)) * ((Radius * 5) + 0.05))) end end end -- function Lynx:CharacterMaterial() if flags["Forcefield Character Enabled"] then for i, v in pairs(LocalPlayer.Character:GetChildren()) do if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then v.Material = Enum.Material.ForceField v.Transparency = flags["Forcefield Character Color"].Transparency if flags["Rainbow Character"] then v.Color = Lynx:Rainbow(flags["Rainbow Speed"]) else v.Color = flags["Forcefield Character Color"].Color end end end end end -- function Lynx:GunMaterial() if flags["Gun Material Enabled"] then local Tool = Lynx:GetTool() if Tool ~= nil then for i, v in pairs(Tool:GetChildren()) do if v:IsA("MeshPart") then v.TextureID = "" v.Material = Enum.Material[flags["Gun Material"]] v.Color = flags["Rainbow Gun"] and Lynx:Rainbow(flags["Rainbow Speed"]) or flags["Gun Material Color"].Color v.Transparency = flags["Sine Gun"] and utility.Sine + 0.4 or flags["Gun Material Color"].Transparency end end end end end -- function Lynx:Speed() if flags["Speed Enabled"] and flags["Speed Key"].Active then local Char, Humanoid, RootPart = Lynx:ValidateClient(LocalPlayer) if Char and Humanoid and RootPart then RootPart.CFrame = RootPart.CFrame + (Humanoid.MoveDirection * flags["Speed Amount"] * 0.03) -- if flags["Auto Jump"] and Humanoid.FloorMaterial ~= Enum.Material.Air and not flags["Float"] then Humanoid:ChangeState("Jumping") Humanoid.UseJumpPower = false end -- if flags["Float"] then local X, Y, Z = RootPart.CFrame:ToEulerAnglesYXZ() RootPart.CFrame = NewCFrame(RootPart.CFrame.X, flags["Float Height"], RootPart.CFrame.Z) * NewAngle(X, Y, Z) Humanoid:ChangeState("Freefall") end end end end -- function Lynx:Bhop() if flags["Bunny Hop"] and flags["Bhop Key"].Active then local Char, Humanoid, RootPart = Lynx:ValidateClient(LocalPlayer) if Char and Humanoid and RootPart then if Humanoid.FloorMaterial == Enum.Material.Air then RootPart.CFrame = RootPart.CFrame + (Humanoid.MoveDirection * flags["Bunny Hop Amount"] * 0.03) Humanoid.UseJumpPower = false end end end end -- function Lynx:Fly() if flags["Fly Enabled"] and flags["Fly Key"].Active then local Char, Humanoid, RootPart = Lynx:ValidateClient(LocalPlayer) if Char and Humanoid and RootPart then local FlyPosition = Vector3.new(0, 0, 0) local CCV = Camera.CFrame.lookVector -- if InputService:IsKeyDown(Enum.KeyCode.W) then FlyPosition = FlyPosition + CCV end -- if InputService:IsKeyDown(Enum.KeyCode.S) then FlyPosition = FlyPosition - CCV end -- if InputService:IsKeyDown(Enum.KeyCode.D) then FlyPosition = FlyPosition + Vector3.new(-CCV.Z, 0, CCV.X) end -- if InputService:IsKeyDown(Enum.KeyCode.A) then FlyPosition = FlyPosition + Vector3.new(CCV.Z, 0, -CCV.x) end -- if InputService:IsKeyDown(Enum.KeyCode.Space) then FlyPosition = FlyPosition + Vector3.new(0, 1, 0) end -- if InputService:IsKeyDown(Enum.KeyCode.LeftShift) then FlyPosition = FlyPosition - Vector3.new(0, 1, 0) end -- if FlyPosition.Unit.y == FlyPosition.Unit.y then LocalPlayer.Character.HumanoidRootPart.Anchored = false LocalPlayer.Character.HumanoidRootPart.Velocity = FlyPosition.Unit * flags["Fly Amount"] else LocalPlayer.Character.HumanoidRootPart.Velocity = Vector3.new(0, 0, 0) LocalPlayer.Character.HumanoidRootPart.Anchored = true end end end end -- function Lynx:GripPosition() if flags["Grip Position"] and Lynx:GetTool() ~= nil and Lynx:GetTool().GripPos ~= Vector3.new(flags["XX"],flags["YY"],flags["ZZ"]) then local tool = Lynx:GetTool() if tool ~= nil then tool.Parent = LocalPlayer.Backpack tool.GripPos = Vector3.new(flags["XX"],flags["YY"],flags["ZZ"]) tool.Parent = LocalPlayer.Character end end end -- function Lynx:RotateCursor() if flags["Da Hood Cursor Spin"] then LocalPlayer.PlayerGui.MainScreenGui.Aim.Rotation = LocalPlayer.PlayerGui.MainScreenGui.Aim.Rotation + flags["Cursor Spin Speed for DH"] end end -- function Lynx:SilentAim() if flags["Silent Aim Enabled"] and flags["Silent Aim Key"].Active then Lynx.Silent.Check = true -- if flags["Silent Aim Type"] ~= "Target Aim" and flags["RageBot"] == false then Lynx.Silent.Target = Lynx:GetClosestPlayer() elseif (flags["RageBot"] == true) then Lynx.Silent.Target = Lynx:findNearestTargetInRadius(LocalPlayer.Character.HumanoidRootPart.Position, math.huge) end -- if Lynx.Silent.Target and Lynx.Silent.Target.Character and Lynx:GetPlayerStatus() then if (Find(flags["Silent_Aim_Checks"], "Wall") and not Lynx:RayCast(Lynx.Silent.Target.Character.HumanoidRootPart, Lynx:GetOrigin("Handle"), {Lynx:GetCharacter(LocalPlayer)})) then Lynx.Silent.Check = false end if (Find(flags["Silent_Aim_Checks"], "Visible") and (Lynx.Silent.Target.Character.HumanoidRootPart.Transparency ~= 1)) then Lynx.Silent.Check = false end if (Find(flags["Silent_Aim_Checks"], "ForceField") and Lynx.Silent.Target.Character.HumanoidRootPart:FindFirstChildOfClass("ForceField")) then Lynx.Silent.Check = false end if (Find(flags["Silent_Aim_Checks"], "Knocked") and not Lynx:KnockCheck(Lynx.Silent.Target)) then Lynx.Silent.Check = false end -- Lynx.Silent.HitPart = ((flags["Air Prediction Method"] == "Part" and Lynx.Silent.Target.Character.Humanoid:GetState() == Enum.HumanoidStateType.Freefall) and flags["Air Prediction Part"]) or Lynx:GetClosestPart(Lynx.Silent.Target, flags["Silent Aim HitPart"]).Name Lynx.Silent.Prediction = (flags["Auto-Prediction"] and Lynx:AutoPrediction()) or Lynx.Silent.Prediction -- if not Lynx.Silent.HitPart then return end -- if (flags["Resolver"] == true and flags["Resolver Key"].Active == true) then Lynx.Silent.Resolver[1] = Lynx:CalculateAbsolutePosition(Lynx.Silent.Target) end -- if flags["Bypass Aim Viewer"] then local Offset = (flags["Air Prediction Method"] == "Offset" and Lynx.Silent.Target.Character.Humanoid.FloorMaterial == Enum.Material.Air) and NewVector3(0.0001, Lynx.Silent.Offset, 0.0001) or NewVector3(0.001, 0.001, 0.001) -- if (flags["Resolver"] == true and flags["Resolver Key"].Active == true and Lynx.Silent.Resolver[1]) then Lynx.Silent.Position = (Lynx.Silent.Target.Character[Lynx.Silent.HitPart].Position + (Lynx.Silent.Resolver[1] * Lynx.Silent.Prediction) + Offset) else Lynx.Silent.Position = (Lynx.Silent.Target.Character[Lynx.Silent.HitPart].Position + (Lynx.Silent.Target.Character.HumanoidRootPart.Velocity * Lynx.Silent.Prediction) + Offset) end end -- if Lynx.Silent.Position then if flags["Auto-Shoot"] then local Tool = Lynx:GetTool() if Tool and Tool:FindFirstChild("Ammo") and Tool:FindFirstChild("Ammo") ~= 0 then if (Lynx.Silent.Check == true) and InputService:GetFocusedTextBox() == nil then VirtualUser:Button1Down(Vector2.new(), Workspace.CurrentCamera.CFrame) RunService.RenderStepped:Wait() VirtualUser:Button1Down(Vector2.new(), Workspace.CurrentCamera.CFrame) end -- if Tool:FindFirstChild("Ammo") then local Ammo = Tool:FindFirstChild("Ammo").Value if Ammo == 0 then game:GetService("ReplicatedStorage").MainEvent:FireServer("Reload", Tool) end end end end -- local Position1, OnScreen = Camera:WorldToViewportPoint(Lynx.Silent.Position) local MousePosition = NewVector2(Mouse.X, Mouse.Y + 36) local Magn = (MousePosition - NewVector2(Position1.X, Position1.Y)).Magnitude -- if utility.Renders[1].Visible then if (Magn >= utility.Renders[1].Radius) then Lynx.Silent.Check = false end end -- if flags["Visualize Part Enabled"] then utility.Parts[1].CFrame = flags["Show Prediction"] and CFrame.new(Lynx.Silent.Position) or Lynx.Silent.Target.Character.HumanoidRootPart.CFrame utility.Parts[1].Material = Enum.Material[flags["Part Material"]] else utility.Parts[1].CFrame = CFrame.new(999,999,999) end -- if flags["Visualize Part Chams Enabled"] then if game.Workspace.Terrain["Backtrack"].Model == nil then return end for _, Value in pairs(game.Workspace.Terrain["Backtrack"].Model:GetChildren()) do if Value:IsA("BasePart") then Value.Position = Lynx.Silent.Target.Character[Value.Name].Position + Lynx.Silent.Target.Character.HumanoidRootPart.Velocity * Lynx.Silent.Prediction Value.Rotation = Lynx.Silent.Target.Character[Value.Name].Rotation end end end -- if flags["Look-At"] then LocalPlayer.Character.Humanoid.AutoRotate = false local NearestPos = CFrame.new(LocalPlayer.Character.PrimaryPart.Position, Vector3.new(Lynx.Silent.Target.Character.HumanoidRootPart.Position.X, LocalPlayer.Character.PrimaryPart.Position.Y, Lynx.Silent.Target.Character.HumanoidRootPart.Position.Z)) LocalPlayer.Character:SetPrimaryPartCFrame(NearestPos) end -- if flags["Draw Dot"] then if OnScreen then utility.Renders[5].Position = NewVector2(Position1.X, Position1.Y) utility.Renders[5].Visible = true else utility.Renders[5].Visible = false end end -- if flags["Draw Tracer Enabled"] then if OnScreen then utility.Renders[6].From = NewVector2(Mouse.X, Mouse.Y + 36) utility.Renders[6].To = NewVector2(Position1.X, Position1.Y) utility.Renders[6].Visible = true utility.Renders[7].Color = Color3.fromRGB(0, 0, 0) -- if flags["Tracer Outline"] then utility.Renders[7].From = NewVector2(Mouse.X, Mouse.Y + 36) utility.Renders[7].To = NewVector2(Position1.X, Position1.Y) utility.Renders[7].Visible = true end else utility.Renders[6].Visible = false utility.Renders[7].Visible = false end end end end end end -- Lynx.AimViwerBypass = function() if flags["Bypass Aim Viewer"] then if flags["Silent Aim Enabled"] and flags["Silent Aim Key"].Active then local Offset = (flags["Air Prediction Method"] == "Offset" and Lynx.Silent.Target.Character.Humanoid.FloorMaterial == Enum.Material.Air) and NewVector3(0.0001, Lynx.Silent.Offset, 0.0001) or NewVector3(0.001, 0.001, 0.001) -- if (flags["Resolver"] == true and flags["Resolver Key"].Active == true and Lynx.Silent.Resolver[1]) then ReplicatedStorage.MainEvent:FireServer("UpdateMousePos", Lynx.Silent.Target.Character[Lynx.Silent.HitPart].Position + (Lynx.Silent.Resolver[1] * Lynx.Silent.Prediction) + Offset) else ReplicatedStorage.MainEvent:FireServer("UpdateMousePos", Lynx.Silent.Target.Character[Lynx.Silent.HitPart].Position + (Lynx.Silent.Target.Character.HumanoidRootPart.Velocity * Lynx.Silent.Prediction) + Offset) end end end end -- function Lynx:AimAssist() if flags["Aim Assist Enabled"] and flags["Aim Assist Key"].Active and Lynx.Assist.Target and Lynx:GetPlayerStatus(Lynx.Assist.Target) then local Char, Humanoid, RootPart = Lynx:ValidateClient(Lynx.Assist.Target) if Char and Humanoid and RootPart then -- if not flags["Sticky Aim"] then Lynx.Assist.Target = Lynx:GetClosestPlayer() end -- local MousePosition = NewVector2(Mouse.X, Mouse.Y + 36) local HitPart = Lynx:GetClosestPart(Lynx.Assist.Target, flags["Aim Assist HitPart"]).Name local Prediction = flags["Aim Assist Prediction"] or 0 local Shake = flags["Camera Shake"] and NewVector3(Random(0, flags["X"] * 20)/50, Random(0, flags["Y"] * 20)/50, Random(0, flags["Z"] * 20)/50) or NewVector3(0, 0, 0) -- local Tick = tick() -- FOVs local Position1, OnScreen = Camera:WorldToViewportPoint(Char[HitPart].Position) local Magn = (MousePosition - NewVector2(Position1.X, Position1.Y)).Magnitude -- if flags["Aim Assist FOV Enabled"] then if (Magn >= flags["Aim Assist FOV Radius"]) then return end end -- if flags["Deadzone Enabled"] then if (Magn <= flags["Deadzone Radius"]) then return end end -- Dropdown Checks if ((Find(flags["Aim_Assist_Checks"], "Wall")) and not Lynx:RayCast(Char[HitPart], Lynx:GetOrigin("Torso"), {Lynx:GetCharacter(LocalPlayer)})) then return end if ((Find(flags["Aim_Assist_Checks"], "Alive")) and not Lynx:ClientAlive(Lynx.Assist.Target, Char, Humanoid)) then return end if ((Find(flags["Aim_Assist_Checks"], "Team")) and not (Lynx:CheckTeam(LocalPlayer, Lynx.Assist.Target))) then return end if ((Find(flags["Aim_Assist_Checks"], "ForceField")) and Char:FindFirstChildOfClass("ForceField")) then return end if (not ((Camera.CFrame.Position - RootPart.Position).Magnitude <= flags["Aim Assist Distance"])) then return end if (Find(flags["Aim_Assist_Checks"], "Knocked") and not Lynx:KnockCheck(Lynx.Assist.Target)) then return end -- Moving Camera if ((Tick - utility.LastTick) >= (flags["Stutter Amount"] / 1000)) then utility.LastTick = Tick Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(Camera.CFrame.p, Char[HitPart].Position + (RootPart.Velocity * Prediction) + (Shake)), (100 - flags["Smoothness Amount"]) / 100) end end end end -- function Lynx:AntiLock() local Character, Humanoid, RootPart = Lynx:ValidateClient(LocalPlayer) if Character and Humanoid and RootPart then utility.Desyncs.OldVelocity = LocalPlayer.Character.HumanoidRootPart.AssemblyLinearVelocity utility.Desyncs.OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame -- if flags["Velocity Desync"] and flags["Velocity Desync Key"].Active then LocalPlayer.Character.HumanoidRootPart.AssemblyLinearVelocity = utility.Desyncs[flags["Velocity Desync Preset"]] if flags["Velocity Desync Preset"] == "Desync" then LocalPlayer.Character.HumanoidRootPart.CFrame = LocalPlayer.Character.HumanoidRootPart.CFrame * NewAngle(0,Rad(0.001),0) end end -- if flags["CFrame Desync"] and flags["CFrame Desync Key"].Active then local CFramePositions = { ["Nothing"] = LocalPlayer.Character.HumanoidRootPart.CFrame, ["Random"] = (CFrame.new(LocalPlayer.Character.HumanoidRootPart.Position) + NewVector3(Random(-flags["Random Teleport Range"], flags["Random Teleport Range"]), Random(-flags["Random Teleport Range"], flags["Random Teleport Range"]), Random(-flags["Random Teleport Range"], flags["Random Teleport Range"]))) * NewAngle(Rad(Random(-180, 180)), Rad(Random(-180, 180)), Rad(Random(-180, 180))), ["Upside Down"] = LocalPlayer.Character.HumanoidRootPart.CFrame * NewAngle(0, 0, Rad(-180)), ["Floor Plant"] = LocalPlayer.Character.HumanoidRootPart.CFrame * NewCFrame(0, -4, 0) * NewAngle(0, Rad(Random(1,360)), Rad(-180)), ["Void"] = LocalPlayer.Character.HumanoidRootPart.CFrame * NewCFrame(0, -2^20, 0) } -- LocalPlayer.Character.HumanoidRootPart.CFrame = CFramePositions[flags["CFrame Desync Preset"]] * NewCFrame(flags["XXX"], flags["YYY"], flags["ZZZ"]) * NewAngle(Rad(flags["X Rotation"]), Rad(flags["Y Rotation"]), Rad(flags["Z Rotation"])) -- if flags["Target Strafe"] and Lynx.Silent.Target and flags["Silent Aim Enabled"] and flags["Silent Aim Key"].Active and Lynx:GetPlayerStatus(Lynx.Silent.Target) then utility.Angle += flags["Target Strafe Speed"] LocalPlayer.Character.HumanoidRootPart.CFrame = Lynx.Silent.Target.Character.HumanoidRootPart.CFrame * NewAngle(0, Rad(utility.Angle), 0) * NewCFrame(0, flags["Target Strafe Height"], flags["Target Strafe Radius"]) end -- if flags["Visualize CFrame Desync"] then VisualizeCFrame:SetPrimaryPartCFrame(LocalPlayer.Character.HumanoidRootPart.CFrame) end end -- RunService.RenderStepped:Wait() -- LocalPlayer.Character.HumanoidRootPart.AssemblyLinearVelocity = utility.Desyncs.OldVelocity if flags["CFrame Desync"] and flags["CFrame Desync Key"].Active then LocalPlayer.Character.HumanoidRootPart.CFrame = utility.Desyncs.OldCFrame end end end -- function Lynx:GunSound() local Tool = Lynx:GetTool() -- if Tool and Tool:FindFirstChild("Handle") and flags["Custom Gun Sounds"] and Tool:FindFirstChild("Ammo") then for _, Value in pairs(Tool.Handle:GetChildren()) do if Value:IsA("Sound") and Value.Name ~= "NoAmmo" and Tool.Handle ~= nil then Value.SoundId = "rbxassetid://"..utility.sfx[flags["Sound Effect"]] end end end end -- function Lynx:WorldVisuals() if flags["World Visuals Enabled"] == true then if flags["Ambient Enabled"] then if Lighting.Ambient ~= flags["Ambient1 Color"].Color then Lighting.Ambient = flags["Ambient1 Color"].Color end if Lighting.OutdoorAmbient ~= flags["Ambient2 Color"].Color then Lighting.OutdoorAmbient = flags["Ambient2 Color"].Color end end -- if flags["Color Shift"] then if Lighting.ColorShift_Bottom ~= flags["Color Shift1"].Color then Lighting.ColorShift_Bottom = flags["Color Shift1"].Color end if Lighting.ColorShift_Top ~= flags["Color Shift2"].Color then Lighting.ColorShift_Top = flags["Color Shift2"].Color end end -- if flags["Fog Enabled"] then if Lighting.FogColor ~= flags["Fog Color"].Color then Lighting.FogColor = flags["Fog Color"].Color end if Lighting.FogEnd ~= flags["Fog Start"] then Lighting.FogEnd = flags["Fog Start"] end if Lighting.FogStart ~= flags["Fog End"] then Lighting.FogStart = flags["Fog End"] end end -- if flags["Time Enabled"] then if Lighting.ClockTime ~= flags["Time"] then Lighting.ClockTime = flags["Time"] end end end end -- function Lynx:AutoPrediction() local pingvalue = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValueString() local split = string.split(pingvalue,'(') local ping = tonumber(split[1]) local Predictions = readfile("Lynx/Assets/Auto Prediction.txt"):split("\n") -- local Prediction = nil -- for Index = 1, #Predictions do if ping < Index*10 then Prediction = Predictions[Index] return Prediction end end -- if flags["Ping Based"] then Prediction = pingvalue/1000*2.5 return Prediction end -- if Prediction == nil then return 0.1413 end end end -- Main Loop Lynx:Connection(RunService.Heartbeat, LPH_JIT(function(Frame) Lynx:Cursor(Frame) -- Lynx:SilentAim() -- Lynx:Speed() -- if flags["Target Strafe"] and Lynx.Silent.Target ~= nil and flags["Silent Aim Enabled"] == true and flags["Silent Aim Key"].Active and flags["CFrame Desync"] == false then utility.Angle += flags["Target Strafe Speed"] LocalPlayer.Character.HumanoidRootPart.CFrame = Lynx.Silent.Target.Character.HumanoidRootPart.CFrame * NewAngle(0, Rad(utility.Angle), 0) * NewCFrame(0, flags["Target Strafe Height"], flags["Target Strafe Radius"]) end -- if Lynx:GetPlayerStatus() then Lynx:AimAssist() -- Lynx:RotateCursor() -- Lynx:GripPosition() -- Lynx:GunSound() -- for _, Script in pairs(LocalPlayer.Character:GetChildren()) do if Script:IsA("Script") and Script.Name ~= "Health" and Script.Name ~= "Sound" and Script:FindFirstChild("LocalScript") then Script:Destroy() end end end -- if Visuals["KeyBindList"]["Drawings"]["Accent"].Visible == true then Visuals["KeyBindList"]["Text"] = "" -- Visuals.KeyBindList.AddValue(flags["Velocity Desync Key"].Active, flags["Velocity Desync"], "Velocity Desync", flags["Velocity Desync Key"].Key) Visuals.KeyBindList.AddValue(flags["Silent Aim Key"].Active, flags["Silent Aim Enabled"], flags["Silent Aim Type"], flags["Silent Aim Key"].Key) Visuals.KeyBindList.AddValue(flags["Aim Assist Key"].Active, flags["Aim Assist Enabled"], "Aim Assist", flags["Aim Assist Key"].Key) Visuals.KeyBindList.AddValue(flags["Speed Key"].Active, flags["Speed Enabled"], "CFrame Speed", flags["Speed Key"].Key) Visuals.KeyBindList.AddValue(flags["Fly Key"].Active, flags["Fly Enabled"], "Fly", flags["Fly Key"].Key) Visuals.KeyBindList.AddValue(flags["Bhop Key"].Active, flags["Bunny Hop"], "B-Hop", flags["Bhop Key"].Key) Visuals.KeyBindList.AddValue(flags["CFrame Desync Key"].Active, flags["CFrame Desync"], "CFrame Desync", flags["CFrame Desync Key"].Key) Visuals.KeyBindList.AddValue(flags["Resolver Key"].Active, flags["Resolver"], "Resolver", flags["Resolver Key"].Key) -- Visuals["KeyBindList"]["Drawings"].Key.Text = Visuals["KeyBindList"]["Text"] -- Visuals["KeyBindList"]["Drawings"].Frame.Size = Vector2.new(Visuals["KeyBindList"]["Drawings"].Frame.Size.X, Visuals["KeyBindList"]["Drawings"].Key.TextBounds.Y + 20) Visuals["KeyBindList"]["Drawings"].Inner.Size = Vector2.new(Visuals["KeyBindList"]["Drawings"].Frame.Size.X - 2, Visuals["KeyBindList"]["Drawings"].Key.TextBounds.Y + 18) Visuals["KeyBindList"]["Drawings"].Gradient.Size = Visuals["KeyBindList"]["Drawings"].Inner.Size end -- Lynx:Bhop() Lynx:Fly() end)) -- Lynx:Connection(RunService.Heartbeat, LPH_JIT(function(Frame) Lynx:AntiLock() end)) -- local Tick = tick() Lynx:Connection(RunService.RenderStepped, LPH_JIT(function() if flags["PlayerESP_Enabled"] then for _,Player in pairs(Players:GetPlayers()) do local PlayerDrawing = Visuals["Drawings"][Player] -- if not PlayerDrawing then continue end -- for _,Drawing in pairs(PlayerDrawing) do Drawing.Visible = false end -- for _, Drawing in pairs(Visuals["Drawings"][Player]["Corners"]) do if Drawing then Drawing.Visible = false end end -- local Character = Player.Character local RootPart, Humanoid, Head = Character and Character:FindFirstChild("HumanoidRootPart"), Character and Character:FindFirstChildOfClass("Humanoid"), Character and Character:FindFirstChild("Head") -- if not Character or not RootPart or not Humanoid then continue end -- local DistanceFromCharacter = (Camera.CFrame.Position - RootPart.Position).Magnitude local MaxDistance = flags["ESP Distance"] or 25000 local Hightlight_Target = false -- EDIT LATER or flags and flags["esp_hightlight_target"] -- local Pos, OnScreen = Camera:WorldToViewportPoint(RootPart.Position) -- if MaxDistance < DistanceFromCharacter then continue end -- if not OnScreen then if flags["PlayerESP_Enabled"] and flags["PlayerESP_Arrows"] then local Tri = PlayerDrawing.Arrow local Tri2 = PlayerDrawing.ArrowOutline -- local rootpartpos = RootPart.Position -- Tri.Visible = true Tri2.Visible = true -- local relativePos = Camera.CFrame:PointToObjectSpace(rootpartpos) local angle = math.atan2(-relativePos.y, relativePos.x) local size = Floor(viewportSize.x * 0.0078125) local max_size = Floor(viewportSize.x * 0.0260416666667) local distance = Vector3.new().Dot(relativePos.Unit, relativePos) local arrow_dist = flags["PlayerESP_ArrowRadius"] local arrow_size = flags["PlayerESP_ArrowSize"] and Lynx:Map(distance, 1, 100, max_size, size) or size -- arrow_size = arrow_size > max_size and max_size or arrow_size < size and size or arrow_size direction = Vector2.new(math.cos(angle), math.sin(angle)) -- local pos if arrow_dist ~= 101 then pos = ( direction * viewportSize.x * arrow_dist / 200) + (viewportSize * 0.5) end -- if not pos or pos.y > viewportSize.y - 5 or pos.y < 5 then pos = Lynx:AngleToEdge(angle, 5) end -- Tri.PointA = pos Tri2.PointA = pos Tri.PointB = pos - Lynx:getRotate(direction, 0.5) * arrow_size Tri2.PointB = pos - Lynx:getRotate(direction, 0.5) * arrow_size Tri.PointC = pos - Lynx:getRotate(direction, -0.5) * arrow_size Tri2.PointC = pos - Lynx:getRotate(direction, -0.5) * arrow_size -- Tri.Color = flags["PlayerESP_ArrowColor"].Color Tri.Transparency = 1 - flags["PlayerESP_ArrowColor"].Alpha -- Tri2.Color = flags["PlayerESP_ArrowOutline"].Color Tri2.Transparency = 1 - flags["PlayerESP_ArrowOutline"].Alpha Tri2.Filled = false end else local Size = (Camera:WorldToViewportPoint(RootPart.Position - NewVector3(0, 3, 0)).Y - Camera:WorldToViewportPoint(RootPart.Position + NewVector3(0, 2.6, 0)).Y) / 2 local BoxSize = NewVector2(Floor(Size * 1.5), Floor(Size * 1.9)) local BoxPos = NewVector2(Floor(Pos.X - Size * 1.5 / 2), Floor(Pos.Y - Size * 1.6 / 2)) -- if flags["PlayerESP_Box"] and flags["PlayerESP_Box_Type"] then -- // Corner Boxes BoxCenter = Math:RoundVector(NewVector2(BoxPos.X + BoxSize.X / 2, BoxPos.Y + BoxSize.Y / 2)); TL = Math:RoundVector(NewVector2(BoxCenter.X - BoxSize.X / 2, BoxCenter.Y - BoxSize.Y / 2)); BL = Math:RoundVector(NewVector2(BoxCenter.X - BoxSize.X / 2, BoxCenter.Y + BoxSize.Y / 2)); TR = Math:RoundVector(NewVector2(BoxCenter.X + BoxSize.X / 2, BoxCenter.Y - BoxSize.Y / 2)); BR = Math:RoundVector(NewVector2(BoxCenter.X + BoxSize.X / 2, BoxCenter.Y + BoxSize.Y / 2)); end -- if flags["PlayerESP_Enabled"] and flags["PlayerESP_Box"] then local Box = PlayerDrawing.Box local BoxOutline = PlayerDrawing.BoxOutline if flags["PlayerESP_Box_Type"] then local BoxCorners, BoxColor1, BoxColor2 = Visuals["Drawings"][Player]["Corners"], flags["PlayerESP_Box_Color1"].Color, flags["PlayerESP_Box_Color2"].Color -- Inlines do BoxCorners[1].Visible = true BoxCorners[1].From = TL BoxCorners[1].To = BoxCorners[1].From + NewVector2(0, BoxSize.X / 3) BoxCorners[1].Color = BoxColor1 -- BoxCorners[2].Visible = true BoxCorners[2].From = TL + NewVector2(1, 0) BoxCorners[2].To = BoxCorners[2].From + NewVector2(BoxSize.X / 3, 0) BoxCorners[2].Color = BoxColor1 -- BoxCorners[3].Visible = true BoxCorners[3].From = TR BoxCorners[3].To = BoxCorners[3].From + NewVector2(-BoxSize.X / 3, 0) BoxCorners[3].Color = BoxColor1 -- BoxCorners[4].Visible = true BoxCorners[4].From = TR BoxCorners[4].To = BoxCorners[4].From + NewVector2(0, BoxSize.X / 3) BoxCorners[4].Color = BoxColor1 -- BoxCorners[5].Visible = true BoxCorners[5].From = BR + NewVector2(0, 1) BoxCorners[5].To = BoxCorners[5].From + NewVector2(0, -BoxSize.X / 3) BoxCorners[5].Color = BoxColor1 -- BoxCorners[6].Visible = true BoxCorners[6].From = BR BoxCorners[6].To = BoxCorners[6].From + NewVector2(-BoxSize.X / 3, 0) BoxCorners[6].Color = BoxColor1 -- BoxCorners[7].Visible = true BoxCorners[7].From = BL + NewVector2(0, 1) BoxCorners[7].To = BoxCorners[7].From + NewVector2(0, -BoxSize.X / 3) BoxCorners[7].Color = BoxColor1 -- BoxCorners[8].Visible = true BoxCorners[8].From = BL BoxCorners[8].To = BoxCorners[8].From + NewVector2(BoxSize.X / 3, 0) BoxCorners[8].Color = BoxColor1 end -- // Outlines do BoxCorners[9].Visible = true BoxCorners[9].From = BoxCorners[1].From + NewVector2(0, -1) BoxCorners[9].To = BoxCorners[1].To + NewVector2(0, 1) BoxCorners[9].Color = BoxColor2 -- BoxCorners[10].Visible = true BoxCorners[10].From = BoxCorners[2].From BoxCorners[10].To = BoxCorners[2].To + NewVector2(1, 0) BoxCorners[10].Color = BoxColor2 -- BoxCorners[11].Visible = true BoxCorners[11].From = BoxCorners[3].From + NewVector2(2, 0) BoxCorners[11].To = BoxCorners[3].To + NewVector2(-1, 0) BoxCorners[11].Color = BoxColor2 -- BoxCorners[12].Visible = true BoxCorners[12].From = BoxCorners[4].From BoxCorners[12].To = BoxCorners[4].To + NewVector2(0, 1) BoxCorners[12].Color = BoxColor2 -- BoxCorners[13].Visible = true BoxCorners[13].From = BoxCorners[5].From BoxCorners[13].To = BoxCorners[5].To + NewVector2(0, -1) BoxCorners[13].Color = BoxColor2 -- BoxCorners[14].Visible = true BoxCorners[14].From = BoxCorners[6].From + NewVector2(2, 0) BoxCorners[14].To = BoxCorners[6].To + NewVector2(-1, 0) BoxCorners[14].Color = BoxColor2 -- BoxCorners[15].Visible = true BoxCorners[15].From = BoxCorners[7].From BoxCorners[15].To = BoxCorners[7].To + NewVector2(0, -1) BoxCorners[15].Color = BoxColor2 -- BoxCorners[16].Visible = true BoxCorners[16].From = BoxCorners[8].From + NewVector2(-1, 0) BoxCorners[16].To = BoxCorners[8].To + NewVector2(1, 0) BoxCorners[16].Color = BoxColor2 end else Box.Size = BoxSize Box.Position = BoxPos Box.Visible = true Box.Color = flags["PlayerESP_Box_Color1"].Color BoxOutline.Size = BoxSize BoxOutline.Color = flags["PlayerESP_Box_Color2"].Color BoxOutline.Position = BoxPos BoxOutline.Visible = true end end -- if flags["PlayerESP_Enabled"] and flags["PlayerESP_Name"] then local Name = PlayerDrawing.Name Name.Text = ""..Player.Name.."" Name.Position = NewVector2(BoxSize.X / 2 + BoxPos.X, BoxPos.Y - 16) Name.Color = flags["PlayerESP_Name_Color"].Color Name.Visible = true end -- if flags["PlayerESP_Enabled"] and flags["PlayerESP_HealthBar"] then local Health = PlayerDrawing.Health local HealthOutline = PlayerDrawing.HealthOutline local HealthText = PlayerDrawing.HealthText local HealthBarGradient = PlayerDrawing.HealthBarGradient local Color = Color:Lerp(Humanoid.Health / Humanoid.MaxHealth, flags["PlayerESP_HealthBar_Color_High"].Color, flags["PlayerESP_HealthBar_Color_Low"].Color) local HealthSize = (Floor(BoxSize.Y * (Humanoid.Health / Humanoid.MaxHealth))) local Height = ((BoxPos.Y + BoxSize.Y) - HealthSize) -- Health.Size = NewVector2(flags["PlayerESP_HealthBar_Thickness"], HealthSize) Health.Position = NewVector2(BoxPos.X - (flags["PlayerESP_HealthBar_Thickness"] * 2.5), Height) Health.Color = Color Health.Visible = true Health.Filled = true -- HealthOutline.Size = NewVector2(flags["PlayerESP_HealthBar_Thickness"] + 2, BoxSize.Y + 2) HealthOutline.Position = NewVector2(BoxPos.X - (flags["PlayerESP_HealthBar_Thickness"] * 2.5) - 1, BoxPos.Y - 1) HealthOutline.Visible = true HealthOutline.Color = NewRGB(0, 0, 0) HealthOutline.Filled = true -- if flags["PlayerESP_HealthBarGradient"] then HealthBarGradient.Size = NewVector2(flags["PlayerESP_HealthBar_Thickness"] + 2, BoxSize.Y + 2) HealthBarGradient.Position = NewVector2(BoxPos.X - (flags["PlayerESP_HealthBar_Thickness"] * 2.5) - 1, BoxPos.Y - 1) HealthBarGradient.Visible = true end -- if flags["PlayerESP_Enabled"] and flags["PlayerESP_HealthNumber"] then HealthText.Text = "".. Floor(Humanoid.Health) .. "" HealthText.Color = Color HealthText.Visible = true -- local HealthNumberPos = NewVector2((BoxPos.X + 1), BoxPos.Y + BoxSize.Y) HealthText.Position = NewVector2(HealthOutline.Position.X - (flags["PlayerESP_HealthBar_Thickness"] + 8), HealthNumberPos.Y - (Humanoid.Health / Humanoid.MaxHealth) * BoxSize.Y) end end -- if flags["PlayerESP_Enabled"] and flags["PlayerESP_Weapon"] then local Tool = PlayerDrawing.Tool local BottomOffset = BoxSize.Y + BoxPos.Y + 1 local Equipped = Player.Character:FindFirstChildOfClass("Tool") and Player.Character:FindFirstChildOfClass("Tool").Name or "" Tool.Text = ""..Equipped.."" Tool.Position = NewVector2(BoxSize.X / 2 + BoxPos.X, BottomOffset) Tool.Color = flags["PlayerESP_Weapon_Color"].Color Tool.Visible = true BottomOffset = BottomOffset + 15 end -- if flags["PlayerESP_Enabled"] and flags["PlayerESP_BoxFill"] then local BoxFill = PlayerDrawing.BoxFill BoxFill.Size = BoxSize BoxFill.Position = BoxPos BoxFill.Visible = true BoxFill.Color = flags["PlayerESP_BoxFill_Color"].Color BoxFill.Transparency = 1 - flags["PlayerESP_BoxFill_Color"].Alpha end -- if flags["PlayerESP_Enabled"] and flags["PlayerESP_Distance"] then local BottomOffset = (BoxSize.Y * 2) + 1 Distance.Text = ""..Floor(DistanceFromCharacter).."m" if flags["PlayerESP_Weapon"] and Tool.Text ~= "" then Distance.Position = NewVector2(BoxSize.X / 2 + BoxPos.X, BottomOffset + 10) else Distance.Position = NewVector2(BoxSize.X / 2 + BoxPos.X, BottomOffset) end Distance.Color = flags["PlayerESP_Distance_Color"].Color Distance.Visible = true BottomOffset = BottomOffset + 15 end -- if flags["PlayerESP_Enabled"] and flags["PlayerESP_Flags"] then local Flag = PlayerDrawing.Flag local FlagStr = "" -- if Find(flags["PlayerESP_Flag_Options"], "Distance") then FlagStr ..= ("%sm\n"):format(Round(DistanceFromCharacter)) end -- if Find(flags["PlayerESP_Flag_Options"], "Money") and Player and Player.DataFolder then FlagStr ..= ("$%s\n"):format(tostring(Player.DataFolder.Currency.Value or 0)) end -- if Find(flags["PlayerESP_Flag_Options"], "Knocked") and Player.Character.BodyEffects then FlagStr ..= ("%s\n"):format(tostring(Player.Character.BodyEffects["K.O"].Value and "KNOCKED" or "")) end -- Flag.Text = FlagStr Flag.Position = NewVector2(BoxSize.X + BoxPos.X + 3, BoxPos.Y - 2) Flag.Visible = true Flag.Color = flags["PlayerESP_FlagsColor"].Color Flag.Transparency = 1 - flags["PlayerESP_FlagsColor"].Alpha end end end else for _,Player in pairs(Players:GetPlayers()) do local PlayerDrawing = Visuals["Drawings"][Player] -- if not PlayerDrawing then continue end -- for _,Drawing in pairs(PlayerDrawing) do Drawing.Visible = false end -- for _, Drawing in pairs(Visuals["Drawings"][Player]["Corners"]) do if Drawing then Drawing.Visible = false end end end end end)) -- Bullet Tracers, Impacts, Shit Talk task.spawn(LPH_JIT(function() while RunService.RenderStepped:Wait() do utility.Rainbow = {Lynx:Rainbow(flags["Rainbow Speed"]), Lynx:Rainbow(flags["Rainbow Speed"]+1)} utility.Sine = Abs(Sin(tick())) + 0.4 -- Lynx:CharacterMaterial() -- if flags["Auto Buy Armor"] then if LocalPlayer.Character.BodyEffects.Armor.Value == 0 then local Old_Ammo_Position = LocalPlayer.Character.HumanoidRootPart.CFrame -- LocalPlayer.Character.HumanoidRootPart.CFrame = workspace.Ignored.Shop["[High-Medium Armor] - $2163"].Head.CFrame wait(0.1) fireclickdetector(workspace.Ignored.Shop["[High-Medium Armor] - $2163"].ClickDetector) wait(0.1) if LocalPlayer.Character.BodyEffects.Armor.Value > 0 then LocalPlayer.Character.HumanoidRootPart.CFrame = Old_Ammo_Position else fireclickdetector(workspace.Ignored.Shop["[High-Medium Armor] - $2163"].ClickDetector) end end end -- Lynx:WorldVisuals() -- Lynx:GunMaterial() -- if Lynx:GetPlayerStatus() then if Lynx["Connections"].Loop ~= nil then Lynx["Connections"].Loop:Disconnect() end end -- if Lynx:GetTool() and Lynx:GetTool():FindFirstChild("Ammo") then Lynx["Connections"].Loop = Lynx:GetTool().Ammo:GetPropertyChangedSignal("Value"):Connect(function() if Lynx:GetTool().Ammo.Value ~= Lynx:GetTool().MaxAmmo.Value then pcall(function() if flags["On-Hit-Raycast"] then Lynx["Connections"]["On-Hit-Raycast"] = Workspace.Ignored.Siren.Radius.DescendantAdded:Connect(function(Beam) -- Lynx["Connections"]["On-Hit-Raycast"]:Disconnect() -- delay(0.05, function() if Beam.Name == "BULLET_RAYS" then local Ray = Ray.new(Beam.Position, Beam.CFrame.LookVector * 200) local IgnoreList = {LocalPlayer.Character} local Hit, HitPosition = workspace:FindPartOnRayWithIgnoreList(Ray, IgnoreList); -- if Hit then local InstanceHit = Hit:FindFirstAncestorOfClass('Model') if not InstanceHit then return end if InstanceHit:FindFirstChild("Humanoid") and InstanceHit:FindFirstChild("HumanoidRootPart") then if flags["Hit Sound"] then Lynx:HitSound(utility.sfx[flags["Hit Sound Effect"]], flags["Hit Sound Volume"], flags["Hit Sound Pitch"]) end -- if flags["Hit Chams Enabled"] then if not flags["Optimized Chams"] then Lynx:CloneCharacter(Players[InstanceHit.Name], flags["Hit Chams Color"].Color, flags["Hit Chams Material"], flags["Hit Chams Color"].Alpha, Workspace.Terrain["HitChams"], flags["Hit Chams Time"]) else Lynx:CloneCharacter2(Players[InstanceHit.Name], flags["Hit Chams Color"].Color, true, flags["Hit Chams Time"], flags["Hit Chams Material"], flags["Hit Chams Color"].Alpha, Workspace.Terrain["HitChams"]) end end -- if flags["Hit Markers Enabled"] then if flags["HitMarker Type"] == "2D" then HitMarker(4, flags["Hit Markers Color"].Color, flags["Hit Markers Time"]) else HitMarker3D(4, flags["Hit Markers Color"].Color, flags["Hit Markers Time"], HitPosition) end end -- if flags["Hit Effects"] then Lynx:HitEffect(flags["Hit Effect"], Players[InstanceHit.Name].Character) end end end end end) end) end end) -- if flags["Bullet Tracers Enabled"] and flags["Bullet Tracers Mode"] == "Local" then Lynx:CreateBeam(Lynx:GetTool().Handle.Position, LocalPlayer.Character.BodyEffects.MousePos.Value, flags["Rainbow Bullet Tracers"] and utility.Rainbow[1] or flags["Bullet Tracers Color1"].Color, flags["Rainbow Bullet Tracers"] and utility.Rainbow[2] or flags["Bullet Tracers Color2"].Color, utility.TracerTextures[flags["Bullet Tracers Texture"]]) -- RunService.RenderStepped:Wait() -- for _, Value in pairs(Workspace.Ignored.Siren.Radius:GetChildren()) do if Value:IsA("Part") and Value.Name == "BULLET_RAYS" then Value:Destroy() end end end -- if flags["Impact Points Enabled"] then local Impact = NewInstance("Part") Impact.Anchored = true Impact.CanCollide = false Impact.Parent = game.Workspace Impact.Material = Enum.Material[tostring(flags["Impact Points Material"])] Impact.Shape = Enum.PartType.Block Impact.Transparency = flags["Impact Points Color"].Alpha Impact.Color = flags["Impact Points Color"].Color Impact.Size = NewVector3(0.5, 0.5, 0.5) Impact.CFrame = CFrame.new(LocalPlayer.Character.BodyEffects.MousePos.Value) delay(3, function() Impact:Destroy() end) end -- Lynx["Connections"].Loop:Disconnect() end end) end end end)) -- local function Global_Beam(Beam) local Part = Beam if Part ~= nil then local Attachments = Part:GetChildren() if Attachments ~= nil and Attachments[1] ~= nil and Attachments[2] ~= nil then local Origin = Attachments[1].WorldCFrame local End = Attachments[2].WorldCFrame local Tool = Lynx:GetTool() Lynx:CreateBeam(Origin, End, flags["Rainbow Bullet Tracers"] and utility.Rainbow[1] or flags["Bullet Tracers Color1"].Color, flags["Rainbow Bullet Tracers"] and utility.Rainbow[2] or flags["Bullet Tracers Color2"].Color, utility.TracerTextures[flags["Bullet Tracers Texture"]]) Part:Destroy() end end end -- Workspace.Ignored.Siren.Radius.DescendantAdded:Connect(function(a) pcall(function() if flags["Bullet Tracers Enabled"] and flags["Bullet Tracers Mode"] == "Global" then if Workspace.Ignored.Siren.Radius.BULLET_RAYS then Global_Beam(Workspace.Ignored.Siren.Radius.BULLET_RAYS) end end end) end) -- task.spawn(LPH_JIT(function() while true do if flags["Shit Talk"] then local RandomChat = Random(1,#utility["ShitTalk"][tostring(flags["Shit Talk Mode"])]) ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(utility["ShitTalk"][tostring(flags["Shit Talk Mode"])][RandomChat], "All") end task.wait(flags["Shit Talk Delay"]) end end)) -- Lynx:Connection(Players.PlayerAdded, LPH_JIT(function(Player) Lynx:Add(Player) -- if flags["PlayerESP_Chams"] then Lynx:Cham_Character(Player, flags["Highlight_Fill_Color"].Color, flags["Highlight_Outline_Color"].Color, flags["Highlight_Fill_Color"].Alpha, flags["Highlight_Outline_Color"].Alpha) end end)) -- Lynx:Connection(Players.PlayerRemoving, LPH_JIT(function(Player) if Visuals["Drawings"][Player] or Visuals["Drawings"][Player]["Corners"] then for Index, Drawing in pairs(Visuals["Drawings"][Player]) do if Drawing and Index ~= "Corners" then Drawing:Remove() end end -- for Index = 1, 16 do Visuals["Drawings"][Player]["Corners"][Index]:Remove() end -- Visuals["Drawings"][Player]["Corners"] = nil Visuals["Drawings"][Player] = nil end -- if Find(flags["Silent Aim Notify"], "Left") and Lynx.Silent.Target ~= nil and Player == Lynx.Silent.Target then ui:Notify{text = "Locked user has left: ".. Lynx.Silent.Target.Name.. " (".. Lynx.Silent.Target.DisplayName .. ")", time = 2, style = "loading"} end -- if flags["PlayerESP_Chams"] then Lynx:Cham_Remove(Player) end end)) -- Cursor, FOVs Lynx:Connection(InputService.InputChanged, LPH_JIT(function(input, typing) if flags["Cursor"] then if not flags["Spin"] then InputService.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.ForceHide -- if flags['Dot'] then utility.Cursor.Dots[1].Position = NewVector2(Mouse.X - 1, Mouse.Y + 36 - 1) utility.Cursor.Dots[2].Position = NewVector2(Mouse.X - 2, Mouse.Y + 36 - 2) utility.Cursor.Dots[2].Color = NewRGB(0,0,0) end -- utility.Cursor.Lines[1].From = NewVector2(Mouse.X + flags["Cursor Gap"] * 5, Mouse.Y + 36) utility.Cursor.Lines[1].To = NewVector2(Mouse.X + flags["Cursor Radius"] * 5, Mouse.Y + 36) utility.Cursor.Outlines[1].From = NewVector2(Mouse.X + flags["Cursor Gap"] * 5, Mouse.Y + 36) utility.Cursor.Outlines[1].To = NewVector2(Mouse.X + flags["Cursor Radius"] * 5, Mouse.Y + 36) -- utility.Cursor.Lines[2].From = NewVector2(Mouse.X - flags["Cursor Gap"] * 5, Mouse.Y + 36) utility.Cursor.Lines[2].To = NewVector2(Mouse.X - flags["Cursor Radius"] * 5, Mouse.Y + 36) utility.Cursor.Outlines[2].From = NewVector2(Mouse.X - flags["Cursor Gap"] * 5, Mouse.Y + 36) utility.Cursor.Outlines[2].To = NewVector2(Mouse.X - flags["Cursor Radius"] * 5, Mouse.Y + 36) -- utility.Cursor.Lines[3].From = NewVector2(Mouse.X, Mouse.Y - flags["Cursor Gap"] * 5 + 36) utility.Cursor.Lines[3].To = NewVector2(Mouse.X, Mouse.Y - flags["Cursor Radius"] * 5 + 36) utility.Cursor.Outlines[3].From = NewVector2(Mouse.X, Mouse.Y - flags["Cursor Gap"] * 5 + 36) utility.Cursor.Outlines[3].To = NewVector2(Mouse.X, Mouse.Y - flags["Cursor Radius"] * 5 + 36) -- utility.Cursor.Lines[4].From = NewVector2(Mouse.X, Mouse.Y + flags["Cursor Gap"] * 5 + 36) utility.Cursor.Lines[4].To = NewVector2(Mouse.X, Mouse.Y + flags["Cursor Radius"] * 5 + 36) utility.Cursor.Outlines[4].From = NewVector2(Mouse.X, Mouse.Y + flags["Cursor Gap"] * 5 + 36) utility.Cursor.Outlines[4].To = NewVector2(Mouse.X, Mouse.Y + flags["Cursor Radius"] * 5 + 36) end end -- if utility.Renders[1].Visible then utility.Renders[1].Position = NewVector2(Mouse.X, Mouse.Y + 36) end -- if utility.Renders[2].Visible then utility.Renders[2].Position = NewVector2(Mouse.X, Mouse.Y + 36) end -- if utility.Renders[3].Visible then utility.Renders[3].Position = NewVector2(Mouse.X, Mouse.Y + 36) end end)) -- Wanted:GetPropertyChangedSignal("Value"):Connect(function() if flags["Custom Stomps"] then if tonumber(Wanted.Value) == tonumber(OldWanted + 50) then task.spawn(function() if Stomping == true then local Info = { Character = nil, Humanoid = nil } -- local function GetTouchingParts(part) local connection = part.Touched:Connect(function() end) local results = part:GetTouchingParts() connection:Disconnect() return results end -- for i,v in pairs(GetTouchingParts(LocalPlayer.Character["LeftFoot"])) do if Find(bodyParts, v.Name) then if v.Parent ~= LocalPlayer.Character then Info.Character = v.Parent end end end -- Info.Humanoid = Info.Character.Humanoid -- if Info.Humanoid and Info.Character.BodyEffects["K.O"].Value == true then -- local vCharacter = Info.Humanoid.Parent local vPlayer = Players:GetPlayerFromCharacter(vCharacter) -- if flags["Stomp Effect"] == "Explosion" then Stomps:Explode(vCharacter) end if flags["Stomp Effect"] == "Airstrike" then Stomps:AirStrike(vCharacter) end if flags["Stomp Effect"] == "Heart" then Stomps:Heart(vCharacter) end if flags["Stomp Effect"] == "UFO" then Stomps:UFO(vCharacter) end if flags["Stomp Effect"] == "Glitch" then Stomps:Glitch(vCharacter) end if flags["Stomp Effect"] == "Cosmic Slash" then Stomps:CosmicSlash(vCharacter) end end end end) end OldWanted = Wanted.Value end end) -- for Index, Player in pairs(Players:GetPlayers()) do if Player ~= LocalPlayer then Lynx:Add(Player) end end -- local Old Old = hookmetamethod(game, "__namecall", LPH_JIT(function(self, ...) if tostring(self.Name) == "MainEvent" and getnamecallmethod() == "FireServer" and flags["Custom Stomps"] or (flags["Silent Aim Enabled"] and flags["Silent Aim Key"].Active) then local args = {...} -- if flags["Custom Stomps"] and tostring(args[1]) == "Stomp" then Stomping = true delay(0.8,function() Stomping = false end) end -- if flags["Silent Aim Enabled"] and flags["Silent Aim Key"].Active and args[1] == "UpdateMousePos" and not flags["Bypass Aim Viewer"] then if Lynx.Silent.Target ~= nil and Lynx.Silent.Target.Character ~= nil and Lynx.Silent.Target.Character.HumanoidRootPart ~= nil and Lynx.Silent.Check == true and Lynx.Silent.HitPart and Lynx.Silent.Target.Character.Head then local Offset = (flags["Air Prediction Method"] == "Offset" and Lynx.Silent.Target.Character.Humanoid.FloorMaterial == Enum.Material.Air) and NewVector3(0.0001, Lynx.Silent.Offset, 0.0001) or NewVector3(0.001, 0.001, 0.001) -- if (flags["Resolver"] == true and flags["Resolver Key"].Active == true and Lynx.Silent.Resolver[1] ~= nil) then args[2] = Lynx.Silent.Target.Character[Lynx.Silent.HitPart].Position + (Lynx.Silent.Resolver[1] * Lynx.Silent.Prediction) + Offset else args[2] = Lynx.Silent.Target.Character[Lynx.Silent.HitPart].Position + (Lynx.Silent.Target.Character.HumanoidRootPart.Velocity * Lynx.Silent.Prediction) + Offset end -- Lynx.Silent.Position = args[2] -- return Old(self, unpack(args)) end end end return Old(self, ...) end)) -- local old old = hookmetamethod(game, "__index", LPH_JIT(function(Self, Key) if not checkcaller() then if Key == "CFrame" and flags["CFrame Desync"] and flags["CFrame Desync Key"].Active and Lynx:GetPlayerStatus(LocalPlayer) then if Self == LocalPlayer.Character.HumanoidRootPart then return utility.Desyncs.OldCFrame end end end return old(Self, Key) end)) -- ui:Notify{text = "osiris.cool has loaded in ".. Round(tostring(tick() - utility.LastTick)).. " seconds !", time = 5, style = "loading"}