API Reference


cooldown(deltaSeconds)

Sets a cooldown time for re-delivery of the current message type.

This means that further deliveries of the same message type will be ignored for the given amount of time.

This is useful if a message triggers some game effect that shouldn't happen all the time and you want to wait a few seconds before it can be triggered again.

For example, a floor tile might trigger a trap where a rotten egg shoots from the wall (how do we even come up with these examples?), but you don't want that trap to trigger more than once every 5 seconds.

It's a good practice to set a cooldown of a few seconds on anything that can be triggered repeatedly in a short period of time, like collisions, etc, especially when the event involves doing something costly like cloning an actor.

Parameters:
Name Type Description
deltaSeconds number The number of seconds during which re-delivery of the current message type will be blocked.
Example
export PROPS = [
  propActor("egg")
]

export function onCollision() {
  // Shoot a rotten egg.
  clone(props.egg, getPointBehind(2));
  // Disable onCollision messages for 30 seconds. Otherwise if the player
  // hits the treasure chest 30 times, we'd have 30 dragons.
  cooldown(30);
}

< All Functions
Transform
Position Get
getPosXgetPosYgetPosZgetPosgetDistanceTogetDistanceBetweengetLocalPosgetSpawnPosselfToWorldPosworldToSelfPosselfToWorldDirworldToSelfDir
Position Set
moveForwardmoveBackwardmoveLeftmoveRightmoveUpmoveDownmovemoveGlobalmoveTowardsetPosXsetPosYsetPosZsetPosXYZsetPossetSpawnPossetLocalPos
Rotation Get
getPointAheadgetPointBehindgetPointAbovegetPointBelowgetPointToRightOfgetPointToLeftOfgetYawgetPitchgetRollgetRotgetLocalRotgetSpawnRotgetForwardgetBackwardgetUpgetDowngetRightgetLeft
Rotation Set
setYawsetPitchsetRollsetYawPitchRollturnspinrotateapplyQuaternionapplyQuaternionSelfsetRotresetRotsetSpawnRotresetSpawnRotsetLocalRotresetLocalRotlookAtlookDirlookTowardlookTowardDir
Scale
getScaleUniformsetScaleUniformgetScalesetScalegrowshrink
Actors
Actors
ActorRefActorRefmyselfdestroySelfexistsgetActorsgetPlayerActorsgetActorsWithTaggetActorWithTaghasTaggetGameRulesActorisOnstageisOffstagegoOffstagegoOnstageisActorInGroupgetActorsInGroupgetActorGroupDescriptiongetClosestActorgetCardTargetActorgetCardTargetActorDescription
Attributes
getDisplayNamesetDisplayNamegetCommentTextsetCommentTextsetVardeleteVargetVargetAllVars
Cloning
getCloneParentisCloneclone
Properties
propspropNumberpropDecimalpropBooleanpropStringpropActorpropActorGrouppropImagepropSoundpropParticleEffectpropDeckpropColorpropEnumpropCardTargetActorpropNumberArraypropStringArraypropEnumArraypropActorArrayrequireTruerequireFalserequireEqualrequireNotEqualPropOptionsPropDeckOptionsPropDefRequirement
Memory
memcardtempdeclareMemoryUnchangedsaveRotloadRotsaveVecloadVec
Messages
cooldownsendsendDelayedsendToManysendToManyDelayedsendToSelfsendToSelfDelayedsendToAllbroadcastsendToAllDelayedgetMessageSendercallDeckcallActionDeckcallEventDeckdeactivateActionDeck
Player
Camera/Lights
CameraSettingssetCameraSettingssetLightclearLightrequestCameraOffsetgetLocalCameraPosgetLocalCameraRotgetLocalCameraForward
Hierarchy
Parenting
attachToParentdetachFromParentisAttachedgetParent
Rendering
Visibility
isVisibleshowhide
Body
getBodyPossetBodyPosgetBodyRotsetBodyRotgetBoundsSizegetBoundsRadiusOutergetBoundsRadiusInnergetBoundsRadiusAveragegetBoundsCenter
Color
setTintsetTintColorsetTintHexgetTintgetTintColorgetTintHex
Scene
SkyTypeSceneLightingModesetSkyTypegetSkyTypesetSkyColorgetSkyColorsetSceneLightinggetSceneLighting
Physics
Presets
PhysicsPresetsetPhysicsPresetgetPhysicsPreset
Attributes
setSolidisSolidsetKinematicisKinematicenableGravityisGravityEnabledenableKeepUprightisKeepUprightEnabledsetBouncinesssetMasssetDragsetAngularDrag
Velocity
getVelocityaddVelocityaddTorquepush
Casting
raycastraycastTerraincastAdvancedCastHitoverlapSpherecheckBoxCastMode
Collisions
onCollisiononTerrainCollision
Player Controls (high level input)
Actions
onJumponPrimaryActiononSecondaryAction
Controls
isGroundedisSprintinggetWorldThrottlegetThrottlegetRawThrottlegetLookAxessetCameraActorgetCameraActorresetCameraActorisPlayerControllablesetIsPlayerControllablesetControllingPlayergetControllingPlayer
Aiming
getAimTargetgetAimOrigingetAimDirectiongetLastAimHitPoint
Low Level Input
Keyboard
keyIsPressedkeyJustPressedkeyJustReleasedonKeyDownonKeyHeldonKeyUpKeyMessageKeyCode
Mouse
hasPlayerInputgetMouseXgetMouseYmouseIsPressedmousePressedmouseJustPressedmouseJustReleasedgetMouseRayOrigingetMouseRayDirgetMouseWheelgetActorUnderMousegetActorsUnderMousegetTerrainPointUnderMouseonMouseDownonMouseUponMouseHeldonActorClicked
Multiplayer
Players
isInMultiplayerModegetAllPlayersgetLocalPlayergetPlayerByNumbergetPlayerNickNamegetPlayerNumberplayerExistsisMasterPlayerisClaimedgetPlayerControlledActor
Events
onPlayerJoinedonPlayerLeftPlayerJoinedMessagePlayerLeftMessage
User Interface
Tooltips
Widgets
uiTextuiRectuiCircleuiTriangleuiLineuiButtonuiSpriteuiImageuiImageSliceuiGetTextWidthuiGetTextHeightuiGetScreenWidthuiGetScreenHeightuiGetScreenInfoUiColorShapeStyleRectStyleUiShapeOptionsUiImageOptionsUiButtonOptionsUiTextOptionsUiScreenInfo
Screen
getScreenPointgetScreenSpheregetScreenRect
Terrain
Blocks
BlockShapeBlockDirBlockStylesetBlocksetBlockAtPointgetBlockgetBlockAtPointclearBlockclearBlockAtPointgetBlockCoordsAtPointgetBlockCentergetBlockSize
Walls
Sound
SFX
playSoundtryPlaySoundSounds
Particle Effects
ParticleEffects
spawnParticleEffecttrySpawnParticleEffectParticles
Polite Requests
Requests
setPosPleasesetYawPleasesetPitchPleasesetRollPleasesetYawPitchRollPleaseturnPleaseapplyQuaternionPleaseapplyQuaternionSelfPleasesetRotPleaseresetRotPleaselookAtPleaselookDirPleasesetScaleUniformPleasesetScalePleaseattachToParentPleasedetachFromParentPleasesetVarPleasedeleteVarPleasesetDisplayNamePleasesetCommentTextPleasesetSolidPleasesetKinematicPleaseenableGravityPleaseenableKeepUprightPleasesetBouncinessPleasesetMassPleasesetDragPleasesetAngularDragPleasesetPhysicsPresetPleaseaddVelocityPleasesetCameraActorPleasesetIsPlayerControllablePleasesetControllingPlayerPleasesetBodyPosPleasesetBodyRotPleasesetTintColorPleasesetTintHexPleaseshowPleasehidePleasedestroySelfPlease
Misc
Time
deltaTimegetTimegetTimeSinceResetonTickonLocalTickonOffstageTick
Math
vec3degToRadradToDegrevToRadinterpvec3zerovec3onevec3xvec3yvec3zvec3addvec3addXvec3addYvec3addZvec3withXvec3withYvec3withZvec3subvec3scalevec3addScaledvec3negvec3lengthSqvec3lengthvec3normalizedvec3withLengthvec3toStringvec3equalvec3dotquatIdentquatAxisAnglequatApply
Colors
colorFromHexcolorToHex
Game
onResetGameonInitonSpawnAsCloneresetGame
Util
toFixedLengthdeepCopyloglogError
(Advanced) Cards
Cards
getCardStatusRuntimeCardStatusgetCardErrorMessageonCardRemoved
Reference
GActionCardGActionMessageGEventGEventCard