oatmeal2009

Untitled

Apr 3rd, 2022 (edited)
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. --[[
  2. FE Camera by quirky anime boy#7003
  3. If you have BigCamera set to true: https://www.roblox.com/catalog/4932749347/RoPro-XL (80 robux)
  4. If you have BigCamera set to false: https://www.roblox.com/catalog/6782305429/Vintage-Film-Camera (50 robux)
  5. --]]
  6.  
  7. local BigCamera = false -- true for Ropro, false for vintage
  8.  
  9. local bigcamoffset = Vector3.new(0,0,0) -- rotation of the cameras, change to -90,0,0 for "portrait mode"
  10. local smallcamoffset = Vector3.new(30,0,0) -- play around with this value if the camera is angled too high/low
  11. local camtransparency = 1 -- 1 invisible - 0 opaque
  12.  
  13.  
  14.  
  15.  
  16. local plr = game.Players.LocalPlayer
  17. local char = game.Players.LocalPlayer.Character
  18. local ct = {}
  19. local te = table.insert
  20. local hatname = (BigCamera and "Dark Matter Head") or "Dark Matter Head"
  21. local hatid = (BigCamera and "5355731757") or "5355731757"
  22. local camhat = char:FindFirstChild(hatname)
  23. local camera = workspace.Camera
  24.  
  25. function align(part, parent, p, r)
  26. local att1 = Instance.new("Attachment",part)
  27. local alp = Instance.new("AlignPosition",part)
  28. local alo = Instance.new("AlignOrientation",part)
  29. local att2 = Instance.new("Attachment",parent)
  30. att1.Name = part.Name
  31. att2.Name = part.Name
  32. alp.Attachment0 = att1
  33. alo.Attachment0 = att1
  34. alp.Attachment1 = parent[part.Name]
  35. alo.Attachment1 = parent[part.Name]
  36. att2.Position = p or Vector3.new()
  37. att1.Orientation = r or Vector3.new()
  38. alp.MaxForce = 999999999
  39. alp.MaxVelocity = math.huge
  40. alp.ReactionForceEnabled = false
  41. alp.Responsiveness = math.huge
  42. alo.Responsiveness = math.huge
  43. alp.RigidityEnabled = false
  44. alo.MaxTorque = 999999999
  45. part.Massless = true
  46. end
  47.  
  48. function notify(title,text,duration)
  49. game.StarterGui:SetCore("SendNotification", {
  50. Title = title;
  51. Text = text;
  52. Duration = duration or 5;
  53. })
  54. end
  55.  
  56. char.Humanoid.Died:Connect(function()
  57. for i,v in pairs(ct) do
  58. v:Disconnect()
  59. end
  60. end)
  61.  
  62. if camhat == nil then -- if youre in Just Grass this will give you the hat for free (https://www.roblox.com/games/5100950559)
  63. if game.PlaceId == 5100950559 then
  64. game.Players:Chat("-gh " .. tostring(hatid))
  65. wait(.5)
  66. camhat = char:FindFirstChild(hatname)
  67. else
  68. return error("missing the camera hat")
  69. end
  70. end
  71.  
  72. te(ct,game:GetService("RunService").Heartbeat:connect(function()
  73. if camhat.Parent == nil then
  74. notify("Warning", "Your camera hat has fallen, please re-execute", 10)
  75. game.Players:Chat("-re")
  76. char.Humanoid.Health = 0
  77. for i,v in pairs(ct) do
  78. v:Disconnect()
  79. end
  80. end
  81. camhat.Handle.Velocity = Vector3.new(0,30,0)
  82. end))
  83.  
  84. camhat.Handle:BreakJoints()
  85. camhat.Handle.CanCollide = false
  86. camhat.Handle.Transparency = camtransparency or 1
  87.  
  88. local fakehat = camhat.Handle:Clone()
  89. fakehat.Anchored = true
  90. fakehat.Transparency = 1
  91. fakehat.Parent = char
  92.  
  93. local offset = (BigCamera and bigcamoffset) or smallcamoffset
  94. te(ct,game:GetService("RunService").RenderStepped:Connect(function()
  95. fakehat.CFrame = camera.CFrame
  96. fakehat.Orientation = fakehat.Orientation + offset
  97. end))
  98.  
  99. align(camhat.Handle,fakehat)
Add Comment
Please, Sign In to add comment