
Pepzee
Joined: Sep 9, 2010
Retired Halo Modder
|
Posted: May 1, 2011 09:09 PM
Msg. 1 of 8
Hey all,
I recently was able to get device controls working, however what I want to do with it is to start a cut scene. Like in the middle of a30 where the chief activated the light bridge and the cut scene started. That's what I'm trying to do.
Thanks.
|
|
|

The Cereal Killer
Joined: Mar 18, 2011
Scripts, AI, cutscenes, ui_widgets, animation.
|
Posted: May 1, 2011 10:17 PM
Msg. 2 of 8
(sleep_until (= (device_get_position device_name) 1) 30)
Just put that in the script, right before the cutscene.
|
|
|

Pepzee
Joined: Sep 9, 2010
Retired Halo Modder
|
Posted: May 1, 2011 10:46 PM
Msg. 3 of 8
Yep, that worked. Thanks.
Also do you know how to get a cut scene to work after an AI encounter has been killed? I keep using the command:
(sleep_until (= (ai_living_count ENCOUNTER) 0) 15)
But it doesn't seem to work. Edited by pepzee on May 1, 2011 at 10:47 PM
|
|
|

The Cereal Killer
Joined: Mar 18, 2011
Scripts, AI, cutscenes, ui_widgets, animation.
|
Posted: May 2, 2011 12:38 AM
Msg. 4 of 8
That command should very well work. Check to see if there are other reasons for it failing (i.e. if the script is set to "dormant" it will sleep in general until another script wakes it). Just to be sure, you're replacing "ENCOUNTER" with the encounter name, right?
|
|
|

Pepzee
Joined: Sep 9, 2010
Retired Halo Modder
|
Posted: May 2, 2011 01:09 AM
Msg. 5 of 8
Nope, it's not working. The encounter name is "beach_c"
I'm not sure what you mean by dormant. I assume that means that something else in the script is interfering with it working.
So here's the entire script so far. It's heh, kinda messy...
(script startup cut (begin (camera_control 1) (camera_set cut1 100) (sleep 150) (camera_control 0) ) )
(script startup cut1 (sleep_until (= (device_get_position door) 1) 30) (begin (camera_control 1) (camera_set cut2 100) (sleep 75) (camera_set cut3 100) (sleep 75) (camera_set cut4 100) (sleep 150) (camera_control 0) (show_hud_help_text true) (hud_set_objective_text obj6) (hud_set_help_text obj6) (sleep 150) (show_hud_help_text false) (game_save_totally_unsafe) ) )
(script startup cut2 (sleep_until (= (device_get_position flood) 1) 30) (begin (camera_control 1) (camera_set cut5 100) (sleep 75) (camera_set cut6 100) (sleep 75) (camera_set cut7 100) (sleep 75) (camera_set cut8 100) (sleep 150) (camera_control 0) (ai_place flood_1) (show_hud_help_text true) (hud_set_objective_text obj8) (hud_set_help_text obj8) (sleep 150) (show_hud_help_text false) (game_save_totally_unsafe) ) )
(script startup scriptname (sleep_until (volume_test_objects start (players)) 15) (show_hud_help_text true) (hud_set_objective_text obj1) (hud_set_help_text obj1) (sleep 150) (show_hud_help_text false) )
(script startup scriptname1 (sleep_until (volume_test_objects beach (players)) 15) (show_hud_help_text true) (hud_set_objective_text obj2) (hud_set_help_text obj2) (sleep 150) (show_hud_help_text false) (ai_place beach_c) (game_save_totally_unsafe) )
(script startup scriptname2 (sleep_until (= (ai_living_count beach_c) 0) 15) (show_hud_help_text true) (hud_set_objective_text obj3) (hud_set_help_text obj3) (sleep 150) (game_save_totally_unsafe) )
(script startup basicsript (sleep_until (volume_test_objects enter_check (players))15) (ai_place top_c) (game_save_no_timeout) (sound_looping_start levels\c10\music\c10_06 none 1) (sound_looping_set_scale levels\c10\music\c10_06 0.7) )
(script startup basicsript1 (sleep_until (volume_test_objects mid_check (players))15) (ai_place bottom_c) (game_save_totally_unsafe) (sound_looping_set_scale levels\c10\music\c10_06 0.4) (sound_looping_stop levels\c10\music\c10_06) )
(script continuous box_killer (begin (if (= (volume_test_object deathbox (list_get (players) 0)) true) (begin (unit_kill (unit (list_get (players) 0))) ) ) ) )
(script continuous box_killer1 (begin (if (= (volume_test_object deathbox1 (list_get (players) 0)) true) (begin (unit_kill (unit (list_get (players) 0))) ) ) ) )
The bold part is whats not working.
|
|
|

The Cereal Killer
Joined: Mar 18, 2011
Scripts, AI, cutscenes, ui_widgets, animation.
|
Posted: May 2, 2011 02:11 AM
Msg. 6 of 8
Ah I think the problem is that it isn't sleeping because the ai encounter you specified doesn't exist at the start of the map (it is a startup script so it would sleep from the beginning if they were).
|
|
|

Pepzee
Joined: Sep 9, 2010
Retired Halo Modder
|
Posted: May 2, 2011 08:19 PM
Msg. 7 of 8
Quote: --- Original message by: Daniel Quick fix:
(global boolean beach_c_placed false)
(script startup scriptname1 (sleep_until (volume_test_objects beach (players)) 15) (show_hud_help_text true) (hud_set_objective_text obj2) (hud_set_help_text obj2) (sleep 150) (show_hud_help_text false) (ai_place beach_c) (set beach_c_placed true) (game_save_totally_unsafe) )
(script startup scriptname2 (sleep_until beach_c_placed) (sleep_until (= (ai_living_count beach_c) 0) 15) (show_hud_help_text true) (hud_set_objective_text obj3) (hud_set_help_text obj3) (sleep 150) (game_save_totally_unsafe) )
Alternatively you could make scriptname2 dormant and wake it after you placed your encounter, I'm not sure which solution is more efficient for the engine but they both will work. Alright, thanks, I will try that script. But I have a question. Wouldn't changing the script into a continuos do the same thing? Edited by pepzee on May 2, 2011 at 08:39 PM
|
|
|

The Cereal Killer
Joined: Mar 18, 2011
Scripts, AI, cutscenes, ui_widgets, animation.
|
Posted: May 3, 2011 11:37 AM
Msg. 8 of 8
No it wouldn't. In your case, that would cause hud messaged to be displayed and taken off repeatedly.
|
|
|