Ok well I've been working on a version of Rob Oplawar's BCE health blur effect for multiplayer. And it's pretty much done!

Here's the file containing:

Script
Zoom bitmaps
HUD tags
readme

Here's a Youtube vid showing the effect:
This video is unable to be displayed because the YouTube video tags were used incorrectly. Please review proper use of the tags here.


Here's the raw script (doesn't contain comments, just as a quick look):

Code:
(global short num7 0)
(global short num6 0)
(global short num5 0)
(global short num4 0)
(global short num3 0)
(global short num2 0)
(global short num1 0)	
(global short numhb 0)

(script continuous zoom_true
	(if 
		(and
			(= (player_action_test_zoom) true)
			(= (unit_get_health (unit srvr_check)) -1))
				(begin
					(cinematic_screen_effect_stop)
					(player_action_test_reset)
			)	
	)
)

(script continuous fullhealth
	(if 
		(and
			(= (unit_get_health (unit (list_get (players) 0))) 1)
			(= (unit_get_health (unit srvr_check)) -1))
				(begin	
					(set num7 0)	
					(set num6 0)	
					(set num5 0)	
					(set num4 0)	
					(set num3 0)
					(set num2 0)	
					(set num1 0)
					(set numhb 0)
			)	
	)
)

(script continuous nohealth
	(if 
		(or
			(= (unit_get_health (unit (list_get (players) 0))) 0)
			(= (unit_get_health (unit (list_get (players) 0))) -1))
				(cinematic_screen_effect_stop)	
	)
)

(script continuous health7bar
	(if 
		(and 
			(< (unit_get_health (unit (list_get (players) 0))) 1)
                        (>= (unit_get_health (unit (list_get (players) 0))) 0.876)
			(!= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) -1)
			(= (unit_get_health (unit srvr_check)) -1)
			(= num7 0))
				(begin
					(set num7 1)
					(cinematic_screen_effect_start 1)
					(cinematic_screen_effect_set_convolution 1 2 3 0 1.4)
		    		)				
	)
)

(script continuous health6bar
	(if 
		(and 
			(< (unit_get_health (unit (list_get (players) 0))) 0.875)
                        (>= (unit_get_health (unit (list_get (players) 0))) 0.751)
			(!= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) -1)
			(= (unit_get_health (unit srvr_check)) -1)
			(= num6 0))
				(begin
					(set num6 1)
					(cinematic_screen_effect_start 1)
					(cinematic_screen_effect_set_convolution 1 2 5 0 1)
		    		)				
	)
)

(script continuous health5bar
	(if 
		(and 
			(< (unit_get_health (unit (list_get (players) 0))) 0.75)
                        (>= (unit_get_health (unit (list_get (players) 0))) 0.626)
			(!= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) -1)
			(= (unit_get_health (unit srvr_check)) -1)
			(= num5 0))
				(begin
					(set num5 1)
					(cinematic_screen_effect_start 1)
					(cinematic_screen_effect_set_convolution 2 2 6 0 1.1)
		    		)				
	)
)

(script continuous health4bar
	(if 
		(and 
			(< (unit_get_health (unit (list_get (players) 0))) 0.625)
                        (>= (unit_get_health (unit (list_get (players) 0))) 0.501)
			(!= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) -1)
			(= (unit_get_health (unit srvr_check)) -1)
			(= num4 0))
				(begin
					(set num4 1)
					(cinematic_screen_effect_start 1)
					(cinematic_screen_effect_set_convolution 5 2 8 0 1.2)
		    		)				
	)
)

(script continuous health3bar
	(if 
		(and 
			(< (unit_get_health (unit (list_get (players) 0))) 0.5)
                        (>= (unit_get_health (unit (list_get (players) 0))) 0.376)
			(!= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) -1)
			(= (unit_get_health (unit srvr_check)) -1)
			(= num3 0))
				(begin
					(set num3 1)
					(cinematic_screen_effect_start 1)
					(cinematic_screen_effect_set_convolution 8 2 10 0 1.5)
		    		)				
	)
)

(script continuous health2bar
	(if 
		(and 
			(< (unit_get_health (unit (list_get (players) 0))) 0.375)
                        (>= (unit_get_health (unit (list_get (players) 0))) 0.251)
			(!= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) -1)
			(= (unit_get_health (unit srvr_check)) -1)
			(= num2 0))
				(begin
					(set num2 1)
					(cinematic_screen_effect_start 1)
					(cinematic_screen_effect_set_convolution 8 2 11 0 1.8)
		    		)				
	)
)

(script continuous health1bar
	(if 
		(and 
			(< (unit_get_health (unit (list_get (players) 0))) 0.25)
                        (>= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) -1)
			(= (unit_get_health (unit srvr_check)) -1)
			(= num1 0))
				(begin
					(set num1 1)
					(cinematic_screen_effect_start 1)
					(cinematic_screen_effect_set_convolution 8 2 12 0 2.5)
		    		)				
	)
)

(script continuous healthheartbeat
	(if 
		(and
			(< (unit_get_health (unit (list_get (players) 0))) 0.25)
			(!= (unit_get_health (unit (list_get (players) 0))) 0)
			(!= (unit_get_health (unit (list_get (players) 0))) -1)
			(= (unit_get_health (unit srvr_check)) -1))
			;This script repeats as there is no num variable changing
			(begin
				(if
					(= numhb 0)
						(begin
							(set numhb 1)
							(sleep 80)
						)
				)
				(cinematic_screen_effect_start 1)
				(cinematic_screen_effect_set_convolution 1 2 8 0 0.5)
				(sleep 25)
			)
		    						
	)
)


As some of you may be already be aware, the convolution effect screws up the zoom bitmap. I believe this is because the zoom uses it's own convolution effect and (cinematic_screen_effect_start 1) stops this effect, which also stops the bitmaps. The workaround I have found is to move the bitmaps from the Screen Effect section to the Crosshairs section of the weapons' hud tag. This is done for all weapons that have a zoom.





Luckily, the zoom bitmaps look almost exactly the same as the originals.

I was the only one working on this. You guys can do whatever you want with the script, bitmaps and hud tags. Thanks to Rob for explaining the convolution effect and it's script code.

I haven't tested this code on a dedicated server so there *might* be some bugs.

Good luck!