I'm not sure that link would help.
You can do the projectile motion by giving the ball two variables: vx and vy
Then the motion is done with one event:
Global number g=100
Every tick
--- ball: add g*dt to vy
--- ball: set y to self.y+self.vy*dt
--- ball: set X to self.x+self.vx*dt
g is the gravity value. Next you can do bouncing with:
Ball overlaps head
Ball: vy>0
--- Ball: set vy to -self.vy
--- ball: set vx to g*(otherhead.x-self.x)/(-2*self.vy)
So that will make the ball bounce back up to basically it's original height and vx is set so the ball will land on some other head.
That formula can be found by using these two projectile motion equations:
Y=y0+vy*t+0.5*g*t^2
X=x0+vx*t
Just solve for vx with the simplification of y=y0. Solve it without the simplification if you want the ball to land on different heights.
On a final note, you can make the height the ball bounces back to by changing the "set y" action to:
Ball: set y to self.y+self.vy*dt+0.5*g*dt*dt
And moving the set vy action below it.