I would like to make a plane that flies around the map. It moves around nicely, takeoff etc. But the plane doesn’t turn, it always looks in the same direction, so sometimes it is flying normal, sometimes sideways and backwards. How could i fix this problem? And it would be great if without scripting :D.
Thanks
Turning func_train
just put a faceangles command in your script
faceangles #1 #2 #3 #4
#1 is the rotation on x axis
#2 is the rotation on y axis
#3 is the rotation on z axis
#4 is the rotation speed
If you don’t want to script you could use a flying saucer which looks equal from all sides.
yeah, i know the flying saucer idea myself, but there isn’t a way to rotate without scripting then?
Doesn’t the tank do this automatically? :S
I copied the tank from grush in my map once, made my own spline, edited the script, (it had no faceangles anywhere) and it turned perfectly? even up/down on slopes…
Are you using path_corners or splinepoints? (info_train_spline_main and info_train_spline_control to create curvy bends)
Afaik if you use splinepoints it turns automatically…
^^ indeed Flippy…
If You would use the script-command followspline, You could also roll the plane easily when it is making a turn…
Have a look at how the tank moves in goldrush… it’s very easy once you get the hang of it… especially if it’s one constant movement, without any interaction with players… (which makes the goldrush tank script complicated…)
All you really need is one scriptblock where it generally does:
trigger moveplane
{
followspline 1 blabla (don't know exactly, look at grush script)
followspline 2 blabla
followspline x blabla...
trigger self moveplane //loop the movement
}
I think that would work (with the right script syntax everywhere ofcourse
)
I made a little prefab you can use.
It features a plane (read: something that vaguely resembles a plane) just flying in circles and banking in the turns…
MAP file: (copy/paste into new notepad file and save it as “plane.map” (WITH the " symbols)
// entity 0
{
"mapcoordsmaxs" "3584 -3072"
"mapcoordsmins" "-1792 2304"
"classname" "worldspawn"
// brush 0
{
( 3328 2048 -704 ) ( -1024 2048 -704 ) ( -1024 -2816 -704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -768 -3072 256 ) ( 3584 -3072 256 ) ( 3584 -3072 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3584 -3072 256 ) ( 3584 1792 256 ) ( 3584 1792 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3072 2304 256 ) ( -1280 2304 256 ) ( -1280 2304 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 2304 256 ) ( -1792 -2560 256 ) ( -1792 -2560 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1024 2048 -696 ) ( 3328 2048 -696 ) ( -1024 -2816 -696 ) temperate_sd/grass_dense1 0 0 0 0.500000 0.500000 0 0 0
}
// brush 1
{
( -1024 -2816 448 ) ( -1024 2048 448 ) ( 3328 2048 448 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -768 -3072 256 ) ( 3584 -3072 256 ) ( 3584 -3072 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3584 -3072 256 ) ( 3584 1792 256 ) ( 3584 1792 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3072 2304 256 ) ( -1280 2304 256 ) ( -1280 2304 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 2304 256 ) ( -1792 -2560 256 ) ( -1792 -2560 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1024 2048 440 ) ( -1024 -2816 440 ) ( 3328 2048 440 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
}
// brush 2
{
( 3328 2048 -704 ) ( -1024 2048 -704 ) ( -1024 -2816 -704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1024 -2816 448 ) ( -1024 2048 448 ) ( 3328 2048 448 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -768 -3072 256 ) ( 3584 -3072 256 ) ( 3584 -3072 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3584 -3072 256 ) ( 3584 1792 256 ) ( 3584 1792 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 2304 256 ) ( -1792 -2560 256 ) ( -1792 -2560 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3584 -3064 256 ) ( -768 -3064 256 ) ( 3584 -3064 0 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
}
// brush 3
{
( 3328 2048 -704 ) ( -1024 2048 -704 ) ( -1024 -2816 -704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1024 -2816 448 ) ( -1024 2048 448 ) ( 3328 2048 448 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -768 -3072 256 ) ( 3584 -3072 256 ) ( 3584 -3072 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3584 -3072 256 ) ( 3584 1792 256 ) ( 3584 1792 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3072 2304 256 ) ( -1280 2304 256 ) ( -1280 2304 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3576 1792 256 ) ( 3576 -3072 256 ) ( 3576 1792 0 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
}
// brush 4
{
( 3328 2048 -704 ) ( -1024 2048 -704 ) ( -1024 -2816 -704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1024 -2816 448 ) ( -1024 2048 448 ) ( 3328 2048 448 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3584 -3072 256 ) ( 3584 1792 256 ) ( 3584 1792 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3072 2304 256 ) ( -1280 2304 256 ) ( -1280 2304 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 2304 256 ) ( -1792 -2560 256 ) ( -1792 -2560 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1280 2296 256 ) ( 3072 2296 256 ) ( -1280 2296 0 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
}
// brush 5
{
( 3328 2048 -704 ) ( -1024 2048 -704 ) ( -1024 -2816 -704 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1024 -2816 448 ) ( -1024 2048 448 ) ( 3328 2048 448 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -768 -3072 256 ) ( 3584 -3072 256 ) ( 3584 -3072 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( 3072 2304 256 ) ( -1280 2304 256 ) ( -1280 2304 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1792 2304 256 ) ( -1792 -2560 256 ) ( -1792 -2560 0 ) common/caulk 0 0 0 0.500000 0.500000 0 4 0
( -1784 -2560 256 ) ( -1784 2304 256 ) ( -1784 -2560 0 ) skies_sd/sd_siwasky 0 0 0 0.500000 0.500000 0 0 0
}
// brush 6
{
( 3616 -3072 -704 ) ( 3584 -3072 -704 ) ( 3584 -3096 -704 ) temperate_sd/grass_dense1 0 0 0 0.500000 0.500000 0 0 0
( 3584 -3096 -696 ) ( 3584 -3072 -696 ) ( 3616 -3072 -696 ) temperate_sd/grass_dense1 0 0 0 0.500000 0.500000 0 0 0
( 3584 -3096 -696 ) ( 3616 -3096 -696 ) ( 3616 -3096 -704 ) temperate_sd/grass_dense1 0 0 0 0.500000 0.500000 0 0 0
( 3616 -3096 -696 ) ( 3616 -3072 -696 ) ( 3616 -3072 -704 ) temperate_sd/grass_dense1 0 0 0 0.500000 0.500000 0 0 0
( 3616 -3072 -696 ) ( 3584 -3072 -696 ) ( 3584 -3072 -704 ) temperate_sd/grass_dense1 0 0 0 0.500000 0.500000 0 0 0
( 3584 -3072 -696 ) ( 3584 -3096 -696 ) ( 3584 -3096 -704 ) temperate_sd/grass_dense1 0 0 0 0.500000 0.500000 0 0 0
}
}
// entity 1
{
"targetname" "plane"
"scriptname" "plane"
"classname" "script_mover"
// brush 0
{
( 40 -1320 24 ) ( 40 -1304 24 ) ( 24 -1304 24 ) common/origin 0 0 -90 0.500000 0.500000 134217728 15 0
( 24 -1304 40 ) ( 40 -1304 40 ) ( 40 -1320 40 ) common/origin 0 0 -90 0.500000 0.500000 134217728 15 0
( 24 -1304 40 ) ( 24 -1320 40 ) ( 24 -1320 -16 ) common/origin 0 0 -180 0.500000 -0.500000 134217728 15 0
( 24 -1320 40 ) ( 40 -1320 40 ) ( 40 -1320 -16 ) common/origin 0 0 0 0.500000 0.500000 134217728 15 0
( 40 -1320 40 ) ( 40 -1304 40 ) ( 40 -1304 -16 ) common/origin 0 0 -180 0.500000 -0.500000 134217728 15 0
( 40 -1304 40 ) ( 24 -1304 40 ) ( 24 -1304 -16 ) common/origin 0 0 0 0.500000 0.500000 134217728 15 0
}
// brush 1
{
( -160 -1308 -32 ) ( -224 -1308 -32 ) ( -224 -1308 -40 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( -224 -1316 -32 ) ( -160 -1316 -32 ) ( -160 -1316 -40 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( -224 -1300 -32 ) ( -224 -1308 -32 ) ( -224 -1308 -40 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -160 -1308 0 ) ( -160 -1300 0 ) ( -224 -1300 0 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -224 -1308 56 ) ( -160 -1308 0 ) ( -224 -1316 56 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
}
// brush 2
{
( -224 -1432 -24 ) ( -216 -1432 -24 ) ( -216 -1432 -88 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( -160 -1344 -88 ) ( -216 -1432 -88 ) ( -216 -1432 -24 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -160 -1344 -88 ) ( -160 -1344 -24 ) ( -224 -1344 -24 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( -224 -1344 -88 ) ( -224 -1344 -24 ) ( -224 -1432 -24 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -160 -1344 -32 ) ( -160 -1432 -32 ) ( -224 -1432 -32 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -232 -1432 -40 ) ( -168 -1432 -40 ) ( -168 -1344 -40 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
}
// brush 3
{
( -168 -1280 -40 ) ( -168 -1192 -40 ) ( -232 -1192 -40 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -224 -1192 -32 ) ( -160 -1192 -32 ) ( -160 -1280 -32 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -224 -1192 -24 ) ( -224 -1280 -24 ) ( -224 -1280 -88 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -224 -1280 -24 ) ( -160 -1280 -24 ) ( -160 -1280 -88 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( -216 -1192 -24 ) ( -216 -1192 -88 ) ( -160 -1280 -88 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -216 -1192 -88 ) ( -216 -1192 -24 ) ( -224 -1192 -24 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
}
// brush 4
{
( -160 -1344 -40 ) ( -160 -1280 -40 ) ( -224 -1280 -40 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -224 -1280 -32 ) ( -160 -1280 -32 ) ( -160 -1344 -32 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -224 -1280 -32 ) ( -224 -1344 -32 ) ( -224 -1344 -40 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -224 -1344 -32 ) ( -160 -1344 -32 ) ( -160 -1344 -40 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( -160 -1344 -32 ) ( -160 -1280 -32 ) ( -160 -1280 -40 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -160 -1280 -32 ) ( -224 -1280 -32 ) ( -224 -1280 -40 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
}
// brush 5
{
( -224 -1280 -16 ) ( -224 -1344 -16 ) ( -160 -1344 -64 ) metal_misc/ametal_m02 0 64 -90 0.500000 0.500000 134217728 0 0
( -216 -1280 0 ) ( -152 -1280 0 ) ( -152 -1344 0 ) metal_misc/ametal_m02 0 64 -90 0.500000 0.500000 134217728 0 0
( -224 -1344 -16 ) ( -224 -1280 -16 ) ( -224 -1280 0 ) metal_misc/ametal_m02 0 0 -180 0.500000 -0.500000 134217728 0 0
( -224 -1344 -40 ) ( -160 -1344 -40 ) ( -160 -1344 -48 ) metal_misc/ametal_m02 -64 0 0 0.500000 0.500000 134217728 0 0
( -160 -1344 -40 ) ( -160 -1280 -40 ) ( -160 -1280 -48 ) metal_misc/ametal_m02 0 0 -180 0.500000 -0.500000 134217728 0 0
( -160 -1280 -40 ) ( -224 -1280 -40 ) ( -224 -1280 -48 ) metal_misc/ametal_m02 -64 0 0 0.500000 0.500000 134217728 0 0
}
// brush 6
{
( -32 -1600 0 ) ( -8 -1600 0 ) ( -8 -1600 -64 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( 96 -1344 -64 ) ( -8 -1600 -64 ) ( -8 -1600 0 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( 96 -1344 -64 ) ( 96 -1344 0 ) ( -32 -1344 0 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( -32 -1344 -64 ) ( -32 -1344 0 ) ( -32 -1600 0 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( 96 -1344 -40 ) ( 96 -1600 -40 ) ( -32 -1600 -40 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -32 -1600 -48 ) ( 96 -1600 -48 ) ( 96 -1344 -48 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
}
// brush 7
{
( 96 -1280 -48 ) ( 96 -1024 -48 ) ( -32 -1024 -48 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -32 -1024 -40 ) ( 96 -1024 -40 ) ( 96 -1280 -40 ) metal_misc/ametal_m01 0 64 -90 0.500000 0.500000 134217728 0 0
( -32 -1024 0 ) ( -32 -1280 0 ) ( -32 -1280 -64 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -32 -1280 0 ) ( 96 -1280 0 ) ( 96 -1280 -64 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
( -8 -1024 0 ) ( -8 -1024 -64 ) ( 96 -1280 -64 ) metal_misc/ametal_m01 0 0 -180 0.500000 -0.500000 134217728 0 0
( -8 -1024 -64 ) ( -8 -1024 0 ) ( -32 -1024 0 ) metal_misc/ametal_m01 -64 0 0 0.500000 0.500000 134217728 0 0
}
// brush 8
{
( -160 -1304 0 ) ( -160 -1368 0 ) ( -160 -1368 -8 ) metal_misc/ametal_m02 0 0 -180 0.500000 -0.500000 134217728 0 0
( -24 -1280 0 ) ( 224 -1280 0 ) ( 224 -1344 0 ) metal_misc/ametal_m02 0 64 -90 0.500000 0.500000 134217728 0 0
( 224 -1280 0 ) ( 160 -1280 0 ) ( 160 -1280 -64 ) metal_misc/ametal_m02 -64 0 0 0.500000 0.500000 134217728 0 0
( 224 -1336 -40 ) ( 224 -1272 -40 ) ( 224 -1280 -64 ) metal_misc/ametal_m02 0 0 -180 0.500000 -0.500000 134217728 0 0
( 160 -1344 0 ) ( 224 -1344 0 ) ( 224 -1344 -64 ) metal_misc/ametal_m02 -64 0 0 0.500000 0.500000 134217728 0 0
( 224 -1272 -40 ) ( 224 -1336 -40 ) ( 160 -1344 0 ) metal_misc/ametal_m02 0 64 -90 0.500000 0.500000 134217728 0 0
( 224 -1344 -64 ) ( 224 -1280 -64 ) ( 160 -1280 -64 ) metal_misc/ametal_m02 0 64 -90 0.500000 0.500000 134217728 0 0
}
}
// entity 2
{
"target" "spl2"
"targetname" "spl1"
"origin" "32 -1312 32"
"classname" "info_train_spline_main"
}
// entity 3
{
"control" "ctrl1"
"targetname" "spl2"
"target" "spl3"
"origin" "32 608 32"
"classname" "info_train_spline_main"
}
// entity 4
{
"target" "spl4"
"control" "ctrl2"
"targetname" "spl3"
"origin" "992 1568 32"
"classname" "info_train_spline_main"
}
// entity 5
{
"targetname" "ctrl1"
"origin" "32 1568 32"
"classname" "info_train_spline_control"
}
// entity 6
{
"targetname" "spl4"
"target" "spl5"
"origin" "1952 608 32"
"classname" "info_train_spline_main"
}
// entity 7
{
"targetname" "ctrl2"
"origin" "1952 1568 32"
"classname" "info_train_spline_control"
}
// entity 8
{
"control" "ctrl3"
"target" "spl6"
"targetname" "spl5"
"origin" "1952 -1312 32"
"classname" "info_train_spline_main"
}
// entity 9
{
"target" "spl1"
"targetname" "spl6"
"control" "ctrl4"
"origin" "992 -2272 32"
"classname" "info_train_spline_main"
}
// entity 10
{
"targetname" "ctrl3"
"origin" "1952 -2272 32"
"classname" "info_train_spline_control"
}
// entity 11
{
"classname" "info_train_spline_control"
"origin" "32 -2272 32"
"targetname" "ctrl4"
}
// entity 12
{
"spawnflags" "3"
"origin" "1024 -192 -664"
"classname" "team_CTF_bluespawn"
}
// entity 13
{
"classname" "team_CTF_bluespawn"
"origin" "1088 -192 -664"
"spawnflags" "3"
}
// entity 14
{
"spawnflags" "3"
"origin" "960 -192 -664"
"classname" "team_CTF_bluespawn"
}
// entity 15
{
"description" "Allied Spawn"
"spawnflags" "2"
"origin" "1024 -152 -648"
"classname" "team_WOLF_objective"
}
// entity 16
{
"spawnflags" "3"
"origin" "1024 -448 -664"
"classname" "team_CTF_redspawn"
}
// entity 17
{
"classname" "team_CTF_redspawn"
"origin" "960 -448 -664"
"spawnflags" "3"
}
// entity 18
{
"spawnflags" "3"
"origin" "1088 -448 -664"
"classname" "team_CTF_redspawn"
}
// entity 19
{
"description" "Axis Spawn"
"spawnflags" "1"
"origin" "1024 -488 -624"
"classname" "team_WOLF_objective"
}
// entity 20
{
"scriptname" "game_manager"
"origin" "1024 -320 -584"
"classname" "script_multiplayer"
}
// entity 21
{
"origin" "1024 -320 -664"
"classname" "info_player_deathmatch"
}
SCRIPT file (copy/paste into new notepad file and save as “plane.script” (WITH the " symbols))
game_manager
{
spawn
{
wait 300
// Map settings
setautospawn "Allied Spawn" 1
setautospawn "Axis Spawn" 0
}
}
plane
{
spawn
{
wait 300
trigger self move // Trigger plane to start moving
}
trigger move
{
// Move sequence of plane
followspline 0 spl1 500 wait length 375
followspline 0 spl2 500 wait length 375 roll 0 30 // roll 0 30 is to roll or bank the plane into the curve,
//you can delete this if you want.
followspline 0 spl3 500 wait length 375 roll 30 -30
followspline 0 spl4 500 wait length 375
followspline 0 spl5 500 wait length 375 roll 0 30
followspline 0 spl6 500 wait length 375 roll 30 -30
trigger self move // Re-trigger this scriptblock, loop
}
}
Put both files in etmain/maps and open the map file with GTK radiant (Not ET, you have to compile it yourself as it’s not a bsp file yet!)
thanks! i know that map file is txt etc. Been lurking about this forum for a long time, but registered here today 
Edit: Now i got to know what was the working skybox for siwa.
