--[[ d3crypted9 F3X Tutorial made by d3crypted9 all credits to d3crypted9 since me nice guy i make this yaya only for people who need help ig ]] -- service local Players = game:GetService("Players") local RS = game:GetService("ReplicatedStorage") local RUN = game:GetService("RunService") local plr = Players.LocalPlayer -- gets the f3x endpoint, you need f3x equipped for this to work local function getF3X() for _, v in pairs(plr:GetDescendants()) do if v.Name == "SyncAPI" then return v.ServerEndpoint end end for _, v in pairs(RS:GetDescendants()) do if v.Name == "SyncAPI" then return v.ServerEndpoint end end return nil end -- fires an f3x command local function f3x(ep, args) pcall(function() ep:InvokeServer(table.unpack(args)) end) end -- fires an hd admin command silently local function cmd(c) pcall(function() RS:WaitForChild("HDAdminHDClient") :WaitForChild("Signals") :WaitForChild("RequestCommandSilent") :InvokeServer(c) end) end -- help local remote -- set this before using any of these local function SetCollision(part, boolean) f3x(remote, {"SyncCollision", {{Part=part, CanCollide=boolean}}}) end local function SetAnchor(part, boolean) f3x(remote, {"SyncAnchor", {{Part=part, Anchored=boolean}}}) end local function CreatePart(cf, parent) return remote:InvokeServer("CreatePart", "Normal", cf, parent) end local function DestroyPart(part) f3x(remote, {"Remove", {part}}) end local function MovePart(part, cf) f3x(remote, {"SyncMove", {{Part=part, CFrame=cf}}}) end local function Resize(part, size, cf) f3x(remote, {"SyncResize", {{Part=part, CFrame=cf, Size=size}}}) end local function AddMesh(part) f3x(remote, {"CreateMeshes", {{Part=part}}}) end local function SetMesh(part, meshid) f3x(remote, {"SyncMesh", {{Part=part, MeshId="rbxassetid://"..meshid}}}) end local function SetTexture(part, texid) f3x(remote, {"SyncMesh", {{Part=part, TextureId="rbxassetid://"..texid}}}) end local function SetName(part, str) f3x(remote, {"SetName", {part}, str}) end local function MeshResize(part, size) f3x(remote, {"SyncMesh", {{Part=part, Scale=size}}}) end local function SetLocked(part, boolean) f3x(remote, {"SetLocked", {part}, boolean}) end local function SetTrans(part, int) f3x(remote, {"SyncMaterial", {{Part=part, Transparency=int}}}) end local function Color(part, color) f3x(remote, {"SyncColor", {{Part=part, Color=color, UnionColoring=false}}}) end local function SpawnDecal(part, side) f3x(remote, {"CreateTextures", {{Part=part, Face=side, TextureType="Decal"}}}) end local function AddDecal(part, asset, side) f3x(remote, {"SyncTexture", {{Part=part, Face=side, TextureType="Decal", Texture="rbxassetid://"..asset}}}) end local function CreateSpotlight(part) f3x(remote, {"CreateLights", {{Part=part, LightType="SpotLight"}}}) end local function SyncLighting(part, brightness) f3x(remote, {"SyncLighting", {{Part=part, LightType="SpotLight", Brightness=brightness}}}) end local function Weld(part1, part2, lead) f3x(remote, {"CreateWelds", {part1, part2}, lead}) end -- gui local gui = Instance.new("ScreenGui") gui.Name = "d3crypted9_tutorial" gui.Parent = plr:WaitForChild("PlayerGui") gui.ResetOnSpawn = false gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 600, 0, 750) mainFrame.Position = UDim2.new(0.5, -300, 0.5, -375) mainFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) mainFrame.BorderSizePixel = 3 mainFrame.BorderColor3 = Color3.fromRGB(255, 0, 0) mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = gui -- title local title = Instance.new("TextLabel") title.Parent = mainFrame title.Size = UDim2.new(1, 0, 0, 50) title.Position = UDim2.new(0, 0, 0, 0) title.BackgroundTransparency = 1 title.Text = "d3crypted9 f3x tutorial gui" title.TextColor3 = Color3.fromRGB(255, 0, 0) title.TextScaled = true title.Font = Enum.Font.Fantasy -- helper to make buttons local function makeBtn(name, text, pos, size) local b = Instance.new("TextButton") b.Name = name b.Parent = mainFrame b.BackgroundColor3 = Color3.fromRGB(0, 0, 0) b.BorderColor3 = Color3.fromRGB(255, 0, 0) b.BorderSizePixel = 3 b.Position = pos b.Size = size b.Text = text b.TextColor3 = Color3.fromRGB(255, 0, 0) b.TextScaled = true b.Font = Enum.Font.Arial return b end local btoolsBtn = makeBtn("btools", "get f3x", UDim2.new(0,10,0,60), UDim2.new(0,180,0,50)) local skyboxBtn = makeBtn("skybox", "skybox", UDim2.new(0,200,0,60), UDim2.new(0,180,0,50)) local decalBtn = makeBtn("decal", "decal spam", UDim2.new(0,390,0,60), UDim2.new(0,180,0,50)) -- decal id textbox local decalBox = Instance.new("TextBox") decalBox.Parent = mainFrame decalBox.Size = UDim2.new(0, 380, 0, 45) decalBox.Position = UDim2.new(0, 10, 0, 120) decalBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0) decalBox.BorderColor3 = Color3.fromRGB(255, 0, 0) decalBox.BorderSizePixel = 3 decalBox.PlaceholderText = "enter decal or skybox id here" decalBox.PlaceholderColor3 = Color3.fromRGB(255, 0, 0) decalBox.Text = "" decalBox.TextColor3 = Color3.fromRGB(255, 0, 0) decalBox.TextScaled = true decalBox.Font = Enum.Font.Arial local function getDecalId() return decalBox.Text:match("%d+") end -btools btoolsBtn.MouseButton1Click:Connect(function() cmd(";btools me") end) --skyboxxdx skyboxBtn.MouseButton1Click:Connect(function() remote = getF3X() if not remote then print("equip f3x first bro") return end local id = getDecalId() if not id then print("enter an id in the box") return end local char = plr.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if not hrp then return end local cf = hrp.CFrame local part = CreatePart(cf, workspace) task.wait(0.3) -- find the new part local skyPart = nil for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") and v.Name == "Part" then if math.abs(v.Position.X - math.floor(hrp.Position.X)) < 2 then skyPart = v break end end end if not skyPart then print("part not found") return end SetName(skyPart, "d3crypted9_skybox") AddMesh(skyPart) SetMesh(skyPart, "111891702759441") SetTexture(skyPart, id) MeshResize(skyPart, Vector3.new(7200, 7200, 7200)) SetAnchor(skyPart, true) SetCollision(skyPart, false) SetLocked(skyPart, true) print("skybox done - made by d3crypted9") end) -- decal spam button decalBtn.MouseButton1Click:Connect(function() remote = getF3X() if not remote then print("equip f3x first bro") return end local id = getDecalId() if not id then print("enter an id in the box") return end for _, v in pairs(workspace:GetDescendants()) do if v:IsA("BasePart") then task.spawn(function() SetLocked(v, false) SpawnDecal(v, Enum.NormalId.Front) AddDecal(v, id, Enum.NormalId.Front) SpawnDecal(v, Enum.NormalId.Back) AddDecal(v, id, Enum.NormalId.Back) SpawnDecal(v, Enum.NormalId.Right) AddDecal(v, id, Enum.NormalId.Right) SpawnDecal(v, Enum.NormalId.Left) AddDecal(v, id, Enum.NormalId.Left) SpawnDecal(v, Enum.NormalId.Bottom) AddDecal(v, id, Enum.NormalId.Bottom) SpawnDecal(v, Enum.NormalId.Top) AddDecal(v, id, Enum.NormalId.Top) end) end end print("decal spam done - made by d3crypted9") end) print("d3crypted9 tutorial gui is doneeeeeeee")