local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() plr = game.Players.LocalPlayer plrgui = game.Players.LocalPlayer.PlayerGui plrscr = plr.PlayerScripts sounds = game:GetService("SoundService") startergui = game.StarterGui repl = game.ReplicatedStorage replc = game.ReplicatedFirst light = game.Lighting ----- function tool(name) local t = Instance.new("Tool") t.RequiresHandle = false t.Name = name t.Parent = plr.Backpack return t end ----- local Window = Rayfield:CreateWindow({ Name = "Pochang UI", Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default). LoadingTitle = "Pochang UI", LoadingSubtitle = "by Pochang", ShowText = "Pochang UI", -- for mobile users to unhide Rayfield, change if you'd like Theme = "DarkBlue", -- Check https://docs.sirius.menu/rayfield/configuration/themes ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode) DisableRayfieldPrompts = false, DisableBuildWarnings = false, -- Prevents Rayfield from emitting warnings when the script has a version mismatch with the interface. ConfigurationSaving = { Enabled = false, FolderName = nil, -- Create a custom folder for your hub/game FileName = "Big Hub" }, Discord = { Enabled = false, -- Prompt the user to join your Discord server if their executor supports it Invite = "noinvitelink", -- The Discord invite code, do not include Discord.gg/. E.g. Discord.gg/ABCD would be ABCD RememberJoins = true -- Set this to false to make them join the Discord every time they load it up }, KeySystem = false, -- Set this to true to use our key system KeySettings = { Title = "Untitled", Subtitle = "Key System", Note = "No method of obtaining the key is provided", -- Use this to tell the user how to get a key FileName = "Key", -- It is recommended to use something unique, as other scripts using Rayfield may overwrite your key file SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from Key = {"Hello"} -- List of keys that the system will accept, can be RAW file links (pastebin, github, etc.) or simple strings ("hello", "key22") } }) --General local general = Window:CreateTab("General", 0) -- Title, Image local general_text_1 = general:CreateSection("General Options") local general_div_1 = general:CreateDivider() local destroy_button = general:CreateButton({ Name = "Destroy UI", Callback = function() Rayfield:Destroy() end, }) local destroy_button = general:CreateButton({ Name = "Enable Respawn", Callback = function() game.StarterGui:SetCore("ResetButtonCallback",true) end, }) local general_text_2 = general:CreateSection("Humanoid Options") local general_div_2 = general:CreateDivider() local walkspeed = general:CreateSlider({ Name = "Walkspeed", Range = {0, 200}, Increment = 8, Suffix = "Speed", CurrentValue = plr.Character.Humanoid.WalkSpeed, Flag = "Walkspeed", -- A flag is the identifier for the configuration file; make sure every element has a different flag if you're using configuration saving to ensure no overlaps Callback = function(Value) plr.Character.Humanoid.WalkSpeed = Value end, }) plr.Character.Humanoid.UseJumpPower = true local jumppower = general:CreateSlider({ Name = "Jumppower", Range = {0, 400}, Increment = 10, Suffix = "Power", CurrentValue = plr.Character.Humanoid.JumpPower, Flag = "Jumppower", -- A flag is the identifier for the configuration file; make sure every element has a different flag if you're using configuration saving to ensure no overlaps Callback = function(Value) plr.Character.Humanoid.JumpPower = Value end, }) local hipheight = general:CreateSlider({ Name = "Hip Height", Range = {0, 200}, Increment = 5, Suffix = "Studs", CurrentValue = plr.Character.Humanoid.HipHeight, Flag = "hipHeight", -- A flag is the identifier for the configuration file; make sure every element has a different flag if you're using configuration saving to ensure no overlaps Callback = function(Value) plr.Character.Humanoid.HipHeight = Value end, }) plr.Character.Humanoid.MaxSlopeAngle = 90 local maxslope = general:CreateSlider({ Name = "Max Slope Angle", Range = {15, 90}, Increment = 15, Suffix = "Degrees", CurrentValue = plr.Character.Humanoid.MaxSlopeAngle, Flag = "slopeangle", -- A flag is the identifier for the configuration file; make sure every element has a different flag if you're using configuration saving to ensure no overlaps Callback = function(Value) plr.Character.Humanoid.MaxSlopeAngle = Value end, }) local autojump = general:CreateToggle({ Name = "Auto Jump", CurrentValue = plr.Character.Humanoid.AutoJumpEnabled, Flag = "autojump", -- A flag is the identifier for the configuration file; make sure every element has a different flag if you're using configuration saving to ensure no overlaps Callback = function(Value) plr.Character.Humanoid.AutoJumpEnabled = Value end, }) local sit = general:CreateButton({ Name = "Sit", Callback = function() plr.Character.Humanoid.Sit = true end, }) local unsit = general:CreateButton({ Name = "Unsit", Callback = function() plr.Character.Humanoid.Sit = false end, }) --Lighting local lighting = Window:CreateTab("Lighting", 0) -- Title, Image local lighting_text_1 = lighting:CreateSection("General Options") local lighting_div_1 = lighting:CreateDivider() local shadows = lighting:CreateToggle({ Name = "Global Shadows", CurrentValue = light.GlobalShadows, Flag = "shadows", -- A flag is the identifier for the configuration file; make sure every element has a different flag if you're using configuration saving to ensure no overlaps Callback = function(Value) light.GlobalShadows = Value end, }) --Tools local tools = Window:CreateTab("Tools", 0) -- Title, Image local tools_text_1 = tools:CreateSection("General Options") local tools_div_1 = tools:CreateDivider() tool_option = "General" local Dropdown = tools:CreateDropdown({ Name = "Tool Options", Options = {"General", "Blockate"}, CurrentOption = {"General"}, MultipleOptions = false, Flag = "tools", -- A flag is the identifier for the configuration file; make sure every element has a different flag if you're using configuration saving to ensure no overlaps Callback = function(Options) tool_option = Options[1] end, }) local givetools = tools:CreateButton({ Name = "Get Tools", Callback = function() if tool_option == "General" then local t1 = tool("Teleport") t1.Activated:Connect(function() local mouse = game.Players.LocalPlayer:GetMouse() if mouse.Target ~= nil then pos = Vector3.new(mouse.Hit.Position.X,mouse.Hit.Position.Y + 4,mouse.Hit.Position.Z) game.Players.LocalPlayer.Character:PivotTo((CFrame.new(pos))) end end) end if tool_option == "Blockate" then local t1 = tool("!clearfunc") t1.Activated:Connect(function() local mouse = game.Players.LocalPlayer:GetMouse() if mouse.Target ~= nil and mouse.Target:FindFirstChild("Functionality") then mouse.Target:FindFirstChild("Functionality"):Destroy() end end) end end, }) --Workspace local wspe = Window:CreateTab("Workspace", 0) -- Title, Image local wspe_text_1 = wspe:CreateSection("Physics") local wspe_div_1 = wspe:CreateDivider() local gravity = wspe:CreateSlider({ Name = "Gravity", Range = {0, 200}, Increment = 2, Suffix = "Gravity", CurrentValue = workspace.Gravity, Flag = "gravity", -- A flag is the identifier for the configuration file; make sure every element has a different flag if you're using configuration saving to ensure no overlaps Callback = function(Value) workspace.Gravity = Value end, })