How do I create a fling pad?

You sent the script the same time I did, but yes yours is valid. Mine is the same, only different in some specific cases

Hm… the code we all wrote doesn’t seem to work. Roblox isn’t letting me fling the player, which is strange.

Edit: I changed it to UpVector instead of LookVector because of how my part was oriented

But is it working now? And if not then try it with separate parts, perhaps is something to do with the root part

It doesn’t work whatsoever. I think i probably have to exert it on every part in the character

Back from a quick thing I needed to do… I will test both of these rq and will let yall know when it is done. Shouldn’t take but a minute.

Yea it isn’t working. I think we might need to add a debounce.

Edit: didn’t work bruh

I think I have an idea… Try to get the code from Blockate… Idk though it’s just a thought. Brb

Update: It seems to work fine with parts, but not the character

Oof and Oof. Both I can’t get the code and that your right…

I vamped up the power and tested it on a dummy. It seemed to work fine, but it doesn’t work on players.

The only thing left I can think of is some conveyor belt or something… But last time it didn’t work.

I do not know if its possible but, what if a wall (Transparent, can collide off) was where you walk off, and once you pass through, your camera follows the rig as if it was still the player. Then the rig would fling and would look like the player is flung and when he hits the path he gets his score.

  • Transparent | Can’t collide
  • Player walks through | Leaves the rig, but camera follows it
  • Rig gets flinged, gives player the points
  • Player push a reset button | Score not affected, player goes back to the lobby inside of the rig again

I mean it is possible but very hard to really get it right

How would have Blockate done it for the cannon blocks… They must have used some other things. :thinking:

Guys, the answer was supper simple, just set the pad anchored and give it some velocity.

script.Parent.Touched:Connect(function(hit)
	local bv = Instance.new("BodyVelocity")
	bv.Parent = hit
	bv.Velocity = script.Parent.CFrame.UpVector * 100

	wait(.5)

	bv:Destroy()

end)

Got it to work but the method is so scuffed i refuse to take pride in it

1 Like

It is really hard to control how much you bounce though.

local Debris = game:GetService("Debris")
script.Parent.Touched:Connect(function(other: BasePart)
    local model = other:FindFirstAncestorWhichIsA("Model")
    
    -- This if statement checks if the model exists and that it is a character model.
    if model and model:FindFirstChildWhichIsA("Humanoid") then
        -- We're gonna have to do some extra work
        local humanoid = model:FindFirstChildWhichIsA("Humanoid")
        
        local velocity = Instance.new("BodyVelocity")
        velocity.Velocity = Vector3.new(0, 100, 0)
        velocity.MaxForce = Vector3.new(0, math.huge, 0) -- I am tired
        velocity.Parent = humanoid.RootPart
        
        humanoid.PlatformStand = true
        Debris:AddItem(velocity, 0.3)
        
        -- Make sure the humanoid gets up again
        task.delay(1, function()
            humanoid.PlatformStand = false
        end)
        
        return
    end
    
    -- It's not a character, so just apply an impulse to the part that hit it
    other:ApplyImpulse(Vector3.new(0, 100, 0))
end)

I got something to work.
I am mad that ApplyImpulse doesn’t work on the root part.

1 Like

YES! YOU SOLVED IT! I think it was the platform stand

It is nearly correct. Just use a parts lookvector and multiply it should look like this

script.Parent.Touched:Connect(function(getHumanoid)
  getHumanoid.Parent.HumanoidRootPart.Velocity = script.Parent.CFrame.LookVector * 100
end)