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 » DOOM 3 Script Events
ARTICLE

DOOM 3 Script Events

Name Description
_fxAction
_killfx
accelSound Sets the sound to be played when the mover accelerates.
accelTime Sets the acceleration time. Set this acceleration time before initiating a new move.
accelTo Initiates an acceleration to the given speed over the given time in seconds.
acos
activate Activates this entity as if it was activated by a trigger. Activator is the entity that caused the action (usually the player).
activateTargets Causes this entity to activate all it's targets. Similar to how a trigger activates entities. Activator is the entity that caused the action (usually the
addToClip
allowDamage
allowDrop
allowHiddenMovement normally, when hidden, monsters do not run physics. this enables physics when hidden.
allowMovement
ammoAvailable number of shots left in inventory
ammoInClip
angToForward Returns a forward vector for the given Euler angles.
angToRight Returns a right vector for the given Euler angles.
angToUp Returns an up vector for the given Euler angles.
animDistance Returns the distance that the anim travels. If the entity has multiple anims with animName, the distance may not match the anim that is played. Use chooseAnim
animDone Returns true if the animation playing on the given channel is completed considering a number of blend frames. NOTE: weapons only use ANIMCHANNEL_ALL
animLength Returns the length of the anim in seconds. If the entity has multiple anims with animName, length may not match the anim that is played. Use chooseAnim to get
animState Sets a new animation state script function for the given channel.
animTurn enable/disable animation controlled turning. pass in the maximum # of degrees the animation turns. use an amount of 0 to disable.
asin
assert Breaks if the condition is zero. (Only works in debug builds.)
attackBegin
attackEnd
attackMelee returns true if the attack hit
attackMissile returns projectile fired
autoReload
avoidObstacles
becomeNonSolid Makes the moveable non-solid for other entities.
becomeRagdoll enables the ragdoll if the entity has one
becomeSolid
bind binds a command to a key
bindPosition Fixes this entity's position (but not orientation) relative to another entity, such that when the master entity moves, so does this entity.
bindToJoint Fixes this entity's position and orientation relative to a bone on another entity, such that when the master's bone moves, so does this entity.
bob Initiates a translation back and forth along the given vector with the given speed and sphase.
burn
cacheSoundShader ensure the specified sound shader is loaded by the system. prevents cache hits when playing sound shaders.
callFunction calls a function on an entity's script object
canBecomeSolid
canHitEnemy
canHitEnemyFromAnim
canHitEnemyFromJoint
canReachEnemy returns true if character can walk to enemy's position. for walking monsters, enemy should be near the floor.
canReachEntity returns true if character can walk to entity's position. for walking monsters, entity should be near the floor.
canReachPosition returns true if character can walk to specified position. for walking monsters, position should be near the floor.
canSee
chargeAttack
checkAnim Ensures that the animation exists and causes an error if it doesn't.
chooseAnim Chooses a random anim and returns the name. Useful for doing move tests on anims.
clearAllJoints Removes any custom transforms on all joints.
clearBurn
clearEnemy
clearFlyOffset sets the prefered height relative to the player's view height to fly at to the value set in the def file
clearJoint Removes any custom transforms on the specified joint.
clearPersistantArgs clears data that persists between maps
clearSignal Disables the callback function on the specified signal.
clearSignalThread Clears the script callback function set for when the given signal is raised on the given entity.
clipSize
close Closes the door.
closePortal Closes the renderer portal associated with this mover.
closestEnemyToPoint Returns the enemy closest to the given location.
closestReachableEnemyOfEntity finds another character's closest reachable enemy
copySpawnArgs copies the spawn args from an entity
cos Returns the cosine of the given angle in degrees.
createMissile returns projectile created
createProjectile
CrossProduct Returns the cross product of the two vectors.
debugArrow
debugBounds
debugCircle
debugLine line drawing for debug visualization. lifetime of 0 == 1 frame.
decelSound Sets the sound to be played when the mover decelerates.
decelTime Sets the deceleration time. Set this deceleration time before initiating a new move.
decelTo Initiates a deceleration to the given speed over the given time in seconds.
directDamage
disable Disables the door.
disableAFPush
disableClip
disableEyeFocus Disables eye focus.
disableGravity
DisableLegIK
disablePain Disables pain animations.
disableSplineAngles Disables aligning the mover with the spline direction.
DisableWalkIK
disableWeapon Lowers and disables the player weapon.
distanceTo Returns the distance of this entity to another entity.
distanceToPoint Returns the distance of this entity to a point.
DotProduct Returns the dot product of the two vectors.
drawText text drawing for debugging. align can be 0-left, 1-center, 2-right. lifetime of 0 == 1 frame.
dropflag
ejectBrass
enable Enables the door.
enableAFPush
enableAnim Enables animation on the given channel.
enableClip
enableDamage enable/disable damage
enableEyeFocus Enables eye focus.
enableGravity
EnableLegIK
enablePain Enables pain animations.
enableSplineAngles Enables aligning the mover with the spline direction.
EnableWalkIK
enableWeapon Enables the player weapon.
enemyInCombatCone
enemyPositionValid
enemyRange
enemyRange2D
entityInAttackCone
error causes an error
exitTeleporter
faceEnemy
faceEntity
facingIdeal
fadeIn Fades towards the given color over the given time in seconds.
fadeInLight Turns the light on over the given time in seconds.
fadeOut Fades from the given color over the given time in seconds.
fadeOutLight Turns the light out over the given time in seconds.
fadeSound Fades the sound on this entity to a new level over a period of time. Use SND_CHANNEL_ANY for all currently playing sounds.
fadeTo Fades to the given color up to the given alpha over the given time in seconds.
findActorsInBounds returns an entity within the bounds specified
findEnemy finds enemy player in PVS
findEnemyAI finds enemy monster in PVS
findEnemyInCombatNodes finds enemy player in attack cones
finishAction Finishes the given wait action.
fireMissileAtTarget launches a missile at entity specified by 'attack_target'. returns projectile fired
firstPerson Returns view control to the player entity.
flagcapture
flagreturn
flashlight toggle actor's flashlight
footstep
getAngles Returns the current orientation of this entity (relative to bind parent if any).
getAngularVelocity Gets the current angular velocity of this entity. The angular velocity of a physics object is a vector that passes through the center of mass. The direction of
getAnimationLength
getAnimState Returns the name of the current animation state script function used for the given channel.
getBlendFrames Returns the number of frames to blend between animations on the given channel. NOTE: weapons only use ANIMCHANNEL_ALL
getButtons Returns the button state from the current user command.
getClosestHiddenTarget Finds the closest targeted entity of the specified type.
getColor Gets the color of this entity (shader parms Parm0, Parm1, Parm2).
getCombatNode
getCurrentWeapon Returns "weaponX" where X is the number of the weapon the player is currently holding.
getCurrentYaw
getcvar Returns the string for a cvar.
getDamageGroupScale
getEmitter
getEnemy
getEnemyEyePos
getEnemyPos
getEntity Returns a reference to the entity with the specified name.
getEntityKey Retrieves the entity specified by the spawn arg.
getFloatKey Retrieves the floating point value of a specific spawn arg.
getFrameTime returns the length of time between game frames. this is not related to renderer frame rate.
getGuiParm
getGuiParmFloat
getHead returns the entity used for the character's head, if it has one.
getHealth
getIdealWeapon
getIntKey Retrieves the integer value of a specific spawn arg.
getJointAngle returns the angular orientation of the joint in world space
getJointHandle Looks up the number of the specified joint. Returns INVALID_JOINT if the joint is not found.
getJointPos returns the position of the joint in world space
getJumpVelocity
getKey Retrieves the value of a specific spawn arg.
getLightParm Gets a shader parameter.
getLinearVelocity Gets the current linear velocity of this entity. The linear velocity of a physics object is a vector that defines the translation of the center of mass in
getMaxs Gets the maximum corner of this entity's bounding box.
getMins Gets the minimum corner of this entity's bounding box.
getMove Returns the movement relative to the player's view angles from the current user command. vector_x = forward, vector_y = right, vector_z = up
getMoveType returns the current movetype
getName Returns the name of this entity.
getNextKey searches for the name of a spawn arg that matches the prefix. for example, passing in "attack_target" matches "attack_target1", "attack_targetx",
getObstacle gets the obstacle in the character's path
getOrigin Returns the current position of this entity (relative to bind parent if any).
getOwner
getPainAnim Returns the name of the pain animation.
getPersistantFloat Returns the floating point value for the given persistant arg
getPersistantString Returns the string for the given persistant arg
getPersistantVector Returns the vector for the given persistant arg
getPreviousWeapon Returns "weaponX" where X is the number of the weapon the player was previously holding.
getProjectileState gets the current state of the projectile. states are defined in doom_defs.script
getRandomTarget Finds a random targeted entity of the specified type.
getReachableEntityPosition returns the position of the entity within the aas if possible, otherwise just the entity position.
getShaderParm Gets the value of the specified shader parm.
getSize Gets the size of this entity's bounding box.
getState
getTalkTarget returns the entity (player) trying to talk to the character
getTarget Returns the requested target entity.
getTicsPerSecond returns the number of game frames per second. this is not related to renderer frame rate.
getTime Returns the current game time in seconds.
getTraceBody Returns the number of the body part of the entity which was hit during the last call to trace or tracePoint
getTraceEndPos Returns the position the trace stopped due to a collision with solid geometry during the last call to trace or tracePoint
getTraceEntity Returns a reference to the entity which was hit during the last call to trace or tracePoint
getTraceFraction Returns the fraction of movement completed during the last call to trace or tracePoint.
getTraceJoint Returns the number of the skeletal joint closest to the location on the entity which was hit during the last call to trace or tracePoint
getTraceNormal Returns the normal of the hit plane during the last call to trace or tracePoint
getTurnDelta
getTurnRate gets the rate the character turns
getVectorKey Retrieves the vector value of a specific spawn arg.
getViewAngles Returns the player view angles.
getWaitState
getWeaponEntity Returns the entity for the player's weapon
getWorldModel Returns the entity that controls the world model
getWorldOrigin Returns the current worldspace position of this entity (regardless of any bind parent).
gib
giveInventoryItem
gotoFloor
grabber
grabberGrabDistance
grabberHasTarget
guiNamedEvent
hasAnim Returns true when an entity has a specific animation.
hasEnemies Returns true if the actor has one or more enemies.
hasFunction checks if an entity's script object has a specific function
heardSound
hide Makes this entity invisible.
hideTip
idleAnim Plays the given idle animation on the given channel. Returns false if anim doesn't exist.
ignoreDamage
inAnimState Returns true if the given animation state script function is currently used for the given channel.
influenceActive checks if an influence is active
inPDA Returns true if the player has the PDA open.
isAtRest returns true if object is not moving
isClient networking - checks for client
isHidden checks if the entity's model is invisible.
isInvisible
isLocked Returns true if the door is locked.
isMoving Returns true if a mover is moving
isMultiplayer checks if it's a multiplayer game
isOpen Returns true if the door is open.
isPowerupActive
isRotating Returns true if a mover is rotating
kickObstacles kicks any obstacle in the character's path. pass in $null_entity if you don't have a specific entity to kick.
kill kills the player
killthread Kills all threads with the specified name
launchMissile returns the projectile entity
launchMissiles Launches a projectile.
launchPowerup
launchProjectile
launchProjectiles
launchProjectilesEllipse
leftFoot Changes to left foot and plays footstep sound.
levelTrigger
locateEnemy Updates the last known position of the enemy independent from whether or not the enemy is visible.
lock Locks or unlocks the door.
lookAt Aims the character's eyes and head toward an entity for a period of time.
lookAtEnemy Aims the character's eyes and head toward the current enemy for a period of time.
markUsed Disables the combat node if "use_once" is set on the entity.
melee
meleeAttackToJoint
motionBlurOff
motionBlurOn
move Initiates a translation with the given distance in the given yaw direction. Uses the current speed/time and acceleration and deceleration settings.
moveOutOfRange
moveSound Sets the sound to be played when the moving.
moveStatus
moveTo Initiates a translation to the position of an entity. Uses the current speed/time and acceleration and deceleration settings.
moveToAttackPosition
moveToCover
moveToEnemy
moveToEnemyHeight
moveToEntity
moveToPos Initiates a translation to an absolute position. Uses the current speed/time and acceleration and deceleration settings.
moveToPosition
moveToPositionDirect
music Starts playing background music.
muzzleFlash
netEndReload
netReload
nextEnemy Returns the next enemy the actor has acquired.
nextWeapon
numSmokeEmitters returns the # of emitters defined by 'smokeParticleSystem' in the entitydef
numTargets Returns the number of entities this entity has targeted.
Off Turns the light off.
On Turns the light on.
onSignal Sets a script callback function for when the given signal is raised on the given entity.
open Opens the door.
openPDA Opens the player's PDA.
openPortal Opens the renderer portal associated with this mover.
overrideAnim Disables the animation currently playing on the given channel and syncs the animation with the animation of the nearest animating channel.
pause Pauses the current thread.
playAnim Plays the given animation on the given channel. Returns false if anim doesn't exist. NOTE: weapons only use ANIMCHANNEL_ALL
playCycle Continuously repeats the given animation on the given channel. Returns false if anim doesn't exist. NOTE: weapons only use ANIMCHANNEL_ALL
postArrival
preBurn
precacheGui
predictEnemyPos Tries to predict the player's movement based on the AAS and his direction of movement.
preventPain Prevents any pain animation from being played for the given time in seconds.
print Prints the given string to the console.
println Prints the given line to the console.
projectileCreateProjectile
projectileLaunchProjectile
pushPointIntoAAS tries to push the point into a valid AAS area
radiusDamage damages entities within a radius defined by the damageDef. inflictor is the entity causing the damage and can be the same as the attacker (in the case of
radiusDamageFromJoint
random Returns a random value X where 0 <= X < range.
randomInt
randomPath chooses a random path from the entity's targets, ignoring non-path entities.
randomTarget Returns a random targeted entity. Pass in an entity name to skip that entity.
remove removes an entity
removeBinds Removes all attached entities from the game.
removeInitialSplineAngles Subtracts the initial spline angles to maintain the initial orientation of the mover.
removeInventoryItem
respawn Respawn
restoreMove
restorePosition Returns this entity to the position stored in the "origin" spawn arg. This is the position the entity was spawned in unless the "origin" key is changed. Note
rightFoot Changes to right foot and plays footstep sound.
rotate Initiates a rotation with the given angular speed. Uses the current speed/time and acceleration and deceleration settings.
rotateDownTo Initiates a rotation about the given axis by decreasing the current angle towards the given angle. Uses the current speed/time and acceleration and
rotateOnce Initiates a rotation towards the current angles plus the given Euler angles. Uses the current speed/time and acceleration and deceleration settings.
rotateTo Initiates a rotation towards the given Euler angles. Uses the current speed/time and acceleration and deceleration settings.
rotateUpTo Initiates a rotation about the given axis by increasing the current angle towards the given angle. Uses the current speed/time and acceleration and
rotateVector
saveMove
say text chat
selectWeapon Selects the weapon the player is holding.
setAngles Sets the current orientation of this entity (relative to bind parent if any).
setAngularVelocity Sets the current angular velocity of this entity. The angular velocity of a physics object is a vector that passes through the center of mass. The direction of
setAnimation
setAnimPrefix Sets a string which is placed in front of any animation names.
setBlendFrames Sets the number of frames to blend between animations on the given channel. NOTE: weapons only use ANIMCHANNEL_ALL
setBloomParms
setBoneMod Enables or disables head looking (may be obsolete).
setCamera Turns over view control to the given camera entity.
setColor Sets the RGB color of this entity (shader parms Parm0, Parm1, Parm2).
SetConstraintPosition Moves the constraint with the given name that binds this entity to another entity.
setcvar Sets a cvar.
setDamageCap
setDamageGroupScale
setDamageGroupScaleAll
setEnemy
setFingerAngle
setFlyOffset sets the prefered height relative to the player's view height to fly at
setFlySpeed set the speed flying creatures move at. also sets speed for moveTypeSlide.
setGravity
setGui
setGuiFloat Sets a parameter on this entity's GUI.
setGuiParm Sets a parameter on this entity's GUI.
setGuiStates
setHealth
setJointAngle Modifies the orientation of the joint based on the transform type.
setJointPos Modifies the position of the joint based on the transform type.
setKey Sets a key on this entity's spawn args. Note that most spawn args are evaluated when this entity spawns in, so this will not change the entity's behavior in
setLightParm Sets a shader parameter.
setLightParms Sets the red/green/blue/alpha shader parms on the light and the model.
setLinearVelocity Sets the current linear velocity of this entity in units per second. The linear velocity of a physics object is a vector that defines the translation of the
setModel Sets the model this entity uses.
setMoveType set the current movetype. movetypes are defined in ai_base.script
setName Sets the name of this entity.
setNeverDormant enables or prevents an entity from going dormant
setNextState sets the next state and waits until thread exits, or a frame delay before calling it. handy for setting the state in the constructor.
setOrigin Sets the current position of this entity (relative to it's bind parent if any).
setOwner Sets the owner of this entity. Entity's will never collide with their owner.
setPersistantArg Sets a key/value pair that persists between maps
setPowerupTime
setRadius Sets the size of the bounding box.
setRadiusXYZ Sets the width/length/height of the light bounding box.
setShader Sets the shader to be used for the light.
setShaderParm Sets the value of the specified shader parm.
setShaderParms Sets shader parms Parm0, Parm1, Parm2, and Parm3 (red, green, blue, and alpha respectively).
setSize Sets the size of this entity's bounding box.
setSkin Sets the skin this entity uses. Set to "" to turn off the skin.
setSmokeVisibility enables/disables smoke particles on bones. pass in the particle #, or ALL_PARTICLES for turning on/off all particle systems. particles are spawned in the order
setSpawnArg Sets a key/value pair to be used when a new entity is spawned.
setState sets the next state and goes to it immediately
setSteeringSpeed
setSyncedAnimWeight sets the blend amount on multi-point anims.
setTalkState Sets whether the player can talk to this character or not.
setTalkTarget sets the entity (player) trying to talk to the character
setTorque
setTurnRate set the rate the character turns at
setVelocity
setWaitState
setWaypoint
setWorldOrigin Sets the current position of this entity (regardless of any bind parent).
show Makes this entity visible if it has a model.
shrivel
sin Returns the sine of the given angle in degrees.
slideTo
spawn spawns a game entity
SpawnFloat Returns the floating point value for the given spawn argument.
SpawnString Returns the string for the given spawn argument.
SpawnVector Returns the vector for the given spawn argument.
spectatorTouch
speed Sets the movement speed. Set this speed before initiating a new move.
sqrt Returns the square root of the given number.
start Starts a spline or anim camera moving.
startEmitter
startFx Starts an FX on this entity.
startRagdoll Switches to a ragdoll taking over the animation.
startSound Plays the sound specified by the snd_* key/value pair on the channel and returns the length of the sound. This is the preferred method for playing sounds on an
startSoundShader Plays a specific sound shader on the channel and returns the length of the sound in seconds. This is not the prefered method of playing a sound since you must
startSpline Starts moving along a spline stored on the given entity.
startWarp
startWeaponLight
startWeaponParticle
startWeaponSmoke
stop Stops a spline or anim camera moving.
stopAnim Stops the animation currently playing on the given channel over the given number of frames.
stopAudioLog
stopEmitter
stopFingers
stopFxFov
stopHelltime
stopMove
stopMoving Stops any translational movement.
stopRagdoll turns off the ragdoll
stopRotating Stops any rotational movement.
stopSound Stops a specific sound shader on the channel.
stopSpline Stops moving along a spline.
stopThinking
stopWeaponLight
stopWeaponParticle
stopWeaponSmoke
strLeft Returns a string composed of the first num characters
strLength Returns the number of characters in the string
strMid Returns a string composed of the characters from start to start + num
strRight Returns a string composed of the last num characters
strSkip Returns the string following the first num characters
strToFloat Returns the numeric value of a string
sway Initiates a rotation back and forth along the given angles with the given speed and phase.
takeflag
terminate Terminates a thread.
testAnimAttack
testAnimMove
testAnimMoveTowardEnemy
testChargeAttack
testMeleeAttack
testMoveToPosition
threadname Sets the name of the current thread.
throwAF
throwMoveable
time Sets the movement time. Set this time before initiating a new move.
toggle toggles a cvar
toggleBloom
totalAmmoCount amount of ammo in inventory. since each shot may use more than 1 ammo, this is different than ammoAvailable()
touches Returns true if this entity touches the other entity.
trace Returns the fraction of movement completed before the box from 'mins' to 'maxs' hits solid geometry when moving from 'start' to 'end'. The 'passEntity' is
tracePoint Returns the fraction of movement completed before the trace hits solid geometry when moving from 'start' to 'end'. The 'passEntity' is considered non-solid
travelDistanceBetweenEntities Approximate travel distance between two entities.
travelDistanceBetweenPoints Approximate travel distance between two points.
travelDistanceToEntity Approximate travel distance to entity.
travelDistanceToPoint Approximate travel distance to point.
trigger triggers an entity
triggerFX
triggerParticles
turnTo
turnToEntity
turnToPos
unbind unbinds any command from a key
useAmmo eats the specified amount of ammo
vagary_ChooseObjectToThrow finds a moveable object to throw at the enemy
vagary_ThrowObjectAtEnemy throws object at enemy
vecLength Returns the length of the given vector.
vecNormalize Returns the normalized version of the given vector.
VecToAngles Returns Euler angles for the given direction.
VecToOrthoBasisAngles
wait delays remaining buffered commands one or more frames
waitAction
waitFor Waits for the given entity to complete it's move.
waitForThread Waits for the given thread to terminate.
waitFrame Suspends execution of current thread for one game frame.
waitMove
wakeOnFlashlight Tells the monster to activate when flashlight shines on them.
wander
warning Issues a warning.
weaponAvailable
weaponHolstered
weaponLowering
weaponOutOfAmmo
weaponReady
weaponReloading
weaponRising
weaponState

Last changed Sep 21, 2026
<< back to the wiki  ·  History
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.