EagerYoungSpaceCadet
August 2nd, 2010, 05:00 PM
Hi everyone,
since I'm an eye candy addict, and found that Health Blur looked cool, I thought putting it into Blood Gulch on Halo PC (since most people can't/won't/they're too lazy to get Halo CE).
Based on Sasc's Multiplayer Health Blur Script (which was based on Rob Oplawar's Singleplayer Health Blur Script):
(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)
)
)
)
I have modified it to look like this (found that some things Sapien can't compile):
(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
(= (player_action_test_zoom) true)
(begin
(cinematic_screen_effect_stop)
(player_action_test_reset)
)
)
)
(script continuous fullhealth
(if
(= (unit_get_health (unit (list_get (players) 0))) 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)
(= 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)
(= 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)
(= 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)
(= 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)
(= 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)
(= 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)
(= 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))
(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)
)
)
)
Compiled that in Sapien, built the cache file in Tool and tested it, and it worked!
But here is the problem:
I turned it into a Halo PC map file using Harbinger and put it in the maps folder.
Whenever I tried to run Blood Gulch, the game crashed - exception!
Is it really that Halo PC MP maps don't support scripts, or I am doing something wrong?
since I'm an eye candy addict, and found that Health Blur looked cool, I thought putting it into Blood Gulch on Halo PC (since most people can't/won't/they're too lazy to get Halo CE).
Based on Sasc's Multiplayer Health Blur Script (which was based on Rob Oplawar's Singleplayer Health Blur Script):
(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)
)
)
)
I have modified it to look like this (found that some things Sapien can't compile):
(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
(= (player_action_test_zoom) true)
(begin
(cinematic_screen_effect_stop)
(player_action_test_reset)
)
)
)
(script continuous fullhealth
(if
(= (unit_get_health (unit (list_get (players) 0))) 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)
(= 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)
(= 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)
(= 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)
(= 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)
(= 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)
(= 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)
(= 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))
(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)
)
)
)
Compiled that in Sapien, built the cache file in Tool and tested it, and it worked!
But here is the problem:
I turned it into a Halo PC map file using Harbinger and put it in the maps folder.
Whenever I tried to run Blood Gulch, the game crashed - exception!
Is it really that Halo PC MP maps don't support scripts, or I am doing something wrong?