Script_mover - like team door


(BadIdea) #1

Can I add to script_mover (something like advanced rotating door) a flag:allow axis,cops ?


(sock) #2

The first problem is that the teamdoor functionality is linked to the entities “func_door” and “func_door_rotating”. So you need to create one of those entities but coat/paint it in a special shader that the engine will allow the player to interact with but not draw in the game. The shader I used for the teamdoor:


textures/common/teamdoor_clip
{
    qer_editorimage textures/common/clipfull.tga
    qer_trans 0.3
    surfaceparm nomarks
    surfaceparm trans
    {
        map textures/doors/door_m01asml_axis.tga
        alphaFunc GT0
        depthFunc disable
        alphaGen const 0
    }
}

Save this shader as a new file in your scripts directory. (etmain/scripts) Remember you will have to include this in your final pk3 file for your map as the engine still uses this shader while running the map. Its looks like a clip brush in the editor but is not drawn in game. Plus include this shader file in your “shaderlist.txt” file otherwise it will not compile correctly.

Next you need to get the fake teamdoor to trigger a script so that the final script_mover entities will work. Target the fake teamdoor at a “target_script_trigger” entity and then onto the script. This entity is an old RTCW entitity so it will be familiar to older mappers.

The fake teamdoor also produces the locked sound for the wrong team using the door. So you need a door type which does not produce any normal open/close sound but can be changed to have a locked sound. Door sound type 3 is empty (lab) so we can modify it to produce a locked sound. Got to the directory (etmain/sound/movers/doors) and copy the wav file “door5_locked.wav” and save it back to the same directory as “door3_locked.wav”. You will also need to distribute this sound with the final pk3 file. Its safe to do this because nobody uses type 3 door sounds so it will be invisible to everyone except your map.

Now because the fake teamdoor is still an actually door it will still behave like a door opening and closing. So the fake teamdoor needs to open/close extremely quick (key speed=10000) and the direction (key angle) is set to go somewhere safe like in this example above the doorframe. Also the fake teamdoor needs to be controlled in the open/close event which is why it is a “toggle” spawnflags. The final script_mover door sequence maybe a long or short sequence and the script really needs to control when the fake teamdoor will be at all times.

Finally the script does the stuff with the script_movers (this example splits the door into 5 pieces and pushes them into the wall). But the script_movers could do anything you want, it depends on you. The script will not allow the function to be run more than once so it uses a local accum variable to stop re-entry again. The function pauses 1 frame for the fake teamdoor to open and then freezes it with the setstate command. The function takes it time moving the script movers around and then brings the fake teamdoor back to life again.

The only downside to this little example is that it will not block like normal teamdoors because it is using script_movers which do not have a block function, they just crush the player.

The map file below needs to be copied and pasted into a text editor and save as a .MAP file. Once you have all the bits below, compile the map as normal. You will not need a tracemap or command map to work the map.


// entity 0
{
"mapcoordsmaxs" "1344 -832"
"mapcoordsmins" "-384 896"
"classname" "worldspawn"
// brush 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
( -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
( -144 -384 -32 ) ( 304 -384 -32 ) ( 304 -384 -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
( 320 704 -32 ) ( -128 704 -32 ) ( -128 704 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 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
}
// brush 1
{
( 1216 400 384 ) ( 1216 432 384 ) ( 1216 400 416 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 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
( 512 64 512 ) ( 512 512 512 ) ( 960 512 512 ) 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
( 1280 56 96 ) ( 1280 504 96 ) ( 1280 504 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 960 768 96 ) ( 512 768 96 ) ( 512 768 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 2
{
( 1216 -8 -32 ) ( 1216 440 -32 ) ( 1216 440 -64 ) 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
( 896 448 -32 ) ( 448 448 -32 ) ( 448 0 -32 ) 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
( 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 704 -64 ) ( 1216 768 -64 ) ( 1152 704 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 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
}
// brush 3
{
( 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
( 1152 -384 -64 ) ( 1216 -448 -64 ) ( 1152 -384 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 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
( 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
( 640 -128 -32 ) ( 640 320 -32 ) ( 192 320 -32 ) 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
( 184 -448 -32 ) ( 632 -448 -32 ) ( 632 -448 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 4
{
( -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
( -192 -384 -64 ) ( -256 -448 -64 ) ( -192 -384 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 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 -272 -64 ) ( -192 -304 -64 ) ( -192 -272 -32 ) 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
( 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
( -256 72 -32 ) ( -256 -376 -32 ) ( -256 -376 -64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 5
{
( 264 768 -32 ) ( -184 768 -32 ) ( -184 768 -64 ) 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
( -192 448 -32 ) ( -192 0 -32 ) ( 256 0 -32 ) 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
( 1184 736 -64 ) ( 1120 672 -64 ) ( 1184 736 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 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
( -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
}
// brush 6
{
( 1216 -224 96 ) ( 1216 224 96 ) ( 1216 224 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
( -256 272 96 ) ( -256 -176 96 ) ( -256 -176 64 ) 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
( 704 -192 128 ) ( 704 256 128 ) ( 256 256 128 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 592 -448 384 ) ( 624 -448 384 ) ( 592 -448 416 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 7
{
( 0 -448 96 ) ( 448 -448 96 ) ( 448 -448 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
( 464 768 96 ) ( 16 768 96 ) ( 16 768 64 ) 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
( 0 -448 128 ) ( 448 -448 128 ) ( 448 0 128 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -256 -336 384 ) ( -256 -368 384 ) ( -256 -336 416 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 8
{
( -144 768 384 ) ( -176 768 384 ) ( -144 768 416 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 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
( 192 64 512 ) ( -256 64 512 ) ( -256 512 512 ) 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
( 200 832 96 ) ( -248 832 96 ) ( -248 832 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( -256 512 96 ) ( -256 64 96 ) ( -256 64 64 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 9
{
( -256 384 544 ) ( -256 -64 544 ) ( -256 -64 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
( 1216 -104 544 ) ( 1216 344 544 ) ( 1216 344 512 ) 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
( -192 -64 576 ) ( -192 384 576 ) ( 256 384 576 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 256 384 512 ) ( -192 384 512 ) ( -192 -64 512 ) fueldump/fueldumpsky 0.000000 0.000000 0.000000 0.500000 0.500000 0 0 0
}
// brush 10
{
( -384 896 -128 ) ( -384 -160 -128 ) ( -384 -160 -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
( 1344 -192 -128 ) ( 1344 864 -128 ) ( 1344 864 -192 ) 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
( -384 -160 -128 ) ( -384 896 -128 ) ( 832 896 -128 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 832 896 -192 ) ( -384 896 -192 ) ( -384 -160 -192 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 11
{
( 16 496 -32 ) ( -64 496 -32 ) ( -64 464 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 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
( -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
( 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
( 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
( -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
}
// brush 12
{
( 16 496 64 ) ( 16 464 64 ) ( 16 464 -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
( 112 464 64 ) ( 112 496 64 ) ( 112 496 -32 ) 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
( 16 464 96 ) ( 16 496 96 ) ( 96 496 96 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 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
}
// brush 13
{
( 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
( 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
( 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
( 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
( 112 464 96 ) ( 112 496 96 ) ( 192 496 96 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
( 192 496 -32 ) ( 112 496 -32 ) ( 112 464 -32 ) common/caulk 0.000000 0.000000 0.000000 0.500000 0.500000 0 4 0
}
// brush 14
{
( 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
( 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
( 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
( 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
( 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
( -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
}
// brush 15
{
( 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
( 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
( 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
( 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
( 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
( 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
}
// brush 16
{
( -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
( -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
( 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
( -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
( -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
( -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
}
}
// entity 1
{
"angle" "90"
"spawnflags" "3"
"origin" "0 96 0"
"classname" "team_CTF_bluespawn"
}
// entity 2
{
"angle" "90"
"spawnflags" "3"
"origin" "128 96 0"
"classname" "team_CTF_redspawn"
}
// entity 3
{
"classname" "script_multiplayer"
"origin" "64 -24 128"
"scriptname" "game_manager"
}
// entity 4
{
"origin" "64 -64 120"
"classname" "info_player_deathmatch"
"angle" "90"
}
// entity 5
{
"classname" "func_group"
// brush 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
( 24 440 -32 ) ( 32 440 -32 ) ( 32 504 -32 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 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
( 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
( 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
( 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
}
// brush 1
{
( 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
( 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 440 72 ) ( 32 440 64 ) ( 32 504 64 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 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
( 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
( 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
}
// brush 2
{
( 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
( 96 440 -32 ) ( 224 440 -32 ) ( 224 504 -32 ) common/caulk -32.000000 48.000000 0.000000 0.500000 0.500000 134217728 4 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 512 80 ) ( 96 464 80 ) ( 96 464 -24 ) bunker_sd/girder02 207.999939 -48.000008 90.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
( 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
}
}
// entity 6
{
"angle" "-1"
"speed" "10000"
"target" "axisdoor_script_trigger"
"scriptname" "realaxisdoor"
"classname" "func_door"
"allowteams" "axis,cvops"
"targetname" "realaxisdoor"
"type" "3"
"spawnflags" "2"
// brush 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
( 28 484 80 ) ( 28 474 80 ) ( 28 474 -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
( 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 474 0 ) ( 30 474 0 ) ( 30 484 0 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 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
}
// brush 1
{
( 96 484 84 ) ( 32 484 84 ) ( 32 484 -32 ) common/teamdoor_clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 1 0
( 96 478 84 ) ( 96 482 84 ) ( 96 482 -32 ) common/teamdoor_clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 1 0
( 30 476 84 ) ( 94 476 84 ) ( 94 476 -32 ) common/teamdoor_clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 1 0
( 32 482 84 ) ( 32 478 84 ) ( 32 478 -32 ) common/teamdoor_clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 1 0
( 32 482 64 ) ( 96 482 64 ) ( 96 478 64 ) common/teamdoor_clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 1 0
( 96 478 -32 ) ( 96 482 -32 ) ( 32 482 -32 ) common/teamdoor_clip 0.000000 0.000000 0.000000 0.500000 0.500000 134217728 1 0
}
}
// entity 7
{
"classname" "team_WOLF_objective"
"origin" "128 48 120"
"spawnflags" "1"
}
// entity 8
{
"spawnflags" "2"
"origin" "0 48 120"
"classname" "team_WOLF_objective"
}
// entity 9
{
"scriptname" "pretendaxisdoor1_1"
"spawnflags" "2"
"targetname" "pretendaxisdoor1_1"
"classname" "script_mover"
// brush 0
{
( 92 478 48 ) ( 92 482 48 ) ( 28 482 48 ) 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
}
// brush 1
{
( 30 484 60 ) ( 30 474 60 ) ( 36 474 60 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 36 474 68 ) ( 30 474 68 ) ( 30 484 68 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 36 474 88 ) ( 36 484 88 ) ( 36 484 -24 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 36 496 88 ) ( 30 496 88 ) ( 30 496 -24 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 28 484 88 ) ( 28 474 88 ) ( 28 474 -24 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 30 464 88 ) ( 36 464 88 ) ( 36 464 -24 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
}
}
// entity 10
{
"scriptname" "axisdoor_script_trigger"
"target" "main"
"targetname" "axisdoor_script_trigger"
"origin" "32 448 24"
"classname" "target_script_trigger"
}
// entity 11
{
"classname" "script_mover"
"targetname" "pretendaxisdoor1_2"
"spawnflags" "2"
"scriptname" "pretendaxisdoor1_2"
// brush 0
{
( 96 482 68 ) ( 32 482 68 ) ( 32 482 -48 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
( 96 478 68 ) ( 96 482 68 ) ( 96 482 -48 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 30 478 68 ) ( 94 478 68 ) ( 94 478 -48 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
( 32 482 68 ) ( 32 478 68 ) ( 32 478 -48 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 482 48 ) ( 96 482 48 ) ( 96 478 48 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
( 92 478 20 ) ( 92 482 20 ) ( 28 482 20 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
}
// brush 1
{
( 94 464 72 ) ( 100 464 72 ) ( 100 464 -40 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 92 484 72 ) ( 92 474 72 ) ( 92 474 -40 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 100 496 72 ) ( 94 496 72 ) ( 94 496 -40 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 100 474 72 ) ( 100 484 72 ) ( 100 484 -40 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 100 474 52 ) ( 94 474 52 ) ( 94 484 52 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 94 484 44 ) ( 94 474 44 ) ( 100 474 44 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
}
}
// entity 12
{
"scriptname" "pretendaxisdoor1_3"
"spawnflags" "2"
"targetname" "pretendaxisdoor1_3"
"classname" "script_mover"
// brush 0
{
( 92 478 2 ) ( 92 482 2 ) ( 28 482 2 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 482 20 ) ( 96 482 20 ) ( 96 478 20 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 482 40 ) ( 32 478 40 ) ( 32 478 -76 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 30 478 40 ) ( 94 478 40 ) ( 94 478 -76 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
( 96 478 40 ) ( 96 482 40 ) ( 96 482 -76 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 96 482 40 ) ( 32 482 40 ) ( 32 482 -76 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
}
// brush 1
{
( 30 484 16 ) ( 30 474 16 ) ( 36 474 16 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 36 474 24 ) ( 30 474 24 ) ( 30 484 24 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 36 474 44 ) ( 36 484 44 ) ( 36 484 -68 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 34 496 44 ) ( 28 496 44 ) ( 28 496 -68 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 28 484 44 ) ( 28 474 44 ) ( 28 474 -68 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 30 464 44 ) ( 36 464 44 ) ( 36 464 -68 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
}
}
// entity 13
{
"classname" "script_mover"
"targetname" "pretendaxisdoor1_4"
"spawnflags" "2"
"scriptname" "pretendaxisdoor1_4"
// brush 0
{
( 96 482 22 ) ( 32 482 22 ) ( 32 482 -94 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
( 96 478 22 ) ( 96 482 22 ) ( 96 482 -94 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 30 478 22 ) ( 94 478 22 ) ( 94 478 -94 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
( 32 482 22 ) ( 32 478 22 ) ( 32 478 -94 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 482 2 ) ( 96 482 2 ) ( 96 478 2 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
( 92 478 -18 ) ( 92 482 -18 ) ( 28 482 -18 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
}
// brush 1
{
( 94 464 26 ) ( 100 464 26 ) ( 100 464 -86 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 92 484 26 ) ( 92 474 26 ) ( 92 474 -86 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 100 496 26 ) ( 94 496 26 ) ( 94 496 -86 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 100 474 26 ) ( 100 484 26 ) ( 100 484 -86 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 100 474 6 ) ( 94 474 6 ) ( 94 484 6 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 94 484 -2 ) ( 94 474 -2 ) ( 100 474 -2 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
}
}
// entity 14
{
"scriptname" "pretendaxisdoor1_5"
"spawnflags" "2"
"targetname" "pretendaxisdoor1_5"
"classname" "script_mover"
// brush 0
{
( 92 478 -32 ) ( 92 482 -32 ) ( 28 482 -32 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 482 -18 ) ( 96 482 -18 ) ( 96 478 -18 ) swf/metal_m02 -12.000000 12.000000 0.000000 0.500000 0.500000 134217728 0 0
( 32 482 2 ) ( 32 478 2 ) ( 32 478 -114 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 30 478 2 ) ( 94 478 2 ) ( 94 478 -114 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
( 96 478 2 ) ( 96 482 2 ) ( 96 482 -114 ) swf/metal_m02 -60.000000 -8.000000 0.000000 0.500000 0.500000 134217728 0 0
( 96 482 2 ) ( 32 482 2 ) ( 32 482 -114 ) fueldump/door_m01asml_axis 64.000000 -85.333313 0.000000 -0.500000 0.375000 134217728 0 0
}
// brush 1
{
( 30 484 -22 ) ( 30 474 -22 ) ( 36 474 -22 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 36 474 -14 ) ( 30 474 -14 ) ( 30 484 -14 ) common/origin -12.000000 12.000000 0.000000 0.500000 0.500000 0 15 0
( 36 474 6 ) ( 36 484 6 ) ( 36 484 -106 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 36 496 6 ) ( 30 496 6 ) ( 30 496 -106 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 28 484 6 ) ( 28 474 6 ) ( 28 474 -106 ) common/origin -60.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
( 30 464 6 ) ( 36 464 6 ) ( 36 464 -106 ) common/origin 36.000000 -8.000000 0.000000 0.500000 0.500000 0 15 0
}
}
// entity 15
{
"targetname" "pretendaxisdoor1_1pc1"
"origin" "32 480 64"
"classname" "path_corner_2"
}
// entity 16
{
"classname" "path_corner_2"
"origin" "96 480 64"
"targetname" "pretendaxisdoor1_1pc2"
}
// entity 17
{
"classname" "path_corner_2"
"origin" "32 480 48"
"targetname" "pretendaxisdoor1_2pc1"
}
// entity 18
{
"targetname" "pretendaxisdoor1_2pc2"
"origin" "96 480 48"
"classname" "path_corner_2"
}
// entity 19
{
"targetname" "pretendaxisdoor1_3pc1"
"origin" "32 480 20"
"classname" "path_corner_2"
}
// entity 20
{
"classname" "path_corner_2"
"origin" "96 480 20"
"targetname" "pretendaxisdoor1_3pc2"
}
// entity 21
{
"classname" "path_corner_2"
"origin" "32 480 2"
"targetname" "pretendaxisdoor1_4pc1"
}
// entity 22
{
"targetname" "pretendaxisdoor1_4pc2"
"origin" "96 480 2"
"classname" "path_corner_2"
}
// entity 23
{
"targetname" "pretendaxisdoor1_5pc1"
"origin" "32 480 -18"
"classname" "path_corner_2"
}
// entity 24
{
"classname" "path_corner_2"
"origin" "96 480 -18"
"targetname" "pretendaxisdoor1_5pc2"
}

The script:


game_manager
{
	spawn
	{
	}
}

axisdoor_script_trigger
{
	spawn
	{
		accum 1 set 0
	}

	trigger main
	{
		accum 1 abort_if_not_equal 0	// Running already ??
		
		wm_announce	"Trigger Door!"

		accum 1 set 1 			// routine is running
		wait 50
		setstate realaxisdoor invisible // Hide teamdoor+trigger
		
		trigger pretendaxisdoor1_1 open	// Open script_mover doors
		trigger pretendaxisdoor1_2 open
		trigger pretendaxisdoor1_3 open
		trigger pretendaxisdoor1_4 open
		trigger pretendaxisdoor1_5 open
		wait 5000			// Wait 5 seconds

		trigger pretendaxisdoor1_1 close	// Close
		trigger pretendaxisdoor1_2 close
		trigger pretendaxisdoor1_3 close
		trigger pretendaxisdoor1_4 close
		trigger pretendaxisdoor1_5 close
		wait 1000			// Let script_movers finish
		
		accum 1 set 0 			// routine is finished
		setstate realaxisdoor default	// Show teamdoor+trigger
		alertentity realaxisdoor	// Close door
	}
}

pretendaxisdoor1_1
{
	trigger open		// Move right
	{
		gotomarker pretendaxisdoor1_1pc2 200
		playsound sound/movers/switches/butn2.wav
	}
	trigger close		// Move left
	{
		gotomarker pretendaxisdoor1_1pc1 200
		playsound sound/movers/switches/switch.wav
	}
}
pretendaxisdoor1_2
{
	trigger open		// Move left
	{
		gotomarker pretendaxisdoor1_2pc1 200
		playsound sound/movers/switches/butn2.wav
	}
	trigger close		// Move right
	{
		gotomarker pretendaxisdoor1_2pc2 200
		playsound sound/movers/switches/switch.wav
	}
}
pretendaxisdoor1_3
{
	trigger open		// Move right
	{
		gotomarker pretendaxisdoor1_3pc2 200
		playsound sound/movers/switches/butn2.wav
	}
	trigger close		// Move left
	{
		gotomarker pretendaxisdoor1_3pc1 200
		playsound sound/movers/switches/switch.wav
	}
}
pretendaxisdoor1_4
{
	trigger open		// Move left
	{
		gotomarker pretendaxisdoor1_4pc1 200
		playsound sound/movers/switches/butn2.wav
	}
	trigger close		// Move right
	{
		gotomarker pretendaxisdoor1_4pc2 200
		playsound sound/movers/switches/switch.wav
	}
}
pretendaxisdoor1_5
{
	trigger open		// Move right
	{
		gotomarker pretendaxisdoor1_5pc2 200
		playsound sound/movers/switches/butn2.wav
	}
	trigger close		// Move left
	{
		gotomarker pretendaxisdoor1_5pc1 200
		playsound sound/movers/switches/switch.wav
	}
}

Sock
:moo:


(BadIdea) #3

eee…hymm…
:eek:
You know - my english …
I can say only one:

THANK YOU !

This is exacly what I need.
:chef: