EPIK SKELETON SKYBOX F3X Updated
Key RequiredUniversal

EPIK SKELETON SKYBOX F3X Updated

Universal ScriptThatKittyyyGDThatKittyyyGD 14.6K views 2.6K executesUpdated Apr 29, 2025
5.0/ 5(4 votes)
40100% Positive
Lua Script•217 lines (4797 chars)
--[[
(==================================)
( --★ Epik Skeleton Skybox F3X By ItsKittyyyGD ★--)
(|==================================)
(--★ SCRIPT CHANGELOGS: ★--)                                   )
(-) Deleted create sky and destroy Now use Set texture. )
(★) Smooth Skybox Video.                                             )
(==================================)
( I love you Blue2Spooky,Thanks for using my things.)
(==================================)
]]
-- SOURCE


local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local tool

for i, v in player:GetDescendants() do
    if v.Name == "SyncAPI" then
        tool = v.Parent
    end
end

for i, v in game.ReplicatedStorage:GetDescendants() do
    if v.Name == "SyncAPI" then
        tool = v.Parent
    end
end

local remote = tool.SyncAPI.ServerEndpoint
local RunService = game:GetService("RunService")

function _(args)
    remote:InvokeServer(unpack(args))
end

function CreatePart(cf, parent)
    local args = {
        [1] = "CreatePart",
        [2] = "Normal",
        [3] = cf,
        [4] = parent
    }
    _(args)
end

function SetAnchor(part, boolean)
    local args = {
        [1] = "SyncAnchor",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["Anchored"] = boolean
            }
        }
    }
    _(args)
end

function AddMesh(part)
    local args = {
        [1] = "CreateMeshes",
        [2] = {
            [1] = {
                ["Part"] = part
            }
        }
    }
    _(args)
end

function SetMesh(part, meshid)
    local args = {
        [1] = "SyncMesh",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["MeshId"] = "rbxassetid://" .. meshid
            }
        }
    }
    _(args)
end

function SetTexture(part, texid)
    local args = {
        [1] = "SyncMesh",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["TextureId"] = texid
            }
        }
    }
    _(args)
end

function MeshResize(part, size)
    local args = {
        [1] = "SyncMesh",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["Scale"] = size
            }
        }
    }
    _(args)
end

function SetTransparency(part, value)
    local args = {
        [1] = "SyncTransparency",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["Transparency"] = value
            }
        }
    }
    _(args)
end

function DestroyPart(part)
    local args = {
        [1] = "Remove",
        [2] = {
            [1] = part
        }
    }
    _(args)
end

local images = {
    "http://www.roblox.com/asset/?id=169585459",
    "http://www.roblox.com/asset/?id=169585475",
    "http://www.roblox.com/asset/?id=169585485",
    "http://www.roblox.com/asset/?id=169585502",
    "http://www.roblox.com/asset/?id=169585515",
    "http://www.roblox.com/asset/?id=169585502",
    "http://www.roblox.com/asset/?id=169585485",
    "http://www.roblox.com/asset/?id=169585475"
}

local skyPart
local skyLoop
local frameTime = 1 / 10
local lastUpdate = 0

function CreateSky()
    local hrp = char:FindFirstChild("HumanoidRootPart")
    if not hrp then return end

    local cf = hrp.CFrame
    CreatePart(CFrame.new(cf.Position + Vector3.new(0, 6, 0)), workspace)

    local found = false
    for i = 1, 50 do
        task.wait()
        for _, v in workspace:GetDescendants() do
            if v:IsA("BasePart") and (v.Position - (cf.Position + Vector3.new(0, 6, 0))).Magnitude < 1 then
                skyPart = v
                found = true
                break
            end
        end
        if found then break end
    end

    if not skyPart then return end

    SetAnchor(skyPart, true)
    AddMesh(skyPart)
    SetMesh(skyPart, "111891702759441")
    MeshResize(skyPart, Vector3.new(8000, 8000, 8000))
    SetTransparency(skyPart, 0)

    local index = 1
    skyLoop = RunService.Heartbeat:Connect(function(deltaTime)
        lastUpdate = lastUpdate + deltaTime
        if lastUpdate >= frameTime then
            lastUpdate = 0
            if not skyPart then
                skyLoop:Disconnect()
                return
            end
            SetTexture(skyPart, images[index])
            index = (index % #images) + 1
        end
    end)
end

function ResetSky()
    if skyLoop then
        skyLoop:Disconnect()
        skyLoop = nil
    end
    if skyPart then
        DestroyPart(skyPart)
        skyPart = nil
    end
    task.spawn(CreateSky)
end

player.CharacterAdded:Connect(function(newChar)
    char = newChar
    ResetSky()
end)

if char and char:FindFirstChild("Humanoid") then
    char:WaitForChild("Humanoid").Died:Connect(function()
        ResetSky()
    end)
end

CreateSky()

Features & Information

Skeleton skybox (DO NOT STEAL THE SCRIPT WITHOUT CREDIT I ALREADY KNOW YOU SKID) (--★ ¡UPDATED! ★--) TAGS: (IGNORE LEL) F3X,ItsKittyyyGD

Community Comments (4)

asdhfdfhhdfasdhfdfhhdfApr 29, 2025

0/10 not working

ThatKittyyyGDThatKittyyyGDApr 29, 2025

It has bugs bro what do you expect

skidIordskidIordMay 3, 2025

What did changed tho

Wx00lkidWx00lkidApr 12, 2026

Hello my brother

More Scripts for Universal Scripts