func_arena Monday, September 21, 2026
Building, modding and fragging like it's 1998

142778 visitors
YOUR #1 SOURCE FOR RETRO FPS DEVELOPMENT Y2K READY
  *** func_arena goes live, let the carnage begin!   ***   ET: Legacy 2.86.0 is out!   ***   Engine of the Week: qrustyquake by cyanbun96   ***   Server admins: read our migration guide before Friday   ***   Ironwail 0.8.2 is out!   ***  
NAVIGATION
Wiki » Reference » func_ entities » func_elevator
ARTICLE

func_elevator

This is an entity on id Tech 4 engines, present on DOOM 3, Quake 4 and Prey. Below you can find its spawnflags, keys and editor settings for each game that defines it.

DOOM 3

Elevators move to predefined floors and activate door teams based on floor number.

Use the default elevator gui to control them

Repeat floor1_ height and door info with floor2_ etc.. for as many floors as you want.

Keys

Key Type Default Description
move_speed var world units per second to move between floors, use this or move_time
move_time var time in seconds to move between floors
accel_time var time in seconds to accelerate
decel_time var time in seconds to decelerate
snd_accel snd sound/ed/elevator/elev_start.wav sound to play when elevator starts moving.
snd_move snd elevator_moving_loop sound to play when elevator is moving.
snd_decel snd sound/ed/elevator/elev_end.wav sound to play when elevator stops moving.
innerdoor var door name for interior doors, these will move automatically with the elevator.
floorPos_1 var origin of first floor
floorDoor_1 var door name for floor 1 exterior door
floor var floor number to start on 1 through.. number of floors
pauseOnFloor var floor to pause on before opening doors
pauseTime var time to pause if pauseOnFloor is defined
statusgui var entity name to update floor info, can use statusgui2..3..4..etc. for multiple updates. if appended with _num it will target an optional specific gui number on the entity this is handy for models with multiple guis.

Editor

Property Value
Type brush entity
Spawn class idElevator -> idMover -> idEntity -> idClass
Color 0 .5 .8

Script events

Event Declared by
activate idElevator
postArrival idElevator
gotoFloor idElevator
setGuiStates idElevator
stopMoving idMover
stopRotating idMover
speed idMover
time idMover
accelTime idMover
decelTime idMover
moveTo idMover
moveToPos idMover
move idMover
accelTo idMover
decelTo idMover
rotateDownTo idMover
rotateUpTo idMover
rotateTo idMover
rotate idMover
rotateOnce idMover
bob idMover
sway idMover
openPortal idMover
closePortal idMover
accelSound idMover
decelSound idMover
moveSound idMover
enableSplineAngles idMover
disableSplineAngles idMover
removeInitialSplineAngles idMover
startSpline idMover
stopSpline idMover
isMoving idMover
isRotating idMover
getName idEntity
setName idEntity
activateTargets idEntity
numTargets idEntity
getTarget idEntity
randomTarget idEntity
bindToJoint idEntity
removeBinds idEntity
bind idEntity
bindPosition idEntity
unbind idEntity
setOwner idEntity
setModel idEntity
setSkin idEntity
getShaderParm idEntity
setShaderParm idEntity
setShaderParms idEntity
setColor idEntity
getColor idEntity
isHidden idEntity
hide idEntity
show idEntity
cacheSoundShader idEntity
startSoundShader idEntity
startSound idEntity
stopSound idEntity
fadeSound idEntity
getWorldOrigin idEntity
setWorldOrigin idEntity
getOrigin idEntity
setOrigin idEntity
getAngles idEntity
setAngles idEntity
getLinearVelocity idEntity
setLinearVelocity idEntity
getAngularVelocity idEntity
setAngularVelocity idEntity
getSize idEntity
setSize idEntity
getMins idEntity
getMaxs idEntity
touches idEntity
setGuiParm idEntity
setGuiFloat idEntity
getNextKey idEntity
setKey idEntity
getKey idEntity
getIntKey idEntity
getFloatKey idEntity
getVectorKey idEntity
getEntityKey idEntity
restorePosition idEntity
distanceTo idEntity
distanceToPoint idEntity
startFx idEntity
waitFrame idEntity
wait idEntity
hasFunction idEntity
callFunction idEntity
setNeverDormant idEntity
setGui idEntity
precacheGui idEntity
getGuiParm idEntity
getGuiParmFloat idEntity
guiNamedEvent idEntity
remove idClass

Quake 4

Elevators move to predefined floors and activate door teams based on floor number.

Use the default elevator gui to control them

Repeat floor1_ height and door info with floor2_ etc.. for as many floors as you want.

Keys

Key Type Default Description
move_speed var world units per second to move between floors, use this or move_time
move_time var time in seconds to move between floors
accel_time var time in seconds to accelerate
decel_time var time in seconds to decelerate
snd_accel snd elevator_medium_start sound to play when elevator starts moving.
snd_move snd elevator_medium_move sound to play when elevator is moving.
snd_decel snd elevator_medium_decel sound to play when elevator stops moving.
snd_stopped snd elevator_medium_stop sound to play when elevator has stopped moving.
innerdoor var door name for interior doors, these will move automatically with the elevator.
floorPos_1 var origin of first floor
floorDoor_1 var door name for floor 1 exterior door
floor var floor number to start on 1 through.. number of floors
pauseOnFloor var floor to pause on before opening doors
pauseTime var time to pause if pauseOnFloor is defined
statusgui var entity name to update floor info, can use statusgui2..3..4..etc. for multiple updates. if appended with _num it will target an optional specific gui number on the entity this is handy for models with multiple guis.

Editor

Property Value
Type brush entity
Spawn class idElevator -> idMover -> idEntity -> idClass
Color 0 .5 .8

Script events

Event Declared by
activate idElevator
postArrival idElevator
gotoFloor idElevator
updateFloorInfo idElevator
stopMoving idMover
stopRotating idMover
speed idMover
time idMover
accelTime idMover
decelTime idMover
moveTo idMover
moveToPos idMover
move idMover
accelTo idMover
decelTo idMover
rotateDownTo idMover
rotateUpTo idMover
rotateTo idMover
rotate idMover
rotateOnce idMover
bob idMover
sway idMover
openPortal idMover
closePortal idMover
accelSound idMover
decelSound idMover
stoppedSound idMover
moveSound idMover
enableSplineAngles idMover
disableSplineAngles idMover
removeInitialSplineAngles idMover
startSpline idMover
stopSpline idMover
isMoving idMover
isRotating idMover
getSplineEntity idMover
moveAlongVector idMover
getName idEntity
setName idEntity
activateTargets idEntity
numTargets idEntity
getTarget idEntity
randomTarget idEntity
bindToJoint idEntity
removeBinds idEntity
bind idEntity
bindPosition idEntity
unbind idEntity
setOwner idEntity
setModel idEntity
setSkin idEntity
getShaderParm idEntity
setShaderParm idEntity
setShaderParms idEntity
setColor idEntity
getColor idEntity
isHidden idEntity
hide idEntity
show idEntity
cacheSoundShader idEntity
startSoundShader idEntity
startSound idEntity
stopSound idEntity
fadeSound idEntity
getWorldOrigin idEntity
setWorldOrigin idEntity
getOrigin idEntity
setOrigin idEntity
getAngles idEntity
setAngles idEntity
getLinearVelocity idEntity
setLinearVelocity idEntity
getAngularVelocity idEntity
setAngularVelocity idEntity
getSize idEntity
setSize idEntity
getMins idEntity
getMaxs idEntity
touches idEntity
setGuiParm idEntity
setGuiFloat idEntity
getNextKey idEntity
setKey idEntity
getKey idEntity
getIntKey idEntity
getFloatKey idEntity
getVectorKey idEntity
getEntityKey idEntity
restorePosition idEntity
distanceTo idEntity
distanceToPoint idEntity
startFx idEntity
waitFrame idEntity
wait idEntity
hasFunction idEntity
callFunction idEntity
setNeverDormant idEntity
clearSkin idEntity
setContents idEntity
getLastBlocker idEntity
playEffect idEntity
stopEffect idEntity
stopAllEffects idEntity
getHealth idEntity
hideSurface idEntity
showSurface idEntity
guiEvent idEntity
playbackCallback idEntity
getBindMaster idEntity
applyImpulse idEntity
removeNullTargets idEntity
isA idEntity
isSameTypeAs idEntity
matchPrefix idEntity
clearTargetList idEntity
appendTarget idEntity
removeTarget idEntity
setHealth idEntity
remove idClass

Prey

Elevators move to predefined floors and activate door teams based on floor number.

Use the default elevator gui to control them

Repeat floor1_ height and door info with floor2_ etc.. for as many floors as you want.

Keys

Key Type Default Description
move_speed var world units per second to move between floors, use this or move_time
move_time var time in seconds to move between floors
accel_time var time in seconds to accelerate
decel_time var time in seconds to decelerate
snd_accel snd sound to play when elevator starts moving.
snd_move snd sound to play when elevator is moving.
snd_decel snd sound to play when elevator stops moving.
innerdoor var door name for interior doors, these will move automatically with the elevator.
floorPos_1 var origin of first floor
floorDoor_1 var door name for floor 1 exterior door
floor var floor number to start on 1 through.. number of floors
pauseOnFloor var floor to pause on before opening doors
pauseTime var time to pause if pauseOnFloor is defined
statusgui var entity name to update floor info, can use statusgui2..3..4..etc. for multiple updates. if appended with _num it will target an optional specific gui number on the entity this is handy for models with multiple guis.

Editor

Property Value
Type brush entity
Spawn class idElevator -> idMover -> idEntity -> idClass
Color 0 .5 .8

Script events

Event Declared by
activate idElevator
postArrival idElevator
gotoFloor idElevator
stopMoving idMover
stopRotating idMover
speed idMover
time idMover
accelTime idMover
decelTime idMover
moveTo idMover
moveToPos idMover
move idMover
accelTo idMover
decelTo idMover
rotateDownTo idMover
rotateUpTo idMover
rotateTo idMover
rotateTo_world idMover
rotate idMover
rotateOnce idMover
bob idMover
sway idMover
openPortal idMover
closePortal idMover
accelSound idMover
decelSound idMover
moveSound idMover
enableSplineAngles idMover
disableSplineAngles idMover
removeInitialSplineAngles idMover
startSpline idMover
stopSpline idMover
isMoving idMover
isRotating idMover
moveToJoint idEntity
moveToJointWeighted idEntity
moveJointToJoint idEntity
moveJointToJointOffset idEntity
setSkin idEntity
spawnDebris idEntity
delayDamageEntity idEntity
dispose idEntity
setDeformation idEntity
setFloatKey idEntity
setVectorKey idEntity
setEntityKey idEntity
playerCanSee idEntity
setContents idEntity
setClipmask idEntity
setPortalCollision idEntity
killbox idEntity
getName idEntity
setName idEntity
findTargets idEntity
activateTargets idEntity
numTargets idEntity
getTarget idEntity
randomTarget idEntity
bindToJoint idEntity
removeBinds idEntity
bind idEntity
bindPosition idEntity
unbind idEntity
setOwner idEntity
setModel idEntity
getShaderParm idEntity
setShaderParm idEntity
setShaderParms idEntity
setColor idEntity
getColor idEntity
isHidden idEntity
hide idEntity
show idEntity
cacheSoundShader idEntity
startSoundShader idEntity
startSound idEntity
stopSound idEntity
fadeSound idEntity
getWorldOrigin idEntity
setWorldOrigin idEntity
getOrigin idEntity
setOrigin idEntity
getAngles idEntity
setAngles idEntity
getLinearVelocity idEntity
setLinearVelocity idEntity
getAngularVelocity idEntity
setAngularVelocity idEntity
getSize idEntity
setSize idEntity
getMins idEntity
getMaxs idEntity
touches idEntity
setGuiParm idEntity
setGuiFloat idEntity
getNextKey idEntity
setKey idEntity
getKey idEntity
getIntKey idEntity
getFloatKey idEntity
getVectorKey idEntity
getEntityKey idEntity
restorePosition idEntity
updateCameraTarget idEntity
distanceTo idEntity
distanceToPoint idEntity
startFx idEntity
waitFrame idEntity
wait idEntity
hasFunction idEntity
callFunction idEntity
setNeverDormant idEntity
playRumble idEntity
stopRumble idEntity
remove idClass

Last changed Sep 21, 2026
<< back to the wiki  ·  History
RELATED GAMES
DOOM 3
Quake 4
Prey
HOT FILES
No files yet.
all files >>
LATEST BLOGS
No blog posts yet.
all blogs >>
MEDIA FROM THE BLOGS
No blog post has a picture yet.
all blogs >>
LATEST DEVLOGS
No devlog entries yet.
all blogs >>
CHAT
IRC:
#func_arena @ irc.libera.chat

Discord:
Map-Center

41 fraggers right now. Be nice to others.
Powered by Debian Linux Now! Get Mozilla Now! Stop Microsoft! Dopefish Now! 1-Bit Icons by Nikoichu
home  ·  contact  ·  privacy policy  ·  forums  ·  submit content  ·  rss
func_arena is a member of the func_network. We are not responsible for user content, your ping, or your kill-to-death ratio.
Powered by fragnuke 0.7.2. Best viewed at 1024x768 in Mozilla. No frames, no Flash, no bs.