Jump to content
主视角中国

求教,关于地图中的坦克


codename-47

Recommended Posts

下一次,你那个泻,俺不告你了....

//*******************************

thread tiger

end

tiger:

spawn script_origin "targetname" "node1" //behind tank

$node1.origin = ( -3013 -463 75)

spawn script_origin "targetname" "node2" //just behind tank

$node2.origin = ( -3088 -1152 2)

spawn script_origin "targetname" "node3" //garden side of tank

$node3.origin = ( -3271 -1879 -66)

spawn script_origin "targetname" "node4" //on turn at garden

$node4.origin = ( -3185 -2400 -61)

spawn script_origin "targetname" "node5" //1/2 way ruin to garden

$node5.origin = ( -2015 -2529 -125)

spawn script_origin "targetname" "node6" //on turn at ruin sniper house

$node6.origin = ( -1150 -2650 -21)

spawn script_origin "targetname" "node7" //at ruins, see garden and church

$node7.origin = ( -1050 -2550 30)

spawn script_origin "targetname" "node8" //perfect view of church, ruins, across from church

$node8.origin = ( -1011 -1456 -37)

spawn script_origin "targetname" "node9" //facing sniper behind church

$node9.origin = ( -1439 -872 -25)

spawn script_origin "targetname" "node10" //behined church, see end of st

$node10.origin = ( -1392 714 30)

spawn script_origin "targetname" "node11" //behind chruch

$node11.origin = ( -1032 1129 -20)

spawn script_origin "targetname" "node12" //behind church

$node12.origin = ( -295 1013 28)

spawn script_origin "targetname" "node12x" //behind church

$node12x.origin = ( 49 329 12)

spawn script_origin "targetname" "node13" //behind church

$node13.origin = (561 -208 57)

spawn script_origin "targetname" "node14" //turn on side of church, towards ruins

$node14.origin = (523 -760 -52)

spawn script_origin "targetname" "node15" //between ruins and church

$node15.origin = ( -770 -1624 -34)

spawn script_origin "targetname" "node16" //far turnaround

$node16.origin = ( -3082 282 33)

spawn script_origin "targetname" "node17" //far turnaround

$node17.origin = ( -2820 770 25)

spawn script_origin "targetname" "node18" //far turnaround

$node18.origin = ( -2608 581 34)

spawn script_origin "targetname" "node19" //far turnaround

$node19.origin = ( -2767 309 36)

spawn script_origin "targetname" "aim1" //2nd story across from garden

$aim1.origin = ( -2646 -1936 327)

spawn script_origin "targetname" "aim2" //garden L

$aim2.origin = ( -3020 -2891 107)

spawn script_origin "targetname" "aim3" //door, ruins

$aim3.origin = ( -1678 -2951 20)

spawn script_origin "targetname" "aim4" //slant ruins, facing garden

$aim4.origin = ( -185 -2378 -11)

spawn script_origin "targetname" "aim5" //2nd story over ruins

$aim5.origin = ( -1366 -1928 516)

spawn script_origin "targetname" "aim6" //church top front

$aim6.origin = ( -683 -938 728)

spawn script_origin "targetname" "aim7" //2nd story across from church

$aim7.origin = ( -2086 -1356 360)

spawn script_origin "targetname" "aim8" //3rd story across from church, door

$aim8.origin = ( -2085 -452 559)

spawn script_origin "targetname" "aim9" //behind church sniper

$aim9.origin = ( -1114 1584 234)

spawn script_origin "targetname" "aim10" //behind church sniper 2

$aim10.origin = ( -1107 1549 179)

spawn script_origin "targetname" "aim11" //from church across to st end

$aim11.origin = ( -2994 1607 388)

spawn script_origin "targetname" "aim12" //church, story 2

$aim12.origin = ( -805 -572 384)

spawn script_origin "targetname" "aim13" //church, story 1

$aim13.origin = ( -569 -596 100)

spawn script_origin "targetname" "aim14" //church tower

$aim14.origin = ( -602 -924 715)

spawn script_origin "targetname" "aim15" // 2nd story ruins

$aim15.origin = ( -1372 -1956 350)

spawn script_origin "targetname" "aim16" //3rd story, across from church

$aim16.origin = ( -2042 -1326 581)

spawn script_origin "targetname" "aim17" //house wall, by ruin sniper house, 2nd floor

$aim17.origin = ( -1515 -3288 263)

spawn script_origin "targetname" "aim18" //corber field, sniper house

$aim18.origin = ( -826 -3722 190)

spawn script_origin "targetname" "aim19" //garden, from ruin, R

$aim19.origin = ( -3853 -2350 121)

spawn script_origin "targetname" "aim20" //2nd story, plank

$aim20.origin = ( -2223 -907 440)

spawn script_origin "targetname" "aim21" //alley near garden

$aim21.origin = ( -3421 -1300 52)

spawn script_origin "targetname" "aim22" //3rd story tank, across

$aim22.origin = ( -3365 -165 596)

spawn script_origin "targetname" "aim23" //2nd story tank

$aim23.origin = ( -2523 -31 352)

spawn script_origin "targetname" "aim24" //end of st

$aim24.origin = ( -2842 1863 318)

spawn script_origin "targetname" "aim25" //end of st cheat

$aim25.origin = ( -2382 1719 328)

spawn vehicles/tigertank.tik "targetname" "tiger1"

$tiger1.origin = ( -2966 670 50)

$tiger1.angle = 360

$tiger1.gun = $tiger1 QueryTurretSlotEntity 0

$tiger1.gun2 = $tiger1 QueryTurretSlotEntity 1

$tiger1 nodamage

thread tankstuck

tankagain:

// start at tank. head towards garden, then church

$node1.target = NULL

$tiger1 drive $node1

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim1

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim2

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node2.target = $node3

$node3.target = NULL

$tiger1 drive $node2

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim3

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node4.target = $node5

$node5.target = NULL

//WWW.MOHCHINA.COM

$tiger1 drive $node4

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim4

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node6.target = $node7

$node7.target = NULL

$tiger1 drive $node6

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim5

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim6

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

// now around church

$node8.target = NULL

$tiger1 drive $node8

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim7

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim8

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node9.target = NULL

$tiger1 drive $node9

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim9

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim10

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node10.target = NULL

$tiger1 drive $node10

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim11

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node11.target = $node12

$node12.target = $node12x

$node12x.target = $node13

$node13.target = $node14

$node14.target = NULL

$tiger1 drive $node11

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim13

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim15

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim14

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim12

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node15.target = NULL

$tiger1 drive $node15

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim16

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

// back around church, grabbing old nodes

$node7.target = NULL

$tiger1 drive $node7

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim17

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim19

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim18

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node6.target = $node5

$node5.target = $node4

$node4.target = NULL

$tiger1 drive $node6

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim20

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim21

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node3.target = $node2

$node2.target = NULL

$tiger1 drive $node3

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim22

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim23

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

wait 2

$tiger1.gun setAimTarget $aim24

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node1.target = NULL

$tiger1 drive $node1

$tiger1 waittill drive

$tiger1 stop

$tiger1.gun setAimTarget $aim25

$tiger1.gun waittill ontarget

$tiger1.gun anim fire

$tiger1 exec scripts/randomshoot.scr

wait 5

$node16.target = $node17

$node17.target = $node18

$node18.target = $node19

$node19.target = NULL

$tiger1 drive $node16

$tiger1 waittill drive

$tiger1 stop

$tiger1 exec scripts/randomshoot.scr

wait 5

goto tankagain

end

//-----------------------------------------------------------------------------

tankstuck:

spawn script_origin "targetname" "savtnk"

$savtnk.origin = (0 0 0)

tankstuck2:

if ($savtnk.origin == $tiger1.origin)

{

$tiger1.origin = $tiger1.origin + ( 0 0 60)

}

$savtnk.origin = $tiger1.origin

wait 15

goto tankstuck2

end

//*******************************************

以上加在MOHDM2.SCR中level waittill spawn下

Link to comment
Share on other sites

你要是有兴趣看一下俺那有毛病的程序:

startvehicleinit:

level.debug=1

self unlock

self unlockmovement

self.hasdriver = 0

self.driver=null

self.speed = 400

self.maxspeed = self.speed

self vehiclespeed self.speed

self removeondeath 0

self.health = 1000

self rendereffects "-shadow"

self solid

self takedamage

self removeimmune bash

self removeimmune bullet

self removeimmune fast_bullet

self removeimmune shotgun

self removeimmune grenade

self removeimmune rocket

self removeimmune explosion

self removeimmune crush

self removeimmune falling

self removeimmune vehicle

if(self.type==2)

self vehicleanim add_surfaces

self.gun = self queryturretslotentity 0

if(self.turret1)

{

self.gun = self queryturretslotentity 0

self unlock

self.gun unlock

self detachturretslot 0 self.gun.origin

self.gun remove

self spawnturret 0 self.turret1

self.gun = self queryturretslotentity 0

if((self.projectile !=nill)||(self.projectile != null))

self.gun dmprojectile self.projectile

//self.gun pitchcaps ( -10 10 0)

//self.gun maxyawoffset 50

//self.gun yawcenter 0

self.gun takedamage

self.gun solid

self.gun rendereffects "-shadow"

self.gun removeimmune bash

self.gun removeimmune bullet

self.gun removeimmune fast_bullet

self.gun removeimmune shotgun

self.gun removeimmune grenade

self.gun removeimmune rocket

self.gun removeimmune explosion

self.gun removeimmune crush

self.gun removeimmune falling

self.gun removeimmune vehicle

}

if (self.target)

{

self.collisionent = self.target

self.collisionent notsolid

self.collisionent removeimmune bullet

self.collisionent removeimmune fast_bullet

self.collisionent removeimmune shotgun

self.collisionent removeimmune grenade

self.collisionent removeimmune rocket

self.collisionent removeimmune explosion

self.collisionent removeimmune crush

self.collisionent removeimmune falling

self.collisionent removeimmune vehicle

}

thread tankpain

thread waitfordeath

thread waitforplayer

end

//***************************************************************************************************************

running:

exec global/playervehiclesound.scr

println " running sound script "

if(level.debug==1)

{

while(self)

{

println (" I am running "+ self.targetname)

println (" My type is "+ self.type)

println (" My damage model is "+ self.damagemdl)

println (" My turret1 is "+ self.turret1)

println (" My turret2 is "+ self.turret2)

println (" My driver is "+ self.driver)

println (" hasdriver= "+ self.hasdriver)

wait 6

}

}

end

//***************************************************************************************************************

waitforplayer:

while(isalive self)

{

if !(self)

end

for(local.playr=1;local.playr

{

local.distance = vector_length ($player[local.playr].origin - self.origin)

if(local.distance

{

if (($player[local.playr].useheld == 1)&&($player[local.playr].invehicle != 1))

{

$player[local.playr].invehicle=1

while($player[local.playr].useheld==1) // wait for player to let go of use key

waitframe

if(self.hasdriver!=1)

self thread usevehicle $player[local.playr]

}

//wait 1

}

//waitframe

}

wait 1

}

end

//**********************************************************************************************************

usevehicle local.player:

println " I got to here usevehicle "

self.hasdriver=1

self.driver=local.player

//self.driver notsolid

self attachdriverslot 0 self.driver

switch(self.type)

{

case 1:

self.driver hide

local.player perferredweapon "88mm Tank Gun"

break

case 2:

self.driver perferredweapon ".30cal Machine Gun"

break

}

println (self + " is waiting for player to get out ")

local.dmteam = self.driver.dmteam

while ((IsAlive self) && (self.health > 0) && (self.hasdriver == 1) && (self.driver.dmteam == local.dmteam ) && (isalive self.driver) && (self.driver.useheld == 0))

waitframe

while(self.driver.useheld==1) // wait for player to let go of use key

wait 1

println " getting out of vehicle "

self fullstop

println (" player getting out of " + self )

switch(self.type)

{

case 1:

self detachdriverslot 0 (self.origin + self.forwardvector * -500 ) //( self.origin + ( -500 200 500 ))

self.driver.viewangles= ( 0 0 0 )

self.gun = self queryturretslotentity 0

self detachturretslot 0 self.gun.origin

self.gun remove

wait 1

self spawnturret 0 self.turret1

self.gun = self queryturretslotentity 0

if((self.projectile !=nill)||(self.projectile != null))

self.gun dmprojectile self.projectile

self.gun removeimmune bullet

self.gun removeimmune fast_bullet

self.gun removeimmune shotgun

self.gun removeimmune grenade

self.gun removeimmune rocket

self.gun removeimmune explosion

self.gun removeimmune crush

self.gun removeimmune falling

self.gun removeimmune vehicle

break

case 2:

self detachdriverslot 0 (self.origin + self.forwardvector * -300) //( self.origin + ( 200 200 10 ))

self.driver.viewangles= ( 0 0 0 )

self.gun = self queryturretslotentity 0

self detachturretslot 0 self.gun.origin

self.gun remove

wait 1

self spawnturret 0 self.turret1

self.gun = self queryturretslotentity 0

if((self.projectile !=nill)||(self.projectile != null))

self.gun dmprojectile self.projectile

self.gun removeimmune bullet

self.gun removeimmune fast_bullet

self.gun removeimmune shotgun

self.gun removeimmune grenade

self.gun removeimmune rocket

self.gun removeimmune explosion

self.gun removeimmune crush

self.gun removeimmune falling

self.gun removeimmune vehicle

if(self.type==3)

self.gun hide

break

}

releaseplayer

cueplayer

//self.driver.viewangles= ( 0 0 0 )

self.driver solid

self.driver takedamage

self.driver show

self.driver uselast

self.driver.invehicle=0

self.hasdriver=0

self.driver=null

wait 2

end

//***************************************************************************************************************

waitfordeath:

self waittill death

thread tankexplode

end

//***************************************************************************************************************

tankpain:

local.original_health = self.health

local.previoushealth = self.health

local.paintime = level.time

while (self)

{

if(self.health

end

if (self.health

{

switch(self.type)

{

case 1:

self playsound damage_tank

exec global/earthquake.scr .2 4 0 0

break

case 2:

self playsound opeltruck_damage

exec global/earthquake.scr .2 2 0 0

break

}

if ( (self.health (local.paintime + 5) ) )

{

local.paintime = level.time

local.health_fraction = (self.health / local.original_health)

local.newspeed = self.speed * local.health_fraction

if (local.newspeed

local.newspeed = 0

self.maxspeed = local.newspeed

self vehiclespeed self.maxspeed

if (local.health_fraction >= 0.666)

{

self playsound tank_hurt1

self waitthread tankdamage 1

}

else

if (local.health_fraction >= 0.333)

{

self playsound tank_hurt1

self waitthread tankdamage 2

}

else

{

self playsound tank_hurt1

self waitthread tankdamage 3

}

}

local.previoushealth = self.health

}

wait .1

}

end

//***************************************************************************************************************

tankdamage local.smoke:

switch(self.type)

{

case 1:

self thread spawn_fx "fx/fx_tank_explosion.tik"

self playsound explode_tank

thread jitter_large 0 // make the screen shake

break

case 2:

self thread spawn_fx "fx/fx_bike_explosion.tik"

self playsound explode_bike1

thread jitter_large 0 // make the screen shake

break

}

if (local.smoke == 3) // turret

{

self.smoke3o = spawn script_origin

self.smoke3o.origin = self.origin

self.smoke3 = spawn "models/emitters/linger_smoke.tik"

self.smoke3 notsolid

self.smoke3 anim start

switch(self.type)

{

case 1:

self.smoke3.origin = (self.origin + ( -40 0 130) )

break

case 2:

case 3:

self.smoke3.origin = (self.origin + ( -40 0 80) )

break

}

self.smoke3 bind self.smoke3o

self.smoke3o glue self

}

else if (local.smoke == 2) // front

{

self.smoke2o = spawn script_origin

self.smoke2o.origin = self.origin

self.smoke2 = spawn "models/emitters/linger_smoke.tik"

self.smoke2 notsolid

self.smoke2 anim start

switch(self.type)

{

case 1:

self.smoke2.origin = (self.origin + ( 100 50 60) )

break

case 2:

case 3:

self.smoke2.origin = (self.origin + ( 100 30 30) )

break

}

self.smoke2 bind self.smoke2o

self.smoke2o glue self

}

else // back

{

self.smoke1o = spawn script_origin

self.smoke1o.origin = self.origin

self.smoke1 = spawn "models/emitters/linger_smoke.tik"

self.smoke1 notsolid

self.smoke1 anim start

switch(self.type)

{

case 1:

self.smoke1.origin = (self.origin + ( -200 -50 60) )

break

case 2:

case 3:

self.smoke1.origin = (self.origin + ( -120 -30 30) )

break

}

self.smoke1 bind self.smoke1o

self.smoke1o glue self

}

end

//***************************************************************************************************************

tankexplode:

self stop

//self.destroyed = 1

local.origin = self.origin

local.angles = self.angles

self.gun2 = self QueryTurretSlotEntity 1

if (self.gun2)

{

local.po = self.gun2.origin

local.po[2] = local.po[2] + 50

local.t2exp = spawn script_origin

local.t2exp.origin = local.po

local.t2exp.angles = local.angles

switch(self.type)

{

case 1:

local.t2exp thread spawn_fx "fx/fx_tank_explosion.tik" 3

local.t2exp playsound explode_tank

radiusdamage local.t2exp.origin 200 200

break

case 2:

local.t2exp thread spawn_fx "fx/fx_bike_explosion.tik"

local.t2exp playsound explode_bike1

radiusdamage local.t2exp.origin 100 100

break

}

local.fire2 = spawn script_origin

local.fire2.origin = local.po

local.fire2.angles = local.angles

local.fire2 thread spawn_fx "models/emitters/fire.tik"

wait 1

}

self.gun = self QueryTurretSlotEntity 0

if (self.gun)

{

//local.po = self.gun.origin

//local.po[2] = local.po[2] + 100

//local.exp = spawn script_origin

//local.exp.origin = local.po

//local.exp.angles = local.angles

//switch(self.type)

//{

//case 1:

//local.exp thread spawn_fx "fx/fx_tank_explosion.tik" //5

//local.exp playsound explode_tank

//radiusdamage local.exp.origin 500 200

//break

//case 2:

//case 3:

//local.exp thread spawn_fx "fx/fx_bike_explosion.tik"

//local.exp playsound explode_bike1

//radiusdamage local.exp.origin 300 100

//break

//}

self.gun unlock

local.po = self.gun.origin

local.po[2] = local.po[2] + 0

local.fire = spawn script_origin

local.fire.origin = local.po

local.fire.angles = local.angles

local.fire thread spawn_fx "models/emitters/fire.tik"

wait 1

}

local.exp2 = spawn script_origin

local.exp2.origin = local.origin

local.exp2.angles = local.angles

//local.exp2 thread spawn_fx"fx/fx_tank_explosion.tik" 3

local.exp2 playsound explode_tank

radiusdamage local.exp2.origin 1000 200

if (self.hasdriver == 1)

{

self.hasdriver=0

self.gun = self queryturretslotentity 0

self detachturretslot 0 self.gun.origin

self.gun remove

self detachdriverslot 0 (self.origin + ( 0 0 300))

self spawnturret o self.turret1

self.gun = self queryturretslotentity 0

self.driver show

self.driver thread bhit 1000 -1

}

if (self.hasgunner == 1)

{

self.hasgunner=0

self.gun2 = self queryturretslotentity 1

self detachturretslot 1 self.gun2.origin

self.gun2 remove

self spawnturret 1 self.turret2

self.gun2 = self queryturretslotentity 1

self.gunner show

self.gunner thread bhit 1000 -1

}

iprintlnbold (self + " has been destroyed.")

if(self.type==1)

{

thread jitter_large 0

self notsolid

self.gun notsolid

self.gun2 notsolid

local.dam = spawn script_model model self.damagemdl

local.dam.origin = self.origin

local.dam.angles = self.angles

self remove

//self.gun remove

//self.gun2 remove

local.temp = randomint 3

if (local.temp == 0)

local.model_type = "human/german_panzer_grenadier.tik"

if (local.temp == 1)

local.model_type = human/german_panzer_obershutze

if (local.temp == 2)

local.model_type = human/german_panzer_tankcommander

local.ent = spawn local.model_type

local.ent notsolid

local.ent.origin = (self.origin + ( 0 0 100 ))

local.ent.angles = self.angles

local.ent noticescale 1

local.ent sight 4500

local.ent mindist 2024

local.ent maxdist 2448

local.ent leash 10000

local.ent dontdropweapons

local.ent exec global/disable_ai.scr

local.ent notsolid

local.randomdie = randomint(4)

switch(local.randomdie)

{

case 0:

local.ent anim_noclip tank_exit_1

local.ent waittill animdone

break

case 1:

local.ent anim_noclip tank_exit_2

local.ent waittill animdone

local.ent.position = "crawl"

break

case 2:

local.ent anim_noclip tank_exit_3

local.ent waittill animdone

local.ent.health = 45

break

case 3:

local.ent anim_noclip tank_exit_4

local.ent waittill animdone

local.ent bedead

end

}

wait .7

local.ent solid

local.ent exec global/enable_ai.scr

local.col = spawn script_origin

local.col.origin = local.po

local.col.angles = local.angles

local.col thread spawn_fx "fx/gas_mushroom_column.tik" 5

local.col playsound explode_tank

radiusdamage local.col.origin 500 200

wait 5

}

if((self.type==2)||(self.type==3))

{

self vehicleanim remove_surfaces

self notsolid

local.ang=self.angles

local.ang[2]=20

self.angles = local.ang

self.origin = local.jeep_org

self.smoke = spawn "models/emitters/linger_smoke.tik"

self.smoke notsolid

self.smoke anim start

self.smoke.origin = (self.origin + (0 0 60))

//self.smoke glue self

}

local.po = spawn script_origin

local.po = local.origin

local.po[2] = local.po[2] + 750

local.mush = spawn script_origin

local.mush.origin = local.po

local.mush.angles = local.angles

if(self.type==1)

local.mush thread spawn_fx "fx/gas_mushroom_cloud.tik" 5

else

local.mush thread spawn_fx "fx/gas_mushroom_cloud.tik" .5

end

//**************************************************************************************************************************************

// bullet hit command

// bhit [damage| 40 default] [body location| default is chest, -1 is random] [direction| vector] [force to apply| 15 default]

//**************************************************************************************************************************************

bhit local.damage local.location local.direction local.force:

if (local.damage == NIL || local.damage == 0)

{

local.damage = 40

}

if (local.location == NIL)

{

local.location = 3

}

else if (local.location == -1)

{

local.temp = (randomint 17 + 1)

local.location = local.temp

}

if (local.direction == NIL || local.direction == 0)

{

local.direction = (0 -1 0)

}

if (local.force == NIL)

{

local.force = 15

}

//*** set the characters script_damage variable so the player doesn't lose the level

self.script_damage = 1

//*** damage the target

self exec global/bullethit.scr local.direction local.damage local.force local.location

self playsound snd_bh_flesh

self.script_damage = 0

end

//***************************************************************************************************************

spawn_fx local.fx local.scale:

local.temp = spawn script_model model local.fx scale local.scale

local.temp.origin = self.origin

local.temp anim start

wait 5

local.temp remove

end

//***************************************************************************************************************

spawn_damaged local.model:

local.damaged = spawn script_model model local.model

local.damaged.origin = self.origin

local.damaged.angles = self.angles

self.smoke = spawn "models/emitters/linger_smoke.tik"

self.smoke notsolid

self.smoke anim start

self.smoke.origin = (self.origin + (0 0 80))

//self.smoke glue self

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

//***************************************************************************************************************

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

访客
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 创建新的...