Destruble Structures w/ Function


(denizsi) #1

Sorry if this has been asked before but the connection is too slow, I couldn’t take it.

Is it possible to make things that both has a function but also destructable beyond repair? What I had in my mind was specifically a team-only door (openable by only axis or allied) but also destructable if put a dyno before it. Only the corresponding team will be able to pass through that door unless it’s blown up, is it possible? I’m not talking about regular one man sized doors but also big ones like a garage gate maybe?
Or, a door/gate openable by a switch and also destructable like above?
I’ll appreciate if you take the time to answer.


(weasel) #2

From what I’ve seen of the scripting, it seems like there’s almost nothing you can’t do with it. It’s pretty flexible. I haven’t tried anything with it yet, though, since I figure it’s not worth the trouble hacking the current editor to make it work with et when the official one will be out any day now (hopefully).


(sock) #3

Yes it would be possible. Like for example the garage flex doors in Fueldump could have a “trigger_objective_info” entity put around them so that when dynomite is placed nearby they will be destroyed. You would have to remove the door and all associated triggers brushes via the script system thou. The same could apply to team doors as they are just entities.

Sock
:moo:


(denizsi) #4

great, thanks!


(denizsi) #5

damn I tried and tried but it didn’t work. Right now all I want is a team door which is also destructable with dyno.
Here’s the first thing I tried right off your answer;

func_door_rotating
targetname demodoor
scriptname ddoor

trigger_objective_info around the above brush
target demodoor
scriptname ddoor

and in the script;

ddoor
{
spawn
{
wait 200
constructible_class 3
setstate demodoor default
}
}

when I load the map, the doors is locked for both teams, no way to open it, it’s straight locked. And it’s not destructable. I tried various other things which sound even more noobish and I don’t want to tell to prevent being the fun of the day :wink: So, Sock, or anyone else, could you help me? I need detailed instructions for this thing

(I know I’ve opened the thread long ago but only now I needed to implement this thing into the map)


(denizsi) #6

anyone?


(sock) #7

First things first, you need to get the team door functioning like a team door. Create all the relevant brushwork around the doorway and the team door. There are plenty of threads/tutorials on team doors.

Then once the door is functioning correctly in game, create a “trigger_objective_info” brushwork entity around the door area. Make the trigger brush big enough to surround the door and frame. Put a “func_explosive” clip brush around the door. Link the “trigger_objective_info” and “func_explosive” together like normal a dyno objective.

Here is a sample map. Cut and paste it into an editor and save it. Compile it and it should work a treat with the script below as well.


// entity 0
{
"classname" "worldspawn"
"mapcoordsmins" "-384 896"
"mapcoordsmaxs" "1344 -832"
// brush 0
{
( -192 448 -32 ) ( -192 0 -32 ) ( -192 0 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 320 704 -32 ) ( -128 704 -32 ) ( -128 704 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1152 -8 -32 ) ( 1152 440 -32 ) ( 1152 440 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -144 -384 -32 ) ( 304 -384 -32 ) ( 304 -384 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -128 0 -32 ) ( -128 448 -32 ) ( 320 448 -32 ) fueldump/cave_floor 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 320 448 -64 ) ( -128 448 -64 ) ( -128 0 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 1
{
( 960 768 96 ) ( 512 768 96 ) ( 512 768 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1280 56 96 ) ( 1280 504 96 ) ( 1280 504 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 496 -448 96 ) ( 944 -448 96 ) ( 944 -448 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 512 64 512 ) ( 512 512 512 ) ( 960 512 512 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 960 512 128 ) ( 512 512 128 ) ( 512 64 128 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1216 400 384 ) ( 1216 432 384 ) ( 1216 400 416 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 2
{
( 1152 512 64 ) ( 1184 512 128 ) ( 1152 -448 64 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 1152 704 -64 ) ( 1216 768 -64 ) ( 1152 704 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1216 -448 -64 ) ( 1152 -384 -64 ) ( 1216 -448 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1152 336 -64 ) ( 1152 368 -64 ) ( 1152 336 -32 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 896 448 -32 ) ( 448 448 -32 ) ( 448 0 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 448 0 128 ) ( 448 448 128 ) ( 896 448 128 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 1216 -8 -32 ) ( 1216 440 -32 ) ( 1216 440 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 3
{
( 184 -448 -32 ) ( 632 -448 -32 ) ( 632 -448 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 192 320 128 ) ( 640 320 128 ) ( 640 -128 128 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 640 -128 -32 ) ( 640 320 -32 ) ( 192 320 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 528 -384 -64 ) ( 560 -384 -64 ) ( 528 -384 -32 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( -256 -448 -64 ) ( -192 -384 -64 ) ( -256 -448 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1152 -384 -64 ) ( 1216 -448 -64 ) ( 1152 -384 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 704 -384 64 ) ( 704 -416 128 ) ( -256 -384 64 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 4
{
( -256 72 -32 ) ( -256 -376 -32 ) ( -256 -376 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 512 64 128 ) ( 512 -384 128 ) ( 64 -384 128 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 64 -384 -32 ) ( 512 -384 -32 ) ( 512 64 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -192 -272 -64 ) ( -192 -304 -64 ) ( -192 -272 -32 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( -224 736 -64 ) ( -160 672 -64 ) ( -224 736 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -192 -384 -64 ) ( -256 -448 -64 ) ( -192 -384 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -192 -448 64 ) ( -224 -448 128 ) ( -192 512 64 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 5
{
( -256 704 64 ) ( -256 736 128 ) ( 704 704 64 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( -192 704 -64 ) ( -256 768 -64 ) ( -192 704 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1184 736 -64 ) ( 1120 672 -64 ) ( 1184 736 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -112 704 -64 ) ( -144 704 -64 ) ( -112 704 -32 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( -192 448 -32 ) ( -192 0 -32 ) ( 256 0 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 256 0 128 ) ( -192 0 128 ) ( -192 448 128 ) fueldump/cave_dark 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 264 768 -32 ) ( -184 768 -32 ) ( -184 768 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 6
{
( 592 -448 384 ) ( 624 -448 384 ) ( 592 -448 416 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 704 -192 128 ) ( 704 256 128 ) ( 256 256 128 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 256 256 512 ) ( 704 256 512 ) ( 704 -192 512 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -256 272 96 ) ( -256 -176 96 ) ( -256 -176 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 248 -512 96 ) ( 696 -512 96 ) ( 696 -512 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1216 -224 96 ) ( 1216 224 96 ) ( 1216 224 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 7
{
( -256 -336 384 ) ( -256 -368 384 ) ( -256 -336 416 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 0 -448 128 ) ( 448 -448 128 ) ( 448 0 128 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 448 0 512 ) ( 448 -448 512 ) ( 0 -448 512 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 464 768 96 ) ( 16 768 96 ) ( 16 768 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -320 8 96 ) ( -320 -440 96 ) ( -320 -440 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 0 -448 96 ) ( 448 -448 96 ) ( 448 -448 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 8
{
( -256 512 96 ) ( -256 64 96 ) ( -256 64 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 200 832 96 ) ( -248 832 96 ) ( -248 832 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1216 16 96 ) ( 1216 464 96 ) ( 1216 464 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 192 64 512 ) ( -256 64 512 ) ( -256 512 512 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -256 512 128 ) ( -256 64 128 ) ( 192 64 128 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -144 768 384 ) ( -176 768 384 ) ( -144 768 416 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 9
{
( 256 384 512 ) ( -192 384 512 ) ( -192 -64 512 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( -192 -64 576 ) ( -192 384 576 ) ( 256 384 576 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -208 -448 544 ) ( 240 -448 544 ) ( 240 -448 512 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1216 -104 544 ) ( 1216 344 544 ) ( 1216 344 512 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 256 768 544 ) ( -192 768 544 ) ( -192 768 512 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -256 384 544 ) ( -256 -64 544 ) ( -256 -64 512 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 10
{
( 832 896 -192 ) ( -384 896 -192 ) ( -384 -160 -192 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -384 -160 -128 ) ( -384 896 -128 ) ( 832 896 -128 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -368 -832 -128 ) ( 848 -832 -128 ) ( 848 -832 -192 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 1344 -192 -128 ) ( 1344 864 -128 ) ( 1344 864 -192 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 832 896 -128 ) ( -384 896 -128 ) ( -384 896 -192 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -384 896 -128 ) ( -384 -160 -128 ) ( -384 -160 -192 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 11
{
( -64 496 64 ) ( -64 464 64 ) ( -64 464 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 16 496 64 ) ( -64 496 64 ) ( -64 496 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 16 464 64 ) ( 16 496 64 ) ( 16 496 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( -64 464 64 ) ( 16 464 64 ) ( 16 464 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( -64 464 96 ) ( -64 496 96 ) ( 16 496 96 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 16 496 -32 ) ( -64 496 -32 ) ( -64 464 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 12
{
( 96 496 80 ) ( 16 496 80 ) ( 16 464 80 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 16 464 96 ) ( 16 496 96 ) ( 96 496 96 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 16 464 64 ) ( 96 464 64 ) ( 96 464 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 112 464 64 ) ( 112 496 64 ) ( 112 496 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 96 496 64 ) ( 16 496 64 ) ( 16 496 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 16 496 64 ) ( 16 464 64 ) ( 16 464 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 13
{
( 192 496 -32 ) ( 112 496 -32 ) ( 112 464 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 112 464 96 ) ( 112 496 96 ) ( 192 496 96 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 112 464 64 ) ( 192 464 64 ) ( 192 464 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 192 464 64 ) ( 192 496 64 ) ( 192 496 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 192 496 64 ) ( 112 496 64 ) ( 112 496 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 112 496 64 ) ( 112 464 64 ) ( 112 464 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 14
{
( -80 504 192 ) ( -80 472 192 ) ( -80 472 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 192 512 192 ) ( 112 512 192 ) ( 112 512 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 208 464 192 ) ( 208 496 192 ) ( 208 496 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 112 448 192 ) ( 192 448 192 ) ( 192 448 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 112 464 192 ) ( 112 496 192 ) ( 192 496 192 ) fueldump/cave_floor 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 192 496 96 ) ( 112 496 96 ) ( 112 464 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 15
{
( 192 512 -16 ) ( 192 512 8 ) ( 192 448 -16 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 224 496 -32 ) ( 144 496 -32 ) ( 144 464 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 112 464 96 ) ( 112 496 96 ) ( 192 496 96 ) fueldump/cave_floor 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( 240 448 -32 ) ( 224 448 -32 ) ( 192 448 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 240 512 -32 ) ( 240 448 -32 ) ( 208 448 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 224 512 -32 ) ( 240 512 -32 ) ( 208 512 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 16
{
( -96 448 -32 ) ( -112 448 -32 ) ( -80 448 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( -112 448 -32 ) ( -112 512 -32 ) ( -80 512 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( -112 512 -32 ) ( -96 512 -32 ) ( -64 512 96 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( 16 496 96 ) ( 16 464 96 ) ( -64 464 96 ) fueldump/cave_floor 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
( -96 464 -32 ) ( -16 464 -32 ) ( -16 496 -32 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
( -64 448 -16 ) ( -64 448 8 ) ( -64 512 -16 ) seawall_wall/wall03_top 0.000000 -64.000000 0.000000 0.500000 0.500000 0 0 0
}
}
// entity 1
{
"classname" "team_CTF_bluespawn"
"origin" "0 96 0"
"spawnflags" "3"
"angle" "90"
}
// entity 2
{
"classname" "team_CTF_redspawn"
"origin" "128 96 0"
"spawnflags" "3"
"angle" "90"
}
// entity 3
{
"scriptname" "game_manager"
"origin" "64 -24 128"
"classname" "script_multiplayer"
}
// entity 4
{
"angle" "90"
"classname" "info_player_deathmatch"
"origin" "64 -64 120"
}
// entity 5
{
"classname" "func_group"
// brush 0
{
( 40 488 88 ) ( 40 488 -24 ) ( 72 488 -24 ) bunker_sd/int_wall01_rusty 0.000000 -64.000000 0.000000 0.500000 0.500000 134217728 0 0
( 16 504 56 ) ( 16 440 56 ) ( 16 440 32 ) bunker_sd/int_wall01_rusty 0.000000 -64.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 500 -24 ) ( 32 452 -24 ) ( 32 452 80 ) bunker_sd/girder02 207.999939 -48.000008 90.000000 0.500000 0.500000 134217728 0 0
( 24 504 72 ) ( 32 504 64 ) ( 32 440 64 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 0
( 24 440 -32 ) ( 32 440 -32 ) ( 32 504 -32 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 0
( 32 472 88 ) ( 56 472 -24 ) ( 32 472 -24 ) bunker_sd/int_wall01_rusty 0.000000 -64.000000 0.000000 0.500000 0.500000 134217728 0 0
}
// brush 1
{
( 32 488 72 ) ( 32 488 64 ) ( 64 488 64 ) bunker_sd/int_wall01_rusty 0.000000 -64.000000 0.000000 0.500000 0.500000 134217728 0 0
( 56 504 80 ) ( 56 440 80 ) ( 32 440 80 ) bunker_sd/girder02 0.000000 16.000000 0.000000 0.500000 0.500000 134217728 0 0
( 104 504 72 ) ( 96 504 64 ) ( 96 440 64 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 0
( 24 440 72 ) ( 32 440 64 ) ( 32 504 64 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 0
( 24 496 64 ) ( 24 448 64 ) ( 104 448 64 ) bunker_sd/girder02 0.000000 16.000000 0.000000 0.500000 0.500000 134217728 0 0
( 24 472 72 ) ( 48 472 64 ) ( 24 472 64 ) bunker_sd/int_wall01_rusty 0.000000 -64.000000 0.000000 0.500000 0.500000 134217728 0 0
}
// brush 2
{
( 24 488 88 ) ( 24 488 -24 ) ( 56 488 -24 ) bunker_sd/int_wall01_rusty 0.000000 -64.000000 0.000000 0.500000 0.500000 134217728 0 0
( 112 504 32 ) ( 112 440 32 ) ( 112 440 64 ) bunker_sd/int_wall01_rusty 0.000000 -64.000000 0.000000 0.500000 0.500000 134217728 0 0
( 96 512 80 ) ( 96 464 80 ) ( 96 464 -24 ) bunker_sd/girder02 207.999939 -48.000008 90.000000 0.500000 0.500000 134217728 0 0
( 104 440 72 ) ( 96 440 64 ) ( 96 504 64 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 0
( 96 440 -32 ) ( 224 440 -32 ) ( 224 504 -32 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 0
( 16 472 88 ) ( 40 472 -24 ) ( 16 472 -24 ) bunker_sd/int_wall01_rusty 0.000000 -64.000000 0.000000 0.500000 0.500000 134217728 0 0
}
}
// entity 6
{
"targetname" "axisteamdoor"
"allowteams" "axis,cvops"
"type" "5"
"classname" "func_door_rotating"
"scriptname" "axisteamdoor"
// brush 0
{
( 30 484 -32 ) ( 30 474 -32 ) ( 36 474 -32 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 36 474 64 ) ( 30 474 64 ) ( 30 484 64 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 36 474 80 ) ( 36 484 80 ) ( 36 484 -32 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 36 484 80 ) ( 30 484 80 ) ( 30 484 -32 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 28 484 80 ) ( 28 474 80 ) ( 28 474 -32 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 30 476 80 ) ( 36 476 80 ) ( 36 476 -32 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
}
// brush 1
{
( 96 478 -32 ) ( 96 482 -32 ) ( 32 482 -32 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 482 64 ) ( 96 482 64 ) ( 96 478 64 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 482 84 ) ( 32 478 84 ) ( 32 478 -32 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 30 478 84 ) ( 94 478 84 ) ( 94 478 -32 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
( 96 478 84 ) ( 96 482 84 ) ( 96 482 -32 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 96 482 84 ) ( 32 482 84 ) ( 32 482 -32 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
}
}
// entity 7
{
"spawnflags" "1"
"origin" "128 48 120"
"classname" "team_WOLF_objective"
}
// entity 8
{
"classname" "team_WOLF_objective"
"origin" "0 48 120"
"spawnflags" "2"
}
// entity 9
{
"shortname" "Axis Team Door"
"spawnflags" "1"
"classname" "trigger_objective_info"
"target" "dynoteamdoor"
"track" "Axis Team Door"
"scriptname" "dynoteamdoor_toi"
"targetname" "dynoteamdoor_toi"
// brush 0
{
( 144 120 224 ) ( 144 608 224 ) ( 144 608 216 ) common/trigger 0.000000 0.000000 0.000000 0.500000 0.500000 0 7 0
( -248 416 224 ) ( 192 416 224 ) ( 192 416 216 ) common/trigger 0.000000 0.000000 0.000000 0.500000 0.500000 0 7 0
( -16 624 224 ) ( -16 136 224 ) ( -16 136 216 ) common/trigger 0.000000 0.000000 0.000000 0.500000 0.500000 0 7 0
( 216 544 224 ) ( -224 544 224 ) ( -224 544 216 ) common/trigger 0.000000 0.000000 0.000000 0.500000 0.500000 0 7 0
( 232 616 128 ) ( 232 128 128 ) ( -208 128 128 ) common/trigger 0.000000 0.000000 0.000000 0.500000 0.500000 0 7 0
( -216 120 -32 ) ( 224 120 -32 ) ( 224 608 -32 ) common/trigger 0.000000 0.000000 0.000000 0.500000 0.500000 0 7 0
}
}
// entity 10
{
"type" "metal"
"mass" "100"
"targetname" "dynoteamdoor"
"scriptname" "dynoteamdoor"
"classname" "func_explosive"
// brush 0
{
( 96 468 64 ) ( 112 468 80 ) ( 112 468 -32 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 112 492 -32 ) ( 96 492 -32 ) ( 96 468 -32 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 96 492 63.999489 ) ( 112 492 80.000740 ) ( 112 468 80.000740 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 96 492 -32 ) ( 96 492 64.001442 ) ( 96 468 64.001442 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 112 492 80.000008 ) ( 112 492 -32 ) ( 112 468 -32 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 112 492 80.001671 ) ( 96 492 64.001465 ) ( 96 492 -32 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
}
// brush 1
{
( 56 488 -16 ) ( 56 472 -16 ) ( 56 472 -32 ) common/origin 0.000000 0.000000 0.000000 0.500000 0.500000 0 15 0
( 72 488 -16 ) ( 56 488 -16 ) ( 56 488 -32 ) common/origin 0.000000 0.000000 0.000000 0.500000 0.500000 0 15 0
( 72 472 -16 ) ( 72 488 -16 ) ( 72 488 -32 ) common/origin 0.000000 0.000000 0.000000 0.500000 0.500000 0 15 0
( 56 472 -16 ) ( 72 472 -16 ) ( 72 472 -32 ) common/origin 0.000000 0.000000 0.000000 0.500000 0.500000 0 15 0
( 56 472 -16 ) ( 56 488 -16 ) ( 72 488 -16 ) common/origin 0.000000 0.000000 0.000000 0.500000 0.500000 0 15 0
( 72 488 -32 ) ( 56 488 -32 ) ( 56 472 -32 ) common/origin 0.000000 0.000000 0.000000 0.500000 0.500000 0 15 0
}
// brush 2
{
( 32 468 63.997532 ) ( 32 468 -32 ) ( 16 468 -32 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 32 492 -32 ) ( 16 492 -32 ) ( 16 468 -32 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 16 492 80.000977 ) ( 32 492 64.000977 ) ( 32 468 64.000977 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 32 492 64 ) ( 32 492 -32 ) ( 32 468 -32 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 16 492 -32 ) ( 16 492 80.001678 ) ( 16 468 80.001678 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 32 492 -32 ) ( 32 492 63.994152 ) ( 16 492 79.994156 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
}
// brush 3
{
( 112.001663 468 80 ) ( 96.001450 468 64 ) ( 32.000488 468 64 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 96 492 64 ) ( 32.000488 492 64 ) ( 32.000488 468 64 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 31.998705 492 64 ) ( 15.997411 492 80 ) ( 15.997409 468 80 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 111.998199 492 80 ) ( 95.998199 492 64 ) ( 95.998199 468 64 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 16.000244 492 80 ) ( 112.001701 492 80 ) ( 112.001701 468 80 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
( 96 492 64 ) ( 112 492 80 ) ( 16.000259 492 80 ) common/clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 13 0
}
}

Script:


game_manager
{
	spawn
	{
	}
}

dynoteamdoor
{
	spawn
	{
		wait 200
		constructible_class 3
	}
	
	death
	{
		setstate axisteamdoor invisible
		setstate axisteamdoor_toi invisible
		wm_announce	"BANG goes the team door!!"
	}
}

Sock
:moo:


(damocles) #8

I haven’t tested this yet - but doesn’t putting a targetname on a door entity cause it to be locked?


(sock) #9

You are thinking about when a door entity is “targeted”. Plus the entity “func_rotating_door” uses the key “key” for locking situations instead. I’ve double checked the example above and it works a treat as it stands.

Sock
:moo:


(damocles) #10

Sweet, I think I’ll be using this in my maps then :smiley:


(denizsi) #11

Thanks sock, you’re great :), script alone with the explanation was sufficient, appearantly I’ve done the same thing before trying to explore a way of doing it but my script was faulty then too.

It works now but there’s something I don’t get. The door is linked to axisteamdoor script and has the targetname of axisteamdoor as well. Doesn’t the game look for targetnames only with setstate? I mean I don’t get why there’s a scriptname key with axisteamdoor, there isn’t a script for that alone. I’ve quite a lot of stuff right not in my map, 3 stage constructibles with many damaged door/wall brushed to appear after they’re exploded, doors with buttons, and even a small railcar to climb a long and sloppy mountain tunnel fast much like that railcars in RailGun, but I don’t have anything like this in my script. Every group of functional/objective things are grouped under just one script, no nonexisting scriptnames.


(sock) #12

The “targetname” key is used by the script so that the team door can be removed from the game after the dyno has done its job. The “scriptname” key is not used at all, but its just a habit of mine. So if I wanted to do any scripting with this entity I would not have to recompile the map again. Its really just a personal recommendation, the entity and script will work fine without it.

Sock
:moo:


(denizsi) #13

oh thanks, I was like “wtf is this now?” when I saw it alone :slight_smile:


(neotic) #14

When I blow my door there is a grenade on the command map, its really bothering me! Anyone know why this happens? I used the exact script above.


(neotic) #15

Nevermind, I fixed it. Take away the scriptname for the TOI and don’t reference it in the script and it works perfectly.


(meander) #16

you had me until you said to Link the “trigger_objective_info” and “func_explosive” together like normal a dyno objective. how would i do that? i just started mapping a few days ago. i made some good progress, but im stuck by this.


(DAbell) #17

Well i’m sure someone will correct me if i’m wrong but i think that you need to select both items and press ‘ctrl+K’ and this links the two items together basically giving each other the same targetnames and stuff like that.

<DJ>


(EB) #18

@meander >this thread is old and most of the posters are rarely seen in SD forums these days.

He posted the file for use as well…what are you basically going for ?

You may learn alot from my in map tutorials for beginners = www.spyjuice.com/ld.htm

explode an object that is non-reconstructible = HERE