The idea, right, is that you extend your laser until it hits something ?
Your event 3 works, but the problem is it doesn't stop in the repeat to update everything.
What you can do is
At the top of 1, Laser set Width to 10 (this sets the initial size of the laser)
Change 2 to Laser set Height to 2 (if you set the width here it will change it back every time - it goes through the events many times a second - this is the reason the sine doesn't appear to work, you keep setting it back to 2)
Change the first condition in 3 to "System Every 0.3 seconds" - this means the laser will extend every 0.3 seconds
Change the Set Width to Laser.Width to 5 - so every 0.3 seconds the laser will be 5 pixels wider until it hits the object.
This is very slow but it will allow you to see what is going on.
Construct 2 is event and timer driven. It is a different way of thinking to procedural programming.