Page 1 of 1

vehicle

Posted: Sat Dec 06, 2008 11:45 am
by dietje_schietje
i have a map with a jeep. My friendly AI drives with me but i want on the end that i jump out of the jeep. How i do that?

Posted: Sat Dec 06, 2008 12:58 pm
by $oldier Of Ra
You need scripting for that. I guess you have a script for the ride and for the player to enter, could you post your script?

Posted: Sat Dec 06, 2008 3:46 pm
by dietje_schietje

Code: Select all

main:

exec global/loadeout test_demolition.scr

level waittill prespawn

exec global/exploder.scr
exec global/ambient.scr

// bind the switches to the elevator 
  // so it doesnt look weird
  $down_switch bind $elevator_cab
  $up_switch bind $elevator_cab
  
  // bind triggers to the switches
  $down_trigger bind $down_switch
  $up_trigger bind $up_switch
  
  // I had it moved up for lighting
  $elevator_cab movedown 8
  $elevator_cab time 0
  $elevator_cab move
  
  // sets the speed to 64 units per second
  $elevator_cab speed 64
  // starts on floor 1
  level.elepos = 1
  $elevator_cab2 speed 64

level.slowspeed = 150 //slowest speed of jeep
level.fastspeed = 250 //fastest speed of jeep
level.lookahead = 256

level.grillo = $oss_man //our lovable Grillo

level.playerjeep = $playerjeep //our jeep
level.playerjeep thread global/vehicles_thinkers.scr::PLAYER_JEEP_CONTROLLER
level.playerjeep thread PLAYER_JEEP_Drive

level waittill spawn

$player item weapons/thompsonsmg.tik
$player ammo smg 1000

thread elevator_prep
thread obj
$playerjeep waitthread jeep_prepare
end

obj:
waitthread global/items.scr::add_item "explosive" //gives player explosives
waitthread global/objectives.scr::add_objectives 1 1 "Bomb the wall to get in." $wall.origin
waitthread global/objectives.scr::add_objectives 2 1 "Bomb the flak 88." $flak88.origin
waitthread global/objectives.scr::add_objectives 3 1 "Bomb the 20mm Gun." $20mm.origin
waitthread global/objectives.scr::add_onjectives 4 1 "Bomb the Stuka." $stuka.origin
waitthread global/objectives.scr::add_objectives 1 2 "Bomb the wall to get in." $wall.origin
thread obj1
end

obj1:
$bomb1_trigger waittill trigger
$bomb1 model "animate/explosive.tik"
$bomb1 playsound explosive
$player loopsound bombtick
$player stopwatch 5
wait 5
$player stoploopsound bombtick
$bomb1 playsound explode_tank
$bomb1 remove
waitthread global/exploder.scr::explode 1
radiusdamage $hurtobject1 256 384
waitthread global/objectives.scr::add_objectives 1 3 "Bomb the wall to get in." $wall.origin
wait 2
thread obj2
end

obj2:
waitthread global/objectives.scr::add_objectives 2 2 "Bomb the flak 88." $flak88.origin
waitthread global/objectives.scr::add_objectives 3 2 "Bomb the 20mm Gun." $20mm.origin
waitthread global/objectives.scr::add_onjectives 4 2 "Bomb the Stuka." $stuka.origin
$bomb2_trigger waittill trigger
$bomb2 model "animate/explosive.tik"
$bomb2 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb2 playsound explode_tank
$bomb2 remove
waitthread global/exploder.scr::explode 2
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 2 3 "Bomb the flak 88." $flak88.origin
wait 1
thread obj3
end

obj3:
$bomb3_trigger waittill trigger
$bomb3 model "animate/explosive.tik"
$bomb3 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb3 playsound explode_tank
$bomb3 remove
waitthread global/exploder.scr::explode 3
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 3 3 "Bomb the 20mm Gun." $20mm.origin
wait 1
thread obj4
end

obj4:
$bomb4_trigger waittill trigger
$bomb4 model "animate/explosive.tik"
$bomb4 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb4 playsound explode_tank
$bomb4 remove
waitthread global/exploder.scr::explode 4
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 4 3 "Bomb the Stuka." $stuka.origin
wait 1
thread levelend
end

elevator_prep:
  thread movedown
  thread moveup
end

movedown:

  // waits until the player triggers the trigger
  $down_trigger waittill trigger

  // if the elevator is on floor 1 then end
  // because it cant go down anymore
  if (level.elepos == 1)
    end

  // turns off the triggers
  // until the elevator is done moving
  $up_trigger nottriggerable
  $down_trigger nottriggerable

  // sets another variable
  local.position = level.elepos
  
  //turns the switch
  $down_switch anim turn
  
  // makes some noise
  $elevator_cab loopsound lighthouse_run
  
  // says to move to the floor
  // below the one that it is on
  $elevator_cab moveto $("floor" + (local.position - 1))
  $elevator_cab waitmove
  $elevator_cab stoploopsound
  
  $down_switch anim idle
  
  // Tells the variable to minus 1 from itself.
  // Makes the variable set to the correct floor.
  level.elepos--
  
  // turns the triggers back on
  $down_trigger triggerable
  $up_trigger triggerable
   
  goto elevator_prep 

end

moveup:
  
  $up_trigger waittill trigger

  // if the elevator is at the top then end
  // because it cant go up anymore
  if (level.elepos == 2)
    end

  $down_trigger nottriggerable
  $up_trigger nottriggerable
  
  local.position = level.elepos
  
  $up_switch anim turn
  
  $elevator_cab loopsound lighthouse_run
  $elevator_cab moveto $("floor" + (local.position + 1)) 
  $elevator_cab waitmove
  $elevator_cab stoploopsound
  
  $up_switch anim idle
  
  level.elepos++
  
  $up_trigger triggerable
  $down_trigger triggerable 

  goto elevator_prep

end

levelend:
waitthread global/objectives.scr::current_objectives 0
exec global/missioncomplete.scr test_bombingstuff
end


PLAYER_JEEP_Drive:
level.playerjeep drive $t1 level.slowspeed 40 200 level.lookahead //tells jeep to drive to t1 
level.playerjeep waittill drive
level.playerjeep stop //stops jeep at last waypoint
level.playerjeep detachturretslot 0 $player
end
this is it
i have to problems that the compas don't works

Posted: Sat Dec 06, 2008 4:09 pm
by $oldier Of Ra
There seems to be missing threads like jeep_prepare and elevator_prep...
Anyways

Code: Select all

PLAYER_JEEP_Drive:
level.playerjeep drive $t1 level.slowspeed 40 200 level.lookahead //tells jeep to drive to t1
level.playerjeep waittill drive
level.playerjeep stop //stops jeep at last waypoint
level.playerjeep detachturretslot 0 $player

local.player = $player

local.origin = local.player.origin
local.exitorigin = local.origin + ( 0 80 100 ) //ejects player
local.player.origin = local.exitorigin
end
I hope this helps!

Posted: Sat Dec 06, 2008 5:15 pm
by dietje_schietje
no, at the end i stay in the jeep. Maybe i have to change something in the global/vehicle_thinkers.scr i looked there but there is no detachturretslot 0 $player

Code: Select all

PLAYER_JEEP_CONTROLLER local.trigger:
	self vehicleanim remove_surfaces
	self rendereffects "-shadow"
	self thread speed_controls
	self.driver rendereffects "-shadow"
	self AttachDriverSlot 0 $oss_man
	$oss_man exec global/disable_ai.scr
	$oss_man anim jeep_idle_drive
	$oss_man nodamage
	$oss_man notsolid
	$oss_man gun "none"
	$oss_man immune bullet
	$oss_man immune fast_bullet
	$oss_man immune explosion
	$oss_man immune rocket
	$oss_man.gren_awareness = 0
	$oss_man forceactivate
	self nodamage
	if (self.target)
	{
		self.collisionent = self.target
	//	self.collisionent hide
	}

	//local.trigger waittill trigger
	
	if (getcvar(debug) != "1")
	{
		local.vturretent = self queryturretslotentity 0
		local.vturretent unlock
		self attachturretslot 0 $player    // Attach the player to the jeep
		$player perferredweapon ".30cal Machine Gun"
		local.vturretent lock
	}
	
//level waittill spawn


//	if ( (int (getcvar developer)) )
//		thread speed_tracker
end


speed_tracker:
		level.subtitleX = 100
		level.subtitleY = 70
		while ( 1)
		{
			local.speed = vector_length(self.velocity)
			local.message = ("speed: " + local.speed)
			locprint level.subtitleX level.subtitleY local.message
			wait .5
		}
	end

speed_controls:
		for ( local.i = 1; local.i <= $slowdown.size; local.i++)
		{
			thread slowdown local.i
		}
		for ( local.i = 1; local.i <= $speedup.size; local.i++)
		{
			thread speedup local.i
		}
	end

speedup local.i:
		while (1)
		{
			if ($speedup[local.i].speed != NIL)
				local.speed = $speedup[local.i].speed
			else 
				local.speed = level.fastspeed
	
			println "z:      wait for trigger speedup: " local.i  " value " local.speed
			$speedup[local.i] waittill trigger
	
			println "z:      modify drive speedup: " local.i  " value " local.speed
			self.driver anim jeep_drive_gearchange_up
			self modifydrive local.speed 10 level.lookahead
			self.driver waittill animdone
			self.driver anim jeep_idle_drive
		}
	end

slowdown local.i:
		while (1)
		{
			if ($slowdown[local.i].speed != NIL)
				local.speed = $slowdown[local.i].speed
			else 
				local.speed = level.slowspeed

			println "z:      wait for trigger slowdown: " local.i  " value " local.speed
			$slowdown[local.i] waittill trigger
	
			println "z:      modify drive slowdown: " local.i  " value " local.speed
			self.driver anim jeep_drive_gearchange_down
			self modifydrive local.speed 40 level.lookahead
			self.driver waittill animdone
			self.driver anim jeep_idle_drive
		}
	end
i still don't have a solution for my compas. My compas don't show me where i have to be.

Code: Select all

main:

exec global/loadeout test_demolition.scr

level waittill prespawn

exec global/exploder.scr
exec global/ambient.scr

// bind the switches to the elevator 
  // so it doesnt look weird
  $down_switch bind $elevator_cab
  $up_switch bind $elevator_cab
  
  // bind triggers to the switches
  $down_trigger bind $down_switch
  $up_trigger bind $up_switch
  
  // I had it moved up for lighting
  $elevator_cab movedown 8
  $elevator_cab time 0
  $elevator_cab move
  
  // sets the speed to 64 units per second
  $elevator_cab speed 64
  // starts on floor 1
  level.elepos = 1
  $elevator_cab2 speed 64

level.slowspeed = 150 //slowest speed of jeep
level.fastspeed = 250 //fastest speed of jeep
level.lookahead = 256

level.grillo = $oss_man //our lovable Grillo

level.playerjeep = $playerjeep //our jeep
level.playerjeep thread global/vehicles_thinkers.scr::PLAYER_JEEP_CONTROLLER
level.playerjeep thread PLAYER_JEEP_Drive

level waittill spawn

$player item weapons/thompsonsmg.tik
$player ammo smg 1000

thread elevator_prep
thread obj
thread PLAYER_JEEP_Drive
end

obj:
waitthread global/items.scr::add_item "explosive" //gives player explosives
waitthread global/objectives.scr::add_objectives 1 1 "Bomb the wall to get in." $wall.origin
waitthread global/objectives.scr::add_objectives 2 1 "Bomb the flak 88." $flak88.origin
waitthread global/objectives.scr::add_objectives 3 1 "Bomb the 20mm Gun." $20mm.origin
waitthread global/objectives.scr::add_onjectives 4 1 "Bomb the Stuka." $stuka.origin
waitthread global/objectives.scr::add_objectives 1 2 "Bomb the wall to get in." $wall.origin
thread obj1
end

obj1:
$bomb1_trigger waittill trigger
$bomb1 model "animate/explosive.tik"
$bomb1 playsound explosive
$player loopsound bombtick
$player stopwatch 5
wait 5
$player stoploopsound bombtick
$bomb1 playsound explode_tank
$bomb1 remove
waitthread global/exploder.scr::explode 1
radiusdamage $hurtobject1 256 384
waitthread global/objectives.scr::add_objectives 1 3 "Bomb the wall to get in." $wall.origin
wait 2
thread obj2
end

obj2:
waitthread global/objectives.scr::add_objectives 2 2 "Bomb the flak 88." $flak88.origin
waitthread global/objectives.scr::add_objectives 3 2 "Bomb the 20mm Gun." $20mm.origin
waitthread global/objectives.scr::add_onjectives 4 2 "Bomb the Stuka." $stuka.origin
$bomb2_trigger waittill trigger
$bomb2 model "animate/explosive.tik"
$bomb2 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb2 playsound explode_tank
$bomb2 remove
waitthread global/exploder.scr::explode 2
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 2 3 "Bomb the flak 88." $flak88.origin
wait 1
thread obj3
end

obj3:
$bomb3_trigger waittill trigger
$bomb3 model "animate/explosive.tik"
$bomb3 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb3 playsound explode_tank
$bomb3 remove
waitthread global/exploder.scr::explode 3
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 3 3 "Bomb the 20mm Gun." $20mm.origin
wait 1
thread obj4
end

obj4:
$bomb4_trigger waittill trigger
$bomb4 model "animate/explosive.tik"
$bomb4 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb4 playsound explode_tank
$bomb4 remove
waitthread global/exploder.scr::explode 4
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 4 3 "Bomb the Stuka." $stuka.origin
wait 1
thread levelend
end

elevator_prep:
  thread movedown
  thread moveup
end

movedown:

  // waits until the player triggers the trigger
  $down_trigger waittill trigger

  // if the elevator is on floor 1 then end
  // because it cant go down anymore
  if (level.elepos == 1)
    end

  // turns off the triggers
  // until the elevator is done moving
  $up_trigger nottriggerable
  $down_trigger nottriggerable

  // sets another variable
  local.position = level.elepos
  
  //turns the switch
  $down_switch anim turn
  
  // makes some noise
  $elevator_cab loopsound lighthouse_run
  
  // says to move to the floor
  // below the one that it is on
  $elevator_cab moveto $("floor" + (local.position - 1))
  $elevator_cab waitmove
  $elevator_cab stoploopsound
  
  $down_switch anim idle
  
  // Tells the variable to minus 1 from itself.
  // Makes the variable set to the correct floor.
  level.elepos--
  
  // turns the triggers back on
  $down_trigger triggerable
  $up_trigger triggerable
   
  goto elevator_prep 

end

moveup:
  
  $up_trigger waittill trigger

  // if the elevator is at the top then end
  // because it cant go up anymore
  if (level.elepos == 2)
    end

  $down_trigger nottriggerable
  $up_trigger nottriggerable
  
  local.position = level.elepos
  
  $up_switch anim turn
  
  $elevator_cab loopsound lighthouse_run
  $elevator_cab moveto $("floor" + (local.position + 1)) 
  $elevator_cab waitmove
  $elevator_cab stoploopsound
  
  $up_switch anim idle
  
  level.elepos++
  
  $up_trigger triggerable
  $down_trigger triggerable 

  goto elevator_prep

end

PLAYER_JEEP_Drive: 
level.playerjeep drive $t1 level.slowspeed 40 200 level.lookahead //tells jeep to drive to t1 
level.playerjeep waittill drive 
level.playerjeep stop //stops jeep at last waypoint 
level.playerjeep detachturretslot 0 $player 

local.player = $player 

local.origin = local.player.origin 
local.exitorigin = local.origin + ( 0 80 100 ) //ejects player 
local.player.origin = local.exitorigin 
end

levelend:
waitthread global/objectives.scr::current_objectives 0
exec global/missioncomplete.scr test_bombingstuff
end
Wy is scripting so difficult :?:

Posted: Sat Dec 06, 2008 5:37 pm
by $oldier Of Ra
Hmm, I never messed with vehicles before, but scripting overall isn't that hard... so undo my previous script and try this instead:

$player exit level.playerjeep

Posted: Sat Dec 06, 2008 5:49 pm
by Aprop

Code: Select all

$playerjeep waitTill drive
$playerjeep.drive_done = 1
$playereep stop
$playerjeep anim add_surfaces
$playerjeep detachturretslot 0 $player
//$jeep detachPassengerslot 2 $player
$player  forcelegsstate "stand"
$player.origin += (0 0 120)
Do you need detach driver script too? Its same but u need stop loop anim, enable ai etc


And origin....try change $stuka to $stuka_obj wheere $stuka_obj is script_origin

Posted: Sat Dec 06, 2008 6:53 pm
by dietje_schietje
at the end i go a little bit backward but i can't move and have the 30 caliber.

Code: Select all

main:

exec global/ai.scr
exec global/loadeout test_demolition.scr
exec global/friendly

level waittill prespawn

exec global/exploder.scr
exec global/ambient.scr

// bind the switches to the elevator 
  // so it doesnt look weird
  $down_switch bind $elevator_cab
  $up_switch bind $elevator_cab
  
  // bind triggers to the switches
  $down_trigger bind $down_switch
  $up_trigger bind $up_switch
  
  // I had it moved up for lighting
  $elevator_cab movedown 8
  $elevator_cab time 0
  $elevator_cab move
  
  // sets the speed to 64 units per second
  $elevator_cab speed 64
  // starts on floor 1
  level.elepos = 1
  $elevator_cab2 speed 64

level.slowspeed = 150 //slowest speed of jeep
level.fastspeed = 250 //fastest speed of jeep
level.lookahead = 256

level.grillo = $oss_man //our lovable Grillo

level.playerjeep = $playerjeep //our jeep
level.playerjeep thread global/vehicles_thinkers.scr::PLAYER_JEEP_CONTROLLER
level.playerjeep thread PLAYER_JEEP_Drive

level waittill spawn

$player item weapons/thompsonsmg.tik
$player ammo smg 1000

thread elevator_prep
thread obj
thread PLAYER_JEEP_Drive
end

obj:
waitthread global/items.scr::add_item "explosive" //gives player explosives
waitthread global/objectives.scr::add_objectives 1 1 "Bomb the wall to get in." $wall.origin
waitthread global/objectives.scr::add_objectives 2 1 "Bomb the flak 88." $flak88.origin
waitthread global/objectives.scr::add_objectives 3 1 "Bomb the 20mm Gun." $20mm.origin
waitthread global/objectives.scr::add_onjectives 4 1 "Bomb the Stuka." $stuka.origin
waitthread global/objectives.scr::add_objectives 1 2 "Bomb the wall to get in." $wall.origin
thread obj1
end

obj1:
$bomb1_trigger waittill trigger
$bomb1 model "animate/explosive.tik"
$bomb1 playsound explosive
$player loopsound bombtick
$player stopwatch 5
wait 5
$player stoploopsound bombtick
$bomb1 playsound explode_tank
$bomb1 remove
waitthread global/exploder.scr::explode 1
radiusdamage $hurtobject1 256 384
waitthread global/objectives.scr::add_objectives 1 3 "Bomb the wall to get in." $wall.origin
wait 2
thread obj2
end

obj2:
waitthread global/objectives.scr::add_objectives 2 2 "Bomb the flak 88." $flak88.origin
waitthread global/objectives.scr::add_objectives 3 2 "Bomb the 20mm Gun." $20mm.origin
waitthread global/objectives.scr::add_onjectives 4 2 "Bomb the Stuka." $stuka.origin
$bomb2_trigger waittill trigger
$bomb2 model "animate/explosive.tik"
$bomb2 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb2 playsound explode_tank
$bomb2 remove
waitthread global/exploder.scr::explode 2
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 2 3 "Bomb the flak 88." $flak88.origin
wait 1
thread obj3
end

obj3:
$bomb3_trigger waittill trigger
$bomb3 model "animate/explosive.tik"
$bomb3 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb3 playsound explode_tank
$bomb3 remove
waitthread global/exploder.scr::explode 3
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 3 3 "Bomb the 20mm Gun." $20mm.origin
wait 1
thread obj4
end

obj4:
$bomb4_trigger waittill trigger
$bomb4 model "animate/explosive.tik"
$bomb4 playsound explosive
$player loopsound bombtick
$player stopwatch 7
wait 7
$player stoploopsound bombtick
$bomb4 playsound explode_tank
$bomb4 remove
waitthread global/exploder.scr::explode 4
radiusdamage $hurtobject2 256 384
waitthread global/objectives.scr::add_objectives 4 3 "Bomb the Stuka." $stuka.origin
wait 1
thread levelend
end

elevator_prep:
  thread movedown
  thread moveup
end

movedown:

  // waits until the player triggers the trigger
  $down_trigger waittill trigger

  // if the elevator is on floor 1 then end
  // because it cant go down anymore
  if (level.elepos == 1)
    end

  // turns off the triggers
  // until the elevator is done moving
  $up_trigger nottriggerable
  $down_trigger nottriggerable

  // sets another variable
  local.position = level.elepos
  
  //turns the switch
  $down_switch anim turn
  
  // makes some noise
  $elevator_cab loopsound lighthouse_run
  
  // says to move to the floor
  // below the one that it is on
  $elevator_cab moveto $("floor" + (local.position - 1))
  $elevator_cab waitmove
  $elevator_cab stoploopsound
  
  $down_switch anim idle
  
  // Tells the variable to minus 1 from itself.
  // Makes the variable set to the correct floor.
  level.elepos--
  
  // turns the triggers back on
  $down_trigger triggerable
  $up_trigger triggerable
   
  goto elevator_prep 

end

moveup:
  
  $up_trigger waittill trigger

  // if the elevator is at the top then end
  // because it cant go up anymore
  if (level.elepos == 2)
    end

  $down_trigger nottriggerable
  $up_trigger nottriggerable
  
  local.position = level.elepos
  
  $up_switch anim turn
  
  $elevator_cab loopsound lighthouse_run
  $elevator_cab moveto $("floor" + (local.position + 1)) 
  $elevator_cab waitmove
  $elevator_cab stoploopsound
  
  $up_switch anim idle
  
  level.elepos++
  
  $up_trigger triggerable
  $down_trigger triggerable 

  goto elevator_prep

end

PLAYER_JEEP_Drive: 
level.playerjeep drive $t1 level.slowspeed 40 200 level.lookahead //tells jeep to drive to t1 
$playerjeep waitTill drive 
$playerjeep.drive_done = 1 
$playereep stop 
$playerjeep anim add_surfaces 
$playerjeep detachturretslot 0 $player 
//$jeep detachPassengerslot 2 $player 
$player  forcelegsstate "stand" 
$player.origin += (0 0 120) 
end

levelend:
waitthread global/objectives.scr::current_objectives 0
exec global/missioncomplete.scr test_bombingstuff
end
i founded this in the script file a very good SP map.
at end you jump out of the jeep.

Code: Select all

//test_vcs1l1.scr

//Neufmaissons Autumn Level
//Mapping: Crunch & Vonderbakluft
//Scripting: Von (= Vonderbakluft...duh! ;-) ^-^ )
//Thanks Small Sumo for his bike drivers
//Finished at april 2005

// Script works but don't ask why...hehe (Von)


main:
local.master = spawn ScriptMaster 

local.master aliascache giblues sound/vc/vc_giblues.mp3 soundparms 6.0 0.2 1.0 0.0 25000 26000 auto loaded maps "vc b test"
local.master aliascache mortar_loop sound/weapons/fire/MG42Loop.wav soundparms 3.5 0.7 0.45 0.15 300 12000 dialog_secondary loaded maps "m moh dm obj train test"
local.master aliascache bmwbike_snd_idle sound/vehicle/veh_jeep_idle.wav soundparms 0.5 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a m1l3b test "
local.master aliascache bmwbike_snd_run sound/vehicle/veh_jeep_move.wav soundparms 0.8 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a m1l3b test "
local.master aliascache bmwbike_snd_revup sound/vehicle/veh_jeep_start.wav soundparms 1.2 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a m1l3b test "
local.master aliascache bmwbike_snd_revdown sound/vehicle/veh_jeep_revdown.wav soundparms 1.0 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a m1l3b test "
local.master aliascache bmwbike_snd_shift1 sound/vehicle/veh_jeep_shiftin.wav soundparms 1.0 0.0 2.0 0.0 800 4000 auto loaded maps "m1l3a m1l3b test "
local.master aliascache bmwbike_snd_shift2 sound/vehicle/veh_jeep_shiftout.wav soundparms 1.0 0.0 2.0 0.0 800 4000 auto loaded maps "m1l3a m1l3b test "
local.master aliascache bmwbike_snd_on sound/vehicle/veh_jeep_start.wav soundparms 1.0 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a test "
local.master aliascache bmwbike_snd_start sound/vehicle/veh_jeep_on.wav soundparms 1.0 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a test "
local.master aliascache bmwbike_snd_off sound/vehicle/veh_jeep_off.wav soundparms 1.5 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a m1l3b test "
local.master aliascache bmwbike_snd_stop sound/vehicle/veh_jeep_off.wav soundparms 1.5 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a m1l3b test "
local.master aliascache bmwbike_snd_doorclose sound/mechanics/DoorJeepClose_02.wav soundparms 1.2 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3 test "
local.master aliascache bmwbike_tread_snd_dirt sound/vehicle/veh_tread_grass.wav soundparms 0.28 0.0 2.0 0.0 800 4000 auto loaded maps "m1l3a m1l3b test "
local.master aliascache bmwbike_tread_snd_stone sound/vehicle/veh_tread_grass.wav soundparms 0.28 0.0 2.0 0.0 800 4000 auto loaded maps "m1l2b m1l3a m1l3b test "
local.master aliascache bmwbike_tread_snd_grass sound/vehicle/veh_tread_grass.wav soundparms 0.28 0.0 2.0 0.0 800 4000 auto loaded maps "m1l3a m1l3b test "
local.master aliascache bmwbike_tread_snd_wood sound/vehicle/veh_tread_grass.wav soundparms 0.28 0.0 2.0 0.0 800 4000 auto loaded maps "m1l3a m1l3b test "
local.master aliascache bmwbike_tread_snd_mud sound/vehicle/veh_tread_grass.wav soundparms 2.8 0.0 2.0 0.0 800 4000 auto loaded maps "m1l3a m1l3b test "
local.master aliascache vc_shot sound/vc/vc_shot.wav soundparms 4.0 0.0 1.0 0.0 800 4000 auto loaded maps "m1l3a m1l3b test "
local.master aliascache bmwbike_vehicle_crash sound/null.wav soundparms 0.7 0.4 1.0 0.5 100 1600 auto loaded maps "m test "




exec global/ai.scr
exec global/loadout.scr "maps/test_vcs1l1.scr"

exec global/vc_mortarexplode.scr
exec global/vc_dust.scr

level.skillz = getcvar(skill)



level waittill prespawn
exec global/friendly.scr
//level.fogplane = 1200
//$world farplane level.fogplane


level.farplane = $world.farplane

exec global/ambient.scr test_vcs1l1

level.script = maps/test_vcs1l1.scr
waitthread prespawn_prepare
$jeep waitthread jeep_prepare
letterbox 0.1
fadein 6.5 0 0 0 1

level waittill spawn
waitthread prepare
$player takeall



$player item items/binoculars.tik
$player item weapons/m1_garand.tik
$player item weapons/m2frag_grenade_sp_start.tik
$player ammo rifle 48
$player ammo agrenade 2



thread objective_autumn
//thread objective_cheats
end

objective_cheats:
$player tele $alfred
$player item weapons/bazooka.tik
$alfred hide 
$alfred notsolid
waitframe
$alfred delete
wait 5
$bike2 exec global/vc_bikethink.scr::enemy_bike_think 250 1 $bike2_path NIL NIL "models/human/german_wehrmact_soldier"

end


prespawn_prepare:
//freezeplayer

$player stufftext "tmstop" 

level.playerexplosives = 0
level.totalbaddies = 0

game.sniperriffle = 0

$bernard hide
$bernard notsolid
$bernard exec global/disable_ai.scr
$bernard nodamage
$bernard threatbias ignoreme
$christian hide
$christian notsolid
$christian exec global/disable_ai.scr
$christian nodamage
$christian  threatbias ignoreme
$dieter hide
$dieter notsolid
$dieter exec exec global/disable_ai.scr
$dieter nodamage
$dieter threatbias ignoreme


$crash_tree notsolid
$crash_tree rendereffects "-shadow"
//$crash_tree hide

level.friendly1.friendtype = -1
	
level.friendly1 thread global/friendly.scr::friendlythink
level.friendly1.distance = 280
level.friendly1 exec global/weapon.scr "m1 garand"
level.friendly1 exec global/disable_ai.scr
//level.friendly1 anim chair_radio_listenidle

level.friendly1.targetname = "fr1"
level.friendly1 holster



//$player notsolid
//$player nodamage
//$player glue $player_start



//$player watchactor $fr3
$fr1 lookat $fr4
$fr2 lookat $fr4
$fr3 lookat $fr4

//thread snow
// skill adjustements
if (level.skillz == "1" || level.skillz == "2")
	{
	level.dontdropweapons = 1
	level.nodrophealth = 1
	}




end

prepare:
$alfred exec global/disable_ai.scr
$alfred hide
$alfred notsolid


level.friendly2.friendtype = -1	
level.friendly2 thread global/friendly.scr::friendlythink
level.friendly2.distance = 280
level.friendly2 exec global/weapon.scr "m1 garand"
level.friendly2 exec global/disable_ai.scr
//level.friendly2 anim chair_radio_listenidle
level.friendly2.targetname = "fr2"
//level.friendly2 holster
level.friendly2 avoidplayer 0

level.friendly3.friendtype = -1	
level.friendly3 thread global/friendly.scr::friendlythink
level.friendly3.distance = 280
level.friendly3 exec global/weapon.scr "m1 garand"
level.friendly3 exec global/disable_ai.scr
level.friendly3 anim chair_radio_listenidle
level.friendly3.targetname = "fr3"
level.friendly3 hide
level.friendly3 avoidplayer 0

level.friendly4.friendtype = -1	
level.friendly4 thread global/friendly.scr::friendlythink
level.friendly4.distance = 280
level.friendly4 exec global/weapon.scr "m1 garand"
level.friendly4 exec global/disable_ai.scr
level.friendly4.targetname = "fr4"
//level.friendly4 anim chair_radio_listenidle
level.friendly4 hide
level.friendly4 avoidplayer 0

level.friendly5.friendtype = -1	
level.friendly5 thread global/friendly.scr::friendlythink
level.friendly5.distance = 280
level.friendly5 exec global/weapon.scr "none"
level.friendly5 exec global/disable_ai.scr
level.friendly5 avoidplayer 0
level.friendly5.targetname = "fr5"
level.friendly5 hide




level.friendly6.friendtype = -1	
level.friendly6 thread global/friendly.scr::friendlythink
level.friendly6.distance = 280
level.friendly6 exec global/weapon.scr "m1 garand"
level.friendly6 exec global/disable_ai.scr
level.friendly6 hide
level.friendly6 avoidplayer 0
level.friendly6.targetname = "fr6"
level.friendly6 hide

level.friendly7.friendtype = -1	
level.friendly7 thread global/friendly.scr::friendlythink
level.friendly7.distance = 280
level.friendly7 exec global/weapon.scr "m1 garand"
level.friendly7 exec global/disable_ai.scr
level.friendly7 hide
level.friendly7 avoidplayer 0
level.friendly7.targetname = "fr7"
level.friendly7 hide

level.friendly8.friendtype = -1	
level.friendly8 thread global/friendly.scr::friendlythink
level.friendly8.distance = 280
level.friendly8 exec global/weapon.scr "m1 garand"
level.friendly8 exec global/disable_ai.scr
level.friendly8 hide
level.friendly8 avoidplayer 0
level.friendly8.targetname = "fr8"

level.friendly9.friendtype = -1	
level.friendly9 thread global/friendly.scr::friendlythink
level.friendly9.distance = 280
level.friendly9 exec global/weapon.scr "m1 garand"
level.friendly9 exec global/disable_ai.scr
level.friendly9 hide
level.friendly9 avoidplayer 0
level.friendly9.targetname = "fr9"

level.friendly10.friendtype = -1	
level.friendly10 thread global/friendly.scr::friendlythink
level.friendly10.distance = 280
level.friendly10 exec global/weapon.scr "m1 garand"
level.friendly10 exec global/disable_ai.scr
level.friendly10 hide
level.friendly10 avoidplayer 0
level.friendly10.targetname = "fr10"

$fr1 lookat $fr4

$fr3.name = "Sgt. Vandevelde"
$fr4.name = "Sgt. Cummings"
$fr5.name = "Sgt. Jackson"
$fr6.name = "Sgt. Platt"
$fr7.name = "Cpt. Aitkins"

$fr3 thread friendlydeaththink
$fr4 thread friendlydeaththink
$fr5 thread friendlydeaththink
$fr6 thread friendlydeaththink
$fr7 thread friendlydeaththink


$obj3starttrigger nottriggerable
$the_end_trigger nottriggerable

$watersound loopsound river





end

jeep_prepare:
	local.parent = spawn script_origin
	local.parent.angles = self.angles
	local.parent glue self
	self.parent = local.parent
	$fuelcan_destination.angles = self.angles
	$fuelcan_destination bind local.parent
	self vehicleanim remove_surfaces
	local.driver = spawn "models/human/2nd-ranger_lieutenant" "gun" "none"
	local.driver.origin = self.origin
	local.driver rendereffects "-shadow"
	self AttachDriverSlot 0 local.driver
	local.driver exec global/disable_ai.scr
		
	local.driver exec global/setdeathanim.scr "opel_driver_death"
	local.driver anim jeep_idle_drive
	self.driver = local.driver
	local.driver.targetname = "jeepdriver"

	self rendereffects "-shadow"
	//self thread speed_controls
		local.driver anim jeep_idle_drive
	$jeepdriver nodamage
	$jeepdriver notsolid
	$jeepdriver gun "none"
	$jeepdriver immune bullet
	$jeepdriver immune fast_bullet
	$jeepdriver immune explosion
	$jeepdriver immune rocket
	$jeepdriver.gren_awareness = 0
	$jeepdriver forceactivate
	self nodamage
	if (self.target)
	{
		self.collisionent = self.target
	//	self.collisionent hide
	}

	//local.trigger waittill trigger
			//$player physics_off
			
		$player forcelegsstate "crouch"
			
	self attachPassengerslot 2 $player
	self attachPassengerslot 0 $fr1 
	$fr1 thread passengerloop
	
	//local.vturretent = self queryturretslotentity 0
	//local.vturretent unlock
	//self attachPassengerslot 3 $fr2 
	//$fr2 anim opel_still_passenger1	   
	//local.vturretent lock


	/*
	if (getcvar(debug) != "1")
	{
		local.vturretent = self queryturretslotentity 0
		local.vturretent unlock
		self attachturretslot 0 $player    // Attach the player to the jeep
		$player perferredweapon ".30cal Machine Gun"
		local.vturretent lock
	}
	*/

end


objective_autumn:
waitthread global/objectives.scr::add_objectives 1 1 "Find fuel and bring it to the jeep" $fuelcan_trigger.origin
waitthread global/objectives.scr::add_objectives 2 1 "Check the jeep to see what happened" $obj2_trigger.origin
waitthread global/objectives.scr::add_objectives 3 1 "Find your way to the factory" $the_end_trigger.origin
$jeep drive $jeep_path1 200 50 200 128
//$player stufftext "tmstart sound/vc/vc_giblues.mp3"
$player playsound giblues
$gate_L time 1
$gate_R time 1

$gate_L doopen
$gate_L waitmove
$gate_R doopen
$gate_R waitmove
$fr2 thread guardthink
wait 20
$fr1 idlesay dfr_M6L3_613h
$fr1 waittill saydone
$jeep.driver lookat $fr1
$jeep.driver idlesay allied_airborne_ca
$jeep.driver waittill saydone
$jeep.driver lookat NULL
$jeep waitTill drive
$jeep.drive_done = 1
$jeep stop
clearletterbox 4.0
$jeep anim add_surfaces
$jeep detachPassengerslot 2 $player
$player  forcelegsstate "stand"
$player.origin += (0 0 120)
$jeep detachPassengerslot 0 $fr1
$fr1 exec global/stand.scr
local.ent = spawn trigger_save
waitframe

local.ent savename  "Meeting in the Barn"

local.ent triggereffect $player
//$player stufftext "tmstart sound/vc/vc_giblues.mp3"

thread farmhouse_meeting 
$fr3 show
$fr4 show
$fr5 show
$fr6 show
$fr7 show
$jeep.driver lookat $player
waitframe
local.ent delete

//$player notsolid
waitthread global/objectives.scr::add_objectives 1 2 "Find fuel and bring it to the jeep" $fuelcan_trigger.origin
waitthread global/objectives.scr::current_objectives 1
$fuelcan_trigger waittill trigger
$fuelcan_trigger nottriggerable
$player playsound pickup_explosives3
$fuelcan hide
$fuelcan notsolid
iprintlnbold_noloc "Great! You found the can! Now bring it back to the jeep"
while ( !(vector_within $player $jeep 96) || ($player.useheld !=1) )
	waitframe
$player playsound pickup_explosives2
$fuelcan.origin = $jeep.parent.origin + (0 0 40)
$fuelcan show
$fuelcan bind $jeep.parent
waitthread global/objectives.scr::add_objectives 1 3 "Find fuel and bring it to the jeep" $fuelcan_trigger.origin
$fuelcan_trigger remove
$jeep.driver lookat $player

wait .5
$jeep.driver lookat $fuelcan
wait .5
$jeep.driver say allied_airborne_ch
$jeep.driver waittill saydone
$jeep.driver lookat NULL
while (vector_within $player $jeep 96)
	waitframe
$jeep thread drive_to_death 
//$fuelcan light 1 1 1 5000

$fr2 lookat $gate_L

while ($jeep.drive_done !=2)
	waitframe

$fr2 lookat $jeep
//$fr2 anim dfr_head_sound_h02
//$fr2 waittill animdone

$fr1.movedoneradius = 128
$fr3.movedoneradius = 128
$fr4.movedoneradius = 160
$fr5.movedoneradius = 192
$fr6.movedoneradius = 240
$fr7.movedoneradius = 64


$fr3 thread run_to_gate
$fr4 thread run_to_gate
$fr5 thread run_to_gate
$fr6 thread run_to_gate
$fr7 thread run_to_gate
$fr1 thread run_to_gate

wait 1

$fr1 lookat $player


$fr3.friendtype = 1
$fr3.distance = 256
$fr3 forceactivate
//$fr1 anim dfr_head_direct_a02
//$fr1 waittill animdone
//$fr1 lookat $jeep


$pclip1 delete
$pclip1_trigger delete

waitthread global/objectives.scr::add_objectives 2 2 "Check the jeep to see what happened" $obj2_trigger.origin

waitthread global/objectives.scr::current_objectives 2


$obj2_trigger waittill trigger
waitthread global/objectives.scr::add_objectives 2 3 "Check the jeep to see what happened" $obj2_trigger.origin

wait 1

$player playsound vc_shot
$obj3starttrigger triggerable

wait 4

exec global/ai.scr::spawn 101


thread friendly_convert
$player_sniper thread sniperrifle_think

end

objective3_start:
self nottriggerable
waitthread global/objectives.scr::add_objectives 3 2 "Find your way to the factory" $the_end_trigger.origin

waitthread global/objectives.scr::current_objectives 3
$the_end_trigger triggerable
$player stufftext "tmstart sound/music/mus_03c_suspense.mp3"
wait 5
self delete
end

the_end:
self nottriggerable
waitthread global/objectives.scr::add_objectives 3 3 "Find your way to the factory" $the_end_trigger.origin

//check who is alive for the next level

if (isAlive $fr3)
	game.fs3 = 1
else
	game.fs3 = 0

if (isAlive $f4)
	game.fs4 = 1
else
	game.fs4 = 0

if (isAlive $fr5)
	game.fs5 = 1
else
	game.fs5 = 0

if (isAlive $fr6)
	game.fs6 = 1
else
	game.fs6 = 0

if (isAlive $fr7)
	game.fs7 = 1
else
	game.fs7 = 0



exec global/missioncomplete.scr test_vcs1l2 transfer

end

passengerloop:
while ($jeep.drive_done !=1)
{
self anim passenger_idlevisa
self waittill animdone
}
end




guardthink:
while !(vector_within self $jeep 768)
	waitframe
self lookat $jeep
self exec anim/stand.scr::IdleStandBored
while !(vector_within self $jeep 384)
	waitframe
self avoidplayer 0
self waitexec anim/smoking.scr::SmokeRemoveCigarette
self anim american_salute	
self waittill animdone
while ($jeep.drive_done !=1)
	waitframe
self lookat $gate_L
self exec global/walkto.scr $gate_L_node
self waittill movedone
self anim open_gate_a
self waittill animdone
$gate_L time 4
$gate_L playsound door_wood_close_move2 
$gate_L doclose
$gate_L waitmove
$gate_L playsound door_wood_close_stop3 
self lookat $gate_R
self exec global/walkto.scr $gate_R_node
self waittill movedone
self anim open_gate_b
self waittill animdone
$gate_R time 4
$gate_R playsound door_wood_close_move1
$gate_R doclose
$gate_R waitmove
$gate_R playsound door_wood_close_stop2 
self lookat NULL
self exec global/walkto.scr $guard_node
self waittill movedone
self turnto $gate_R
self lookat $jeep
self avoidplayer 1
self exec anim/stand.scr::IdleStandBored
end

farmhouse_meeting:
$fr1 exec global/walkto.scr $farm_centre
$fr3 lookat $fr1
$fr4 lookat $fr1
$fr5 lookat $fr1
$fr6 lookat $fr1
$fr7 lookat $fr1
$fr1 waittill movedone
$fr1 avoidplayer 0
$fr1 anim american_salute
$fr1 waittill animdone
$fr3 anim american_salute
$fr4 anim american_salute
$fr5 anim american_salute
$fr6 anim american_salute
$fr7 anim american_salute
$fr7 waittill animdone
$fr5 waitexec anim/smoking.scr::SmokeCigaretteInit
$fr5 exec anim/smoking.scr::SmokeCigarette
$fr1 lookat $fr7
$fr7 say dfr_M5L3_550k_1 
$fr7 waittill saydone

println "Meeting Ended"
end

drive_to_death:
self drive $jeep_path2 200 50 200 128
self waittill drive
$jeep.drive_done = 2
//self "model" 
self playsound explode_truck
	exec global/earthquake.scr .2 4 0 0	
	local.explosion1 = spawn script_model model models/fx/fx_truck_explosion.tik
	local.explosion1.origin = self.origin
	local.explosion1.angles = self.angles
	local.explosion1 anim start
	local.explosion1 notsolid

	wait .4
	
	self playsound explode_truck
	exec global/earthquake.scr .2 4 0 0	
	local.explosion2 = spawn script_model model models/fx/fx_truck_explosion.tik
	local.explosion2.origin = self.origin
	local.explosion2.angles = self.angles
	local.explosion2 anim start
	local.explosion2 notsolid
self.driver takedamage
self.driver hurt 10000
self.driver notsolid
self deTachdriverslot 0 $self.driver
self.driver.origin -= (0 0 15)
$fuelcan delete
$crash_tree time 1
$crash_tree rotateXdown 20
$crash_tree waitmove
end


run_to_gate: 
self.thread = parm.previousthread
self lookat $jeep

switch (self.fnum)
{
case 3:
	self exec global/runto.scr $t13
	break
case 4:
	self exec global/runto.scr $t14
	break
case 5:
	self exec global/runto.scr $t15
	break
case 6:
	self exec global/runto.scr $t16
	break
case 7:
	self exec global/runto.scr $t17
	break
default:
	self exec global/runto.scr $t18
	break
}



self waittill movedone
self resetleash
self turnto $jeep
self unholster
self avoidplayer 1
self exec global/enable_ai.scr
end


friendly_convert:
/*
$fr3.thread delete
$fr4.thread delete
$fr5.thread delete
$fr6.thread delete
$fr7.thread delete
*/



println "Convert started"
$fr3 leash 4096
$fr4 leash 4096
$fr5 leash 4096
$fr6 leash 4096
$fr7 leash 4096

$fr1 avoidplayer 1
$fr3 avoidplayer 1
$fr4 avoidplayer 1
$fr5 avoidplayer 1
$fr6 avoidplayer 1
$fr7 avoidplayer 1


$fr4.friendtype = 0
$fr4.mins = -40
$fr4.maxs = -10

$fr5.friendtype = 0
$fr5.mins = -50
$fr5.maxs = -20

$fr6.friendtype = 0
$fr6.mins = 5
$fr6.maxs = 20
$fr6.waittime = 5

$fr7.friendtype = 0
$fr7.mins = 10
$fr7.maxs = 30

$fr5 holster
$fr5 exec global/weapon.scr "m1 garand"
$fr5 unholster

$fr3 forceactivate
$fr4 forceactivate
$fr5 forceactivate
$fr6 forceactivate
$fr7 forceactivate

$fr3 lookat NULL
$fr4 lookat NULL
$fr5 lookat NULL
$fr6 lookat NULL
$fr7 lookat NULL

wait 60

// Wait the captain the truck battle and then return to the farm and wait there till the end of the level

while ($fr1.thinkstate == "attack")
	wait 5



$fr1 exec global/disable_ai.scr
$fr1 exec global/walkto.scr $farm_centre
$fr1 waittill movedone
$fr1 hide
$fr1 notsolid


end

sniperrifle_think:
self thread sniperriffle_trigger
while !(vector_within self $player 256)
	waitframe


iprintlnbold_noloc "Take the sniper rifle out of the back of the truck!"
end

sniperriffle_trigger:
self waittill trigger
self hide

$player item weapons/kar98sniper.tik
game.sniperriffle = 1
waitframe
self remove
end


spawn_hillguys:
self nottriggerable
exec global/ai.scr::spawn 102
exec global/ai.scr::spawn 103 NIL self_crouch
$alfred thread alfred_think
end

spawn_107:
self nottriggerable
$player stufftext "tmstart sound/music/mus_03c_suspense.mp3"
exec global/ai.scr::spawn 107
wait 1
self delete
end


alfred_think:
self.health = 300
self show
self solid
self exec global/enable_ai.scr

while (self.thinkstate != "attack")
	waitframe
if !(isAlive self)
	end
wait 4
if !(isAlive self)
	end
self exec global/disable_ai.scr
self thread alfred_deadthink
local.t = parm.previousthread
self exec global/runto.scr $self.target
self waittill movedone
if (isAlive self)
{
println "Alfred reached the bikes"
local.t remove
$bike1 exec global/vc_bikethink.scr::enemy_bike_think 500 1 $bike1_path NIL NIL "models/human/german_wehrmact_soldier"
$bike2 exec global/vc_bikethink.scr::enemy_bike_think 500 1 $bike2_path NIL NIL "models/human/german_wehrmact_soldier"
}

else
{
println "Else thread started"
$bike1 thread global/vehicles_thinkers.scr::enemy_bike_think
$bike2 thread global/vehicles_thinkers.scr::enemy_bike_think
exec global/ai.scr::spawn 104
exec global/ai.scr::spawn 105 NIL self_crouch
}

end

alfred_deaththink:
self waittill death
println "Deaththink started"
$bike1 thread global/vehicles_thinkers.scr::enemy_bike_think
$bike2 thread global/vehicles_thinkers.scr::enemy_bike_think
exec global/ai.scr::spawn 104
exec global/ai.scr::spawn 105 NIL self_crouch
end

friendlydeaththink:
while (isAlive self)
	wait 1
iprintlnbold_noloc self.name " died in action"
end


self_crouch:
self exec global/crouch.scr
self waittill death
wait 5
self delete
end


mg_guys:
self nottriggerable
$bernard show
$bernard solid
$bernard thread enemy_mg
$christian show
$christian solid
$christian thread enemy_mg
$dieter show
$dieter solid
$dieter exec global/enable_ai.scr
wait 1
self remove
end


enemy_mg:
if !(isAlive self)
	end
self exec global/disable_ai.scr
self type_idle  "machinegunner"
self type_attack  "machinegunner"
self type_disguise  "machinegunner"
self type_grenade  "machinegunner"
self gun "MG42"
self nodamage
self.turret = self.target

if !(isAlive self)
	end
local.w = randomfloat (1.0)
wait local.w
self thread mg_fire
self.firethread = parm.previousthread
self thread mg_death
end

mg_fire:
println "mg fire started"
self exec global/disable_ai.scr
local.ent = spawn script_origin
	local.ent.origin = self.origin
	self leash 0
	self tether local.ent
	self mindist 0
	self maxdist 1




if (isAlive self)
{
			while (isAlive $player)
			{
			while !(self cansee $player)
				waitframe
			if ($player.health > 0 )
			{
			self lookat $player
			waitframe
			self.target setAimTarget $player
			//self.target burstFireSettings 0.5 2 1 2
			//self.gun burstFireSettings level.spot_burstmin level.spot_burstmax level.spot_burstdownmin level.spot_burstdownmax
			self.target maxyawoffset 45
			self.target startFiring
			wait 1
			}
			while (self cansee $player && isAlive $player)
				waitframe
			
			self.target clearAimTarget
			self.target stopFiring
			}
}


if !(isAlive self)
	end
/*
self type_idle  "idle"
self type_attack  "turret"
self type_disguise  "salute"
self type_grenade  "grenade"
self gun "mp40"
self leash 2038
self mindist 128
self maxdist 640
self.no_idle = 0
self.friendtype = 1
self lookat NULL
self thread change_weapon_once
self exec global/enable_ai.scr
self.distance = 512
}
*/
println "mg fire ended"
end


mg_death:
	
self waittill death
println "mg fire killed"
self.firethread delete

self.target clearAimTarget
self.target stopFiring
end

pclip1:
self nottriggerable
iprintlnbold_noloc "You cannot pass this point before completing you objectives!"
wait 5
self triggerable
end

it's strange you are the only ones who helps me thanks

Posted: Sat Dec 06, 2008 8:06 pm
by Aprop
I cant find error...... but... can you HOST your map on http://www.fileshost.com/ and send me private message with url? Ill try FIX it, and i will host fixed map for you....... I need .map file and script, but scr is here :D

Edit: Vondercruch map script? xD

Code: Select all

$playereep stop 
shoould be

Code: Select all

$playerjeep stop

Posted: Sat Dec 06, 2008 8:49 pm
by dietje_schietje
ok i will do it tomorrow.
My map is almost ready only a plane thats flies over and bomb the wall so i can proceed but how i must do that i do not realy now

Posted: Sat Dec 06, 2008 10:19 pm
by Aprop
Exploding wall.... use exploder.scr

Posted: Thu Dec 11, 2008 1:33 pm
by dietje_schietje
i still stay in my jeep at.
Now my compass works :D
If my jeep don't works can i take a truck?