Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.93 KB | None | 0 0
  1. local gui = Instance.new('ScreenGui', game.Players.LocalPlayer.PlayerGui)
  2. local ViewPort = Instance.new('ViewportFrame', gui)
  3. ViewPort.Size = UDim2.new(0.2,0,0.2,0)
  4. ViewPort.Position = UDim2.new(-0.05,0,0,0)
  5. ViewPort.BackgroundTransparency = 1
  6. NLS([[
  7. --Boatbomber
  8. local noise = Instance.new('Sound', game.Players.LocalPlayer.PlayerGui)
  9. noise.Name = 'Noise1'
  10. noise.SoundId = 'rbxassetid://535716488'
  11. --Services
  12. local RunService = game:GetService('RunService')
  13. local UserInputService = game:GetService("UserInputService")
  14.  
  15. --Localize
  16. local instance,newRay = Instance.new,Ray.new
  17. local v2,v3,cf,udim2 = Vector2.new,Vector3.new,CFrame.new,UDim2.new
  18. local insert,random,abs = table.insert,math.random,math.abs
  19.  
  20.  
  21. local Player = owner
  22. local Character = Player.Character or Player.CharacterAdded:Wait()
  23.  
  24. local inv = false
  25. --Basic setup
  26.  
  27. --Settings
  28. local Offset = cf(0,1,-6)
  29.  
  30. --Create the viewport camera
  31. local Camera = instance("Camera")
  32. ViewPort.CurrentCamera = Camera
  33.  
  34. local ValidClasses = {
  35. ["MeshPart"] = true; ["Part"] = true; ["Accoutrement"] = true;
  36. ["Pants"] = true; ["Shirt"] = true;
  37. ["Humanoid"] = true;
  38. }
  39.  
  40. local function RenderHumanoid(Model, Parent, MainModel)
  41. local ModelParts = Model:GetDescendants()
  42. for i=1, #ModelParts do
  43. local Part = ModelParts[i]
  44.  
  45. if ValidClasses[Part.ClassName] then
  46.  
  47. local a = Part.Archivable
  48. Part.Archivable = true
  49.  
  50. local RenderClone = Part:Clone()
  51. Part.Archivable = a
  52.  
  53. if Part.ClassName == "MeshPart" or Part.ClassName == "Part" then
  54. PartUpdater = RunService.Heartbeat:Connect(function()
  55. if Part then
  56. RenderClone.CFrame = Part.CFrame
  57. else
  58. RenderClone:Destroy()
  59. PartUpdater:Disconnect()
  60. end
  61. end)
  62. elseif Part:IsA("Accoutrement") then
  63. PartUpdater = RunService.Heartbeat:Connect(function()
  64. if Part then
  65. if RenderClone.Handle then
  66. RenderClone.Handle.CFrame = Part.Handle.CFrame
  67. end
  68. else
  69. RenderClone:Destroy()
  70. PartUpdater:Disconnect()
  71. end
  72. end)
  73. elseif Part.ClassName == "Humanoid" then
  74. --Disable all states. We only want it for clothing wrapping, not for stupid performance issues
  75. RenderClone:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
  76. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Running, false)
  77. RenderClone:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics, false)
  78. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
  79. RenderClone:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics, false)
  80. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
  81. RenderClone:SetStateEnabled(Enum.HumanoidStateType.GettingUp, false)
  82. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
  83. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Landed, false)
  84. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Flying, false)
  85. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Freefall, false)
  86. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
  87. RenderClone:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding, false)
  88. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Dead, false)
  89. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Swimming, false)
  90. RenderClone:SetStateEnabled(Enum.HumanoidStateType.Physics, false)
  91. end
  92.  
  93. RenderClone.Parent = Parent
  94. end
  95. end
  96. end
  97.  
  98.  
  99. --Let the world load before starting
  100. wait(1)
  101.  
  102.  
  103. local function Render(v)
  104. if v then v:ClearAllChildren() else ViewPort:ClearAllChildren() end
  105. --Render the character
  106. local Char = instance("Model")
  107. Char.Name = ""
  108. if v then Char.Parent = v else Char.Parent = ViewPort end
  109. RenderHumanoid(Character,Char)
  110. end
  111.  
  112. --Handle changes
  113. Character.DescendantAdded:Connect(Render)
  114. Character.DescendantRemoving:Connect(Render)
  115.  
  116. --Initialize
  117. Render()
  118.  
  119. local gui = Instance.new('ScreenGui', game.Players.LocalPlayer.PlayerGui)
  120. local inventory = Instance.new('ImageLabel', gui)
  121. inventory.Size = UDim2.new(0.75,0,1.25,0)
  122. inventory.Position = UDim2.new(0.25,0,0.1,0)
  123. inventory.BackgroundTransparency = 1
  124. inventory.Image = 'rbxassetid://60414743'
  125. inventory.Visible = false
  126. local v = Instance.new('ViewportFrame')
  127. v.Parent = inventory
  128. v.Size = UDim2.new(0.2,0,0.27,0)
  129. v.Position = UDim2.new(0.102,0,0.031,0)
  130. v.BackgroundTransparency = 1
  131. v.CurrentCamera = Camera
  132. local mouse = Player:GetMouse()
  133. mouse.KeyDown:Connect(function(key)
  134. if key == 'e' then
  135. noise:Play()
  136. if not inv then
  137. inv = true
  138. inventory.Visible = true
  139. ViewPort.Visible = false
  140. else
  141. inv = false
  142. inventory.Visible = false
  143. ViewPort.Visible = true
  144. end
  145. end
  146. end)
  147.  
  148. Render(v)
  149.  
  150. CameraUpdater = RunService.Heartbeat:Connect(function()
  151. if Character.HumanoidRootPart then
  152. Camera.CFrame = cf(Character.HumanoidRootPart.CFrame:toWorldSpace(Offset).p, Character.HumanoidRootPart.CFrame.p)
  153. end
  154. end)
  155. ]], owner.Character)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement