Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local player = game.Players:WaitForChild("Memo1332") -- put your name here!
- local size = 1
- --
- local character = workspace:WaitForChild(player.Name)
- character.Head.Anchored = true
- character.Humanoid.MaxHealth = math.huge
- character.Humanoid.Health = math.huge
- character.Humanoid.BreakJointsOnDeath = false
- character.Humanoid.Name = "sbfkjwbjhgfsbejkfggbnkshrgbksgjksbherk"
- wait(.5)
- --workspace:WaitForChild(player.Name).Parent = nil
- local data = Instance.new("RemoteEvent",player)
- data.Name = "VrC"
- local modr = 0
- local lh = Instance.new("Part",workspace)
- lh.Locked = true
- lh.Transparency = 0
- lh.Name = player.Name.."-LeftHand"
- lh.Material = "Metal"
- lh.Color = Color3.fromRGB(255,100,255)
- lh.CanCollide = true
- lh.Anchored = true
- local rh = Instance.new("Part",workspace)
- rh.Locked = true
- rh.Transparency = 0
- rh.Name = player.Name.."-RightHand"
- rh.Material = "Metal"
- rh.Color = Color3.fromRGB(255,100,255)
- rh.CanCollide = true
- rh.Anchored = true
- local he = Instance.new("Part",workspace)
- he.CanCollide = true
- he.Name = player.Name.."-Head"
- he.Color = Color3.fromRGB(255,175,255)
- he.Material = "Metal"
- he.Transparency = 0
- he.Anchored = true
- he.Locked = true
- local mesh = Instance.new("SpecialMesh",he)
- mesh.MeshType = Enum.MeshType.Head
- mesh.Scale = Vector3.new(1.25,1.25,1.25)
- local face = Instance.new("Decal",he)
- face.Face = "Front"
- face.Texture = "http://www.roblox.com/asset/?id=144080495"
- function charge(rol)
- local bap = lh
- if rol == "right" then bap = rh end
- if bap:FindFirstChild("Charge") == nil then
- local chargeparticle = Instance.new("ParticleEmitter",bap)
- chargeparticle.Name = "Charge"
- chargeparticle.Speed = NumberRange.new(40*size, 40*size)
- chargeparticle.Color = ColorSequence.new(Color3.new(0.933333, 0, 1),Color3.new(0.933333, 0, 1))
- chargeparticle.LightEmission = 1
- chargeparticle.Texture = "rbxassetid://1280736246"
- chargeparticle.Transparency = NumberSequence.new(0,0,0.72500002384186)
- chargeparticle.Size = NumberSequence.new(0.6*size,0.6*size)
- chargeparticle.Drag = 8
- chargeparticle.EmissionDirection = Enum.NormalId.Back
- chargeparticle.Lifetime = NumberRange.new(0.20000000298023, 0.40000000596046)
- chargeparticle.LockedToPart = true
- chargeparticle.Rate = 100
- chargeparticle.SpreadAngle = Vector2.new(20, 20)
- chargeparticle.VelocitySpread = 20
- chargeparticle.Enabled = true
- else
- local chargeparticle = bap:FindFirstChild("Charge")
- chargeparticle.Speed = NumberRange.new(20*size, 20*size)
- chargeparticle.Size = NumberSequence.new(0.6*size,0.6*size)
- chargeparticle.Enabled = true
- end
- if bap:FindFirstChild("chargsound") == nil then
- local sound = Instance.new("Sound",bap)
- sound.Name = "chargsound"
- sound.Volume = 3
- sound.SoundId = "rbxassetid://255679384"
- sound.PlaybackSpeed = 0.67
- sound.MaxDistance = 10000*size
- sound.EmitterSize = 5*size
- sound:Play()
- else
- local sound = bap:FindFirstChild("chargsound")
- sound:Play()
- end
- end
- g = Instance.new("Part")
- SpecialMesh1 = Instance.new("SpecialMesh")
- ParticleEmitter2 = Instance.new("ParticleEmitter")
- g.CFrame = CFrame.new(-45.3979988, 2.57392263, 216.870453, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- g.Position = Vector3.new(-45.3979988, 2.57392263, 216.870453)
- g.Color = Color3.new(1, 0.34902, 0.94902)
- g.Size = Vector3.new(4.5, 4.5, 9)
- g.Massless = true
- g.BottomSurface = Enum.SurfaceType.Smooth
- g.BrickColor = BrickColor.new("Pink")
- g.Material = Enum.Material.Neon
- g.TopSurface = Enum.SurfaceType.Smooth
- g.brickColor = BrickColor.new("Pink")
- SpecialMesh1.Parent = g
- SpecialMesh1.MeshType = Enum.MeshType.Sphere
- ParticleEmitter2.Parent = g
- ParticleEmitter2.Name = "bonk"
- ParticleEmitter2.Speed = NumberRange.new(100, 100)
- ParticleEmitter2.Color = ColorSequence.new(Color3.new(0.933333, 0, 1),Color3.new(0.933333, 0, 1))
- ParticleEmitter2.LightEmission = 1
- ParticleEmitter2.Texture = "rbxassetid://1280736246"
- ParticleEmitter2.Transparency = NumberSequence.new(0,0,0.72500002384186)
- ParticleEmitter2.Size = NumberSequence.new(2,2)
- ParticleEmitter2.EmissionDirection = Enum.NormalId.Back
- ParticleEmitter2.Lifetime = NumberRange.new(0.20000000298023, 0.40000000596046)
- ParticleEmitter2.LockedToPart = true
- ParticleEmitter2.Rate = 100
- local e = Instance.new("Part")
- SpecialMesh2 = Instance.new("SpecialMesh")
- SpecialMesh2.Parent = e
- SpecialMesh2.MeshType = Enum.MeshType.Sphere
- e.Size = Vector3.new(17.65,17.65,17.65)
- e.Color = Color3.fromRGB(255,100,255)
- e.Material = "Neon"
- e.Transparency = 0.5
- e.CanCollide = false
- e.Anchored = true
- function weld(part1,part2)
- if part1 ~= nil and part2 ~= nil then
- local w = Instance.new("Weld")
- w.Name = "fatweld"
- w.Part0,w.Part1 = part1,part2
- w.C0 = part1.CFrame:inverse()
- w.C1 = part2.CFrame:inverse()
- w.Parent = part1
- end
- end
- function shoot(rol,cf)
- coroutine.resume(coroutine.create(function()
- local bap = lh
- local size = size
- if rol == "right" then bap = rh end
- if bap:FindFirstChild("chargsound") ~= nil then
- bap:FindFirstChild("chargsound").Playing = false
- end
- if bap:FindFirstChild("Charge") ~= nil then
- bap:FindFirstChild("Charge").Enabled = false
- end
- local part1 = bap
- local part2 = Instance.new("Part",workspace)
- local k = g:Clone()
- k.Size = Vector3.new((4.5*size)/5, (4.5*size)/5, (9*size)/5)
- local kk = Instance.new("BodyGyro",k)
- local f = e:Clone()
- f.Size = Vector3.new((17.65*size)/4,(17.65*size)/4,(17.65*size)/4)
- local ff = e:Clone()
- ff.Size = Vector3.new((17.65*size)/4,(17.65*size)/4,(17.65*size)/4)
- local kek = false
- part2.Transparency = 1
- part2.CanCollide = false
- part2.Anchored = true
- part2.Size = Vector3.new(0.25,0.25,0.25)
- part2.CFrame = cf * CFrame.new(0,0,-3*40)
- k.bonk.Size = NumberSequence.new((2*size)/5,(2*size)/5)
- k.bonk.Speed = NumberRange.new((100*size)/5,(100*size)/5)
- local vec3 = part2.Position - cf.p
- local bod = Instance.new("BodyVelocity",k)
- bod.MaxForce = Vector3.new(1000000*size,1000000*size,1000000*size)
- bod.Velocity = vec3 * Vector3.new(size/4,size/4,size/4)
- k.CFrame = cf * CFrame.new(0,0,-1*size)
- kk.MaxTorque = Vector3.new(40000000, 40000000, 40000000)
- kk.cframe = k.CFrame
- k.Parent = workspace
- if bap:FindFirstChild("Shoot") == nil then
- local soun = Instance.new("Sound",bap)
- soun.SoundId = "rbxassetid://743499393"
- soun.Volume = 3
- soun.EmitterSize = (10/5)*size
- soun.MaxDistance = 10000*size
- soun.PlaybackSpeed = 0.76
- soun:Play()
- else
- bap:FindFirstChild("Shoot").EmitterSize = (10/5)*size
- bap:FindFirstChild("Shoot").MaxDistance = 10000*size
- bap:FindFirstChild("Shoot"):Play()
- end
- k.Touched:Connect(function(e)
- if e.Name ~= bap.Name and e.ClassName == "Part" and e.CanCollide == true then
- kek = true
- end
- end)
- repeat wait(.1) until kek == true
- k.Anchored = true
- k.Transparency = 1
- k.CanCollide = false
- k.bonk.Enabled = false
- local soun = Instance.new("Sound",k)
- soun.SoundId = "rbxassetid://440145223"
- soun.Volume = 3
- soun.PlaybackSpeed = 0.76
- soun.MaxDistance = 10000*size
- soun.EmitterSize = 10*size
- soun:Play()
- f.Position = k.Position
- ff.Color = Color3.new(1,1,1)
- ff.Size = ff.Size / Vector3.new(1.5,1.5,1.5)
- ff.Position = f.Position
- local exp = Instance.new("Explosion",workspace)
- exp.Position = k.Position
- exp.DestroyJointRadiusPercent = 0
- exp.BlastRadius = (14*size)/3
- exp.Visible = false
- exp.Hit:Connect(function(part,dis)
- if part.Parent:FindFirstChildOfClass("Humanoid") and part.Parent:FindFirstChildOfClass("UpperTorso") == nil then
- part.Parent:FindFirstChildOfClass("Humanoid").Health = part.Parent:FindFirstChildOfClass("Humanoid").Health - 7
- elseif part.Parent:FindFirstChildOfClass("Humanoid") ~= nil and part.Parent:FindFirstChildOfClass("UpperTorso") ~= nil then
- part.Parent:FindFirstChildOfClass("Humanoid").Health = part.Parent:FindFirstChildOfClass("Humanoid").Health - 2.5
- end
- end)
- coroutine.resume(coroutine.create(function()
- f.Parent = workspace
- ff.Parent = workspace
- f.Transparency = 0.5
- ff.Transparency = 0.5
- for i=1,40 do
- wait()
- f.Transparency = f.Transparency + 0.0125
- f.Size = f.Size + Vector3.new((0.6*size)/4,(0.6*size)/4,(0.6*size)/4)
- ff.Transparency = ff.Transparency + 0.0125
- ff.Size = ff.Size + Vector3.new((0.6*size)/4,(0.6*size)/4,(0.6*size)/4)
- end
- wait(.25)
- f:Destroy()
- ff:Destroy()
- k:Destroy()
- part2:Destroy()
- end))
- end))
- end
- function changeMode()
- if modr == 0 then
- lh.Color = Color3.fromRGB(255,100,255)
- rh.Color = Color3.fromRGB(255,100,255)
- elseif modr == 1 then
- lh.Anchored = false
- rh.Anchored = false
- lh.Color = Color3.fromRGB(100,100,255)
- rh.Color = Color3.fromRGB(100,100,255)
- elseif modr == 2 then
- lh.Color = Color3.fromRGB(255,100,100)
- rh.Color = Color3.fromRGB(255,100,100)
- touch(lh)
- touch(rh)
- elseif modr == 3 then
- lh.Color = Color3.fromRGB(100,255,100)
- rh.Color = Color3.fromRGB(100,255,100)
- elseif modr == 4 then
- lh.Color = Color3.fromRGB(255,255,100)
- rh.Color = Color3.fromRGB(255,255,100)
- lh.CanCollide = false
- rh.CanCollide = false
- he.CanCollide = false
- elseif modr == 5 then
- lh.Color = Color3.fromRGB(100,255,255)
- rh.Color = Color3.fromRGB(100,255,255)
- lh.Transparency = 1
- rh.Transparency = 1
- he.Transparency = 1
- end
- -- deactivation stuff
- if modr ~= 1 then
- local lh1 = lh:FindFirstChild("BodyPosition")
- local lh2 = lh:FindFirstChild("BodyGyro")
- local rh1 = rh:FindFirstChild("BodyPosition")
- local rh2 = rh:FindFirstChild("BodyGyro")
- if lh1 ~= nil then
- lh1:Destroy()
- end
- if lh2 ~= nil then
- lh2:Destroy()
- end
- if rh1 ~= nil then
- rh1:Destroy()
- end
- if rh2 ~= nil then
- rh2:Destroy()
- end
- lh.Anchored = true
- rh.Anchored = true
- wait()
- lh.Velocity = Vector3.new(0,0,0)
- rh.Velocity = Vector3.new(0,0,0)
- lh.RotVelocity = Vector3.new(0,0,0)
- rh.RotVelocity = Vector3.new(0,0,0)
- end
- if modr ~= 4 then
- lh.CanCollide = true
- rh.CanCollide = true
- he.CanCollide = true
- end
- if modr ~= 5 then
- lh.Transparency = 0
- rh.Transparency = 0
- he.Transparency = 0
- end
- end
- data.OnServerEvent:Connect(function(plr,mode,dat)
- if plr.Name == player.Name then
- if mode == "start" then
- size = dat
- lh.Size = Vector3.new(0.2,0.2,0.6) * Vector3.new(size,size,size)
- rh.Size = Vector3.new(0.2,0.2,0.6) * Vector3.new(size,size,size)
- he.Size = Vector3.new(1,1,1) * Vector3.new(size,size,size)
- elseif mode == "update" then
- local lefthand = dat[1]
- local righthand = dat[2]
- local head = dat[3]
- size = dat[4]
- he.CFrame = he.CFrame:lerp(head,0.5)
- if modr ~= 1 then
- lh.CFrame = lh.CFrame:lerp(lefthand,0.5)
- rh.CFrame = rh.CFrame:lerp(righthand,0.5)
- elseif modr == 1 then
- local lh1 = lh:FindFirstChild("BodyPosition")
- local lh2 = lh:FindFirstChild("BodyGyro")
- local rh1 = rh:FindFirstChild("BodyPosition")
- local rh2 = rh:FindFirstChild("BodyGyro")
- if lh1 ~= nil and lh2 ~= nil and rh1 ~= nil and rh2 ~= nil then
- lh1.Position = lefthand.p
- lh2.CFrame = lefthand
- rh1.Position = righthand.p
- rh2.CFrame = righthand
- else
- if lh1 ~= nil then
- lh1:Destroy()
- end
- if lh2 ~= nil then
- lh2:Destroy()
- end
- if rh1 ~= nil then
- rh1:Destroy()
- end
- if rh2 ~= nil then
- rh2:Destroy()
- end
- local lh1 = Instance.new("BodyPosition",lh)
- local lh2 = Instance.new("BodyGyro",lh)
- lh1.MaxForce = Vector3.new(4000000*size,4000000*size,4000000*size)
- lh1.P = 150000
- lh1.D = 2250
- lh1.Position = lefthand.p
- lh2.MaxTorque = Vector3.new(40000000, 40000000, 40000000)
- lh2.P = 4000000
- lh2.D = 750
- lh2.CFrame = lefthand
- local rh1 = lh1:Clone()
- local rh2 = lh2:Clone()
- rh1.Parent = rh
- rh2.Parent = rh
- rh1.Position = righthand.p
- rh2.CFrame = righthand
- end
- elseif modr == 3 then
- local lx1 = lefthand.p.X
- local ly1 = lefthand.p.Y
- local lz1 = lefthand.p.Z
- local rx1 = righthand.p.X
- local ry1 = righthand.p.Y
- local rz1 = righthand.p.Z
- --
- local lx2 = lh.Position.X
- local ly2 = lh.Position.Y
- local lz2 = lh.Position.Z
- local rx2 = rh.Position.X
- local ry2 = rh.Position.Y
- local rz2 = rh.Position.Z
- --
- local orienlx1,orienly1,orienlz1 = lefthand:ToOrientation()
- orienlx1,orienly1,orienlz1 = math.deg(orienlx1),math.deg(orienly1),math.deg(orienlz1)
- local orienrx1,orienry1,orienrz1 = righthand:ToOrientation()
- orienrx1,orienry1,orienrz1 = math.deg(orienrx1),math.deg(orienry1),math.deg(orienrz1)
- --
- local orienlx2,orienly2,orienlz2 = lh.Orientation.X,lh.Orientation.Y,lh.Orientation.Z
- local orienrx2,orienry2,orienrz2 = rh.Orientation.X,rh.Orientation.Y,rh.Orientation.Z
- --
- rh.CFrame = righthand
- lh.CFrame = lefthand
- wait()
- rh.Velocity = Vector3.new(rx2-rx1,ry2-ry1,rz1-rz2)
- rh.RotVelocity = Vector3.new(orienrx2-orienrx1,orienry2-orienry1,orienrz2-orienrz1)
- lh.Velocity = Vector3.new(lx2-lx1,ly2-ly1,lz1-lz2)
- lh.RotVelocity = Vector3.new(orienlx2-orienlx1,orienly2-orienly1,orienlz2-orienlz1)
- end
- lh.Size = Vector3.new(0.2,0.2,0.6) * Vector3.new(size,size,size)
- rh.Size = Vector3.new(0.2,0.2,0.6) * Vector3.new(size,size,size)
- he.Size = Vector3.new(1,1,1) * Vector3.new(size,size,size)
- elseif mode == "chargeright" then
- charge("right")
- elseif mode == "chargeleft" then
- charge("left")
- elseif mode == "ShootRight" then
- local ray = dat[1]
- local cf = dat[2]
- shoot("right",cf)
- elseif mode == "ShootLeft" then
- local ray = dat[1]
- local cf = dat[2]
- shoot("left",cf)
- elseif mode == "mode" then
- modr = dat
- changeMode()
- elseif mode == "GrabRight" then
- weld(rh,dat[1])
- elseif mode == "GrabLeft" then
- weld(lh,dat[1])
- elseif mode == "UngrabRight" then
- while rh:FindFirstChild("fatweld") ~= nil do
- rh:FindFirstChild("fatweld"):Destroy()
- end
- elseif mode == "UngrabLeft" then
- while lh:FindFirstChild("fatweld") ~= nil do
- lh:FindFirstChild("fatweld"):Destroy()
- end
- end
- end
- end)
- function touch(part)
- part.Touched:Connect(function(pa)
- if modr == 2 and tostring(pa) ~= "Base" and tostring(pa) ~= "Baseplate" then
- pa:Destroy()
- else
- return
- end
- end)
- end
- game.Players.PlayerRemoving:Connect(function(play)
- if tostring(play) == tostring(player) then
- lh:Destroy()
- he:Destroy()
- rh:Destroy()
- script:Destroy()
- end
- end)
- while wait(1) do
- if (he == nil or he.Parent == nil) or (rh == nil or rh.Parent == nil) or (lh == nil or lh.Parent == nil) then
- if he ~= nil or he.Parent == nil then he:Destroy() end
- if lh ~= nil or lh.Parent == nil then lh:Destroy() end
- if rh ~= nil or rh.Parent == nil then rh:Destroy() end
- lh = Instance.new("Part",workspace)
- lh.Transparency = 0
- lh.Locked = true
- lh.Name = player.Name.."-LeftHand"
- lh.Material = "Metal"
- lh.Color = Color3.fromRGB(255,100,255)
- lh.CanCollide = true
- lh.Anchored = true
- rh = Instance.new("Part",workspace)
- rh.Transparency = 0
- rh.Locked = true
- rh.Name = player.Name.."-RightHand"
- rh.Material = "Metal"
- rh.Color = Color3.fromRGB(255,100,255)
- rh.CanCollide = true
- rh.Anchored = true
- he = Instance.new("Part",workspace)
- he.CanCollide = true
- he.Name = player.Name.."-Head"
- he.Color = Color3.fromRGB(255,175,255)
- he.Locked = true
- he.Material = "Metal"
- he.Transparency = 0
- he.Anchored = true
- mesh = Instance.new("SpecialMesh",he)
- mesh.MeshType = Enum.MeshType.Head
- mesh.Scale = Vector3.new(1.25,1.25,1.25)
- face = Instance.new("Decal",he)
- face.Face = "Front"
- face.Texture = "http://www.roblox.com/asset/?id=144080495"
- if modr == 2 then
- touch(lh)
- touch(rh)
- end
- end
- local countup = 0
- for i,v in pairs(workspace:GetChildren()) do
- if v.Name == player.Name.."-Head" or v.Name == player.Name.."-RightHand" or v.Name == player.Name.."-LeftHand" then
- countup = countup + 1
- end
- end
- if countup > 3 then
- for i,v in pairs(workspace:GetChildren()) do
- if v.Name == player.Name.."-Head" or v.Name == player.Name.."-RightHand" or v.Name == player.Name.."-LeftHand" then
- v:Destroy()
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment