Lua SyncedCtrl
SendMessage
Spring.SendMessage
( string "message" ) -> nil
Spring.SendMessageToPlayer
( number playerID, string "message" ) -> nil
Spring.SendMessageToTeam
( number teamID, string "message" ) -> nil
Spring.SendMessageToAllyTeam
( number allyID, string "message" ) -> nil
Spring.SendMessageToSpectators
( string "message" ) -> nil
Ressources
Spring.AddTeamResource
( number teamID, string "m" | "e", number amount ) -> nil
Spring.UseTeamResource
( number teamID,
string "m" | "e", number amount |
{ m = number amount, e = number amount}
) -> nil | boolean hadEnough
Spring.SetTeamResource
( number teamID, string res, number amount ) -> nil
possible values for res are: "m" = metal "e" = energy "ms" = metal storage "es" = energy storage
Spring.SetTeamShareLevel
( number teamID, string "m" | "e", number amount ) -> nil
Unit Handling
Spring.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
Spring.DestroyUnit
( number unitID, [boolean selfd,] [boolean reclaimWreckage,] [number attackerID] ) -> nil
Spring.TransferUnit
( number unitID, numer newTeamID, boolean given ) -> nil
Unit Control
Spring.SetUnitCosts
( number unitID, {
[ buildTime = number amount ],
[ metalCost = number amount ],
[ energyCost = number amount ]
} ) -> nil
Spring.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
Spring.SetUnitTooltip
( number unitID, string "tooltip" ) -> nil
Spring.SetUnitHealth
( number unitID,
number health |
{ [ health = number health ],
[ capture = number capture ],
[ paralyze = number paralyze ],
[ build = number build ] }
) -> nil
Spring.SetUnitMaxHealth
( number unitID, number maxHealth ) -> nil
Spring.SetUnitStockpile
( number unitID, number stockpile) -> nil
Spring.SetUnitExperience
( number unitID, number experience ) -> nil
Spring.SetUnitCloak
( number unitID, boolean cloaked ) -> nil
Spring.SetUnitStealth
( number unitID, boolean stealth ) -> nil
Spring.SetUnitNoDraw
( number unitID, boolean noDraw ) -> nil
Spring.SetUnitNoSelect
( number unitID, boolean noSelect ) -> nil
Spring.SetUnitNoMinimap
( number unitID, boolean noMinimap ) -> nil
Spring.SetUnitAlwaysVisible
( number unitID, boolean alwaysVisible ) -> nil
Spring.SetUnitBlocking
( number unitID, boolean noBlock) -> nil
Spring.SetUnitMetalExtraction
( number unitID, number depth [,number range] ) -> nil
Spring.SetUnitBuildSpeed
( number builderID, number buildSpeed, [ number repairSpeed [, number reclaimSpeed [,number resurrectSpeed [, number captureSpeed [, number terraformSpeed ]] ]]] ) -> nil
Spring.SetUnitShieldState
( number unitID, boolean enabled [, number power] ) -> nil
Spring.SetUnitTravel
( number unitID, number travel [, number travelPeriod] ) -> nil
Spring.SetUnitPhysics
( number unitID, number posx, number posy, number posz, number velx, number vely, number velz, number rotx, number roty, number rotz, ) -> nil
Spring.SetUnitPosition
( number unitID, number x, number z [, boolean alwaysAboveSea] ) -> nil
Spring.SetUnitVelocity
( number unitID, number velx, number vely, number velz ) -> nil
Spring.SetUnitRotation
( number unitID, number rotx, number roty, number rotz ) -> nil
Spring.AddUnitImpulse
( number unitID, number x, number y, number z ) -> nil
Unit Ressourcing
Spring.AddUnitResource
( number unitID, string "m" | "e", number amount ) -> nil
Spring.UseUnitResource
( number unitID, string "m" | "e", number amount ) -> nil
Feature Creation
Spring.CreateFeature
( string "defName", number x, number y, number z [,number heading [, number AllyTeamID ]] ) -> number featureID
Spring.DestroyFeature
( number featureID ) -> nil
Spring.TransferFeature
( number featureID, number AllyTeamID ) -> nil
Feature Handling
Spring.SetFeatureHealth
( number featureID, number health) -> nil
Spring.SetFeatureReclaim
( number featureID, number reclaimLeft) -> nil
Spring.SetFeatureResurrect
( number featureID, string "UnitDefName?" [, number facing | string "facing" ] ) -> nil
possible string values for facing are: "s" = south "e" = east "n" = north "w" = west
Spring.SetFeaturePosition
( number featureID, number x, number y, number z ) -> nil
Spring.SetFeatureDirection
( number featureID, number x, number y, number z ) -> nil
Spring.SetFeatureNoSelect
( number featureID, boolean noSelect ) -> nil
Spring.RemoveBuildingDecal
( number unitID ) -> nil
Lua to COB
Spring.CallCOBScript
( number unitID, number funcID | string funcName, number retArgs, COBArg1, COBArg2, ... ) -> nil | number returnValue, number retArg1, number retArg2, ...
Spring.CallCOBScriptCB
( number unitID, number funcID | string funcName, number retArgs, COBArg1, COBArg2, ... ) -> nil | number returnValue, number CallbackData, number retArg1, number retArg2, ...
Spring.GetCOBScriptID
( number unitID, string funcName ) -> nil | number funcID
Spring.GetUnitCOBValue
Spring.SetUnitCOBValue
Give Order
Works in unsynced code, too.
Spring.GiveOrderToUnit
( number unitID,
number cmdID,
params = {number, etc...},
options = {"alt", "ctrl", "shift", "right"} ) -> nil
Spring.GiveOrderToUnitMap
( unitMap = { [unitID] = dontCare, etc... },
number cmdID,
params = {number, etc...},
options = {"alt", "ctrl", "shift", "right"} ) -> nil
Spring.GiveOrderToUnitArray
( unitArray = { [1] = unitID, etc... },
number cmdID,
params = {number, etc...},
options = {"alt", "ctrl", "shift", "right"} ) -> nil
Spring.GiveOrderArrayToUnitMap
( unitMap = { [number unitID] = dontCare, etc... },
orderArray = {
{ number cmdID,
params = {number, etc...},
options = {"alt", "ctrl", "shift", "right"}
},
etc...
}) -> nil
Spring.GiveOrderArrayToUnitArray
( unitArray = { [1] = number unitID, etc... },
orderArray = {
{ number cmdID,
params = {number, etc...},
options = {"alt", "ctrl", "shift", "right"}
},
etc...
}) -> nil
Heightmap
Spring.LevelHeightMap
( number x1, number z1 [, number x2, number z2], number height ) -> nil
Spring.AdjustHeightMap
( number x1, number z1 [, number x2, number z2], number height ) -> nil
Spring.RevertHeightMap
( number x1, number z1 [, number x2, number z2], number origFactor ) -> nil
Command Descriptions
Don't work in unsynced code.
Spring.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, ... } ]
}
Spring.InsertUnitCmdDesc
( number unitID [, number cmdDescID ] , table cmdArray ) -> nil
Spring.RemoveUnitCmdDesc
( number unitID [, number cmdDescID ] ) -> nil
Other
Spring.SetNoPause
( boolean noPause ) -> nil
Spring.SetUnitToFeature
( boolean noPause ) -> nil