-- 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.")