I am writing a script to introduce a battle. I have got speech and the camera to zoom OK, but cannot get my army to move!
I am to trying to use the group command but only two units in the formation start to move. Looked at the official battle scripts and noticed that they are defined in different places use unformed and formed and sometimes have walk at the end of them! However, I can only get two units to move.
Can somebody kindly point out where I am going wrong or point me to some extra information on the scripting language?
My code is:
Code:
script
; *********************************************************************************************
; INITIALISATION
; *********************************************************************************************
prepare_for_battle ; This must be *before* defining labels
; *********************************************************************************************
; DEFINE UNIT LABELS
; *********************************************************************************************
; Roman Army
label_unit 0 0 0 ROMAN_general
label_unit 0 0 1 ROMAN_velite1
label_unit 1 0 2 ROMAN_velite2
label_unit 1 0 3 ROMAN_velite3
label_unit 1 0 4 ROMAN_velite4
label_unit 1 0 5 ROMAN_hastati1
label_unit 1 0 6 ROMAN_hastati2
label_unit 1 0 7 ROMAN_hastati3
label_unit 1 0 8 ROMAN_hastati4
label_unit 1 0 9 ROMAN_princeps1
label_unit 1 0 10 ROMAN_princeps2
label_unit 1 0 11 ROMAN_princeps3
label_unit 1 0 12 ROMAN_princeps4
label_unit 1 0 13 ROMAN_triarii1
label_unit 1 0 14 ROMAN_triarii2
label_unit 1 0 15 ROMAN_triarii3
label_unit 1 0 16 ROMAN_triarii4
label_unit 1 0 17 ROMAN_light_cavalry1
label_unit 1 0 18 ROMAN_light_cavalry2
; Hannibal's Army
label_unit 0 0 0 PLAYER_Hannibal
label_unit 0 0 1 PLAYER_numidian_cavalry1
label_unit 0 0 2 PLAYER_numidian_cavalry2
label_unit 0 0 3 PLAYER_pike_infantry1
label_unit 0 0 4 PLAYER_pike_infantry2
label_unit 0 0 5 PLAYER_pike_infantry3
label_unit 0 0 6 PLAYER_pike_infantry4
label_unit 0 0 7 PLAYER_gaul_infantry1
label_unit 0 0 8 PLAYER_spearmen1
label_unit 0 0 9 PLAYER_spearmen2
label_unit 0 0 10 PLAYER_spearmen3
label_unit 0 0 11 PLAYER_gaul_infantry2
label_unit 0 0 12 PLAYER_gual_warguard
label_unit 0 0 13 PLAYER_balearic_slingers
label_unit 0 0 14 PLAYER_gual_noblecavalry
label_unit 0 0 15 PLAYER_gual_cavalry
; *********************************************************************************************
; DEFINE CAMERA BOOKMARKS
; *********************************************************************************************
set_camera_bookmark 1, 263.381, 552.872, 301.682, 315.558, 514,422, 310,984 ; Roman Army
set_camera_bookmark 2, 267.056 582.108, 316.317, 319.905, 554.366, 320.318 ; Pan finish
;set_camera_bookmark 3, 435.908, 537.694, 412.284, 438.186, 521.566, 394.324 ; Roman army side on
;set_camera_bookmark 4, 142.545, 559.286, 347.882, 195.53, 518.808, 349.163 ; Carth Army
;set_camera_bookmark 5,
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Set up global counters and timers
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
declare_counter have_units_formed_up ;PLAYER LET INTRO FINISH
declare_counter go_to_end_phase ;PLAYER HAS HIT ESCAPE KEY
declare_counter is_script_ready_to_end ;ITS ALL DONE NOW
declare_timer Esc_Key_Pressed_Timer ;This is the timer that makes sure you dont get jumping between stuff after esc key is pressed
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; ALLOW ESC KEY TO BE USED TO JUMP TO END OF INTRO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
steal_esc_key on ;ENSURE THIS IS ON WHEN PUT IN RELEASE
;*********************************************************
;STOP PLAYER INTERFERENCE TURNED OFF FOR EDITING.
;*********************************************************
disable_cursor ;prevent player interaction with the game
suspend_unscripted_advice true
disable_shortcuts true
disable_entire_ui
inhibit_camera_input true
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; groups
define_unit_group GRP_ROMAN_ARMY ROMAN_general ROMAN_velite1 ROMAN_velite2 ROMAN_velite3 ROMAN_velite4 ROMAN_hastati1 ROMAN_hastati2 ROMAN_hastati3 ROMAN_hastati4 ROMAN_princeps1 ROMAN_princeps2 ROMAN_princeps3 ROMAN_princeps4 ROMAN_triarii1 ROMAN_triarii2 ROMAN_triarii3 ROMAN_triarii4 ROMAN_light_cavalry1 ROMAN_light_cavalry2
define_unit_group GRP_PLAYER_ARMY PLAYER_Hannibal PLAYER_numidian_cavalry1 PLAYER_numidian_cavalry1 PLAYER_numidian_cavalry2 PLAYER_pike_infantry1 PLAYER_pike_infantry2 PLAYER_pike_infantry3 PLAYER_pike_infantry4 PLAYER_gaul_infantry1 PLAYER_spearmen1 PLAYER_spearmen2 PLAYER_spearmen3 PLAYER_gaul_infantry2 PLAYER_gual_warguard PLAYER_balearic_slingers PLAYER_gual_noblecavalry PLAYER_gual_cavalry
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; EVENT MONITOR FOR ESC KEY BEING PRESSED DURING INTRO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;monitor_event EscPressed TrueCondition
;set_counter go_to_end_phase 1
;end_monitor
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; CHECK THAT BATTLE HAS STARTED
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
while ! I_BattleStarted ; Wait for deployment
end_while
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Set the music and the camera
;;; also stop - advice, active ai, camera
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ai_active_set off
camera_restrictions_set off
camera_default_mode_set tw
battle_default_camera
set_music_state tension
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; HIDING UI IN MOVIE STYLE LETTERBOX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
hide_ui ;ENSURE THIS IS ON WHEN PUT IN RELEASE
hiding_enabled_set false ;REMOVE LATER WHEN NOT REQUIRED
;*********************************************************
;CAMERA START POSITION
;*********************************************************
camera_position 76.2653, 547.111, 290.193, 129.114, 514.882, 294.193
; *********************************************************************************************
;
; Start Narration and Cinematic sequence
; *********************************************************************************************
; ********************************************************************************************
monitor_conditions I_CompareCounter go_to_end_phase = 0
battle_wait 1
while I_CompareCounter battle_start = 1 ; ESC DUMP
terminate_monitor
end_while ; ESC DUMP
play_sound_event TRASIMENE_SPEECH_00 tag = TRASIMENE_SPEECH_00
battle_wait 2
while I_CompareCounter battle_start = 1 ; ESC DUMP
terminate_monitor
end_while ; ESC DUMP
unit_group_order_relative_move_formed GRP_ROMAN_ARMY 0 800 walk ; Only two units move!
battle_wait 1
camera_zoom_to_bookmark 2 25
battle_wait 8
while I_CompareCounter battle_start = 1 ; ESC DUMP
terminate_monitor
end_while ; ESC DUMP
; *********************************************************************************************
;******************************************************************
;;; Scripted sequence has finished, trigger the end phase of intro
;******************************************************************
set_counter go_to_end_phase 2
set_counter have_units_formed_up 1 ; If the player has not hit the escape key then
terminate_monitor
end_monitor
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Re-enable the UI for the player
;;; Position Units if player hasnt got to the end of the intro sequence
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
while I_CompareCounter go_to_end_phase = 0 ;waits until units in start position
end_while
while I_CompareCounter have_units_formed_up = 0 ; makes sure units are in place
end_while
steal_esc_key off
ai_active_set on
enable_cursor
suspend_unscripted_advice false
camera_default_mode_set user_pref
camera_restrictions_set on
wait 1
disable_shortcuts false
inhibit_camera_input false
show_ui
enable_entire_ui
pause_battle
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Don't terminate script until the script is ready
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
while I_CompareCounter is_script_ready_to_end = 0
end_while
while I_InBattle
end_while
end_script
while I_InBattle
end_while
end_script
Bookmarks