print("dummy but its not an npc apparently lmaoo")
game.Players.LocalPlayer.Character.Shirt:Destroy()
game.Players.LocalPlayer.Character.Pants:Destroy()
game.Players.LocalPlayer.Character.Head.Mesh:Destroy()
--[[
_
| |
__ ___ __ __ _ _ __ _ ___ _| |__ ___ _ __ ___
\ \ / / '__| / _` | '_ \| | | \ \ /\ / / '_ \ / _ \ '__/ _ \
\ V /| | | (_| | | | | |_| |\ V V /| | | | __/ | | __/
\_/ |_| \__,_|_| |_|\__, | \_/\_/ |_| |_|\___|_| \___|
__/ |
|___/
_ _ _
| | | | | |
| |__ _ _ ___| | _____ __| |
| '_ \| | | | / __| |/ / _ \/ _` |
| |_) | |_| | \__ \ < __/ (_| |
|_.__/ \__, | |___/_|\_\___|\__,_|
__/ |
|___/
__ _ _
/ _(_) | |
| |_ ___ _____ __| |
| _| \ \/ / _ \/ _` |
| | | |> < __/ (_| |
|_| |_/_/\_\___|\__,_|
(Credit to 64Will64 for first managing to fix the script before I did!)
]]
spawn(function()
while true do
settings().Physics.AllowSleep = false
game:GetService("RunService").Heartbeat:wait()
end
end)
local options = {}
-- OPTIONS:
options.headscale = 3 -- how big you are in vr, 1 is default, 3 is recommended for max comfort in vr
options.forcebubblechat = true -- decide if to force bubblechat so you can see peoples messages
options.headhat = _G.headhat -- name of the accessory which you are using as a head
options.righthandhat = _G.righthandhat -- name of the accessory which you are using as your right hand
options.lefthandhat = _G.lefthandhat -- name of the accessory which you are using as your left hand
options.righthandrotoffset = Vector3.new(0,0,0)
options.lefthandrotoffset = Vector3.new(0,0,0)
--
local plr = game:GetService("Players").LocalPlayer
local char = plr.Character
--local backpack = plr.Backpack
local VR = game:GetService("VRService")
local input = game:GetService("UserInputService")
local cam = workspace.CurrentCamera
cam.CameraType = "Scriptable"
cam.HeadScale = options.headscale
game:GetService("StarterGui"):SetCore("VRLaserPointerMode", 0)
game:GetService("StarterGui"):SetCore("VREnableControllerModels", false)
local function createpart(size, name)
local Part = Instance.new("Part", char)
Part.CFrame = char.HumanoidRootPart.CFrame
Part.Size = size
Part.Transparency = 1
Part.CanCollide = false
Part.Anchored = true
Part.Name = name
return Part
end
local moveHandL = createpart(Vector3.new(1,1,2), "moveRH")
local moveHandR = createpart(Vector3.new(1,1,2), "moveLH")
local moveHead = createpart(Vector3.new(1,1,1), "moveH")
local handL
local handR
local head
local R1down = false
for i,v in pairs(char.Humanoid:GetAccessories()) do
if v:FindFirstChild("Handle") then
local handle = v.Handle
if v.Name == options.righthandhat and not handR then
handle:FindFirstChildOfClass("SpecialMesh"):Destroy()
handR = v
elseif v.Name == options.lefthandhat and not handL then
handle:FindFirstChildOfClass("SpecialMesh"):Destroy()
handL = v
elseif v.Name == options.headhat and not head then
handle.Transparency = 1
head = v
end
end
end
char.Humanoid.AnimationPlayed:connect(function(anim)
anim:Stop()
end)
for i,v in pairs(char.Humanoid:GetPlayingAnimationTracks()) do
v:AdjustSpeed(0)
end
local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
torso.Anchored = true
char.HumanoidRootPart.Anchored = true
workspace.CurrentCamera.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position)
input.UserCFrameChanged:connect(function(part,move)
if part == Enum.UserCFrame.Head then
--move(head,cam.CFrame*move)
moveHead.CFrame = cam.CFrame*(CFrame.new(move.p*(cam.HeadScale-1))*move)
elseif part == Enum.UserCFrame.LeftHand then
--move(handL,cam.CFrame*move)
moveHandL.CFrame = cam.CFrame*(CFrame.new(move.p*(cam.HeadScale-1))*move*CFrame.Angles(math.rad(options.righthandrotoffset.X),math.rad(options.righthandrotoffset.Y),math.rad(options.righthandrotoffset.Z)))
elseif part == Enum.UserCFrame.RightHand then
--move(handR,cam.CFrame*move)
moveHandR.CFrame = cam.CFrame*(CFrame.new(move.p*(cam.HeadScale-1))*move*CFrame.Angles(math.rad(options.righthandrotoffset.X),math.rad(options.righthandrotoffset.Y),math.rad(options.righthandrotoffset.Z)))
end
end)
local function Align(Part1,Part0,CFrameOffset) -- i dont know who made this function but 64will64 sent it to me so credit to whoever made it
local AlignPos = Instance.new('AlignPosition', Part1);
AlignPos.Parent.CanCollide = false;
AlignPos.ApplyAtCenterOfMass = true;
AlignPos.MaxForce = 67752;
AlignPos.MaxVelocity = math.huge/9e110;
AlignPos.ReactionForceEnabled = false;
AlignPos.Responsiveness = 200;
AlignPos.RigidityEnabled = false;
local AlignOri = Instance.new('AlignOrientation', Part1);
AlignOri.MaxAngularVelocity = math.huge/9e110;
AlignOri.MaxTorque = 67752;
AlignOri.PrimaryAxisOnly = false;
AlignOri.ReactionTorqueEnabled = false;
AlignOri.Responsiveness = 200;
AlignOri.RigidityEnabled = false;
local AttachmentA=Instance.new('Attachment',Part1);
local AttachmentB=Instance.new('Attachment',Part0);
AttachmentB.CFrame = AttachmentB.CFrame * CFrameOffset
AlignPos.Attachment0 = AttachmentA;
AlignPos.Attachment1 = AttachmentB;
AlignOri.Attachment0 = AttachmentA;
AlignOri.Attachment1 = AttachmentB;
end
head.Handle:BreakJoints()
handR.Handle:BreakJoints()
handL.Handle:BreakJoints()
Align(head.Handle,moveHead,CFrame.new(0,0,0))
Align(handR.Handle,moveHandR,CFrame.new(0,0,0))
Align(handL.Handle,moveHandL,CFrame.new(0,0,0))
input.InputChanged:connect(function(key)
if key.KeyCode == Enum.KeyCode.ButtonR1 then
if key.Position.Z > 0.9 then
R1down = true
else
R1down = false
end
end
end)
input.InputBegan:connect(function(key)
if key.KeyCode == Enum.KeyCode.ButtonR1 then
R1down = true
end
end)
input.InputEnded:connect(function(key)
if key.KeyCode == Enum.KeyCode.ButtonR1 then
R1down = false
end
end)
game:GetService("RunService").RenderStepped:connect(function()
if R1down then
cam.CFrame = cam.CFrame:Lerp(cam.CoordinateFrame + (moveHandR.CFrame*CFrame.Angles(-math.rad(options.righthandrotoffset.X),-math.rad(options.righthandrotoffset.Y),math.rad(180-options.righthandrotoffset.X))).LookVector * cam.HeadScale/2, 0.5)
end
end)
local function bubble(plr,msg)
game:GetService("Chat"):Chat(plr.Character.Head,msg,Enum.ChatColor.White)
end
game:GetService("RunService").Heartbeat:Connect(function()
for i,v in pairs(char:GetChildren()) do
if v:IsA("Accessory") then
v.Handle.Velocity = Vector3.new(0,30,0)
v.Handle.CFrame = v.Handle.CFrame
end
end
end)
local Player = game.Players.LocalPlayer
local Character = Player.Character
local Camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")
Character.Archivable = true
RunService.Stepped:Connect(function()
for i,v in pairs(Character:GetChildren()) do
if v:IsA("BasePart") then
v.CanCollide = false
end
end
end)
local Rig = Character:Clone()
Rig.Parent = Character
Rig.Name = "64Will64_Rig"
wait()
RunService.Stepped:Connect(function()
for i,v in pairs(Rig:GetChildren()) do
if v:IsA("BasePart") then
v.CanCollide = false
end
end
end)
for _, RigLimbs in next, Rig:GetDescendants() do
if RigLimbs:IsA("BasePart") then
RigLimbs.Transparency = 1
end
end
for _, RigHats in next, Rig:GetDescendants() do
if RigHats:IsA("Accessory") then
RigHats.Handle.Transparency = 1
end
end
for i,v in next, Character.Humanoid:GetPlayingAnimationTracks() do
v:Stop()
end
wait(.1)
Character.Animate.Disabled = true
Character.HumanoidRootPart.RootJoint:Destroy()
Character.HumanoidRootPart:Destroy()
Rig.Head.face:Destroy()
local function Align(PartToMove,TargetPart,Offset)
local Position = Instance.new("AlignPosition", PartToMove)
local Orientation = Instance.new("AlignOrientation", PartToMove)
local AttachmentA = Instance.new("Attachment", PartToMove)
local AttachmentB = Instance.new("Attachment", TargetPart)
AttachmentB.CFrame = Offset
Position.MaxVelocity = 30^11
Orientation.MaxTorque = 30^11
Position.MaxForce = 30^11
Orientation.MaxAngularVelocity = 30^11
Position.Responsiveness = 200
Orientation.Responsiveness = 200
Position.Attachment0 = AttachmentA
Position.Attachment1 = AttachmentB
Orientation.Attachment0 = AttachmentA
Orientation.Attachment1 = AttachmentB
end
Align(Character.Torso,Rig.Torso, CFrame.new(0,0,0))
Align(Character["Right Arm"],Rig["Right Arm"], CFrame.new(0,0,0))
Align(Character["Left Arm"],Rig["Left Arm"], CFrame.new(0,0,0))
Align(Character["Right Leg"],Rig["Right Leg"], CFrame.new(0,0,0))
Align(Character["Left Leg"],Rig["Left Leg"], CFrame.new(0,0,0))
Camera.CameraSubject = Rig.Humanoid
RunService.Heartbeat:Connect(function()
settings().Physics.AllowSleep = false
if Rig.Humanoid.MoveDirection == Vector3.new(0,0,0) then
for i,v in pairs(Character:GetChildren()) do
if v:IsA("BasePart") then
v.Velocity = Vector3.new(15.69, 15.69, 15.69)
v.RotVelocity = Vector3.new(1,0,0)
end
end
else
for i,v in pairs(Character:GetChildren()) do
if v:IsA("BasePart") then
v.Velocity = Vector3.new(30.69,0,0)
v.CFrame = v.CFrame
end
end
end
end)
for _, Joints in next, Character.Torso:GetChildren() do
if Joints:IsA("Motor6D") and Joints.Name ~= "Neck" then
Joints:Destroy()
end
end
game.Players.LocalPlayer.Character = Rig
Rig.Humanoid.Died:Connect(function()
game.Players.LocalPlayer.Character = Character
local human2 = Character.Humanoid:Clone()
human2.Parent = Character
for i,v in pairs(Character:GetChildren()) do
if v:IsA("BasePart") then
v.Anchored = true
end
end
Character.Humanoid:Destroy()
end)