Hello SD Community
So as in the title i want to change the truck to destructible with build on start. I did make some changes in mapscript but unfortunately without success. I only manage to make the truck built on start 
// **********************************************
// ****************** TRUCK STUFF ***************
// **********************************************
truck_smoke
{
spawn
{
wait 500
attachtotag truck tag_wfront
//setstate truck_smoke invisible
}
}
// sound "thread"
truck_engine
{
spawn
{
wait 200
attachtotag truck tag_wfront
//trigger truck_engine sound_idle
}
trigger start
{
trigger truck_engine sound_start
wait 950
trigger truck_engine sound_move
}
trigger stop
{
trigger truck_engine sound_stop
wait 950
trigger truck_engine sound_idle
}
// ========================================
// sound events
trigger sound_idle
{
playsound sound/vehicles/truck/truck_idle.wav looping
}
trigger sound_start
{
stopsound
playsound sound/vehicles/truck/truck_revup.wav volume 96
}
trigger sound_move
{
playsound sound/vehicles/truck/truck_move.wav looping
}
trigger sound_stop
{
stopsound
playsound sound/vehicles/truck/truck_revdown.wav volume 96
}
trigger sound_death
{
stopsound
playsound sound/vehicles/truck/truck_stop.wav volume 96
}
trigger sound_silence
{
stopsound
playsound sound/vehicles/truck/truck_stop.wav volume 96
}
// ========================================
// ========================================
}
truck_build
{
spawn
{
wait 500
attachtotag truck tag_wback
}
}
truck_construct
{
spawn
{
wait 100
set
{
spawnflags "9"
}
constructible_class 2
constructible_health 1050
constructible_constructxpbonus 10
constructible_destructxpbonus 10
}
built final
{
alertentity truck
wm_announce "The Truck has been repaired!"
}
}
// digibob: ok, for once i'm gonna PLAN this one, so NOTHING WILL BREAK EVAR
// ============================================================================
// accum 0, gold bars collected
// accum 1
// - bit 0: barrier 1 status ( 0 = destroyed, 1 = built )
// - bit 1: barrier 2 status ( 0 = destroyed, 1 = built )
// - bit 2: spline status ( 0 = not moving, 1 = moving )
// - bit 3: stuck check flag ( 0 = not stuck, 1 = stuck )
// - bit 4: script lockout ( 0 = no lockout, 1 = lockout )
// - bit 5: blank ( )
// - bit 6: temp register (XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)
// - bit 7: death status ( 0 = alive, 1 = dead )
// - bit 8: player check ( 0 = players, 1 = no players )
// - bit 9: visible state ( 0 = alive, 1 = dead )
// accum 2, blank
// accum 3, current movement loop position
// accum 4, stop counter
// accum 5, blank
// accum 6, blank
// accum 7, blank
// ============================================================================
// spline points are tspln_X with X = 1 to 23
// ============================================================================
// wheel events:
// - wheels_forward
// - wheels_backward
// - wheels_stop
truck
{
spawn
{
wait 50
set
{
spawnflags "62"
health "1050"
}
faceangles 0 0 0 50
accum 1 bitreset 7
accum 1 bitreset 9
constructible_class 2
constructible_health 1050
constructible_constructxpbonus 10
constructible_destructxpbonus 10
}
// ========================================
// wheeeeeeeeeeeeeeels. eeels. ls.
trigger wheels_forward
{
trigger truck_bwheel2 forward
trigger truck_fwheel forward
}
trigger wheels_backward
{
trigger truck_bwheel2 backward
trigger truck_fwheel backward
}
trigger wheels_stop
{
trigger truck_bwheel2 stop
trigger truck_fwheel stop
}
// ========================================
// ========================================
trigger add_goldbar
{
accum 0 set 2
//trigger gold_full_0 show
//trigger gold_trans_0 hide
//trigger gold_crate secured
//accum 0 abort_if_less_than 2
//trigger gold_full_1 show
//trigger gold_trans_1 hide
wm_announce "Allied team has gained access to the truck!"
//setstate goldbars_toi invisible
//setstate goldbars_cm_marker invisible
}
trigger truck_escape_msg
{
// *----------------------------------- vo ------------------------------------------*
wm_addteamvoiceannounce 0 "axis_hq_truck_stop"
wm_addteamvoiceannounce 1 "allies_hq_truck_escort"
wm_teamvoiceannounce 0 "goldrush_axis_truck_stolen"
wm_teamvoiceannounce 1 "goldrush_allies_truck_stolen"
// *---------------------------------------------------------------------------------*
//Stealtruck
wm_objective_status 8 1 1
wm_objective_status 8 0 2
}
// ========================================
// movement
trigger move_check
{
trigger truck stuck_check
accum 1 abort_if_bitset 3
trigger truck dispatch
}
trigger move
{
trigger truck move_check
wait 500
trigger truck move
}
// ========================================
// ========================================
trigger run_continue
{
trigger truck deathcheck
trigger truck stopcheck
trigger truck move
}
trigger run_1
{
trigger truck_engine start
trigger truck wheels_forward
accum 1 bitset 2
followspline 0 tspln_1 125 wait length 304 wait roll 0 2 dampin
accum 1 bitreset 2
accum 3 set 1
trigger truck run_continue
}
trigger run_2
{
trigger self truck_escape_msg
accum 1 bitset 2
followspline 0 tspln_2 125 wait length 304 wait roll 2 -1 dampout
accum 1 bitreset 2
accum 3 set 2
trigger truck run_continue
}
trigger run_3
{
accum 1 bitset 2
followspline 0 tspln_3 125 wait length 304 wait roll 1 -1 dampout
accum 1 bitreset 2
accum 3 set 3
trigger truck run_continue
}
trigger run_4
{
accum 1 bitset 2
followspline 0 tspln_4 125 wait length 304
accum 1 bitreset 2
accum 3 set 4
trigger truck run_continue
}
trigger run_5
{
accum 1 bitset 2
followspline 0 tspln_5 125 wait length 304
accum 1 bitreset 2
accum 3 set 5
trigger truck run_continue
}
trigger run_6
{
accum 1 bitset 2
followspline 0 tspln_6 125 wait length 304
accum 1 bitreset 2
accum 3 set 6
trigger truck run_continue
}
trigger run_7
{
accum 1 bitset 2
followspline 0 tspln_7 125 wait length 304
accum 1 bitreset 2
accum 3 set 7
trigger truck run_continue
}
trigger run_8
{
accum 1 bitset 2
followspline 0 tspln_8 125 wait length 304
accum 1 bitreset 2
accum 3 set 8
trigger truck run_continue
}
trigger run_9
{
accum 1 bitset 2
followspline 0 tspln_9 125 wait length 304
accum 1 bitreset 2
accum 3 set 9
trigger truck run_continue
}
trigger run_10
{
accum 1 bitset 2
followspline 0 tspln_10 125 wait length 304 wait roll 0 -2 dampin
accum 1 bitreset 2
accum 3 set 10
trigger truck stuck_check_barrier3_built_msg
trigger truck run_continue
}
trigger run_11
{
accum 1 bitset 2
followspline 0 tspln_11 125 wait length 304 wait roll -2 0
accum 1 bitreset 2
accum 3 set 11
trigger truck run_continue
}
trigger run_12
{
accum 1 bitset 2
followspline 0 tspln_12 125 wait length 304 wait roll -2 -1 dampin
accum 1 bitreset 2
accum 3 set 12
trigger truck run_continue
}
trigger run_13
{
// **************************
trigger defense3 remove
// **************************
accum 1 bitset 2
followspline 0 tspln_13 125 wait length 304 wait roll -3 0 dampout
accum 1 bitreset 2
accum 3 set 13
trigger truck run_continue
}
trigger run_14
{
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 0 "goldrush_axis_truck_barrier1"
wm_teamvoiceannounce 1 "goldrush_allies_truck_barrier1"
// *---------------------------------------------------------------------------------*
accum 1 bitset 2
followspline 0 tspln_14 125 wait length 304 wait roll -3 +3 dampout
accum 1 bitreset 2
accum 3 set 14
trigger truck run_continue
}
trigger run_15
{
accum 1 bitset 2
followspline 0 tspln_15 125 wait length 304
accum 1 bitreset 2
accum 3 set 15
trigger truck run_continue
}
trigger run_16
{
accum 1 bitset 2
followspline 0 tspln_16 125 wait length 304
accum 1 bitreset 2
accum 3 set 16
trigger truck run_continue
}
trigger run_17
{
accum 1 bitset 2
followspline 0 tspln_17 125 wait length 304
accum 1 bitreset 2
accum 3 set 17
trigger truck run_continue
}
trigger run_18
{
accum 1 bitset 2
followspline 0 tspln_18 125 wait length 304
accum 1 bitreset 2
accum 3 set 18
trigger truck run_continue
}
trigger run_19
{
accum 1 bitset 2
followspline 0 tspln_19 125 wait length 304
accum 1 bitreset 2
accum 3 set 19
trigger truck run_continue
}
trigger run_20
{
accum 1 bitset 2
followspline 0 tspln_20 125 wait length 304
accum 1 bitreset 2
accum 3 set 20
trigger truck run_continue
}
trigger run_21
{
accum 1 bitset 2
followspline 0 tspln_21 125 wait length 304
accum 1 bitreset 2
accum 3 set 21
trigger truck run_continue
}
trigger run_22
{
accum 1 bitset 2
followspline 0 tspln_22 125 wait length 304
accum 1 bitreset 2
accum 3 set 22
trigger self stuck_check_maingate_msg
trigger truck run_continue
}
trigger run_23
{
accum 1 bitset 2
followspline 0 tspln_23 125 wait length 304
accum 1 bitreset 2
accum 3 set 23
trigger truck run_continue
}
trigger run_24
{
accum 1 bitset 2
followspline 0 tspln_24 125 wait length 304
accum 1 bitreset 2
accum 3 set 24
trigger truck run_continue
}
trigger run_25
{
accum 1 bitset 2
followspline 0 tspln_25 125 wait length 304
accum 1 bitreset 2
accum 3 set 25
// stop here for gate
trigger truck run_continue
}
trigger run_26
{
accum 1 bitset 2
followspline 0 tspln_26 125 wait length 304
accum 1 bitreset 2
accum 3 set 26
// change allied spawn back to flag (closer)
setautospawn "Allied flag spawn" 1
trigger truck run_continue
}
trigger run_27
{
accum 1 bitset 2
followspline 0 tspln_27 125 wait length 304
accum 1 bitreset 2
accum 3 set 27
trigger truck stuck_check_barrier4_built_msg
trigger truck run_continue
}
trigger run_28
{
accum 1 bitset 2
followspline 0 tspln_28 125 wait length 304
accum 1 bitreset 2
accum 3 set 28
trigger truck run_continue
}
trigger run_29
{
accum 1 bitset 2
followspline 0 tspln_29 125 wait length 304
accum 1 bitreset 2
accum 3 set 29
trigger truck run_continue
}
trigger run_30
{
// **************************
trigger defense4 remove
// **************************
accum 1 bitset 2
followspline 0 tspln_30 125 wait length 304
accum 1 bitreset 2
accum 3 set 30
trigger truck run_continue
}
trigger run_31
{
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 0 "goldrush_axis_truck_barrier2"
wm_teamvoiceannounce 1 "goldrush_allies_truck_barrier2"
// *---------------------------------------------------------------------------------*
accum 1 bitset 2
followspline 0 tspln_31 125 wait length 304
accum 1 bitreset 2
accum 3 set 31
trigger truck run_continue
}
trigger run_32
{
accum 1 bitset 2
followspline 0 tspln_32 125 wait length 304
accum 1 bitreset 2
accum 3 set 32
trigger truck run_continue
}
trigger run_33
{
accum 1 bitset 2
followspline 0 tspln_33 125 wait length 304
accum 1 bitreset 2
accum 3 set 33
trigger truck run_continue
}
trigger run_34
{
accum 1 bitset 2
followspline 0 tspln_34 125 wait length 304
accum 1 bitreset 2
accum 3 set 34
trigger truck run_continue
}
trigger run_35
{
accum 1 bitset 2
followspline 0 tspln_35 125 wait length 304
accum 1 bitreset 2
accum 3 set 35
trigger truck run_continue
}
trigger run_36
{
accum 1 bitset 2
followspline 0 tspln_36 125 wait length 304
accum 1 bitreset 2
accum 3 set 36
trigger truck run_continue
}
trigger run_37
{
accum 1 bitset 2
followspline 0 tspln_37 125 wait length 304
accum 1 bitreset 2
accum 3 set 37
trigger truck run_continue
}
trigger run_38
{
accum 1 bitset 2
followspline 0 tspln_38 125 wait length 304
accum 1 bitreset 2
accum 3 set 38
trigger truck run_continue
}
trigger run_39
{
accum 1 bitset 2
followspline 0 tspln_39 125 wait length 304
accum 1 bitreset 2
accum 3 set 39
trigger truck wheels_stop
trigger game_manager cap_truck
}
trigger run_40
{
accum 1 bitset 2
//followspline 0 tspln_40 125 wait length 304
accum 1 bitreset 2
accum 3 set 40
}
trigger run_41
{
accum 1 bitset 2
//followspline 0 tspln_41 125 wait length 304
accum 1 bitreset 2
accum 3 set 41
}
trigger dispatch
{
//accum 0 abort_if_not_equal 2
accum 3 trigger_if_equal 0 truck run_1
accum 3 trigger_if_equal 1 truck run_2
accum 3 trigger_if_equal 2 truck run_3
accum 3 trigger_if_equal 3 truck run_4
accum 3 trigger_if_equal 4 truck run_5
accum 3 trigger_if_equal 5 truck run_6
accum 3 trigger_if_equal 6 truck run_7
accum 3 trigger_if_equal 7 truck run_8
accum 3 trigger_if_equal 8 truck run_9
accum 3 trigger_if_equal 9 truck run_10
accum 3 trigger_if_equal 10 truck run_11
accum 3 trigger_if_equal 11 truck run_12
accum 3 trigger_if_equal 12 truck run_13
accum 3 trigger_if_equal 13 truck run_14
accum 3 trigger_if_equal 14 truck run_15
accum 3 trigger_if_equal 15 truck run_16
accum 3 trigger_if_equal 16 truck run_17
accum 3 trigger_if_equal 17 truck run_18
accum 3 trigger_if_equal 18 truck run_19
accum 3 trigger_if_equal 19 truck run_20
accum 3 trigger_if_equal 20 truck run_21
accum 3 trigger_if_equal 21 truck run_22
accum 3 trigger_if_equal 22 truck run_23
accum 3 trigger_if_equal 23 truck run_24
accum 3 trigger_if_equal 24 truck run_25
accum 3 trigger_if_equal 25 truck run_26
accum 3 trigger_if_equal 26 truck run_27
accum 3 trigger_if_equal 27 truck run_28
accum 3 trigger_if_equal 28 truck run_29
accum 3 trigger_if_equal 29 truck run_30
accum 3 trigger_if_equal 30 truck run_31
accum 3 trigger_if_equal 31 truck run_32
accum 3 trigger_if_equal 32 truck run_33
accum 3 trigger_if_equal 33 truck run_34
accum 3 trigger_if_equal 34 truck run_35
accum 3 trigger_if_equal 35 truck run_36
accum 3 trigger_if_equal 36 truck run_37
accum 3 trigger_if_equal 37 truck run_38
accum 3 trigger_if_equal 38 truck run_39
accum 3 trigger_if_equal 39 truck run_40
accum 3 trigger_if_equal 40 truck run_41
}
// ========================================
// barrier checking
// digibob: since we cant return variables, just use bit 3 of accum 1 as a register... mmmm assembly......
trigger stuck_check
{
accum 1 bitreset 3
trigger truck stuck_check_gold
trigger truck stuck_check_build
trigger truck stuck_check_barrier3
trigger truck stuck_check_barrier4
trigger truck stuck_check_maingate
trigger truck stuck_check_scriptlockout
trigger truck stuck_check_finished
}
trigger stuck_check_finished
{
accum 3 abort_if_not_equal 40
accum 1 bitset 3
}
trigger stuck_check_scriptlockout
{
accum 1 abort_if_not_bitset 4
accum 1 bitset 3
}
trigger stuck_check_gold
{
accum 3 abort_if_not_equal 0
accum 0 abort_if_equal 2
accum 1 bitset 3
}
trigger stuck_check_barrier3
{
accum 3 abort_if_not_equal 12
accum 1 abort_if_not_bitset 0
accum 1 bitset 3
}
trigger stuck_check_maingate
{
accum 3 abort_if_not_equal 24
globalaccum 2 abort_if_equal 1
accum 1 bitset 3
}
trigger stuck_check_maingate_msg
{
globalaccum 2 abort_if_equal 1
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 1 "radar_allies_entrances_destroy"
// *---------------------------------------------------------------------------------*
}
trigger stuck_check_barrier3_built_msg
{
accum 1 abort_if_not_bitset 0
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 1 "goldrush_allies_truckbar_destroy"
// *---------------------------------------------------------------------------------*
}
trigger stuck_check_barrier4
{
accum 3 abort_if_not_equal 29
accum 1 abort_if_not_bitset 1
accum 1 bitset 3
}
trigger stuck_check_barrier4_built_msg
{
accum 1 abort_if_not_bitset 1
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 1 "goldrush_allies_truckbar_destroy"
// *---------------------------------------------------------------------------------*
}
// ========================================
// ========================================
// ========================================
// stop check
trigger stopcheck_setup
{
accum 1 bitset 6 // stop if we're stuck/no-one's pushing :)
accum 1 abort_if_bitset 8 // no one in the trigger, abort
trigger truck stuck_check // call the stop check function
accum 1 abort_if_bitset 3 // we're stuck so break out
accum 1 bitreset 6 // we're free to keep going
}
trigger stopcheck
{
trigger truck stopcheck_setup
accum 1 abort_if_not_bitset 6
trigger truck script_lockout
// Any just stopped moving stuff goes here
trigger truck_engine stop
trigger truck wheels_stop
// <<<<< stop animation goes here
trigger truck script_lockout_stop
resetscript
}
// script lockouts
trigger script_lockout
{
accum 1 bitset 4
}
trigger script_lockout_stop
{
accum 1 bitreset 4
}
// enable/disable
trigger truck_enable
{
trigger truck stuck_check
accum 1 abort_if_bitset 3 // stuck check
accum 4 set 0 // reset stop counter
accum 1 bitreset 8 // reset stop check
accum 1 abort_if_bitset 2 // already following spline
accum 1 abort_if_bitset 4 // script lockout
accum 1 abort_if_bitset 7 // death check
//accum 0 abort_if_not_equal 2
// Any just started moving stuff goes here
trigger truck_engine start
trigger truck wheels_forward
// <<<<< start animation goes here
trigger truck move
}
trigger truck_disable
{
accum 4 inc 1 // up the stop counter
accum 4 abort_if_less_than 2
accum 1 bitset 8 // set stop check
trigger truck deathcheck
}
// death / rebirth
rebirth
{
accum 1 bitreset 7 // we're alive again
accum 1 bitreset 9 // we're visibly alive
changemodel models/mapobjects/blitz_sd/blitzbody.md3
setstate truck_smoke invisible
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 0 "axis_hq_truck_repaired_allies"
wm_teamvoiceannounce 1 "allies_hq_truck_repaired"
// *---------------------------------------------------------------------------------*
trigger truck move
}
death
{
accum 1 bitset 7
}
trigger deathcheck
{
accum 1 abort_if_not_bitset 7 // are we dead?
accum 1 abort_if_bitset 9 // are we not already visibly dead?
accum 1 abort_if_bitset 2 // are we not following a spline?
accum 1 abort_if_bitset 4 // are we not in a script lockout?
accum 1 bitset 9 // we're now visibly dead
wm_announce "The Truck has been damaged!"
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 0 "axis_hq_truck_damaged"
wm_teamvoiceannounce 1 "allies_hq_truck_damaged_axis"
// *---------------------------------------------------------------------------------*
setstate truck_smoke default
kill truck_construct
trigger truck_engine sound_death
//trigger truck tracks_stop // truck with tracks? i don't think so
trigger truck wheels_stop
// <<<< stop anim goes here
changemodel models/mapobjects/blitz_sd/blitzbody_damaged.md3
resetscript
}
// barriers
trigger enable_stage1
{
accum 1 bitreset 0
}
trigger disable_stage1
{
accum 1 bitset 0
}
trigger enable_stage2
{
accum 1 bitreset 1
}
trigger disable_stage2
{
accum 1 bitset 1
}
// ========================================
// ========================================
}
truck_bwheel2
{
spawn
{
wait 500
attachtotag truck tag_wback
}
trigger forward
{
setrotation 130 0 0
}
trigger backward
{
setrotation -130 0 0
}
trigger stop
{
stoprotation
}
}
truck_fwheel
{
spawn
{
wait 500
attachtotag truck tag_wfront
}
trigger forward
{
setrotation 130 0 0
}
trigger backward
{
setrotation -130 0 0
}
trigger stop
{
stoprotation
}
}
truck_trigger
{
spawn
{
wait 500
attachtotag truck tag_wback
}
}
truck_disabler
{
trigger run
{
trigger truck truck_disable
}
}
truck_enabler
{
trigger run
{
trigger truck truck_enable
}
}
gold_full_1
{
spawn
{
wait 500
attachtotag truck tag_obj2
faceangles 0 90 0 50
//faceangles 0 90 0 50
setstate gold_full_1 default
}
}
gold_full_0
{
spawn
{
wait 500
attachtotag truck tag_obj1
faceangles 0 90 0 50
setstate gold_full_1 default
}
}
Could someone show me where i made the mistake? 
Thank you very much for your help.
iddqd
I have public server and they, players finish this map very quickly. We like this map very much and we would like to lengthen her by escorting destructible truck.
)
