Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local part3 = Instance.new("Part",owner.Character)
- part3.CanCollide = false
- part3.Name = "the"
- local wel = Instance.new("Weld",owner.Character.HumanoidRootPart)
- wel.Part0 = owner.Character.Head
- wel.Part1 = wel.Parent
- wel.C1 = CFrame.new(0,1,0)
- part3:SetNetworkOwner(owner)
- part3.Size = Vector3.new(0.5,2,0.5)
- owner.Character.HumanoidRootPart:SetNetworkOwner(owner)
- owner.Character.Humanoid.RequiresNeck = false
- owner.Character.Head.CanCollide = false
- owner.Character.HumanoidRootPart:SetNetworkOwner(owner)
- owner.Character.Torso:SetNetworkOwner(owner)
- owner.Character.Head:SetNetworkOwner(owner)
- for i,v in pairs(owner.Character:GetDescendants()) do
- pcall(function()
- v:SetNetworkOwner(owner)
- end)
- end
- owner.Character["Right Arm"]:Destroy()
- owner.Character["Left Arm"]:Destroy()
- local part4 = Instance.new("Part",owner.Character)
- part4.CanCollide = false
- part4.Name = "the2"
- part4:SetNetworkOwner(owner)
- part4.Size = Vector3.new(0.5,2,0.5)
- local mesh = Instance.new("SpecialMesh",part3)
- mesh.MeshId = "rbxassetid://6674278819"
- mesh.Offset = Vector3.new(0.5,0,0)
- local App = game:GetService("Players"):GetCharacterAppearanceAsync(owner.UserId)
- local col = App["Body Colors"].LeftArmColor
- part3.Color = col.Color
- mesh.Scale = Vector3.new(0.04,0.04,0.04)
- local bv = Instance.new("BodyVelocity",part3)
- bv.Velocity = Vector3.new()
- bv.MaxForce = Vector3.new(1,1,1) * math.huge
- local mesh2 = Instance.new("SpecialMesh",part4)
- mesh2.MeshId = "rbxassetid://6674278818"
- mesh2.Offset = Vector3.new(-0.5,0,0)
- local col = App["Body Colors"].RightArmColor
- part4.Color = col.Color
- mesh2.Scale = Vector3.new(0.04,0.04,0.04)
- local bv2 = Instance.new("BodyVelocity",part4)
- bv2.Velocity = Vector3.new()
- bv2.MaxForce = Vector3.new(1,1,1) * math.huge
- e = Instance.new("RemoteEvent",part3)
- weld2 = nil
- partta = {}
- anchors = {}
- netta = {}
- weld3 = nil
- partta2 = {}
- anchors2 = {}
- netta2 = {}
- e.OnServerEvent:Connect(function(_,wha,who,cf)
- if wha == "the" then
- local mod = who:FindFirstAncestorWhichIsA("Model")
- if mod and mod ~= workspace then
- for i,v in pairs(mod:GetDescendants()) do
- if v:IsA("BasePart") then
- table.insert(anchors,v.Anchored)
- table.insert(netta,v:GetNetworkOwner())
- table.insert(partta,v)
- coroutine.wrap(function()
- wait(0.01)
- v.Anchored = false
- v:SetNetworkOwner(owner)
- end)()
- end
- end
- else
- table.insert(anchors,who.Anchored)
- table.insert(netta,who:GetNetworkOwner())
- table.insert(partta,who)
- wait()
- who.Anchored = false
- who:SetNetworkOwner(owner)
- end
- weld2 = Instance.new("Weld",part3)
- local cfdif = part3.CFrame:Inverse() * who.CFrame
- weld2.Part0 = who
- weld2.Part1 = part3
- task.wait()
- weld2.C0 = cfdif:Inverse()
- elseif wha == "fist" then
- weld2:Destroy()
- wait()
- for i,v in pairs(partta) do
- v:SetNetworkOwner(netta[i])
- v.Anchored = anchors[i]
- end
- wait(0.01)
- netta = {}
- anchors = {}
- partta = {}
- elseif wha == "the2" then
- local mod = who:FindFirstAncestorWhichIsA("Model")
- if mod and mod ~= workspace then
- for i,v in pairs(mod:GetDescendants()) do
- if v:IsA("BasePart") then
- table.insert(anchors2,v.Anchored)
- table.insert(netta2,v:GetNetworkOwner())
- table.insert(partta2,v)
- coroutine.wrap(function()
- wait(0.01)
- v.Anchored = false
- v:SetNetworkOwner(owner)
- end)()
- end
- end
- else
- table.insert(anchors2,who.Anchored)
- table.insert(netta2,who:GetNetworkOwner())
- table.insert(partta2,who)
- wait()
- who.Anchored = false
- who:SetNetworkOwner(owner)
- end
- weld3 = Instance.new("Weld",part4)
- local cfdif = part4.CFrame:Inverse() * who.CFrame
- weld3.Part0 = who
- weld3.Part1 = part4
- task.wait()
- weld3.C0 = cfdif:Inverse()
- elseif wha == "fist2" then
- weld3:Destroy()
- wait()
- for i,v in pairs(partta2) do
- v:SetNetworkOwner(netta2[i])
- v.Anchored = anchors2[i]
- end
- wait(0.01)
- netta2 = {}
- anchors2 = {}
- partta2 = {}
- elseif wha == "headrot" then
- wel.C0 = cf
- end
- end)
- NLS([[
- local pard = script.Parent
- local pard2 = owner.Character:WaitForChild("the2")
- local e = pard:FindFirstChildWhichIsA("RemoteEvent")
- mouse = owner:GetMouse()
- local active = true
- local what = nil
- local active2 = true
- local what2 = nil
- local part = Instance.new("Part",script)
- part.Transparency = 1
- part.CanCollide = false
- part.Anchored = true
- part.Size = Vector3.new()
- local part6 = Instance.new("Part",script)
- part6.Transparency = 1
- part6.CanCollide = false
- part6.Anchored = true
- part6.Size = Vector3.new()
- local part2 = Instance.new("Part",script)
- part2.CanCollide = false
- part2.Transparency = 1
- part2.Size = Vector3.new(0.5,0.5,3)
- local part5 = Instance.new("Part",script)
- part5.CanCollide = false
- part5.Transparency = 1
- part5.Size = Vector3.new(0.5,0.5,3)
- mouse.KeyDown:Connect(function(key)
- key = key:lower()
- if key == "q" and active then
- local params = RaycastParams.new()
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,part2,pard2}
- params.FilterType = Enum.RaycastFilterType.Blacklist
- local result2 = workspace:Raycast(pard.Position + pard.CFrame.rightVector * 0.5, pard.CFrame.upVector * -3, params)
- if result2 and result2.Instance then
- active = false
- e:FireServer("the",result2.Instance)
- if result2.Instance:FindFirstAncestorWhichIsA("Model") then
- what = result2.Instance:FindFirstAncestorWhichIsA("Model")
- else
- what = result2.Instance
- end
- end
- elseif key == "q" and not active then
- active = true
- e:FireServer("fist")
- what = nil
- elseif key == "e" and active2 then
- local params = RaycastParams.new()
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,part2,pard2}
- params.FilterType = Enum.RaycastFilterType.Blacklist
- local result2 = workspace:Raycast(pard2.Position + pard2.CFrame.rightVector * -0.5, pard2.CFrame.upVector * -3, params)
- if result2 and result2.Instance then
- active2 = false
- e:FireServer("the2",result2.Instance)
- if result2.Instance:FindFirstAncestorWhichIsA("Model") then
- what2 = result2.Instance:FindFirstAncestorWhichIsA("Model")
- else
- what2 = result2.Instance
- end
- end
- elseif key == "e" and not active2 then
- active2 = true
- e:FireServer("fist2")
- what2 = nil
- end
- end)
- local weld = Instance.new("Weld",part)
- weld.Part0 = part2
- weld.Part1 = part
- weld.C0 = CFrame.new(1.5,1,2)
- local weld4 = Instance.new("Weld",part6)
- weld4.Part0 = part5
- weld4.Part1 = part6
- weld4.C0 = CFrame.new(-1.5,1,2)
- local bob = CFrame.new()
- local bob2 = CFrame.new()
- game:GetService("RunService").RenderStepped:Connect(function()
- pard.LocalTransparencyModifier = 0
- pard2.LocalTransparencyModifier = 0
- bob = bob:Lerp(workspace.CurrentCamera.CFrame.Rotation,0.5)
- bob2 = bob2:Lerp(owner.Character.HumanoidRootPart.CFrame.Rotation,0.5)
- local cfl = CFrame.new(0,-0.5,0) * bob:Inverse() * bob2
- e:FireServer("headrot","nil",cfl)
- local params = RaycastParams.new()
- if what ~= nil and what2 ~= nil then
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,what:GetDescendants(),part2,pard2,what2:GetDescendants(),part5,part6}
- elseif what == nil and what2 ~= nil then
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,part2,pard2,what2:GetDescendants(),part5,part6}
- elseif what ~= nil and what2 == nil then
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,what:GetDescendants(),part2,pard2,part5,part6}
- else
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,part2,part5,pard2,part6}
- end
- params.FilterType = Enum.RaycastFilterType.Blacklist
- local po = CFrame.new(workspace.CurrentCamera.CFrame.Position) * CFrame.Angles(part2.CFrame:ToEulerAnglesXYZ())
- local result = workspace:Raycast(po.Position + po.rightVector * -0.5, part2.CFrame.lookVector * 4, params)
- if result then
- local pos = CFrame.new(result.Position + po.rightVector * 0.5) * CFrame.Angles(workspace.CurrentCamera.CFrame:ToEulerAnglesXYZ()) * CFrame.new(0,0,4)
- part.CFrame = CFrame.new(pos.Position) * bob
- else
- part.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position) * bob
- end
- local params = RaycastParams.new()
- if what ~= nil and what2 ~= nil then
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,what:GetDescendants(),part2,pard2,what2:GetDescendants(),part5,part6}
- elseif what == nil and what2 ~= nil then
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,part2,pard2,what2:GetDescendants(),part5,part6}
- elseif what ~= nil and what2 == nil then
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,what:GetDescendants(),part2,pard2,part5,part6}
- else
- params.FilterDescendantsInstances = {owner.Character:GetDescendants(),part,pard,part2,part5,pard2,part6}
- end
- params.FilterType = Enum.RaycastFilterType.Blacklist
- local po = CFrame.new(workspace.CurrentCamera.CFrame.Position) * CFrame.Angles(part5.CFrame:ToEulerAnglesXYZ())
- local result = workspace:Raycast(po.Position + po.rightVector * 0.5, part5.CFrame.lookVector * 4, params)
- if result then
- local pos = CFrame.new(result.Position + po.rightVector * -0.5) * CFrame.Angles(workspace.CurrentCamera.CFrame:ToEulerAnglesXYZ()) * CFrame.new(0,0,4)
- part6.CFrame = CFrame.new(pos.Position) * bob
- else
- part6.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position) * bob
- end
- pard.CFrame = part2.CFrame * CFrame.Angles(math.rad(90),0,0)
- pard2.CFrame = part5.CFrame * CFrame.Angles(math.rad(90),0,0)
- end)
- ]],part3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement