local player = game.Players.LocalPlayer local char = player.Character 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 --craaa remote = tool.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 DestroyPart(part) local args = { [1] = "Remove", [2] = { [1] = part } } _(args) end function MovePart(part,cf) local args = { [1] = "SyncMove", [2] = { [1] = { ["Part"] = part, ["CFrame"] = cf } } } _(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 function SetTexture(part, texid) local args = { [1] = "SyncMesh", [2] = { [1] = { ["Part"] = part, ["TextureId"] = "rbxassetid://"..texid } } } _(args) end function SetName(part, stringg) local args = { [1] = "SetName", [2] = { [1] = workspace.Part }, [3] = stringg } _(args) end function MeshResize(part,size) local args = { [1] = "SyncMesh", [2] = { [1] = { ["Part"] = part, ["Scale"] = size } } } _(args) end function Weld(part1, part2,lead) local args = { [1] = "CreateWelds", [2] = { [1] = part1, [2] = part2 }, [3] = lead } _(args) end function SetLocked(part,boolean) local args = { [1] = "SetLocked", [2] = { [1] = part }, [3] = boolean } _(args) end function SetTrans(part,int) local args = { [1] = "SyncMaterial", [2] = { [1] = { ["Part"] = part, ["Transparency"] = int } } } _(args) end function CreateSpotlight(part) local args = { [1] = "CreateLights", [2] = { [1] = { ["Part"] = part, ["LightType"] = "SpotLight" } } } _(args) end function SyncLighting(part,brightness) local args = { [1] = "SyncLighting", [2] = { [1] = { ["Part"] = part, ["LightType"] = "SpotLight", ["Brightness"] = brightness } } } _(args) end function Thomas(player) SetAnchor(true,char.HumanoidRootPart) CreatePart(char.HumanoidRootPart.CFrame,char) SetCollision(char.Part,false) SetLocked(char.Part,false) CreateSpotlight(char.Part) SyncLighting(char.Part,100) SetLocked(char.HumanoidRootPart,false) Weld(char.Part,char.HumanoidRootPart,char.Part) SetAnchor(false,char.Part) AddMesh(char.Part) MeshResize(char.Part,Vector3.new(3,3,3)) SetMesh(char.Part,"431017802") SetTexture(char.Part,"431017809") SetAnchor(false,char.HumanoidRootPart) char.Humanoid.WalkSpeed = 100 char.HumanoidRootPart.Touched:connect(function(obj) if obj.Parent:FindFirstChild("Humanoid") then SetLocked(obj.Parent.Head,false) DestroyPart(obj.Parent.Head) end end) game:GetService("RunService").RenderStepped:Connect(function() for i,v in char:GetDescendants() do if v:IsA("BasePart") then char.Humanoid.WalkSpeed = 100 v.CanCollide = false end end end) end Thomas(player)