Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------------------------------------------------------------------------------
- Script
- local mps = game:GetService("MarketplaceService")
- local productid = 2837814560
- local launchForce = 300
- local db = {}
- game.Players.PlayerAdded:Connect(function(plr)
- plr.CharacterAdded:Connect(function(chr)
- local ragdoll = Instance.new("BoolValue", chr)
- ragdoll.Name = "Ragdoll"
- end)
- end)
- local function ragdollCharacter(character)
- local disabledMotors = {}
- local humanoid = character:FindFirstChildOfClass("Humanoid")
- if not humanoid then return end
- local originalWalkSpeed = humanoid.WalkSpeed
- local originalJumpPower = humanoid.JumpPower
- humanoid.WalkSpeed = 0
- humanoid.JumpPower = 0
- for _, part in pairs(character:GetDescendants()) do
- if part:IsA("Motor6D") then
- table.insert(disabledMotors, part)
- local attachment = Instance.new("Attachment")
- attachment.CFrame = part.C0
- attachment.Parent = part.Part0
- local constraint = Instance.new("BallSocketConstraint")
- constraint.Attachment0 = attachment
- constraint.Attachment1 = Instance.new("Attachment", part.Part1)
- constraint.Parent = part.Part0
- part.Enabled = false
- end
- end
- task.delay(3, function()
- if humanoid then
- humanoid.WalkSpeed = originalWalkSpeed
- humanoid.JumpPower = originalJumpPower
- end
- for _, motor in ipairs(disabledMotors) do
- motor.Enabled = true
- end
- end)
- end
- local function launchPlayer(player)
- local character = player.Character
- if character and character:FindFirstChild("HumanoidRootPart") then
- local rootPart = character.HumanoidRootPart
- local bodyVelocity = Instance.new("BodyVelocity")
- bodyVelocity.MaxForce = Vector3.new(0, math.huge, 0)
- bodyVelocity.Velocity = Vector3.new(0, launchForce, 0)
- bodyVelocity.P = 1250
- bodyVelocity.Parent = rootPart
- game:GetService("Debris"):AddItem(bodyVelocity, 0.1)
- ragdollCharacter(character)
- end
- end
- mps.PromptProductPurchaseFinished:Connect(function(userid, id, purchased)
- if id == productid and purchased then
- local ragdollModule = require(game:GetService("ServerScriptService").Script:FindFirstChild("Ragdoll"))
- if not ragdollModule then return end
- for _, v in pairs(game.Players:GetPlayers()) do
- local character = v.Character
- if character and not table.find(db, character) then
- local humanoid = character:FindFirstChildOfClass("Humanoid")
- local hrp = character:FindFirstChild("HumanoidRootPart")
- if humanoid and hrp then
- table.insert(db, character)
- local knockbackForce = Vector3.new(math.random(-5, 5), launchForce, math.random(-5, 5))
- local bodyVelocity = Instance.new("BodyVelocity")
- bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bodyVelocity.Velocity = knockbackForce
- bodyVelocity.P = 1250
- bodyVelocity.Parent = hrp
- game:GetService("Debris"):AddItem(bodyVelocity, 0.1)
- ragdollModule.Start(character)
- task.wait(3)
- ragdollModule.Stop(character)
- table.remove(db, table.find(db, character))
- end
- end
- end
- end
- end)
- ---------------------------------------------------------------------------------------
- Ragdoll
- local ragdoll = {}
- function ragdoll.Start(character)
- if character.Ragdoll.Value then return end
- character.Ragdoll.Value = true
- for i, joint in pairs(character:GetDescendants()) do
- if joint:IsA("Motor6D") then
- local socket = Instance.new("BallSocketConstraint")
- local a0 = Instance.new("Attachment")
- local a1 = Instance.new("Attachment")
- a0.Parent = joint.Part0
- a1.Parent = joint.Part1
- socket.Parent = joint.Parent
- socket.Attachment0 = a0
- socket.Attachment1 = a1
- a0.CFrame = joint.C0
- a1.CFrame = joint.C1
- socket.LimitsEnabled = true
- socket.TwistLimitsEnabled = true
- joint.Enabled = false
- end
- end
- character.Humanoid.WalkSpeed = 0
- character.Humanoid.JumpPower = 0
- character.Humanoid.PlatformStand = true
- character.Humanoid.AutoRotate = false
- end
- function ragdoll.Stop(character)
- local hrp = character:FindFirstChild("HumanoidRootPart")
- local hum = character:FindFirstChild("Humanoid")
- hum.PlatformStand = false
- for i, joint in pairs(character:GetDescendants()) do
- if joint:IsA("BallSocketConstraint") then
- joint:Destroy()
- end
- if joint:IsA("Motor6D") then
- joint.Enabled = true
- end
- end
- character.Ragdoll.Value = false
- hum:ChangeState(Enum.HumanoidStateType.GettingUp)
- hum.WalkSpeed = 16
- hum.JumpPower = 50
- hum.AutoRotate = true
- end
- return ragdoll
- ---------------------------------------------------------------------------------------
- Local Script
- local id = 2837814560
- local mps = game:GetService("MarketplaceService")
- script.Parent.MouseButton1Click:Connect(function()
- mps:PromptProductPurchase(game.Players.LocalPlayer, id)
- end)
- ---------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement