local player = game.Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local tool for _, v in ipairs(player:GetDescendants()) do if v.Name == "SyncAPI" then tool = v.Parent break end end if not tool then for _, v in ipairs(game.ReplicatedStorage:GetDescendants()) do if v.Name == "SyncAPI" then tool = v.Parent break end end end if not tool then warn("❌ F3X SyncAPI no encontrado") return end local remote = tool.SyncAPI.ServerEndpoint local function _(args) remote:InvokeServer(unpack(args)) end local function SetLocked(part, boolean) local args = { [1] = "SetLocked", [2] = { [1] = part }, [3] = boolean } _(args) end local function AddFire(part) local args = { [1] = "CreateDecorations", [2] = { [1] = { ["Part"] = part, ["DecorationType"] = "Fire" } } } _(args) end local function SyncFire(part) local args = { [1] = "SyncDecorate", [2] = { [1] = { ["Part"] = part, ["DecorationType"] = "Fire", ["Color"] = Color3.fromRGB(0, 0, 0), ["SecondaryColor"] = Color3.fromRGB(255, 0, 0), ["Size"] = 30, ["Heat"] = 30 } } } _(args) end for _, v in ipairs(game.Workspace:GetDescendants()) do if v:IsA("BasePart") then task.spawn(function() SetLocked(v, false) AddFire(v) task.wait(0.05) SyncFire(v) end) end end