Lua MoveCtrl: Difference between revisions

From Spring
Jump to navigationJump to search
Line 95: Line 95:


== MoveType-specific ==
== MoveType-specific ==
NOTE: all Set*MoveTypeData functions support the following number keys:
  maxSpeed
  maxWantedSpeed
  repairBelowHealth


'''Spring.MoveCtrl.SetAirMoveTypeData''' - new in version 0.81
'''Spring.MoveCtrl.SetAirMoveTypeData''' - new in version 0.81

Revision as of 00:10, 27 December 2009

Development < Lua Scripting < Lua MoveCtrl

Enable/Disable

Spring.MoveCtrl.Enable

 ( number unitID ) -> nil

Spring.MoveCtrl.Disable

 ( number unitID ) -> nil

Tags

Spring.MoveCtrl.SetTag

 ( number unitID, number tag ) -> nil

Spring.MoveCtrl.GetTag

 ( number unitID ) -> nil

Spring.MoveCtrl.SetProgressState

 ( number unitID, number state | "done" | "active" | "failed" ) -> nil

Physics

Spring.MoveCtrl.SetGravity

 ( number unitID, number gravity ) -> nil

Spring.MoveCtrl.SetDrag

 ( number unitID, number gravity ) -> nil

Spring.MoveCtrl.SetGroundOffset

 ( number unitID, number offset ) -> nil

Spring.MoveCtrl.SetWindFactor

 ( number unitID, number windFactor ) -> nil

Spring.MoveCtrl.SetPhysics

 ( number unitID,
   number posX, number posY, number posZ,
   number velX, number velY, number velZ,
   number rotX, number rotY, number rotZ ) -> nil 

Spring.MoveCtrl.SetPosition

 ( number unitID,
   number posX, number posY, number posZ ) -> nil

Spring.MoveCtrl.SetVelocity

 ( number unitID,
   number velX, number velY, number velZ ) -> nil

Spring.MoveCtrl.SetRelativeVelocity

 ( number unitID,
   number relvelX, number relvelY, number relvelZ ) -> nil

Spring.MoveCtrl.SetRotation

 ( number unitID,
   number rotX, number rotY, number rotZ ) -> nil

Spring.MoveCtrl.SetRotationVelocity

 ( number unitID,
   number rotVelX, number rotVelY, number rotVelZ ) -> nil

Spring.MoveCtrl.SetRotationOffset

 ( number unitID,
   number rotOffX, number rotOffY, number rotOffZ ) -> nil

Spring.MoveCtrl.SetHeading

 ( number unitID, number heading ) -> nil

Options

Spring.MoveCtrl.SetNoBlocking

 ( number unitID, boolean noblock ) -> nil

Spring.MoveCtrl.SetLimits

 ( number unitID,
   number minX, number minY, number minZ,
   number maxX, number maxY, number maxZ ) -> nil 

Spring.MoveCtrl.SetTrackSlope

 ( number unitID, boolean trackslope ) -> nil

Spring.MoveCtrl.SetTrackGround

 ( number unitID, boolean noblock ) -> nil

Spring.MoveCtrl.SetLeaveTracks

 ( number unitID, boolean leavetracks ) -> nil

Spring.MoveCtrl.SetExtrapolate

 ( number unitID, boolean on ) -> nil

Spring.MoveCtrl.SetShotStop

 ( number unitID, boolean shotstop ) -> nil

Spring.MoveCtrl.SetSlopeStop

 ( number unitID, boolean slopestop ) -> nil

Spring.MoveCtrl.SetCollideStop

 ( number unitID, boolean collidestop ) -> nil

MoveType-specific

NOTE: all Set*MoveTypeData functions support the following number keys:

 maxSpeed
 maxWantedSpeed
 repairBelowHealth

Spring.MoveCtrl.SetAirMoveTypeData - new in version 0.81

 ( number unitID, string key, value  ) -> nil
 ( number unitID, table values ) -> nil
 supported keys:
 numbers:
   wantedHeight
   myGravity
   maxBank
   maxPitch
   turnRadius
   maxAcc
   maxAileron
   maxElevator
   maxRudder
 booleans:
   collide
   useSmoothMesh
 NOTE: not all keys and not all values may work correctly.
 Example usage

Spring.MoveCtrl.SetGroundMoveTypeData - new in version 0.81

 ( number unitID, string key, value  ) -> nil
 ( number unitID, table values ) -> nil
 supported keys:
 numbers:
   baseTurnRate
   turnRate
   accRate
   decRate
   maxReverseSpeed
   wantedSpeed
   requestedSpeed
   requestedTurnRate
 booleans:
   floatOnWater
 NOTE: not all keys and not all values may work correctly.
 Example usage

Spring.MoveCtrl.SetGunshipMoveTypeData - new in version 0.81

 ( number unitID, string key, value  ) -> nil
 ( number unitID, table values ) -> nil
 supported keys:
 numbers:
   wantedHeight
   turnRate
   accRate
   decRate
   altitudeRate
   currentBank
   currentPitch
   breakDistance
 booleans:
   collide
   useSmoothMesh
   bankingAllowed
   dontLand
 NOTE: not all keys and not all values may work correctly.
 Example usage