Lua SyncedCtrl

From Spring
Revision as of 16:48, 11 August 2007 by JK (talk | contribs) (New page: = SendMessage = '''SendMessage''' ( string "message" ) -> nil '''SendMessageToPlayer''' ( number playerID, string "message" ) -> nil '''SendMessageToTeam''' ( number teamID, string...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

SendMessage

SendMessage

 ( string "message" ) -> nil

SendMessageToPlayer

 ( number playerID, string "message" ) -> nil

SendMessageToTeam

 ( number teamID, string "message" ) -> nil

SendMessageToAllyTeam

 ( number allyID, string "message" ) -> nil

SendMessageToSpectators

 ( string "message" ) -> nil


Ressources

AddTeamResource

 ( number teamID, string "m" | "e", number amount ) -> nil

UseTeamResource

 ( number teamID, 
   string "m" | "e", number amount |
   { m = number amount, e = number amount}
 ) -> nil | boolean hadEnough

SetTeamResource

 ( number teamID, string res, number amount ) -> nil

 possible values for res are:
   "m"  = metal
   "e"  = energy
   "ms"  = metal storage
   "es"  = energy storage

SetTeamShareLevel

 ( number teamID, string "m" | "e", number amount ) -> nil


Unit Handling

CreateUnit

 ( string "defName",
   number x, number y, number z,
   (number facing | string "facing"),
   number teamID ) -> number unitID

 possible string values for facing are:
   "s"  = south
   "e"  = east
   "n"  = north
   "w"  = west

DestroyUnit

 ( number unitID,
   [boolean selfd,]
   [boolean reclaimWreckage,]
   [number attackerID] ) -> nil

TransferUnit

 ( number unitID,
   numer newTeamID,
   boolean given ) -> nil


Unit Control

SetUnitCosts

 ( number unitID, { 
    [ buildTime  = number amount ],
    [ metalCost  = number amount ],
    [ energyCost = number amount ]
  } ) -> nil

SetUnitResourcing

 ( number unitID,
   string res, number amount |
   { res = number amount, ... }
 ) -> nil

 possible values for res are: "[u|c][u|m][m|e]"
      unconditional | conditional
                use | make
              metal | energy

SetUnitTooltip

 ( number unitID, string "tooltip" ) -> nil

SetUnitHealth

 ( number unitID,
   number health |
   { [ health   = number health ],
     [ capture  = number capture ],
     [ paralyze = number paralyze ],
     [ build    = number build ] }
 ) -> nil

SetUnitMaxHealth

 ( number unitID, number maxHealth ) -> nil

SetUnitStockpile

 ( number unitID, number stockpile) -> nil

SetUnitExperience

 ( number unitID, number experience ) -> nil

SetUnitCloak

 ( number unitID, boolean cloaked ) -> nil

SetUnitStealth

 ( number unitID, boolean stealth ) -> nil

SetUnitNoDraw

 ( number unitID, boolean noDraw ) -> nil

SetUnitNoSelect

 ( number unitID, boolean noSelect ) -> nil

SetUnitNoMinimap

 ( number unitID, boolean noMinimap ) -> nil

SetUnitAlwaysVisible

 ( number unitID, boolean alwaysVisible ) -> nil

SetUnitBlocking

 ( number unitID, boolean noBlock) -> nil

SetUnitMetalExtraction

 ( number unitID, number depth [,number range] ) -> nil

SetUnitBuildSpeed

 ( number builderID,
   number buildSpeed, [ number repairSpeed [, number reclaimSpeed
 [,number resurrectSpeed [, number captureSpeed [, number terraformSpeed ]] ]]] ) -> nil

SetUnitShieldState

 ( number unitID, boolean enabled [, number power] ) -> nil

SetUnitTravel

 ( number unitID, number travel [, number travelPeriod] ) -> nil

SetUnitPhysics

 ( number unitID,
   number posx, number posy, number posz,
   number velx, number vely, number velz,
   number rotx, number roty, number rotz,
 ) -> nil

SetUnitPosition

 ( number unitID, number x, number z [, boolean alwaysAboveSea] ) -> nil

SetUnitVelocity

 ( number unitID, number velx, number vely, number velz ) -> nil

SetUnitRotation

 ( number unitID, number rotx, number roty, number rotz ) -> nil

AddUnitImpulse

 ( number unitID, number x, number y, number z ) -> nil


Unit Ressourcing

AddUnitResource

 ( number unitID, string "m" | "e", number amount ) -> nil

UseUnitResource

 ( number unitID, string "m" | "e", number amount ) -> nil


Feature Creation

CreateFeature

 (  string "defName", number x, number y, number z
  [,number heading [, number AllyTeamID ]] ) -> number featureID

DestroyFeature

 ( number featureID ) -> nil

TransferFeature

 ( number featureID, number AllyTeamID ) -> nil


Feature Handling

SetFeatureHealth

 ( number featureID, number health) -> nil

SetFeatureReclaim

 ( number featureID, number reclaimLeft) -> nil

SetFeatureResurrect

 ( number featureID, string "UnitDefName?" [, number facing | string "facing" ] ) -> nil

 possible string values for facing are:
   "s"  = south
   "e"  = east
   "n"  = north
   "w"  = west

SetFeaturePosition

 ( number featureID, number x, number y, number z ) -> nil

SetFeatureDirection

 ( number featureID, number x, number y, number z ) -> nil

SetFeatureNoSelect

 ( number featureID, boolean noSelect ) -> nil


RemoveBuildingDecal

 ( number unitID ) -> nil


Lua to COB

CallCOBScript

 ( number unitID, number funcID | string funcName, number retArgs, COBArg1, COBArg2, ... )
   -> nil | number returnValue, number retArg1, number retArg2, ...

CallCOBScriptCB

 ( number unitID, number funcID | string funcName, number retArgs, COBArg1, COBArg2, ... )
   -> nil | number returnValue, number CallbackData, number retArg1, number retArg2, ...

GetCOBScriptID

 ( number unitID, string funcName ) -> nil | number funcID

GetUnitCOBValue

SetUnitCOBValue


Give Order

GiveOrderToUnit

 ( number unitID,
   number cmdID,
   params = {number, etc...},
   options = {"alt", "ctrl", "shift", "right"} ) -> nil

GiveOrderToUnitMap

 ( unitMap = { [unitID] = dontCare, etc... },
   number cmdID,
   params = {number, etc...},
   options = {"alt", "ctrl", "shift", "right"} ) -> nil

GiveOrderToUnitArray

 ( unitArray = { [1] = unitID, etc... },
   number cmdID,
   params = {number, etc...},
   options = {"alt", "ctrl", "shift", "right"} ) -> nil

GiveOrderArrayToUnitMap

 ( unitMap = { [number unitID] = dontCare, etc... },
   orderArray = {
     { number cmdID,
       params = {number, etc...},
       options = {"alt", "ctrl", "shift", "right"}
   },
   etc...
  }) -> nil

GiveOrderArrayToUnitArray

 ( unitArray = { [1] = number unitID, etc... },
   orderArray = {
     { number cmdID,
       params = {number, etc...},
       options = {"alt", "ctrl", "shift", "right"}
    },
   etc...
 }) -> nil


Heightmap

LevelHeightMap

 ( number x1, number z1 [, number x2, number z2], number height ) -> nil

AdjustHeightMap

 ( number x1, number z1 [, number x2, number z2], number height ) -> nil

RevertHeightMap

 ( number x1, number z1 [, number x2, number z2], number origFactor ) -> nil


Command Descriptions

EditUnitCmdDesc

 ( number unitID, number cmdDescID, table cmdArray ) -> nil

 structure of cmdArray:
 {
   [ id          = int ],
   [ type        = int ],
   [ name        = string ],
   [ action      = string ],
   [ tooltip     = string ],
   [ texture     = string ],
   [ cursor      = string ],
   [ hidden      = boolean ],
   [ disabled    = boolean ],
   [ showUnique  = boolean ],
   [ onlyTexture = boolean ],
   [ params      = { string = string, ... } ]
 }

InsertUnitCmdDesc

 ( number unitID [, number cmdDescID ] , table cmdArray ) -> nil

RemoveUnitCmdDesc

 ( number unitID [, number cmdDescID ] ) -> nil


Other

SetNoPause

 ( boolean noPause ) -> nil

SetUnitToFeature

 ( boolean noPause ) -> nil