vehicle
Moderator: Moderators
-
dietje_schietje
- Corporal
- Posts: 29
- Joined: Wed Nov 19, 2008 8:20 pm
vehicle
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?
-
$oldier Of Ra
- Lieutenant Colonel
- Posts: 404
- Joined: Sun Oct 16, 2005 7:16 pm
- Location: Belgium
- Contact:
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?
Our official website: http://www.mohaairborne.co.cc
(Still accessible through http://mohaaclantb.tk and http://users.skynet.be/mohaaclantb/)
For all your bot needs!!!!
$oldier Of Ra.
(Still accessible through http://mohaaclantb.tk and http://users.skynet.be/mohaaclantb/)
For all your bot needs!!!!
$oldier Of Ra.
-
dietje_schietje
- Corporal
- Posts: 29
- Joined: Wed Nov 19, 2008 8:20 pm
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
i have to problems that the compas don't works
-
$oldier Of Ra
- Lieutenant Colonel
- Posts: 404
- Joined: Sun Oct 16, 2005 7:16 pm
- Location: Belgium
- Contact:
There seems to be missing threads like jeep_prepare and elevator_prep...
Anyways
I hope this helps!
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
endOur official website: http://www.mohaairborne.co.cc
(Still accessible through http://mohaaclantb.tk and http://users.skynet.be/mohaaclantb/)
For all your bot needs!!!!
$oldier Of Ra.
(Still accessible through http://mohaaclantb.tk and http://users.skynet.be/mohaaclantb/)
For all your bot needs!!!!
$oldier Of Ra.
-
dietje_schietje
- Corporal
- Posts: 29
- Joined: Wed Nov 19, 2008 8:20 pm
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
i still don't have a solution for my compas. My compas don't show me where i have to be.
Wy is scripting so difficult 
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
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
-
$oldier Of Ra
- Lieutenant Colonel
- Posts: 404
- Joined: Sun Oct 16, 2005 7:16 pm
- Location: Belgium
- Contact:
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
$player exit level.playerjeep
Our official website: http://www.mohaairborne.co.cc
(Still accessible through http://mohaaclantb.tk and http://users.skynet.be/mohaaclantb/)
For all your bot needs!!!!
$oldier Of Ra.
(Still accessible through http://mohaaclantb.tk and http://users.skynet.be/mohaaclantb/)
For all your bot needs!!!!
$oldier Of Ra.
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)
And origin....try change $stuka to $stuka_obj wheere $stuka_obj is script_origin
-
dietje_schietje
- Corporal
- Posts: 29
- Joined: Wed Nov 19, 2008 8:20 pm
at the end i go a little bit backward but i can't move and have the 30 caliber.
i founded this in the script file a very good SP map.
at end you jump out of the jeep.
it's strange you are the only ones who helps me thanks
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
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
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 
Edit: Vondercruch map script? xD
shoould be
Edit: Vondercruch map script? xD
Code: Select all
$playereep stop Code: Select all
$playerjeep stop-
dietje_schietje
- Corporal
- Posts: 29
- Joined: Wed Nov 19, 2008 8:20 pm
-
dietje_schietje
- Corporal
- Posts: 29
- Joined: Wed Nov 19, 2008 8:20 pm