Advertisement
SCRIPTCUSTOMIZER

Test 04

Dec 5th, 2023
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.45 KB | None | 0 0
  1. --[[
  2.  
  3. ____ ___ ____ _______ __ _ _____
  4. / __/ _____ ___/ ( )___ / __/_ __/ / / _ )___ ___/ /_ __ | | / / _ \
  5. _\ \| |/ / -_) _ /|/(_-< / _// // / / / _ / _ \/ _ / // / | |/ / , _/
  6. /___/|___/\__/\_,_/_ /___/ /_/_ \_,_/_/_/____/\___/\_,_/\_, / _|___/_/|_| __
  7. ___
  8. | | /| / /__ ____/ /__ ___ (_)__ ___ _ _____ ____/___/ / _ \/ __/ / ___/__ ___ _ ___
  9. | |/ |/ / _ \/ __/ '_/(_-< / / _ \ / -_) |/ / -_) __/ // / / , _/ _ \ / (_ / _ `/ ' \/ -_)
  10. |__/|__/\___/_/ /_/\_\/___/ /_/_//_/ \__/|___/\__/_/ \_, / /_/|_|\___/ \___/\_,_/_/_/_/\__/ ..Almost
  11. /___/
  12.  
  13.  
  14. The Reason why it looks like clovr is because there are no other ways to make an original
  15. full body VR Script now so i had to just make one with the knowledge i have
  16.  
  17. anyways heres the controls
  18.  
  19. CONTROLS:
  20.  
  21. LTHUMBSTICK = Move
  22. RTHUMBSTICK = Turn Camera
  23. A = Jump
  24. ButtonY = Open/Close ChatGUI if Enabled
  25.  
  26. and thats all for now
  27. you can change the hats and settings below Feel free to change any setting
  28. ]]
  29. local RestrictedTorsoMovement = false --Restricts the X rotation of the Torso (RagdollEnabled false)
  30. local RestrictedTorsoHeight = false --Restricts the Torso height to your VRMover's Y Position
  31. local ConnectedBody = false --Uses ball in socket To connect Your VR Body Together
  32. local RagdollEnabled = false --Uses your character instead of hats
  33. local SmoothLegMovement = true --Makes the Leg movement Smooth
  34. local CustomNetless = false --Uses a custom Netless else Netless v3
  35. local ShowControllerModels = false --Shows the roblox VR Controller Models
  36. local ShowVRLaserCursor = 0 --Shows the roblox VR Pointer 0 = False 2 = true
  37. local VRBodyTransparecy = 0.65 --The Transparency of your vr body
  38. local ChatGUI = true --a GUI that follows your head position containing a custom chat
  39. local ClockHUD = true --A clock on your left hand displaying your IRL time
  40. local KillOnBreak = true --if the script breaks it will respawn your character and you will have to Re-run the script
  41. local VRBodyHeightOffset = 0 --The height in studs of the offset of your vrbody
  42. local AccessorySettings = {
  43. LeftArm = "Pal Hair";
  44. RightArm = "LavanderHair";
  45. LeftLeg = "Kate Hair";
  46. RightLeg = "Hat1";
  47. Torso = "SeeMonkey";
  48. Head = "LUAhead";
  49.  
  50. AutoHead = true; --Uses the leftover hats for you head
  51. }
  52.  
  53.  
  54.  
  55.  
  56. local plr = game:GetService("Players").LocalPlayer
  57. local char = plr.Character
  58. local leftarm
  59. local rightarm
  60. local rightleg
  61. local torso
  62. local head
  63. local LegUpdateTime = 0.1
  64. local HeadHats = {}
  65. if RagdollEnabled == true then
  66. leftarm = char["Left Arm"]
  67. rightarm = char["Right Arm"]
  68. torso = char["Torso"]
  69. leftleg = char["Left Leg"]
  70. rightleg =char["Right Leg"]
  71. head = char["Head"]
  72. else
  73.  
  74. leftarm = char:FindFirstChild(AccessorySettings.LeftArm).Handle
  75. rightarm = char:FindFirstChild(AccessorySettings.RightArm).Handle
  76. leftleg = char:FindFirstChild(AccessorySettings.LeftLeg).Handle
  77. rightleg = char:FindFirstChild(AccessorySettings.RightLeg).Handle
  78. torso = char:FindFirstChild(AccessorySettings.Torso).Handle
  79. head = char:FindFirstChild(AccessorySettings.Head).Handle
  80. end
  81. if CustomNetless == true then
  82. game:GetService("RunService").Heartbeat:Connect(function()
  83. leftarm.Handle.Velocity = Vector3.new(35,0,0)
  84. rightarm.Handle.Velocity = Vector3.new(35,0,0)
  85. leftleg.Handle.Velocity = Vector3.new(35,0,0)
  86. rightleg.Handle.Velocity = Vector3.new(35,0,0)
  87. torso.Handle.Velocity = Vector3.new(35,0,0)
  88. head.Handle.Velocity = Vector3.new(35,0,0)
  89. end)
  90. else
  91. for i,v in next, game:GetService("Players").LocalPlayer.Character:GetDescendants() do
  92. if v:IsA("BasePart") and v.Name ~="HumanoidRootPart" then
  93. game:GetService("RunService").Heartbeat:connect(function()
  94. v.Velocity = Vector3.new(0,45,0)
  95. end)
  96. end
  97. end
  98. end
  99. local MoverModel = Instance.new("Model",char)
  100. MoverModel.Name = "Mover"
  101. local HumanoidRootPart = Instance.new("Part",MoverModel)
  102. HumanoidRootPart.Size = Vector3.new(2,2,1)
  103. HumanoidRootPart.Name = "HumanoidRootPart"
  104. HumanoidRootPart.CanCollide = false
  105. HumanoidRootPart.CFrame = char.PrimaryPart.CFrame
  106. HumanoidRootPart.Transparency = 1
  107. local Humanoid = Instance.new("Humanoid",MoverModel)
  108. Humanoid.WalkSpeed = 8
  109. Humanoid.JumpPower = 40
  110. Humanoid.HipHeight = 2.5
  111. Humanoid.CameraOffset = Vector3.new(0, VRBodyHeightOffset, 0)
  112. local VR_Ready = false
  113. local VRService = game:GetService("VRService")
  114. if VRService.VREnabled == true then
  115. VR_Ready = true
  116. else
  117. VR_Ready= false
  118. end
  119. local function HatFixer(hat)
  120. hat:BreakJoints()
  121. hat:FindFirstChildOfClass("SpecialMesh"):Destroy()
  122. end
  123. local function Align(part0,part1,cframe)
  124. local Att0 = Instance.new("Attachment",part0)
  125. local Att1 = Instance.new("Attachment",part1)
  126. local AlignPosition = Instance.new("AlignPosition",part0)
  127. local AlignOrientation = Instance.new("AlignOrientation",part0)
  128. AlignPosition.Attachment0 =Att0
  129. AlignPosition.Attachment1 = Att1
  130. AlignPosition.Responsiveness = math.huge
  131. AlignPosition.MaxForce = math.huge
  132. AlignPosition.MaxVelocity = math.huge
  133. AlignOrientation.Attachment0 = Att0
  134. AlignOrientation.Attachment1 = Att1
  135. AlignOrientation.Responsiveness = math.huge
  136. AlignOrientation.MaxTorque = math.huge
  137. AlignOrientation.MaxAngularVelocity = math.huge
  138. if SmoothLegMovement == true then
  139. AlignPosition.Responsiveness = 85
  140. else
  141. AlignPosition.Responsiveness = math.huge
  142. end
  143. if cframe then
  144. Att0.CFrame = cframe
  145. else
  146. --//uhh
  147. end
  148. part0.Massless = true
  149. part1.Massless = true
  150. end
  151. local function CreateLimb(size,name)
  152. local part = Instance.new("Part",char)
  153. part.Size = size
  154. part.Name = name
  155. part.CanCollide = false
  156. part.Anchored = true
  157. part.Transparency = 1
  158. return part
  159. end
  160. -- CreateLimb(Vector3.new(1,1,2),"LF")
  161. -- CreateLimb(Vector3.new(1,1,2),"RH")
  162. local LeftFoot
  163. local RightFoot
  164. if RagdollEnabled == true then
  165. LeftFoot = CreateLimb(Vector3.new(1,2,1),"LF")
  166. RightFoot = CreateLimb(Vector3.new(1,2,1),"RH")
  167. else
  168. LeftFoot = CreateLimb(Vector3.new(1,1,2),"LH")
  169. RightFoot = CreateLimb(Vector3.new(1,1,2),"RH")
  170. end
  171. warn("50%")
  172. Align(leftleg ,LeftFoot,CFrame.new(0,0,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0)))
  173. Align(rightleg ,RightFoot,CFrame.new(0,0,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0)))
  174. local UserInputService = game:GetService("UserInputService")
  175. local Backpack = plr.Backpack
  176. local Camera = workspace.CurrentCamera
  177. local function UpdateFooting()
  178. if RagdollEnabled == false then
  179. wait(LegUpdateTime)
  180. LeftFoot.CFrame = torso .CFrame * CFrame.new(0.5,0,2)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  181. LeftFoot.Orientation = Vector3.new(0, -Camera.CFrame.Y, 0)
  182. wait(LegUpdateTime)
  183. RightFoot.CFrame = torso .CFrame * CFrame.new(-0.5,0,2)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  184. RightFoot.Orientation = Vector3.new(0, Camera.CFrame.Y, 0)
  185. else
  186. wait(LegUpdateTime)
  187. LeftFoot.CFrame = torso .CFrame * CFrame.new(0.5,-2,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  188. LeftFoot.Orientation = Vector3.new(90, 0, 0)
  189. wait(LegUpdateTime)
  190. RightFoot.CFrame = torso .CFrame * CFrame.new(-0.5,-2,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  191. RightFoot.Orientation = Vector3.new(90, 0, 0)
  192. end
  193. end
  194. if VR_Ready then
  195. UserInputService.UserCFrameChanged:Connect(function(typec,move)
  196. if typec == Enum.UserCFrame.LeftHand then
  197. if RagdollEnabled == false then
  198. leftarm .CFrame = Camera.CFrame * move*CFrame.new(0,0,0.5)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  199. else
  200. leftarm .CFrame = Camera.CFrame * move*CFrame.new(0,0,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  201. end
  202. end
  203. if typec == Enum.UserCFrame.RightHand then
  204. if RagdollEnabled == false then
  205. rightarm.CFrame = Camera.CFrame * move*CFrame.new(0,0,0.5)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  206. else
  207. rightarm .CFrame = Camera.CFrame * move*CFrame.new(0,0,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  208. end
  209. for i,x in pairs(char:GetChildren()) do
  210. if x:IsA("Tool") and x:FindFirstChild("Handle") then
  211. x.Grip.C0 = Camera.CFrame * move*CFrame.new(0,0,0.5)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  212. end
  213. end
  214. end
  215. if typec == Enum.UserCFrame.Head then
  216. if RagdollEnabled == false then
  217. head .CFrame = Camera.CFrame * move*CFrame.new(0,0.2,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  218. if RestrictedTorsoMovement == false then
  219. torso .CFrame = Camera.CFrame * move*CFrame.new(0,-2,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  220. else
  221. if RestrictedTorsoHeight == true then
  222. torso.Position = Vector3.new(Camera.CFrame.Z,HumanoidRootPart.Position.Y,Camera.CFrame.Z)
  223. end
  224. torso .CFrame = Camera.CFrame * move*CFrame.new(0,-2,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  225. torso.Orientation = Vector3.new(90,Camera.CFrame.Y,Camera.CFrame.Z)
  226. end
  227. else
  228. head .CFrame = Camera.CFrame * move*CFrame.new(0,0.2,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  229. torso .CFrame = Camera.CFrame * move*CFrame.new(0,-2,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  230. end
  231.  
  232. end
  233. end)
  234. else
  235. local CamPart = Instance.new("Part",char)
  236. CamPart.Size = Vector3.new(1, 1, 1)
  237. CamPart.CanCollide = false
  238. CamPart.Anchored = true
  239. CamPart.Transparency = 1
  240. local usingleft = false
  241. local usingright = false
  242. local mouse = plr:GetMouse()
  243. Align(leftarm,torso,CFrame.new(1.5,0,-2)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)))
  244. Align(rightarm,torso,CFrame.new(-1.5,0,-2)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)))
  245. Align(head,CamPart,CFrame.new(0,0,0))
  246. Align(torso,CamPart,CFrame.new(0,0,-2)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(0)))
  247. local Att0 = Instance.new("Attachment",leftarm)
  248. local Att1 = Instance.new("Attachment",rightarm)
  249. local Att2 = Instance.new("Attachment",torso)
  250. local Att3 = Instance.new("Attachment",torso)
  251. local Ballin = Instance.new("BallSocketConstraint",leftarm)
  252. Ballin.Attachment0 = Att0
  253. --Ballin.Attachment1 = Att2
  254. local Ballin2 = Instance.new("BallSocketConstraint",rightleg)
  255. Ballin2.Attachment0 = Att1
  256. --Ballin2.Attachment1 = Att3
  257. game:GetService("RunService").Heartbeat:Connect(function()
  258. if torso and head then
  259. CamPart.CFrame = Camera.CFrame
  260. end
  261. end)
  262. Att2.CFrame = torso.CFrame * CFrame.new(1,-1,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  263. Att3.CFrame = torso.CFrame * CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  264. mouse.Button1Down:Connect(function()
  265. usingleft = true
  266. Att2.CFrame = torso.CFrame * CFrame.new(1,-1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  267. end)
  268. mouse.Button1Up:Connect(function()
  269. usingleft = false
  270. Att2.CFrame = torso.CFrame * CFrame.new(1,-1,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  271. end)
  272. mouse.Button2Down:Connect(function()
  273. usingright = true
  274. Att3.CFrame = torso.CFrame * CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  275. end)
  276. mouse.Button2Up:Connect(function()
  277. usingright = false
  278. Att3.CFrame = torso.CFrame * CFrame.new(-1,-1,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
  279. end)
  280. --plr.CameraMode = Enum.CameraMode.LockFirstPerson
  281. end
  282. for i,x in pairs(char:GetChildren()) do
  283. if x:IsA("Accessory") then
  284. x.Handle.Transparency = VRBodyTransparecy
  285. end
  286. if x:IsA("BasePart") then
  287. x.Transparency = VRBodyTransparecy
  288. char:FindFirstChildOfClass("Humanoid").RootPart.Transparency = 1
  289. x.CanCollide =false
  290. end
  291. end
  292. if RagdollEnabled == true then
  293. leftarm:BreakJoints()
  294. rightarm:BreakJoints()
  295. leftleg:BreakJoints()
  296. rightleg:BreakJoints()
  297. else
  298. HatFixer(leftarm)
  299. HatFixer(rightarm)
  300. HatFixer(leftleg)
  301. HatFixer(rightleg)
  302. HatFixer(torso)
  303. head:BreakJoints()
  304. end
  305. --plr.Character.HumanoidRootPart.Anchored = true
  306. if RagdollEnabled == true then
  307. plr.Character.HumanoidRootPart.RootJoint:Destroy()
  308. plr.Character:FindFirstChildOfClass("Humanoid").RootPart:Destroy()
  309. end
  310. plr.Character = MoverModel
  311. Camera.CameraSubject = Humanoid
  312. UserInputService.InputBegan:Connect(function(key)
  313. if key.KeyCode == Enum.KeyCode.ButtonR2 then
  314. Humanoid.WalkSpeed = 19
  315. LegUpdateTime = 0.13
  316. end
  317. end)
  318. UserInputService.InputEnded:Connect(function(key)
  319. if key.KeyCode ==Enum.KeyCode.ButtonR2 then
  320. Humanoid.WalkSpeed = 8
  321. LegUpdateTime = 0.25
  322. end
  323. end)
  324. Humanoid.Died:Connect(function()
  325. Camera.CameraSubject = game:WaitForChild(plr.Name):FindFirstChildOfClass("Humanoid")
  326. plr.Character = game:WaitForChild(plr.Name)
  327. wait(0.1)
  328. plr.Character:BreakJoints()
  329. end)
  330. if ClockHUD == true then
  331. local clock = game:GetObjects("rbxassetid://12270042599")[1]
  332. clock.Parent = workspace
  333. clock.Anchored = true
  334. UserInputService.UserCFrameChanged:Connect(function(a,b)
  335. if a == Enum.UserCFrame.LeftHand then
  336. clock.CFrame = Camera.CFrame * b * CFrame.new(0.5,0,0)
  337. end
  338. end)
  339. end
  340. if ChatGUI == true then
  341. local chat = game:GetObjects("rbxassetid://12375597548")[1]
  342. chat.Parent = workspace
  343. chat.GUI.Enabled = false
  344. chat.CanQuery = true
  345. chat.CanTouch = true
  346. local function MakeChat(color,msg,player,normalname)
  347. local chattext = chat.GUI.ChatGUI.TextLabel:Clone()
  348. chattext.Parent = chat.GUI.ChatGUI.Frame
  349. chattext.Text = ("["..player.."@"..normalname.."]"..": "..msg)
  350. chattext.TextColor = color
  351. wait(20)
  352. chattext:Destroy()
  353. end
  354. UserInputService.InputBegan:Connect(function(k)
  355. if k.KeyCode == Enum.KeyCode.ButtonY then
  356. chat.GUI.Enabled = not chat.GUI.Enabled
  357. end
  358. end)
  359. UserInputService.UserCFrameChanged:Connect(function(a,b)
  360. if a == Enum.UserCFrame.Head then
  361. chat.CFrame = Camera.CFrame * CFrame.new(0,0,-5) *CFrame.Angles(math.rad(0), math.rad(-90), math.rad(0))
  362. end
  363. end)
  364. for i,x in pairs(game.Players:GetChildren()) do
  365. if x:IsA("Player") then
  366. x.Chatted:Connect(function(msg)
  367. MakeChat(BrickColor.random(),msg,x.DisplayName,x.Name)
  368. end)
  369. end
  370. end
  371. game.Players.PlayerAdded:Connect(function(player)
  372. player.Chatted:Connect(function(msg)
  373. MakeChat(BrickColor.random(),msg,player.DisplayName,player.Name)
  374. end)
  375. end)
  376. end
  377. head.Transparency = 1
  378. if ShowVRLaserCursor == 0 then
  379. game:GetService("StarterGui"):SetCore("VRLaserPointerMode", 0)
  380. else
  381. game:GetService("StarterGui"):SetCore("VRLaserPointerMode", 2)
  382. end
  383. game:GetService("StarterGui"):SetCore("VREnableControllerModels", ShowControllerModels)
  384. LeftFoot.Transparency = 1
  385. RightFoot.Transparency = 1
  386. if ConnectedBody == true then
  387. local A0 = Instance.new("Attachment",leftleg)
  388. local A1 = Instance.new("Attachment",rightleg)
  389. local B0 = Instance.new("Attachment",torso)
  390. local B1 = Instance.new("Attachment",torso)
  391. local A2 = Instance.new("Attachment",leftarm)
  392. local A3 = Instance.new("Attachment",rightarm)
  393. local B2 = Instance.new("Attachment",torso)
  394. local B3 = Instance.new("Attachment",torso)
  395. local BallInSocket0 = Instance.new("BallSocketConstraint",leftleg)
  396. BallInSocket0.Attachment0 = A0
  397. BallInSocket0.Attachment1 = B0
  398. local BallInSocket1 = Instance.new("BallSocketConstraint",rightleg)
  399. BallInSocket1.Attachment0 = A1
  400. BallInSocket1.Attachment1 = B1
  401. local BallInSocket2 = Instance.new("BallSocketConstraint",leftarm)
  402. BallInSocket2.Attachment0 = A2
  403. BallInSocket2.Attachment1 = B2
  404. local BallInSocket3 = Instance.new("BallSocketConstraint",rightleg)
  405. BallInSocket3.Attachment0 = A3
  406. BallInSocket3.Attachment1 = B3
  407. if RagdollEnabled == false then
  408. A0.CFrame = CFrame.new(0,0,2)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  409. A1.CFrame = CFrame.new(0,0,2)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  410. A2.CFrame = CFrame.new(0,0,-2)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  411. A3.CFrame = CFrame.new(0,0,-2)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  412. B0.CFrame = CFrame.new(0.5,1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  413. B1.CFrame = CFrame.new(-0.5,1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  414. B2.CFrame = CFrame.new(0.5,-1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  415. B3.CFrame = CFrame.new(-0.5,-1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  416. else
  417. A0.CFrame = CFrame.new(0,-1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  418. A1.CFrame = CFrame.new(0,-1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  419. B0.CFrame = CFrame.new(0.5,1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  420. B1.CFrame = CFrame.new(-0.5,1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
  421. end
  422. end
  423. while true do
  424. wait()
  425. UpdateFooting()
  426. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement