ok… before you tell me to look for tutorials to do this… i’ve tried all the ones that i could find… and none of them help.
these work: 
- damage the truck
- kill_target will trigger correctly and remove the func_construct brush.
- the model changes to the damaged md3 version.
- attached gfx and sfx work correctly
- truck follows spline path correctly
here’s the problem: 
- try to repair the truck nothing happens.
- the plier symbol does not show up.
personally i think that it is because the trigger_objective_info is not being triggered when the kill_target triggers.
here are the entities from the .map file:
script_mover
“health” “1050”
“spawnflags” “62”
“targetname” “truck”
“scriptname” “truck”
“classname” “script_mover”
“model2” “models/mapobjects/blitz_sd/blitzbody.md3”
“description” “Truck”
trigger_multiple
“spawnflags” “2”
“target” “truck_enabler”
“scriptname” “truck_trigger”
“targetname” “truck_trigger”
“classname” “trigger_multiple”
“wait” “0.1”
target_kill
“classname” “target_kill”
“origin” “804 -2476 72”
“targetname” “kill_truck”
“scriptname” “truck”
“target” “truck_construct”
func_constructible
“classname” “func_constructible”
“targetname” “truck_construct”
“scriptname” “truck_construct”
“target” “truck”
“spawnflags” “9”
trigger_objective_info
“spawnflags” “10”
“customaxisimage” “gfx/limbo/cm_truck”
“customalliesimage” “gfx/limbo/cm_truck”
“shortname” “Truck”
“track” “the Truck”
“target” “truck_construct”
“scriptname” “truck_build”
“targetname” “truck_build”
“classname” “trigger_objective_info”
Script File:
// **********************************************
// ****************** TRUCK STUFF ***************
// **********************************************
truck_smoke
{
spawn
{
wait 300
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/run.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
}
}
// ========================================
// ========================================
truck_disabler
{
trigger run
{
trigger truck truck_disable
}
}
truck_enabler
{
trigger run
{
trigger truck truck_enable
}
}
// 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
{
followspline 0 truck_move_1 50000 length 32 wait //spawn the truck here
}
// ========================================
// 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
}
// ========================================
// 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
// 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
}
// ========================================
// 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 dispatch
{
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
}
trigger run_incpos
{
accum 3 inc 1
}
trigger run_continue
{
trigger truck run_incpos
trigger truck deathcheck
trigger truck stopcheck
trigger truck move
}
trigger run_1
{
accum 1 bitset 2
followspline 0 truck_move_1 100 wait length 304
accum 1 bitreset 2
trigger truck run_continue
}
…
trigger run_30
{
accum 1 bitset 2
followspline 0 truck_move_30 100 wait length 304
accum 1 bitreset 2
trigger truck wheels_stop
trigger game_manager allies_win
}
// ========================================
// barrier checking
trigger stuck_check
{
accum 1 bitreset 3
trigger truck stuck_check_gold
trigger truck stuck_check_bridge
trigger truck stuck_check_truck_barrier
trigger truck stuck_check_scriptlockout
trigger truck stuck_check_finished
}
trigger stuck_check_finished
{
accum 3 abort_if_not_equal 31
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 //current movement loop position = 0 (truck //should be stuck waiting for gold)
accum 0 abort_if_greater_than 1 //checks if both gold are on truck
accum 1 bitset 3 //sets flag to stuck
}
trigger stuck_check_bridge
{
accum 3 abort_if_not_equal 4 //bridge movement position marker for check
accum 1 abort_if_not_bitset 0 //bridge status 0 = destroyed,1 = built
accum 1 bitset 3 //sets flag to stuck
}
trigger stuck_check_bridge_built_msg
{
accum 1 abort_if_not_bitset 0
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 1 "chaos_allies_bridge_construct"
// *---------------------------------------------------------------------------------*
}
trigger stuck_check_truck_barrier
{
accum 3 abort_if_not_equal 18 //bridge movement position marker for check
accum 1 abort_if_not_bitset 1 //barrier status 0 = destroyed,1 = built
accum 1 bitset 3 //sets flag to stuck
}
trigger stuck_check_truck_barrier_built_msg
{
accum 1 abort_if_not_bitset 1
// *----------------------------------- vo ------------------------------------------*
wm_teamvoiceannounce 1 "chaos_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
}
// ========================================
// ========================================
// ========================================
// death / rebirth
death
{
accum 1 bitset 7 //set to on when truck hp=0
}
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 //turn smoke fx on
//kill truck_construct //not sure this works
alertentity kill_truck //kind of like when a construction is blown up
trigger truck_engine sound_death //plays sfx
//trigger truck tracks_stop // truck with tracks? i don't think so
trigger truck wheels_stop //stops the wheel gfx
// <<<< stop anim goes here
changemodel models/mapobjects/blitz_sd/blitzbody_damaged.md3
resetscript //not sure what script is reset... assuming this one
}
rebirth //called when the truck has been repaired
{
accum 1 bitreset 7 // we're alive again
accum 1 bitreset 9 // we're visibly alive
trigger truck script_lockout
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 script_lockout_stop
//trigger truck move
}
// ========================================
// 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
}
// ========================================
// ========================================
trigger add_goldbar
{
accum 0 inc 1
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
trigger self truck_escape_msg
wm_announce "Allied team is escaping with the Gold Crates!"
wm_objective_status 4 0 2
wm_objective_status 4 1 1
wm_set_main_objective 5 0
wm_set_main_objective 5 1
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 "chaos_axis_truck_stolen"
wm_teamvoiceannounce 1 "chaos_allies_truck_stolen"
wm_removeteamvoiceannounce 0 "chaos_axis_gold_defend"
wm_removeteamvoiceannounce 1 "chaos_allies_gold_get"
// *---------------------------------------------------------------------------------*
}
}
// ========================================
// ========================================
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_build
{
spawn
{
wait 500
attachtotag truck tag_wback
attachtotag truck_fwheel tag_wfront
attachtotag truck_bwheel2 tag_wback
}
}
truck_construct
{
spawn
{
wait 400
constructible_chargebarreq .5
constructible_class 1
constructible_health 50 //1050
constructible_constructxpbonus 10
constructible_destructxpbonus 10
}
built final
{
alertentity truck
wm_announce "The Truck has been repaired!"
}
}
any ideas and help would be appreciated.