F3X Particles NOT MINE
Key RequiredUniversal

F3X Particles NOT MINE

Universal ScriptGlitchyBeHaxxinGlitchyBeHaxxin 1.7K views 145 executesUpdated Apr 26, 2026
Unrated
00
Lua Script•284 lines (6340 chars)
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 function getf3x()
    for _, v in ipairs(game:GetDescendants()) do
        if v.Name == "SyncAPI" and v.Parent then
            return v.Parent
        end
    end
    return nil
end

local f3x = getf3x()

if not f3x then
    warn("you dont have f3x skid")
    return
end

local remote = f3x:WaitForChild("SyncAPI").ServerEndpoint

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

function SetCollision(part, boolean)
    local args = {
        [1] = "SyncCollision",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["CanCollide"] = boolean
            }
        }
    }
    _(args)
end

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

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

function Resize(part, size, cf)
    local args = {
        [1] = "SyncResize",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["CFrame"] = cf,
                ["Size"] = size
            }
        }
    }
    _(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

local function delete(part)
    local args = {
        [1] = "Remove",
        [2] = {
            [1] = part
        }
    }
    remote:InvokeServer(unpack(args))
end

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

function SetTrans(part, int)
    local args = {
        [1] = "SyncMaterial",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["Transparency"] = int
            }
        }
    }
    _(args)
end

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

function SpawnDecal(part, side)
    local args = {
        [1] = "CreateTextures",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["Face"] = side,
                ["TextureType"] = "Decal"
            }
        }
    }
    _(args)
end

function AddDecal(part, asset, side)
    local args = {
        [1] = "SyncTexture",
        [2] = {
            [1] = {
                ["Part"] = part,
                ["Face"] = side,
                ["TextureType"] = "Decal",
                ["Texture"] = "rbxassetid://" .. asset
            }
        }
    }
    _(args)
end

function SetName(part, stringg)
    local args = {
        [1] = "SetName",
        [2] = {
            [1] = part
        },
        [3] = stringg
    }
    _(args)
end

function MovePart(part, newcf)
    local args = {
        [1] = "SyncMove",
        [2] = {
            [1] = {
                Part = part,
                CFrame = newcf
            }
        }
    }
    _(args)
end

local function particlebymo0pkiddlol(tbl)
    local ids = tbl[1]

    while true do
        task.wait(0.21)

        for _, plr in ipairs(game.Players:GetPlayers()) do
            local char = plr.Character
            if not char then continue end

            local head = char:FindFirstChild("Head")
            local humanoid = char:FindFirstChild("Humanoid")

            if not head or not humanoid or humanoid.Health <= 0 then
                continue
            end

            local id = ids[math.random(1, #ids)]
            local spawnPosition = head.CFrame * CFrame.new(0, 3.5, 0)

            task.spawn(function()
                CreatePart(spawnPosition, workspace)
                task.wait(0.02)

                for _, v in workspace:GetChildren() do
                    if v:IsA("Part") and (v.Position - spawnPosition.Position).Magnitude < 1 then
                        SetName(v, "Particles by mo0pkidd")
                        Resize(v, Vector3.new(4, 4, 0.1), v.CFrame)
                        MovePart(v, v.CFrame)
                        SetCollision(v, false)
                        SetAnchor(true, v)

                        local faces = {
                            Enum.NormalId.Front,
                            Enum.NormalId.Back,
                            Enum.NormalId.Left,
                            Enum.NormalId.Right
                        }

                        for _, face in ipairs(faces) do
                            SpawnDecal(v, face)
                            AddDecal(v, id, face)
                        end

                        local spreadX = math.random(-2, 2)
                        local spreadZ = math.random(-2, 2)

                        for i = 1, 25 do
                            if v.Parent then
                                local move = CFrame.new(
                                    spreadX * 0.3,
                                    0.6,
                                    spreadZ * 0.3
                                )
                                MovePart(v, v.CFrame * move)
                                task.wait(0.005)
                            end
                        end

                        delete(v)
                        break
                    end
                end
            end)
        end
    end
end

particlebymo0pkiddlol({{"YOU ID", "YOU ID2"}})

Features & Information

Script uses SyncAPI to make particles that is visible to everyone P.S: it's by qweqwe.642278

Community Comments (1)

Fro0kiddAlt_brazilFro0kiddAlt_brazilApr 26, 2026

I know how to create more types of f3x particles.

More Scripts for Universal Scripts