this code.
-- GIGAGRAV Tool Script (Roblox Lua)
local Players = game:GetService("Players")
local Debris = game:GetService("Debris")
local Lighting = game:GetService("Lighting")
local player = Players:FindFirstChild("AlphonsoGames")
if not player then return end
-- Utility: Make all parts/accessories/etc completely black
local function makeCharacterCompletelyBlack(character)
for _, item in ipairs(character:GetDescendants()) do
if item:IsA("BasePart") or item:IsA("MeshPart") then
item.Color = Color3.new(0, 0, 0)
item.Material = Enum.Material.SmoothPlastic
elseif item:IsA("Accessory") then
local handle = item:FindFirstChild("Handle")
if handle and handle:IsA("BasePart") then
handle.Color = Color3.new(0, 0, 0)
handle.Material = Enum.Material.SmoothPlastic
local mesh = handle:FindFirstChildWhichIsA("SpecialMesh")
if mesh then
mesh.VertexColor = Vector3.new(0, 0, 0)
end
end
elseif item:IsA("Decal") or item:IsA("Shirt") or item:IsA("Pants") or item:IsA("ShirtGraphic") or item:IsA("CharacterMesh") then
item:Destroy()
end
end
end
-- Utility: Hide the name display above the character's head
local function hideCharacterNameDisplay(character)
for _, child in ipairs(character:GetChildren()) do
if child:IsA("BillboardGui") or child.Name == "NameDisplay" then
child:Destroy()
end
end
for _, desc in ipairs(character:GetDescendants()) do
if desc:IsA("BillboardGui") or desc.Name == "NameDisplay" then
desc:Destroy()
end
end
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
if humanoid.DisplayDistanceType then
humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
end
if humanoid.NameDisplayDistance then
humanoid.NameDisplayDistance = 0
end
humanoid.NameOcclusion = Enum.NameOcclusion.NoOcclusion
humanoid.DisplayName = ""
end
end
-- Utility: Freeze all limbs (prevent movement)
local function freezeAllLimbs(character)
for _, desc in ipairs(character:GetDescendants()) do
if desc:IsA("Motor6D") then
desc.Enabled = false
elseif desc:IsA("BasePart") then
desc.Anchored = true
desc.CanCollide = true
if desc:FindFirstChild("Velocity") then
desc.Velocity = Vector3.new(0,0,0)
end
if desc:FindFirstChild("RotVelocity") then
desc.RotVelocity = Vector3.new(0,0,0)
end
end
end
end
-- Utility: Encase a character (player or NPC) in ice and kill
local function encaseCharacterInIce(character)
if not character or not character:IsA("Model") then return end
if character:FindFirstChild("IceEncased") then return end
local hrp = character:FindFirstChild("HumanoidRootPart")
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if not hrp or not humanoid then return end
-- Mark as encased
local flag = Instance.new("BoolValue")
flag.Name = "IceEncased"
flag.Value = true
flag.Parent = character
humanoid.BreakJointsOnDeath = false
makeCharacterCompletelyBlack(character)
hideCharacterNameDisplay(character)
freezeAllLimbs(character)
humanoid.PlatformStand = true
local modelCFrame, modelSize = character:GetBoundingBox()
local iceSize = modelSize + Vector3.new(25,25,25)
local iceBlock = Instance.new("Part")
iceBlock.Name = "IceEncasement"
iceBlock.Size = iceSize
iceBlock.CFrame = modelCFrame
iceBlock.Material = Enum.Material.Ice
iceBlock.Transparency = 0.3
iceBlock.BrickColor = BrickColor.new("Bright blue")
iceBlock.CanCollide = true
iceBlock.Anchored = false
iceBlock.Parent = character
local weld = Instance.new("WeldConstraint")
weld.Part0 = hrp
weld.Part1 = iceBlock
weld.Parent = iceBlock
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://6092902279"
sound.Volume = 5
sound.Parent = hrp
sound:Play()
sound.Ended:Connect(function()
sound:Destroy()
end)
humanoid:TakeDamage(99999)
humanoid.Health = 0
humanoid.MaxHealth = 0
end
-- Utility to turn all parts in Workspace white with Snow material
local function makeAllPartsWhiteSnow()
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") or obj:IsA("MeshPart") then
obj.Color = Color3.new(1, 1, 1)
obj.Material = Enum.Material.Snow
end
end
end
-- Utility to apply the "SoCold...WhyIsItSoCold..?" ColorCorrectionEffect to Lighting
local function applySoColdEffect()
-- Remove any existing effect with the same name
local existing = Lighting:FindFirstChild("SoCold...WhyIsItSoCold..?")
if existing then
existing:Destroy()
end
local SoColdWhyIsItSoCold = Instance.new("ColorCorrectionEffect")
SoColdWhyIsItSoCold.Name = "SoCold...WhyIsItSoCold..?"
SoColdWhyIsItSoCold.Saturation = -0.5
SoColdWhyIsItSoCold.Contrast = 1
SoColdWhyIsItSoCold.TintColor = Color3.fromRGB(0, 234, 255)
SoColdWhyIsItSoCold.Brightness = -0.15
SoColdWhyIsItSoCold.Parent = Lighting
end
-- Utility to play an audio in workspace when Snowgrave is done
local function playSnowgraveEndAudio()
local sound = Instance.new("Sound")
sound.Name = "SnowgraveEnd"
-- Change the SoundId below to your desired audio asset
sound.SoundId = "rbxassetid://80473532165708" -- Example: Undertale - Silence (replace with your own if needed)
sound.Volume = 1
sound.Looped = true
sound.Pitch = 0.5
sound.Parent = workspace
sound:Play()
sound.Ended:Connect(function()
sound:Destroy()
end)
end
-- Utility to stop all currently playing audio in the game except the lift SFX
local function stopAllAudioExceptLift(liftSounds)
for _, obj in ipairs(game:GetDescendants()) do
if obj:IsA("Sound") and obj.IsPlaying then
local isLift = false
for _, lift in ipairs(liftSounds) do
if obj == lift then
isLift = true
break
end
end
if not isLift then
obj:Stop()
end
end
end
end
local function createToolAndHandle(character)
-- Create the tool (no handle required)
local tool = Instance.new("Tool")
tool.Name = "GIGAGRAV"
tool.Parent = player.Backpack
tool.ToolTip = "THIS WILL LITERALLY CHANGE THE SERVER."
tool.RequiresHandle = false
tool.Activated:Connect(function()
local hrp = character:FindFirstChild("HumanoidRootPart")
if not hrp then return end
-- Create and play the lift sounds (parented to the HRP)
local liftSound = Instance.new("Sound")
liftSound.SoundId = "rbxassetid://7527981537"
liftSound.Volume = 10
liftSound.Pitch = 0.25
liftSound.MinDistance = 9999
liftSound.MaxDistance = 99999
liftSound.Looped = false
liftSound.Parent = hrp
liftSound:Play()
local liftSound2 = Instance.new("Sound")
liftSound2.SoundId = "rbxassetid://7527981537"
liftSound2.Volume = 10
liftSound2.Pitch = 0.35
liftSound2.MinDistance = 9999
liftSound2.MaxDistance = 99999
liftSound2.Looped = false
liftSound2.Parent = hrp
liftSound2:Play()
local liftSounds = {liftSound, liftSound2}
-- Lift the player upward using BodyVelocity
local bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.Velocity = Vector3.new(0, 35, 0)
bodyVelocity.MaxForce = Vector3.new(0, math.huge, 0)
bodyVelocity.Parent = hrp
task.delay(4, function()
bodyVelocity.Velocity = Vector3.new(0, 0, 0)
bodyVelocity.MaxForce = Vector3.new(0, math.huge, 0)
end)
task.delay(20, function()
if bodyVelocity then
bodyVelocity:Destroy()
end
end)
-- Spawn the Snowgrave hitbox after a brief delay
task.delay(2, function()
-- <<<<<<<<<<< STOP ALL AUDIO EXCEPT LIFT SFX >>>>>>>>>>
stopAllAudioExceptLift(liftSounds)
-- <<<<<<<<<<< SNOW EFFECT: Make all parts white with snow material >>>>>>>>>>
makeAllPartsWhiteSnow()
-- <<<<<<<<<<< LIGHTING EFFECT: Apply SoCold...WhyIsItSoCold..? >>>>>>>>>>
applySoColdEffect()
-- <<<<<<<<<<< END SNOW/LIGHTING EFFECTS >>>>>>>>>>
local hrpCFrame = hrp.CFrame
local hitboxCFrame = hrpCFrame * CFrame.new(0, 0, 0)
local SnowgraveHitbox = Instance.new("Part")
SnowgraveHitbox.Name = "Snowgrave Hitbox"
SnowgraveHitbox.CFrame = hitboxCFrame
SnowgraveHitbox.BottomSurface = Enum.SurfaceType.Smooth
SnowgraveHitbox.Transparency = 0.99
SnowgraveHitbox.TopSurface = Enum.SurfaceType.Smooth
SnowgraveHitbox.Color = Color3.fromRGB(0, 94, 165)
SnowgraveHitbox.Material = Enum.Material.Neon
SnowgraveHitbox.Size = Vector3.new(9999, 9999, 9999)
SnowgraveHitbox.CanCollide = false
SnowgraveHitbox.Anchored = true
SnowgraveHitbox.Parent = workspace
-- Create the particle part as a child of the hitbox
local SnowgraveParticle = Instance.new("Part")
SnowgraveParticle.Name = "Snowgrave Particle"
SnowgraveParticle.CFrame = SnowgraveHitbox.CFrame * CFrame.new(0, -64.75, 0)
SnowgraveParticle.BottomSurface = Enum.SurfaceType.Smooth
SnowgraveParticle.Transparency = 1
SnowgraveParticle.CanCollide = false
SnowgraveParticle.Anchored = true
SnowgraveParticle.TopSurface = Enum.SurfaceType.Smooth
SnowgraveParticle.Material = Enum.Material.Neon
SnowgraveParticle.Size = Vector3.new(9999, 9999, 9999)
SnowgraveParticle.Parent = SnowgraveHitbox
-- Configure the particle emitter on the SnowgraveParticle (ten copies)
local function setupEmitter(parent)
local emitter = Instance.new("ParticleEmitter")
emitter.LightInfluence = 1
emitter.Lifetime = NumberRange.new(0.77, 0.77)
emitter.LockedToPart = true
emitter.LightEmission = 0.15
emitter.Color = ColorSequence.new(Color3.fromRGB(138, 234, 255))
emitter.Speed = NumberRange.new(170, 170)
emitter.Size = NumberSequence.new(555)
emitter.Rate = 500
emitter.Texture = "rbxassetid://7885380523"
emitter.Parent = parent
return emitter
end
local ParticleEmitter = setupEmitter(SnowgraveParticle)
local ParticleEmitter2 = setupEmitter(SnowgraveParticle)
local ParticleEmitter3 = setupEmitter(SnowgraveParticle)
local ParticleEmitter4 = setupEmitter(SnowgraveParticle)
local ParticleEmitter5 = setupEmitter(SnowgraveParticle)
local ParticleEmitter6 = setupEmitter(SnowgraveParticle)
local ParticleEmitter7 = setupEmitter(SnowgraveParticle)
local ParticleEmitter8 = setupEmitter(SnowgraveParticle)
local ParticleEmitter9 = setupEmitter(SnowgraveParticle)
local ParticleEmitter10 = setupEmitter(SnowgraveParticle)
-- Weld the particle part to the hitbox to maintain their relative offset
local WeldConstraint = Instance.new("WeldConstraint")
WeldConstraint.Part0 = SnowgraveHitbox
WeldConstraint.Part1 = SnowgraveParticle
WeldConstraint.Parent = SnowgraveHitbox
-- Drain effect: continuously reduce health and apply upward velocity to all other humanoids every 0.2 seconds
spawn(function()
while SnowgraveHitbox and SnowgraveHitbox.Parent do
for _, obj in pairs(workspace:GetDescendants()) do
if obj:IsA("Humanoid") and obj.Parent then
-- Exclude the activator's humanoid
if obj ~= character:FindFirstChildOfClass("Humanoid") then
local humRoot = obj.Parent:FindFirstChild("HumanoidRootPart")
if humRoot then
local relativePos = SnowgraveHitbox.CFrame:PointToObjectSpace(humRoot.Position)
local halfSize = SnowgraveHitbox.Size * 0.5
if math.abs(relativePos.X) <= halfSize.X and
math.abs(relativePos.Y) <= halfSize.Y and
math.abs(relativePos.Z) <= halfSize.Z then
-- Only apply if not already encased
if not obj.Parent:FindFirstChild("IceEncased") then
-- Drain 20 health points
local willBeFatal = obj.Health <= 50
obj.Health = math.max(obj.Health - 50, 0)
local upForce = Vector3.new(0, 50, 0)
local existing = humRoot:FindFirstChild("SnowgraveUpForce")
if not existing then
existing = Instance.new("BodyVelocity")
existing.Name = "SnowgraveUpForce"
existing.Velocity = Vector3.new(0, 0, 0)
existing.MaxForce = Vector3.new(0, math.huge, 0)
existing.P = 1250
existing.Parent = humRoot
end
existing.Velocity = existing.Velocity + upForce
spawn(function()
task.wait(0.2)
if existing and existing.Parent then
existing.Velocity = existing.Velocity - upForce
if existing.Velocity == Vector3.new(0, 0, 0) then
existing:Destroy()
end
end
end)
-- If fatal, encase in ice
if willBeFatal then
encaseCharacterInIce(obj.Parent)
end
end
end
end
end
end
end
task.wait(0.2)
end
end)
-- After 15 seconds, disable the emitters then remove the hitbox after an additional 3-second delay
task.delay(15, function()
ParticleEmitter.Enabled = false
ParticleEmitter2.Enabled = false
ParticleEmitter3.Enabled = false
ParticleEmitter4.Enabled = false
ParticleEmitter5.Enabled = false
ParticleEmitter6.Enabled = false
ParticleEmitter7.Enabled = false
ParticleEmitter8.Enabled = false
ParticleEmitter9.Enabled = false
ParticleEmitter10.Enabled = false
task.delay(3, function()
if SnowgraveHitbox then
SnowgraveHitbox:Destroy()
end
-- <<<<<<<<<<< PLAY END AUDIO >>>>>>>>>>
playSnowgraveEndAudio()
end)
end)
end)
end)
end
if player.Character then
createToolAndHandle(player.Character)
else
player.CharacterAdded:Connect(function(character)
createToolAndHandle(character)
end)
end
make it that it creates a snowing from the sky effect that lasts forever (like a weather thing) when the snowgrave ends.