--[[ ok vro cuz my script have errors with getgenv and obfuscators not working,here the source. == Epik spinning sky f3x By ItsKittyyyGD == Dont skid and give credit plz also reuploaded cuz scriptblox put my script on scripts f3x of 2024 ]] -- { SOURCE: } -- local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local tool for _, obj in player:GetDescendants() do if obj.Name == "SyncAPI" then tool = obj.Parent end end for _, obj in game.ReplicatedStorage:GetDescendants() do if obj.Name == "SyncAPI" then tool = obj.Parent end end local SyncAPI = tool.SyncAPI local part local baseCF local angle = 0 local connection local function _(args) SyncAPI:Invoke(unpack(args)) end local function CreatePart(cf, parent) local args = { [1] = "CreatePart", [2] = "Normal", [3] = cf, [4] = parent } _(args) end local function SetAnchor(p, anchored) local args = { [1] = "SyncAnchor", [2] = { [1] = { ["Part"] = p, ["Anchored"] = anchored } } } _(args) end local function AddMesh(p) local args = { [1] = "CreateMeshes", [2] = { [1] = { ["Part"] = p } } } _(args) end local function SetMesh(p, meshId) local args = { [1] = "SyncMesh", [2] = { [1] = { ["Part"] = p, ["MeshId"] = "rbxassetid://"..meshId } } } _(args) end local function SetTexture(p, textureId) local args = { [1] = "SyncMesh", [2] = { [1] = { ["Part"] = p, ["TextureId"] = textureId } } } _(args) end local function ResizeMesh(p, size) local args = { [1] = "SyncMesh", [2] = { [1] = { ["Part"] = p, ["Scale"] = size } } } _(args) end local function SetTransparency(p, value) local args = { [1] = "SyncTransparency", [2] = { [1] = { ["Part"] = p, ["Transparency"] = value } } } _(args) end local function SyncRotate(cf) if not part or not part.Parent then return end local args = { [1] = "SyncRotate", [2] = { [1] = { ["Part"] = part, ["CFrame"] = cf } } } _(args) end local function Sky() local hrp = character:FindFirstChild("HumanoidRootPart") if not hrp then return end local startCF = hrp.CFrame + Vector3.new(0,6,0) CreatePart(startCF, workspace) for _, obj in workspace:GetDescendants() do if obj:IsA("BasePart") and (obj.Position - startCF.Position).Magnitude < 0.1 then part = obj baseCF = part.CFrame SetAnchor(part,true) AddMesh(part) SetMesh(part,"111891702759441") SetTexture(part,"rbxassetid://") ResizeMesh(part, Vector3.new(9000,9000,9000)) SetTransparency(part,0) -- i think you taking this so give credit local rotation = math.rad(20) connection = RunService.Heartbeat:Connect(function(dt) if not part or not part.Parent then if connection then connection:Disconnect() connection = nil end return end angle += rotation * dt local cf = baseCF * CFrame.Angles(0, angle, 0) SyncRotate(cf) part.CFrame = cf end) break end end end Sky()