Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local RunService = game:GetService('RunService')
- local UserInputService = game:GetService("UserInputService")
- local instance,newRay = Instance.new,Ray.new
- local v2,v3,cf,udim2 = Vector2.new,Vector3.new,CFrame.new,UDim2.new
- local insert,random,abs = table.insert,math.random,math.abs
- local Player = game.Players.LocalPlayer
- local Character = Player.Character or Player.CharacterAdded:Wait()
- local ViewPort = script.Parent
- local Offset = cf(0,1,-6)
- local Camera = instance("Camera")
- ViewPort.CurrentCamera = Camera
- Camera.FieldOfView = 60
- local ValidClasses = {
- ["MeshPart"] = true; ["Part"] = true; ["Accoutrement"] = true;
- ["Pants"] = true; ["Shirt"] = true;
- ["Humanoid"] = true;
- }
- local function RenderHumanoid(Model, Parent, MainModel)
- local ModelParts = Model:GetDescendants()
- for i=1, #ModelParts do
- local Part = ModelParts[i]
- if ValidClasses[Part.ClassName] then
- local a = Part.Archivable
- Part.Archivable = true
- local RenderClone = Part:Clone()
- Part.Archivable = a
- if Part.ClassName == "MeshPart" or Part.ClassName == "Part" then
- PartUpdater = RunService.Heartbeat:Connect(function()
- if Part then
- RenderClone.CFrame = Part.CFrame
- else
- RenderClone:Destroy()
- PartUpdater:Disconnect()
- end
- end)
- elseif Part:IsA("Accoutrement") then
- PartUpdater = RunService.Heartbeat:Connect(function()
- if Part then
- if RenderClone.Handle then
- RenderClone.Handle.CFrame = Part.Handle.CFrame
- end
- else
- RenderClone:Destroy()
- PartUpdater:Disconnect()
- end
- end)
- elseif Part.ClassName == "Humanoid" then
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Running, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.GettingUp, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Landed, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Flying, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Freefall, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Dead, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Swimming, false)
- RenderClone:SetStateEnabled(Enum.HumanoidStateType.Physics, false)
- end
- RenderClone.Parent = Parent
- end
- end
- end
- wait(1)
- local function Render()
- ViewPort:ClearAllChildren()
- local Char = instance("Model")
- Char.Name = ""
- Char.Parent = ViewPort
- RenderHumanoid(Character,Char)
- end
- Character.DescendantAdded:Connect(Render)
- Character.DescendantRemoving:Connect(Render)
- Render()
- CameraUpdater = RunService.Heartbeat:Connect(function()
- if Character.HumanoidRootPart then
- Camera.CFrame = cf(Character.HumanoidRootPart.CFrame:toWorldSpace(Offset).p, Character.HumanoidRootPart.CFrame.p)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement