Player Datablock¶
Member Function Documentation¶
-
void PlayerData::animationDone ( Player *obj* )
Called on the server when a scripted animation completes.
Parameters: obj – The Player object
- See also:
Player::setActionThread()
for setting a scripted animation and its ‘hold’ parameter to determine if this callback is used.
-
void PlayerData::doDismount ( Player *obj* )
Called when attempting to dismount the player from a vehicle.
It is up to the
doDismount()
method to actually perform the dismount. Often there are some conditions that prevent this, such as the vehicle moving too fast.Parameters: obj – The Player object
-
void
PlayerData
::
onEnterLiquid
(Player obj, float coverage, string type)¶ Called when the player enters a liquid.
Parameters: - obj – The Player object
- coverage – Percentage of the player’s bounding box covered by the liquid
- type – The type of liquid the player has entered
-
void
PlayerData
::
onEnterMissionArea
(Player obj)¶ Called when the player enters the mission area.
Parameters: obj – The Player object
- See also:
- MissionArea
-
void
PlayerData
::
onLeaveLiquid
(Player obj, string type)¶ Called when the player leaves a liquid.
Parameters: - obj – The Player object
- type – The type of liquid the player has left
-
void
PlayerData
::
onLeaveMissionArea
(Player obj)¶ Called when the player leaves the mission area.
:param obj The Player object
- See also:
- MissionArea
-
void
PlayerData
::
onPoseChange
(Player obj, string oldPose, string newPose)¶ Called when the player changes poses.
Parameters: - obj – The Player object
- oldPose – The pose the player is switching from.
- newPose – The pose the player is switching to.
-
void
PlayerData
::
onStartSprintMotion
(Player obj)¶ Called when the player starts moving while in a Sprint pose.
Parameters: obj – The Player object
-
void
PlayerData
::
onStartSwim
(Player obj)¶ Called when the player starts swimming.
Parameters: obj – The Player object
-
void
PlayerData
::
onStopSprintMotion
(Player obj)¶ Called when the player stops moving while in a Sprint pose.
Parameters: obj – The Player object
-
void
PlayerData
::
onStopSwim
(Player obj)¶ Called when the player stops swimming.
Parameters: obj – The Player object
Member Data Documentation¶
-
float PlayerData::airControl
Amount of movement control the player has when in the air.
This is applied as a multiplier to the player’s x and y motion.
-
bool PlayerData::allowImageStateAnimation
Allow mounted images to request a sequence be played on the Player.
When true a new thread is added to the player to allow for mounted images to request a sequence be played on the player through the image’s state machine. It is only optional so that we don’t create a TSThread on the player if we don’t need to.
-
Point3F PlayerData::boundingBox
Size of the bounding box used by the player for collision.
Dimensions are given as “width depth height”.
-
float PlayerData::boxHeadBackPercentage
Percentage of the player’s bounding box depth that represents the back side of the head.
Used when computing the damage location.
See also: Player::getDamageLocation
-
float PlayerData::boxHeadFrontPercentage
Percentage of the player’s bounding box depth that represents the front side of the head. Used when computing the damage location.
See also: Player::getDamageLocation
-
float PlayerData::boxHeadLeftPercentage
Percentage of the player’s bounding box width that represents the left side of the head. Used when computing the damage location.
See also: Player::getDamageLocation
-
float PlayerData::boxHeadPercentage
Percentage of the player’s bounding box height that represents the head. Used when computing the damage location.
See also: Player::getDamageLocation
-
float PlayerData::boxHeadRightPercentage
Percentage of the player’s bounding box width that represents the right side of the head. Used when computing the damage location.
See also: Player::getDamageLocation
-
float PlayerData::boxTorsoPercentage
Percentage of the player’s bounding box height that represents the torso. Used when computing the damage location.
See also: Player::getDamageLocation
-
float PlayerData::bubbleEmitTime
Time in seconds to generate bubble particles after entering the water.
-
Point3F PlayerData::crouchBoundingBox
Collision bounding box used when the player is crouching.
See also: boundingBox
-
float PlayerData::crouchForce
Force used to accelerate the player when crouching.
-
DecalData PlayerData::DecalData
Decal to place on the ground for player footsteps.
-
float PlayerData::decalOffset
Distance from the center of the model to the right foot.
While this defines the distance to the right foot, it is also used to place the left foot decal as well. Just on the opposite side of the player.
-
ParticleEmitterData PlayerData::dustEmitter
Emitter used to generate dust particles.
Note
Currently unused.
-
SFXTrack PlayerData::exitingWater
Sound to play when exiting the water with velocity >= exitSplashSoundVelocity.
See also: exitSplashSoundVelocity
-
float PlayerData::exitSplashSoundVelocity
Minimum velocity when leaving the water for the exitingWater sound to play.
See also: exitingWater
-
float PlayerData::fallingSpeedThreshold
Downward speed at which we consider the player falling.
-
SFXTrack PlayerData::FootBubblesSound
Sound to play when walking in water and coverage equals 1.0 (fully underwater).
-
SFXTrack PlayerData::FootHardSound
Sound to play when walking on a surface with Material footstepSoundId 1.
-
SFXTrack PlayerData::FootMetalSound
Sound to play when walking on a surface with Material footstepSoundId 2.
-
ParticleEmitterData PlayerData::footPuffEmitter
Particle emitter used to generate footpuffs (particles created as the player walks along the ground).
Note
The generation of foot puffs requires the appropriate triggeres to be defined in the player’s animation sequences. Without these, no foot puffs will be generated.
-
int PlayerData::footPuffNumParts
Number of footpuff particles to generate each step.
Each foot puff is randomly placed within the defined foot puff radius. This includes having footPuffNumParts set to one.
See also: footPuffRadius
-
float PlayerData::footPuffRadius
Particle creation radius for footpuff particles.
This is applied to each foot puff particle, even if footPuffNumParts is set to one. So set this value to zero if you want a single foot puff placed at exactly the same location under the player each time.
-
SFXTrack PlayerData::FootShallowSound
Sound to play when walking in water and coverage is less than footSplashHeight.
See also: footSplashHeight
-
SFXTrack PlayerData::FootSnowSound
Sound to play when walking on a surface with Material footstepSoundId 3.
-
SFXTrack PlayerData::FootSoftSound
Sound to play when walking on a surface with Material footstepSoundId 0.
-
float PlayerData::footstepSplashHeight
Water coverage level to choose between FootShallowSound and FootWadingSound.
- See also:
- FootShallowSound
- FootWadingSound
-
SFXTrack PlayerData::FootUnderwaterSound
Sound to play when walking in water and coverage equals 1.0 (fully underwater).
-
SFXTrack PlayerData::FootWadingSound
Sound to play when walking in water and coverage is less than 1, but > footSplashHeight.
See also: footSplashHeight
-
float PlayerData::groundImpactMinSpeed
Minimum falling impact speed to apply damage and initiate the camera shaking effect.
-
Point3F PlayerData::groundImpactShakeAmp
Amplitude of the camera shake effect after falling.
This is how much to shake the camera.
-
float PlayerData::groundImpactShakeDuration
Duration (in seconds) of the camera shake effect after falling.
This is how long to shake the camera.
-
float PlayerData::groundImpactShakeFalloff
Falloff factor of the camera shake effect after falling.
This is how to fade the camera shake over the duration.
-
Point3F PlayerData::groundImpactShakeFreq
Frequency of the camera shake effect after falling.
This is how fast to shake the camera.
-
float PlayerData::hardSplashSoundVelocity
Minimum velocity when entering the water for choosing between the impactWaterMedium and impactWaterHard sound to play.
- See also:
- impactWaterMedium
- impactWaterHard
-
float PlayerData::horizMaxSpeed
Maximum horizontal speed.
Note
This limit is only enforced if the player’s horizontal speed exceeds horizResistSpeed.
- See also:
- horizResistSpeed
- horizResistFactor
-
float PlayerData::horizResistFactor
Factor of resistence once horizResistSpeed has been reached.
- See also:
- horizMaxSpeed
- horizResistSpeed
-
float PlayerData::horizResistSpeed
Horizontal speed at which resistence will take place.
- See also:
- horizMaxSpeed
- horizResistFactor
-
caseString PlayerData::imageAnimPrefix
Optional prefix to all mounted image animation sequences in third person.
This defines a prefix that will be added when looking up mounted image animation sequences while in third person. It allows for the customization of a third person image based on the type of player.
-
caseString PlayerData::imageAnimPrefixFP
Optional prefix to all mounted image animation sequences in first person.
This defines a prefix that will be added when looking up mounted image animation sequences while in first person. It allows for the customization of a first person image based on the type of player.
-
SFXTrack PlayerData::impactHardSound
Sound to play after falling on a surface with Material footstepSoundId 1.
-
SFXTrack PlayerData::impactMetalSound
Sound to play after falling on a surface with Material footstepSoundId 2.
-
SFXTrack PlayerData::impactSnowSound
Sound to play after falling on a surface with Material footstepSoundId 3.
-
SFXTrack PlayerData::impactSoftSound
Sound to play after falling on a surface with Material footstepSoundId 0.
-
SFXTrack PlayerData::impactWaterEasy
Sound to play when entering the water with velocity < mediumSplashSoundVelocity.
See also: mediumSplashSoundVelocity
-
SFXTrack PlayerData::impactWaterHard
Sound to play when entering the water with velocity >= hardSplashSoundVelocity.
See also: hardSplashSoundVelocity
-
SFXTrack PlayerData::impactWaterMedium
Sound to play when entering the water with velocity >= mediumSplashSoundVelocity and < hardSplashSoundVelocity.
- See also:
- mediumSplashSoundVelocity
- hardSplashSoundVelocity
-
float PlayerData::jetJumpEnergyDrain
Energy level drained each time the player jet jumps.
See also: jetMinJumpEnergy
Note
Setting this to zero will disable any energy drain
-
float PlayerData::jetJumpForce
Force used to accelerate the player when a jet jump is initiated.
-
float PlayerData::jetJumpSurfaceAngle
Angle from vertical (in degrees) where the player can jet jump.
-
float PlayerData::jetMaxJumpSpeed
Maximum vertical speed before the player can no longer jet jump.
-
float PlayerData::jetMinJumpEnergy
Minimum energy level required to jet jump.
See also: jetJumpEnergyDrain
-
float PlayerData::jetMinJumpSpeed
Minimum speed needed to jet jump.
If the player’s own z velocity is greater than this, then it is used to scale the jet jump speed, up to jetMaxJumpSpeed.
See also: jetMaxJumpSpeed
-
int PlayerData::jumpDelay
Delay time in number of ticks ticks between jumps.
-
float PlayerData::jumpEnergyDrain
Energy level drained each time the player jumps.
See also: minJumpEnergy
Note
Setting this to zero will disable any energy drain
-
float PlayerData::jumpForce
Force used to accelerate the player when a jump is initiated.
-
float PlayerData::jumpSurfaceAngle
Angle from vertical (in degrees) where the player can jump.
-
bool PlayerData::jumpTowardsNormal
Controls the direction of the jump impulse.
When false, jumps are always in the vertical (+Z) direction. When true jumps are in the direction of the ground normal so long as the player is not directly facing the surface. If the player is directly facing the surface, then they will jump straight up.
-
float PlayerData::landSequenceTime
Time of land sequence play back when using new recover system.
If greater than 0 then the legacy fall recovery system will be bypassed in favour of just playing the player’s land sequence. The time to recover from a fall then becomes this parameter’s time and the land sequence’s playback will be scaled to match.
See also: transitionToLand
-
float PlayerData::maxBackwardSpeed
Maximum backward speed when running.
-
float PlayerData::maxCrouchBackwardSpeed
Maximum backward speed when crouching.
-
float PlayerData::maxCrouchForwardSpeed
Maximum forward speed when crouching.
-
float PlayerData::maxCrouchSideSpeed
Maximum sideways speed when crouching.
-
float PlayerData::maxForwardSpeed
Maximum forward speed when running.
-
float PlayerData::maxFreelookAngle
Defines the maximum left and right angles (in radians) the player can look in freelook mode.
-
float PlayerData::maxJumpSpeed
Maximum vertical speed before the player can no longer jump.
-
float PlayerData::maxLookAngle
Highest angle (in radians) the player can look.
Note
An angle of zero is straight ahead, with positive up and negative down.
-
float PlayerData::maxProneBackwardSpeed
Maximum backward speed when prone (laying down).
-
float PlayerData::maxProneForwardSpeed
Maximum forward speed when prone (laying down).
-
float PlayerData::maxProneSideSpeed
Maximum sideways speed when prone (laying down).
-
float PlayerData::maxSideSpeed
Maximum sideways speed when running.
-
float PlayerData::maxSprintBackwardSpeed
Maximum backward speed when sprinting.
-
float PlayerData::maxSprintForwardSpeed
Maximum forward speed when sprinting.
-
float PlayerData::maxSprintSideSpeed
Maximum sideways speed when sprinting.
-
float PlayerData::maxStepHeight
Maximum height the player can step up.
The player will automatically step onto changes in ground height less than maxStepHeight. The player will collide with ground height changes greater than this.
-
float PlayerData::maxTimeScale
Maximum time scale for action animations.
If an action animation has a defined ground frame, it is automatically scaled to match the player’s ground velocity. This field limits the maximum time scale used even if the player’s velocity exceeds it.
-
float PlayerData::maxUnderwaterBackwardSpeed
Maximum backward speed when underwater.
-
float PlayerData::maxUnderwaterForwardSpeed
Maximum forward speed when underwater.
-
float PlayerData::maxUnderwaterSideSpeed
Maximum sideways speed when underwater.
-
float PlayerData::mediumSplashSoundVelocity
Minimum velocity when entering the water for choosing between the impactWaterEasy and impactWaterMedium sounds to play.
- See also:
- impactWaterEasy
- impactWaterMedium
-
float PlayerData::minImpactSpeed
Minimum impact speed to apply falling damage.
This field also sets the minimum speed for the onImpact callback to be invoked.
See also: ShapeBaseData::onImpact()
-
float PlayerData::minJumpEnergy
Minimum energy level required to jump.
See also: jumpEnergyDrain
-
float PlayerData::minJumpSpeed
Minimum speed needed to jump.
If the player’s own z velocity is greater than this, then it is used to scale the jump speed, up to maxJumpSpeed.
See also: maxJumpSpeed
-
float PlayerData::minLateralImpactSpeed
Minimum impact speed to apply non-falling damage.
This field also sets the minimum speed for the onLateralImpact callback to be invoked.
See also: ShapeBaseData::onLateralImpact()
-
float PlayerData::minLookAngle
Lowest angle (in radians) the player can look.
Note
An angle of zero is straight ahead, with positive up and negative down.
-
float PlayerData::minRunEnergy
Minimum energy level required to run or swim.
See also: runEnergyDrain
-
float PlayerData::minSprintEnergy
Minimum energy level required to sprint.
See also: sprintEnergyDrain
-
SFXTrack PlayerData::movingBubblesSound
Sound to play when in water and coverage equals 1.0 (fully underwater).
Note that unlike
FootUnderwaterSound
, this sound plays even if the player is not moving around in the water.
-
string PlayerData::physicsPlayerType
Specifies the type of physics used by the player.
This depends on the physics module used. An example is ‘Capsule’.
Note
Not current used.
-
float PlayerData::pickupRadius
Radius around the player to collide with Items in the scene (on server).
Internally the pickupRadius is added to the larger side of the initial bounding box to determine the actual distance, to a maximum of 2 times the bounding box size. The initial bounding box is that used for the root pose, and therefore doesn’t take into account the change in pose.
-
Point3F PlayerData::proneBoundingBox
Collision bounding box used when the player is prone (laying down).
See also: boundingBox
-
float PlayerData::proneForce
Force used to accelerate the player when prone (laying down).
-
int PlayerData::recoverDelay
Number of ticks for the player to recover from falling.
-
float PlayerData::recoverRunForceScale
Scale factor applied to runForce while in the recover state.
This can be used to temporarily slow the player’s movement after a fall, or prevent the player from moving at all if set to zero.
-
bool PlayerData::renderFirstPerson
Flag controlling whether to render the player shape in first person view.
-
float PlayerData::runEnergyDrain
Energy value drained each tick that the player is moving.
The player will not be able to move when his energy falls below minRunEnergy.
See also: minRunEnergy
Note
Setting this to zero will disable any energy drain.
-
float PlayerData::runForce
Force used to accelerate the player when running.
-
float PlayerData::runSurfaceAngle
Maximum angle from vertical (in degrees) the player can run up.
-
filename PlayerData::shapeNameFP[4]
File name of this player’s shape that will be used in conjunction with the corresponding mounted image.
These optional parameters correspond to each mounted image slot to indicate a shape that is rendered in addition to the mounted image shape. Typically these are a player’s arms (or arm) that is animated along with the mounted image’s state animation sequences.
-
SplashData PlayerData::Splash
SplashData datablock used to create splashes when the player moves through water.
-
float PlayerData::splashAngle
Maximum angle (in degrees) from pure vertical movement in water to generate splashes.
-
ParticleEmitterData PlayerData::splashEmitter[3]
Particle emitters used to generate splash particles.
-
float PlayerData::splashFreqMod
Multipled by speed to determine the number of splash particles to generate.
-
float PlayerData::splashVelEpsilon
Minimum speed to generate splash particles.
-
float PlayerData::splashVelocity
Minimum velocity when moving through water to generate splashes.
-
bool PlayerData::sprintCanJump
Can the player jump while sprinting.
-
float PlayerData::sprintEnergyDrain
Energy value drained each tick that the player is sprinting.
The player will not be able to move when his energy falls below sprintEnergyDrain.
See also: minSprintEnergy
Note
Setting this to zero will disable any energy drain.
-
float PlayerData::sprintForce
Force used to accelerate the player when sprinting.
-
float PlayerData::sprintPitchScale
Amount to scale pitch motion while sprinting.
-
float PlayerData::sprintStrafeScale
Amount to scale strafing motion vector while sprinting.
-
float PlayerData::sprintYawScale
Amount to scale yaw motion while sprinting.
-
Point3F PlayerData::swimBoundingBox
Collision bounding box used when the player is swimming.
See also: boundingBox
-
float PlayerData::swimForce
Force used to accelerate the player when swimming.
-
bool PlayerData::transitionToLand
When going from a fall to a land, should we transition between the two.
See also: landSequenceTime
Note
Only takes affect when landSequenceTime is greater than 0.
-
float PlayerData::upMaxSpeed
Maximum upwards speed.
- See also:
- upResistSpeed
- upResistFactor
Note
This limit is only enforced if the player’s upward speed exceeds upResistSpeed.
-
float PlayerData::upResistFactor
Factor of resistence once upResistSpeed has been reached.
- See also:
- upMaxSpeed
- upResistSpeed
-
float PlayerData::upResistSpeed
Upwards speed at which resistence will take place.
- See also:
- upMaxSpeed
- upResistFactor
-
SFXTrack PlayerData::waterBreathSound
Sound to play when in water and coverage equals 1.0 (fully underwater).
Note that unlike
FootUnderwaterSound
, this sound plays even if the player is not moving around in the water.