ADVERTISEMENTREMOVE ADS
Corrupt nature!
47,851 views
Universal script•
4 months ago

Script Preview
Description
click to launch the... Corrupt Nature! and if it touches the ground you gota pick it up( not an tool warning)
ADVERTISEMENTREMOVE ADS
234 Lines • 6.74 KiB
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
-- Display watermark GUI
local PlayerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "WatermarkGui"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global
screenGui.Parent = PlayerGui
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.6, 0, 0.1, 0)
label.Position = UDim2.new(0.2, 0, 0.45, 0)
label.BackgroundTransparency = 1
label.Text = "Made by whatanwaza"
label.Font = Enum.Font.GothamBlack
label.TextScaled = true
label.TextColor3 = Color3.new(1, 1, 1)
label.TextStrokeTransparency = 0.5
label.TextTransparency = 0
label.ZIndex = 999999
label.Parent = screenGui
-- Wait 3 seconds then fade out
task.wait(3)
for i = 0, 1, 0.02 do
label.TextTransparency = i
label.TextStrokeTransparency = 0.5 + (i * 0.5)
task.wait(0.03)
end
screenGui:Destroy()
-- === CORRUPT NATURE SCRIPT STARTS ===
local char = player.Character or player.CharacterAdded:Wait()
local rightArm = char:WaitForChild("Right Arm")
local humanoid = char:WaitForChild("Humanoid")
-- Create the grey projectile
local corruptNature = Instance.new("Part")
corruptNature.Name = "CorruptNature"
corruptNature.Size = Vector3.new(4, 2, 1)
corruptNature.BrickColor = BrickColor.new("Medium stone grey")
corruptNature.Material = Enum.Material.Metal
corruptNature.CanCollide = false
corruptNature.Massless = true
corruptNature.Anchored = false
corruptNature.Parent = workspace
local weld
local function weldToArm()
if weld then weld:Destroy() end
corruptNature.CanCollide = false
corruptNature.Anchored = false
weld = Instance.new("Weld")
weld.Name = "CorruptNatureWeld"
weld.Part0 = rightArm
weld.Part1 = corruptNature
weld.C0 = CFrame.new(0, -0.7, -1.2) * CFrame.Angles(math.rad(-90), math.rad(90), 0)
weld.Parent = rightArm
end
weldToArm()
local launched = false
local launchSpeed = 100
local originalCFrame
local flingConnection
local flingVictimAngularVelocity
local function spinAndFlingInsideTorso(rootPart, victimHumanoidRootPart)
local startTime = tick()
local flingDuration = 15
flingVictimAngularVelocity = Instance.new("BodyAngularVelocity")
flingVictimAngularVelocity.MaxTorque = Vector3.new(1e6, 1e6, 1e6)
flingVictimAngularVelocity.AngularVelocity = Vector3.new(30, 30, 30)
flingVictimAngularVelocity.Parent = victimHumanoidRootPart
flingConnection = RunService.Heartbeat:Connect(function()
if not rootPart or not rootPart.Parent or not victimHumanoidRootPart or not victimHumanoidRootPart.Parent then
flingConnection:Disconnect()
flingVictimAngularVelocity:Destroy()
return
end
if tick() - startTime >= flingDuration then
flingConnection:Disconnect()
flingVictimAngularVelocity:Destroy()
return
end
rootPart.CFrame = victimHumanoidRootPart.CFrame
end)
end
local function stopSpinAndFling()
if flingConnection then
flingConnection:Disconnect()
flingConnection = nil
end
if flingVictimAngularVelocity then
flingVictimAngularVelocity:Destroy()
flingVictimAngularVelocity = nil
end
end
local function detachFromArm()
if weld then weld:Destroy() weld = nil end
corruptNature.Parent = workspace
corruptNature.CanCollide = false
corruptNature.Anchored = false
end
local function corruptNatureAnimation()
local rightShoulder = char:FindFirstChild("Right Shoulder") or char:FindFirstChild("RightShoulder")
if not rightShoulder then return end
local originalC0 = rightShoulder.C0
local steps = 20
for i = 1, steps do
local alpha = i / steps
rightShoulder.C0 = originalC0 * CFrame.Angles(math.rad(-90 * alpha), 0, 0)
RunService.Heartbeat:Wait()
end
for i = 1, steps do
local alpha = 1 - i / steps
rightShoulder.C0 = originalC0 * CFrame.Angles(math.rad(-90 * alpha), 0, 0)
RunService.Heartbeat:Wait()
end
rightShoulder.C0 = originalC0
end
local bodyVelocity
local bodyAngularVelocity
local connection
local function launchCorruptNature()
if launched then return end
launched = true
detachFromArm()
local origin = corruptNature.Position
local targetPos = mouse.Hit.p
local direction = (targetPos - origin).Unit
corruptNature.CFrame = CFrame.new(origin, origin + direction)
corruptNature.CanCollide = true
corruptNature.Anchored = false
originalCFrame = char.PrimaryPart and char.PrimaryPart.CFrame or nil
bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5)
bodyVelocity.Velocity = direction * launchSpeed
bodyVelocity.Parent = corruptNature
bodyAngularVelocity = Instance.new("BodyAngularVelocity")
bodyAngularVelocity.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
bodyAngularVelocity.AngularVelocity = Vector3.new(math.random(-20, 20), math.random(-20, 20), math.random(-20, 20))
bodyAngularVelocity.Parent = corruptNature
connection = corruptNature.Touched:Connect(function(hit)
if not launched then return end
if not hit or not hit.Parent then return end
if hit:IsDescendantOf(char) or hit == corruptNature then return end
if bodyVelocity then bodyVelocity:Destroy() end
if bodyAngularVelocity then bodyAngularVelocity:Destroy() end
corruptNature.Anchored = false
corruptNature.CanCollide = true
connection:Disconnect()
local hitHumanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
local hitTorso = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
if hitHumanoid and hitTorso then
corruptNature.Transparency = 1
local rootPart = char:FindFirstChild("HumanoidRootPart")
local victimRoot = hit.Parent:FindFirstChild("HumanoidRootPart")
if rootPart and victimRoot then
rootPart.Anchored = false
spinAndFlingInsideTorso(rootPart, victimRoot)
end
wait(15)
stopSpinAndFling()
if rootPart and originalCFrame then
rootPart.CFrame = originalCFrame
end
corruptNature.Transparency = 0
weldToArm()
launched = false
else
local pickupConnection
pickupConnection = corruptNature.Touched:Connect(function(toucher)
if toucher.Parent == char then
pickupConnection:Disconnect()
corruptNature.CanCollide = false
corruptNature.Anchored = false
weldToArm()
launched = false
end
end)
end
end)
end
mouse.Button1Down:Connect(function()
if not launched then
coroutine.wrap(corruptNatureAnimation)()
launchCorruptNature()
end
end)
player.CharacterAdded:Connect(function(newChar)
char = newChar
rightArm = char:WaitForChild("Right Arm")
humanoid = char:WaitForChild("Humanoid")
weldToArm()
launched = false
end)
ADVERTISEMENTREMOVE ADS
ADVERTISEMENTREMOVE ADS







Comments
where is it?!? ;-;