local ball = script.Parent
local debounce = false
local function resetVelocity()
ball.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
ball.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
end
local function stabilizeBall()
while ball.Parent and ball.Parent:IsA("Model") do
wait(1) -- Alle 1 Sekunde stabilisieren
resetVelocity()
end
end
ball.Touched:Connect(function(hit)
if debounce then return end
debounce = true
local character = hit.Parent
local player = game.Players:GetPlayerFromCharacter(character)
if player then
if ball.Parent == character then debounce = false return end
local leftLeg = character:FindFirstChild("Left Leg")
local rightLeg = character:FindFirstChild("Right Leg")
local targetLeg = leftLeg or rightLeg
if targetLeg then
for _, obj in pairs(ball:GetChildren()) do
if obj:IsA("Weld") or obj:IsA("WeldConstraint") or obj:IsA("Motor6D") then
obj:Destroy()
end
end
ball.Parent = character
ball.Anchored = false
ball.CanCollide = false
ball:SetNetworkOwner(nil)
ball.Position = targetLeg.Position + Vector3.new(0, 1, 0)
resetVelocity()
local motor = Instance.new("Motor6D")
motor.Part0 = targetLeg
motor.Part1 = ball
motor.C0 = CFrame.new(0, -1, 0)
motor.Parent = ball
-- Stabilisierung starten
task.spawn(stabilizeBall)
wait(0.2)
debounce = false
end
else
debounce = false
end
end)
** You are now Level 5! **