コンテンツへスキップ
動作中

Bedwars script SOURCE

CLclarkdevlinorg0 閲覧数Universal2026年7月26日
共有
Bedwars script SOURCE

スクリプトコード

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]

説明

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

コメント (0)

会話に参加するにはログインしてください

  • 最初のコメントを投稿しましょう。

よくある質問

Bedwars script SOURCEスクリプトはどう使いますか?
上のスクリプトコードをコピーし、Robloxエグゼキューターを開いて貼り付け、ゲーム中に実行を押してください。スクリプトが実行されると、機能が即座に有効になります。
Bedwars script SOURCEスクリプトは無料ですか?
はい。このスクリプトは無料でコピー&使用できます。キーシステムを使用している場合は、リンクから無料でキーを取得してください。
Bedwars script SOURCEスクリプトの使用は安全ですか?
ソースコード全体がこのページに表示されるので、実行前に内容を正確に確認できます。信頼できるエグゼキューターを使用し、スクリプトの使用はRobloxの利用規約に違反するため、自己責任で使用してください。
Bedwars script SOURCEに対応するエグゼキューターは?
このスクリプトはほとんどの人気Robloxエグゼキューターで動作します。お使いのデバイス向けの信頼できる無料または有料エグゼキューターを見つけるには、エグゼキューターページをご覧ください。
Bedwars script SOURCE | BloxScripter