Snowy god damn tank


(=DaRk=CrAzY-NuTTeR) #1

Ok, i have a snowy tank but i have a problem, all the models it has on it (the extras and turret) appear at the contre of the tank rather than were they are put. ive checked the tank 100 times and im SURE its somet i could sort with script, ive put a <<< next to everything i need to comment about.

//**************************************************
//***************The Jaghpanther - Tank*************
//**************************************************

tank_sound
{
	trigger start
	{
		trigger tank sound_start
		wait 3400
		trigger tank sound_move
	}

	trigger stop
	{
		trigger tank sound_stop
		wait 1400
		trigger tank sound_idle
	}

	trigger rebirth
	{
		trigger tank sound_rebirth
		wait 1400
		trigger tank sound_idle
	}
}

// digibob: converting truck script from goldrush over...
// ============================================================================
// accum 0, track state
// accum 1
//  - bit 0: barrier1 state		( 0 = not built,	1 = built		)
//  - bit 1: barrier2 state		( 0 = not built,	1 = built		)
//  - bit 2: spline status 		( 0 = not moving, 	1 = moving 		)
//  - bit 3: stuck check flag 	( 0 = not stuck, 	1 = stuck 		)
//  - bit 4: flag for message	( 0 = dont display, 1= display		)
//  - 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, lockout ref counter
// accum 6, blank
// accum 7, blank
// ===========================================================================================
// spline points are spln2 -> spln78
// ===========================================================================================
// track events:
//  - tracks_forward
//  - tracks_stop
//  - tracks_turn_left
//  - tracks_turn_right


tank
{
	spawn
	{
		wait 400
		followspline 0 spln1 50000 length 32 wait

		trigger tank sound_idle
		trigger tank tracks_stop
	}

	// ========================================
	// sound stuff

	trigger sound_idle
	{
		stopsound
		playsound sound/vehicles/tank/tank_idle.wav looping volume 512
	}

	trigger sound_start
	{
		stopsound
		playsound sound/vehicles/tank/tank_revup.wav volume 196
	}

	trigger sound_move
	{
		stopsound
		playsound sound/vehicles/tank/tank_move.wav looping volume 512
	}

	trigger sound_stop
	{
		stopsound
		playsound sound/vehicles/tank/tank_revdown.wav volume 196
	}

	trigger sound_death
	{
		stopsound
		playsound sound/vehicles/tank/tank_stop.wav volume 256
	}

	trigger sound_rebirth
	{
		stopsound
		playsound sound/vehicles/tank/tank_start.wav volume 196
	}

	// ========================================
	// ========================================


// ===========================================================================================
// ===========================================================================================
	trigger tracks_forward
	{
		accum 0 abort_if_equal 1
		accum 0 set 1

		remapshader models/mapobjects/tanks_sd/jag_tracks_left 	models/mapobjects/tanks_sd/jag_tracks_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_forward
		remapshader models/mapobjects/tanks_sd/wheel_a_s.tga 	models/mapobjects/tanks_sd/jag_wheels_alt_forward
		remapshader models/mapobjects/tanks_sd/wheel_a_s.tga    models/mapobjects/tanks_sd/jag_wheels_alt_forward
		remapshader models/mapobjects/tanks_sd/wheel2_a_s.tga 	models/mapobjects/tanks_sd/jag_cogs_alt_forward
		remapshader models/mapobjects/tanks_sd/wheel2_a_s.tga 	models/mapobjects/tanks_sd/jag_cogs_alt_forward

		remapshaderflush
	}

	trigger tracks_stop
	{
		accum 0 abort_if_equal 0
		accum 0 set 0

		remapshader models/mapobjects/tanks_sd/jag_tracks_left 	models/mapobjects/tanks_sd/jag_tracks_left
		remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_right
		remapshader models/mapobjects/tanks_sd/wheel_a_s.tga 	models/mapobjects/tanks_sd/jag_wheels_left
		remapshader models/mapobjects/tanks_sd/wheel_a_s.tga    models/mapobjects/tanks_sd/jag_wheels_right
		remapshader models/mapobjects/tanks_sd/wheel2_a_s.tga 	models/mapobjects/tanks_sd/jag_cogs_left
		remapshader models/mapobjects/tanks_sd/wheel2_a_s.tga 	models/mapobjects/tanks_sd/jag_cogs_right

		remapshaderflush
	}

	trigger tracks_turn_left
	{
		accum 0 abort_if_equal 2
		accum 0 set 2

		remapshader models/mapobjects/tanks_sd/jag_tracks_left 	models/mapobjects/tanks_sd/jag_tracks_alt_backward
		remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_forward
		remapshader models/mapobjects/tanks_sd/wheel_a_s.tga 	models/mapobjects/tanks_sd/jag_wheels_alt_backward
		remapshader models/mapobjects/tanks_sd/wheel_a_s.tga    models/mapobjects/tanks_sd/jag_wheels_alt_forward
		remapshader models/mapobjects/tanks_sd/wheel2_a_s.tga 	models/mapobjects/tanks_sd/jag_cogs_alt_backward
		remapshader models/mapobjects/tanks_sd/wheel2_a_s.tga 	models/mapobjects/tanks_sd/jag_cogs_alt_forward

		remapshaderflush
	}

	trigger tracks_turn_right
	{
		accum 0 abort_if_equal 3
		accum 0 set 3

		remapshader models/mapobjects/tanks_sd/jag_tracks_left 	models/mapobjects/tanks_sd/jag_tracks_alt_forward
		remapshader models/mapobjects/tanks_sd/jag_tracks_right models/mapobjects/tanks_sd/jag_tracks_alt_backward
		remapshader models/mapobjects/tanks_sd/wheel2_a_s.tga 	models/mapobjects/tanks_sd/jag_wheels_alt_forward
		remapshader models/mapobjects/tanks_sd/wheel2_a_s.tga   models/mapobjects/tanks_sd/jag_wheels_alt_backward
		remapshader models/mapobjects/tanks_sd/wheel_a_s.tga 	models/mapobjects/tanks_sd/jag_cogs_alt_forward
		remapshader models/mapobjects/tanks_sd/wheel_a_s.tga 	models/mapobjects/tanks_sd/jag_cogs_alt_backward

		remapshaderflush
	}

// ===========================================================================================
// ===========================================================================================

	trigger run_continue
	{
		accum 3 inc 1
		trigger self deathcheck
		trigger self stopcheck
		trigger self move
	}


// ===========================================================================================
// movement

	trigger move_check
	{
		trigger self stuck_check
		accum 1 abort_if_bitset 3

		trigger self dispatch
	}

	trigger move
	{
		trigger self move_check

		wait 500

		trigger self move
	}

	trigger dispatch
	{
		accum 3 trigger_if_equal 0 tank run_0
		accum 3 trigger_if_equal 1 tank run_1
		accum 3 trigger_if_equal 2 tank run_2
		accum 3 trigger_if_equal 3 tank run_3
		accum 3 trigger_if_equal 4 tank run_4
		accum 3 trigger_if_equal 5 tank run_5
		accum 3 trigger_if_equal 6 tank run_6
		accum 3 trigger_if_equal 7 tank run_7
		accum 3 trigger_if_equal 8 tank run_8
		accum 3 trigger_if_equal 9 tank run_9
		accum 3 trigger_if_equal 10 tank run_10
		accum 3 trigger_if_equal 11 tank run_11
		accum 3 trigger_if_equal 12 tank run_12
		accum 3 trigger_if_equal 13 tank run_13
		accum 3 trigger_if_equal 14 tank run_14
		accum 3 trigger_if_equal 15 tank run_15
		accum 3 trigger_if_equal 16 tank run_16
		accum 3 trigger_if_equal 17 tank run_17
		accum 3 trigger_if_equal 18 tank run_18
		accum 3 trigger_if_equal 19 tank run_19
		accum 3 trigger_if_equal 20 tank run_20
		accum 3 trigger_if_equal 21 tank run_21
		accum 3 trigger_if_equal 22 tank run_22
		accum 3 trigger_if_equal 23 tank run_23
		accum 3 trigger_if_equal 24 tank run_24
		accum 3 trigger_if_equal 25 tank run_25
		accum 3 trigger_if_equal 26 tank run_26
		accum 3 trigger_if_equal 27 tank run_27
		accum 3 trigger_if_equal 28 tank run_28
		accum 3 trigger_if_equal 29 tank run_29
		accum 3 trigger_if_equal 30 tank run_30
		accum 3 trigger_if_equal 31 tank run_31
		accum 3 trigger_if_equal 32 tank run_32
		accum 3 trigger_if_equal 33 tank run_33
		accum 3 trigger_if_equal 34 tank run_34
		accum 3 trigger_if_equal 35 tank run_35
		accum 3 trigger_if_equal 36 tank run_36
		accum 3 trigger_if_equal 37 tank run_37
		accum 3 trigger_if_equal 38 tank run_38
		accum 3 trigger_if_equal 39 tank run_39
		accum 3 trigger_if_equal 40 tank run_40
		accum 3 trigger_if_equal 41 tank run_41
		accum 3 trigger_if_equal 42 tank run_42
		accum 3 trigger_if_equal 43 tank run_43
		accum 3 trigger_if_equal 44 tank run_44
		accum 3 trigger_if_equal 45 tank run_45
		accum 3 trigger_if_equal 46 tank run_46
		accum 3 trigger_if_equal 47 tank run_47
		accum 3 trigger_if_equal 48 tank run_48
		accum 3 trigger_if_equal 49 tank run_49
		accum 3 trigger_if_equal 50 tank run_50
		accum 3 trigger_if_equal 51 tank run_51
		accum 3 trigger_if_equal 52 tank run_52
		accum 3 trigger_if_equal 53 tank run_53
		accum 3 trigger_if_equal 54 tank run_54
		accum 3 trigger_if_equal 55 tank run_55
		accum 3 trigger_if_equal 56 tank run_56
		accum 3 trigger_if_equal 57 tank run_57
		accum 3 trigger_if_equal 58 tank run_58
		accum 3 trigger_if_equal 59 tank run_59
		accum 3 trigger_if_equal 60 tank run_60
		accum 3 trigger_if_equal 61 tank run_61
		accum 3 trigger_if_equal 62 tank run_62
		accum 3 trigger_if_equal 63 tank run_63
		accum 3 trigger_if_equal 64 tank run_64
		accum 3 trigger_if_equal 65 tank run_65
		accum 3 trigger_if_equal 66 tank run_66
		accum 3 trigger_if_equal 67 tank run_67
		accum 3 trigger_if_equal 68 tank run_68
		accum 3 trigger_if_equal 69 tank run_69
		accum 3 trigger_if_equal 70 tank run_70
		accum 3 trigger_if_equal 71 tank run_71
		accum 3 trigger_if_equal 72 tank run_72
		accum 3 trigger_if_equal 73 tank run_73
		accum 3 trigger_if_equal 74 tank run_74
		accum 3 trigger_if_equal 75 tank run_75
		accum 3 trigger_if_equal 76 tank run_76
	}

	trigger run_0
	{
		trigger self tracks_forward
		accum 1 bitset 2
		followspline 0 spln2 50 wait length 32
		accum 1 bitreset 2

		setautospawn	"Old Village Spawn"	1
		setautospawn	"First Bunker"	0

		wm_objective_status 1 0 2
		wm_objective_status 1 1 1

		trigger self run_continue
	}

	trigger run_1
	{
		trigger self tracks_forward
		trigger game_manager allies_steal_tank

		accum 1 bitset 2
		followspline 0 spln3 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_2
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln4 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_3
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln5 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_4
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln6 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_5
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln7 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_6
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln8 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_7
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln9 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_8
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln10 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_9
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln11 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_10
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln12 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_11
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln13 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_12
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln14 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_13
	{
		trigger self tracks_turn_right

		accum 1 bitset 2
		followspline 0 spln15 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_14
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln16 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_15
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln17 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_16
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln18 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_17
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln19 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_18
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln20 50 wait length 32
		accum 1 bitreset 2

		trigger tank stuck_check_barrier1_built_msg

		trigger self run_continue
	}

	trigger run_19
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln21 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_20
	{
		trigger self tracks_forward

		// Old location of defense1 remove

		accum 1 bitset 2
		followspline 0 spln22 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_21
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln23 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_22
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln24 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_23
	{
		trigger self tracks_forward

		// **********************************
		trigger defense1 remove
		// **********************************

		accum 1 bitset 2
		followspline 0 spln25 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_24
	{
		trigger self tracks_forward

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "goldrush_axis_tank_barrier1"

		wm_teamvoiceannounce 1 "goldrush_allies_tank_barrier1"
		// *---------------------------------------------------------------------------------*

		accum 1 bitset 2
		followspline 0 spln26 50 wait length 32
		accum 1 bitreset 2
		setautospawn	"First Bunker"	1

		trigger self run_continue
	}

	trigger run_25
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln27 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_26
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln28 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_27
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln29 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_28
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln30 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_29
	{
		trigger self tracks_forward
		trigger defense1_toi rubble_corner1
		trigger self tracks_turn_left

		accum 1 bitset 2
		followspline 0 spln31 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_30
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln32 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_31
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln33 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_32
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln34 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_33
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln35 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_34
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln36 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_35
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln37 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_36
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln38 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_37
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln39 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_38
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln40 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_39
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln41 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_40
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln42 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_41
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln43 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_42
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln44 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_43
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln45 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_44
	{
		trigger self tracks_forward
		trigger defense1_toi rubble_corner2
		trigger defense2_toi rubble_corner3

		accum 1 bitset 2
		followspline 0 spln46 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_45
	{
		trigger self tracks_turn_left

		accum 1 bitset 2
		followspline 0 spln47 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_46
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln48 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_47
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln49 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_48
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln50 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_49
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln51 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_50
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln52 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_51
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln53 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_52
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln54 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_53
	{
		trigger self tracks_turn_left

		accum 1 bitset 2
		followspline 0 spln55 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_54
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln56 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_55
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln57 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_56
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln58 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_57
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln59 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_58
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln60 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_59
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln61 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_60
	{
		trigger self tracks_turn_left

		accum 1 bitset 2
		followspline 0 spln62 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_61
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln63 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_62
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln64 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_63
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln65 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_64
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln66 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_65
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln67 50 wait length 32
		accum 1 bitreset 2

		trigger tank stuck_check_barrier2_built_msg

		trigger self run_continue
	}

	trigger run_66
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln68 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_67
	{
		trigger self tracks_forward

		// **********************************
		trigger defense2 remove
		// **********************************

		accum 1 bitset 2
		followspline 0 spln69 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_68
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln70 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_69
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln71 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_70
	{
		trigger self tracks_forward

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "goldrush_axis_tank_barrier2"

		wm_teamvoiceannounce 1 "goldrush_allies_tank_barrier2"
		// *---------------------------------------------------------------------------------*

		accum 1 bitset 2
		followspline 0 spln72 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_71
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln73 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_72
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln74 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_73
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln75 50 wait length 32
		accum 1 bitreset 2

		wm_announce "^1Warning - ^4Tank approching Main Entrance!"

		trigger self run_continue
	}

	trigger run_74
	{
		trigger self tracks_turn_left

		accum 1 bitset 2
		followspline 0 spln76 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_75
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln77 50 wait length 32
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_76
	{
		trigger self tracks_forward

		accum 1 bitset 2
		followspline 0 spln78 50 wait length 32
		accum 1 bitreset 2

		setautospawn	"Main Entrance"	1
		setautospawn	"Cargo Bay"	0

		trigger self script_lockout

		trigger self 		tracks_stop
		trigger tank_sound 	stop

		wm_objective_status 2 0 2
		wm_objective_status 2 1 1

		startanimation 45 10 15 nolerp norandom
		wait 666
		startanimation 0 1 15 nolerp norandom

		wait 900

		trigger tank_turret turn

		accum 3 inc 1
	}

// ===========================================================================================
// ===========================================================================================

// ===========================================================================================
// stuck 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 self stuck_check_barrier1_built
		trigger self stuck_check_barrier2_built
		trigger self stuck_check_scriptlockout
		trigger self stuck_check_finished
	}

	trigger stuck_check_finished
	{
		accum 3 abort_if_less_than 77

		accum 1 bitset 3
	}

	trigger stuck_check_scriptlockout
	{
		accum 5 abort_if_equal 0

		accum 1 bitset 3
	}

	trigger stuck_check_barrier1_built
	{
		accum 3 abort_if_not_equal 23

		accum 1 abort_if_not_bitset 0

		accum 1 bitset 3
	}

	trigger stuck_check_barrier1_built_msg
	{
		accum 1 abort_if_not_bitset 0

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 1 "goldrush_allies_tankbar_destroy"
		// *---------------------------------------------------------------------------------*
	}

	trigger stuck_check_barrier2_built
	{
		accum 3 abort_if_not_equal 67

		accum 1 abort_if_not_bitset 1

		accum 1 bitset 3
	}

	trigger stuck_check_barrier2_built_msg
	{
		accum 1 abort_if_not_bitset 1

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 1 "goldrush_allies_tankbar_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 self 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 move
	}

	trigger stopcheck
	{
		trigger self stopcheck_setup
		accum 1 abort_if_not_bitset 6

		trigger self script_lockout

		// Any just stopped moving stuff goes here
		trigger tank_sound 	stop
		trigger self 		tracks_stop
		startanimation 45 	10 	15 nolerp norandom
		wait 666
		startanimation 0 	1 	15 nolerp norandom
		wait 900

		trigger self script_lockout_stop
		resetscript
	}

// ===========================================================================================
// ===========================================================================================
// script lockouts

	trigger script_lockout
	{
		accum 5 inc 1
	}

	trigger script_lockout_stop
	{
		accum 5 inc -1
	}

// ===========================================================================================
// ===========================================================================================
// enable/disable

	trigger tank_enable
	{
		trigger self 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 5 abort_if_not_equal 0	// are we not in a script lockout?

		accum 1 abort_if_bitset 7 	// death check

		// Any just started moving stuff goes here

		trigger self script_lockout

		trigger tank_sound start

		startanimation 55 10 15 nolerp norandom
		wait 666
		startanimation 5 40 15 nolerp norandom
		wait 500
		trigger self tracks_forward

		trigger self script_lockout_stop

		trigger self move
	}

	trigger tank_disable
	{
		accum 4 inc 1				// up the stop counter
		accum 4 abort_if_less_than 4

		accum 1 bitset 8			// set stop check

		trigger self deathcheck
	}

// ===========================================================================================
// ===========================================================================================
// death / rebirth

	rebirth
	{
		accum 1 bitreset 9 // we're visibly alive
		accum 1 bitreset 7 // we're alive again

		trigger self script_lockout

		changemodel models/mapobjects/tanks_sd/jagdpanther_snow_body.md3

		setstate tank_smoke invisible

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 0 "axis_hq_tank_stop"

		wm_teamvoiceannounce 0 "axis_hq_tank_repaired_allies"

		wm_teamvoiceannounce 1 "allies_hq_tank_repaired"

		wm_removeteamvoiceannounce 1 "allies_hq_tank_damaged_axis"
		// *---------------------------------------------------------------------------------*

		trigger tank_sound rebirth
		wait 500

		trigger self script_lockout_stop
	}

	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 5 abort_if_not_equal 0	// are we not in a script lockout?

		accum 1 bitset 9				// we're now visibly dead

		trigger self deathcheck_message
		accum 1 bitset 4

		changemodel models/mapobjects/tanks_sd/jagdpanther_snow_damaged_body.md3

		setstate tank_smoke default

		kill tank_construct

		trigger self sound_death
		trigger self tracks_stop

		trigger self script_lockout

		trigger self tracks_stop
		startanimation 45 10 15 nolerp norandom
		wait 666
		startanimation 0 1 15 nolerp norandom

		trigger self script_lockout_stop

		resetscript
	}

	trigger deathcheck_message
	{
		accum 1 abort_if_not_bitset 4

		wm_announce "The Tank has been damaged!"

		// *----------------------------------- vo ------------------------------------------*
		wm_addteamvoiceannounce 1 "allies_hq_tank_damaged_axis"

		wm_teamvoiceannounce 0 "axis_hq_tank_damaged"

		wm_teamvoiceannounce 1 "allies_hq_tank_damaged_axis"

		wm_removeteamvoiceannounce 0 "axis_hq_tank_stop"
		// *---------------------------------------------------------------------------------*
	}

	trigger startfire
	{
		startanimation 67 8 10 nolerp norandom noloop
	}

	trigger stopfire
	{
		startanimation 0 1 15 nolerp norandom
	}

	trigger enable_stage2
	{
		accum 1 bitreset 0
	}

	trigger disable_stage2
	{
		accum 1 bitset 0
	}

	trigger enable_stage4
	{
		accum 1 bitreset 1
	}

	trigger disable_stage4
	{
		accum 1 bitset 1
	}
}

tank_trigger
{
	spawn
	{
		wait 500

		attachtotag tank_shell tag_turret

		trigger tank_trigger bot_goal_loop
	}

	trigger bot_goal_loop
	{
		wait 4000	// check every 4 seconds
		trigger tank bot_active_check
		trigger tank_trigger bot_goal_loop
	}
}

tank_build
{
	spawn
	{
		wait 500

		attachtotag tank_shell tag_turret
	}
}

tank_construct
{
	spawn
	{
		wait 1000

		kill tank

		constructible_class 2
		constructible_health 1200
		constructible_constructxpbonus 20
		constructible_destructxpbonus 25
	}

	built final
	{
		alertentity tank

		wm_announce "The Tank has been repaired!"
	}
}

tank_shell
{
	spawn
	{
		wait 400
		attachtotag tank tag_tank
		faceangles 0 0 180 300000  <<<  [b]I tired this and it didnt work[/b]
	}
}

tank_turret
{
	spawn
	{
		wait 500

		attachtotag tank_shell tag_turret
		faceangles 0 0 180 300000 <<<  [b]I tired this and it didnt work[/b]
	}

	trigger turn
	{
		wait 1000

		playsound sound/vehicles/tank/turret_spin.wav looping
		faceangles 0 340 180 3000
		stopsound
		playsound sound/vehicles/tank/turret_end.wav

		wait 500

		trigger tank startfire
		playsound sound/vehicles/tank/tank_fire.wav
		trigger boomtrigger boom_all
		trigger tank_flash run
	}

	trigger blow_doors
	{
		setstate tank_flash invisible

		wait 200
		trigger tank stopfire

		alertentity main_entrance

		wm_objective_status 3 0 2
		wm_objective_status 3 1 1

		wm_set_main_objective		4	0
		wm_set_main_objective		4	1

		playsound sound/vehicles/tank/turret_spin.wav looping
		faceangles 0 0 0 3000
		stopsound
		playsound sound/vehicles/tank/turret_end.wav
		trigger tank sound_death
		trigger tank script_lockout_stop
		trigger main_entrance death
		trigger main_entrance_tnt spawn
		trigger main_entrance_debri spawn
		trigger main_entrance_obj death
		setstate main_entrance_cm invisible
	}
}

tank_flash
{
	spawn
	{
		setstate tank_flash invisible
	}

	trigger run
	{
		setstate tank_flash default
 		attachtotag tank_turret tag_flash
		faceangles 0 90 0 50

		wait 50

		trigger tank_turret blow_doors
	}
}

tank_disabler
{
	trigger run
	{
		trigger tank tank_disable
	}
}

tank_enabler
{
	trigger run
	{
		trigger tank tank_enable
	}
}

tank_smoke
{
	spawn
	{
		wait 300
		attachtotag tank_shell tag_smoke
		setstate tank_smoke invisible
	}
}

What am i doing wrong - most of this is from goldrush, its just so i can see how it works, ill rewrite the script later once its working


(=DaRk=CrAzY-NuTTeR) #2

any help at all?


(Mean Mr. Mustard) #3

Check the ‘attachtotag’ lines. Does the model have those tags and is there a ‘tag’ file. If no such tag is found, it seems to place the entities at the models origin


(=DaRk=CrAzY-NuTTeR) #4

yeah

marko told me to use the fueldumo tank, it worked but the extras go to origon point

i still have to fix it up but this is my current script

//==================================================
//====================Tank Sound====================
//==================================================
tank_sound
{
	trigger start
	{
		trigger tank sound_start
		wait 3400
		trigger tank sound_move
	}

	trigger stop
	{
		trigger tank sound_stop
		wait 1400
		trigger tank sound_idle
	}

	trigger rebirth
	{
		trigger tank sound_rebirth
		wait 1400
		trigger tank sound_idle
	}
}

//============================================================================================

tank
{
	spawn
	{
		wait 50
		faceangles 0 180 0 50
		trigger self sound_idle

		accum 1 bitset 5
		trigger self tracks_stop

		// Reset the tank+turret into correct position
		followspline 1 spln1 10000 wait length -64
		followspline 2 spln1 10000 wait length -64

		// Instant test teleporter
		// accum 3 set 90
	}

// ===========================================================================================
	trigger startfire
	{
		startanimation 67 8 10 nolerp norandom
	}

	trigger stopfire
	{
		startanimation 0 1 15 nolerp norandom
	}
// ===========================================================================================
	trigger sound_idle
	{
		stopsound
		playsound sound/vehicles/tank/tank_idle.wav looping volume 512
	}

	trigger sound_start
	{
		stopsound
		playsound sound/vehicles/tank/tank_revup.wav volume 196
	}

	trigger sound_move
	{
		stopsound
		playsound sound/vehicles/tank/tank_move.wav looping volume 512
	}

	trigger sound_stop
	{
		stopsound
		playsound sound/vehicles/tank/tank_revdown.wav volume 196
	}

	trigger sound_death
	{
		stopsound
		playsound sound/vehicles/tank/tank_stop.wav volume 256
	}

	trigger sound_rebirth
	{
		stopsound
		playsound sound/vehicles/tank/tank_start.wav volume 196
	}
// ===========================================================================================
	trigger tracks_forward
	{
		accum 1 abort_if_bitset 5
		accum 1 bitset 5

		remapshader models/mapobjects/tanks_sd/bits_r models/mapobjects/tanks_sd/bits_forward
		remapshader models/mapobjects/tanks_sd/wheel_r models/mapobjects/tanks_sd/wheel_forward
		remapshader models/mapobjects/tanks_sd/bits_l models/mapobjects/tanks_sd/bits_forward
		remapshader models/mapobjects/tanks_sd/wheel_l models/mapobjects/tanks_sd/wheel_forward
		remapshaderflush
	}

	trigger tracks_turningleft
	{
		remapshader models/mapobjects/tanks_sd/bits_r models/mapobjects/tanks_sd/bits_forward
		remapshader models/mapobjects/tanks_sd/wheel_r models/mapobjects/tanks_sd/wheel_forward
		remapshader models/mapobjects/tanks_sd/bits_l models/mapobjects/tanks_sd/bits_backward
		remapshader models/mapobjects/tanks_sd/wheel_l models/mapobjects/tanks_sd/wheel_backward
		remapshaderflush
	}

	trigger tracks_turningright
	{
		remapshader models/mapobjects/tanks_sd/bits_r models/mapobjects/tanks_sd/bits_backward
		remapshader models/mapobjects/tanks_sd/wheel_r models/mapobjects/tanks_sd/wheel_backward
		remapshader models/mapobjects/tanks_sd/bits_l models/mapobjects/tanks_sd/bits_forward
		remapshader models/mapobjects/tanks_sd/wheel_l models/mapobjects/tanks_sd/wheel_forward
		remapshaderflush
	}

	trigger tracks_stop
	{
		accum 1 abort_if_not_bitset 5
		accum 1 bitreset 5

		remapshader models/mapobjects/tanks_sd/bits_r models/mapobjects/tanks_sd/bits_r
		remapshader models/mapobjects/tanks_sd/wheel_r models/mapobjects/tanks_sd/wheel_r
		remapshader models/mapobjects/tanks_sd/bits_l models/mapobjects/tanks_sd/bits_l
		remapshader models/mapobjects/tanks_sd/wheel_l models/mapobjects/tanks_sd/wheel_l
		remapshaderflush
	}

//==================================================
//================Spline Information================
//==================================================

	trigger run_incpos
	{
		accum 3 inc 1
	}

	trigger run_continue
	{
		trigger self run_incpos
		trigger self deathcheck
		trigger self stopcheck
		trigger self move
	}
// ===========================================================================================
// ===========================================================================================
// movement
	trigger move_check
	{
		trigger self stuck_check
		accum 1 abort_if_bitset 3

		trigger self dispatch
	}

	trigger move
	{
		trigger self move_check

		wait 500

		trigger self move
	}

	trigger dispatch
	{
		accum 3 trigger_if_equal 1 tank run_1
		accum 3 trigger_if_equal 2 tank run_2
		accum 3 trigger_if_equal 3 tank run_3
		accum 3 trigger_if_equal 4 tank run_4
		accum 3 trigger_if_equal 5 tank run_5
		accum 3 trigger_if_equal 6 tank run_6
		accum 3 trigger_if_equal 7 tank run_7
		accum 3 trigger_if_equal 8 tank run_8
		accum 3 trigger_if_equal 9 tank run_9
		accum 3 trigger_if_equal 10 tank run_10
		accum 3 trigger_if_equal 11 tank run_11
		accum 3 trigger_if_equal 12 tank run_12
		accum 3 trigger_if_equal 13 tank run_13
		accum 3 trigger_if_equal 14 tank run_14
		accum 3 trigger_if_equal 15 tank run_15
		accum 3 trigger_if_equal 16 tank run_16
		accum 3 trigger_if_equal 17 tank run_17
		accum 3 trigger_if_equal 18 tank run_18
		accum 3 trigger_if_equal 19 tank run_19
		accum 3 trigger_if_equal 20 tank run_20
		accum 3 trigger_if_equal 21 tank run_21
		accum 3 trigger_if_equal 22 tank run_22
		accum 3 trigger_if_equal 23 tank run_23
		accum 3 trigger_if_equal 24 tank run_24
		accum 3 trigger_if_equal 25 tank run_25
		accum 3 trigger_if_equal 26 tank run_26
		accum 3 trigger_if_equal 27 tank run_27
		accum 3 trigger_if_equal 28 tank run_28
		accum 3 trigger_if_equal 29 tank run_29
		accum 3 trigger_if_equal 30 tank run_30
		accum 3 trigger_if_equal 31 tank run_31
		accum 3 trigger_if_equal 32 tank run_32
		accum 3 trigger_if_equal 33 tank run_33
		accum 3 trigger_if_equal 34 tank run_34
		accum 3 trigger_if_equal 35 tank run_35
		accum 3 trigger_if_equal 36 tank run_36
		accum 3 trigger_if_equal 37 tank run_37
		accum 3 trigger_if_equal 38 tank run_38
		accum 3 trigger_if_equal 39 tank run_39
		accum 3 trigger_if_equal 40 tank run_40
		accum 3 trigger_if_equal 41 tank run_41
		accum 3 trigger_if_equal 42 tank run_42
		accum 3 trigger_if_equal 43 tank run_43
		accum 3 trigger_if_equal 44 tank run_44
		accum 3 trigger_if_equal 45 tank run_45
		accum 3 trigger_if_equal 46 tank run_46
		accum 3 trigger_if_equal 47 tank run_47
		accum 3 trigger_if_equal 48 tank run_48
		accum 3 trigger_if_equal 49 tank run_49
		accum 3 trigger_if_equal 50 tank run_50
		accum 3 trigger_if_equal 51 tank run_51
		accum 3 trigger_if_equal 52 tank run_52
		accum 3 trigger_if_equal 53 tank run_53
		accum 3 trigger_if_equal 54 tank run_54
		accum 3 trigger_if_equal 55 tank run_55
		accum 3 trigger_if_equal 56 tank run_56
		accum 3 trigger_if_equal 57 tank run_57
		accum 3 trigger_if_equal 58 tank run_58
		accum 3 trigger_if_equal 59 tank run_59
		accum 3 trigger_if_equal 60 tank run_60
		accum 3 trigger_if_equal 61 tank run_61
		accum 3 trigger_if_equal 62 tank run_62
		accum 3 trigger_if_equal 63 tank run_63
		accum 3 trigger_if_equal 64 tank run_64
		accum 3 trigger_if_equal 65 tank run_65
		accum 3 trigger_if_equal 66 tank run_66
		accum 3 trigger_if_equal 67 tank run_67
		accum 3 trigger_if_equal 68 tank run_68
		accum 3 trigger_if_equal 69 tank run_69
		accum 3 trigger_if_equal 70 tank run_70
		accum 3 trigger_if_equal 71 tank run_71
		accum 3 trigger_if_equal 72 tank run_72
		accum 3 trigger_if_equal 73 tank run_73
		accum 3 trigger_if_equal 74 tank run_74
		accum 3 trigger_if_equal 75 tank run_75
		accum 3 trigger_if_equal 76 tank run_76
		accum 3 trigger_if_equal 77 tank run_77
		accum 3 trigger_if_equal 78 tank run_78
		accum 3 trigger_if_equal 79 tank run_79
		accum 3 trigger_if_equal 80 tank run_80
	}

// ===========================================================================================
// ===========================================================================================

	trigger run_1
	{
		accum 1 bitset 2
		followspline 0 spln1 80 wait length -64
		accum 1 bitreset 2

		trigger self 		tracks_forward

		trigger self run_continue
	}

	trigger run_2
	{
		accum 1 bitset 2
		followspline 0 spln2 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_3
	{
		accum 1 bitset 2
		followspline 0 spln3 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_4
	{
		accum 1 bitset 2
		followspline 0 spln4 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_5
	{
		accum 1 bitset 2
		followspline 0 spln5 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_6
	{
		accum 1 bitset 2
		followspline 0 spln6 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_7
	{
		accum 1 bitset 2
		followspline 0 spln7 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_8
	{
		accum 1 bitset 2
		followspline 0 spln8 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_9
	{
		accum 1 bitset 2
		followspline 0 spln9 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_10
	{
		accum 1 bitset 2
		followspline 0 spln10 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_11
	{
		accum 1 bitset 2
		followspline 0 spln11 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_12
	{
		accum 1 bitset 2
		followspline 0 spln12 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_13
	{
		accum 1 bitset 2
		followspline 0 spln13 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_14
	{
		accum 1 bitset 2
		followspline 0 spln14 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_15
	{
		accum 1 bitset 2
		followspline 0 spln15 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_16
	{
		accum 1 bitset 2
		followspline 0 spln16 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_17
	{
		accum 1 bitset 2
		followspline 0 spln17 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_18
	{
		accum 1 bitset 2
		followspline 0 spln18 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_19
	{
		accum 1 bitset 2
		followspline 0 spln19 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_20
	{
		accum 1 bitset 2
		followspline 0 spln20 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_21
	{
		accum 1 bitset 2
		followspline 0 spln21 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_22
	{
		accum 1 bitset 2
		followspline 0 spln22 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_23
	{
		accum 1 bitset 2
		trigger tank_turret2 run_6
		followspline 0 spln23 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_24
	{
		accum 1 bitset 2
		followspline 0 spln24 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_25
	{
		accum 1 bitset 2
		followspline 0 spln25 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_26
	{
		accum 1 bitset 2
		followspline 0 spln26 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_27
	{
		accum 1 bitset 2
		followspline 0 spln27 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_28
	{
		accum 1 bitset 2
		followspline 0 spln28 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_29
	{
		accum 1 bitset 2
		trigger tank_turret2 run_26
		trigger tank_turret run_26
		trigger tank_extras run_26
		followspline 0 spln29 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_30
	{
		accum 1 bitset 2
		trigger tank_turret2 run_6
		followspline 0 spln30 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_31
	{
		accum 1 bitset 2
		followspline 0 spln31 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_32
	{
		accum 1 bitset 2
		followspline 0 spln32 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_33
	{
		accum 1 bitset 2
		followspline 0 spln33 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_34
	{
		accum 1 bitset 2
		followspline 0 spln34 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_35
	{
		accum 1 bitset 2
		followspline 0 spln35 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_36
	{
		accum 1 bitset 2
		followspline 0 spln36 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_37
	{
		accum 1 bitset 2
		followspline 0 spln37 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_38
	{
		accum 1 bitset 2
		followspline 0 spln38 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_39
	{
		accum 1 bitset 2
		followspline 0 spln39 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_40
	{
		accum 1 bitset 2
		followspline 0 spln40 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_41
	{
		accum 1 bitset 2
		followspline 0 spln41 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_42
	{
		accum 1 bitset 2
		followspline 0 spln42 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_43
	{
		accum 1 bitset 2
		trigger tank_turret2 run_45
		followspline 0 spln50 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_44
	{
		accum 1 bitset 2
		trigger tank_turret2 run_46
		followspline 0 spln51 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_45
	{
		accum 1 bitset 2
		trigger tank_turret2 run_47
		followspline 0 spln52 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_46
	{
		accum 1 bitset 2
		trigger tank_turret2 run_48
		followspline 0 spln53 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_47
	{
		accum 1 bitset 2
		trigger tank_turret2 run_49
		followspline 0 spln54 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_48
	{
		accum 1 bitset 2
		trigger tank_turret2 run_50
		followspline 0 spln55 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_49
	{
		accum 1 bitset 2
		trigger tank_turret2 run_51
		followspline 0 spln56 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_50
	{
		accum 1 bitset 2
		trigger tank_turret2 run_52
		followspline 0 spln57 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_51
	{
		accum 1 bitset 2
		trigger tank_turret2 run_53
		followspline 0 spln58 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_53
	{
		accum 1 bitset 2
		trigger tank_turret2 run_54
		followspline 0 spln59 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_54
	{
		accum 1 bitset 2
		trigger tank_turret2 run_55
		followspline 0 spln60 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_55
	{
		accum 1 bitset 2
		trigger tank_turret2 run_56
		followspline 0 spln61 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_56
	{
		accum 1 bitset 2
		trigger tank_turret2 run_57
		followspline 0 spln62 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_57
	{
		accum 1 bitset 2
		trigger tank_turret2 run_58
		followspline 0 spln63 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_58
	{
		accum 1 bitset 2
		trigger tank_turret2 run_59
		followspline 0 spln64 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_59
	{
		accum 1 bitset 2
		trigger tank_turret2 run_60

		// Start tracks turning in opp directions
		trigger self 		tracks_turningright

		followspline 0 spln65 80 wait length -64 roll 0 -1 dampout
		followspline 0 tunnel1 80 wait length -64 roll -1 5 dampin dampout

		// Reset tracks back to forward motion
		accum 1 bitreset 5
		trigger self 		tracks_forward

		accum 1 bitreset 2
		trigger self run_incpos
		trigger self run_continue
	}

	trigger run_60
	{
		accum 1 bitset 2
		trigger tank_turret2 run_62

		followspline 0 tunnel2 80 wait length -64 roll 4 1 dampout
		followspline 0 tunnel3 80 wait length -64 roll 5 -5 dampin

		accum 1 bitreset 2
		trigger self run_incpos
		trigger self run_continue
	}

	trigger run_61
	{
		accum 1 bitset 2
		trigger tank_turret2 run_64
		followspline 0 tunnel4 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}
	//-----------------------------------------------------------------------
	// Turning past cave spawn exit
	//-----------------------------------------------------------------------
	trigger run_62
	{
		accum 1 bitset 2
		trigger tank_turret2 run_65

		// Start tracks turning in opp directions
		trigger self 		tracks_turningleft

		followspline 0 tunnel5 80 wait length -64

		// Reset tracks back to forward motion
		accum 1 bitreset 5
		trigger self 		tracks_forward

		accum 1 bitreset 2
		trigger self run_continue
	}

	trigger run_63
	{
		accum 1 bitset 2
		trigger tank_turret2 run_66
		followspline 0 tunnel6 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_64
	{
		accum 1 bitset 2
		trigger tank_turret2 run_67
		followspline 0 tunnel7 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	//-----------------------------------------------------------------------
	// Turning past small cave exit on axis side
	//-----------------------------------------------------------------------
	trigger run_65
	{
		accum 1 bitset 2
		trigger tank_turret2 run_68

		// Start tracks turning in opp directions
		trigger self 		tracks_turningleft

		followspline 0 tunnel8 80 wait length -64

		// Reset tracks back to forward motion
		accum 1 bitreset 5
		trigger self 		tracks_forward

		accum 1 bitreset 2
		trigger self run_continue
	}

	trigger run_66
	{
		accum 1 bitset 2
		trigger tank_turret2 run_69
		followspline 0 tunnel9 80 wait length -64 roll 0 1 dampout
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_67
	{
		accum 1 bitset 2
		trigger tank_turret2 run_70
		followspline 0 tunnel10 80 wait length -64 roll 1 4 dampin
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_68
	{
		accum 1 bitset 2
		trigger tank_turret2 run_71
		followspline 0 tunnel11 80 wait length -64 roll 5 1 dampin
		accum 1 bitreset 2

		trigger self run_continue
	}

	//-----------------------------------------------------------------------
	// Final corner in the cave system
	//-----------------------------------------------------------------------
	trigger run_69
	{
		accum 1 bitset 2
		trigger tank_turret2 run_72
		followspline 0 tunnel12 80 wait length -64 roll 6 -4 dampin

		// Start tracks turning in opp directions
		trigger self 		tracks_turningright

		followspline 0 spln66 80 wait length -64 roll 2 -2 dampin dampout

		// Reset tracks back to forward motion
		accum 1 bitreset 5
		trigger self 		tracks_forward

		accum 1 bitreset 2
		trigger self run_incpos
		trigger self run_continue
	}

	trigger run_70
	{
		accum 1 bitset 2
		trigger tank_turret2 run_74
		followspline 0 spln67 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_71
	{
		accum 1 bitset 2
		trigger tank_turret2 run_75
		followspline 0 spln68 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_72
	{
		accum 1 bitset 2
		trigger tank_turret2 run_76
		followspline 0 spln69 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_73
	{
		accum 1 bitset 2
		trigger tank_turret2 run_77
		followspline 0 spln70 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_74
	{
		accum 1 bitset 2
		trigger tank_turret2 run_78
		followspline 0 spln71 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_75
	{
		accum 1 bitset 2
		trigger tank_turret2 run_79
		followspline 0 spln72 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_76
	{
		accum 1 bitset 2
		trigger tank_turret2 run_80
		followspline 0 spln73 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_77
	{
		accum 1 bitset 2
		trigger tank_turret2 run_81
		followspline 0 spln74 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_78
	{
		accum 1 bitset 2
		trigger tank_turret2 run_82
		followspline 0 spln75 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_79
	{
		accum 1 bitset 2
		trigger tank_turret2 run_83
		followspline 0 spln76 80 wait length -64
		accum 1 bitreset 2

		trigger self run_continue
	}

	trigger run_80
	{
		accum 1 bitset 2
		trigger tank_turret2 run_80

		followspline 0 spln2_39 80 wait length -64 roll 0 -1 dampin dampout
		accum 1 bitreset 2

		trigger self		script_lockout

		trigger tank_construct final_pos
		trigger self tracks_stop
		trigger self sound_death
		trigger tank_sound 	stop

		startanimation 45 	10 	15 nolerp norandom
		wait 666
		startanimation 0 	1 	15 nolerp norandom
		wait 900

		trigger tank_turret turn3
		trigger self run_incpos
	}

// ===========================================================================================
// ===========================================================================================
// stuck 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 self stuck_check_bridge_built
		trigger self stuck_check_bridge_dyna
		trigger self stuck_check_scriptlockout
		trigger self stuck_check_finished
	}

	trigger stuck_check_finished
	{
		accum 3 abort_if_less_than 134

		accum 1 bitset 3
	}

	trigger stuck_check_scriptlockout
	{
		accum 5 abort_if_equal 0

		accum 1 bitset 3
	}

	trigger stuck_check_bridge_built
	{
		accum 3 abort_if_not_equal 35

		accum 1 abort_if_bitset 0

		accum 1 bitset 3
	}

	trigger stuck_check_bridge_dyna
	{
		accum 3 abort_if_not_equal 35

		accum 0 set_to_dynamitecount bridgetarget
		accum 0 abort_if_equal 0

		accum 1 bitset 3
	}

// ===========================================================================================
// ===========================================================================================
// 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 self 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 move
	}

	trigger stopcheck
	{
		trigger self stopcheck_setup
		accum 1 abort_if_not_bitset 6

		trigger self script_lockout

		// Any just stopped moving stuff goes here
		trigger tank_sound 	stop
		trigger self 		tracks_stop
		startanimation 45 	10 	15 nolerp norandom
		wait 666
		startanimation 0 	1 	15 nolerp norandom
		wait 900

		trigger self script_lockout_stop
		resetscript
	}

// ===========================================================================================
// ===========================================================================================
// script lockouts

	trigger script_lockout
	{
		accum 5 inc 1
	}

	trigger script_lockout_stop
	{
		accum 5 inc -1
	}

// ===========================================================================================
// ===========================================================================================
// enable/disable

	trigger tank_enable
	{
		trigger self 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 5 abort_if_not_equal 0	// are we not in a script lockout?

		accum 1 abort_if_bitset 7 	// death check

		// Any just started moving stuff goes here

		trigger self script_lockout

		trigger tank_sound start

		startanimation 55 10 15 nolerp norandom
		wait 666
		startanimation 5 40 15 nolerp norandom
		wait 500
		trigger self tracks_forward

		trigger self script_lockout_stop

		trigger self move
	}

	trigger tank_disable
	{
		accum 4 inc 1				// up the stop counter
		accum 4 abort_if_less_than 4

		accum 1 bitset 8			// set stop check

		trigger self deathcheck
	}

// ===========================================================================================
// ===========================================================================================
// death / rebirth

	rebirth
	{
		accum 1 bitreset 9 // we're visibly alive
		accum 1 bitreset 7 // we're alive again

		trigger self script_lockout

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "axis_hq_tank_repaired_allies"

		wm_teamvoiceannounce 1 "allies_hq_tank_repaired"
		// *---------------------------------------------------------------------------------*
		wm_announce "The Tank has been repaired!"

		changemodel models/mapobjects/tanks_sd/jagdpanther_snow_body.md3

		setstate tank_smoke invisible

		trigger tank_sound rebirth
		wait 500

		trigger self script_lockout_stop
	}

	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 5 abort_if_not_equal 0	// are we not in a script lockout?

		accum 1 bitset 9				// we're now visibly dead

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "axis_hq_tank_damaged"

		wm_teamvoiceannounce 1 "allies_hq_tank_damaged_axis"
		// *---------------------------------------------------------------------------------*

		wm_announce "The Tank has been damaged!"

		changemodel models/mapobjects/tanks_sd/jagdpanther_snow_damaged_body.md3

		setstate tank_smoke default

		kill tank_construct

		trigger self sound_death
		trigger self tracks_stop

		trigger self script_lockout

		trigger self tracks_stop
		startanimation 45 10 15 nolerp norandom
		wait 666
		startanimation 0 1 15 nolerp norandom

		trigger self script_lockout_stop

		resetscript
	}

	trigger setBridge
	{
		wm_objective_status 1 1 1
		wm_objective_status 1 0 2

		accum 1 bitset 0
	}

	trigger clearBridge
	{
		wm_objective_status 1 1 0
		wm_objective_status 1 0 0

		accum 1 bitreset 0
	}
}

tank_disabler
{
	trigger run
	{
		trigger tank tank_disable
	}
}

tank_enabler
{
	trigger run
	{
		trigger tank tank_enable
	}
}

tank_trigger
{
     spawn
     {
          wait 100

          attachtotag tank tag_turret
     }
}

tank_build
{
     spawn
     {
          wait 100

          attachtotag tank tag_turret
     }
}

tank_construct
{
	spawn
	{
		wait 400

		constructible_class 2
		constructible_health 1200
	}

	built final
	{
		alertentity tank
	}

	trigger final_pos
	{
		constructible_constructxpbonus 14
		constructible_destructxpbonus 11
	}
}

//Tank Extras

tank_turret
{
	spawn
	{
		wait 500
		attachtotag tank tag_turret
	}

	trigger tank_turret_turn
	{
		wait 1000

		trigger tank_turret2 spin_start
		trigger tank_turret2 turn3
		faceangles 0 35 0 3000
		trigger tank_turret2 spin_stop

		wait 500

		trigger tank startfire
		trigger tank_turret2 avre_fire
		trigger tank_flash run3

		trigger tank script_lockout_stop
	}

	trigger frontgate
	{
		setstate tank_flash invisible

		wait 200
		trigger tank stopfire

		trigger basewall_solid switch
		trigger game_manager objective5

		wm_objective_status 5 1 1
		wm_objective_status 5 0 2

		wait 200

		trigger tank_turret2 spin_start
		trigger tank_turret2 turn3_back
		faceangles 0 0 0 3000
		trigger tank_turret2 spin_stop
	}
}

tank_extras
{
	spawn
	{
		wait 50
		followspline 1 spln1 10000 wait length -64
		followspline 2 spln1 10000 wait length -64
	}

//Keeping it on the tank otherwise the turret will slide off!

	trigger run_1
	{
		followspline 0 spln1 80 wait length -64
	}

	trigger run_2
	{
		followspline 0 spln2 80 wait length -64
	}

	trigger run_3
	{
		followspline 0 spln3 80 wait length -64
	}

	trigger run_4
	{
		followspline 0 spln4 80 wait length -64
	}

	trigger run_5
	{
		followspline 0 spln5 80 wait length -64
	}

	trigger run_6
	{
		followspline 0 spln6 80 wait length -64
	}

	trigger run_7
	{
		followspline 0 spln7 80 wait length -64
	}

	trigger run_8
	{
		followspline 0 spln8 80 wait length -64
	}

	trigger run_9
	{
		followspline 0 spln9 80 wait length -64
	}

	trigger run_10
	{
		followspline 0 spln10 80 wait length -64
	}

	trigger run_11
	{
		followspline 0 spln11 80 wait length -64
	}

	trigger run_12
	{
		followspline 0 spln12 80 wait length -64
	}

	trigger run_13
	{
		followspline 0 spln13 80 wait length -64
	}

	trigger run_14
	{
		followspline 0 spln14 80 wait length -64
	}

	trigger run_15
	{
		followspline 0 spln15 80 wait length -64
	}

	trigger run_16
	{
		followspline 0 spln16 80 wait length -64
	}

	trigger run_17
	{
		followspline 0 spln17 80 wait length -64
	}

	trigger run_18
	{
		followspline 0 spln18 80 wait length -64
	}

	trigger run_19
	{
		followspline 0 spln19 80 wait length -64
	}

	trigger run_20
	{
		followspline 0 spln20 80 wait length -64
	}

	trigger run_21
	{
		followspline 0 spln21 80 wait length -64
	}

	trigger run_22
	{
		followspline 0 spln22 80 wait length -64
	}

	trigger run_23
	{
		followspline 0 spln23 80 wait length -64
	}

	trigger run_24
	{
		followspline 0 spln24 80 wait length -64
	}

	trigger run_25
	{
		followspline 0 spln25 80 wait length -64
	}

	trigger run_26
	{
		followspline 0 spln26 80 wait length -64
	}

	trigger run_27
	{
		followspline 0 spln27 80 wait length -64
	}

	trigger run_28
	{
		followspline 0 spln28 80 wait length -64
	}

	trigger run_29
	{
		followspline 0 spln29 80 wait length -64
	}

	trigger run_30
	{
		followspline 0 spln30 80 wait length -64
	}

	trigger run_31
	{
		followspline 0 spln31 80 wait length -64
	}

	trigger run_32
	{
		followspline 0 spln32 80 wait length -64
	}

	trigger run_33
	{
		followspline 0 spln33 80 wait length -64
	}

	trigger run_34
	{
		followspline 0 spln34 80 wait length -64
	}

	trigger run_35
	{
		followspline 0 spln35 80 wait length -64
	}

	trigger run_36
	{
		followspline 0 spln36 80 wait length -64
	}

	trigger run_37
	{
		followspline 0 spln37 80 wait length -64
	}

	trigger run_38
	{
		followspline 0 spln38 80 wait length -64
	}

	trigger run_39
	{
		followspline 0 spln39 80 wait length -64
	}

	trigger run_40
	{
		followspline 0 spln40 80 wait length -64
	}

	trigger run_41
	{
		followspline 0 spln41 80 wait length -64
	}

	trigger run_42
	{
		followspline 0 spln42 80 wait length -64
	}

	trigger run_43
	{
		followspline 0 spln43 80 wait length -64
	}

	trigger run_44
	{
		followspline 0 spln44 80 wait length -64
	}

	trigger run_45
	{
		followspline 0 spln45 80 wait length -64
	}

	trigger run_46
	{
		followspline 0 spln46 80 wait length -64
	}

	trigger run_47
	{
		followspline 0 spln47 80 wait length -64
	}

	trigger run_48
	{
		followspline 0 spln48 80 wait length -64
	}

	trigger run_49
	{
		followspline 0 spln49 80 wait length -64
	}

	trigger run_50
	{
		followspline 0 spln50 80 wait length -64
	}

	trigger run_51
	{
		followspline 0 spln51 80 wait length -64
	}

	trigger run_52
	{
		followspline 0 spln52 80 wait length -64
	}

	trigger run_53
	{
		followspline 0 spln53 80 wait length -64
	}

	trigger run_54
	{
		followspline 0 spln54 80 wait length -64
	}

	trigger run_55
	{
		followspline 0 spln55 80 wait length -64
	}

	trigger run_56
	{
		followspline 0 spln56 80 wait length -64
	}

	trigger run_57
	{
		followspline 0 spln57 80 wait length -64
	}

	trigger run_58
	{
		followspline 0 spln58 80 wait length -64
	}

	trigger run_59
	{
		followspline 0 spln59 80 wait length -64
	}

	trigger run_60
	{
		followspline 0 spln60 80 wait length -64
	}

	trigger run_61
	{
		followspline 0 spln61 80 wait length -64
	}

	trigger run_62
	{
		followspline 0 spln62 80 wait length -64
	}

	trigger run_63
	{
		followspline 0 spln63 80 wait length -64
	}

	trigger run_64
	{
		followspline 0 spln64 80 wait length -64
	}

	trigger run_65
	{
		followspline 0 spln65 80 wait length -64
	}

	trigger run_66
	{
		followspline 0 spln66 80 wait length -64
	}

	trigger run_67
	{
		followspline 0 spln67 80 wait length -64
	}

	trigger run_68
	{
		followspline 0 spln68 80 wait length -64
	}

	trigger run_69
	{
		followspline 0 spln64 80 wait length -64
	}

	trigger run_70
	{
		followspline 0 spln70 80 wait length -64
	}

	trigger run_71
	{
		followspline 0 spln71 80 wait length -64
	}

	trigger run_72
	{
		followspline 0 spln72 80 wait length -64
	}

	trigger run_73
	{
		followspline 0 spln73 80 wait length -64
	}

	trigger run_74
	{
		followspline 0 spln74 80 wait length -64
	}

	trigger run_75
	{
		followspline 0 spln75 80 wait length -64
	}

	trigger run_76
	{
		followspline 0 spln76 80 wait length -64
	}

	trigger run_77
	{
		followspline 0 spln77 80 wait length -64
	}

	trigger run_78
	{
		followspline 0 spln78 80 wait length -64
	}

	trigger run_79
	{
		followspline 0 spln79 80 wait length -64
	}

	trigger run_80
	{
		followspline 0 spln80 80 wait length -64 roll 0 -1 dampin dampout
	}
}

//================================================================================
// Physical tank turret MODEL
//================================================================================
tank_turret
{
	spawn
	{
		wait 500
		attachtotag tank tag_turret
	}

	trigger tank_turret_turn
	{
		wait 1000

		trigger tank_turret2 spin_start
		trigger tank_turret2 turn3
		faceangles 0 35 0 3000
		trigger tank_turret2 spin_stop

		wait 500

		trigger tank startfire
		trigger tank_turret2 avre_fire
		trigger tank_flash run3

		trigger tank script_lockout_stop
	}

	trigger frontgate
	{
		setstate tank_flash invisible

		wait 200
		trigger tank stopfire

		trigger basewall_solid switch
		trigger game_manager objective5

		wm_objective_status 5 1 1
		wm_objective_status 5 0 2

		wait 200

		trigger tank_turret2 spin_start
		trigger tank_turret2 turn3_back
		faceangles 0 0 0 3000
		trigger tank_turret2 spin_stop
	}
}

tank_turret2
{
	spawn
	{
		wait 50
		// Reset the tank+turret into correct position
		followspline 1 spln1 10000 wait length -64
		followspline 2 spln1 10000 wait length -64
	}

	trigger avre_fire
	{
		playsound sound/vehicles/tank/tank_fire.wav volume 300
	}

	trigger spin_start
	{
		stopsound
		playsound sound/vehicles/tank/turret_spin.wav looping volume 127
	}

	trigger spin_stop
	{
		stopsound
		playsound sound/vehicles/tank/turret_end.wav volume 96
	}

	trigger turn3
	{
		faceangles 14 305 0 3000
	}

	trigger turn3_back
	{
		faceangles 8 270 0 3000
		followspline 0 spln2_39 10000 wait length -64
	}

//Keeping it on the tank otherwise the turret will slide off!

	trigger run_1
	{
		followspline 0 spln1 80 wait length -64
	}

	trigger run_2
	{
		followspline 0 spln2 80 wait length -64
	}

	trigger run_3
	{
		followspline 0 spln3 80 wait length -64
	}

	trigger run_4
	{
		followspline 0 spln4 80 wait length -64
	}

	trigger run_5
	{
		followspline 0 spln5 80 wait length -64
	}

	trigger run_6
	{
		followspline 0 spln6 80 wait length -64
	}

	trigger run_7
	{
		followspline 0 spln7 80 wait length -64
	}

	trigger run_8
	{
		followspline 0 spln8 80 wait length -64
	}

	trigger run_9
	{
		followspline 0 spln9 80 wait length -64
	}

	trigger run_10
	{
		followspline 0 spln10 80 wait length -64
	}

	trigger run_11
	{
		followspline 0 spln11 80 wait length -64
	}

	trigger run_12
	{
		followspline 0 spln12 80 wait length -64
	}

	trigger run_13
	{
		followspline 0 spln13 80 wait length -64
	}

	trigger run_14
	{
		followspline 0 spln14 80 wait length -64
	}

	trigger run_15
	{
		followspline 0 spln15 80 wait length -64
	}

	trigger run_16
	{
		followspline 0 spln16 80 wait length -64
	}

	trigger run_17
	{
		followspline 0 spln17 80 wait length -64
	}

	trigger run_18
	{
		followspline 0 spln18 80 wait length -64
	}

	trigger run_19
	{
		followspline 0 spln19 80 wait length -64
	}

	trigger run_20
	{
		followspline 0 spln20 80 wait length -64
	}

	trigger run_21
	{
		followspline 0 spln21 80 wait length -64
	}

	trigger run_22
	{
		followspline 0 spln22 80 wait length -64
	}

	trigger run_23
	{
		followspline 0 spln23 80 wait length -64
	}

	trigger run_24
	{
		followspline 0 spln24 80 wait length -64
	}

	trigger run_25
	{
		followspline 0 spln25 80 wait length -64
	}

	trigger run_26
	{
		followspline 0 spln26 80 wait length -64
	}

	trigger run_27
	{
		followspline 0 spln27 80 wait length -64
	}

	trigger run_28
	{
		followspline 0 spln28 80 wait length -64
	}

	trigger run_29
	{
		followspline 0 spln29 80 wait length -64
	}

	trigger run_30
	{
		followspline 0 spln30 80 wait length -64
	}

	trigger run_31
	{
		followspline 0 spln31 80 wait length -64
	}

	trigger run_32
	{
		followspline 0 spln32 80 wait length -64
	}

	trigger run_33
	{
		followspline 0 spln33 80 wait length -64
	}

	trigger run_34
	{
		followspline 0 spln34 80 wait length -64
	}

	trigger run_35
	{
		followspline 0 spln35 80 wait length -64
	}

	trigger run_36
	{
		followspline 0 spln36 80 wait length -64
	}

	trigger run_37
	{
		followspline 0 spln37 80 wait length -64
	}

	trigger run_38
	{
		followspline 0 spln38 80 wait length -64
	}

	trigger run_39
	{
		followspline 0 spln39 80 wait length -64
	}

	trigger run_40
	{
		followspline 0 spln40 80 wait length -64
	}

	trigger run_41
	{
		followspline 0 spln41 80 wait length -64
	}

	trigger run_42
	{
		followspline 0 spln42 80 wait length -64
	}

	trigger run_43
	{
		followspline 0 spln43 80 wait length -64
	}

	trigger run_44
	{
		followspline 0 spln44 80 wait length -64
	}

	trigger run_45
	{
		followspline 0 spln45 80 wait length -64
	}

	trigger run_46
	{
		followspline 0 spln46 80 wait length -64
	}

	trigger run_47
	{
		followspline 0 spln47 80 wait length -64
	}

	trigger run_48
	{
		followspline 0 spln48 80 wait length -64
	}

	trigger run_49
	{
		followspline 0 spln49 80 wait length -64
	}

	trigger run_50
	{
		followspline 0 spln50 80 wait length -64
	}

	trigger run_51
	{
		followspline 0 spln51 80 wait length -64
	}

	trigger run_52
	{
		followspline 0 spln52 80 wait length -64
	}

	trigger run_53
	{
		followspline 0 spln53 80 wait length -64
	}

	trigger run_54
	{
		followspline 0 spln54 80 wait length -64
	}

	trigger run_55
	{
		followspline 0 spln55 80 wait length -64
	}

	trigger run_56
	{
		followspline 0 spln56 80 wait length -64
	}

	trigger run_57
	{
		followspline 0 spln57 80 wait length -64
	}

	trigger run_58
	{
		followspline 0 spln58 80 wait length -64
	}

	trigger run_59
	{
		followspline 0 spln59 80 wait length -64
	}

	trigger run_60
	{
		followspline 0 spln60 80 wait length -64
	}

	trigger run_61
	{
		followspline 0 spln61 80 wait length -64
	}

	trigger run_62
	{
		followspline 0 spln62 80 wait length -64
	}

	trigger run_63
	{
		followspline 0 spln63 80 wait length -64
	}

	trigger run_64
	{
		followspline 0 spln64 80 wait length -64
	}

	trigger run_65
	{
		followspline 0 spln65 80 wait length -64
	}

	trigger run_66
	{
		followspline 0 spln66 80 wait length -64
	}

	trigger run_67
	{
		followspline 0 spln67 80 wait length -64
	}

	trigger run_68
	{
		followspline 0 spln68 80 wait length -64
	}

	trigger run_69
	{
		followspline 0 spln64 80 wait length -64
	}

	trigger run_70
	{
		followspline 0 spln70 80 wait length -64
	}

	trigger run_71
	{
		followspline 0 spln71 80 wait length -64
	}

	trigger run_72
	{
		followspline 0 spln72 80 wait length -64
	}

	trigger run_73
	{
		followspline 0 spln73 80 wait length -64
	}

	trigger run_74
	{
		followspline 0 spln74 80 wait length -64
	}

	trigger run_75
	{
		followspline 0 spln75 80 wait length -64
	}

	trigger run_76
	{
		followspline 0 spln76 80 wait length -64
	}

	trigger run_77
	{
		followspline 0 spln77 80 wait length -64
	}

	trigger run_78
	{
		followspline 0 spln78 80 wait length -64
	}

	trigger run_79
	{
		followspline 0 spln79 80 wait length -64
	}

	trigger run_80
	{
		followspline 0 spln80 80 wait length -64 roll 0 -1 dampin dampout
	}
}

tank_smoke
{
	spawn
	{
		wait 300
		attachtotag tank tag_turret
		setstate tank_smoke invisible
	}
}

tank_flash
{
	spawn
	{
		setstate tank_flash invisible
	}

	trigger run
	{
		setstate tank_flash default
 		attachtotag tank_turret tag_flash
		faceangles 0 90 0 50

		wait 50

		trigger tank_turret blow_door
	}

	trigger run2
	{
		setstate tank_flash default
 		attachtotag tank_turret tag_flash
		faceangles 0 90 0 50

		wait 50

		trigger tank_turret blow_door2
	}

	trigger run3
	{
		setstate tank_flash default
 		attachtotag tank_turret tag_flash
		faceangles 0 90 0 50

		wait 50

		trigger tank_turret blow_door3
	}

	trigger run4
	{
		setstate tank_flash default
 		attachtotag tank_turret tag_flash
		faceangles 0 90 0 50

		wait 50

		trigger tank_turret blow_door4
	}
}
// Tank Extras
tank_extras
{
	spawn
	{
		wait 50
		followspline 1 spln1 10000 wait length -64
		followspline 2 spln1 10000 wait length -64
	}

//Keeping it on the tank otherwise the extra parts will slide off! (if only they were connected)

	trigger run_1
	{
		followspline 0 spln1 80 wait length -64
	}

	trigger run_2
	{
		followspline 0 spln2 80 wait length -64
	}

	trigger run_3
	{
		followspline 0 spln3 80 wait length -64
	}

	trigger run_4
	{
		followspline 0 spln4 80 wait length -64
	}

	trigger run_5
	{
		followspline 0 spln5 80 wait length -64
	}

	trigger run_6
	{
		followspline 0 spln6 80 wait length -64
	}

	trigger run_7
	{
		followspline 0 spln7 80 wait length -64
	}

	trigger run_8
	{
		followspline 0 spln8 80 wait length -64
	}

	trigger run_9
	{
		followspline 0 spln9 80 wait length -64
	}

	trigger run_10
	{
		followspline 0 spln10 80 wait length -64
	}

	trigger run_11
	{
		followspline 0 spln11 80 wait length -64
	}

	trigger run_12
	{
		followspline 0 spln12 80 wait length -64
	}

	trigger run_13
	{
		followspline 0 spln13 80 wait length -64
	}

	trigger run_14
	{
		followspline 0 spln14 80 wait length -64
	}

	trigger run_15
	{
		followspline 0 spln15 80 wait length -64
	}

	trigger run_16
	{
		followspline 0 spln16 80 wait length -64
	}

	trigger run_17
	{
		followspline 0 spln17 80 wait length -64
	}

	trigger run_18
	{
		followspline 0 spln18 80 wait length -64
	}

	trigger run_19
	{
		followspline 0 spln19 80 wait length -64
	}

	trigger run_20
	{
		followspline 0 spln20 80 wait length -64
	}

	trigger run_21
	{
		followspline 0 spln21 80 wait length -64
	}

	trigger run_22
	{
		followspline 0 spln22 80 wait length -64
	}

	trigger run_23
	{
		followspline 0 spln23 80 wait length -64
	}

	trigger run_24
	{
		followspline 0 spln24 80 wait length -64
	}

	trigger run_25
	{
		followspline 0 spln25 80 wait length -64
	}

	trigger run_26
	{
		followspline 0 spln26 80 wait length -64
	}

	trigger run_27
	{
		followspline 0 spln27 80 wait length -64
	}

	trigger run_28
	{
		followspline 0 spln28 80 wait length -64
	}

	trigger run_29
	{
		followspline 0 spln29 80 wait length -64
	}

	trigger run_30
	{
		followspline 0 spln30 80 wait length -64
	}

	trigger run_31
	{
		followspline 0 spln31 80 wait length -64
	}

	trigger run_32
	{
		followspline 0 spln32 80 wait length -64
	}

	trigger run_33
	{
		followspline 0 spln33 80 wait length -64
	}

	trigger run_34
	{
		followspline 0 spln34 80 wait length -64
	}

	trigger run_35
	{
		followspline 0 spln35 80 wait length -64
	}

	trigger run_36
	{
		followspline 0 spln36 80 wait length -64
	}

	trigger run_37
	{
		followspline 0 spln37 80 wait length -64
	}

	trigger run_38
	{
		followspline 0 spln38 80 wait length -64
	}

	trigger run_39
	{
		followspline 0 spln39 80 wait length -64
	}

	trigger run_40
	{
		followspline 0 spln40 80 wait length -64
	}

	trigger run_41
	{
		followspline 0 spln41 80 wait length -64
	}

	trigger run_42
	{
		followspline 0 spln42 80 wait length -64
	}

	trigger run_43
	{
		followspline 0 spln43 80 wait length -64
	}

	trigger run_44
	{
		followspline 0 spln44 80 wait length -64
	}

	trigger run_45
	{
		followspline 0 spln45 80 wait length -64
	}

	trigger run_46
	{
		followspline 0 spln46 80 wait length -64
	}

	trigger run_47
	{
		followspline 0 spln47 80 wait length -64
	}

	trigger run_48
	{
		followspline 0 spln48 80 wait length -64
	}

	trigger run_49
	{
		followspline 0 spln49 80 wait length -64
	}

	trigger run_50
	{
		followspline 0 spln50 80 wait length -64
	}

	trigger run_51
	{
		followspline 0 spln51 80 wait length -64
	}

	trigger run_52
	{
		followspline 0 spln52 80 wait length -64
	}

	trigger run_53
	{
		followspline 0 spln53 80 wait length -64
	}

	trigger run_54
	{
		followspline 0 spln54 80 wait length -64
	}

	trigger run_55
	{
		followspline 0 spln55 80 wait length -64
	}

	trigger run_56
	{
		followspline 0 spln56 80 wait length -64
	}

	trigger run_57
	{
		followspline 0 spln57 80 wait length -64
	}

	trigger run_58
	{
		followspline 0 spln58 80 wait length -64
	}

	trigger run_59
	{
		followspline 0 spln59 80 wait length -64
	}

	trigger run_60
	{
		followspline 0 spln60 80 wait length -64
	}

	trigger run_61
	{
		followspline 0 spln61 80 wait length -64
	}

	trigger run_62
	{
		followspline 0 spln62 80 wait length -64
	}

	trigger run_63
	{
		followspline 0 spln63 80 wait length -64
	}

	trigger run_64
	{
		followspline 0 spln64 80 wait length -64
	}

	trigger run_65
	{
		followspline 0 spln65 80 wait length -64
	}

	trigger run_66
	{
		followspline 0 spln66 80 wait length -64
	}

	trigger run_67
	{
		followspline 0 spln67 80 wait length -64
	}

	trigger run_68
	{
		followspline 0 spln68 80 wait length -64
	}

	trigger run_69
	{
		followspline 0 spln64 80 wait length -64
	}

	trigger run_70
	{
		followspline 0 spln70 80 wait length -64
	}

	trigger run_71
	{
		followspline 0 spln71 80 wait length -64
	}

	trigger run_72
	{
		followspline 0 spln72 80 wait length -64
	}

	trigger run_73
	{
		followspline 0 spln73 80 wait length -64
	}

	trigger run_74
	{
		followspline 0 spln74 80 wait length -64
	}

	trigger run_75
	{
		followspline 0 spln75 80 wait length -64
	}

	trigger run_76
	{
		followspline 0 spln76 80 wait length -64
	}

	trigger run_77
	{
		followspline 0 spln77 80 wait length -64
	}

	trigger run_78
	{
		followspline 0 spln78 80 wait length -64
	}

	trigger run_79
	{
		followspline 0 spln79 80 wait length -64
	}

	trigger run_80
	{
		followspline 0 spln80 80 wait length -64
	}
}

//Main Gate

basewall_solid
{
	spawn
	{
		wait 200
		setstate basewall_solid default
		setstate basewall_trighurt default
	}

	trigger switch
	{
		alertentity basewall_explo
		trigger hurt_basewallblast boom
		setstate basewall_solid invisible
		alertentity basewall_rubble1
		setstate basewall_trighurt invisible
	}
}

hurt_basewallblast
{
	spawn
	{
		wait 200
		setstate hurt_basewallblast invisible
	}

	trigger boom
	{
		setstate hurt_basewallblast default
		wait 100
		remove
	}
}

(grizzlybear) #5

run the md3 to tag exe found in the stickys

it creates tag files for the models
(may need to run it for the sherman)

just drop it in the same folder as the models and click
it will create the tag files so the game knows where the tags achually (??) are on the model :wink: