script for the hunt
Posted: Wed Jul 07, 2004 5:43 pm
my script is not work
why not work??
Code: Select all
// THE HUNT
main:
setcvar "g_obj_alliedtext1" "- Find and destroy"
setcvar "g_obj_alliedtext2" "the Flak 88 cannon"
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" "- Defend the Flak 88"
setcvar "g_obj_axistext2" "cannon"
setcvar "g_obj_axistext3" " "
setcvar "g_scoreboardpic" "objdm1"
//////////////////////////
level waittill prespawn
//////////////////////////
fix:
local.static = spawn "statweapons/mg42_gun.tik" "targetname" "mg42b"
local.static.origin = ( XXX XXX XXX )
local.static.angles = ( 0 180 0)
local.static yawCenter 180
local.static maxyawoffset 60
pitchCaps( 30 30 10 )
local.static solid
local.static firetype bullet
local.mg42B = spawn script_model
local.mg42B model "statweapons/mg42_bipod.tik"
local.mg42B.origin = ( XXX XXX XXX )
local.mg42B.angles = ( 0 180 0)
local.mg42B solid
end
fix2:
local.panzer = spawn models/vehicles/panzer_tank_europe.tik
local.panzer.origin = ( XXX XXX XXX )
local.panzer.angle = 272
local.panzer solid
local.panzer immune bullet
local.panzer immune fast_bullet
local.panzer immune bash
local.panzer immune mg
end
thread random_explosions ( 2066.69 3620.12 -323.11 ) 10.80
thread random_explosions ( 2408.76 3806.07 -323.11 ) 11.80
thread random_explosions ( 2673.15 3591.22 -323.11 ) 12.80
thread random_explosions ( 3064.78 3807.18 -323.11 ) 13.80
thread random_explosions ( 3426.16 3588.14 -323.11 ) 14.80
thread random_explosions ( 3780.39 3798.68 -323.11 ) 15.80
thread random_explosions ( 4100.84 3571.22 -323.11 ) 16.80
thread random_explosions ( 4437.62 3696.21 -323.11 ) 17.80
thread random_explosions ( 4560.44 3314.60 -323.11 ) 18.80
thread random_explosions ( 4951.02 2744.93 -323.11 ) 19.80
thread random_explosions ( 5350.83 3367.20 -153.99 ) 24.80
thread random_explosions ( 4357.60 2720.08 -153.99 ) 26.80
thread random_explosions ( 4929.83 1588.79 -425.15 ) 29.80
thread random_explosions ( 3398.84 1163.83 -109.61 ) 31.80
end
random_explosions local.location local.wait1 local.wait2:
wait (randomfloat local.wait1 + local.wait2)
local.hurt = spawn script_origin
local.hurt.origin = local.location + ( 0 0 64 ) // raise it up 4 feet
local.explosion = spawn script_model
local.explosion model models/animate/fx_mortar_dirt.tik
local.explosion.origin = local.location + ( 0 0 -16 )
local.hurt playsound leadinmp
wait 5
local.explosion anim start // has it own sound
radiusdamage local.hurt 256 384
wait 6
local.explosion remove
local.hurt remove
end
//*** Precache Dm Stuff
exec global/DMprecache.scr
level.script = maps/obj/obj_team1.scr
exec global/ambient.scr obj_team1
//////////////////////////
level waittill spawn
//////////////////////////
level.defusing_team = "axis"
level.planting_team = "allies"
// set the parameters for this round based match
level.dmrespawning = 0 // 1 or 0
level.dmroundlimit = 5 // round time limit in minutes
level.clockside = axis // set to axis, allies, kills, or draw
//////////////////////////
level waittill roundstart
//////////////////////////
// bomb planting setup
$flak88_weapon1_trigger thread flak88_random_setup $flak88_weapon1_explosive $flak88_weapon1 $flak88_target1 $flak88_base1 4
$flak88_weapon1_explosive thread global/obj_dm.scr::bomb_thinker
thread allies_win_thread $flak88_weapon1_explosive
$flak88_weapon1_explosive thread axis_win_timer
// objectives
// waitthread global/objectives.scr::reset_objectives
// waitthread global/objectives.scr::blank_objectives
// waitthread global/objectives.scr::add_objectives 1 2 "Find and destroy the Flak88" //$flak88_weapon1_trigger.origin
// wait 2
// waitthread global/objectives.scr::current_objectives 1
end
//*** --------------------------------------------
almost_there1:
//called by BSP
local.player = parm.other
if ( (local.player.dmteam != "allies") || (level.perimeter_breached == 1) )
end
iprintlnbold "The Allies have breached the perimeter!"
level.perimeter_breached = 1
end
//*** --------------------------------------------
allies_win_thread local.bomb1:
while (local.bomb1.exploded != 1)
wait .1
teamwin allies
end
//"Axis Victory"
axis_win_timer:
level waittill axiswin
end
//*** --------------------------------------------
flak88_random_setup local.explosive local.weapon local.point_at local.base local.number_of_locations:
local.location = ((randomint (local.number_of_locations)) + 1)
local.trigger_offset = self.origin - local.base.origin
local.weapon_offset = local.weapon.origin - local.base.origin
local.explosive_offset = local.explosive.origin - local.base.origin
local.point_at_offset = local.point_at.origin - local.base.origin
local.location = $("flak88_location" + local.location)
local.base.origin = local.location.origin
self.origin = local.trigger_offset + local.base.origin
local.weapon.origin = local.weapon_offset + local.base.origin
local.explosive.origin = local.explosive_offset + local.base.origin
local.point_at.origin = local.point_at_offset + local.base.origin
local.weapon setaimtarget local.point_at
end
// first thread... controls allies using the trigger
flak88_set_explosive_thinker local.bomb local.weapon:
local.bomb model items/pulse_explosive.tik
while (1)
{
println "waittill trigger " self
self waittill trigger
local.player = parm.other
//"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis'
if (local.player.dmteam !="allies")
{
goto flak88_set_explosive_thinker local.bomb local.weapon
println "failed dmteam check" local.player.dmteam
}
local.counter = 0
//add check for allies vs nazi
while ( (Isalive local.player) && (local.player cansee local.bomb level.bombusefov level.bomb_use_distance) && (local.player.useheld == 1) )
{
local.counter++
if ((local.counter % 5) == 0)
{
level.subtitleX = 100
level.subtitleY = 50
locprint level.subtitleX level.subtitleY("set "+ local.counter)
}
wait .1
if (local.counter >= level.bomb_set_time)
{
thread wait_for_axis local.bomb local.weapon
thread waittill_explode local.bomb local.weapon
local.bomb.live = 1
end
}
}
println "usetrigger but failed check"
if ! (local.bomb cansee local.player level.bombusefov level.bomb_use_distance)
println "failed cansee check"
if ! (local.player.useheld == 1)
println "failed useheld check" local.player.useheld
}
end
// second thread... controls axis using the trigger
wait_for_axis local.bomb local.weapon:
while (1)
{
self waittill trigger
local.player = parm.other
//"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis'
//add check for nazi
if (local.player.dmteam !="axis")
{ println "failed dmteam check" local.player.dmteam
goto wait_for_axis local.bomb local.weapon
}
local.counter = 0
while ( (Isalive local.player) && (local.player cansee local.bomb level.bombusefov level.bomb_use_distance) && (local.player.useheld == 1) )
{
local.counter++
if ((local.counter % 5) == 0)
{
level.subtitleX = 100
level.subtitleY = 70
locprint level.subtitleX level.subtitleY ("defuse "+local.counter)
}
wait .1
if (local.counter >= level.bomb_defuse_time)
{
thread flak88_set_explosive_thinker local.bomb local.weapon //start first thread again
local.bomb.live = 0
end
}
}
}
end
// third thread... times the bomb and makes it explode at the right time
waittill_explode local.bomb local.weapon:
local.bomb model items/explosive.tik
local.bomb playsound plantbomb
self loopsound bombtick
local.start_time = level.time
while (level.time < (local.start_time + level.bomb_tick_time))
{
wait .1
if (local.bomb.live != 1)
{
self stoploopsound
end
}
}
self stoploopsound
thread explode local.bomb local.weapon
self remove
end
// fourth thread... controls the explosion
explode local.bomb local.weapon:
///// shake the players view
thread jitter_large 0
local.temp = spawn script_model
local.temp.origin = self.origin
local.temp model "fx/fx_flak88_explosion.tik"
local.temp anim start
local.temp playsound explode_aagun
local.weapon model models/statweapons/flak88_d.tik
//origin damage radius constant damage or not
radiusdamage local.bomb.origin level.bomb_damage level.bomb_explosion_radius
local.bomb hide
teamwin allies
end
// jitter large effect
// jitter_large [delay]
jitter_large local.time:
if (local.time)
wait local.time
waitexec global/earthquake.scr .35 10 0 0
waitexec global/earthquake.scr .23 6 0 0
waitexec global/earthquake.scr 1 1 0 0
waitexec global/earthquake.scr 1.25 .3 0 1
end