
Key RequiredUniversal

-- Script em ServerScriptService
-- Classic Speed Coil + Gravity Coil
-- Startup message added
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
-- Configurações
local SPEED_COIL_SPEED = 32
local GRAVITY_REDUCTION = 0.75
-- Assets clássicos
local MESH_ID = "rbxassetid://16606212"
-- Texturas do mesh
local SPEED_MESH_TEXTURE = "rbxassetid://99170547"
local GRAVITY_MESH_TEXTURE = "rbxassetid://16606141"
-- Ícones do inventário
local SPEED_ICON = "rbxassetid://99170415"
local GRAVITY_ICON = "rbxassetid://16619617"
local SPEED_SOUND = "rbxassetid://99173388"
local GRAVITY_SOUND = "rbxassetid://16619553"
-- ===================== STARTUP MESSAGE =====================
local function createStartupMessage(player)
local playerGui = player:WaitForChild("PlayerGui")
-- Prevent duplicates
if playerGui:FindFirstChild("ZoewarStartup") then
return
end
local gui = Instance.new("ScreenGui")
gui.Name = "ZoewarStartup"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.DisplayOrder = 999
gui.Parent = playerGui
local background = Instance.new("Frame")
background.Name = "Background"
background.AnchorPoint = Vector2.new(0.5, 0.5)
background.Position = UDim2.fromScale(0.5, 0.5)
background.Size = UDim2.fromOffset(270, 90)
background.BackgroundColor3 = Color3.fromRGB(10, 15, 25)
background.BackgroundTransparency = 0.35
background.BorderSizePixel = 0
background.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 14)
corner.Parent = background
-- Frosted glass effect
local blur = Instance.new("BlurEffect")
blur.Name = "MessageBlur"
blur.Size = 0
blur.Parent = game:GetService("Lighting")
local title = Instance.new("TextLabel")
title.Name = "Title"
title.BackgroundTransparency = 1
title.AnchorPoint = Vector2.new(0.5, 0.5)
title.Position = UDim2.fromScale(0.5, 0.38)
title.Size = UDim2.new(1, -20, 0, 28)
title.Font = Enum.Font.GothamBold
title.Text = "Made by _Zoewar_"
title.TextColor3 = Color3.fromRGB(60, 160, 255)
title.TextSize = 20
title.TextTransparency = 1
title.Parent = background
local subtitle = Instance.new("TextLabel")
subtitle.Name = "Subtitle"
subtitle.BackgroundTransparency = 1
subtitle.AnchorPoint = Vector2.new(0.5, 0.5)
subtitle.Position = UDim2.fromScale(0.5, 0.68)
subtitle.Size = UDim2.new(1, -20, 0, 22)
subtitle.Font = Enum.Font.Gotham
subtitle.Text = "on tiktok only"
subtitle.TextColor3 = Color3.fromRGB(60, 160, 255)
subtitle.TextSize = 13
subtitle.TextTransparency = 1
subtitle.Parent = background
-- Smooth entrance
TweenService:Create(
title,
TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{TextTransparency = 0}
):Play()
TweenService:Create(
subtitle,
TweenInfo.new(0.6, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{TextTransparency = 0}
):Play()
TweenService:Create(
blur,
TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
{Size = 8}
):Play()
-- Display time
task.wait(2.5)
-- Smooth disappearance
local fadeInfo = TweenInfo.new(
0.8,
Enum.EasingStyle.Quad,
Enum.EasingDirection.InOut
)
TweenService:Create(background, fadeInfo, {
BackgroundTransparency = 1
}):Play()
TweenService:Create(title, fadeInfo, {
TextTransparency = 1
}):Play()
TweenService:Create(subtitle, fadeInfo, {
TextTransparency = 1
}):Play()
local blurTween = TweenService:Create(blur, fadeInfo, {
Size = 0
})
blurTween:Play()
blurTween.Completed:Wait()
blur:Destroy()
gui:Destroy()
end
Players.PlayerAdded:Connect(function(player)
task.spawn(function()
createStartupMessage(player)
end)
end)
for _, player in ipairs(Players:GetPlayers()) do
task.spawn(function()
createStartupMessage(player)
end)
end
-- ===================== CONTROLE DAS MOLAS =====================
local speedConnections = {}
local gravityConnections = {}
local function removeSpeedEffect(player)
local data = speedConnections[player]
if data then
if data.connection then
data.connection:Disconnect()
end
speedConnections[player] = nil
end
local character = player.Character
if character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.WalkSpeed = 16
end
end
end
local function applySpeedEffect(player, tool)
removeSpeedEffect(player)
local character = player.Character
if not character then
return
end
local humanoid = character:FindFirstChildOfClass("Humanoid")
if not humanoid then
return
end
humanoid.WalkSpeed = SPEED_COIL_SPEED
local handle = tool:FindFirstChild("Handle")
local sound = handle and handle:FindFirstChild("CoilSound")
if sound then
sound:Play()
end
speedConnections[player] = {
connection = tool.Unequipped:Connect(function()
removeSpeedEffect(player)
end)
}
end
local function removeGravityEffect(player)
local data = gravityConnections[player]
if data then
if data.connection then
data.connection:Disconnect()
end
if data.heartbeat then
data.heartbeat:Disconnect()
end
gravityConnections[player] = nil
end
local character = player.Character
if character then
local root = character:FindFirstChild("HumanoidRootPart")
if root then
local force = root:FindFirstChild("GravityCoilEffect")
if force then
force:Destroy()
end
end
end
end
local function applyGravityEffect(player, tool)
removeGravityEffect(player)
local character = player.Character
if not character then
return
end
local humanoid = character:FindFirstChildOfClass("Humanoid")
local root = character:FindFirstChild("HumanoidRootPart")
if not humanoid or not root then
return
end
local handle = tool:FindFirstChild("Handle")
local sound = handle and handle:FindFirstChild("CoilSound")
if sound then
sound:Play()
end
local force = Instance.new("BodyForce")
force.Name = "GravityCoilEffect"
force.Parent = root
local mass = root.AssemblyMass
local gravity = workspace.Gravity
force.Force = Vector3.new(
0,
mass * gravity * GRAVITY_REDUCTION,
0
)
local oldJumpPower = humanoid.JumpPower
local oldJumpHeight = humanoid.JumpHeight
local useJumpPower = humanoid.UseJumpPower
if useJumpPower then
humanoid.JumpPower = 75
else
humanoid.JumpHeight = 18
end
local connection
local heartbeat
connection = tool.Unequipped:Connect(function()
if connection then
connection:Disconnect()
end
if heartbeat then
heartbeat:Disconnect()
end
if force then
force:Destroy()
end
if humanoid and humanoid.Parent then
if useJumpPower then
humanoid.JumpPower = oldJumpPower
else
humanoid.JumpHeight = oldJumpHeight
end
end
gravityConnections[player] = nil
end)
heartbeat = RunService.Heartbeat:Connect(function()
if not tool.Parent
or tool.Parent ~= character
or not character.Parent
or not humanoid.Parent
or not root.Parent then
removeGravityEffect(player)
return
end
local currentMass = root.AssemblyMass
force.Force = Vector3.new(
0,
currentMass * workspace.Gravity * GRAVITY_REDUCTION,
0
)
end)
gravityConnections[player] = {
connection = connection,
heartbeat = heartbeat
}
humanoid.Died:Connect(function()
removeGravityEffect(player)
end)
end
-- ===================== SPEED COIL =====================
local function createSpeedCoil(player)
local tool = Instance.new("Tool")
tool.Name = "Speed Coil"
tool.ToolTip = "Speed Up!"
tool.CanBeDropped = false
tool.RequiresHandle = true
tool.TextureId = SPEED_ICON
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Size = Vector3.new(1, 1.2, 2)
handle.CanCollide = false
handle.Massless = true
handle.Parent = tool
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = MESH_ID
mesh.TextureId = SPEED_MESH_TEXTURE
mesh.Scale = Vector3.new(0.7, 0.7, 0.7)
mesh.Parent = handle
local sound = Instance.new("Sound")
sound.Name = "CoilSound"
sound.SoundId = SPEED_SOUND
sound.Volume = 1
sound.Parent = handle
tool.Equipped:Connect(function()
applySpeedEffect(player, tool)
end)
tool.Unequipped:Connect(function()
removeSpeedEffect(player)
end)
return tool
end
-- ===================== GRAVITY COIL =====================
local function createGravityCoil(player)
local tool = Instance.new("Tool")
tool.Name = "Gravity Coil"
tool.ToolTip = "Jump higher!"
tool.CanBeDropped = false
tool.RequiresHandle = true
tool.TextureId = GRAVITY_ICON
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Size = Vector3.new(1, 1.2, 2)
handle.CanCollide = false
handle.Massless = true
handle.Parent = tool
local mesh = Instance.new("SpecialMesh")
mesh.MeshType = Enum.MeshType.FileMesh
mesh.MeshId = MESH_ID
mesh.TextureId = GRAVITY_MESH_TEXTURE
mesh.Scale = Vector3.new(0.7, 0.7, 0.7)
mesh.Parent = handle
local sound = Instance.new("Sound")
sound.Name = "CoilSound"
sound.SoundId = GRAVITY_SOUND
sound.Volume = 1
sound.Parent = handle
tool.Equipped:Connect(function()
applyGravityEffect(player, tool)
end)
tool.Unequipped:Connect(function()
removeGravityEffect(player)
end)
return tool
end
-- ===================== DELIVERY =====================
local function giveCoils(player)
local function onCharacterAdded(character)
task.wait(0.6)
local backpack = player:WaitForChild("Backpack")
if not backpack:FindFirstChild("Speed Coil")
and not character:FindFirstChild("Speed Coil") then
createSpeedCoil(player).Parent = backpack
end
if not backpack:FindFirstChild("Gravity Coil")
and not character:FindFirstChild("Gravity Coil") then
createGravityCoil(player).Parent = backpack
end
end
if player.Character then
onCharacterAdded(player.Character)
end
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(giveCoils)
for _, player in ipairs(Players:GetPlayers()) do
giveCoils(player)
end
print("Classic coils delivered with startup message.")No comments yet for this script.



