Ir al contenido
Funcional

Bedwars script SOURCE

CLclarkdevlinorg0 vistasUniversal26 jul 2026
Compartir
Bedwars script SOURCE

Código del script

Lua
-- Pro Hacker le goat


shared.AlSploitUnInjected = false

local ReplicatedStorageService = game:GetService("ReplicatedStorage")
local CollectionService = game:GetService("CollectionService")
local UserInputService = game:GetService("UserInputService")
local TextChatService = game:GetService("TextChatService")
local LightingService = game:GetService("Lighting")
local TeleportService = game:GetService("TeleportService")
local PlayerService = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local HttpService = game:GetService("HttpService")
local TextService = game:GetService("TextService")
local RunService = game:GetService("RunService")
local WorkSpace = game:GetService("Workspace")
local CoreGui = game:GetService("CoreGui")

local LocalPlayer = PlayerService.LocalPlayer

local Mouse = LocalPlayer:GetMouse()

local Camera = WorkSpace.CurrentCamera

local AlSploitScreenGui = Instance.new("ScreenGui")

local ContainerFrame = Instance.new("Frame")
local ContainerUIListLayout = Instance.new("UIListLayout")

local NotificationContainer = Instance.new("Frame")
local NotificationContainerUIListLayout = Instance.new("UIListLayout")

local OpenGui = Instance.new("ImageButton")
local OpenGuiUICorner = Instance.new("UICorner")

local ChangeGuiToggleColorEvent = Instance.new("BindableEvent")
local ChangeGuiTitleColorEvent = Instance.new("BindableEvent")
local UnInjectEvent = Instance.new("BindableEvent")

local NotificationInstances = {}
local NotificationEvent = Instance.new("BindableEvent")
local NotificationCount = 0
local NotificationY = 0.88

local AlSploitConnections = {}
local AlSploitInjected = true

task.spawn(function()
	AlSploitConnections["NotificationRemoved"] = NotificationEvent.Event:Connect(function(Arguments)
		if Arguments.Name == "NotificationRemoved" then
			for i, v in next, NotificationInstances do
				if v.Position.Y.Scale < Arguments.Position.Y.Scale then
					local DesiredPosition = UDim2.new(v.Position.X.Scale, 0, (v.Position.Y.Scale + 0.105), 0)

					local TweenInformation = TweenInfo.new(0.24, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
					local PositionTween = TweenService:Create(v, TweenInformation, {Position = DesiredPosition})
					PositionTween:Play()
				end
			end
		end
	end)
end)

task.spawn(function()
	AlSploitScreenGui.Parent = LocalPlayer.PlayerGui
	AlSploitScreenGui.Name = "AlSploit"

	AlSploitScreenGui.OnTopOfCoreBlur = true
	AlSploitScreenGui.IgnoreGuiInset = true
	AlSploitScreenGui.ResetOnSpawn = false

	ContainerFrame.Parent = AlSploitScreenGui
	ContainerFrame.Name = "ContainerFrame"

	ContainerFrame.BackgroundTransparency = 1
	ContainerFrame.Position = UDim2.new(0, 0, 0.05, 0)
	ContainerFrame.Visible = false
	ContainerFrame.Size = UDim2.new(1, 0, 1, 0)

	ContainerUIListLayout.Parent = ContainerFrame
	ContainerUIListLayout.Name = "ContainerUIListLayout"

	ContainerUIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
	ContainerUIListLayout.FillDirection = Enum.FillDirection.Horizontal
	ContainerUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
	ContainerUIListLayout.Padding = UDim.new(0, 50)

	NotificationContainer.Parent = AlSploitScreenGui
	NotificationContainer.Name = "NotificationContainer"

	NotificationContainer.BackgroundTransparency = 1
	NotificationContainer.BorderSizePixel = 0
	NotificationContainer.Position = UDim2.new(0.8, 0, 0, 0)
	NotificationContainer.Size = UDim2.new(0.2, 0, 0.980, 0)

	NotificationContainerUIListLayout.Parent = NotificationContainer
	NotificationContainerUIListLayout.Name = "NotificationContainerUIListLayout"

	NotificationContainerUIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right
	NotificationContainerUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Bottom
	NotificationContainerUIListLayout.FillDirection = Enum.FillDirection.Vertical
	NotificationContainerUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
	NotificationContainerUIListLayout.Padding = UDim.new(0, 10)

	OpenGui.Parent = AlSploitScreenGui
	OpenGui.Name = "OpenGui"

	OpenGui.BackgroundTransparency = 1
	OpenGui.AutoButtonColor = false
	OpenGui.BorderSizePixel = 0
	OpenGui.Position = UDim2.new(0.958, 0, 0.098, 0)
	OpenGui.Image = "rbxassetid://102141261324485"
	OpenGui.Size = UDim2.new(0.040, 0, 0.024, 0)

	OpenGuiUICorner.Parent = OpenGui
	OpenGuiUICorner.Name = "OpenGuiUICorner"

	OpenGuiUICorner.CornerRadius = UDim.new(0.2, 0)

	ChangeGuiToggleColorEvent.Parent = ReplicatedStorageService
	ChangeGuiToggleColorEvent.Name = "ChangeGuiToggleColorEvent"

	ChangeGuiTitleColorEvent.Parent = ReplicatedStorageService
	ChangeGuiTitleColorEvent.Name = "ChangeColorEvent"

	UnInjectEvent.Parent = ReplicatedStorageService
	UnInjectEvent.Name = "UnInjectEvent"

	task.spawn(function()
		OpenGui.Activated:Connect(function()
			ContainerFrame.Visible = not ContainerFrame.Visible
		end)
	end)
end)

local AlSploitSettings = {}

local CurrentAlSploitToggleColor = Color3.new(1, 1, 1)
local CurrentAlSploitTitleColor = Color3.new(1, 1, 1)

local DefaultLayoutOrder = 0
local AlSploitLibrary = {}

local WriteFile = writefile or function() CreateNotification(3, "Error, unable to use WriteFile") return nil end

local IsFile = isfile or function() CreateNotification(3, "Error, unable to use IsFile") return nil end

local ReadFile = readfile or function() CreateNotification(3, "Error, unable to use ReadFile") return nil end

local DeleteFile = delfile or function() CreateNotification(3, "Error, unable to use DeleteFile") return nil end

local QueueOnTeleport = queue_on_teleport or function() CreateNotification(3, "Error, unable to use QueueOnTeleport") return nil end
local SetFpsCap = setfpscap or function() CreateNotification(3, "Error, unable to use SetFpsCap") return nil end

local HookMetaMethod = hookmetamethod or function() CreateNotification(3, "Error, unable to use HookMetaMethod") return nil end

task.spawn(function()
	if IsFile and not IsFile("AlSploitConfiguration.json") and WriteFile then
		local EncodedSettings = HttpService:JSONEncode(AlSploitSettings)

		WriteFile("AlSploitConfiguration.json", EncodedSettings)
	end

	if not IsFile or not IsFile("AlSploitConfiguration.json") then
		CreateNotification(3, "Saving Folder Not Found")
	end
end)

task.spawn(function()
	if WriteFile and IsFile("AlSploitConfiguration.json") and ReadFile then
		local DecodedSettings = HttpService:JSONDecode(ReadFile("AlSploitConfiguration.json"))

		AlSploitSettings = DecodedSettings
	end

	if not ReadFile then
		CreateNotification(3, "Unable To Load Settings")
	end

	task.spawn(function()
		repeat
			if IsFile and IsFile("AlSploitConfiguration.json") and WriteFile then
				local EncodedSettings = HttpService:JSONEncode(AlSploitSettings)

				WriteFile("AlSploitConfiguration.json", EncodedSettings)
			end

			task.wait(0.5)
		until shared.AlSploitUnInjected == true
	end)
end)

function AlSploitLibrary:CreateTab(Name)	
	local Tab = Instance.new("Frame")
	local UICorner = Instance.new("UICorner")

	local CornerFix = Instance.new("Frame")

	local ModuleContainer = Instance.new("ScrollingFrame")
	local UIListLayout = Instance.new("UIListLayout")

	local Title = Instance.new("TextLabel")
	local UITextSizeConstraint = Instance.new("UITextSizeConstraint")

	Tab.Parent = ContainerFrame
	Tab.Name = "Tab"

	Tab.BackgroundColor3 = Color3.new(0, 0, 0)
	Tab.BorderSizePixel = 0
	Tab.Position = UDim2.new(0.434, 0, 0, 0)
	Tab.Size = UDim2.new(0.142, 0, 0.049, 0)

	UICorner.CornerRadius = UDim.new(0.2, 0)
	UICorner.Parent = Tab

	CornerFix.Parent = Tab
	CornerFix.Name = "CornerFix"

	CornerFix.BackgroundColor3 = Color3.new(0, 0, 0)
	CornerFix.BorderSizePixel = 0
	CornerFix.Position = UDim2.new(0, 0, 0.371, 0)
	CornerFix.Size = UDim2.new(1, 0, 0.629, 0)

	ModuleContainer.Parent = Tab
	ModuleContainer.Name = "ModuleContainer"

	ModuleContainer.BackgroundTransparency = 1
	ModuleContainer.ScrollBarThickness = (UserInputService.KeyboardEnabled and 0 or 3)
	ModuleContainer.BorderSizePixel = 0
	ModuleContainer.AutomaticSize = Enum.AutomaticSize.Y
	ModuleContainer.CanvasSize = UDim2.new(0, 0, 45, 0)
	ModuleContainer.Position = UDim2.new(0, 0, 1, 0)
	ModuleContainer.Size = UDim2.new(1, 0, 21.429, 0)

	UIListLayout.Parent = ModuleContainer
	UIListLayout.Name = "UIListLayout"

	UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
	UIListLayout.FillDirection = Enum.FillDirection.Vertical
	UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder

	Title.Parent = Tab
	Title.Name = "Title"

	Title.BackgroundTransparency = 1
	Title.BorderSizePixel = 0
	Title.TextColor3 = Color3.new(0, 0.6, 1)
	Title.TextScaled = true
	Title.TextWrapped = true
	Title.TextSize = 20
	Title.Position = UDim2.new(0, 0, 0.124, 0)
	Title.Size = UDim2.new(1, 0, 0.743, 0)
	Title.Font = Enum.Font.GothamBold
	Title.Text = Name

	UITextSizeConstraint.Parent = Title
	UITextSizeConstraint.Name = "UITextSizeConstraint2"

	UITextSizeConstraint.MaxTextSize = 20

	task.spawn(function()
		ChangeGuiTitleColorEvent.Event:Connect(function()
			Title.TextColor3 = CurrentAlSploitTitleColor
		end)
	end)

	local TabTable = {}

	function TabTable:CreateToggle(Information)
		local Name = Information.Name
		local Function = Information.Function
		local HoverText = Information.HoverText

		local Toggle = Instance.new("TextButton")
		local UITextSizeConstraint_2 = Instance.new("UITextSizeConstraint")
		local UIPadding = Instance.new("UIPadding")

		local DropdownButton = Instance.new("ImageButton")

		local ModuleInformation = Instance.new("TextLabel")
		local UICorner_2 = Instance.new("UICorner")
		local UITextSizeConstraint_3 = Instance.new("UITextSizeConstraint")

		local CurrentLayoutOrder = 0

		if AlSploitSettings[Name] == nil then
			AlSploitSettings[Name] = {Value = false}
		end

		local function ToggleValue(Start)
			if Start == false then
				AlSploitSettings[Name].Value = not AlSploitSettings[Name].Value
			end

			if AlSploitSettings[Name].Value == true then
				Toggle.TextColor3 = CurrentAlSploitToggleColor

				task.spawn(function()
					if Start == true then
						task.wait(0.5)

						Function()
					end
				end)			

				task.spawn(function()
					if Start == false then
						Function()
					end
				end)
			end

			if AlSploitSettings[Name].Value == false then
				Toggle.TextColor3 = Color3.new(1, 1, 1)

				task.spawn(function()
					if Start == true then
						task.wait(0.5)

						Function()
					end
				end)

				task.spawn(function()
					if Start == false then
						Function()
					end
				end)
			end		
		end

		Toggle.Parent = ModuleContainer
		Toggle.Name = "Toggle"

		Toggle.BackgroundTransparency = 0.15
		Toggle.BackgroundColor3 = Color3.new(0, 0, 0)
		Toggle.AutoButtonColor = false
		Toggle.BorderSizePixel = 0
		Toggle.TextXAlignment = Enum.TextXAlignment.Left
		Toggle.TextColor3 = Color3.new(1, 1, 1)
		Toggle.TextScaled = true
		Toggle.TextSize = 14
		Toggle.Size = UDim2.new(1, 0, 0.039, 0)
		Toggle.Font = Enum.Font.GothamBold
		Toggle.Text = Name

		Toggle.LayoutOrder = DefaultLayoutOrder

		DefaultLayoutOrder = (DefaultLayoutOrder + 50)
		CurrentLayoutOrder = (DefaultLayoutOrder - 49)

		UIPadding.Parent = Toggle
		UIPadding.Name = "UIPadding"

		UIPadding.PaddingLeft = UDim.new(0, 15)

		UITextSizeConstraint_2.Parent = Toggle
		UITextSizeConstraint_2.Name = "UITextSizeConstraint_2"

		UITextSizeConstraint_2.MaxTextSize = 14

		DropdownButton.Parent = Toggle
		DropdownButton.Name = "DropdownButton"

		DropdownButton.BackgroundTransparency = 1
		DropdownButton.BorderSizePixel = 0
		DropdownButton.Position = UDim2.new(0.822, 0, 0.176, 0)
		DropdownButton.Rotation = 0
		DropdownButton.Image = "rbxassetid://6026663699"
		DropdownButton.Size = UDim2.new(0.076, 0, 0.447, 0)

		task.spawn(function()
			local ToggleValue = false
			local ActiveTween

			DropdownButton.Activated:Connect(function()
				ToggleValue = not ToggleValue

				if ActiveTween then
					ActiveTween:Destroy()
				end

				if ToggleValue == true then
					local TweenInformation = TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0)
					local RotationTween = TweenService:Create(DropdownButton, TweenInformation, {Rotation = 90})

					ActiveTween = RotationTween:Play()
				end

				if ToggleValue == false then
					local TweenInformation = TweenInfo.new(0.2, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0)
					local RotationTween = TweenService:Create(DropdownButton, TweenInformation, {Rotation = 0})

					ActiveTween = RotationTween:Play()
				end
			end)
		end)

		ModuleInformation.Parent = AlSploitScreenGui
		ModuleInformation.Name = "ModuleInformation"

		ModuleInformation.BackgroundColor3 = Color3.new(0.101961, 0.101961, 0.101961)
		ModuleInformation.BorderSizePixel = 0
		ModuleInformation.TextColor3 = Color3.new(1, 1, 1)
		ModuleInformation.TextScaled = true
		ModuleInformation.TextSize = 11
		ModuleInformation.Visible = false
		ModuleInformation.ZIndex = 5
		ModuleInformation.Size = UDim2.new(1.199, 0, 0.32, 0 )
		ModuleInformation.Font = Enum.Font.GothamBold
		ModuleInformation.Text = HoverText

		local TextSize = TextService:GetTextSize(HoverText, 11, Enum.Font.GothamBold, Vector2.new(100000, 100000))

		ModuleInformation.Size = UDim2.new(0, (TextSize.X + 15), 0, (TextSize.Y + 4))

		UICorner_2.Parent = ModuleInformation
		UICorner_2.Name = "UICorner_2"

		UICorner_2.CornerRadius = UDim.new(0.4, 0)

		UITextSizeConstraint_3.Parent = ModuleInformation
		UITextSizeConstraint_3.Name = "UITextSizeConstraint_3"

		UITextSizeConstraint_3.MaxTextSize = 11

		task.spawn(function()
			ToggleValue(true)
		end)

		task.spawn(function()
			ChangeGuiToggleColorEvent.Event:Connect(function()
				if AlSploitSettings[Name].Value == true then
					Toggle.TextColor3 = CurrentAlSploitToggleColor
				end
			end)
		end)

		task.spawn(function()
			Toggle.Activated:Connect(function()
				ToggleValue(false)
			end)
		end)

		task.spawn(function()
			local FollowMouseValue = false

			task.spawn(function()
				Toggle.MouseLeave:Connect(function()
					ModuleInformation.Visible = false

					FollowMouseValue = false
				end)
			end)

			task.spawn(function()
				Toggle.MouseEnter:Connect(function()
					ModuleInformation.Visible = true

					FollowMouseValue = true
				end)
			end)

			task.spawn(function()
				Mouse.Move:Connect(function()
					if FollowMouseValue == true then
						local MousePosition = UserInputService:GetMouseLocation()

						ModuleInformation.Position = UDim2.new(0, MousePosition.X , 0, MousePosition.Y - 10)
					end
				end)
			end)
		end)

		local ToggleTable = {}

		function ToggleTable:CreateToggle(Arguments)
			local DefaultValue = Arguments.DefaultValue
			local Function_2 = Arguments.Function
			local Parent = Name
			local Name = Arguments.Name

			local MiniToggle = Instance.new("TextLabel")
			local UIPadding_2 = Instance.new("UIPadding")
			local UITextSizeConstraint_4 = Instance.new("UITextSizeConstraint")

			local ToggleContainer = Instance.new("Frame")
			local UICorner_3 = Instance.new("UICorner")
			local UIGradient = Instance.new("UIGradient")

			local Toggle = Instance.new("TextButton")
			local UICorner_4 = Instance.new("UICorner")
			local UITextSizeConstraint_5 = Instance.new("UITextSizeConstraint")

			if AlSploitSettings[Parent][Name] == nil then
				AlSploitSettings[Parent][Name] = {Value = DefaultValue}
			end

			local function ToggleValue(Start)
				if Start == false then
					AlSploitSettings[Parent][Name].Value = not AlSploitSettings[Parent][Name].Value
				end

				if AlSploitSettings[Parent][Name].Value == true then
					UIGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.new(0.564706, 0.0313725, 1)), ColorSequenceKeypoint.new(1.00, Color3.new(0.392157, 0.0431373, 1))}


					local TweenInformation = TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.InOut, 0, false, 0)
					local ToggleTween = TweenService:Create(Toggle, TweenInformation, {Position = UDim2.new(0.06, 0, 0.1, 0)})

					ToggleTween:Play()

					Function_2()
				end

				if AlSploitSettings[Parent][Name].Value == false then
					UIGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.new(0.133333, 0.133333, 0.1333337)), ColorSequenceKeypoint.new(1.00, Color3.new(0.133333, 0.133333, 0.1333337))}

					local TweenInformation = TweenInfo.new(0.35, Enum.EasingStyle.Quart, Enum.EasingDirection.InOut, 0, false, 0)
					local ToggleTween = TweenService:Create(Toggle, TweenInformation, {Position = UDim2.new(0.46, 0, 0.1, 0)})

					ToggleTween:Play()

					Function_2()
				end	
			end

			MiniToggle.Parent = ModuleContainer
			MiniToggle.Name = "MiniToggle"

			MiniToggle.BackgroundTransparency = 0.15
			MiniToggle.BackgroundColor3 = Color3.new(0, 0, 0)
			MiniToggle.BorderSizePixel = 0
			MiniToggle.TextXAlignment = Enum.TextXAlignment.Left
			MiniToggle.TextColor3 = Color3.new(1, 1, 1)
			MiniToggle.TextScaled = true
			MiniToggle.TextSize = 11
			MiniToggle.Visible = false
			MiniToggle.Size = UDim2.new(1, 0, 0.041, 0)
			MiniToggle.Font = Enum.Font.GothamBold
			MiniToggle.Text = Name

			MiniToggle.LayoutOrder = CurrentLayoutOrder
			CurrentLayoutOrder = (CurrentLayoutOrder + 1)

			UIPadding_2.Parent = MiniToggle
			UIPadding_2.Name = "UIPadding_2"

			UIPadding_2.PaddingLeft = UDim.new(0, 15)

			UITextSizeConstraint_4.Parent = MiniToggle
			UITextSizeConstraint_4.Name = "UITextSizeConstraint_4"

			UITextSizeConstraint_4.MaxTextSize = 11

			ToggleContainer.Parent = MiniToggle
			ToggleContainer.Name = "ToggleContainer"

			ToggleContainer.BackgroundColor3 = Color3.new(1, 1, 1)
			ToggleContainer.BorderSizePixel = 0
			ToggleContainer.BorderColor3 = Color3.new(0, 0, 0)
			ToggleContainer.Position = UDim2.new(0.785, 0, 0.232, 0)
			ToggleContainer.Size = UDim2.new(0.163, 0, 0.497, 0)

			UICorner_3.Parent = ToggleContainer
			UICorner_3.Name = "UICorner_3"

			UICorner_3.CornerRadius = UDim.new(1, 0)

			UIGradient.Parent = ToggleContainer
			UIGradient.Name = "UIGradient"

			UIGradient.Rotation = 45
			UIGradient.Color = (AlSploitSettings[Parent][Name].Value == true and ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.new(0.564706, 0.0313725, 1)), ColorSequenceKeypoint.new(1.00, Color3.new(0.392157, 0.0431373, 1))} or ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.new(0.133333, 0.133333, 0.1333337)), ColorSequenceKeypoint.new(1.00, Color3.new(0.133333, 0.133333, 0.1333337))})

			Toggle.Parent = ToggleContainer
			Toggle.Name = "Toggle"

			Toggle.BackgroundColor3 = Color3.new(0, 0, 0)
			Toggle.AutoButtonColor = false
			Toggle.BorderSizePixel = 0
			Toggle.TextScaled = true
			Toggle.TextSize = 14
			Toggle.Position = UDim2.new(0.040, 0, 0.100, 0)
			Toggle.Size = UDim2.new(0.500, 0, 0.800, 0)
			Toggle.Font = Enum.Font.GothamBold
			Toggle.Text = ""

			UICorner_4.Parent = Toggle
			UICorner_4.Name = "UICorner_4"

			UICorner_4.CornerRadius = UDim.new(1, 0)

			UITextSizeConstraint_5.Parent = Toggle
			UITextSizeConstraint_5.MaxTextSize = 14		

			task.spawn(function()
				ToggleValue(true)
			end)

			task.spawn(function()
				Toggle.Activated:Connect(function()
					ToggleValue(false)
				end)
			end)

			task.spawn(function()		
				DropdownButton.Activated:Connect(function()			
					MiniToggle.Visible = not MiniToggle.Visible
				end)
			end)
		end

		function ToggleTable:CreateKeybind()			
			local KeyBind = Instance.new("TextButton")
			local UITextSizeConstraint_4 = Instance.new("UITextSizeConstraint")
			local UIPadding_2 = Instance.new("UIPadding")

			local CanInputKeybind = false
			local InputWanted = false

			if not AlSploitSettings[Name].Keybind then
				AlSploitSettings[Name].Keybind = "..."
			end


			local function ToggleValue(Keybind)
				AlSploitSettings[Name].Keybind = Keybind			
				KeyBind.Text = "KeyBind: " .. Keybind
			end

			KeyBind.Parent = ModuleContainer
			KeyBind.Name = "KeyBind"

			KeyBind.BackgroundTransparency = 0.15
			KeyBind.BackgroundColor3 = Color3.new(0, 0, 0)
			KeyBind.AutoButtonColor = false
			KeyBind.BorderSizePixel = 0
			KeyBind.TextXAlignment = Enum.TextXAlignment.Left
			KeyBind.TextColor3 = Color3.new(255, 255, 255)
			KeyBind.TextScaled = true
			KeyBind.TextSize = 11
			KeyBind.Position = UDim2.new(0, 0, 0.082, 0)
			KeyBind.Visible = false
			KeyBind.Size = UDim2.new(1, 0, 0.035, 0)
			KeyBind.Font = Enum.Font.GothamBold
			KeyBind.Text = (AlSploitSettings[Name].Keybind == "..." and "KeyBind: " or "KeyBind: " .. AlSploitSettings[Name].Keybind)

			KeyBind.LayoutOrder = CurrentLayoutOrder
			CurrentLayoutOrder = (CurrentLayoutOrder + 1)

			UITextSizeConstraint_4.Parent = KeyBind
			UITextSizeConstraint_4.Name = "ITextSizeConstraint_4"

			UITextSizeConstraint_4.MaxTextSize = 11

			UIPadding_2.Parent = KeyBind
			UIPadding_2.Name = "UIPadding_2"

			UIPadding_2.PaddingLeft = UDim.new(0, 15)

			task.spawn(function()				
				KeyBind.Activated:Connect(function()	
					InputWanted = not InputWanted

					if CanInputKeybind == false and InputWanted == true then
						KeyBind.Text = "KeyBind: ..."

						CanInputKeybind = true
					end	

					if InputWanted == false then
						AlSploitSettings[Name].Keybind = "..."
						KeyBind.Text = "KeyBind: "

						CanInputKeybind = false
					end
				end)
			end)

			task.spawn(function()
				UserInputService.InputBegan:Connect(function(Input)	
					if CanInputKeybind == false and not UserInputService:GetFocusedTextBox() and AlSploitSettings[Name].Keybind == Input.KeyCode.Name then
						if AlSploitSettings[Name].Value == true then
							Toggle.TextColor3 = Color3.new(1, 1, 1)

							CreateNotification(3, Name .. " Has Been Toggled Off")
						end

						if AlSploitSettings[Name].Value == false then
							Toggle.TextColor3 = CurrentAlSploitToggleColor

							CreateNotification(3, Name .. " Has Been Toggled On")
						end

						AlSploitSettings[Name].Value = not AlSploitSettings[Name].Value

						Function()
					end

					if CanInputKeybind == true then
						if Input.UserInputType == Enum.UserInputType.Keyboard then
							CanInputKeybind = false
							InputWanted = false

							ToggleValue(Input.KeyCode.Name)
						end
					end
				end)
			end)

			task.spawn(function()		
				DropdownButton.Activated:Connect(function()			
					KeyBind.Visible = not KeyBind.Visible
				end)
			end)			
		end

		function ToggleTable:CreateSlider(Arguments)
			local DefaultValue = Arguments.DefaultValue
			local MaximumValue = Arguments.MaximumValue
			local Function_2 = Arguments.Function
			local Parent = Name
			local Name = Arguments.Name

			local Slider = Instance.new("Frame")

			local SliderFrame = Instance.new("Frame")

			local Fill = Instance.new("Frame")
			local UIGradient = Instance.new("UIGradient")

			local Bar = Instance.new("TextButton")
			local UICorner_3 = Instance.new("UICorner")
			local UIStroke = Instance.new("UIStroke")
			local UITextSizeConstraint_4 = Instance.new("UITextSizeConstraint")

			local NameDisplay = Instance.new("TextLabel")
			local UITextSizeConstraint_5 = Instance.new("UITextSizeConstraint")

			local ValueDisplay = Instance.new("TextLabel")
			local UITextSizeConstraint_6 = Instance.new("UITextSizeConstraint")

			if AlSploitSettings[Parent][Name] == nil then
				AlSploitSettings[Parent][Name] = {Value = DefaultValue}
			end

			Slider.Parent = ModuleContainer
			Slider.Name = "Slider"

			Slider.BackgroundTransparency = 0.15
			Slider.BackgroundColor3 = Color3.new(0, 0, 0)
			Slider.BorderSizePixel = 0
			Slider.Position = UDim2.new(0, 0, 0.117, 0)
			Slider.Visible = false
			Slider.Size = UDim2.new(1, 0, 0.064, 0)

			Slider.LayoutOrder = CurrentLayoutOrder
			CurrentLayoutOrder = (CurrentLayoutOrder + 1)

			SliderFrame.Parent = Slider
			SliderFrame.Name = "SliderFrame"

			SliderFrame.BackgroundTransparency = 1
			SliderFrame.BorderSizePixel = 0
			SliderFrame.Position = UDim2.new(0.150, 0, 0.654, 0)
			SliderFrame.Size = UDim2.new(0.700, 0, 0.060, 0)

			Fill.Parent = SliderFrame
			Fill.Name = "Fill"

			Fill.BackgroundColor3 = Color3.new(1, 1, 1)
			Fill.BorderSizePixel = 0
			Fill.Position = UDim2.new(0, 0, -0.329, 0)
			Fill.Size = UDim2.new(1, 0, 1, 0)

			UIGradient.Parent = Fill
			UIGradient.Name = "UIGradient"

			UIGradient.Rotation = 180
			UIGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.new(0.564706, 0.0313725, 1)), ColorSequenceKeypoint.new(1.00, Color3.new(0.392157, 0.0431373, 1))}

			Bar.Parent = SliderFrame
			Bar.Name = "Bar"

			Bar.BackgroundColor3 = Color3.new(0.564706, 0.0313725, 1)
			Bar.AutoButtonColor = false
			Bar.BorderSizePixel = 0
			Bar.TextScaled = true
			Bar.TextSize = 14
			Bar.Position = UDim2.new(0.135, 0, -1.500, 0)
			Bar.ZIndex = 2
			Bar.Size = UDim2.new(0.070, 0, 3.090, 0)		
			Bar.Font = Enum.Font.GothamBold
			Bar.Text = ""

			UICorner_3.Parent = Bar
			UICorner_3.Name = "UICorner_3"

			UICorner_3.CornerRadius = UDim.new(1, 0)

			UIStroke.Parent = Bar
			UIStroke.Name = "UIStroke"

			UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
			UIStroke.Thickness = 1
			UIStroke.Color = Color3.new(0, 0, 0)

			UITextSizeConstraint_4.Parent = Bar
			UITextSizeConstraint_4.Name = "UITextSizeConstraint_6"

			UITextSizeConstraint_4.MaxTextSize = 14

			NameDisplay.Parent = Slider
			NameDisplay.Name = "NameDisplay"

			NameDisplay.BackgroundTransparency = 1
			NameDisplay.BorderSizePixel = 0
			NameDisplay.TextColor3 = Color3.new(1, 1, 1)
			NameDisplay.TextScaled = true
			NameDisplay.TextSize = 10
			NameDisplay.Position = UDim2.new(0.145, 0, 0.08, 0)
			NameDisplay.Size = UDim2.new(0.250, 0, 0.543, 0)
			NameDisplay.Font = Enum.Font.GothamBold
			NameDisplay.Text = Name

			UITextSizeConstraint_5.Parent = NameDisplay
			UITextSizeConstraint_5.MaxTextSize = 10

			ValueDisplay.Parent = Slider
			ValueDisplay.Name = "ValueDisplay"

			ValueDisplay.BackgroundTransparency = 1
			ValueDisplay.BorderSizePixel = 0
			ValueDisplay.TextColor3 = Color3.new(1, 1, 1)
			ValueDisplay.TextScaled = true
			ValueDisplay.TextSize = 10
			ValueDisplay.Position = UDim2.new(0.635, 0, 0.08, 0)
			ValueDisplay.Size = UDim2.new(0.250, 0, 0.543, 0)
			ValueDisplay.Font = Enum.Font.GothamBold
			ValueDisplay.Text = AlSploitSettings[Parent][Name].Value

			UITextSizeConstraint_6.Parent = ValueDisplay
			UITextSizeConstraint_6.MaxTextSize = 10

			local CanUseSlider = false

			local function Snap(Number, Factor)			
				return (Factor == 0 and Number or (math.floor(Number / Factor) * Factor))
			end

			task.spawn(function()				
				Fill.Size = UDim2.new((AlSploitSettings[Parent][Name].Value / MaximumValue), 0, 1, 0)
				Bar.Position = UDim2.new((AlSploitSettings[Parent][Name].Value / MaximumValue), 0, Bar.Position.Y.Scale, 0)

				Function_2()
			end)

			task.spawn(function()
				Bar.MouseButton1Down:Connect(function()
					CanUseSlider = true
				end)				
			end)

			task.spawn(function()
				UserInputService.InputEnded:Connect(function(Input)
					if Input.UserInputType == Enum.UserInputType.MouseButton1 or Enum.UserInputType.Touch then
						CanUseSlider = false
					end
				end)
			end)

			task.spawn(function()
				DropdownButton.Activated:Connect(function()
					Slider.Visible = not Slider.Visible

					task.spawn(function()
						repeat
							task.wait()

							if CanUseSlider == true then
								local MousePosition = UserInputService:GetMouseLocation().X
								local FramePosition = Slider.AbsolutePosition.X
								local BarPosition = Bar.Position
								local FrameSize = Slider.AbsoluteSize.X

								local Position = ((MousePosition - FramePosition) / FrameSize)
								local Percentage = math.clamp(Position, 0, 1)

								local TweenInformation = TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, 0, false, 0)
								local PositionTween = TweenService:Create(Bar, TweenInformation, {Position = UDim2.new(Percentage, 0, BarPosition.Y.Scale, 0)})

								PositionTween:Play()

								local TweenInformation = TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, 0, false, 0)
								local SizeTween = TweenService:Create(Fill, TweenInformation, {Size = UDim2.new(Percentage, 0, 1, 0)})

								SizeTween:Play()

								ValueDisplay.Text = math.round(Percentage * MaximumValue)

								AlSploitSettings[Parent][Name].Value = math.round(Percentage * MaximumValue)

								Function_2()
							end
						until shared.AlSploitUnInjected == true or Slider.Visible == false
					end)
				end)
			end)
		end

		local DropdownTable = {}

		function ToggleTable:CreateDropdown(Arguments)
			local HoverText_2 = Arguments.HoverText
			local Parent = Name
			local Name = Arguments.Name

			if AlSploitSettings[Parent][Name] == nil then
				AlSploitSettings[Parent][Name] = {}
			end

			local Dropdown = Instance.new("Frame")

			local OptionsContainer = Instance.new("ScrollingFrame")
			local UIListLayout_2 = Instance.new("UIListLayout")

			local DropdownText = Instance.new("TextLabel")
			local UIPadding_2 = Instance.new("UIPadding")
			local UITextSizeConstraint_4 = Instance.new("UITextSizeConstraint")

			local ModuleInformation_2 = Instance.new("TextLabel")
			local UICorner_3 = Instance.new("UICorner")
			local UITextSizeConstraint_5 = Instance.new("UITextSizeConstraint")

			Dropdown.Parent = ModuleContainer
			Dropdown.Name = "Dropdown"

			Dropdown.BackgroundTransparency = 0.15
			Dropdown.BackgroundColor3 = Color3.new(0, 0, 0)
			Dropdown.BorderSizePixel = 0
			Dropdown.Visible = false
			Dropdown.Position = UDim2.new(0.085, 0, 0.181, 0)
			Dropdown.Size = UDim2.new(1, 0, 0.106, 0)

			Dropdown.LayoutOrder = CurrentLayoutOrder
			CurrentLayoutOrder = (CurrentLayoutOrder + 1)

			OptionsContainer.Parent = Dropdown
			OptionsContainer.Name = "OptionsContainer"

			OptionsContainer.BackgroundTransparency = 1
			OptionsContainer.ScrollBarThickness = 0
			OptionsContainer.BorderSizePixel = 0
			OptionsContainer.CanvasSize = UDim2.new(0, 0, 1.5, 0)
			OptionsContainer.Position = UDim2.new(0, 0, 0.290, 0)
			OptionsContainer.Size = UDim2.new(1, 0, 0.710, 0)

			UIListLayout_2.Parent = OptionsContainer
			UIListLayout_2.Name = "UIListLayout_2"

			UIListLayout_2.HorizontalAlignment = Enum.HorizontalAlignment.Center
			UIListLayout_2.FillDirection = Enum.FillDirection.Vertical
			UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder

			DropdownText.Parent = Dropdown
			DropdownText.Name = "DropdownText"

			DropdownText.BackgroundTransparency = 1
			DropdownText.BorderSizePixel = 0
			DropdownText.TextXAlignment = Enum.TextXAlignment.Left
			DropdownText.TextColor3 = Color3.new(1, 1, 1)
			DropdownText.TextScaled = true
			DropdownText.TextSize = 12
			DropdownText.Size = UDim2.new(1, 0, 0.290, 0)
			DropdownText.Font = Enum.Font.GothamBold
			DropdownText.Text = Name

			UITextSizeConstraint_4.Parent = DropdownText
			UITextSizeConstraint_4.Name = "UITextSizeConstraint_4"

			UITextSizeConstraint_4.MaxTextSize = 12

			UIPadding_2.Parent = DropdownText
			UIPadding_2.Name = "UIPadding_2"

			UIPadding_2.PaddingLeft = UDim.new(0, 15)

			ModuleInformation_2.Parent = AlSploitScreenGui
			ModuleInformation_2.Name = "ModuleInformation"

			ModuleInformation_2.BackgroundColor3 = Color3.new(0.101961, 0.101961, 0.101961)
			ModuleInformation_2.BorderSizePixel = 0
			ModuleInformation_2.AnchorPoint = Vector2.new(0, 0.3)
			ModuleInformation_2.TextColor3 = Color3.new(1, 1, 1)
			ModuleInformation_2.TextScaled = true
			ModuleInformation_2.TextSize = 11
			ModuleInformation_2.Visible = false
			ModuleInformation_2.ZIndex = 5
			ModuleInformation_2.Size = UDim2.new(1.11, 0, 0.131, 0)
			ModuleInformation_2.Font = Enum.Font.GothamBold
			ModuleInformation_2.Text = HoverText_2

			local TextSize = TextService:GetTextSize(HoverText_2, 11, Enum.Font.GothamBold, Vector2.new(100000, 100000))

			ModuleInformation_2.Size = UDim2.new(0, (TextSize.X + 15), 0, (TextSize.Y + 4))

			UICorner_3.Parent = ModuleInformation_2
			UICorner_3.Name = "UICorner_2"

			UICorner_3.CornerRadius = UDim.new(0.4, 0)

			UITextSizeConstraint_5.Parent = ModuleInformation_2
			UITextSizeConstraint_5.Name = "UITextSizeConstraint_3"

			UITextSizeConstraint_5.MaxTextSize = 11

			task.spawn(function()
				local FollowMouseValue = false

				task.spawn(function()
					Dropdown.MouseLeave:Connect(function()
						ModuleInformation_2.Visible = false

						FollowMouseValue = false
					end)
				end)

				task.spawn(function()
					Dropdown.MouseEnter:Connect(function()
						ModuleInformation_2.Visible = true

						FollowMouseValue = true
					end)
				end)

				task.spawn(function()
					Mouse.Move:Connect(function()
						if FollowMouseValue == true then
							local MousePosition = UserInputService:GetMouseLocation()

							ModuleInformation_2.Position = UDim2.new(0, MousePosition.X , 0, MousePosition.Y - 10)
						end
					end)
				end)
			end)

			task.spawn(function()
				DropdownButton.Activated:Connect(function()
					Dropdown.Visible = not Dropdown.Visible
				end)
			end)

			function DropdownTable:CreateToggle(Arguments)
				local DefaultValue = Arguments.DefaultValue
				local Function_2 = Arguments.Function
				local Parent_2 = Name
				local Name = Arguments.Name

				local Button = Instance.new("TextButton")
				local UITextSizeConstraint_6 = Instance.new("UITextSizeConstraint")

				if AlSploitSettings[Parent][Parent_2][Name] == nil then
					AlSploitSettings[Parent][Parent_2][Name] = {Value = DefaultValue}
				end

				local function ToggleValue(Start)
					if Start == false then
						AlSploitSettings[Parent][Parent_2][Name].Value = not AlSploitSettings[Parent][Parent_2][Name].Value
					end

					if AlSploitSettings[Parent][Parent_2][Name].Value == true then
						Button.BackgroundTransparency = 0

						Function_2()
					end

					if AlSploitSettings[Parent][Parent_2][Name].Value == false then
						Button.BackgroundTransparency = 1

						Function_2()
					end
				end

				Button.Parent = OptionsContainer
				Button.Name = "Button"

				Button.BackgroundTransparency = (AlSploitSettings[Parent][Parent_2][Name].Value == true and 0 or 1)
				Button.BackgroundColor3 = Color3.new(0.564706, 0.0313725, 1)
				Button.AutoButtonColor = false
				Button.BorderSizePixel = 0
				Button.TextColor3 = Color3.new(1, 1, 1)
				Button.TextScaled = true
				Button.TextSize = 11
				Button.Position = UDim2.new(3.039, 0, -2.333, 0)
				Button.Size = UDim2.new(1, 0, 0.172, 0)
				Button.Font = Enum.Font.GothamBold
				Button.Text = Name		

				UITextSizeConstraint_6.Parent = Button
				UITextSizeConstraint_6.Name = "UITextSizeConstraint_5"

				UITextSizeConstraint_6.MaxTextSize = 11

				task.spawn(function()
					ToggleValue(true)
				end)

				task.spawn(function()
					Button.Activated:Connect(function()
						ToggleValue(false)
					end)
				end)
			end

			return DropdownTable
		end

		function ToggleTable:CreateColorSlider(Arguments)
			local DefaultValue = Arguments.DefaultValue
			local Function = Arguments.Function
			local Parent = Name
			local Name = Arguments.Name

			if AlSploitSettings[Parent][Name] == nil then
				AlSploitSettings[Parent][Name] = {Value = tostring(DefaultValue.R .. "," .. DefaultValue.G .. "," .. DefaultValue.B), Percentage = 0}
			end

			local ColorSplit = string.split(AlSploitSettings[Parent][Name].Value, ",")

			local R = ColorSplit[1]
			local G = ColorSplit[2]
			local B = ColorSplit[3]

			local ColorPicker = Instance.new("Frame")

			local SliderFrame = Instance.new("Frame")

			local Bar = Instance.new("TextButton")
			local UICorner_3 = Instance.new("UICorner")
			local UIStroke = Instance.new("UIStroke")
			local UITextSizeConstraint_4 = Instance.new("UITextSizeConstraint")

			local ColorDisplay = Instance.new("Frame")
			local UICorner_4 = Instance.new("UICorner")

			local Fill = Instance.new("Frame")
			local UIGradient = Instance.new("UIGradient")

			local NameDisplay = Instance.new("TextLabel")
			local UITextSizeConstraint_5 = Instance.new("UITextSizeConstraint")
			local UIPadding_2 = Instance.new("UIPadding")

			ColorPicker.Parent = ModuleContainer
			ColorPicker.Name = "ColorPicker"

			ColorPicker.BackgroundTransparency = 0.15
			ColorPicker.BackgroundColor3 = Color3.new(0, 0, 0)
			ColorPicker.BorderSizePixel = 0
			ColorPicker.Position = UDim2.new(0, 0, 0.287, 0)
			ColorPicker.Visible = false
			ColorPicker.Size = UDim2.new(1, 0, 0.099, 0)

			ColorPicker.LayoutOrder = CurrentLayoutOrder
			ColorPicker.LayoutOrder = (CurrentLayoutOrder + 1)

			SliderFrame.Parent = ColorPicker
			SliderFrame.Name = "SliderFrame"

			SliderFrame.BackgroundTransparency = 1
			SliderFrame.BorderSizePixel = 0
			SliderFrame.Position = UDim2.new(0.150, 0, 0.654, 0)
			SliderFrame.Size = UDim2.new(0.700, 0, 0.060, 0)

			Bar.Parent = SliderFrame
			Bar.Name = "Bar"

			Bar.BackgroundColor3 = Color3.new(0, 0.6, 1)
			Bar.AutoButtonColor = false
			Bar.BorderSizePixel = 0
			Bar.TextScaled = true
			Bar.TextSize = 14
			Bar.Position = UDim2.new(AlSploitSettings[Parent][Name].Percentage, 0, -1.111, 0)
			Bar.ZIndex = 2
			Bar.Size = UDim2.new(0.070, 0, 1.915, 0)
			Bar.Font = Enum.Font.GothamBold
			Bar.Text = ""

			UICorner_3.Parent = Bar
			UICorner_3.Name = "UICorner_3"

			UICorner_3.CornerRadius = UDim.new(1, 0)

			UIStroke.Parent = Bar
			UIStroke.Name = "UIStroke"

			UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
			UIStroke.Thickness = 1
			UIStroke.Color = Color3.new(0, 0, 0)

			UITextSizeConstraint_4.Parent = Bar
			UITextSizeConstraint_4.Name = "UITextSizeConstraint_4"

			UITextSizeConstraint_4.MaxTextSize = 14

			ColorDisplay.Parent = SliderFrame
			ColorDisplay.Name = "ColorDisplay"

			ColorDisplay.BackgroundColor3 = Color3.new(R, G, B)
			ColorDisplay.BorderSizePixel = 0
			ColorDisplay.Position = UDim2.new(0.889, 0, -5, 0)
			ColorDisplay.Size = UDim2.new(0, 15, 0, 15)

			UICorner_4.Parent = ColorDisplay
			UICorner_4.Name = "UICorner_4"

			UICorner_4.CornerRadius = UDim.new(0.200, 0)

			Fill.Parent = SliderFrame
			Fill.Name = "Fill"

			Fill.BackgroundColor3 = Color3.new(1, 1, 1)
			Fill.BorderSizePixel = 0
			Fill.Position = UDim2.new(0, 0, -0.329, 0)
			Fill.Size = UDim2.new(1, 0, 0.650, 0)

			UIGradient.Parent = Fill
			UIGradient.Name = "UIGradient_3"

			UIGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.new(1, 0, 0)), ColorSequenceKeypoint.new(0.20, Color3.new(1, 1, 0)), ColorSequenceKeypoint.new(0.40, Color3.new(0, 1, 0)), ColorSequenceKeypoint.new(0.60, Color3.new(0, 1, 1)), ColorSequenceKeypoint.new(0.80, Color3.new(0, 0, 1)), ColorSequenceKeypoint.new(1.00, Color3.new(1, 0, 1))}

			NameDisplay.Parent = ColorPicker
			NameDisplay.Name = "NameDisplay"

			NameDisplay.BackgroundTransparency = 1
			NameDisplay.BorderSizePixel = 0
			NameDisplay.TextXAlignment = Enum.TextXAlignment.Left
			NameDisplay.TextColor3 = Color3.new(1, 1, 1)
			NameDisplay.TextScaled = true
			NameDisplay.TextSize = 10
			NameDisplay.Position = UDim2.new(-0.005, 0, 0.198, 0)
			NameDisplay.Size = UDim2.new(1.005, 0, 0.470, 0)
			NameDisplay.Font = Enum.Font.GothamBold
			NameDisplay.Text = Name

			UITextSizeConstraint_5.Parent = NameDisplay
			UITextSizeConstraint_5.Name = "UITextSizeConstraint_5"

			UITextSizeConstraint_5.MaxTextSize = 11

			UIPadding_2.Parent = NameDisplay
			UIPadding_2.Name = "UIPadding_2"

			UIPadding_2.PaddingLeft = UDim.new(0, 30)

			local function GetColor(Percentage)
				local UIGradientKeyPoints = UIGradient.Color.Keypoints

				local ClosestToRight = UIGradientKeyPoints[# UIGradientKeyPoints]
				local ClosestToLeft = UIGradientKeyPoints[1]

				local Color

				for i = 1, (# UIGradientKeyPoints - 1) do
					if (UIGradientKeyPoints[i].Time <= Percentage) and (UIGradientKeyPoints[i + 1].Time >= Percentage) then
						ClosestToRight = UIGradientKeyPoints[i + 1]
						ClosestToLeft = UIGradientKeyPoints[i]

						Percentage = ((Percentage - ClosestToLeft.Time) / (ClosestToRight.Time - ClosestToLeft.Time))
						Color = ClosestToLeft.Value:lerp(ClosestToRight.Value, Percentage)

						return Color
					end
				end
			end

			local CanUseSlider = false

			task.spawn(function()
				Bar.MouseButton1Down:Connect(function()
					CanUseSlider = true
				end)				
			end)

			task.spawn(function()
				UserInputService.InputEnded:Connect(function(Input)
					if Input.UserInputType == Enum.UserInputType.MouseButton1 then
						CanUseSlider = false
					end
				end)
			end)

			task.spawn(function()
				Function(R, G, B)
			end)

			task.spawn(function()
				DropdownButton.Activated:Connect(function()
					ColorPicker.Visible = not ColorPicker.Visible

					task.spawn(function()
						repeat
							task.wait()

							if CanUseSlider == true then
								local MousePosition = UserInputService:GetMouseLocation().X
								local FramePosition = ColorPicker.AbsolutePosition.X
								local BarPosition = Bar.Position
								local FrameSize = ColorPicker.AbsoluteSize.X

								local Position = ((MousePosition - FramePosition) / FrameSize)
								local Percentage = math.clamp(Position, 0, 1)

								local TweenInformation = TweenInfo.new(0.1, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, 0, false, 0)
								local PositionTween = TweenService:Create(Bar, TweenInformation, {Position = UDim2.new(Percentage, 0, BarPosition.Y.Scale, 0)})

								PositionTween:Play()								

								local Color = GetColor(Percentage)

								ColorDisplay.BackgroundColor3 = Color

								AlSploitSettings[Parent][Name].Percentage = Percentage
								AlSploitSettings[Parent][Name].Value = tostring(Color.R .. "," .. Color.G .. "," .. Color.B)

								Function()
							end					
						until shared.AlSploitUnInjected == true or ColorPicker.Visible == false
					end)
				end)
			end)
		end

		task.spawn(function()
			ToggleTable:CreateKeybind()
		end)

		return ToggleTable, Toggle
	end

	return TabTable
end

function CreateNotification(NotificationTime, NotificationText)
	NotificationCount = NotificationCount + 1

	local Notification = Instance.new("Frame")

	Notification.Parent = AlSploitScreenGui
	Notification.Name = "Notification"
	Notification.BackgroundTransparency = 0.15
	Notification.BackgroundColor3 = Color3.new(0, 0, 0)
	Notification.Position = UDim2.new(1, 0, NotificationY, 0)
	Notification.Size = UDim2.new(0.178, 0, 0.084, 0)

	table.insert(NotificationInstances, Notification)

	local UICorner = Instance.new("UICorner")

	UICorner.Parent = Notification
	UICorner.CornerRadius = UDim.new(0.06, 0)

	local UIStroke = Instance.new("UIStroke")

	UIStroke.Parent = Notification
	UIStroke.Transparency = 0.5

	local Slider = Instance.new("Frame")

	Slider.Parent = Notification
	Slider.Name = "Slider"
	Slider.BackgroundColor3 = Color3.new(0, 0, 0)
	Slider.BorderSizePixel = 0
	Slider.Position = UDim2.new(0.219, 0, 0.734, 0)
	Slider.Size = UDim2.new(0.631, 0, 0.058, 0)

	local UICorner2 = Instance.new("UICorner")

	UICorner2.Parent = Slider
	UICorner2.Name = "UICorner2"
	UICorner2.CornerRadius = UDim.new(1, 0)

	local Fill = Instance.new("Frame")

	Fill.Parent = Slider
	Fill.Name = "Fill"
	Fill.BackgroundColor3 = Color3.new(0.45098, 0, 1)
	Fill.BorderSizePixel = 0
	Fill.Size = UDim2.new(1, 0, 1, 0)

	local Text = Instance.new("TextLabel")

	Text.Parent = Notification
	Text.Name = "Text"
	Text.BackgroundTransparency = 1
	Text.TextColor3 = Color3.new(1, 1, 1)
	Text.TextScaled = true
	Text.Position = UDim2.new(0, 0, 0.1, 0)
	Text.Font = Enum.Font.GothamBold
	Text.Size = UDim2.new(1, 0, 0.47, 0)
	Text.Text = NotificationText

	local UITextSizeConstraint = Instance.new("UITextSizeConstraint")

	UITextSizeConstraint.Parent = Text
	UITextSizeConstraint.MaxTextSize = 14

	local TimeLeft = Instance.new("TextLabel")

	TimeLeft.Parent = Notification
	TimeLeft.Name = "TimeLeft"
	TimeLeft.BackgroundTransparency = 1
	TimeLeft.TextColor3 = Color3.new(1, 1, 1)
	TimeLeft.TextScaled = true
	TimeLeft.Position = UDim2.new(0, 0, 0.53, 0)
	TimeLeft.Font = Enum.Font.GothamBold
	TimeLeft.Size = UDim2.new(0.221, 0, 0.47, 0)
	TimeLeft.Text = tostring(NotificationTime)

	local UITextSizeConstraint2 = Instance.new("UITextSizeConstraint")

	UITextSizeConstraint2.Parent = TimeLeft
	UITextSizeConstraint2.Name = "UITextSizeConstraint2"
	UITextSizeConstraint2.MaxTextSize = 14

	task.spawn(function()
		local DesiredPosition = UDim2.new(0.81, 0, NotificationY, 0)

		NotificationY = NotificationY - 0.105

		local TweenInformation = TweenInfo.new(0.3, Enum.EasingStyle.Cubic, Enum.EasingDirection.Out, 0, false, 0)
		local PositionTween = TweenService:Create(Notification, TweenInformation, {Position = DesiredPosition})
		PositionTween:Play()

		task.wait(NotificationTime)

		DesiredPosition = UDim2.new(1, 0, Notification.Position.Y.Scale, 0)

		TweenInformation = TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0)
		PositionTween = TweenService:Create(Notification, TweenInformation, {Position = DesiredPosition})

		NotificationY = NotificationY + 0.105

		PositionTween:Play()

		NotificationEvent:Fire({Name = "NotificationRemoved", Position = DesiredPosition})
		NotificationCount = NotificationCount - 1

		task.wait(TweenInformation.Time)

		for i, v in next, NotificationInstances do
			if v == Notification then
				table.remove(NotificationInstances, i)

				Notification:Destroy()

				break
			end
		end
	end)

	task.spawn(function()
		local TimeleftTick = tick()

		repeat
			task.wait()

			TimeLeft.Text = string.format("%.1f", (NotificationTime - (tick() - TimeleftTick)))
		until (tick() - TimeleftTick) >= NotificationTime

		TimeLeft.Text = "0.0"
	end)

	local TweenInformation = TweenInfo.new(NotificationTime, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0)
	local SizeTween = TweenService:Create(Fill, TweenInformation, {Size = UDim2.new(0, 0, 1, 0)})

	SizeTween:Play()
end

local function CreateProgressHud(MaximumValue)
	local Background = Instance.new("Frame")
	local UICorner = Instance.new("UICorner")
	local UIStroke = Instance.new("UIStroke")

	local Text = Instance.new("TextLabel")
	local UITextSizeConstraint = Instance.new("UITextSizeConstraint")

	local DisplayBackground = Instance.new("Frame")
	local UICorner_2 = Instance.new("UICorner")

	local Display = Instance.new("Frame")

	local UICorner_3 = Instance.new("UICorner")

	Background.Parent = AlSploitScreenGui
	Background.Name = "Background"

	Background.BackgroundTransparency = 0.25
	Background.BackgroundColor3 = Color3.new(0, 0, 0)
	Background.BorderSizePixel = 0
	Background.Position = UDim2.new(0.410, 0, 0.698, 0)
	Background.Size = UDim2.new(0.178, 0, 0.085, 0)

	UICorner.Parent = Background
	UICorner.Name = "UICorner"

	UICorner.CornerRadius = UDim.new(0.1, 0)

	UIStroke.Parent = Background
	UIStroke.Name = "UIStroke"

	UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
	UIStroke.Thickness = 2
	UIStroke.Color = Color3.new(0, 0.6, 1)

	Text.Parent = Background
	Text.Name = "Text"

	Text.BackgroundTransparency = 1
	Text.BorderSizePixel = 0
	Text.Position = UDim2.new(0, 0, 0.510, 0)
	Text.TextColor3 = Color3.new(0, 0.6, 1)
	Text.TextScaled = true
	Text.TextSize = 20
	Text.Size = UDim2.new(1, 0, 0.489, 0)
	Text.Font = Enum.Font.GothamBold
	Text.Text = MaximumValue

	UITextSizeConstraint.Parent = Text
	UITextSizeConstraint.Name = "UITextSizeConstraint"

	UITextSizeConstraint.MaxTextSize = 20

	DisplayBackground.Parent = Background
	DisplayBackground.Name = "DisplayBackground"

	DisplayBackground.BackgroundColor3 = Color3.new(0, 0, 0)
	DisplayBackground.BorderSizePixel = 0
	DisplayBackground.Position = UDim2.new(0.229, 0, 0.267, 0)
	DisplayBackground.Size = UDim2.new(0.545, 0, 0.150, 0)

	UICorner_2.Parent = DisplayBackground
	UICorner_2.Name = "UICorner_2"

	UICorner_2.CornerRadius = UDim.new(0.4, 0)

	Display.Parent = DisplayBackground
	Display.Name = "Display"

	Display.BackgroundColor3 = Color3.new(0, 0.6, 1)
	Display.BorderSizePixel = 0
	Display.Position = UDim2.new(0, 0, 0, 0)
	Display.ZIndex = 2
	Display.Size = UDim2.new(1, 0, 1, 0)

	UICorner_3.Parent = Display
	UICorner_3.Name = "UICorner_3"

	UICorner_3.CornerRadius = UDim.new(0.4, 0)

	task.spawn(function()
		local TweenInformation = TweenInfo.new(MaximumValue, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0)
		local SizeTween = TweenService:Create(Display, TweenInformation, {Size = UDim2.new(0, 0, 1, 0)})

		SizeTween:Play()

		SizeTween.Completed:Connect(function()
			Background:Destroy()
		end)
	end)

	task.spawn(function()
		repeat
			task.wait()

			local Percentage = math.clamp(Display.Size.X.Scale, 0, 1)
			local RoundedValue = DecimalRound((Percentage * MaximumValue), 1)

			Text.Text = RoundedValue
		until shared.AlSploitUnInjected == true or not Background
	end)

	return Background
end

local function CreateTargetHud()
	local Background = Instance.new("Frame")
	local UICorner = Instance.new("UICorner")
	local UIStroke = Instance.new("UIStroke")

	local DisplayBackground = Instance.new("Frame")
	local UICorner_2 = Instance.new("UICorner")

	local Display = Instance.new("Frame")
	local UICorner_3 = Instance.new("UICorner")

	local PlayerName = Instance.new("TextLabel")

	local Health = Instance.new("TextLabel")

	local _100HP = Instance.new("TextLabel")

	local Status = Instance.new("TextLabel")

	Background.Parent = AlSploitScreenGui
	Background.Name = "Background"

	Background.BackgroundTransparency = 0.15
	Background.BackgroundColor3 = Color3.new(0, 0, 0)
	Background.BorderSizePixel = 0
	Background.AnchorPoint = Vector2.new(0.5, 0)
	Background.Position = UDim2.new(0.5, 0, 0.65, 0)
	Background.Size = UDim2.new(0.219, 0, 0.116, 0)

	UICorner.Parent = Background
	UICorner.Name = "UICorner"

	UICorner.CornerRadius = UDim.new(0.09, 0)

	UIStroke.Parent = Background
	UIStroke.Name = "UIStroke"

	UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
	UIStroke.Thickness = 1

	DisplayBackground.Parent = Background
	DisplayBackground.Name = "DisplayBackground"

	DisplayBackground.BackgroundColor3 = Color3.new(0, 0, 0)
	DisplayBackground.BorderSizePixel = 0
	DisplayBackground.Position = UDim2.new(0.226, 0, 0.825, 0)
	DisplayBackground.Size = UDim2.new(0.545, 0, 0.0729, 0)

	UICorner_2.Parent = DisplayBackground
	UICorner_2.Name = "UICorner_2"

	UICorner_2.CornerRadius = UDim.new(0.015, 0)

	Display.Parent = DisplayBackground
	Display.Name = "Display"

	Display.BorderSizePixel = 0
	Display.Position = UDim2.new(0, 0, 0, 0)
	Display.Size = UDim2.new(1, 0, 1, 0)

	Display.ZIndex = 2

	UICorner_3.Parent = Display
	UICorner_3.Name = "UICorner3"

	UICorner_3.CornerRadius = UDim.new(0, 6)

	PlayerName.Parent = Background
	PlayerName.Name = "PlayerName"

	PlayerName.BackgroundTransparency = 1
	PlayerName.BorderSizePixel = 0
	PlayerName.TextColor3 = Color3.new(1, 1, 1)
	PlayerName.Position = UDim2.new(0, 0, 0, 0)
	PlayerName.TextSize = 18
	PlayerName.Size = UDim2.new(1, 0, 0.480, 0)
	PlayerName.Font = Enum.Font.GothamBold
	PlayerName.Text = ""

	Health.Parent = Background
	Health.Name = "Health"

	Health.BackgroundTransparency = 1
	Health.BorderSizePixel = 0
	Health.Position = UDim2.new(0, 0, 0.471, 0)
	Health.TextColor3 = Color3.new(1, 1, 1)
	Health.TextSize = 15
	Health.Size = UDim2.new(1, 0, 0.354, 0)
	Health.Font = Enum.Font.GothamBold
	Health.Text = "Health: 100"

	_100HP.Parent = Background
	_100HP.Name = "100HP"

	_100HP.BackgroundTransparency = 1
	_100HP.BorderSizePixel = 0
	_100HP.Position = UDim2.new(0.770, 0, 0.725, 0)
	_100HP.TextColor3 = Color3.new(1, 1, 1)
	_100HP.TextSize = 15
	_100HP.Size = UDim2.new(0.230, 0, 0.249, 0)
	_100HP.Font = Enum.Font.GothamBold
	_100HP.Text = "100 HP"

	Status.Parent = Background
	Status.Name = "Status"

	Status.BackgroundTransparency = 1
	Status.BorderSizePixel = 0
	Status.Position = UDim2.new(0, 0, 0.725, 0)
	Status.TextColor3 = Color3.new(0, 1, 0)
	Status.TextSize = 15
	Status.Size = UDim2.new(0.228, 0, 0.249, 0)
	Status.Font = Enum.Font.GothamBold
	Status.Text = "Win"

	return Background, UIStroke, PlayerName, Display, Health, _100HP, Status
end

local function CreateFlyHud()
	local Background = Instance.new("Frame")

	local UICorner = Instance.new("UICorner")
	local UIStroke = Instance.new("UIStroke")

	local Text = Instance.new("TextLabel")
	local UITextSizeConstraint = Instance.new("UITextSizeConstraint")

	local DisplayBackground = Instance.new("Frame")
	local UICorner_2 = Instance.new("UICorner")

	local Display = Instance.new("Frame")
	local UICorner_3 = Instance.new("UICorner")

	Background.Parent = AlSploitScreenGui
	Background.Name = "Background"

	Background.BackgroundTransparency = 0.25
	Background.BackgroundColor3 = Color3.new(0, 0, 0)
	Background.BorderSizePixel = 0
	Background.AnchorPoint = Vector2.new(0.5, 0)
	Background.Position = UDim2.new(0.5, 0, 0.7, 0)
	Background.Visible = false
	Background.Size = UDim2.new(0.178, 0, 0.085, 0)

	UICorner.Parent = Background
	UIStroke.Name = "UICorner"

	UICorner.CornerRadius = UDim.new(0.1, 0)

	UIStroke.Parent = Background
	UIStroke.Name = "UIStroke"

	UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
	UIStroke.Thickness = 2

	Text.Parent = Background
	Text.Name = "Text"

	Text.BackgroundTransparency = 1
	Text.BackgroundColor3 = Color3.new(1, 1, 1)
	Text.TextColor3 = Color3.new(0, 0.6, 1)
	Text.TextScaled = true
	Text.Position = UDim2.new(0, 0, 0.511, 0)
	Text.TextSize = 20
	Text.Size = UDim2.new(1, 0, 0.489, 0)
	Text.Font = Enum.Font.GothamBold

	UITextSizeConstraint.Parent = Text
	UITextSizeConstraint.Name = "UITextSizeConstraint"

	UITextSizeConstraint.MaxTextSize = 20

	DisplayBackground.Parent = Background
	DisplayBackground.Name = "DisplayBackground"

	DisplayBackground.BackgroundColor3 = Color3.new(0, 0, 0)
	DisplayBackground.BorderSizePixel = 0
	DisplayBackground.Position = UDim2.new(0.229, 0, 0.267, 0)
	DisplayBackground.Size = UDim2.new(0.545, 0, 0.150, 0)

	UICorner_2.Parent = DisplayBackground
	UICorner_2.Name = "UICorner_2"

	UICorner_2.CornerRadius = UDim.new(0.1, 6)

	Display.Parent = DisplayBackground
	Display.Name = "Display"

	Display.BackgroundColor3 = Color3.new(0, 0.6, 1)
	Display.BorderColor3 = Color3.new(0, 0, 0)
	Display.Position = UDim2.new(0, 0, 0, 0)
	Display.Size = UDim2.new(0, 0, 1, 0)

	UICorner_3.Parent = Display
	UICorner_3.Name = "UICorner_3"

	UICorner_3.CornerRadius = UDim.new(0.1, 6)

	return Background, Text, Display, UIStroke
end

local function CreateCoordinatesDisplay()
	local Text = Instance.new("TextLabel")

	Text.Parent = AlSploitScreenGui
	Text.Name = "Text"

	Text.BackgroundTransparency = 1
	Text.TextTransparency = 1
	Text.BorderSizePixel = 0
	Text.TextColor3 = Color3.new(1, 1, 1)
	Text.TextSize = 20
	Text.Position = UDim2.new(0.038, 0, 0.818, 0)
	Text.Size = UDim2.new(0.135, 0, 0.061, 0)
	Text.Font = Enum.Font.GothamBold
	Text.Text = "XYZ: (Nan, Nan, Nan)"

	task.spawn(function()
		repeat
			task.wait()

			if AlSploitSettings.AirtimeDisplay.Value == true then
				Text.Position = UDim2.new(0.038, 0, 0.818, 0)
			end

			if AlSploitSettings.AirtimeDisplay.Value == false then
				Text.Position = UDim2.new(0.038, 0, 0.857, 0)
			end
		until shared.AlSploitUnInjected == true
	end)

	return Text
end

local function CreateAirtimeDisplay()
	local Text = Instance.new("TextLabel")

	Text.Parent = AlSploitScreenGui
	Text.Name = "Text"

	Text.BackgroundTransparency = 1
	Text.TextTransparency = 1
	Text.BorderSizePixel = 0
	Text.TextColor3 = Color3.new(1, 1, 1)
	Text.TextSize = 20
	Text.Position = UDim2.new(0.038, 0, 0.857, 0)
	Text.Size = UDim2.new(0.135, 0, 0.061, 0)
	Text.Font = Enum.Font.GothamBold
	Text.Text = "Airtime: 0"

	return Text
end

local function CreateSpeedDisplay()
	local Text = Instance.new("TextLabel")

	Text.Parent = AlSploitScreenGui
	Text.Name = "Text"

	Text.BackgroundTransparency = 1
	Text.TextTransparency = 1
	Text.BorderSizePixel = 0
	Text.TextColor3 = Color3.new(1, 1, 1)
	Text.TextSize = 20
	Text.Position = UDim2.new(0.038, 0, 0.896, 0)
	Text.Size = UDim2.new(0.135, 0, 0.061, 0)
	Text.Font = Enum.Font.GothamBold
	Text.Text = "Speed: Nan"

	return Text
end

local ViewModel = Camera:WaitForChild("Viewmodel", 3)

local C1 = ViewModel:WaitForChild("RightHand"):WaitForChild("RightWrist").C1
local C0 = ViewModel:WaitForChild("RightHand"):WaitForChild("RightWrist").C0

local CollectionServiceBlocks = CollectionService:GetTagged("block")

task.spawn(function()
	for i, v in next, WorkSpace:GetDescendants() do
		if v.Size == Vector3.new(3, 3, 3) then
			table.insert(CollectionServiceBlocks, v)
		end
	end
	
	task.spawn(function()
		for i, v in next, game:GetService("Workspace"):WaitForChild("Map"):WaitForChild("Wolds")[1]:FindFirstChild("Blocks") do
			if v.Size == Vector3.new(3, 3, 3) then
				table.insert(CollectionServiceBlocks, v)
			end
		end
	end)
end)

local AnticheatBypassing = false
local DamageBoostValue = false
local JadeHammerTick = 0
local ZephyrOrb = 0

local Sides = {
	Enum.NormalId.Top, 
	Enum.NormalId.Left,
	Enum.NormalId.Right,
	Enum.NormalId.Back,
	Enum.NormalId.Front
}


local KnitGotten, Knit

task.spawn(function()
	repeat
		task.wait()

		pcall(function()
			KnitGotten, Knit = pcall(function()
				return debug.getupvalue(require(LocalPlayer.PlayerScripts.TS.knit).setup, 9)
			end)
		end)
	until KnitGotten or shared.AlSploitUnInjected == true
end)

local DefaultRemotePath = ReplicatedStorageService:WaitForChild("rbxts_include"):WaitForChild("node_modules"):WaitForChild("@rbxts"):WaitForChild("net"):WaitForChild("out"):WaitForChild("_NetManaged")

task.wait(1)

local BedwarsKnitControllers = {
	WindWalkerController = (KnitGotten and Knit.Controllers.WindWalkerController or nil),
	ViewModelController = (KnitGotten and Knit.Controllers.ViewmodelController or nil),
	SprintController = (KnitGotten and Knit.Controllers.SprintController or nil),
	SwordController = (KnitGotten and Knit.Controllers.SwordController or nil),
	FovController = (KnitGotten and Knit.Controllers.FovController or nil)
}

local BedwarsControllers = {
	ViewModelController = LocalPlayer.PlayerScripts.TS.controllers.global.viewmodel["viewmodel-controller"],
}

local BedwarsUtilities = {
	KnockbackUtil = {
		ogvals = {
			dirStrength = 11750,
			upwardStrength = 10000
		},
		applyKnockback = function(horizontal, vertical)
			ReplicatedStorageService.TS.damage["knockback-util"]:SetAttribute('ConstantManager_kbDirectionStrength', horizontal)
			ReplicatedStorageService.TS.damage["knockback-util"]:SetAttribute('ConstantManager_kbUpwardStrength', vertical)
		end
	}
}

local BedwarsConstants = {
	CombatConstant = require(ReplicatedStorageService.TS.combat["combat-constant"]).CombatConstant,
	CPSConstants = require(ReplicatedStorageService.TS["shared-constants"]).CpsConstants
}

local BedwarsMetas = {
	ProjectileMeta = HttpService:JSONDecode(game:HttpGet("https://github.com/jewjew123/ALSPLOIT/raw/refs/heads/main/IS/SHIT/USE/CATVAPE/OR/ProjectileMeta")),
	ItemMeta = HttpService:JSONDecode(game:HttpGet("https://raw.githubusercontent.com/jewjew123/ALSPLOIT/refs/heads/main/IS/SHIT/USE/CATVAPE/OR/ItemMeta")),
}

local BedwarsFunctions = {
	GetItemMeta = function(Item) 
		return BedwarsMetas.ItemMeta["items"][Item]
	end,
}

local BedwarsRemotes = {
	SummonerClawAttackRequestRemote = DefaultRemotePath:WaitForChild("SummonerClawAttackRequest"),
	CollectCollectableEntityRemote = DefaultRemotePath:WaitForChild("CollectCollectableEntity"),
	DestroyPetrifiedPlayerRemote = DefaultRemotePath:WaitForChild("DestroyPetrifiedPlayer"),
	BedwarsPurchaseItemRemote = DefaultRemotePath:WaitForChild("BedwarsPurchaseItem"),
	HannahPromptTriggerRemote = DefaultRemotePath:WaitForChild("HannahPromptTrigger"),
	TrinitySetAngelTypeRemote = DefaultRemotePath:WaitForChild("SetAngelType"),
	SetObservedChestRemote = DefaultRemotePath:WaitForChild("Inventory/SetObservedChest"),
	HellBladeReleaseRemote = DefaultRemotePath:WaitForChild("HellBladeRelease"),
	AttemptCardThrowRemote = DefaultRemotePath:WaitForChild("AttemptCardThrow"),
	ConsumeTreeOrbRemote = DefaultRemotePath:WaitForChild("ConsumeTreeOrb"),
	ProjectileFireRemote = DefaultRemotePath:WaitForChild("ProjectileFire"),
	PickupItemDropRemote = DefaultRemotePath:WaitForChild("PickupItemDrop"),
	SkyScytheSpinRemote = DefaultRemotePath:WaitForChild("SkyScytheSpin"),
	ChestGetItemRemote =  DefaultRemotePath:WaitForChild("Inventory/ChestGetItem"),
	BlockPlacingRemote = ReplicatedStorageService:WaitForChild("rbxts_include"):WaitForChild("node_modules"):WaitForChild("@easy-games"):WaitForChild("block-engine"):WaitForChild("node_modules"):WaitForChild("@rbxts"):WaitForChild("net"):WaitForChild("out"):WaitForChild("_NetManaged"):WaitForChild("PlaceBlock"),
	ReportPlayerRemote = DefaultRemotePath:WaitForChild("ReportPlayer"),
	DamageBlockRemote = ReplicatedStorageService:WaitForChild("rbxts_include"):WaitForChild("node_modules"):WaitForChild("@easy-games"):WaitForChild("block-engine"):WaitForChild("node_modules"):WaitForChild("@rbxts"):WaitForChild("net"):WaitForChild("out"):WaitForChild("_NetManaged"):WaitForChild("DamageBlock"),
	SetInvItemRemote = DefaultRemotePath:WaitForChild("SetInvItem"),
	JoinQueueRemote = ReplicatedStorageService:WaitForChild("events-@easy-games/lobby:shared/event/lobby-events@getEvents.Events"):WaitForChild("joinQueue"),
	GroundHitRemote = DefaultRemotePath:WaitForChild("GroundHit"),
	SwordHitRemote = DefaultRemotePath:WaitForChild("SwordHit"),
	AfkInfoRemote = DefaultRemotePath:WaitForChild("AfkInfo")
}

local function GetBestProjectileLauncher(Player)
	local BestProjectileGgravitationalAcceleration, BestProjectileLaunchersDPS, BestProjectileLauncherCooldown, BestProjectileLaunchVelocity, BestProjectileLauncher, BestProjectileDamage, BestProjectileType, BestProjectile = 0, 0, 0, 0, nil, 0, nil, nil

	for i, v in next, GetInventory(Player) do
		local ProjectileLauncher = BedwarsFunctions.GetItemMeta(v.itemType)

		if ProjectileLauncher and ProjectileLauncher.projectileSource and ProjectileLauncher.projectileSource.ammoItemTypes then
			local InventoryProjectile, InventoryProjectileDamage, InventoryProjectileLaunchVelocity, InventoryProjectileGgravitationalAcceleration = GetBestProjectile(ProjectileLauncher.projectileSource, Player)
			local ProjectileCooldown = ProjectileLauncher.projectileSource.fireDelaySec

			if InventoryProjectile and InventoryProjectileDamage > 0 and ProjectileCooldown then
				local ProjectileLaunchersDPS = (InventoryProjectileDamage / ProjectileCooldown)

				if ProjectileLaunchersDPS > BestProjectileLaunchersDPS then
					InventoryProjectileGgravitationalAcceleration = InventoryProjectileGgravitationalAcceleration
					BestProjectileLauncherCooldown = ProjectileCooldown
					BestProjectileLaunchVelocity = InventoryProjectileLaunchVelocity
					BestProjectileLaunchersDPS = ProjectileLaunchersDPS
					BestProjectileLauncher = v
					BestProjectileDamage = InventoryProjectileDamage
					BestProjectileType = ProjectileLauncher.projectileSource.projectileType(InventoryProjectile.itemType)
					BestProjectile = InventoryProjectile
				end
			end
		end
	end	

	return BestProjectileGgravitationalAcceleration, BestProjectileLauncherCooldown, BestProjectileLaunchVelocity, BestProjectileLauncher, BestProjectileType, BestProjectile
end

local function FindNearestLuckyBlock(MaxDistance)
	local MinDistance = MaxDistance or math.huge
	local NearestLuckyBlock = nil

	for i, v in next, CollectionServiceBlocks do
		if v.Name:lower():find("lucky") then
			local Distance = (v.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if Distance < MinDistance then
				MinDistance = Distance
				NearestLuckyBlock= v
			end
		end
	end

	return NearestLuckyBlock
end

local function GetDevidedPosition(Position)
	local X = math.round(Position.X / 3)
	local Y = math.round(Position.Y / 3)
	local Z = math.round(Position.Z / 3)

	return Vector3.new(X, Y, Z)
end

local function FindNearestTreeOrb(MaxDistance)
	local NearestTreeOrbDistance = MaxDistance or math.huge
	local NearestTreeOrb

	for i, v in next, game:GetService("CollectionService"):GetTagged("treeOrb") do		
		if v:FindFirstChild("Spirit") then
			local Distance = (v.Spirit.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if Distance < NearestTreeOrbDistance then
				NearestTreeOrbDistance = Distance
				NearestTreeOrb = v
			end
		end
	end

	return NearestTreeOrb, NearestTreeOrbDistance
end

function FindNearestPlayer(MaxDistance, RaycastCheck)
	RaycastCheck = RaycastCheck or false

	local NearestPlayerDistance = MaxDistance or math.huge
	local NearestPlayer

	for i, v in next, PlayerService:GetPlayers() do
		if IsAlive(v) == true and v ~= LocalPlayer and IsAlive(LocalPlayer) == true and v.Team ~= LocalPlayer.Team then
			local Distance = (v.Character.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if RaycastCheck == true then
				local RaycastParameters = RaycastParams.new()

				RaycastParameters.FilterDescendantsInstances = {LocalPlayer.Character:GetDescendants(), v.Character:GetDescendants()}
				RaycastParameters.FilterType = Enum.RaycastFilterType.Exclude

				local Raycast = WorkSpace:Raycast(LocalPlayer.Character.PrimaryPart.Position, (v.Character.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position), RaycastParameters)

				if Raycast and Raycast.Position then
					if not Raycast.Instance then
						if Distance < NearestPlayerDistance then
							NearestPlayerDistance = Distance
							NearestPlayer = v				
						end		
					end
				end

				if not Raycast or not Raycast.Position then
					if Distance < NearestPlayerDistance then
						NearestPlayerDistance = Distance
						NearestPlayer = v				
					end	
				end
			end

			if RaycastCheck == false then
				if Distance < NearestPlayerDistance then
					NearestPlayerDistance = Distance
					NearestPlayer = v				
				end
			end
		end
	end

	return NearestPlayer, NearestPlayerDistance
end

local function FindNearestEntity(MaxDistance, FindAPlayer)
	local NearestEntityDistance, NearestEntity = (MaxDistance and MaxDistance or math.huge), nil
	local IsNotAPlayer = true

	FindAPlayer = FindAPlayer and FindAPlayer or false

	task.spawn(function()
		for i, v in next, CollectionService:GetTagged("Titan") do
			if v.PrimaryPart and v:GetAttribute("Team") ~= LocalPlayer:GetAttribute("Team") then
				local Distance = (v.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

				if Distance < NearestEntityDistance then
					NearestEntityDistance = Distance
					NearestEntity = v
				end
			end 
		end
	end)

	task.spawn(function()
		local Titan = WorkSpace:FindFirstChild("Titan")

		if Titan and Titan.PrimaryPart then
			local Distance = (Titan.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if Distance < NearestEntityDistance then
				NearestEntityDistance = Distance
				NearestEntity = Titan
			end
		end 
	end)

	task.spawn(function()
		for i, v in next, CollectionService:GetTagged("GuardianOfDream") do
			if v.PrimaryPart then
				local Distance = (v.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

				if Distance < NearestEntityDistance then
					NearestEntityDistance = Distance
					NearestEntity = v
				end
			end 
		end
	end)

	task.spawn(function()
		for i, v in next, CollectionService:GetTagged("GolemBoss") do
			if v.PrimaryPart then
				local Distance = (v.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

				if Distance < NearestEntityDistance then
					NearestEntityDistance = Distance
					NearestEntity = v
				end
			end 
		end
	end)

	task.spawn(function()
		for i, v in next, CollectionService:GetTagged("jellyfish") do
			if v.PrimaryPart then
				local Distance = (v.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

				if Distance < NearestEntityDistance then
					NearestEntityDistance = Distance
					NearestEntity = v
				end
			end 
		end
	end)

	task.spawn(function()
		for i, v in next, CollectionService:GetTagged("DiamondGuardian") do
			if v.PrimaryPart then
				local Distance = (v.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

				if Distance < NearestEntityDistance then
					NearestEntityDistance = Distance
					NearestEntity = v
				end
			end 
		end
	end)

	task.spawn(function()
		for i, v in next, CollectionService:GetTagged("Monster") do
			if v.PrimaryPart and v:GetAttribute("Team") ~= LocalPlayer:GetAttribute("Team") then
				local Distance = (v.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

				if Distance < NearestEntityDistance then
					NearestEntityDistance = Distance
					NearestEntity = v
				end
			end
		end
	end)

	task.spawn(function()
		if FindAPlayer == true then
			for i, v in next, PlayerService:GetPlayers() do
				if IsAlive(v) == true and v ~= LocalPlayer and v.Team ~= LocalPlayer.Team then
					local Distance = (v.Character.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

					if Distance < NearestEntityDistance then
						NearestEntityDistance = Distance
						NearestEntity= v
						IsNotAPlayer = false
					end
				end
			end
		end
	end)

	if NearestEntity then	
		return (IsNotAPlayer == true and NearestEntity or NearestEntity.Character), NearestEntityDistance
	end

	return nil
end

function GetBestProjectile(Projectile, Player)
	local BestProjectileGgravitationalAcceleration, BestProjectileDamage, BestProjectileLaunchVelocity, BestProjectile = 0, 0, nil

	for i, v in GetInventory(Player) do
		if table.find(Projectile.ammoItemTypes, v.itemType) then
			local ProjectileMeta = BedwarsMetas.ProjectileMeta[v.itemType]

			local GgravitationalAcceleration = (ProjectileMeta.gravitationalAcceleration and ProjectileMeta.gravitationalAcceleration or WorkSpace.Gravity)
			local LaunchVelocity = (ProjectileMeta.launchVelocity and ProjectileMeta.launchVelocity or 100)

			if ProjectileMeta then
				local ProjectileDamage = -1

				pcall(function()
					if ProjectileMeta.combat.damage then
						ProjectileDamage = (ProjectileMeta.combat.damage and ProjectileMeta.combat.damage or -1)
					end
				end)

				if ProjectileDamage > BestProjectileDamage then
					BestProjectileGgravitationalAcceleration = GgravitationalAcceleration
					BestProjectileLaunchVelocity = LaunchVelocity
					BestProjectileDamage = ProjectileDamage
					BestProjectile = v
				end
			end
		end
	end

	return BestProjectile, BestProjectileDamage, BestProjectileLaunchVelocity, BestProjectileGgravitationalAcceleration
end

local function FindNearestChest(MaxDistance)
	local NearestChest = nil
	local MaxDistance = MaxDistance or math.huge

	for i, v in next, CollectionService:GetTagged("chest") do		
		if v:FindFirstChild("ChestFolderValue") and #v:FindFirstChild("ChestFolderValue").Value:GetChildren() >= 1 then			
			local Distance = (v.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if Distance < MaxDistance then
				NearestChest = v
				MaxDistance = Distance				
			end
		end
	end

	return NearestChest
end

local function FindNearestGhost(MaxDistance)
	local NearestGhost = nil
	local MaxDistance = MaxDistance or math.huge

	for i, v in next, CollectionService:GetTagged("ghost") do
		if v:GetAttribute("Id") then
			local Distance = (v.PrimaryPart.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if Distance < MaxDistance then
				NearestGhost = v:GetAttribute("Id")
				MaxDistance = Distance
			end
		end		
	end

	return NearestGhost
end

local function IsTouchingGround(Player, RayDown)
	RayDown = RayDown or -3.5
	Player = Player or LocalPlayer

	local IsTouchingFloor = false

	local RaycastParameters = RaycastParams.new()

	RaycastParameters.FilterDescendantsInstances = {Player.Character:GetDescendants()}
	RaycastParameters.FilterType = Enum.RaycastFilterType.Exclude

	local Origin = Player.Character.PrimaryPart.Position

	local Raycast = WorkSpace:Raycast(Origin, Vector3.new(0, RayDown, 0), RaycastParameters)
	local Raycast2 = WorkSpace:Raycast(Origin + Vector3.new(1, 0, 0), Vector3.new(0, RayDown, 0), RaycastParameters)
	local Raycast3 = WorkSpace:Raycast(Origin + Vector3.new(-1, 0, 0), Vector3.new(0, RayDown, 0), RaycastParameters)
	local Raycast4 = WorkSpace:Raycast(Origin + Vector3.new(0, 0, 1), Vector3.new(0, RayDown, 0), RaycastParameters)
	local Raycast5 = WorkSpace:Raycast(Origin + Vector3.new(0, 0, -1), Vector3.new(0, RayDown, 0), RaycastParameters)

	pcall(function()
		if Raycast and Raycast.Position and Raycast.Instance and Raycast.Instance.CanCollide == true then
			IsTouchingFloor = true			
		end
	end)

	pcall(function()
		if Raycast2 and Raycast2.Position and Raycast.Instance and Raycast.Instance.CanCollide == true then
			IsTouchingFloor = true			
		end
	end)

	pcall(function()
		if Raycast3 and Raycast3.Position and Raycast.Instance and Raycast.Instance.CanCollide == true then
			IsTouchingFloor = true			
		end
	end)

	pcall(function()
		if Raycast4 and Raycast4.Position and Raycast.Instance and Raycast.Instance.CanCollide == true then
			IsTouchingFloor = true			
		end
	end)

	pcall(function()
		if Raycast5 and Raycast5.Position and Raycast.Instance and Raycast.Instance.CanCollide == true then
			IsTouchingFloor = true			
		end
	end)

	return IsTouchingFloor
end

local function HasItemEquipped(Item)
	if LocalPlayer.Character.HandInvItem.Value and LocalPlayer.Character.HandInvItem.Value == Item then
		return true
	end

	return false
end

local function FindNearestBlock(MaxDistance)	
	local NearestBlockDistance= MaxDistance or math.huge
	local NearestBlock = nil

	for i, v in next, game:GetService("CollectionService"):GetTagged("block") do
		if IsAlive(LocalPlayer) == true then
			local Magnitude = (LocalPlayer.Character.PrimaryPart.Position - v.Position).Magnitude

			if Magnitude < NearestBlockDistance then
				NearestBlockDistance = Magnitude
				NearestBlock = v
			end
		end
	end

	return NearestBlock, NearestBlockDistance
end

function FindNearestBed(IgnoreBedSheildEndTime, MaxDistance)
	local NearestBedDistance = MaxDistance or math.huge
	local NearestBed = nil

	local AmountOfBeds = 0

	if IsAlive(LocalPlayer) == true then
		for i, v in next, CollectionService:GetTagged("bed") do
			local BedColor = (v:FindFirstChild("Bed") and v:FindFirstChild("Bed").BrickColor or v:FindFirstChild("bed"):FindFirstChild("Bed") and v:FindFirstChild("bed"):FindFirstChild("Bed").BrickColor or nil)

			if BedColor and BedColor ~= LocalPlayer.Team.TeamColor then
				AmountOfBeds = (AmountOfBeds + 1)
			end
		end

		if IgnoreBedSheildEndTime == false then
			for i, v in next, CollectionService:GetTagged("bed") do
				local BedColor = (v:FindFirstChild("Bed") and v:FindFirstChild("Bed").BrickColor or v:FindFirstChild("bed"):FindFirstChild("Bed") and v:FindFirstChild("bed"):FindFirstChild("Bed").BrickColor or nil)

				if BedColor and BedColor ~= LocalPlayer.Team.TeamColor then			
					if v:GetAttribute("BedShieldEndTime") and (v:GetAttribute("BedShieldEndTime") > WorkSpace:GetServerTimeNow() and AmountOfBeds == 1 or v:GetAttribute("BedShieldEndTime") < WorkSpace:GetServerTimeNow()) then
						local Distance = (v.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

						if Distance < NearestBedDistance then
							NearestBedDistance = Distance
							NearestBed = v
						end
					end

					if not v:GetAttribute("BedShieldEndTime") then
						local Distance = (v.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

						if Distance < NearestBedDistance then
							NearestBedDistance = Distance
							NearestBed = v
						end
					end
				end
			end
		end

		if IgnoreBedSheildEndTime == true then
			for i, v in next, CollectionService:GetTagged("bed") do
				local BedColor = (v:FindFirstChild("Bed") and v:FindFirstChild("Bed").BrickColor or v:FindFirstChild("bed"):FindFirstChild("Bed") and v:FindFirstChild("bed"):FindFirstChild("Bed").BrickColor or nil)

				if BedColor and BedColor ~= LocalPlayer.Team.TeamColor then
					local Distance = (v.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

					if Distance < NearestBedDistance then
						NearestBedDistance = Distance
						NearestBed = v
					end
				end
			end
		end
	end

	return NearestBed, NearestBedDistance
end

local function FindNearestNpc(MaxDistance)
	local MaxDistance = MaxDistance or math.huge
	local NearestNpc = nil

	task.spawn(function()
		for i, v in next, CollectionService:GetTagged("BedwarsTeamUpgrader") do
			local Distance = (v.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if Distance < MaxDistance then
				MaxDistance = Distance
				NearestNpc = v
			end
		end
	end)

	task.spawn(function()
		for i, v in next, CollectionService:GetTagged("BedwarsItemShop") do
			local Distance = (v.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if Distance < MaxDistance then
				MaxDistance = Distance
				NearestNpc = v		
			end
		end
	end)

	return NearestNpc
end

local function FindNearestOre(MaxDistance)
	local MinDistance = MaxDistance or math.huge
	local NearestOre = nil

	for i, v in next, CollectionServiceBlocks do
		if v.Name:lower():find("ore") then
			local Distance = (v.Position - LocalPlayer.Character.PrimaryPart.Position).Magnitude

			if Distance < MinDistance then
				MinDistance = Distance
				NearestOre = v
			end
		end
	end

	return NearestOre
end

local function PlayAnimation(Animation)
	if ViewModel and C0 then
		for i, v in next, Animation do
			local TweenInformation = TweenInfo.new(v.Time, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0)
			local AnimationTween = TweenService:Create(ViewModel.RightHand.RightWrist, TweenInformation, {C0 = (C0 * v.CFrame)})

			AnimationTween:Play()

			task.wait(v.Time)
		end
	end				
end

local function GetMatchState()
	return (WorkSpace:WaitForChild("SpectatorPlatform").Root.Transparency == 1 and 1 or 0)
end

local function PurchaseItem(Arguments, Inventory)
	local Inventory = (Inventory and Inventory or GetInventory(LocalPlayer))

	for i, v in  next, Inventory do		
		if v.itemType == Arguments[1]["shopItem"]["currency"] and v.amount >= Arguments[1]["shopItem"]["price"] then
			BedwarsRemotes.BedwarsPurchaseItemRemote:InvokeServer(unpack(Arguments))
		end
	end
end

local function GetQueueType()
	local State = ClientStore:getState()
	return State.Game.queueType or "bedwars_test"
end

function GetInventory(Player)
	local Player = Player or LocalPlayer

	local Inventory1 = (IsAlive(Player) == true and LocalPlayer.Character:FindFirstChild("InventoryFolder").Value:GetChildren() or {})
	local Inventory = {}
	
	for i, v in next, Inventory1 do
		Inventory[v] = {tool = v, itemType = tostring(v), amount = v:GetAttribute("Amount")}
	end

	return Inventory
end

local function CreateClone(KeepCape)
	LocalPlayer.Character.Archivable = true

	local Clone = LocalPlayer.Character:Clone()

	Clone.Parent = WorkSpace
	Clone.Name = "Clone"

	Clone.PrimaryPart.CFrame = LocalPlayer.Character.PrimaryPart.CFrame

	Camera.CameraSubject = Clone.Humanoid	

	task.spawn(function()
		for i, v in next, Clone:FindFirstChild("Head"):GetDescendants() do
			v:Destroy()
		end

		for i, v in next, Clone:GetChildren() do
			if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
				v.Transparency = 1
			end

			if v:IsA("Accessory") then
				v:FindFirstChild("Handle").Transparency = 1
			end
		end

		if KeepCape == false then
			for i, v in next, Clone:GetDescendants() do
				if v:IsA("BasePart") and v.Name == "Cape" then
					v:Destroy()
				end
			end
		end	
	end)

	return Clone
end

local function DamageBlock(Position, Bed)
	if Bed == true then
		BedwarsRemotes.DamageBlockRemote:InvokeServer({
			blockRef = {
				blockPosition = GetDevidedPosition(Position),
			},

			hitPosition = GetDevidedPosition(Position),
			hitNormal = Vector3.yAxis
		})
	end

	if Bed == false then
		BedwarsRemotes.DamageBlockRemote:InvokeServer({
			blockRef = {
				blockPosition = Position,
			},

			hitPosition = Position,
			hitNormal = Vector3.FromNormalId(Sides[3])
		})
	end
end


function DecimalRound(Number, DigitsPast0)
	DigitsPast0 = math.pow(10, DigitsPast0)

	Number = (Number * DigitsPast0)

	if Number >= 0 then 
		Number = math.floor(Number + 0.5) 
	end

	if Number < 0 then
		Number = math.ceil(Number - 0.5) 
	end

	return (Number / DigitsPast0)
end

local function GetBestSword(Player)
	local HighestDamage, Sword = -math.huge, nil

	for i, v in next, GetInventory(Player) do 		
		local SwordMetaGame = BedwarsFunctions.GetItemMeta(v.itemType).sword

		if SwordMetaGame then
			local SwordDamage = (SwordMetaGame.damage / SwordMetaGame.attackSpeed)

			if SwordDamage > HighestDamage then
				HighestDamage = SwordDamage
				Sword = v
			end
		end
	end

	return HighestDamage, Sword
end

local function GetSnowball(Player)	
	for i, v in next, GetInventory(Player) do
		if v.itemType:find("snowball") then
			local SnowballMeta = BedwarsMetas.ProjectileMeta[v.itemType]

			local GgravitationalAcceleration = (SnowballMeta.gravitationalAcceleration and SnowballMeta.gravitationalAcceleration or WorkSpace.Gravity)
			local LaunchVelocity = (SnowballMeta.launchVelocity and SnowballMeta.launchVelocity or 100)

			return v, GgravitationalAcceleration, LaunchVelocity
		end
	end

	return nil, 0, nil
end

local function GetFireball(Player)	
	for i, v in next, GetInventory(Player) do
		if v.itemType == "fireball" then
			local FireballMeta = BedwarsMetas.ProjectileMeta[v.itemType]

			local GgravitationalAcceleration = (FireballMeta.gravitationalAcceleration and FireballMeta.gravitationalAcceleration or WorkSpace.Gravity)
			local LaunchVelocity = (FireballMeta.launchVelocity and FireballMeta.launchVelocity or 100)

			return v, GgravitationalAcceleration, LaunchVelocity
		end
	end

	return nil, 0, nil
end

local function SwitchItem(Item)	
	BedwarsRemotes.SetInvItemRemote:InvokeServer({hand = Item})
end

function GetSpeed()
	local Speed = 0

	local SpeedBoost = LocalPlayer.Character:GetAttribute("SpeedBoost")

	if SpeedBoost and SpeedBoost > 1 then 
		Speed = (Speed + (8 * (SpeedBoost - 1)))
	end

	if LocalPlayer.Character:GetAttribute("GrimReaperChannel") then 
		Speed = (Speed + 20)
	end

	if type(ZephyrOrb) == "number" and ZephyrOrb > 0 then
		Speed = Speed + 19
	end

	if (tick() - JadeHammerTick) <= 1.4 then
		Speed = (Speed + 30)
	end

	if DamageBoostValue == true then
		Speed = (Speed + 20)
	end

	Speed = ((Speed + AlSploitSettings.Speed.Speed.Value) - 20) --Speed = (((Speed + PacketDisablerSpeed) + AlSploitSettings.Speed.Speed.Value) - 20)

	return Speed
end

local function GetBlock()
	for i, v in next, GetInventory(LocalPlayer) do
		local ItemMeta = BedwarsFunctions.GetItemMeta(v.itemType)

		if ItemMeta and ItemMeta.block and v.itemType:find("wool") then
			return v.itemType
		end
	end
end

local function GetArmor(Player)
	if IsAlive(Player) == true then		
		local ArmorHelmetExists = pcall(function()
			return WorkSpace[Player.Name].ArmorInvItem_0.Value.Name
		end)

		local ArmorHelmet

		if ArmorHelmetExists then
			ArmorHelmet = WorkSpace[Player.Name].ArmorInvItem_0.Value.Name
		end

		local ArmorHelmetDamageReductionMultiplier = 0

		local ArmorChestplateExists = pcall(function()
			return WorkSpace[Player.Name].ArmorInvItem_1.Value.Name
		end)

		local ArmorChestplate

		if ArmorChestplateExists then
			ArmorChestplate = WorkSpace[Player.Name].ArmorInvItem_1.Value.Name
		end

		local ArmorChestplateDamageReductionMultiplier = 0

		local ArmorBootsExists = pcall(function()
			return WorkSpace[Player.Name].ArmorInvItem_2.Value.Name
		end)

		local ArmorBoots

		if ArmorBootsExists then
			ArmorBoots = WorkSpace[Player.Name].ArmorInvItem_2.Value.Name
		end

		local ArmorBootsDamageReductionMultiplier = 0

		if ArmorHelmet then
			ArmorHelmetDamageReductionMultiplier = BedwarsFunctions.GetItemMeta(ArmorHelmet).armor.damageReductionMultiplier
		end

		if ArmorChestplate then
			ArmorChestplateDamageReductionMultiplier = BedwarsFunctions.GetItemMeta(ArmorChestplate).armor.damageReductionMultiplier
		end

		if ArmorBoots then
			ArmorBootsDamageReductionMultiplier = BedwarsFunctions.GetItemMeta(ArmorBoots).armor.damageReductionMultiplier
		end

		local TotalReductionMultiplier = (ArmorHelmetDamageReductionMultiplier + ArmorChestplateDamageReductionMultiplier + ArmorBootsDamageReductionMultiplier)

		return TotalReductionMultiplier, ArmorHelmet, ArmorChestplate, ArmorBoots
	end
end

function HasItem(Name)
	for i, v in next, GetInventory(LocalPlayer) do
		if v.itemType == Name then
			return v 
		end
	end	

	return nil
end

function IsAlive(Player)
	if not Player.Character then return false end
	if not Player.Character:FindFirstChildOfClass("Humanoid") then return false end
	if Player.Character:GetAttribute("Health") <= 0 then return false end
	if not Player.Character.PrimaryPart then return false end	

	return true
end	

local CombatTab = AlSploitLibrary:CreateTab("Combat")
local BlatantTab = AlSploitLibrary:CreateTab("Blatant")
local UtilityTab = AlSploitLibrary:CreateTab("Utility")
local WorldTab = AlSploitLibrary:CreateTab("World")
local OtherTab = AlSploitLibrary:CreateTab("Other")

--[[ task.spawn(function()
	local DirectionSwitchTick = tick()

	local ScytheDisabler = CombatTab:CreateToggle({
		Name = "ScytheDisabler",

		Function = function()
			repeat
				task.wait()

				local Scythe = GetScythe()

				if Scythe and IsAlive(LocalPlayer) == true and GetMatchState() ~= 0 then
					task.spawn(function()
						local MoveDirection = LocalPlayer.Character.Humanoid.MoveDirection

						task.wait(0.1)

						local NewMoveDirection = LocalPlayer.Character.Humanoid.MoveDirection

						if (MoveDirection - NewMoveDirection).Magnitude >= 1 then
							DirectionSwitchTick = tick()
						end
					end)

					local HasItemEquipped = HasItemEquipped(Scythe.tool)

					if HasItemEquipped == true then
						ScytheAnticheatDisabled = true

						local MoveDirection = LocalPlayer.Character.Humanoid.MoveDirection
						local Vector = LocalPlayer.Character.PrimaryPart.CFrame.lookVector

						if (MoveDirection - Vector).Magnitude > 1.9 then
							Vector = MoveDirection
						end

						if (tick() - DirectionSwitchTick) < 0.7 then
							ScytheAnticheatDisabledSpeed = math.random(0, 20)
						end

						if (tick() - DirectionSwitchTick) > 1 then
							ScytheAnticheatDisabledSpeed = math.random(0, AlSploitSettings.ScytheDisabler.Speed.Value)
						end

						BedwarsRemotes.ScytheDashRemote:FireServer({direction = Vector})	

						if Scythe.itemType == "sky_scythe" then
							BedwarsRemotes.SkyScytheSpinRemote:FireServer()

							ScytheAnticheatDisabled = false
						end
					end

					if HasItemEquipped == false then
						ScytheAnticheatDisabled = false
					end
				end

				if not Scythe or IsAlive(LocalPlayer) == false then
					ScytheAnticheatDisabled = false
				end
			until shared.AlSploitUnInjected == true or AlSploitSettings.ScytheDisabler.Value == false

			ScytheAnticheatDisabled = false
		end,

		HoverText = "Gives The Anticheat Brain Damage (Scythe Needed) "
	})

	ScytheDisabler:CreateSlider({
		Name = "Speed",

		Function = function() end,

		MaximumValue = 100,
		DefaultValue = 100
	})
end) --]] 

task.spawn(function()	
	local FireDelays = {
		Snowballs = tick(),
		Fireballs = tick(), 
		Arrows = tick()
	}

	local function PredictMovement(GravitationalAcceleration, LaunchSpeed, TargetPosition, TargetVelocity, TargetHipHeight, TargetJump)		
		local PredictedEnemyPosition = TargetPosition

		local VerticalOffset = Vector3.new(0, (TargetHipHeight + TargetJump), 0)
		local Gravity = Vector3.new(0, -math.abs(GravitationalAcceleration), 0)
		local Origin = (Camera and Camera.CFrame.Position or Vector3.zero)

		local Distance = (TargetPosition - Origin).Magnitude
		local Time = (Distance / math.max(LaunchSpeed, 1))

		for i = 1, 40 do
			task.spawn(function()
				local FutureTargetPosition = (TargetPosition + VerticalOffset + (TargetVelocity * Time))
				local Displacement = (FutureTargetPosition - Origin - (0.5 * Gravity * Time * Time))

				local RequiredVelocity = (Displacement / Time)
				local RequiredSpeed = RequiredVelocity.Magnitude

				Time = (Time * (RequiredSpeed / math.max(LaunchSpeed, 0.001)))
			end)
		end

		PredictedEnemyPosition = (TargetPosition + VerticalOffset + (TargetVelocity * Time))

		return PredictedEnemyPosition
	end

	local function CreateProjectileGUID()
		local GUID = HttpService:GenerateGUID(false)

		return string.upper((GUID:split("-"))[1])
	end

	local ProjectileAura = CombatTab:CreateToggle({
		Name = "ProjectileAura",

		Function = function() 
			repeat
				task.wait(0)

				local TargetEntity

				if AlSploitSettings.ProjectileAura.Targets.Entities.Value == true then
					local NearestEntity = FindNearestEntity(AlSploitSettings.ProjectileAura.Range.Value, false)

					if NearestEntity then
						TargetEntity = {
							PrimaryPart = NearestEntity.PrimaryPart,
							Humanoid = {
								HipHeight = (NearestEntity.Humanoid and NearestEntity.Humanoid.HipHeight or 0),
								Jump = (NearestEntity.Humanoid and NearestEntity.Humanoid.Jump or false)
							}
						}
					end
				end

				if AlSploitSettings.ProjectileAura.Targets.Players.Value == true then
					local NearestPlayer = FindNearestPlayer(AlSploitSettings.ProjectileAura.Range.Value, true)

					if NearestPlayer then
						TargetEntity = NearestPlayer.Character
					end
				end

				if TargetEntity then
					task.spawn(function()
						if AlSploitSettings.ProjectileAura.Projectiles.Snowballs.Value == true then
							local Snowball, GgravitationalAcceleration, LaunchVelocity = GetSnowball(LocalPlayer)

							if Snowball and (tick() - FireDelays.Snowballs) > 0.1 then
								FireDelays.Snowballs = tick()

								task.spawn(function()
									if AlSploitSettings.ProjectileAura.SwitchToItem.Value == true then
										SwitchItem(Snowball.tool)
									end
								end)

								local Prediciton = PredictMovement(
									GgravitationalAcceleration, 
									LaunchVelocity, 
									TargetEntity.PrimaryPart.Position,
									TargetEntity.PrimaryPart.Velocity,
									TargetEntity.Humanoid.HipHeight, 
									(TargetEntity.Humanoid.Jump and 0.5 or 0)
								)

								local Direction = CFrame.lookAt(LocalPlayer.Character.PrimaryPart.Position, (Prediciton - Vector3.new(0, 4, 0))).LookVector * LaunchVelocity

								BedwarsRemotes.ProjectileFireRemote:InvokeServer(
									Snowball.tool,
									Snowball.itemType,
									Snowball.itemType,
									LocalPlayer.Character.Head.Position,
									LocalPlayer.Character.PrimaryPart.Position,
									Direction,
									CreateProjectileGUID(),
									{
										shotId = CreateProjectileGUID(),
										drawDurationSec = 0
									},

									WorkSpace:GetServerTimeNow() - 0.045
								)
							end
						end
					end)

					task.spawn(function()
						if AlSploitSettings.ProjectileAura.Projectiles.Fireballs.Value == true then
							local Fireball, GgravitationalAcceleration, LaunchVelocity = GetFireball(LocalPlayer)

							if Fireball and (tick() - FireDelays.Fireballs) > 0.1 then
								FireDelays.Fireballs = tick()

								task.spawn(function()
									if AlSploitSettings.ProjectileAura.SwitchToItem.Value == true then
										SwitchItem(Fireball.tool)
									end
								end)

								local Prediciton = PredictMovement(
									GgravitationalAcceleration, 
									LaunchVelocity, 
									TargetEntity.PrimaryPart.Position,
									TargetEntity.PrimaryPart.Velocity,
									TargetEntity.Humanoid.HipHeight, 
									(TargetEntity.Humanoid.Jump and 0.5 or 0)
								)

								local Direction = CFrame.lookAt(LocalPlayer.Character.PrimaryPart.Position, (Prediciton - Vector3.new(0, 4, 0))).LookVector * LaunchVelocity

								BedwarsRemotes.ProjectileFireRemote:InvokeServer(
									Fireball.tool,
									Fireball.itemType,
									Fireball.itemType,
									LocalPlayer.Character.Head.Position,
									LocalPlayer.Character.PrimaryPart.Position,
									Direction,
									CreateProjectileGUID(),
									{
										shotId = CreateProjectileGUID(),
										drawDurationSec = 0
									},

									WorkSpace:GetServerTimeNow() - 0.045
								)
							end
						end
					end)

					task.spawn(function()
						if AlSploitSettings.ProjectileAura.Projectiles.Arrows.Value == true then
							local BestProjectileGgravitationalAcceleration, BestProjectileLauncherCooldown, BestProjectileLaunchVelocity, BestProjectileLauncher, BestProjectileType, BestProjectile = GetBestProjectileLauncher(LocalPlayer)

							if BestProjectileLauncherCooldown and BestProjectileLauncher and BestProjectile and (tick() - FireDelays.Arrows) > BestProjectileLauncherCooldown then
								FireDelays.Arrows = tick()

								task.spawn(function()
									if AlSploitSettings.ProjectileAura.SwitchToItem.Value == true then
										SwitchItem(BestProjectileLauncher.tool)
									end
								end)

								local Prediciton = PredictMovement(
									BestProjectileGgravitationalAcceleration, 
									BestProjectileLaunchVelocity, 
									TargetEntity.PrimaryPart.Position,
									TargetEntity.PrimaryPart.Velocity,
									TargetEntity.Humanoid.HipHeight, 
									(TargetEntity.Humanoid.Jump and -6 or 0)
								)

								local Magnitude = (LocalPlayer.Character.PrimaryPart.Position - TargetEntity.PrimaryPart.Position).Magnitude
								local MagnitudeAmplification = (TargetEntity.Humanoid.Jump and (Magnitude > 50 and Magnitude / 150 or Magnitude > 100 and Magnitude / 65 or Magnitude > 150 and Magnitude / 30) or 0)
								local Direction = CFrame.lookAt(LocalPlayer.Character.PrimaryPart.Position, (Prediciton + Vector3.new(0, MagnitudeAmplification, 0))).LookVector * BestProjectileLaunchVelocity

								BedwarsRemotes.ProjectileFireRemote:InvokeServer(
									BestProjectileLauncher.tool,
									BestProjectile.itemType,
									BestProjectileType,
									LocalPlayer.Character.Head.Position,
									LocalPlayer.Character.PrimaryPart.Position,
									Direction,
									CreateProjectileGUID(),
									{
										shotId = CreateProjectileGUID(),
										drawDurationSec = (BestProjectileLauncher.itemType == "wood_bow" and 0.85 or 0)
									},

									WorkSpace:GetServerTimeNow() - 0.045
								)
							end
						end
					end)
				end
			until AlSploitSettings.ProjectileAura.Value == false or shared.AlSploitUnInjected == true
		end,

		HoverText = "Automatically Shoots Players "
	})

	ProjectileAura:CreateToggle({
		Name = "SwitchToItem",

		Function = function() end,

		DefaultValue = true
	})

	ProjectileAura:CreateSlider({
		Name = 'Range',

		Function = function() end,

		MaximumValue = 200,
		DefaultValue = 150
	})

	local Projectiles = ProjectileAura:CreateDropdown({
		Name = "Projectiles",
		HoverText = "Which Projectiles Will Be Thrown While Using ProjectileAura"
	})

	Projectiles:CreateToggle({
		Name = "Snowballs",

		Function = function() end,

		DefaultValue = true
	})

	Projectiles:CreateToggle({
		Name = "Fireballs",

		Function = function() end,

		DefaultValue = true
	})

	Projectiles:CreateToggle({
		Name = "Arrows",

		Function = function() end,

		DefaultValue = true
	})

	local Targets = ProjectileAura:CreateDropdown({
		Name = "Targets",
		HoverText = "Which Entities Will Be Targetted While Using ProjectileAura"
	})

	Targets:CreateToggle({
		Name = "Entities",

		Function = function() end,

		DefaultValue = false
	})

	Targets:CreateToggle({
		Name = "Players",

		Function = function() end,

		DefaultValue = true
	})
end)

task.spawn(function()
	if BedwarsKnitControllers.SwordController then
		local OldIsClickingTooFast

		local NoClickDelay = CombatTab:CreateToggle({
			Name = "NoClickDelay",

			Function = function()
				if AlSploitSettings.NoClickDelay.Value == true then
					OldIsClickingTooFast = BedwarsKnitControllers.SwordController.isClickingTooFast

					BedwarsKnitControllers.SwordController.isClickingTooFast = function(self) 
						self.lastSwing = tick()

						return false		
					end
				end

				if AlSploitSettings.NoClickDelay.Value == false then
					BedwarsKnitControllers.SwordController.isClickingTooFast = OldIsClickingTooFast
				end
			end,

			HoverText = "Removes The Delay While Clicking "
		})
	end
end)

task.spawn(function()
	if BedwarsKnitControllers.SwordController then
		local Autoclicker = CombatTab:CreateToggle({
			Name = "Autoclicker",

			Function = function()
				repeat
					task.wait(1 / AlSploitSettings.Autoclicker.Cps.Value)

					BedwarsKnitControllers.SwordController:swingSwordAtMouse((1 / AlSploitSettings.Autoclicker.Cps.Value) + 0.01)
				until shared.AlSploitUnInjected == true or AlSploitSettings.Autoclicker.Value == false
			end,

			HoverText = "Clicks At The Desired Speed "
		})

		local Cps = Autoclicker:CreateSlider({
			Name = "Cps",

			Function = function() end,

			MaximumValue = 100,
			DefaultValue = 20
		})
	end
end)

task.spawn(function()
	local InstantKill = CombatTab:CreateToggle({
		Name = "InstantKill",

		Function = function()
			repeat
				task.wait(1 / AlSploitSettings.InstantKill.Speed.Value)

				if IsAlive(LocalPlayer) == true then
					local NearestEntity = FindNearestEntity(18, true)

					if GetMatchState() ~= 0 and NearestEntity then
						if AlSploitSettings.InstantKill.Method.InfernalSaber.Value == true then
							local InfernalSaber = HasItem("infernal_saber")

							if InfernalSaber then	
								BedwarsRemotes.HellBladeReleaseRemote:FireServer({chargeTime = 1.2, player = LocalPlayer, weapon = InfernalSaber})
							end
						end

						if AlSploitSettings.InstantKill.Method.SkyScythe.Value == true then
							local SkyScythe = HasItem("sky_scythe")

							if SkyScythe then	
								BedwarsRemotes.SkyScytheSpinRemote:FireServer()
							end
						end
					end
				end
			until AlSploitSettings.InstantKill.Value == false or shared.AlSploitUnInjected == true
		end,

		HoverText = "Kills The Enemies Instantly  (Infernal Saber / Sky Scythe Needed)"
	})

	InstantKill:CreateSlider({
		Name = "Speed",

		Function = function() end,

		MaximumValue = 10,
		DefaultValue = 10
	})

	local Method = InstantKill:CreateDropdown({
		Name = "Method",

		Function = function() end,

		HoverText = "Pick What Method You Want The InstantKill To Be "
	})

	Method:CreateToggle({
		Name = "InfernalSaber",

		Function = function() end,

		DefaultValue = true
	})

	Method:CreateToggle({
		Name = "SkyScythe",

		Function = function() end,

		DefaultValue = true
	})
end)

task.spawn(function()
	local AimAssist = CombatTab:CreateToggle({
		Name = "AimAssist",

		Function = function()
			repeat
				task.wait()

				if IsAlive(LocalPlayer) == true and GetMatchState() ~= 0 then
					local NearestPlayer = FindNearestPlayer(AlSploitSettings.AimAssist.Range.Value)
					local NearestEntity = FindNearestEntity(AlSploitSettings.AimAssist.Range.Value, false)		

					if NearestPlayer or NearestEntity then
						local NearestEntityPrimaryPart = (AlSploitSettings.AimAssist.FaceMobs.Value == true and (NearestEntity and NearestEntity.PrimaryPart or nil) or (NearestPlayer and NearestPlayer.Character.PrimaryPart or nil))

						if not NearestEntityPrimaryPart then
							return
						end

						local LookVector = (NearestEntityPrimaryPart.Position - Camera.CFrame.Position).Unit

						Camera.CFrame = CFrame.new(Camera.CFrame.Position, (Camera.CFrame.Position + LookVector))
					end
				end				
			until shared.AlSploitUnInjected == true or AlSploitSettings.AimAssist.Value == false
		end,

		HoverText = "Makes Your Camera Face The Disered Entity "
	})

	AimAssist:CreateToggle({
		Name = "FaceMobs",

		Function = function() end,

		DefaultValue = false
	})

	AimAssist:CreateSlider({
		Name = "Range",

		Function = function() end,

		MaximumValue = 19,
		DefaultValue = 19
	})
end)

task.spawn(function()
	local Velocity = CombatTab:CreateToggle({
		Name = "Velocity",

		Function = function()
			if AlSploitSettings.Velocity.Value == true then
				local Horizontal = BedwarsUtil
-- [truncated]

Descripción

this isnt a good script, but its a good base to skid/paste off of, i wouldnt recommend using this as your main script, some modules are broken/glitched credits of this script go to godclutcher, he made it originally and i deobfuscated and cleaned it

Comentarios (0)

Inicia sesión para unirte a la conversación

  • Sé el primero en comentar.

Preguntas frecuentes

¿Cómo uso el script Bedwars script SOURCE?
Copia el código de arriba, abre tu executor de Roblox, pega el código y presiona ejecutar mientras estés en el juego. Las funciones se activan instantáneamente una vez que el script se ejecuta.
¿El script Bedwars script SOURCE es gratuito?
Sí. Este script es gratuito para copiar y usar. Si usa un sistema de claves, sigue el enlace «Obtener clave» para desbloquearlo sin costo.
¿Es seguro usar el script Bedwars script SOURCE?
El código fuente completo se muestra en esta página para que puedas leer exactamente qué hace antes de ejecutarlo. Usa siempre un executor de confianza, y recuerda que usar scripts va en contra de los términos de servicio de Roblox — úsalos bajo tu propio riesgo.
¿Qué executor funciona con Bedwars script SOURCE?
Este script funciona con la mayoría de los executores populares de Roblox. Consulta nuestra página de executores para encontrar un executor gratuito o de pago confiable para tu dispositivo.
Bedwars script SOURCE | BloxScripter