Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Player = game.Players.LocalPlayer
- local NewAssetID = "rbxassetid://124544734791461"
- local function GetF3XRemote()
- for _, v in pairs(game:GetDescendants()) do
- if v.Name == "SyncAPI" then
- return v:FindFirstChild("ServerEndpoint") or v
- end
- end
- end
- local function F3X_Invoke(...)
- local remote = GetF3XRemote()
- if remote then
- remote:InvokeServer(...)
- end
- end
- task.spawn(function()
- while true do
- local char = Player.Character
- if char and char:FindFirstChild("Head") then
- -- Vị trí xuất phát (Trên đầu 4 studs)
- local headPos = char.Head.Position
- local spawnPos = headPos + Vector3.new(0, 4, 0)
- local currentCF = CFrame.new(spawnPos)
- F3X_Invoke("CreatePart", "Normal", currentCF, workspace)
- task.spawn(function()
- task.wait(0.1)
- for _, p in pairs(workspace:GetChildren()) do
- if p:IsA("BasePart") and (p.Position - spawnPos).Magnitude < 2 then
- F3X_Invoke("SyncMaterial", {{["Part"] = p, ["Transparency"] = 1}})
- F3X_Invoke("SyncCanCollide", {{["Part"] = p, ["CanCollide"] = false}})
- F3X_Invoke("SyncResize", {{["Part"] = p, ["CFrame"] = currentCF, ["Size"] = Vector3.new(10, 10, 0.1)}})
- local faces = {Enum.NormalId.Front, Enum.NormalId.Back}
- for _, face in pairs(faces) do
- F3X_Invoke("CreateTextures", {{["Part"] = p, ["Face"] = face, ["TextureType"] = "Decal"}})
- F3X_Invoke("SyncTexture", {{["Part"] = p, ["Face"] = face, ["TextureType"] = "Decal", ["Texture"] = NewAssetID}})
- end
- for i = 1, 15 do
- if p and p.Parent then
- currentCF = currentCF * CFrame.new(0, 2, 0) -- Mỗi lần nhích lên 2 studs
- F3X_Invoke("SyncMove", {{["Part"] = p, ["CFrame"] = currentCF}})
- task.wait(0.2) -- Đợi 0.2s mỗi bước để tạo hiệu ứng trôi chậm
- end
- end
- F3X_Invoke("Remove", {p})
- break
- end
- end
- end)
- end
- task.wait(2.5)
- end
- end)
Advertisement