· 6 years ago · Jul 04, 2019, 11:36 PM
1-- phantom forces -- locals local mouse = game:GetService('Players').LocalPlayer:GetMouse() local dragging = {} -- settings local uisettings = {} uisettings.Name = "Phantom Forces" uisettings.Credits = "inspired by bmcq_12, and copied from wallyhub" uisettings.loadsize = UDim2.new(0, 598, 0, 325) uisettings.textcolor = Color3.fromRGB(255,255,255) uisettings.dark = Color3.fromRGB(26, 26, 26) uisettings.light = Color3.fromRGB(30, 30, 30) uisettings.border = Color3.fromRGB(42, 42, 42) uisettings.slider = Color3.fromRGB(34, 34, 34) --[[ dark theme uisettings.textcolor = Color3.fromRGB(255,255,255) uisettings.dark = Color3.fromRGB(26, 26, 26) uisettings.light = Color3.fromRGB(30, 30, 30) uisettings.border = Color3.fromRGB(42, 42, 42) uisettings.slider = Color3.fromRGB(34, 34, 34) light theme uisettings.textcolor = Color3.fromRGB(0, 0, 0) uisettings.dark = Color3.fromRGB(206, 206, 206) uisettings.light = Color3.fromRGB(240, 240, 240) uisettings.border = Color3.fromRGB(222, 222, 222) uisettings.slider = Color3.fromRGB(245, 245, 245) ]] uisettings.font = Enum.Font.SourceSansLight uisettings.font2 = Enum.Font.SourceSans -- load / default ui elements local store = game.CoreGui local ui = Instance.new('ScreenGui', store) _G.store = store ui.Name = uisettings.Name -- extra functions function DoesCollide(gui1, gui2) local g1p, g1s = gui1.AbsolutePosition, gui1.AbsoluteSize; local g2p, g2s = gui2.AbsolutePosition, gui2.AbsoluteSize; return ((g1p.x < g2p.x + g2s.x and g1p.x + g1s.x > g2p.x) and (g1p.y < g2p.y + g2s.y and g1p.y + g1s.y > g2p.y)); end function CheckCollisions(section) local collisions = {} for i,v in pairs(section:GetChildren()) do for l,o in pairs(section:GetChildren()) do if v~=o and collisions[v] ~= o and collisions[o] ~= v and DoesCollide(v, o) then collisions[v] = o end end end return collisions end -- extra events game:GetService("UserInputService").InputEnded:connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then for i,v in pairs(dragging) do dragging[i] = false end end end) -- get default objects function load_def() local bg = Instance.new("Frame", ui) local lightbg = Instance.new("Frame", bg) local gametext = Instance.new("TextLabel", bg) local credits = Instance.new("TextLabel", bg) local drop = Instance.new("TextButton", bg) bg.Name = "bg" bg.Active = true bg.BackgroundColor3 = uisettings.dark bg.BorderColor3 = uisettings.border bg.Draggable = true bg.Position = UDim2.new(0.300000012, 0, 0.379999995, 0) bg.Selectable = true bg.Size = uisettings.loadsize lightbg.Name = "lightbg" lightbg.BackgroundColor3 = uisettings.light lightbg.BorderColor3 = uisettings.border lightbg.Position = UDim2.new(0.018, 0, 0.12, 0) UDim2.new(0, 578, 0, 272) UDim2.new(0, 578, 0, 265) lightbg.Size = UDim2.new(0, bg.Size.X.Offset / 1.03460208, 0, bg.Size.Y.Offset / 1.22641509) lightbg.ZIndex = 2 gametext.Name = "gametext" gametext.BackgroundColor3 = Color3.new(1, 1, 1) gametext.BackgroundTransparency = 1 gametext.BorderSizePixel = 0 gametext.Size = UDim2.new(0, 134, 0, 30) gametext.ZIndex = 2 gametext.Font = uisettings.font gametext.Text = uisettings.Name gametext.TextColor3 = uisettings.textcolor gametext.TextSize = 20 gametext.TextWrapped = true credits.Name = "credits" credits.BackgroundColor3 = Color3.new(1, 1, 1) credits.BackgroundTransparency = 1 credits.BorderSizePixel = 0 credits.Position = UDim2.new(0.49000001, 0, 0.944999993, 0) credits.Size = UDim2.new(0, 297, 0, 15) credits.ZIndex = 2 credits.Font = Enum.Font.SourceSansLight credits.Text = uisettings.Credits credits.TextColor3 = uisettings.textcolor credits.TextSize = 18 credits.TextWrapped = true credits.TextXAlignment = Enum.TextXAlignment.Right credits.TextYAlignment = Enum.TextYAlignment.Bottom drop.Name = "drop" drop.BackgroundColor3 = Color3.new(1, 1, 1) drop.BackgroundTransparency = 1 drop.BorderSizePixel = 0 drop.Position = UDim2.new(0.941999972, 0, 0, 2) drop.Size = UDim2.new(0, 30, 0, 20) drop.ZIndex = 2 drop.AutoButtonColor = false drop.Font = Enum.Font.SourceSansLight drop.Text = "v" drop.TextColor3 = uisettings.textcolor drop.TextSize = 23 local dropdebounce = false local dropdelayed = false drop.MouseButton1Click:connect(function() dropdebounce = not dropdebounce -- non tween: {0, 598},{0, 325}, tween: {0, 598},{0, 33} if dropdelayed == false then if dropdebounce == true then lightbg.Visible = false credits.Visible = false bg:TweenSize(UDim2.new(0,598,0,33),Enum.EasingDirection.Out,Enum.EasingStyle.Quint,0.7) else bg:TweenSize(UDim2.new(0,598,0,325),Enum.EasingDirection.Out,Enum.EasingStyle.Quint,0.7) wait(0.2) --wait(0.7) credits.Visible = true lightbg.Visible = true end pcall(function() dropdelayed = true wait(0.8) dropdelayed = false end) end end) return bg, lightbg, gametext, credits, drop end local bg, lightbg, gametext, credits, drop = load_def() wait() function createTab(name, override) wait() local main = Instance.new('TextButton', lightbg) local area = Instance.new("Frame", lightbg) local highlight = Instance.new("Frame", main) local tab = Instance.new("BoolValue", main) local tabs = 0 local notdisabled main.Name = name main.BackgroundColor3 = uisettings.light main.BorderColor3 = uisettings.border main.BorderSizePixel = 0 main.Position = UDim2.new(0.016, 0, 0, -10) main.Size = UDim2.new(0.1, 0, -0.034, 21) main.ZIndex = 4 main.Font = uisettings.font2 main.Text = name main.TextColor3 = uisettings.textcolor main.TextSize = 14 main.Selectable = false main.AutoButtonColor = false main.TextYAlignment = Enum.TextYAlignment.Top highlight.Name = "highlight" highlight.BackgroundColor3 = Color3.new(0,0,0) highlight.BorderColor3 = uisettings.border highlight.Size = UDim2.new(1, 0, 1, 0) tab.Name = "tab" tab.Value = override or false area.Name = name..'_' area.BackgroundColor3 = uisettings.light area.BorderColor3 = uisettings.border area.Position = UDim2.new(0,0,0,0) area.Size = lightbg.Size area.ZIndex = 2 area.Visible = override or false for i,v in pairs(lightbg:GetChildren()) do if v:FindFirstChild('tab') then tabs = tabs + 1 end end for i,v in pairs(lightbg:GetChildren()) do if typeof(v) == 'Instance' and v:FindFirstChild('tab') then local tabs2 = tabs if tabs2 == 1 then tabs2 = 0 elseif tabs2 == 2 then tabs2 = 2 elseif tabs2 == 3 then tabs2 = 2.5 elseif tabs2 > 6 then tabs2 = tabs2 / 3.1 elseif tabs2 > 3 then tabs2 = 3 end v.Size = UDim2.new(((96.5 - tabs2)/tabs)/100, 0, -0.034, 21) v.Position = UDim2.new(0, ((v.Size.X.Scale * 300) * (i- 1)) + 10, 0, -10) end end if tab.Value == false then main.BackgroundColor3 = uisettings.dark area.BackgroundColor3 = uisettings.dark main.BorderColor3 = Color3.new(uisettings.border.r - 0.01, uisettings.border.g - 0.01, uisettings.border.b - 0.01) area.BorderColor3 = Color3.new(uisettings.border.r - 0.01, uisettings.border.g - 0.01, uisettings.border.b - 0.01) area.ZIndex = 2 main.ZIndex = 2 area.Visible = false else main.BackgroundColor3 = uisettings.light area.BackgroundColor3 = uisettings.light main.BorderColor3 = uisettings.border area.BorderColor3 = uisettings.border area.ZIndex = 3 main.ZIndex = 4 area.Visible = true end main.MouseButton1Click:connect(function() tab.Value = not tab.Value if tab.Value == true then for i,v in pairs(lightbg:GetChildren()) do if not v:FindFirstChild('tab') then v.Visible = false elseif v:FindFirstChild('tab') or string.find(v.Name, '_') then v.BackgroundColor3 = uisettings.dark v.BorderColor3 = Color3.new(uisettings.border.r - 0.01, uisettings.border.g - 0.01, uisettings.border.b - 0.01) v.ZIndex = 2 if v:FindFirstChild('tab') then v.tab.Value = false end end end main.BackgroundColor3 = uisettings.light area.BackgroundColor3 = uisettings.light main.BorderColor3 = uisettings.border area.BorderColor3 = uisettings.border area.ZIndex = 3 main.ZIndex = 4 area.Visible = true else for i,v in pairs(lightbg:GetChildren()) do if not v:FindFirstChild('tab') then v.Visible = false elseif v:FindFirstChild('tab') or string.find(v.Name, '_') then v.BackgroundColor3 = uisettings.dark v.BorderColor3 = Color3.new(uisettings.border.r - 0.01, uisettings.border.g - 0.01, uisettings.border.b - 0.01) v.ZIndex = 2 end if v:FindFirstChild('tab') and v.tab.Value == true then notdisabled = v end if v:FindFirstChild('tab') then v.tab.Value = false notdisabled.tab.Value = true end end main.BackgroundColor3 = uisettings.dark area.BackgroundColor3 = uisettings.dark main.BorderColor3 = Color3.new(uisettings.border.r - 0.01, uisettings.border.g - 0.01, uisettings.border.b - 0.01) area.BorderColor3 = Color3.new(uisettings.border.r - 0.01, uisettings.border.g - 0.01, uisettings.border.b - 0.01) area.ZIndex = 2 main.ZIndex = 2 area.Visible = false if not notdisabled then for i,v in pairs(lightbg:GetChildren()) do if v:FindFirstChild('tab') then v.BackgroundColor3 = uisettings.light v.BorderColor3 = uisettings.border v.ZIndex = 4 lightbg:FindFirstChild(v.Name..'_').BackgroundColor3 = uisettings.light lightbg:FindFirstChild(v.Name..'_').BorderColor3 = uisettings.border lightbg:FindFirstChild(v.Name..'_').ZIndex = 3 lightbg:FindFirstChild(v.Name..'_').Visible = true v.tab.Value = true break; end end else notdisabled.BackgroundColor3 = uisettings.light notdisabled.BorderColor3 = uisettings.border notdisabled.ZIndex = 4 lightbg:FindFirstChild(notdisabled.Name..'_').BackgroundColor3 = uisettings.light lightbg:FindFirstChild(notdisabled.Name..'_').BorderColor3 = uisettings.border lightbg:FindFirstChild(notdisabled.Name..'_').ZIndex = 3 lightbg:FindFirstChild(notdisabled.Name..'_').Visible = true notdisabled.tab.Value = true end end end) return main end function createSection(name, tab, size, pos) wait() tab = lightbg:WaitForChild(tab.Name..'_') local bg = Instance.new("Frame", tab) local label = Instance.new("TextLabel", bg) bg.Name = name bg.BackgroundColor3 = uisettings.light bg.BorderColor3 = uisettings.border bg.Position = pos bg.Size = size bg.ZIndex = 3 label.Name = "label" label.Text = name label.BackgroundColor3 = uisettings.light label.BorderSizePixel = 0 label.Size = UDim2.new(0, #name * 10, 0, 10) label.Position = UDim2.new(0.5, -(label.Size.X.Offset / 2), 0, -5) label.ZIndex = 4 label.Font = uisettings.font2 label.TextColor3 = uisettings.textcolor label.TextSize = 14 return bg end function updateUI(section) wait() local left, middle, right = 0, 0, 0 local sliders = {} local children = section:GetChildren() local num = 0 local scale = 1 / (section.AbsoluteSize.X / 100) if scale >= 0.8 then scale = 1 end for i,v in pairs(children) do if v:FindFirstChild('toggle') then if v.Position.X.Scale == 0 then left = left + 1 elseif v.Position.X.Scale >= scale * 2 then right = right + 1 elseif v.Position.X.Scale >= scale then middle = middle + 1 end end if v:FindFirstChild('SliderBoundary') then left = left + 1; right = right + 1; middle = middle + 1; sliders[#sliders + 1] = v end end for _,frame in pairs(children) do for x,slider in pairs(sliders) do if frame:FindFirstChild('toggle') and (DoesCollide(frame, slider) or DoesCollide(frame, slider.label)) then if (5 + (left * 20)) >= (section.AbsoluteSize.Y - 25) then frame.Position = UDim2.new(scale, 0, 0, 5 + ((middle - #sliders) * 20)) middle = middle + 1 end if (5 + (middle * 20)) >= (section.AbsoluteSize.Y - 25) then frame.Position = UDim2.new(scale * 2, 0, 0, 5 + ((right - #sliders) * 20)) right = right + 1 end if (5 + (right * 20)) >= (section.AbsoluteSize.Y - 25) or ((5 + (left * 20)) >= (section.AbsoluteSize.Y - 25) and scale >= 1) then warn('UI ISSUE: ' .. frame.label.Text .. ':' .. frame.Name .. ' CANNOT EXIST') frame:Destroy(); end end end end for _,main in pairs(sliders) do for _,frame in pairs(children) do if frame ~= main and (DoesCollide(frame, main) or DoesCollide(frame, main.label)) then main.Position = UDim2.new(0.036, 0, 0, frame.Position.Y.Offset + 35) end end end end function createToggle(name, codename, section, originalvalue, f, ...) wait() local frame = Instance.new("Frame", section) local toggle = Instance.new("ImageButton", frame) local label = Instance.new("TextLabel", frame) local function_args = {...} local left, middle, right = 0, 0, 0 local scale = 1 / (section.AbsoluteSize.X / 100) if scale >= 0.8 then scale = 1 end for i,v in pairs(section:GetChildren()) do if v:FindFirstChild('toggle') then if v.Position.X.Scale == 0 then left = left + 1 elseif v.Position.X.Scale >= scale * 2 then right = right + 1 elseif v.Position.X.Scale >= scale then middle = middle + 1 end end end frame.Name = codename frame.BackgroundTransparency = 1 frame.BorderSizePixel = 0 frame.Position = UDim2.new(0, 0, 0, 5 + (left * 20)) if (5 + (left * 20)) >= (section.AbsoluteSize.Y - 25) then frame.Position = UDim2.new(scale, 0, 0, 5 + (middle * 20)) end if (5 + (middle * 20)) >= (section.AbsoluteSize.Y - 25) then frame.Position = UDim2.new(scale * 2, 0, 0, 5 + (right * 20)) end if (5 + (right * 20)) >= (section.AbsoluteSize.Y - 25) or ((5 + (left * 20)) >= (section.AbsoluteSize.Y - 25) and scale >= 1) then warn('UI ISSUE: ' .. name .. ':' .. codename .. ' CANNOT EXIST') frame:Destroy(); return end frame.Size = UDim2.new(scale, 0, 0, 21) frame.ZIndex = 4 label.Name = "label" label.BackgroundTransparency = 1 label.BorderSizePixel = 0 label.Position = UDim2.new(0.5, -25, 0, 0) label.Size = UDim2.new(0, #label.Text * 15, 1, 0) label.ZIndex = 5 label.Font = Enum.Font.SourceSans label.Text = name label.TextColor3 = uisettings.textcolor label.TextSize = 14 label.TextXAlignment = Enum.TextXAlignment.Left toggle.Name = "toggle" toggle.BackgroundColor3 = uisettings.dark toggle.BorderColor3 = uisettings.border toggle.Position = UDim2.new(0.05, 0, 0.5, -7) toggle.Size = UDim2.new(0, 14, 0, 14) toggle.ZIndex = 5 toggle.Image = (_G.s and _G.s.MISC.lighttheme == true and "rbxassetid://2858659343" or "rbxassetid://2739167630") toggle.ImageTransparency = 1 toggle.ScaleType = Enum.ScaleType.Fit updateUI(section) local debounce = Instance.new('BoolValue', frame) debounce.Name = name if originalvalue ~= nil then debounce.Value = originalvalue if originalvalue == true then toggle.ImageTransparency = 0 else toggle.ImageTransparency = 1 end end toggle.MouseButton1Click:connect(function() debounce.Value = not debounce.Value if debounce.Value == true then toggle.ImageTransparency = 0 else toggle.ImageTransparency = 1 end if typeof(f) == 'function' then f(debounce.Value, unpack(function_args)) end end) game:GetService('ContentProvider'):PreloadAsync({toggle}) return toggle end function createSlider(name, section, max, edit, originalvalue, ...) wait() local main = Instance.new("Frame", section) local SliderBoundary = Instance.new("Frame", main) local SliderObject = Instance.new("TextButton", SliderBoundary) local label = Instance.new("TextLabel", main) local current = Instance.new("TextLabel", main) local valueComp = Instance.new("NumberValue", SliderObject) local ComparableValue = 0; local left, middle, right = 1, 0, 0; local sliders = 0; max = max + 0.1 dragging[name] = false; main.Name = name main.BackgroundColor3 = uisettings.light main.BorderColor3 = uisettings.border main.Position = UDim2.new(0.036, 0, 0.1, 0) main.Size = UDim2.new(0.925, 0, 0, 22) main.ZIndex = 5 SliderBoundary.Name = "SliderBoundary" SliderBoundary.Active = true SliderBoundary.BackgroundColor3 = uisettings.dark SliderBoundary.BorderColor3 = uisettings.border SliderBoundary.Position = UDim2.new(0.035, 0, 0.34, 0) SliderBoundary.Size = UDim2.new(0.934, 0, 0, 7) SliderBoundary.ZIndex = 5 SliderObject.Name = "SliderObject" SliderObject.BackgroundColor3 = uisettings.slider SliderObject.BorderColor3 = uisettings.border SliderObject.Size = UDim2.new(0, 10, 1, 0) SliderObject.ZIndex = 6 SliderObject.AutoButtonColor = false SliderObject.Text = "" SliderObject.TextScaled = true SliderObject.TextSize = 96 SliderObject.TextWrapped = true label.Name = "label" label.BackgroundColor3 = uisettings.light label.BorderSizePixel = 0 label.Position = UDim2.new(0.04581438, 0, -0.363247961, 0) label.Size = UDim2.new(0, #label.Text * 15, 0.54273504, 0) label.ZIndex = 6 label.Font = Enum.Font.SourceSans label.Text = name label.TextColor3 = uisettings.textcolor label.TextSize = 14 current.Name = "current" current.BackgroundColor3 = uisettings.light current.BorderSizePixel = 0 current.Position = UDim2.new(0.800000012, 0, -0.349999994, 0) current.Size = UDim2.new(0, 33, 0.542999983, 0) current.ZIndex = 6 current.Font = Enum.Font.SourceSansSemibold current.Text = "0" current.TextColor3 = uisettings.textcolor current.TextSize = 14 valueComp.Name = "ComparableValue" if originalvalue ~= nil then valueComp.Value = originalvalue end updateUI(section) local function_args = {...} local compare = (math.floor(valueComp.Value) > 1 and math.floor(valueComp.Value) / 10 ^ (#tostring(valueComp.Value))) or valueComp.Value SliderObject.Position = UDim2.new(SliderObject.Position.X.Scale, -(compare * ((SliderBoundary.AbsoluteSize.X * compare) - SliderBoundary.AbsoluteSize.X)), SliderObject.Position.Y.Scale, SliderObject.Position.Y.Offset) current.Text = tostring(valueComp.Value) SliderObject.MouseButton1Down:connect(function() dragging[name] = true repeat SliderObject.Position = UDim2.new(0,(mouse.X - SliderBoundary.AbsolutePosition.X),0,0) if SliderObject.Position.X.Offset < 0 then SliderObject.Position = UDim2.new(0,0,0,0) elseif SliderObject.Position.X.Offset + SliderObject.Size.X.Offset > SliderBoundary.AbsoluteSize.X then SliderObject.Position = UDim2.new(0,(SliderBoundary.AbsoluteSize.X-SliderObject.Size.X.Offset),0,0) end ComparableValue = math.floor((SliderObject.AbsolutePosition.X-SliderBoundary.AbsolutePosition.X) / (SliderBoundary.AbsoluteSize.X-SliderObject.Size.X.Offset) * (max * 10)) valueComp.Value = ComparableValue / 10 current.Text = tostring(valueComp.Value) if typeof(edit) == 'number' then edit = valueComp.Value elseif typeof(edit) == 'function' then edit(valueComp.Value, unpack(function_args)) end wait() until dragging[name] == false end) return main end function createButton(name, section, size, pos, f, ...) local button = Instance.new("TextButton", section) button.Name = name button.BackgroundColor3 = uisettings.light button.BorderColor3 = uisettings.border button.Position = pos button.Size = size button.ZIndex = 5 button.Font = uisettings.font2 button.Text = name button.TextColor3 = uisettings.textcolor button.TextSize = 14 local function_args = {...} button.MouseButton1Click:connect(function() f(unpack(function_args)) end) return button end function createDropDown(name, f, ...) end function createDropDownValue(name, f, ...) end _G.createTab = createTab _G.createSection = createSection _G.createToggle = createToggle _G.createSlider = createSlider _G.createButton = createButton _G.updateUI = updateUI -- script local newcolor3 = Color3.new local newvector3 = Vector3.new local newcframe = CFrame.new -- tables local client, funcs, menu, net, char, send, camtbl, gl, pdata; local s = { AIM = { smooth = 3, accuracy = 0, delay = 0.2, curve = 0.5, fov = 30, triggerbot = { delay = 0, enabled = false }, vischeck = true, teamcheck = true, enabled = true, silent = false }, ESP = { all = false, customization = { boxR = false, boxColor = nil, chamsR = false, chamsColor = nil, chamsTransparency = 0.6, tracersR = false, tracersColor = nil, tracersTransparency = 0.6, teammates = false }, box = true, dist = true, name = true, health_bar = true, weapon = false, chams = true, tracers = false }, MISC = { lighttheme = true; antirecoil = false, antisway = false, antifall = false, levelhack = 0, ballisticstracker = true, unlockall = false, unlockallcamos = false, gunmod = { all = false, hideflash = 1, hideminimap = 1, crosshair = { enabled = false, crosssize = 1, crossexpansion = 1 }, antirecoil = { enabled = false, -- all empty vector3's camkickmin = 1, camkickmax = 1, aimcamkickmin = 1, aimcamkickmax = 1, aimtranskickmin = 1, aimtranskickmax = 1, transkickmin = 1, transkickmax = 1, rotkickmin = 1, rotkickmax = 1, aimrotkickmin = 1, aimrotkickmax = 1 }, antispread = { enabled = false, -- all numbers hipfirespreadrecover = 1, hipfirespread = 1, hipfirestability = 1, swayamp = 1, swayspeed = 1, steadyspeed = 1, breathspeed = 1 }, bulletspeed = 1, firerate = { -- variablefireate + requirechamber are bools, false firerate = 1, variablefirerate = 1, requirechamber = 1 }, infrange = { enabled = true, -- both numbers range0 = 1, range1 = 1 }, instakill = { enabled = false, -- numbers damage0 = 1, damage1 = 1 }, suppression = 1, penetrationdepth = 1, automatic = false, firemodes = 1, -- {true, 3, 1} walkspeed = 1, sprintspeed = 1, instareload = false, --animations.reload.timescale antionfire = false, --onfire = {} antibob = false, antisway = false }, killall = false }, CONNECTIONS = {} }; if not _G.s then _G.s = s; _G.backups = {} end local m, g = _G.s.MISC, _G.s.MISC.gunmod if _G.client then client = _G.client; funcs = _G.funcs; net = _G.net; camtbl = _G.camtbl; gl = _G.gl; hud = _G.hud; s = _G.s; for i,v in pairs(_G.s.CONNECTIONS) do v:Disconnect() end end local rs, tonumber, tostring = math.randomseed, tonumber, tostring rs(tick()) wait() if _G.s.MISC.gunmod.all then local m = _G.s.MISC.gunmod local V3 = newvector3() m.crosshair.enabled = true m.crosshair.crosssize = 1.5 m.crosshair.crossexpansion = 0.3 m.hideflash = true m.hideminimap = true m.bulletspeed = 5000 m.suppression = 1.01 m.penetrationdepth = 100 m.automatic = true m.firemodes = {true, 3, 1} m.walkspeed = 40 m.sprintspeed = 40 for i,v in pairs(m.antirecoil) do if i ~= 'enabled' then m.antirecoil[i] = V3 end end for i,v in pairs(m.antispread) do if i ~= 'enabled' and i ~= 'hipfirespreadrecover' then m.antispread[i] = 0 elseif i == 'hipfirespreadrecover' then m.antispread[i] = 100 end end m.firerate = 5000 / 6 m.variablefirerate = false m.requirechamber = false m.infrange.enabled = true m.infrange.range0 = 9000 m.infrange.range1 = 9000 m.instakill.enabled = true m.instakill.damage0 = 100 m.instakill.damage1 = 100 m.instareload = true; m.antionfire = true; m.antibob = true; m.antisway = true; end local m, V3 = _G.s.MISC.gunmod, newvector3() if m.antirecoil.enabled then for i,v in pairs(m.antirecoil) do if i ~= 'enabled' then m.antirecoil[i] = V3 end end end if m.antispread.enabled then for i,v in pairs(m.antispread) do if i ~= 'enabled' and i ~= 'hipfirespreadrecover' then m.antispread[i] = 0 elseif i == 'hipfirespreadrecover' then m.antispread[i] = 100 end end end if m.automatic == true then m.firemodes = {true, 3, 1} end if m.infrange.enabled == true then m.infrange.range0 = 9000 m.infrange.range1 = 9000 end if m.instakill.enabled == true then m.instakill.damage0 = 100 m.instakill.damage1 = 100 end if _G.s.MISC.lighttheme == true then uisettings.textcolor = Color3.fromRGB(0, 0, 0) uisettings.dark = Color3.fromRGB(206, 206, 206) uisettings.light = Color3.fromRGB(240, 240, 240) uisettings.border = Color3.fromRGB(222, 222, 222) uisettings.slider = Color3.fromRGB(245, 245, 245) else uisettings.textcolor = Color3.fromRGB(255,255,255) uisettings.dark = Color3.fromRGB(26, 26, 26) uisettings.light = Color3.fromRGB(30, 30, 30) uisettings.border = Color3.fromRGB(42, 42, 42) uisettings.slider = Color3.fromRGB(34, 34, 34) end bg.BackgroundColor3 = uisettings.dark bg.BorderColor3 = uisettings.border lightbg.BackgroundColor3 = uisettings.light lightbg.BorderColor3 = uisettings.border gametext.TextColor3 = uisettings.textcolor credits.TextColor3 = uisettings.textcolor drop.TextColor3 = uisettings.textcolor --[[for i,v in pairs(_G.s) do for x,c in pairs(v) do if c == true then warn(i .. '.' .. x, c) elseif typeof(c) == 'table' then for l,o in pairs(c) do if o == true then warn(i .. '.' .. x .. '.' .. l, o) elseif typeof(o) == 'table' then for p,u in pairs(o) do if u == true then warn(i .. '.' .. x .. '.' .. l .. '.' .. p, u) end end end end end end end]] -- locals local cam = workspace:FindFirstChildOfClass("Camera") or workspace.Camera or workspace.CurrentCamera local mouse = game:GetService('Players').LocalPlayer:GetMouse() local sin = math.sin local ffc = Instance.new('Part').FindFirstChild local legitloop, pc, oldtarget, curvea, rainbowCache, tracerCache; rainbowCache = {} tracerCache = {} wait() -- exploit locals local getreg = getreg or debug.getregistry or getregistry local setreadonly = setreadonly or make_writeable or makewriteable or fullaccess local hookfunction = hookfunc or hookfunction or replaceclosure or detour_function local GETUPVALUES = GETUPVALUES or debug.getupvalues or secret500 local SETUPVALUE = SETUPVALUE or debug.setupvalue local GETUPVAL = GETUPVAL or debug.getupvalue local newcclosure = newcclosure or coroutine.wrap local service = setmetatable({}, { __index = function(t, k) return game:GetService(k) end, __namecall = function(self, ...) local args = {...} if args[#args] == 'GetService' then return game:GetService(args[#args - 1]) end end }) _G.service = service; _G.espCache = {}; _G.distFrom = {}; _G.closestplr = 1; _G.delayed = 1; _G.ldown = false; _G.rdown = false; local playersserv = service.Players local LOCALPLR = playersserv.LocalPlayer local coreguiserv = service.CoreGui local workspaceserv = service.Workspace local replicatedstorserv = service.ReplicatedStorage local spawn = spawn; local pcall = pcall; local rs = math.randomseed -- metatable loadstring([=[ local mt = getrawmetatable(game) local setreadonly = setreadonly or make_writeable or makewriteable or fullaccess local nc, id, rnc = mt.__namecall, mt.__index setreadonly(mt, false) mt.__namecall = function(...) local args = {...} if tostring(args[#args]):lower() == 'kick' then return end return nc(...) end mt.__index = function(inst, str) if str == 'Jump' or str == 'WalkSpeed' then if str == 'WalkSpeed' and (_G.s.MISC.gunmod.all or _G.s.MISC.gunmod.walkspeed ~= 1) then return 16 end end return id(inst, str) end ]=])(); repeat --if not client and not funcs then for i,v in pairs(getreg()) do if typeof(v) == 'function' then local idk, uvs = GETUPVALUES(v) if uvs and (uvs.network and uvs.char) then client = uvs client.send = uvs.network.send; client.loadgun = uvs.char.loadgun; client.loadgrenade = uvs.char.loadgrenade; pcall(function() client.tracker = GETUPVAL(client.char.animstep, 'tracker') client.stoptracker = GETUPVAL(client.char.animstep, 'stoptracker') client.swingspring = GETUPVAL(client.char.step, 'swingspring') end) _G.client = client; elseif uvs and uvs.hud then hud = uvs.hud; _G.hud = hud; elseif uvs and uvs.funcs then pcall(function() pdata = GETUPVAL(uvs.funcs.updatemoney, 'pdata'); _G.pdata = pdata gl = GETUPVAL(uvs.funcs.swapgun, 'gamelogic'); _G.gl = gl; _G.loadm = gl.loadmodules end) funcs = uvs.funcs; _G.funcs = uvs.funcs; elseif uvs and uvs.menu then menu = uvs.menu; _G.menu = uvs.menu elseif uvs and (uvs.netkick or uvs.kick) then SETUPVALUE(v, 'netkick', function() return wait(9e9) end) SETUPVALUE(v, 'kick', function() return wait(9e9) end) elseif uvs and uvs.camera then local tst, idk = pcall(function() local t = uvs.camera.setlookvector end) if tst then camtbl = uvs.camera; _G.camtbl = uvs.camera; end end end end --end wait(1) until client and funcs and camtbl and menu; repeat wait() if getgc then for i,v in pairs(getgc()) do if typeof(v) == "function" and GETUPVAL(v, 'net_backup') then SETUPVALUE(v, 'getfenv', newcclosure(function() return wait(9e9) end)) end end pc = pcall elseif hookfunction then pc = hookfunction(getrenv().pcall, function(f, ...) return (GETUPVAL(f, 'orig_env') and true) or pc(f, ...) end, true) end wait() if pc then break end until pc wait(0.1) net = client.network; _G.net = net; char = client.char; _G.char = char; loadstring([[ local s, client = _G.s, _G.client client.network.send = function(n, ...) local args = {...} if args[1] ~= 'lookangles' and args[1] ~= 'ping' and args[1] ~= 'pingcheck' then print(unpack(args)) end if #args <= 0 then return _G.client.send(n, ...) end if args[1] == 'logmessage' or args[1] == 'deploycheck' or args[1] == 'changewep' or args[1] == 'changeatt' or args[1] == 'changecamo' or (args[1] == 'changehealthx' and tostring(args[5]) == 'Falling') then return end if args[1] == 'spawn' then args[5] = {Name = "AK12", Attachments = {}, Camo = {}} args[6] = {Name = "M9", Attachments = {}, Camo = {}} args[7] = {Name = "KNIFE", Camo = {}} elseif args[1] == 'swapgun' and args[2]:FindFirstChild('Gun') then args[2].Gun.Value = "AK12" args[6] = {} args[7] = {} elseif args[1] == 'bullethit' and args[2].Character and s.MISC.gunmod.instakill.enabled == true then args[2].Character:WaitForChild('HumanoidRootPart') repeat client.send(n, unpack(args)) wait() until _G.hud:getplayerhealth(args[2]) == 0 return end return client.send(n, unpack(args)) end ]])() --[[ if args[1] == 'ping' then args[2] = args[3] else elseif args[1] == 'swapgun' and args[2]:FindFirstChild('Gun') then args[2].Gun.Value = "AK12" args[6] = {} args[7] = {} --]] --[[ spawn(function() client.network.send = function(n, ...) local args = {...} --if args[1] ~= 'lookangles' and args[1] ~= 'ping' then print(unpack(args)) end if #args <= 0 then return client.send(n, ...) end if args[1] == 'logmessage' or args[1] == 'deploycheck' or args[1] == 'changewep' or args[1] == 'changeatt' or args[1] == 'changecamo' or (args[1] == 'changehealthx' and tostring(args[5]) == 'Falling') then return end if args[1] == 'ping' then args[2] = args[3] elseif args[1] == 'spawn' then args[5] = {Name = "AK12", Attachments = {}, Camo = {}} args[6] = {Name = "M9", Attachments = {}, Camo = {}} args[7] = {Name = "KNIFE", Camo = {}} end return client.send(n, unpack(args)) end end) ]] char.loadgun = function(...) local args = {...} local test = false for i,v in pairs(_G.s.MISC.gunmod) do if typeof(v) == table then for x,c in pairs(v) do if c ~= 1 then test = true end end end if v ~= 1 then test = true end end if args[2].type == 'KNIFE' then args[2].name = 'KNIFE' elseif args[2].type == 'PISTOL' then args[2].name = 'M9' else args[2].name = 'AK12' end if test then local gdata = args[2] local mods = _G.s.MISC.gunmod for i,v in pairs(mods) do if v ~= 1 and typeof(v) ~= 'table' then gdata[i] = v; end if typeof(v) == 'table' then for x,c in pairs(v) do if gdata[x] and c ~= 1 then gdata[x] = c; end end end end if mods.instareload == true then gdata.animations.reload.timescale = 0 end if mods.antionfire == true and gdata.animations.onfire ~= nil then gdata.animations.onfire = nil end if mods.antibob == true then if not _G.backups.bob then _G.backups.bob = GETUPVAL(client.loadgun, 'gunbob') end SETUPVALUE(client.loadgun, 'gunbob', function() return newcframe() end) elseif mods.antibob == false and _G.backups.bob then SETUPVALUE(client.loadgun, 'gunbob', _G.backups.bob) end if mods.antisway == true then if not _G.backups.sway then _G.backups.sway = GETUPVAL(client.loadgun, 'gunsway') end SETUPVALUE(client.loadgun, 'gunsway', function() return newcframe() end) elseif mods.antibob == false and _G.backups.sway then SETUPVALUE(client.loadgun, 'gunsway', _G.backups.sway) end args[2] = gdata; end return client.loadgun(unpack(args)) end local function getVisible() local visible = {}; for i,v in pairs(playersserv:GetPlayers()) do if v.Character and v.Character:FindFirstChild'Head' then local c, ig = {LOCALPLR.Character.Head.Position, v.Character.Head.Position}, LOCALPLR.Character:GetDescendants() for x,c in pairs(coreguiserv.ESPFOLD:GetDescendants()) do if c:IsA('BoxHandleAdornment') then ig[#ig + 1] = c end end for x,c in pairs(workspaceserv.CurrentCamera:GetDescendants()) do if c:IsA('BoxHandleAdornment') then ig[#ig + 1] = c end end local cam = workspace:FindFirstChildOfClass("Camera") or workspace.Camera or workspace.CurrentCamera if #cam:GetPartsObscuringTarget(c, ig) == 0 then visible[v.Name] = v end end end return visible end local function rainbow(v, lerpstr, timescale, addition) rainbowCache[v.Name] = {OBJ = v; STR = lerpstr; TS = timescale or math.random(1, 4); ADD = addition or 0.6}; for i,v in pairs(rainbowCache) do if not v.OBJ or v.OBJ.Parent == nil then v.OBJ:Destroy() rainbowCache[i] = nil end end end local function visrewrite(refresh) local espsettings = _G.s.ESP local espfolder = coreguiserv:FindFirstChild('ESPFOLD') or Instance.new('Folder', coreguiserv) espfolder.Name = 'ESPFOLD' -- create esp objects for i,v in pairs(playersserv:GetPlayers()) do if refresh ~= true and not espfolder:FindFirstChild(v.Name) and v ~= LOCALPLR then local ESP = Instance.new("BillboardGui") local ESPH = Instance.new("BillboardGui") local hspot = Instance.new("Frame") local box = Instance.new("Folder") local chams = Instance.new("Folder") local weapon = Instance.new("TextLabel") local dist = Instance.new("TextLabel") local name = Instance.new("TextLabel") local health_bar = Instance.new("Frame") local side_bottom = Instance.new("Frame") local side_left = Instance.new("Frame") local side_right = Instance.new("Frame") local side_top = Instance.new("Frame") --Properties: ESP.Name = v.Name ESP.Parent = espfolder ESP.AlwaysOnTop = true ESP.Size = UDim2.new(8, 0, 14, 0) ESP.StudsOffset = newvector3(0, 0.75, 0) ESP.ResetOnSpawn = false box.Name = "box" box.Parent = ESP box.Archivable = true chams.Name = "chams" chams.Parent = ESP chams.Archivable = true side_bottom.Name = "side_bottom" side_bottom.Parent = box side_bottom.BackgroundColor3 = espsettings.customization['boxColor'] or newcolor3(v.TeamColor.r, v.TeamColor.g, v.TeamColor.b) side_bottom.BorderSizePixel = 0 side_bottom.Position = UDim2.new(0.180000007, 0, 0.800000012, 0) side_bottom.Size = UDim2.new(0.63499999, 0, 0.0149999997, 0) side_bottom.Visible = false side_left.Name = "side_left" side_left.Parent = box side_left.BackgroundColor3 = espsettings.customization['boxColor'] or newcolor3(v.TeamColor.r, v.TeamColor.g, v.TeamColor.b) side_left.BorderSizePixel = 0 side_left.Position = UDim2.new(0.180000007, 0, 0.349999994, 0) side_left.Size = UDim2.new(0.0250000004, 0, 0.449999988, 0) side_left.Visible = false side_right.Name = "side_right" side_right.Parent = box side_right.BackgroundColor3 = espsettings.customization['boxColor'] or newcolor3(v.TeamColor.r, v.TeamColor.g, v.TeamColor.b) side_right.BorderSizePixel = 0 side_right.Position = UDim2.new(0.790000021, 0, 0.349999994, 0) side_right.Size = UDim2.new(0.0250000004, 0, 0.449999988, 0) side_right.Visible = false side_top.Name = "side_top" side_top.Parent = box side_top.BackgroundColor3 = espsettings.customization['boxColor'] or newcolor3(v.TeamColor.r, v.TeamColor.g, v.TeamColor.b) side_top.BorderSizePixel = 0 side_top.Position = UDim2.new(0.200000003, 0, 0.349999994, 0) side_top.Size = UDim2.new(0.610000014, 0, 0.0149999997, 0) side_top.Visible = false if espsettings.customization.boxR == true then rainbow(side_top, 'BackgroundColor3', 1.5, 0.6) rainbow(side_bottom, 'BackgroundColor3', 1.5, 0.6) rainbow(side_left, 'BackgroundColor3', 1.5, 0.6) rainbow(side_right, 'BackgroundColor3', 1.5, 0.6) end weapon.Name = "weapon" weapon.Parent = ESP weapon.BackgroundColor3 = newcolor3(1, 1, 1) weapon.BackgroundTransparency = 1 weapon.Position = UDim2.new(0.200000003, 0, 0.899999976, 0) weapon.Size = UDim2.new(0.600000024, 0, 0.0799999982, 0) weapon.Font = Enum.Font.SourceSansBold weapon.Text = 'NONE' weapon.TextColor3 = newcolor3(1, 1, 1) weapon.TextScaled = true weapon.TextStrokeColor3 = newcolor3(0.164706, 0.164706, 0.164706) weapon.TextStrokeTransparency = 0.89999997615814 weapon.TextWrapped = true weapon.Visible = false dist.Name = "dist" dist.Parent = ESP dist.BackgroundColor3 = newcolor3(1, 1, 1) dist.BackgroundTransparency = 1 dist.Position = UDim2.new(0.200000003, 0, 0.829999983, 0) dist.Size = UDim2.new(0.600000024, 0, 0.0700000003, 0) dist.Font = Enum.Font.SourceSansBold dist.Text = "Distance: NIL" dist.TextColor3 = newcolor3(1, 1, 1) dist.TextScaled = true dist.TextStrokeColor3 = newcolor3(0.164706, 0.164706, 0.164706) dist.TextStrokeTransparency = 0.89999997615814 dist.TextWrapped = true dist.Visible = false name.Name = "name" name.Parent = ESP name.BackgroundColor3 = newcolor3(1, 1, 1) name.BackgroundTransparency = 1 name.Position = UDim2.new(0.200000003, 0, 0.219999999, 0) name.Size = UDim2.new(0.600000024, 0, 0.0799999982, 0) name.Font = Enum.Font.SourceSansBold name.Text = v.Name name.TextColor3 = newcolor3(1, 1, 1) name.TextScaled = true name.TextStrokeColor3 = newcolor3(0.164706, 0.164706, 0.164706) name.TextStrokeTransparency = 0.89999997615814 name.TextWrapped = true name.Visible = false health_bar.Name = "health_bar" health_bar.Parent = name health_bar.BackgroundColor3 = newcolor3(0.0627451, 1, 0.564706) health_bar.BorderColor3 = newcolor3(0.164706, 0.87451, 0.521569) health_bar.BorderSizePixel = 2 health_bar.Position = UDim2.new(0, 0, 1.20000005, 0) health_bar.Size = UDim2.new(1, 0, 0.200000003, 0) health_bar.Visible = false local tracePart = Instance.new("Part") local traceCham = Instance.new("BoxHandleAdornment") tracePart.Transparency = 1 tracePart.Parent = cam or workspace.CurrentCamera tracePart.Name = v.Name tracePart.Anchored = true tracePart.CanCollide = false tracePart.Size = newvector3(0.4, 0.4, 0) traceCham.Name = "cham" traceCham.Parent = tracePart traceCham.Visible = false traceCham.Transparency = espsettings.customization['tracersTransparency'] or 0.6 traceCham.AlwaysOnTop = true traceCham.ZIndex = 1 traceCham.Adornee = tracePart traceCham.Color3 = espsettings.customization['tracersColor'] or newcolor3(v.TeamColor.r, v.TeamColor.g, v.TeamColor.b) if espsettings.customization.tracersR == true then rainbow(traceCham, 'Color3', 1.5, 0.6) end if v.Character and v.Character:FindFirstChild('HumanoidRootPart') and (v.Character.HumanoidRootPart.Position - workspace.Lobby.Spawn1.Position).magnitude > 100 then ESP.Adornee = v.Character:WaitForChild('HumanoidRootPart') for _,c in pairs(v.Character:GetChildren()) do if c:IsA('BasePart') and c ~= v.Character.HumanoidRootPart then local chamsOBJ, size = Instance.new("BoxHandleAdornment"), (c:IsA('Model') and c:GetExtentsSize() or c:IsA('BasePart') and c.Size) or V3 chamsOBJ.Name = c.Name chamsOBJ.Parent = chams chamsOBJ.Visible = false chamsOBJ.AlwaysOnTop = true chamsOBJ.Color3 = espsettings.customization['chamsColor'] or newcolor3(v.TeamColor.r, v.TeamColor.g, v.TeamColor.b) chamsOBJ.Transparency = espsettings.customization['chamsTransparency'] or 0.6 chamsOBJ.Adornee = c chamsOBJ.Size = size + Vector3.new(0.05, 0.05, 0.05) chamsOBJ.ZIndex = 1 if espsettings.customization.chamsR == true then rainbow(chamsOBJ, 'Color3', 1.5, 0.6) end end end weapon.Text = (v.Character:FindFirstChildOfClass('Model') and v.Character:FindFirstChildOfClass('Model').Name) or 'NONE' _G.espCache[v] = {wep = weapon; tpart = tracePart; health_bar = health_bar; distobj = dist; hspot = hspot; sides = {b = side_bottom; t = side_top; l = side_left; r = side_right}} end _G.s.CONNECTIONS[#_G.s.CONNECTIONS + 1] = v.CharacterAdded:connect(function(character) character:WaitForChild('HumanoidRootPart') repeat wait() until (character.HumanoidRootPart.Position - workspace.Lobby.Spawn1.Position).magnitude > 100 ESP.Adornee = character:WaitForChild('HumanoidRootPart') for _,c in pairs(character:GetChildren()) do if c:IsA('BasePart') and c ~= character.HumanoidRootPart then local chamsOBJ, size = Instance.new("BoxHandleAdornment"), (c:IsA('Model') and c:GetExtentsSize() or c:IsA('BasePart') and c.Size) or V3 chamsOBJ.Name = c.Name chamsOBJ.Parent = chams chamsOBJ.Visible = false chamsOBJ.AlwaysOnTop = true chamsOBJ.Color3 = espsettings.customization['chamsColor'] or newcolor3(v.TeamColor.r, v.TeamColor.g, v.TeamColor.b) chamsOBJ.Transparency = espsettings.customization['chamsTransparency'] or 0.6 chamsOBJ.Adornee = c chamsOBJ.Size = size + Vector3.new(0.05, 0.05, 0.05) chamsOBJ.ZIndex = 1 if espsettings.customization.chamsR == true then rainbow(chamsOBJ, 'Color3', 1.5, 0.6) end end end weapon.Text = (character:FindFirstChildOfClass('Model') and v.Character:FindFirstChildOfClass('Model').Name) or 'NONE' _G.espCache[v] = {wep = weapon; tpart = tracePart; health_bar = health_bar; distobj = dist; hspot = hspot; sides = {b = side_bottom; t = side_top; l = side_left; r = side_right}} end) _G.s.CONNECTIONS[#_G.s.CONNECTIONS + 1] = v.CharacterRemoving:connect(function(character) espfolder[v.Name].chams:ClearAllChildren() _G.espCache[v] = nil ESP.Adornee = nil end) end wait() end -- refresh esp if meet requirements if #espfolder:GetChildren() > 0 then for i,v in pairs(playersserv:GetPlayers()) do -- if player exists then if espfolder:FindFirstChild(v.Name) then for x,c in pairs(espsettings) do -- if settings is turned on then if typeof(c) == 'boolean' then local toggle = false --local numinterpretation = 1 if c == true and (v.TeamColor ~= LOCALPLR.TeamColor or espsettings.customization.teammates == true) then toggle = true --numinterpretation = 0 end -- custom commands if x == 'tracers' and cam:FindFirstChild(v.Name) then cam[v.Name].cham.Visible = toggle elseif x == 'health_bar' and espfolder[v.Name]:FindFirstChild('name') and espfolder[v.Name]:FindFirstChild('name'):FindFirstChild('health_bar') then espfolder[v.Name]:FindFirstChild('name').health_bar.Visible = toggle elseif x == 'chams' then for i,v in pairs(espfolder[v.Name].chams:GetChildren()) do v.Visible = toggle end elseif x == 'box' then for i,v in pairs(espfolder[v.Name].box:GetChildren()) do v.Visible = toggle end end -- if found dist/name/weapon then if espfolder[v.Name]:FindFirstChild(x) and not espfolder[v.Name]:FindFirstChild(x):IsA('Folder') then pcall(function() espfolder[v.Name][x].Visible = toggle end) end end end end wait() end end end local rayTick = tick() function rayCast(input) if tick()-rayTick > 0.3 and typeof(input) == 'Instance' and input:IsA('Player') then local ig = LOCALPLR.Character:GetDescendants() for x,c in pairs(coreguiserv.ESPFOLD:GetDescendants()) do if c:IsA('BoxHandleAdornment') then ig[#ig + 1] = c end end for x,c in pairs(workspaceserv.CurrentCamera:GetDescendants()) do if c:IsA('BoxHandleAdornment') then ig[#ig + 1] = c end end local Ray = Ray.new(cam.CFrame.p, (input.Character:FindFirstChild("Head").Position - cam.CFrame.p).unit * 2048) local part = workspace:FindPartOnRayWithIgnoreList(Ray, ig) if part ~= nil and part:IsDescendantOf(input.Character) then return true end rayTick = tick() end return false end local function closest(visover, teamover) local vischeck, teamcheck = _G.s.AIM.vischeck, _G.s.AIM.teamcheck if visover ~= nil then vischeck = visover end if teamover ~= nil then teamcheck = teamover end local closest, num = 0, false; local distFrom = _G.distFrom; for i,v in pairs(distFrom) do if (teamcheck == false and playersserv:FindFirstChild(i) and playersserv[i].Character) or (teamcheck == true and playersserv:FindFirstChild(i) and playersserv[i].Character and playersserv[i].Team ~= LOCALPLR.Team) then local isVis = true if playersserv[i].Character:FindFirstChild('Head') then local c, ig = {LOCALPLR.Character.Head.Position, playersserv:FindFirstChild(i).Character.Head.Position}, LOCALPLR.Character:GetDescendants() for x,c in pairs(coreguiserv.ESPFOLD:GetDescendants()) do if c:IsA('BoxHandleAdornment') then ig[#ig + 1] = c end end for x,c in pairs(workspaceserv.CurrentCamera:GetDescendants()) do if c:IsA('BoxHandleAdornment') then ig[#ig + 1] = c end end local cam = workspace:FindFirstChildOfClass("Camera") or workspace.Camera or workspace.CurrentCamera if vischeck == true and (#cam:GetPartsObscuringTarget(c, ig) == 0 or rayCast(playersserv[i]) == true) then isVis = true elseif vischeck == true then isVis = false end if (playersserv[i].Character.HumanoidRootPart.Position - workspace.Lobby.Spawn1.Position).magnitude <= 100 then isVis = false end else isVis = false end if v ~= 0 and isVis == true and (not num or v < num) then closest = tostring(i); num = v; end end end if oldtarget == nil then oldtarget = playersserv:FindFirstChild(closest) end if oldtarget and oldtarget ~= playersserv:FindFirstChild(closest) then if _G.s.AIM.enabled then _G.delayed = true wait(0.1) end _G.delayed = false oldtarget = playersserv:FindFirstChild(closest) return playersserv:FindFirstChild(closest) elseif oldtarget == playersserv:FindFirstChild(closest) then return playersserv:FindFirstChild(closest) end end local function fov(fovover, visover, teamover) local vischeck, teamcheck, FOV = _G.s.AIM.vischeck, _G.s.AIM.teamcheck, _G.s.AIM.fov if visover ~= nil then vischeck = visover end if teamover ~= nil then teamcheck = teamover end if fovover ~= nil then FOV = fovover end local incross, num, closest = {}, false, 0 local distFrom = _G.distFrom for i,v in pairs(playersserv:GetPlayers()) do if v.Character and distFrom[v.Name] then local spos = cam:WorldToScreenPoint(v.Character.Head.Position) local crossdist = (Vector2.new(mouse.X, mouse.Y) - Vector2.new(spos.X, spos.Y)).magnitude if crossdist < (cam.ViewportSize.X / (cam.FieldOfView / FOV)) then incross[v] = {spos = spos; dist = crossdist}; end end end for i,v in pairs(incross) do if (teamcheck == false and i.Character) or (teamcheck == true and i.Team ~= LOCALPLR.Team) then local isVis = true local c, ig = {LOCALPLR.Character.Head.Position, i.Character.Head.Position}, LOCALPLR.Character:GetDescendants() for x,c in pairs(coreguiserv.ESPFOLD:GetDescendants()) do if c:IsA('BoxHandleAdornment') then ig[#ig + 1] = c end end for x,c in pairs(workspaceserv.CurrentCamera:GetDescendants()) do if c:IsA('BoxHandleAdornment') then ig[#ig + 1] = c end end local cam = workspace:FindFirstChildOfClass("Camera") or workspace.Camera or workspace.CurrentCamera if vischeck == true and (#cam:GetPartsObscuringTarget(c, ig) == 0 or rayCast(i) == true) then isVis = true elseif vischeck == true then isVis = false end if (i.Character.HumanoidRootPart.Position - workspace.Lobby.Spawn1.Position).magnitude <= 100 then isVis = false end if v.dist ~= 0 and isVis == true and (not num or v.dist < num) then closest = i.Name; num = v.dist; end end end if oldtarget == nil then oldtarget = playersserv:FindFirstChild(closest) end if oldtarget and oldtarget ~= playersserv:FindFirstChild(closest) then _G.delayed = true if _G.s.AIM.triggerbot.enabled and FOV == 2.00000000001 then wait(_G.s.AIM.triggerbot.delay) else wait(_G.s.AIM.delay) end _G.delayed = false oldtarget = playersserv:FindFirstChild(closest) return playersserv:FindFirstChild(closest) elseif oldtarget == playersserv:FindFirstChild(closest) then return playersserv:FindFirstChild(closest) end end local function quadBezier(t, p0, p1, p2) local l1 = p0:lerp(p1, t) local l2 = p1:lerp(p2, t) local quad = l1:lerp(l2, t) return quad end local function aim(override) if _G.s.AIM.enabled then -- if silent then if override == 'silent' and _G.s.AIM.silent and _G.s.AIM.enabled and _G.ldown then if _G.closestplr and gl.currentgun then local v = _G.closestplr gl.currentgun:shoot(true); wait(); gl.currentgun:shoot(false); net:send("bullethit", v, -100, tick() - 0.1, tick(), LOCALPLR.Character.HumanoidRootPart.Position, LOCALPLR.Character.Head.Position, newcframe(LOCALPLR.Character.Head.Position, v.Character.Head.Position).lookVector, gl.currentgun.name, gl.currentgun.attachments, gl.currentgun.camodata, v.Character.HumanoidRootPart, "wallbang" ) end return end -- if legit then if _G.s.AIM.smooth > 0.9 then if not legitloop then legitloop = true for i=_G.s.AIM.smooth, 1, -0.05 do if not _G.rdown or _G.s.AIM.enabled == false then break; end if _G.closestplr == nil then wait(_G.s.AIM.delay + .1) _G.closestplr = fov() if _G.closestplr == nil then legitloop = false break; end end local x, y, z = 0,0,0; if _G.s.AIM.accuracy ~= 100 then local x = math.random(_G.s.AIM.accuracy - 100, _G.s.AIM.accuracy - 100 + 50) local y = math.random(_G.s.AIM.accuracy - 100, _G.s.AIM.accuracy - 100 + 50) local z = math.random(_G.s.AIM.accuracy - 100, _G.s.AIM.accuracy - 100 + 50) end local toc = newcframe(cam.CFrame.p, _G.closestplr.Character.Head.Position + newvector3(x,y,z)) local lerp = cam.CFrame:lerp(toc, 1 / i).lookVector if _G.s.AIM.curve ~= 0 then local tocf = cam.CFrame local curve = 1 - _G.s.AIM.curve tocf = quadBezier(curve, toc, toc, toc) lerp = cam.CFrame:lerp(tocf, 1 / i).lookVector end camtbl:setlookvector(lerp) wait() end legitloop = false end return end -- if lock then if _G.rdown and _G.s.AIM.enabled == true then if _G.closestplr == nil then wait(0.15) if _G.closestplr == nil then return end end camtbl:setlookvector(newcframe(cam.CFrame.p, _G.closestplr.Character.Head.Position).lookVector) end end end spawn(function() -- ESP LOOP if PROTOSMASHER_LOADED then wait(0.4) else wait(0.2) end _G.aim = aim; _G.fov = fov; _G.closest = closest; --[[ if _G.s.MISC.gunmod.antibob == true then _G.client.swingspring.v = newvector3() end --]] loadstring([[ mouse = game:GetService('Players').LocalPlayer:GetMouse() _G.s.CONNECTIONS[#_G.s.CONNECTIONS + 1] = mouse.Button1Down:connect(function() _G.ldown = true; end) _G.s.CONNECTIONS[#_G.s.CONNECTIONS + 1] = mouse.Button1Up:connect(function() _G.ldown = false; end) _G.s.CONNECTIONS[#_G.s.CONNECTIONS + 1] = mouse.Button2Down:connect(function() _G.rdown = true; end) _G.s.CONNECTIONS[#_G.s.CONNECTIONS + 1] = mouse.Button2Up:connect(function() _G.rdown = false; end) local g = Color3.fromRGB(0, 225, 119) local g_b = Color3.fromRGB(0, 223, 74) local y = Color3.fromRGB(255, 236, 20) local y_b = Color3.fromRGB(223, 210, 25) local r = Color3.fromRGB(255, 60, 63) local r_b = Color3.fromRGB(223, 64, 66) local WeaponT = tick() local HealthT = tick() LOCALPLR = _G.service.Players.LocalPlayer newcframe = CFrame.new newvector3 = Vector3.new local SETUPVALUE = debug.setupvalue or setupvalue or setupval local espCache, delayed, aim, fov, closest, gl, s, char, net = _G.espCache, _G.delayed, _G.aim, _G.fov, _G.closest, _G.gl, _G.s, _G.char, _G.net; local killall_t = tick() while _G.service.RunService.RenderStepped:wait() do SETUPVALUE(char.step, 'shittele', math.random()) for i,v in pairs(espCache) do if i.Character then pcall(function() local distance = (LOCALPLR.Character.HumanoidRootPart.Position - (i.Character.HumanoidRootPart.Position - newvector3(0, 3, 0))).magnitude _G.distFrom[i.Name] = distance or 0 v.tpart.cham.Size = newvector3(0.05, 0.05, distance) v.tpart.CFrame = newcframe(LOCALPLR.Character.HumanoidRootPart.Position - newvector3(0, 3, 0), (i.Character.HumanoidRootPart.Position - newvector3(0, 4.5, 0))) * newcframe(0, 0, -distance / 2) end) v.distobj.Text = 'Distance: ' .. math.floor(_G.distFrom[i.Name]+0.5) .. 'ft' if v.health_bar.Visible == true and tick()-HealthT > 0.15 then local health = _G.hud:getplayerhealth(i) if health >= 75 then v.health_bar.BackgroundColor3 = g v.health_bar.BorderColor3 = g_b elseif health >= 35 then v.health_bar.BackgroundColor3 = y v.health_bar.BorderColor3 = y_b elseif health >= 1 then v.health_bar.BackgroundColor3 = r v.health_bar.BorderColor3 = r_b else v.health_bar.BackgroundColor3 = g v.health_bar.BorderColor3 = g_b end v.health_bar.Size = UDim2.new(health/100, 0, 0.200000003, 0) end if tick()-WeaponT > 1/2 then v.wep.Text = (i.Character:FindFirstChildOfClass('Model') and i.Character:FindFirstChildOfClass('Model').Name) or 'NONE' end end end if (_G.rdown or _G.ldown) and s.AIM.enabled then if delayed then if s.AIM.smooth > 0.9 then _G.closestplr = fov() else _G.closestplr = closest() end end if _G.rdown and not s.AIM.silent then pcall(aim) elseif _G.ldown and s.AIM.silent then pcall(aim, "silent") end end if gl.currentgun ~= nil and s.AIM.triggerbot.enabled == true and fov(2.00000000001) ~= nil then gl.currentgun:shoot(true); wait(); gl.currentgun:shoot(false); end if killall_t - tick() > 0.03 and gl.currentgun ~= nil and s.MISC.killall == true then local v = closest(true) if v and v.Character and v.Character:FindFirstChild('Head') and v.TeamColor ~= LOCALPLR.TeamColor then gl.currentgun:shoot(true); wait(); gl.currentgun:shoot(false); net:send("bullethit", v, -100, tick() - 0.1, tick(), LOCALPLR.Character.HumanoidRootPart.Position, LOCALPLR.Character.Head.Position, newcframe(LOCALPLR.Character.Head.Position, v.Character.Head.Position).lookVector, gl.currentgun.name, gl.currentgun.attachments, gl.currentgun.camodata, v.Character.Head, "wallbang" ) end end end ]])() end) --kill all --[[if gl.currentgun and _G.s.MISC.killall then local v = closest(true) if v and v.Character and v.Character:FindFirstChild('Head') and v.TeamColor ~= LOCALPLR.TeamColor then gl.currentgun:shoot(true); wait(); gl.currentgun:shoot(false); net:send("bullethit", v, -100, tick() - 0.1, tick(), LOCALPLR.Character.HumanoidRootPart.Position, LOCALPLR.Character.Head.Position, newcframe(LOCALPLR.Character.Head.Position, v.Character.Head.Position).lookVector, gl.currentgun.name, gl.currentgun.attachments, gl.currentgun.camodata, v.Character.Head, "wallbang" ) end end]] spawn(function() local r,g,b = 0, 0, 0 local spring = GETUPVAL(char.step, "speedspring") local springt, springp = spring.t, spring.p repeat wait() spring = GETUPVAL(char.step, "speedspring") for i=0, 1, 1/140 do wait() for _,v in pairs(rainbowCache) do if _G.s.ESP.customization.boxR and ((v.OBJ:IsA('Frame') and v.OBJ.Visible == true) or (v.OBJ:IsA('BoxHandleAdornment') and v.OBJ.Transparency ~= 1)) then local add = v.ADD r = (sin(workspace.DistributedGameTime/6)/2)+add g = (sin(workspace.DistributedGameTime)/6)+add b = (sin(workspace.DistributedGameTime*1.5)/2)+add v.OBJ[v.STR] = newcolor3(r, g, b) end end end --[[if _G.s.MISC.gunmod.antibob == true then spring.t = 0.1 spring.p = 0.1 else spring.t = springt spring.p = springp end]] if _G.s.AIM.smooth > 0.9 then _G.closestplr = fov() else _G.closestplr = closest() end until nil end) _G.visrewrite = visrewrite loadstring([[ _G.visrewrite() ]])() if _G.s.MISC.antirecoil then if not _G.backups.recoil then _G.backups.recoil = camtbl.shake end camtbl.shake = function() return end camtbl = camtbl elseif not _G.s.MISC.antirecoil and _G.backups.recoil then camtbl.shake = _G.backups.recoil camtbl = camtbl end if _G.s.MISC.antisway then if not _G.backups.sway then _G.backups.sway = camtbl.setsway _G.backups.swayspeed = camtbl.setswayspeed end camtbl.setsway = function() return end camtbl.setswayspeed = function() return end camtbl = camtbl elseif not _G.s.MISC.antisway and _G.backups.sway and _G.backups.swayspeed then camtbl.setsway = _G.backups.sway camtbl.setswayspeed = _G.backups.swayspeed camtbl = camtbl end if _G.s.ESP.all then for i,v in pairs(_G.s.ESP) do if typeof(v) == 'boolean' then _G.s.ESP[i] = true end end end wait(0.1) if _G.s.MISC.levelhack ~= 0 then local exp, rank = 0, tonumber(_G.s.MISC.levelhack) repeat if rank > 1000 then n = n + 100000 elseif rank > 10000 then exp = exp + 1000000 else exp = exp + 5000 end until math.floor((0.25 + exp / 500) ^ 0.5 - 0.5) >= rank pdata.stats.experience = exp wait(0.1) menu:loadmenu() end if _G.s.MISC.unlockall then local pdata, unlocked = pdata or _G.pdata, {} for i,v in pairs(replicatedstorserv.GunModules:GetChildren()) do unlocked[v.Name] = {paid = true} for x,c in pairs(replicatedstorserv.AttachmentModels:GetChildren()) do unlocked[v.Name][c.Name] = true; end if _G.s.MISC.unlockallcamos then local diderr, msg = pcall(function() for l,o in pairs(require(replicatedstorserv.AttachmentModules.CamoDatabase)) do pdata.settings.inventorydata[#pdata.settings.inventorydata + 1] = { Type = 'Skin', Name = l, Wep = v.Name } end end) if not diderr then print('error when getting camos', msg) end end end pdata.unlocks = unlocked wait(0.1) menu:loadmenu() end service.Players.PlayerAdded:connect(function(plr) visrewrite() end) service.Players.PlayerRemoving:connect(function(plr) if store:FindFirstChild('ESPFOLD') then store.ESPFOLD:ClearAllChildren() end visrewrite() end) spawn(loadstring([[ local m, camtbl, gl = _G.s.MISC.gunmod, _G.camtbl, _G.gl -- tabs local aimbot, esp_misc = _G.createTab('Aimbot', true), _G.createTab('ESP & Miscellaneous') -- aimbot tab local sliders = _G.createSection('Sliders', aimbot, UDim2.new(0, 412, 0, 245), UDim2.new(0, 5, 0, 15)) local toggles = _G.createSection('Main', aimbot, UDim2.new(0, 150, 0, 245), UDim2.new(0, 423, 0, 15)) local aimbot_enable = _G.createToggle('Enable', 'enable', toggles, _G.s.AIM.enabled, function(toggle) _G.s.AIM.enabled = toggle end) local aimbot_silent = _G.createToggle('Silent', 'silent', toggles, _G.s.AIM.silent, function(toggle) _G.s.AIM.silent = toggle end) local aimbot_vischeck = _G.createToggle('Visible Only', 'vischeck', toggles, _G.s.AIM.vischeck, function(toggle) _G.s.AIM.vischeck = toggle end) local aimbot_triggerbot = _G.createToggle('Triggerbot', 'triggerbot', toggles, _G.s.AIM.triggerbot.enabled, function(toggle) _G.s.AIM.triggerbot.enabled = toggle end) _G.updateUI(toggles) local aimbot_smooth = _G.createSlider('Smoothness', sliders, 6, function(slideramount) _G.s.AIM.smooth = slideramount end, _G.s.AIM.smooth) local aimbot_fov = _G.createSlider('Field Of View', sliders, 180, function(slideramount) _G.s.AIM.fov = slideramount end, _G.s.AIM.fov) local aimbot_curve = _G.createSlider('Curve', sliders, 1.5, function(slideramount) _G.s.AIM.curve = slideramount end, _G.s.AIM.curve) local aimbot_delay = _G.createSlider('Target Switch Delay', sliders, 3, function(slideramount) _G.s.AIM.delay = slideramount end, _G.s.AIM.delay) local aimbot_accuracy = _G.createSlider('Randomness', sliders, 100, function(slideramount) _G.s.AIM.accuracy = slideramount end, _G.s.AIM.accuracy) local aimbot_triggerbot_delay = _G.createSlider('Triggerbot Delay', sliders, 3, function(slideramount) _G.s.AIM.triggerbot.delay = slideramount end, _G.s.AIM.triggerbot.delay) _G.updateUI(sliders) -- esp & misc tab local esp = _G.createSection('Visuals', esp_misc, UDim2.new(0, 150, 0, 245), UDim2.new( 0, 5, 0, 15)) local gunmod = _G.createSection('Gun Mod', esp_misc, UDim2.new(0, 200, 0, 245), UDim2.new(0, 110, 0, 15)) local misc = _G.createSection('Miscellaneous', esp_misc, UDim2.new(0, 258, 0, 245), UDim2.new(0, 315, 0, 15)) -- ESP local esp_all = _G.createToggle('Enable All', 'all', esp, _G.s.ESP.all, function(toggle) for i,v in pairs(esp:GetChildren()) do if v:FindFirstChild('toggle') then if toggle == true then v.toggle.ImageTransparency = 0 else v.toggle.ImageTransparency = 1 end v:FindFirstChildOfClass('BoolValue').Value = toggle end end for i,v in pairs(_G.s.ESP) do if typeof(v) == 'boolean' then _G.s.ESP[i] = toggle end end _G.visrewrite(true) end) local esp_box = _G.createToggle('Box', 'box', esp, _G.s.ESP.box, function(toggle) _G.s.ESP.box = toggle _G.visrewrite(true) end) local esp_dist = _G.createToggle('Distance', 'dist', esp, _G.s.ESP.dist, function(toggle) _G.s.ESP.dist = toggle _G.visrewrite(true) end) local esp_name = _G.createToggle('Name', 'name', esp, _G.s.ESP.name, function(toggle) _G.s.ESP.name = toggle _G.visrewrite(true) end) local esp_health_bar = _G.createToggle('Health', 'health_bar', esp, _G.s.ESP.health_bar, function(toggle) _G.s.ESP.health_bar = toggle _G.visrewrite(true) end) local esp_chams = _G.createToggle('Chams', 'chams', esp, _G.s.ESP.chams, function(toggle) _G.s.ESP.chams = toggle _G.visrewrite(true) end) local esp_weapon = _G.createToggle('Weapon', 'weapon', esp, _G.s.ESP.weapon, function(toggle) _G.s.ESP.weapon = toggle _G.visrewrite(true) end) local esp_tracers = _G.createToggle('Tracers', 'tracers', esp, _G.s.ESP.tracers, function(toggle) _G.s.ESP.tracers = toggle _G.visrewrite(true) end) local esp_rainbow = _G.createToggle('Rainbow', 'rainbow', esp, _G.s.ESP.customization.boxR, function(toggle) if game:GetService('CoreGui'):FindFirstChild('ESPFOLD') then game:GetService('CoreGui'):FindFirstChild('ESPFOLD'):Destroy() _G.espCache = {} end _G.s.ESP.customization.boxR = toggle _G.s.ESP.customization.chamsR = toggle _G.s.ESP.customization.tracersR = toggle spawn(_G.visrewrite) end) local esp_teammates = _G.createToggle('Teammates', 'teammates', esp, _G.s.ESP.customization.teammates, function(toggle) _G.s.ESP.customization.teammates = toggle _G.visrewrite(true) end) local esp_visonly = _G.createToggle('Visible Only', 'visonly', esp, _G.s.ESP.customization.visonly, function(toggle) _G.s.ESP.customization.visonly = toggle _G.visrewrite(true) end) _G.updateUI(esp) -- GUNMOD local gunmod_all = _G.createToggle('Enable All', 'all', gunmod, _G.s.MISC.gunmod.all, function(toggle) _G.s.MISC.gunmod.all = toggle for i,v in pairs(gunmod:GetChildren()) do if v:FindFirstChild('toggle') then if toggle == true then v.toggle.ImageTransparency = 0 else v.toggle.ImageTransparency = 1 end v:FindFirstChildOfClass('BoolValue').Value = toggle end end -- redo this, cant be asked rn if toggle == true then _G.s.MISC.gunmod.crosshair.enabled = true _G.s.MISC.gunmod.crosshair.crosssize = 1.5 _G.s.MISC.gunmod.crosshair.crossexpansion = 0.3 _G.s.MISC.gunmod.hideflash = true _G.s.MISC.gunmod.hideminimap = true _G.s.MISC.gunmod.bulletspeed = 5000 _G.s.MISC.gunmod.suppression = 1.01 _G.s.MISC.gunmod.penetrationdepth = 100 _G.s.MISC.gunmod.automatic = true _G.s.MISC.gunmod.firemodes = {true, 3, 1} _G.s.MISC.gunmod.walkspeed = 40 _G.s.MISC.gunmod.sprintspeed = 40 local V3 = newvector3() for i,v in pairs(_G.s.MISC.gunmod.antirecoil) do if i ~= 'enabled' then _G.s.MISC.gunmod.antirecoil[i] = V3 end end if not _G.backups.recoil then _G.backups.recoil = camtbl.shake end camtbl.shake = function() return end camtbl = camtbl for i,v in pairs(_G.s.MISC.gunmod.antispread) do if i ~= 'enabled' and i ~= 'hipfirespreadrecover' then _G.s.MISC.gunmod.antispread[i] = 0 elseif i == 'hipfirespreadrecover' then _G.s.MISC.gunmod.antispread[i] = 100 end end _G.s.MISC.gunmod.firerate = 5000 / 4 _G.s.MISC.gunmod.variablefirerate = false _G.s.MISC.gunmod.requirechamber = false _G.s.MISC.gunmod.infrange.enabled = true _G.s.MISC.gunmod.infrange.range0 = 9000 _G.s.MISC.gunmod.infrange.range1 = 9000 _G.s.MISC.gunmod.instakill.enabled = true _G.s.MISC.gunmod.instareload = true; _G.s.MISC.gunmod.antionfire = true; _G.s.MISC.gunmod.antibob = true; _G.s.MISC.gunmod.antisway = true; else local m = _G.s.MISC.gunmod for i,v in pairs(m) do if typeof(v) ~= 'table' then v = 1 else for x,c in pairs(v) do if x ~= 'enabled' then c = 1 end end end end _G.s.MISC.gunmod.firemodes = 1 _G.s.MISC.gunmod.instareload = false; _G.s.MISC.gunmod.antionfire = false; _G.s.MISC.gunmod.antibob = false; _G.s.MISC.gunmod.antisway = false; end end) local gunmod_instakill = _G.createToggle('Instant Kill', 'instakill', gunmod, _G.s.MISC.gunmod.instakill.enabled, function(toggle) _G.s.MISC.gunmod.instakill.enabled = toggle end) local gunmod_instareload = _G.createToggle('Instant Reload', 'instareload', gunmod, _G.s.MISC.gunmod.instareload, function(toggle) _G.s.MISC.gunmod.instareload = toggle end) local gunmod_automatic = _G.createToggle('Automatic', 'automatic', gunmod, _G.s.MISC.gunmod.automatic, function(toggle) _G.s.MISC.gunmod.automatic = toggle if toggle == true then _G.s.MISC.gunmod.firemodes = {true, 3, 1} else _G.s.MISC.gunmod.firemodes = 1 end end) local gunmod_antionfire = _G.createToggle('No-OnFire', 'antionfire', gunmod, _G.s.MISC.gunmod.antionfire, function(toggle) _G.s.MISC.gunmod.antionfire = toggle end) local gunmod_antibob = _G.createToggle('No-GunBob', 'antibob', gunmod, _G.s.MISC.gunmod.antibob, function(toggle) _G.s.MISC.gunmod.antibob = toggle end) local gunmod_antisway = _G.createToggle('No-GunSway', 'antisway', gunmod, (_G.s.MISC.gunmod.antisway ~= 1 and _G.s.MISC.gunmod.antisway or false), function(toggle) if toggle == false then _G.s.MISC.gunmod.antisway = 1 elseif toggle == true then _G.s.MISC.gunmod.antisway = toggle end _G.s.MISC.antisway = toggle end) local gunmod_crosshair = _G.createToggle('Crosshair', 'crosshair', gunmod, _G.s.MISC.gunmod.crosshair.enabled, function(toggle) _G.s.MISC.gunmod.crosshair.enabled = toggle if toggle == true then _G.s.MISC.gunmod.crosshair.crosssize = 1.5 _G.s.MISC.gunmod.crosshair.crossexpansion = 0.3 else _G.s.MISC.gunmod.crosshair.crosssize = 1 _G.s.MISC.gunmod.crosshair.crossexpansion = 1 end end) local gunmod_antirecoil = _G.createSlider('Recoil Reduction', gunmod, 1, function(slideramount) for i,v in pairs(_G.s.MISC.gunmod.antirecoil) do if i ~= 'enabled' then local V3 = (gl.currentgun and gl.currentgun.data and gl.currentgun.data[i]) or Vector3.new() _G.s.MISC.gunmod.antirecoil[i] = (slideramount <= 0 and 1) or (V3 / (1 - slideramount)) end end end) local gunmod_antispread = _G.createSlider('Spread Reduction', gunmod, 1, function(slideramount) for i,v in pairs(_G.s.MISC.gunmod.antispread) do if i ~= 'enabled' and i ~= 'hipfirespreadrecover' then _G.s.MISC.gunmod.antispread[i] = (slideramount <= 0 and 1) or (1 - slideramount) elseif i == 'hipfirespreadrecover' then _G.s.MISC.gunmod.antispread[i] = (slideramount <= 0 and 1) or (slideramount * 100) end end end) _G.updateUI(gunmod) -- MISC local misc_antifall = _G.createToggle('Anti Fall', 'antifall', misc, _G.s.MISC.antifall, function(toggle) _G.s.MISC.antifall = toggle end) local misc_killall = _G.createToggle('Kill All', 'killall', misc, _G.s.MISC.killall, function(toggle) _G.s.MISC.killall = toggle end) local misc_unlockall = _G.createButton('Unlock All', misc, UDim2.new(0, 100, 0, 25), UDim2.new(1, -105, 0, 10), function() local pdata, unlocked = _G.pdata, {} for i,v in pairs(game:GetService('ReplicatedStorage').GunModules:GetChildren()) do unlocked[v.Name] = {paid = true} for x,c in pairs(game:GetService('ReplicatedStorage').AttachmentModels:GetChildren()) do unlocked[v.Name][c.Name] = true; end end pdata.unlocks = unlocked _G.menu:loadmenu() end) local misc_unlockcamos = _G.createButton('Unlock Camos', misc, UDim2.new(0, 100, 0, 25), UDim2.new(1, -105, 0, 40), function() local pdata, unlocked = _G.pdata, {} for i,v in pairs(game:GetService('ReplicatedStorage').GunModules:GetChildren()) do local diderr, msg = pcall(function() for l,o in pairs(require(game:GetService('ReplicatedStorage').AttachmentModules.CamoDatabase)) do pdata.settings.inventorydata[#pdata.settings.inventorydata + 1] = { Type = 'Skin', Name = l, Wep = v.Name } end end) if not diderr then print('error when getting camos', msg) end end _G.menu:loadmenu() end) local misc_lighttheme = _G.createToggle('Light Theme', 'lighttheme', misc, _G.s.MISC.lighttheme, function(toggle) local dark, light, chosen = { textcolor = Color3.fromRGB(255,255,255); dark = Color3.fromRGB(26, 26, 26); light = Color3.fromRGB(30, 30, 30); border = Color3.fromRGB(42, 42, 42); slider = Color3.fromRGB(34, 34, 34); }, { textcolor = Color3.fromRGB(0, 0, 0); dark = Color3.fromRGB(206, 206, 206); light = Color3.fromRGB(240, 240, 240); border = Color3.fromRGB(222, 222, 222); slider = Color3.fromRGB(245, 245, 245); }; chosen = toggle == true and dark or light if toggle == true then uisettings.textcolor = Color3.fromRGB(0, 0, 0) uisettings.dark = Color3.fromRGB(206, 206, 206) uisettings.light = Color3.fromRGB(240, 240, 240) uisettings.border = Color3.fromRGB(222, 222, 222) uisettings.slider = Color3.fromRGB(245, 245, 245) else uisettings.textcolor = Color3.fromRGB(255,255,255) uisettings.dark = Color3.fromRGB(26, 26, 26) uisettings.light = Color3.fromRGB(30, 30, 30) uisettings.border = Color3.fromRGB(42, 42, 42) uisettings.slider = Color3.fromRGB(34, 34, 34) end for i,v in pairs(_G.store:FindFirstChild(uisettings.Name):GetDescendants()) do if v:IsA('Frame') then v.BorderColor3 = uisettings.border v.BackgroundColor3 = (v.BackgroundColor3 == chosen.dark and uisettings.dark or uisettings.light) elseif string.find(v.ClassName, 'Text') then v.BorderColor3 = uisettings.border v.BackgroundColor3 = (v.BackgroundColor3 == chosen.dark and uisettings.dark or uisettings.light) v.TextColor3 = uisettings.textcolor elseif v:IsA('ImageButton') then v.BorderColor3 = uisettings.border v.BackgroundColor3 = (v.BackgroundColor3 == chosen.dark and uisettings.dark or uisettings.light) v.Image = (toggle == true and "rbxassetid://2830659166" or "rbxassetid://2739167630") end end end) local misc_levelhack = _G.createSlider('Level', misc, 999, function(slideramount) if tonumber(slideramount) ~= nil and tonumber(slideramount) ~= 0 then local exp, rank = 0, tonumber(slideramount) repeat if rank > 1000 then exp = exp + 100000 elseif rank > 10000 then exp = exp + 1000000 else exp = exp + 5000 end until math.floor((0.25 + exp / 500) ^ 0.5 - 0.5) >= rank pdata.stats.experience = exp _G.menu:loadmenu() end end, 0) local misc_walkspeed = _G.createSlider('Walkspeed', misc, 100, function(slideramount) if tonumber(slideramount) ~= nil and tonumber(slideramount) ~= 0 then _G.s.MISC.gunmod.walkspeed = tonumber(slideramount) _G.s.MISC.gunmod.sprintspeed = tonumber(slideramount) elseif tonumber(slideramount) == nil or tonumber(slideramount) == 0 then _G.s.MISC.gunmod.walkspeed = 1 _G.s.MISC.gunmod.sprintspeed = 1 end end, (_G.s.MISC.gunmod.walkspeed ~= 1 and _G.s.MISC.gunmod.walkspeed or 0)) local misc_bulletspeed = _G.createSlider('Bulletspeed', misc, 5000, function(slideramount) if tonumber(slideramount) ~= nil or tonumber(slideramount) ~= 0 then _G.s.MISC.gunmod.bulletspeed = tonumber(slideramount) elseif tonumber(slideramount) == nil or tonumber(slideramount) == 0 then _G.s.MISC.gunmod.bulletspeed = 1 end end, (_G.s.MISC.gunmod.bulletspeed ~= 1 and _G.s.MISC.gunmod.bulletspeed or 0)) _G.updateUI(misc)]]))