--════════════════════════════════════════════════════════════════ -- 🔴 GLOW THROW v12 --════════════════════════════════════════════════════════════════ repeat task.wait() until game:IsLoaded() local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") repeat task.wait() until Players.LocalPlayer local LocalPlayer = Players.LocalPlayer local playerGui = LocalPlayer:WaitForChild("PlayerGui") local camera = workspace.CurrentCamera local CONFIG = { throwSpeed = 90, throwUpward = 12, size = 1.2, colorRed = Color3.fromRGB(255, 40, 40), colorWhite = Color3.fromRGB(255, 255, 255), lightColorRed = Color3.fromRGB(255, 80, 80), lightColorWhite = Color3.fromRGB(255, 255, 255), lightRange = 30, lightBrightness = 3, cooldown = 0.8, glowTime = 8, fadeTime = 1.5, beamThickness = 0.25, fakeParent = true, -- 🔥 effect flingForward = 40, flingUp = 25, burnTime = 4, ragdollTime = 0.5, } local canThrow = true local oldGui = playerGui:FindFirstChild("GlowThrowGui") if oldGui then oldGui:Destroy() end local throwSound = Instance.new("Sound") throwSound.SoundId = "rbxassetid://6042053626" throwSound.Volume = 2 throwSound.PlaybackSpeed = 1.3 throwSound.Parent = playerGui -- ═════════ GUI ═════════ local gui = Instance.new("ScreenGui") gui.Name = "GlowThrowGui" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.DisplayOrder = 150 gui.Parent = playerGui local throwBtn = Instance.new("TextButton") throwBtn.Size = UDim2.new(0, 80, 0, 80) throwBtn.Position = UDim2.new(1, -100, 1, -320) throwBtn.AnchorPoint = Vector2.new(1, 1) throwBtn.BackgroundColor3 = Color3.fromRGB(180, 30, 30) throwBtn.BackgroundTransparency = 0.15 throwBtn.Text = "🔴" throwBtn.TextColor3 = Color3.fromRGB(255, 255, 255) throwBtn.TextSize = 36 throwBtn.Font = Enum.Font.GothamBold throwBtn.BorderSizePixel = 0 throwBtn.AutoButtonColor = false throwBtn.Parent = gui Instance.new("UICorner", throwBtn).CornerRadius = UDim.new(1, 0) local throwStroke = Instance.new("UIStroke") throwStroke.Color = Color3.fromRGB(255, 100, 100) throwStroke.Thickness = 3 throwStroke.Transparency = 0.3 throwStroke.Parent = throwBtn task.spawn(function() while gui.Parent do if canThrow then throwStroke.Transparency = 0.1 + math.abs(math.sin(tick() * 3)) * 0.4 throwBtn.BackgroundTransparency = 0.05 + math.abs(math.sin(tick() * 3)) * 0.15 end task.wait(0.05) end end) --════════════════════════════════════════════════════════════════ -- 🎯 MONSTER --════════════════════════════════════════════════════════════════ local function findMonster() for _, obj in ipairs(workspace:GetDescendants()) do if (obj:IsA("BasePart") or obj:IsA("Model")) and obj.Name:lower() == "monster" then return obj end end return nil end local function getMonsterPart(monster) if not monster or not monster.Parent then return nil end if monster:IsA("BasePart") then return monster end if monster:IsA("Model") then if monster.PrimaryPart then return monster.PrimaryPart end return monster:FindFirstChildWhichIsA("BasePart", true) end return nil end --════════════════════════════════════════════════════════════════ -- 📏 BEAM LINE --════════════════════════════════════════════════════════════════ local function createBeamLine(ball, monster) local ballAtt = Instance.new("Attachment") ballAtt.Position = Vector3.zero ballAtt.Parent = ball local beam = Instance.new("Beam") beam.Attachment0 = ballAtt beam.Attachment1 = nil beam.Width0 = CONFIG.beamThickness beam.Width1 = CONFIG.beamThickness beam.Color = ColorSequence.new(Color3.fromRGB(255, 255, 255)) beam.Transparency = NumberSequence.new(0) beam.FaceCamera = true beam.LightEmission = 1 beam.Segments = 2 beam.Parent = ball local monsterAtt = nil local conn conn = RunService.Heartbeat:Connect(function() if not ball or not ball.Parent then if conn then conn:Disconnect() end if monsterAtt then monsterAtt:Destroy() end return end local currentMonster = monster if not currentMonster or not currentMonster.Parent then currentMonster = findMonster() end if not currentMonster then if monsterAtt then pcall(function() monsterAtt:Destroy() end) monsterAtt = nil end beam.Enabled = false return end local monsterPart = getMonsterPart(currentMonster) if not monsterPart then beam.Enabled = false return end if not monsterAtt or monsterAtt.Parent ~= monsterPart then if monsterAtt then monsterAtt:Destroy() end monsterAtt = Instance.new("Attachment") monsterAtt.Position = Vector3.zero monsterAtt.Parent = monsterPart beam.Attachment1 = monsterAtt end beam.Enabled = true end) return beam, conn end --════════════════════════════════════════════════════════════════ -- effects --════════════════════════════════════════════════════════════════ local function applyHitEffect(plr, hitPart) local char = plr.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return end -- local originalCFrame = hrp.CFrame -- local direction = camera.CFrame.LookVector hrp.AssemblyLinearVelocity = direction * CONFIG.flingForward + Vector3.new(0, CONFIG.flingUp, 0) hrp.AssemblyAngularVelocity = Vector3.new( (math.random() - 0.5) * 20, (math.random() - 0.5) * 20, (math.random() - 0.5) * 20 ) -- hum.PlatformStand = true task.delay(CONFIG.ragdollTime, function() if hum and hum.Parent then hum.PlatformStand = false end end) -- local fireObjects = {} for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then local fire = Instance.new("Fire") fire.Name = "HitFire" fire.Heat = 20 fire.Size = 5 fire.Color = Color3.fromRGB(255, 180, 60) fire.SecondaryColor = Color3.fromRGB(255, 80, 20) fire.Parent = part table.insert(fireObjects, fire) local light = Instance.new("PointLight") light.Name = "HitFireLight" light.Color = Color3.fromRGB(255, 120, 40) light.Range = 12 light.Brightness = 4 light.Shadows = false light.Parent = part table.insert(fireObjects, light) end end -- 🔊 Звук огня local fireSound = Instance.new("Sound") fireSound.SoundId = "rbxassetid://6042053626" fireSound.Volume = 1.5 fireSound.PlaybackSpeed = 0.8 fireSound.Looped = true fireSound.Parent = hrp fireSound:Play() table.insert(fireObjects, fireSound) -- thing local fireEmitter = Instance.new("ParticleEmitter") fireEmitter.Texture = "rbxasset://textures/particles/fire_main.dds" fireEmitter.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 220, 100)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 120, 30)), ColorSequenceKeypoint.new(1, Color3.fromRGB(200, 40, 10)) }) fireEmitter.Size = NumberSequence.new({ NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(1, 0) }) fireEmitter.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.3), NumberSequenceKeypoint.new(1, 1) }) fireEmitter.Lifetime = NumberRange.new(0.5, 1) fireEmitter.Speed = NumberRange.new(3, 8) fireEmitter.SpreadAngle = Vector2.new(180, 180) fireEmitter.Rate = 50 fireEmitter.LightEmission = 1 fireEmitter.Parent = hrp table.insert(fireObjects, fireEmitter) task.delay(CONFIG.burnTime, function() if not char or not char.Parent then return end if not hrp or not hrp.Parent then return end hrp.Anchored = true hrp.AssemblyLinearVelocity = Vector3.zero hrp.AssemblyAngularVelocity = Vector3.zero hrp.CFrame = originalCFrame task.wait(0.05) hrp.Anchored = false for _, obj in ipairs(fireObjects) do if obj and obj.Parent then if obj:IsA("Fire") then TweenService:Create(obj, TweenInfo.new(0.5), {Size = 0}):Play() task.delay(0.5, function() if obj.Parent then obj:Destroy() end end) elseif obj:IsA("PointLight") then TweenService:Create(obj, TweenInfo.new(0.5), {Brightness = 0}):Play() task.delay(0.5, function() if obj.Parent then obj:Destroy() end end) elseif obj:IsA("ParticleEmitter") then obj.Enabled = false task.delay(1, function() if obj.Parent then obj:Destroy() end end) elseif obj:IsA("Sound") then obj:Stop() task.delay(0.5, function() if obj.Parent then obj:Destroy() end end) end end end end) end --════════════════════════════════════════════════════════════════ -- ball create --════════════════════════════════════════════════════════════════ local function createGlowBall() local char = LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end local monster = findMonster() local hasMonster = monster ~= nil local ballColor = hasMonster and CONFIG.colorWhite or CONFIG.colorRed local lightColor = hasMonster and CONFIG.lightColorWhite or CONFIG.lightColorRed local direction = camera.CFrame.LookVector local startPos = hrp.Position + direction * 2 + Vector3.new(0, 1.5, 0) local container = Instance.new("Folder") container.Name = CONFIG.fakeParent and ("Effect" .. math.random(1000, 9999)) or "GlowBall" container.Parent = workspace local ball = Instance.new("Part") ball.Name = "Ball" ball.Shape = Enum.PartType.Ball ball.Size = Vector3.new(CONFIG.size, CONFIG.size, CONFIG.size) ball.Material = Enum.Material.Neon ball.Color = ballColor ball.CanCollide = true ball.Anchored = false ball.CFrame = CFrame.new(startPos) ball.Parent = container local core = Instance.new("Part") core.Name = "Core" core.Shape = Enum.PartType.Ball core.Size = Vector3.new(CONFIG.size * 1.2, CONFIG.size * 1.2, CONFIG.size * 1.2) core.Material = Enum.Material.Neon core.Color = hasMonster and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(255, 200, 200) core.CanCollide = false core.CanQuery = false core.CanTouch = false core.Anchored = false core.Massless = true core.Transparency = 0.4 core.CFrame = ball.CFrame core.Parent = container local cw = Instance.new("WeldConstraint") cw.Part0 = core; cw.Part1 = ball; cw.Parent = core local light = Instance.new("PointLight") light.Color = lightColor light.Range = CONFIG.lightRange light.Brightness = CONFIG.lightBrightness light.Shadows = true light.Parent = ball local smoke = Instance.new("ParticleEmitter") smoke.Texture = "rbxasset://textures/particles/smoke_main.dds" smoke.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(80, 80, 80)), ColorSequenceKeypoint.new(1, Color3.fromRGB(180, 180, 180)) }) smoke.Size = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.8), NumberSequenceKeypoint.new(1, 2) }) smoke.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.5), NumberSequenceKeypoint.new(1, 1) }) smoke.Lifetime = NumberRange.new(1.2, 2) smoke.Speed = NumberRange.new(2, 5) smoke.SpreadAngle = Vector2.new(180, 180) smoke.Rate = 8 smoke.LightEmission = 0.3 smoke.Parent = ball local sparks = Instance.new("ParticleEmitter") sparks.Texture = "rbxassetid://287090261" sparks.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 220, 120)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 80, 40)) }) sparks.Size = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.4), NumberSequenceKeypoint.new(1, 0) }) sparks.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(1, 1) }) sparks.Lifetime = NumberRange.new(0.5, 1) sparks.Speed = NumberRange.new(6, 15) sparks.SpreadAngle = Vector2.new(180, 180) sparks.Rate = 10 sparks.LightEmission = 1 sparks.Acceleration = Vector3.new(0, -20, 0) sparks.Parent = ball local att0 = Instance.new("Attachment") att0.Position = Vector3.new(0, 0.5, 0) att0.Parent = ball local att1 = Instance.new("Attachment") att1.Position = Vector3.new(0, -0.5, 0) att1.Parent = ball local trail = Instance.new("Trail") trail.Attachment0 = att0 trail.Attachment1 = att1 trail.Lifetime = 0.5 trail.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, ballColor), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 220, 220)) }) trail.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0.2), NumberSequenceKeypoint.new(1, 1) }) trail.WidthScale = NumberSequence.new(2) trail.LightEmission = 1 trail.Parent = ball ball.AssemblyLinearVelocity = direction * CONFIG.throwSpeed + Vector3.new(0, CONFIG.throwUpward, 0) ball.AssemblyAngularVelocity = Vector3.new( (math.random() - 0.5) * 10, (math.random() - 0.5) * 10, (math.random() - 0.5) * 10 ) local line, lineConn = nil, nil if hasMonster then line, lineConn = createBeamLine(ball, monster) end return container, ball, light, core, line, lineConn end --════════════════════════════════════════════════════════════════ -- stop --════════════════════════════════════════════════════════════════ local function startGlowing(container, ball, light, core, line, lineConn) if not container or not container.Parent then return end ball.Anchored = true ball.AssemblyLinearVelocity = Vector3.zero ball.AssemblyAngularVelocity = Vector3.zero local pulseConn pulseConn = RunService.Heartbeat:Connect(function() if not container or not container.Parent then if pulseConn then pulseConn:Disconnect() end return end if light and light.Parent then light.Brightness = CONFIG.lightBrightness + math.sin(tick() * 4) * 1.5 end end) task.delay(CONFIG.glowTime, function() if not container or not container.Parent then return end if pulseConn then pulseConn:Disconnect() end if lineConn then lineConn:Disconnect() end local fadeInfo = TweenInfo.new(CONFIG.fadeTime, Enum.EasingStyle.Quad, Enum.EasingDirection.In) TweenService:Create(ball, fadeInfo, {Transparency = 1}):Play() TweenService:Create(core, fadeInfo, {Transparency = 1}):Play() TweenService:Create(light, fadeInfo, {Brightness = 0}):Play() for _, obj in ipairs(container:GetDescendants()) do if obj:IsA("ParticleEmitter") then obj.Enabled = false end end task.wait(CONFIG.fadeTime + 0.2) if container then container:Destroy() end end) end --════════════════════════════════════════════════════════════════ -- throw --════════════════════════════════════════════════════════════════ local function doThrow() if not canThrow then return end canThrow = false local s = throwSound:Clone() s.Parent = playerGui s:Play() task.delay(2, function() s:Destroy() end) local origG = workspace.Gravity workspace.Gravity = origG * 0.5 task.delay(0.15, function() workspace.Gravity = origG end) local container, ball, light, core, line, lineConn = createGlowBall() if not container then canThrow = true return end local stopped = false local hitPlayers = {} ball.Touched:Connect(function(hit) if stopped then return end if hit:IsDescendantOf(LocalPlayer.Character) then return end if hit:IsDescendantOf(container) then return end -- player check local hitChar = hit:FindFirstAncestorOfClass("Model") local hitPlayer = hitChar and Players:GetPlayerFromCharacter(hitChar) if hitPlayer and not hitPlayers[hitPlayer] then hitPlayers[hitPlayer] = true applyHitEffect(hitPlayer, hit) end stopped = true task.wait(0.05) startGlowing(container, ball, light, core, line, lineConn) end) task.delay(6, function() if not stopped and container and container.Parent then stopped = true startGlowing(container, ball, light, core, line, lineConn) end end) task.delay(CONFIG.cooldown, function() canThrow = true end) end --════════════════════════════════════════════════════════════════ -- ow --════════════════════════════════════════════════════════════════ throwBtn.MouseButton1Click:Connect(doThrow) throwBtn.TouchTap:Connect(doThrow) UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.E then doThrow() end end) print("[Glow Throw v12]")