Lua UnsyncedRead: Difference between revisions
Updated page with new anchorable templates |
|||
| Line 3: | Line 3: | ||
== Replay/Spectating == | == Replay/Spectating == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsReplay | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isReplay | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetReplayLength | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} timeInSeconds | |||
|info = {{new|92.0}} | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetSpectatingState | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} spectating, {{type|bool}} fullView, {{type|bool}} fullSelect | |||
|info = | |||
}} | |||
== Game/Menu Name == | == Game/Menu Name == | ||
Apparently returns {{xtaglink|Modinfo.lua|name}} .. {{xtaglink|Modinfo.lua|version}} from [[Modinfo.lua]]. E.g. "Spring: 1944 test-5640-ac2d15b". | {{LuaCallout | ||
|prefix = Spring. | |||
|name = GetGameName | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|string}} name | |||
|info = {{new|104.0}}<br>Apparently returns {{xtaglink|Modinfo.lua|name}} .. {{xtaglink|Modinfo.lua|version}} from [[Modinfo.lua]]. E.g. "Spring: 1944 test-5640-ac2d15b". | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMenuName | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|string}} name | |||
|info = {{new|104.0}} | |||
}} | |||
== ModUI == | == ModUI == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetModUICtrl | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} ModUICtrl | |||
|info = | |||
}} | |||
== MyInfo == | == MyInfo == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMyAllyTeamID | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} allyTeamID | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMyTeamID | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} teamID | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMyPlayerID | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} playerID | |||
|info = | |||
}} | |||
== Local Player,Team,Ally == | == Local Player,Team,Ally == | ||
<span class="note">Redundant same as the GetMyXYZ functions!</span> | <span class="note">Redundant same as the GetMyXYZ functions!</span> | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetLocalPlayerID | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} playerID | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetLocalTeamID | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} teamID | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetLocalTeamID | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} allyID | |||
|info = | |||
}} | |||
== Team/Player Info == | == Team/Player Info == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetPlayerRoster | |||
|arg1 = {{bracket}}{{type|number}} sortType{{rbracket}} {{pipe}} {{bracket}}{{type|number}} sortType{{rbracket}}, {{bracket}}{{type|bool}} showPathingPlayers{{rbracket}} | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|table}} playerTable | |||
|info = "playerTable" contains: | |||
}} | |||
<pre>playerTable = { | |||
[1] = { | [1] = { | ||
string name, | string name, | ||
| Line 56: | Line 243: | ||
etc... | etc... | ||
} | } | ||
if pingTime | |||
if pingTime == -1, the player is pathfinding, in order to find the progress, use: | |||
cpuUsage&0x1 if it's PC or BO, cpuUsage& 0xFE to get path res, (cpuUsage>>8)*1000 | cpuUsage&0x1 if it's PC or BO, cpuUsage& 0xFE to get path res, (cpuUsage>>8)*1000 | ||
for the progress | for the progress | ||
Sort codes: | |||
1 = Sort by allies (the default) | 1 = Sort by allies (the default) | ||
2 = Sort by teamID | 2 = Sort by teamID | ||
3 = Sort by playerName | 3 = Sort by playerName | ||
4 = Sort by CPU usage | 4 = Sort by CPU usage | ||
5 = Sort by ping time</ | 5 = Sort by ping time</pre> | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetTeamColor | |||
|arg1 = {{type|number}} teamID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} r, {{type|number}} g, {{type|number}} b, {{type|number}} a | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetTeamOrigColor | |||
|arg1 = {{type|number}} teamID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} r, {{type|number}} g, {{type|number}} b, {{type|number}} a | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetPlayerTraffic | |||
|arg1 = {{type|number}} playerID {{bracket}} | |||
|arg2 = {{type|number}} packetID {{rbracket}} | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} traffic | |||
|info = | |||
}} | |||
== Sound == | == Sound == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetSoundStreamTime | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} playedTime, {{type|number}} totalTime, | |||
|info = | |||
}} | |||
== Camera == | == Camera == | ||
See [[Lua_camState]] for details about Spring.GetCameraState output. | {{LuaCallout | ||
|prefix = Spring. | |||
|name = GetCameraNames | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = { {{bracket|camName}} = {{type|number}} camNum, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetCameraState | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = { "name" = string, "mode" = number camIdx, state1 = number, state2 = number, ... } | |||
|info = See [[Lua_camState]] for details about Spring.GetCameraState output. | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetCameraPosition | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} x, {{type|number}} y, {{type|number}} z | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetCameraDirection | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} forward_x, {{type|number}} forward_y, {{type|number}} forward_z | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetCameraFOV | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} vFov, {{type|number}} hFov | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetCameraVectors | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|table}} vectorTable | |||
|info = vectorTable contains: | |||
}} | |||
<pre>vectorTable = { | |||
forward = { [1] = number x, [2] = number y, [3] = number z }, | forward = { [1] = number x, [2] = number y, [3] = number z }, | ||
up = { [1] = number x, [2] = number y, [3] = number z }, | up = { [1] = number x, [2] = number y, [3] = number z }, | ||
| Line 99: | Line 433: | ||
leftside = { [1] = number x, [2] = number y, [3] = number z }, | leftside = { [1] = number x, [2] = number y, [3] = number z }, | ||
rightside = { [1] = number x, [2] = number y, [3] = number z } | rightside = { [1] = number x, [2] = number y, [3] = number z } | ||
} | }</pre> | ||
=== Inview === | === Inview === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetVisibleUnits | |||
|arg1 = {{bracket}}{{type|number}} teamID = -1 {{bracket}} | |||
|arg2 = {{type|number}} radius = 30 {{bracket}} | |||
|arg3 = {{type|bool}} Icons = true {{rbracket}}{{rbracket}}{{rbracket}} | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|table}} unitTable = { {{bracket|1}} = {{type|number}} unitID, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetVisibleFeatures | |||
|arg1 = {{bracket}}{{type|number}} allyTeamID = -1 {{bracket}} | |||
|arg2 = {{type|number}} radius = 30 {{bracket}} | |||
|arg3 = {{type|bool}} Icons = true {{bracket}} | |||
|arg4 = {{type|bool}} geos = true {{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}} | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|table}} featureTable = { {{bracket|1}} = {{type|number}} featureID, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsAABBInView | |||
|arg1 = {{type|number}} minX, {{type|number}} minY, {{type|number}} minZ | |||
|arg2 = {{type|number}} maxX, {{type|number}} maxY, {{type|number}} maxZ | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isInView | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsSphereInView | |||
|arg1 = {{type|number}} x, {{type|number}} y, {{type|number}} z {{bracket}} | |||
|arg2 = {{type|number}} radius {{rbracket}} | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isInView | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsUnitIcon | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isUnitIcon | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsUnitInView | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isUnitInView | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsUnitVisible | |||
|arg1 = {{type|number}} unitID {{bracket}} | |||
|arg2 = {{type|number}} radius {{bracket}} | |||
|arg3 = {{type|bool}} checkIcons {{rbracket}}{{rbracket}} | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isVisible | |||
|info = | |||
}} | |||
=== Screen Trace === | === Screen Trace === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = WorldToScreenCoords | |||
|arg1 = {{type|number}} x, {{type|number}} y, {{type|number}} z | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} x, {{type|number}} y, {{type|number}} z | |||
|info = | |||
}} | |||
to get map coordinates under mouse cursor: input mouse coordinates obtained via GetMouseState() and pass true for the onlyCoords parameter. Be careful as going off map will result in nil: | {{LuaCallout | ||
|prefix = Spring. | |||
|name = TraceScreenRay | |||
|arg1 = {{type|number}} mouseX, {{type|number}} mouseY, {{type|number}} mouseZ {{bracket}} | |||
|arg2 = {{type|bool}} onlyCoords {{bracket}} | |||
|arg3 = {{type|bool}} useMinimap {{bracket}} | |||
|arg4 = {{type|bool}} includeSky {{bracket}} | |||
|arg5 = {{type|bool}} ignoreWater {{bracket}} | |||
|arg6 ={{type|number}} D {{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}} | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|string}} unit, {{type|number}} unitID {{pipe}} {{type|string}} feature, {{type|number}} featureID {{pipe}} {{type|string}} ground, {{type|table}} coords = { {{bracket|1}} = {{type|number}} x, {{bracket|2}} = {{type|number}} y, {{bracket|3}} = {{type|number}} z } | |||
|info = {{new|101.0}} | |||
}} | |||
<pre>Extended to allow a custom plane, parameters are (0, 1, 0, D=0) where D is the offset D can be specified in the third argument (if all the bools are false) or in the seventh (as shown). Intersection coordinates are returned in t[4],t[5],t[6] when the ray goes offmap and includeSky is true), or when no unit or feature is hit (or onlyCoords is true). This will only work for units & objects with the default collission sphere. Per Piece collission and custom collission objects are not supported. The unit must be selectable, to appear to a screen trace ray. | |||
To get map coordinates under mouse cursor: input mouse coordinates obtained via GetMouseState() and pass true for the onlyCoords parameter. Be careful as going off map will result in nil: | |||
local mouseX, mouseY = Spring.GetMouseState() | local mouseX, mouseY = Spring.GetMouseState() | ||
print ("Mouse coordinates: (" .. mouseX .. ", " .. mouseY .. ")") | print ("Mouse coordinates: (" .. mouseX .. ", " .. mouseY .. ")") | ||
| Line 144: | Line 600: | ||
local y = args[2] | local y = args[2] | ||
local z = args[3] | local z = args[3] | ||
print ("World coordinates: (" .. x .. ", " .. y .. ", " .. z .. ")") | print ("World coordinates: (" .. x .. ", " .. y .. ", " .. z .. ")")</pre> | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetPixelDir | |||
|arg1 = {{type|number}} x | |||
|arg2 = {{type|number}} y | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ | |||
|info = {{New|95.0}} | |||
}} | |||
=== Screen & Window Geometry === | === Screen & Window Geometry === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetViewGeometry | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} viewSizeX, {{type|number}} viewSizeY, {{type|number}} viewPosX, {{type|number}} viewPosY | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetWindowGeometry | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} winSizeX, {{type|number}} winSizeY, {{type|number}} winPosX, {{type|number}} winPosY | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetScreenGeometry | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} screenSizeX, {{type|number}} screenSizeY, {{type|number}} ZERO, {{type|number}} ZERO | |||
|info = Is missing multiscreen support! | |||
}} | |||
== Unit == | == Unit == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsUnitAllied | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isAllied | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUnitViewPosition | |||
|arg1 = {{type|number}} unitID {{bracket}} | |||
|arg2 = {{type|bool}} midPos = false {{rbracket}} | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} x, {{type|number}} y, {{type|number}} z | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUnitTransformMatrix | |||
|arg1 = {{type|number}} unitID {{bracket}} | |||
|arg2 = {{type|bool}} invert = false {{rbracket}} | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} a11, {{type|number}} a12 ..., {{type|number}} a44 (4x4 matrix) | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUnitSelectionVolumeData | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} scaleX, {{type|number}} scaleY, {{type|number}} scaleZ, {{type|number}} offsetX, {{type|number}} offsetY, {{type|number}} offsetZ, {{type|number}} volumeType, {{type|number}} testType, {{type|number}} primaryAxis, {{type|bool}} disabled | |||
|info = | |||
}} | |||
=== Selected Units === | === Selected Units === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetSelectedUnits | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = { {{bracket|1}} = {{type|number}} unitID, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetSelectedUnitsSorted | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = { {{bracket}}{{type|number}} unitDefID{{rbracket}} = { {{bracket|1}} = {{bracket}}{{type|number}} unitID{{rbracket}}, etc... }, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetSelectedUnitsCounts | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = { {{bracket}}{{type|number}} unitDefID{{rbracket}} = {{type|number}} count, etc... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetSelectedUnitsCount | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} count | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsUnitSelected | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isSelected | |||
|info = | |||
}} | |||
=== Unit Groups === | === Unit Groups === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUnitGroup | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} groupNumber | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGroupList | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket|number}} = {{type|number}} unitCount, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetSelectedGroup | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} groupNumber | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGroupAIName | |||
|arg1 = {{type|number}} groupID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|string}} aiName | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGroupAIList | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = { {{bracket|1}} = {{type|string}} aiName, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGroupUnits | |||
|arg1 = {{type|number}} groupID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket|1}} = {{type|number}} unitID, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGroupUnitsSorted | |||
|arg1 = {{type|number}} groupID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket}}{{type|number}} unitDefID{{rbracket}} = { {{type|number}} unitID, ... }, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGroupUnitsCounts | |||
|arg1 = {{type|number}} groupID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket}}{{type|number}} unitDefID{{rbracket}} = {{type|number}} count, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGroupUnitsCount | |||
|arg1 = {{type|number}} groupID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} count | |||
|info = | |||
}} | |||
== Feature == | == Feature == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetFeatureSelectionVolumeData | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} scaleX, {{type|number}} scaleY, {{type|number}} scaleZ, {{type|number}} offsetX, {{type|number}} offsetY, {{type|number}} offsetZ, {{type|number}} volumeType, {{type|number}} testType, {{type|number}} primaryAxis, {{type|bool}} disabled | |||
|info = | |||
}} | |||
== Projectiles == | == Projectiles == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetVisibleProjectiles | |||
|arg1 = {{bracket}} {{type|number}} allyTeamID = -1 {{bracket}} | |||
|arg2 = {{type|bool}} addSyncedProjectiles = true {{bracket}} | |||
|arg3 = {{type|bool}} addWeaponProjectiles = true {{bracket}} | |||
|arg4 = {{type|bool}} addPieceProjectiles = true {{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}} | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket|1}} = {{type|number}} projectileID, ... } | |||
|info = | |||
}} | |||
== UI == | == UI == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUICommands | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
Returns a list of available [[UI commands]]. | |arg6 = | ||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket|1}} = { command={{type|string}}, description={{type|string}}, synced={{type|bool}}, cheat={{type|bool}}}, ... } | |||
|info = {{new|101.0}}<br>Returns a list of available [[UI commands]]. | |||
}} | |||
=== GUI Settings === | === GUI Settings === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsGUIHidden | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isHidden | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = HaveShadows | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} haveShadows | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = HaveAdvShading | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} haveShading | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetWaterMode | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} mode, {{type|string}} mode | |||
|info = | |||
}} | |||
<pre> mode numbers: | |||
0 - basic | 0 - basic | ||
1 - reflective | 1 - reflective | ||
| Line 260: | Line 1,109: | ||
3 - refractive | 3 - refractive | ||
4 - bumpwater | 4 - bumpwater | ||
default - unknown</ | default - unknown</pre> | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMapDrawMode | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|string}} "normal" {{pipe}} {{type|string}} "height" {{pipe}} {{type|string}} "metal" {{pipe}} {{type|string}} "pathTraversability" {{pipe}} {{type|string}} "los" | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetDrawSelectionInfo | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} drawSelectInfo | |||
|info = Returns whether "Selected units" text is displayed. | |||
}} | |||
=== Unit & Feature GUI States === | === Unit & Feature GUI States === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUnitLuaDraw | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} unitDraw | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUnitNoDraw | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} noDraw | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUnitNoMinimap | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} noMinimap | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetUnitNoSelect | |||
|arg1 = {{type|number}} unitID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} noSelect | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetFeatureLuaDraw | |||
|arg1 = {{type|number}} featureID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} featureDraw | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetFeatureNoDraw | |||
|arg1 = {{type|number}} featureID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} noDraw | |||
|info = | |||
}} | |||
=== Minimap === | === Minimap === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMiniMapGeometry | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} posX, {{type|number}} posY, {{type|number}} sizeX, {{type|number}} sizeY, {{type|bool}} minimized, {{type|bool}} maximized | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMiniMapDualScreen | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} false {{pipe}} {{type|string}} "left" {{pipe}} {{type|string}} "right" | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = IsAboveMiniMap | |||
|arg1 = {{type|number}} x | |||
|arg2 = {{type|number}} y | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} isAbove | |||
|info = | |||
}} | |||
=== (Build-)Menu === | === (Build-)Menu === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetActiveCommand | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} index {{bracket}}, {{type|number}} cmd_id, {{type|number}} cmd_type, {{type|string}} cmd_name {{rbracket}} | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetDefaultCommand | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} index {{bracket}}, {{type|number}} cmd_id, {{type|number}} cmd_type, {{type|string}} cmd_name {{rbracket}} | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetActiveCmdDescs | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|table}} cmdDesc | |||
|info = cmdDesc contains: | |||
}} | |||
<pre>cmdDesc = { | |||
[1] = { | [1] = { | ||
id=number, | id=number, | ||
| Line 311: | Line 1,370: | ||
params = { [1] = string, .. } | params = { [1] = string, .. } | ||
}, ... | }, ... | ||
} | }</pre> | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetActiveCmdDesc | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|table}} cmdDesc | |||
|info = cmdDesc contains: | |||
}} | |||
<pre>cmdDesc = { | |||
id=number, | id=number, | ||
type=number, | type=number, | ||
| Line 326: | Line 1,401: | ||
onlyTexture=boolean, | onlyTexture=boolean, | ||
params = { [1] = string, .. } | params = { [1] = string, .. } | ||
} | }</pre> | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetCmdDescIndex | |||
|arg1 = {{type|number}} cmdID | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} index | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetActivePage | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} pageNum, {{type|number}} maxPages | |||
|info = | |||
}} | |||
=== Build Facing === | === Build Facing === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetBuildFacing | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} facing | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetBuildSpacing | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} spacing | |||
|info = | |||
}} | |||
=== GatherMode & InvertQueueKey === | === GatherMode & InvertQueueKey === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGatherMode | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} gatherMode | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetInvertQueueKey | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} queueKey | |||
|info = | |||
}} | |||
=== Mouse States === | === Mouse States === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMouseState | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} x, {{type|number}} y, {{type|bool}} leftPressed, {{type|bool}} middlePressed, {{type|bool}} rightPressed, {{type|bool}} offscreen | |||
|info = {{new|104.0}} Sixth return value offscreen.<br>X, Y are the screen coordinates, not world ones. This coordinate system starts in the lower left corner. For world coordinates see Spring.TraceScreenRay. | |||
}} | |||
{{ | {{LuaCallout | ||
|prefix = Spring. | |||
|name = GetMouseCursor | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|string }} name, {{type|number}} scale | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMouseStartPosition | |||
|arg1 = {{type|number}} mouseButton | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} pressedX, {{type|number}} pressedY, {{type|number}} camPosX, {{type|number}} camPosY, {{type|number}} camPosZ, {{type|number}} dirX, {{type|number}} dirY, {{type|number}} dirZ | |||
|info = | |||
}} | |||
=== (Hot-)Keys === | === (Hot-)Keys === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetKeyState | |||
|arg1 = {{type|number}} key | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|bool}} keyState | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetModKeyState | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} alt, {{type|bool}} ctrl, {{type|bool}} meta, {{type|bool}} shift | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetPressedKeys | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = { {{bracket}}{{type|number}} code{{rbracket}} = {{type|bool}}, {{bracket}}{{type|string}} name{{rbracket}} = {{type|bool}}, ... } | |||
|info = {{new|99.0}}: {{type|string}} name | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetKeyCode | |||
|arg1 = {{type|string}} keysym | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} keyCode | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetKeySymbol | |||
|arg1 = {{type|number}} key | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|string}} "keysym1", {{type|string}} "keysym2" | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetKeyBindings | |||
|arg1 = {{type|string}} keyset | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|table}} keyBindings | |||
|info = keyBindings contains: | |||
}} | |||
<pre>keyBindings = { | |||
[1] = { | [1] = { | ||
[string actionCmd] = string actionExtra, | [string actionCmd] = string actionExtra, | ||
| Line 388: | Line 1,669: | ||
extra = string actionExtra, {{new|97}} | extra = string actionExtra, {{new|97}} | ||
}, ... | }, ... | ||
} | }</pre> | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetActionHotKeys | |||
|arg1 = {{type|string}} action | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket|1}} = {{type|string}} hotKey, ... } | |||
|info = | |||
}} | |||
=== Console === | === Console === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetLastMessagePositions | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket|1}} = { {{type|number}} x, {{type|number}} y, {{type|number}} z }, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetConsoleBuffer | |||
|arg1 = {{bracket}}{{type|number}} maxLines{{rbracket}} | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} { {{bracket|1}} = { text = {{type|string}}, priority = {{type|number}} }, ... } | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetCurrentTooltip | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|string}} tooltip | |||
|info = | |||
}} | |||
=== LOS Colors === | === LOS Colors === | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetLosViewColors | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|table}} always = {r,g,b}, {{type|table}} LOS = {r,g,b}, {{type|table}} radar = {r,g,b}, {{type|table}} jam = {r,g,b}, {{type|table}} radar2 = {r,g,b} | |||
|info = {{new|100}} | |||
}} | |||
== Config == | == Config == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetConfigParams | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|table}} configParams | |||
|info = Same information as <code>spring --list-config-vars</code><br>configParams contains: | |||
}} | |||
<pre>configParams = { | |||
{ | { | ||
name = string, | name = string, | ||
| Line 429: | Line 1,790: | ||
}, | }, | ||
... | ... | ||
} | }</pre> | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetConfigInt | |||
|arg1 = {{type|string}} name {{bracket}} | |||
|arg2 = {{type|number}} default {{rbracket}} | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} configInt | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetConfigFloat | |||
|arg1 = {{type|string}} name {{bracket}} | |||
|arg2 = {{type|number}} default {{rbracket}} | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} configFloat | |||
|info = {{new|104.0}} | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetConfigString | |||
|arg1 = {{type|string}} name {{bracket}} | |||
|arg2 = {{type|number}} default {{rbracket}} | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|string}} configString | |||
|info = | |||
}} | |||
== FPS & GetDrawFrame == | == FPS & GetDrawFrame == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetFPS | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} fps | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetDrawFrame | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} low_16bit, {{type|number}} high_16bit | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetVideoCapturingMode | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} videoCaptureAllowed | |||
|info = {{new|104.0}} | |||
}} | |||
== Time == | == Time == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
{{New|95.0}} | |name = GetGameSpeed | ||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} userSpeedFactor, {{type|number}} speedFactor, {{type|bool}} paused | |||
|info = {{new|98.0}} | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetGameState | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} finishedLoading, {{type|bool}} loadedFromSave, {{type|bool}} locallyPaused, {{type|bool}} laggingWrtExpectedFromSimtime | |||
|info = {{new|105.0}} | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetFrameTimeOffset | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} offset | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetLastUpdateSeconds | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|nil}} {{pipe}} {{type|number}} lastUpdateSeconds | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetHasLag | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} hasLag | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetTimer | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|timer}} | |||
|info = | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetFrameTimer | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|timer}} | |||
|info = {{new|102.0}}<br>Get a timer for the start of the frame, this should give better results for camera interpolations. | |||
}} | |||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = DiffTimers | |||
|arg1 = {{type|timer}} cur | |||
|arg2 = {{type|timer}} ago {{bracket}} | |||
|arg3 = {{type|bool}} inMilliseconds {{rbracket}} | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|number}} seconds | |||
|info = {{New|95.0}}<br>Optional third argument (boolean) to return dt in milliseconds. | |||
}} | |||
== Rendering == | == Rendering == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetMapSquareTexture | |||
|arg1 = {{type|number}} texSqrX, {{type|number}} texSqrY | |||
|arg2 = {{type|number}} texMipLvl | |||
|arg3 = {{type|string}} luaTexName | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|bool}} success | |||
|info = | |||
}} | |||
== Logging == | == Logging == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetLogSections | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|table}} logSections = { "KeyBindings" = LOG.INFO, "Font" = LOG.INFO, "Sound" = LOG.WARNING, ... } | |||
|info = | |||
}} | |||
== Misc == | == Misc == | ||
{{LuaCallout | |||
|prefix = Spring. | |||
|name = GetClipboard | |||
|arg1 = | |||
|arg2 = | |||
|arg3 = | |||
|arg4 = | |||
|arg5 = | |||
|arg6 = | |||
|arg7 = | |||
|arg8 = | |||
|arg9 = | |||
|return = {{type|string}} text | |||
|info = {{new|98.0}} | |||
}} | |||
[[category: Lua]] | [[category: Lua]] | ||
Revision as of 22:28, 19 April 2021
Development < Lua Scripting < Lua UnsyncedRead
Unsynced Read
Replay/Spectating
Spring.IsReplay
( )
return: nil | bool isReplay
Spring.GetReplayLength
( )
return: nil | number timeInSeconds
- New in version 92.0
Spring.GetSpectatingState
( )
return: bool spectating, bool fullView, bool fullSelect
Game/Menu Name
Spring.GetGameName
( )
return: string name
- New in version 104.0
Apparently returns name .. version from Modinfo.lua. E.g. "Spring: 1944 test-5640-ac2d15b".
Spring.GetMenuName
( )
return: string name
- New in version 104.0
ModUI
Spring.GetModUICtrl
( )
return: bool ModUICtrl
MyInfo
Spring.GetMyAllyTeamID
( )
return: number allyTeamID
Spring.GetMyTeamID
( )
return: number teamID
Spring.GetMyPlayerID
( )
return: number playerID
Local Player,Team,Ally
Redundant same as the GetMyXYZ functions!
Spring.GetLocalPlayerID
( )
return: number playerID
Spring.GetLocalTeamID
( )
return: number teamID
Spring.GetLocalTeamID
( )
return: number allyID
Team/Player Info
Spring.GetPlayerRoster
( [number sortType] | [number sortType], [bool showPathingPlayers] )
return: nil | table playerTable
- "playerTable" contains:
playerTable = {
[1] = {
string name,
number playerID,
number teamID,
number allyTeamID,
boolean spectator,
number cpuUsage,
number pingTime
},
etc...
}
if pingTime == -1, the player is pathfinding, in order to find the progress, use:
cpuUsage&0x1 if it's PC or BO, cpuUsage& 0xFE to get path res, (cpuUsage>>8)*1000
for the progress
Sort codes:
1 = Sort by allies (the default)
2 = Sort by teamID
3 = Sort by playerName
4 = Sort by CPU usage
5 = Sort by ping time
Spring.GetTeamColor
( number teamID )
return: nil | number r, number g, number b, number a
Spring.GetTeamOrigColor
( number teamID )
return: nil | number r, number g, number b, number a
Spring.GetPlayerTraffic
( number playerID [,
number packetID ] )
return: number traffic
Sound
Spring.GetSoundStreamTime
( )
return: number playedTime, number totalTime,
Camera
Spring.GetCameraNames
( )
return: { [camName] = number camNum, ... }
Spring.GetCameraState
( )
return: { "name" = string, "mode" = number camIdx, state1 = number, state2 = number, ... }
- See Lua_camState for details about Spring.GetCameraState output.
Spring.GetCameraPosition
( )
return: number x, number y, number z
Spring.GetCameraDirection
( )
return: number forward_x, number forward_y, number forward_z
Spring.GetCameraFOV
( )
return: number vFov, number hFov
Spring.GetCameraVectors
( )
return: table vectorTable
- vectorTable contains:
vectorTable = {
forward = { [1] = number x, [2] = number y, [3] = number z },
up = { [1] = number x, [2] = number y, [3] = number z },
right = { [1] = number x, [2] = number y, [3] = number z },
top = { [1] = number x, [2] = number y, [3] = number z },
bottom = { [1] = number x, [2] = number y, [3] = number z },
leftside = { [1] = number x, [2] = number y, [3] = number z },
rightside = { [1] = number x, [2] = number y, [3] = number z }
}
Inview
Spring.GetVisibleUnits
( [number teamID = -1 [,
number radius = 30 [,
bool Icons = true ]]] )
return: nil | table unitTable = { [1] = number unitID, ... }
Spring.GetVisibleFeatures
( [number allyTeamID = -1 [,
number radius = 30 [,
bool Icons = true [,
bool geos = true ]]]] )
return: nil | table featureTable = { [1] = number featureID, ... }
Spring.IsAABBInView
( number minX, number minY, number minZ,
number maxX, number maxY, number maxZ )
return: nil | bool isInView
Spring.IsSphereInView
( number x, number y, number z [,
number radius ] )
return: nil | bool isInView
Spring.IsUnitIcon
( number unitID )
return: nil | bool isUnitIcon
Spring.IsUnitInView
( number unitID )
return: nil | bool isUnitInView
Spring.IsUnitVisible
( number unitID [,
number radius [,
bool checkIcons ]] )
return: nil | bool isVisible
Screen Trace
Spring.WorldToScreenCoords
( number x, number y, number z )
return: number x, number y, number z
Spring.TraceScreenRay
( number mouseX, number mouseY, number mouseZ [,
bool onlyCoords [,
bool useMinimap [,
bool includeSky [,
bool ignoreWater [,
number D ]]]]] )
return: nil | string unit, number unitID | string feature, number featureID | string ground, table coords = { [1] = number x, [2] = number y, [3] = number z }
- New in version 101.0
Extended to allow a custom plane, parameters are (0, 1, 0, D=0) where D is the offset D can be specified in the third argument (if all the bools are false) or in the seventh (as shown). Intersection coordinates are returned in t[4],t[5],t[6] when the ray goes offmap and includeSky is true), or when no unit or feature is hit (or onlyCoords is true). This will only work for units & objects with the default collission sphere. Per Piece collission and custom collission objects are not supported. The unit must be selectable, to appear to a screen trace ray.
To get map coordinates under mouse cursor: input mouse coordinates obtained via GetMouseState() and pass true for the onlyCoords parameter. Be careful as going off map will result in nil:
local mouseX, mouseY = Spring.GetMouseState()
print ("Mouse coordinates: (" .. mouseX .. ", " .. mouseY .. ")")
local desc, args = Spring.TraceScreenRay(mouseX, mouseY, true)
if nil == desc then return end -- off map
local x = args[1]
local y = args[2]
local z = args[3]
print ("World coordinates: (" .. x .. ", " .. y .. ", " .. z .. ")")
Spring.GetPixelDir
( number x,
number y )
return: number dirX, number dirY, number dirZ
- New in version 95.0
Screen & Window Geometry
Spring.GetViewGeometry
( )
return: number viewSizeX, number viewSizeY, number viewPosX, number viewPosY
Spring.GetWindowGeometry
( )
return: number winSizeX, number winSizeY, number winPosX, number winPosY
Spring.GetScreenGeometry
( )
return: number screenSizeX, number screenSizeY, number ZERO, number ZERO
- Is missing multiscreen support!
Unit
Spring.IsUnitAllied
( number unitID )
return: nil | bool isAllied
Spring.GetUnitViewPosition
( number unitID [,
bool midPos = false ] )
return: nil | number x, number y, number z
Spring.GetUnitTransformMatrix
( number unitID [,
bool invert = false ] )
return: nil | number a11, number a12 ..., number a44 (4x4 matrix)
Spring.GetUnitSelectionVolumeData
( number unitID )
return: number scaleX, number scaleY, number scaleZ, number offsetX, number offsetY, number offsetZ, number volumeType, number testType, number primaryAxis, bool disabled
Selected Units
Spring.GetSelectedUnits
( )
return: { [1] = number unitID, ... }
Spring.GetSelectedUnitsSorted
( )
return: { [number unitDefID] = { [1] = [number unitID], etc... }, ... }
Spring.GetSelectedUnitsCounts
( )
return: { [number unitDefID] = number count, etc... }
Spring.GetSelectedUnitsCount
( )
return: number count
Spring.IsUnitSelected
( number unitID )
return: nil | bool isSelected
Unit Groups
Spring.GetUnitGroup
( number unitID )
return: nil | number groupNumber
Spring.GetGroupList
( )
return: nil | { [number] = number unitCount, ... }
Spring.GetSelectedGroup
( )
return: number groupNumber
Spring.GetGroupAIName
( number groupID )
return: string aiName
Spring.GetGroupAIList
( )
return: { [1] = string aiName, ... }
Spring.GetGroupUnits
( number groupID )
return: nil | { [1] = number unitID, ... }
Spring.GetGroupUnitsSorted
( number groupID )
return: nil | { [number unitDefID] = { number unitID, ... }, ... }
Spring.GetGroupUnitsCounts
( number groupID )
return: nil | { [number unitDefID] = number count, ... }
Spring.GetGroupUnitsCount
( number groupID )
return: nil | number count
Feature
Spring.GetFeatureSelectionVolumeData
( number unitID )
return: number scaleX, number scaleY, number scaleZ, number offsetX, number offsetY, number offsetZ, number volumeType, number testType, number primaryAxis, bool disabled
Projectiles
Spring.GetVisibleProjectiles
( [ number allyTeamID = -1 [,
bool addSyncedProjectiles = true [,
bool addWeaponProjectiles = true [,
bool addPieceProjectiles = true ]]]] )
return: nil | { [1] = number projectileID, ... }
UI
Spring.GetUICommands
( )
return: nil | { [1] = { command=string, description=string, synced=bool, cheat=bool}, ... }
- New in version 101.0
Returns a list of available UI commands.
GUI Settings
Spring.IsGUIHidden
( )
return: nil | bool isHidden
Spring.HaveShadows
( )
return: nil | bool haveShadows
Spring.HaveAdvShading
( )
return: nil | bool haveShading
Spring.GetWaterMode
( )
return: nil | number mode, string mode
mode numbers:
0 - basic
1 - reflective
2 - dynamic
3 - refractive
4 - bumpwater
default - unknown
Spring.GetMapDrawMode
( )
return: nil | string "normal" | string "height" | string "metal" | string "pathTraversability" | string "los"
Spring.GetDrawSelectionInfo
( )
return: bool drawSelectInfo
- Returns whether "Selected units" text is displayed.
Unit & Feature GUI States
Spring.GetUnitLuaDraw
( number unitID )
return: nil | bool unitDraw
Spring.GetUnitNoDraw
( number unitID )
return: nil | bool noDraw
Spring.GetUnitNoMinimap
( number unitID )
return: nil | bool noMinimap
Spring.GetUnitNoSelect
( number unitID )
return: nil | bool noSelect
Spring.GetFeatureLuaDraw
( number featureID )
return: nil | bool featureDraw
Spring.GetFeatureNoDraw
( number featureID )
return: nil | bool noDraw
Minimap
Spring.GetMiniMapGeometry
( )
return: number posX, number posY, number sizeX, number sizeY, bool minimized, bool maximized
Spring.GetMiniMapDualScreen
( )
return: bool false | string "left" | string "right"
Spring.IsAboveMiniMap
( number x,
number y )
return: nil | bool isAbove
(Build-)Menu
Spring.GetActiveCommand
( )
return: nil | number index [, number cmd_id, number cmd_type, string cmd_name ]
Spring.GetDefaultCommand
( )
return: nil | number index [, number cmd_id, number cmd_type, string cmd_name ]
Spring.GetActiveCmdDescs
( )
return: nil | table cmdDesc
- cmdDesc contains:
cmdDesc = {
[1] = {
id=number,
type=number,
name=string,
action=string,
tooltip=string,
texture=string,
cursor=string,
hidden=boolean,
disabled=boolean,
showUnique=boolean,
onlyTexture=boolean,
params = { [1] = string, .. }
}, ...
}
Spring.GetActiveCmdDesc
( )
return: nil | table cmdDesc
- cmdDesc contains:
cmdDesc = {
id=number,
type=number,
name=string,
action=string,
tooltip=string,
texture=string,
cursor=string,
hidden=boolean,
disabled=boolean,
showUnique=boolean,
onlyTexture=boolean,
params = { [1] = string, .. }
}
Spring.GetCmdDescIndex
( number cmdID )
return: nil | number index
Spring.GetActivePage
( )
return: nil | number pageNum, number maxPages
Build Facing
Spring.GetBuildFacing
( )
return: nil | number facing
Spring.GetBuildSpacing
( )
return: nil | number spacing
GatherMode & InvertQueueKey
Spring.GetGatherMode
( )
return: nil | number gatherMode
Spring.GetInvertQueueKey
( )
return: nil | number queueKey
Mouse States
Spring.GetMouseState
( )
return: number x, number y, bool leftPressed, bool middlePressed, bool rightPressed, bool offscreen
- New in version 104.0 Sixth return value offscreen.
X, Y are the screen coordinates, not world ones. This coordinate system starts in the lower left corner. For world coordinates see Spring.TraceScreenRay.
Spring.GetMouseCursor
( )
return: string name, number scale
Spring.GetMouseStartPosition
( number mouseButton )
return: nil | number pressedX, number pressedY, number camPosX, number camPosY, number camPosZ, number dirX, number dirY, number dirZ
(Hot-)Keys
Spring.GetKeyState
( number key )
return: nil | bool keyState
Spring.GetModKeyState
( )
return: bool alt, bool ctrl, bool meta, bool shift
Spring.GetPressedKeys
( )
return: { [number code] = bool, [string name] = bool, ... }
- New in version 99.0: string name
Spring.GetKeyCode
( string keysym )
return: number keyCode
Spring.GetKeySymbol
( number key )
return: string "keysym1", string "keysym2"
Spring.GetKeyBindings
( string keyset )
return: nil | table keyBindings
- keyBindings contains:
keyBindings = {
[1] = {
[string actionCmd] = string actionExtra,
command = string actionCmd, {{new|97}}
boundWith = string boundWith, {{new|97}}
extra = string actionExtra, {{new|97}}
}, ...
}
Spring.GetActionHotKeys
( string action )
return: nil | { [1] = string hotKey, ... }
Console
Spring.GetLastMessagePositions
( )
return: nil | { [1] = { number x, number y, number z }, ... }
Spring.GetConsoleBuffer
( [number maxLines] )
return: nil | { [1] = { text = string, priority = number }, ... }
Spring.GetCurrentTooltip
( )
return: string tooltip
LOS Colors
Spring.GetLosViewColors
( )
return: table always = {r,g,b}, table LOS = {r,g,b}, table radar = {r,g,b}, table jam = {r,g,b}, table radar2 = {r,g,b}
- New in version 100
Config
Spring.GetConfigParams
( )
return: table configParams
- Same information as
spring --list-config-vars
configParams contains:
configParams = {
{
name = string,
type = string,
[ description = string, ]
[ defaultValue = string, ]
[ minimumValue = string, ]
[ maximumValue = string, ]
[ safemodeValue = string, ]
[ declarationFile = string, ]
[ declarationLine = number, ]
[ readOnly = bool, ]
},
...
}
Spring.GetConfigInt
( string name [,
number default ] )
return: nil | number configInt
Spring.GetConfigFloat
( string name [,
number default ] )
return: nil | number configFloat
- New in version 104.0
Spring.GetConfigString
( string name [,
number default ] )
return: nil | string configString
FPS & GetDrawFrame
Spring.GetFPS
( )
return: number fps
Spring.GetDrawFrame
( )
return: number low_16bit, number high_16bit
Spring.GetVideoCapturingMode
( )
return: bool videoCaptureAllowed
- New in version 104.0
Time
Spring.GetGameSpeed
( )
return: number userSpeedFactor, number speedFactor, bool paused
- New in version 98.0
Spring.GetGameState
( )
return: bool finishedLoading, bool loadedFromSave, bool locallyPaused, bool laggingWrtExpectedFromSimtime
- New in version 105.0
Spring.GetFrameTimeOffset
( )
return: nil | number offset
Spring.GetLastUpdateSeconds
( )
return: nil | number lastUpdateSeconds
Spring.GetHasLag
( )
return: bool hasLag
Spring.GetTimer
( )
return: timer
Spring.GetFrameTimer
( )
return: timer
- New in version 102.0
Get a timer for the start of the frame, this should give better results for camera interpolations.
Spring.DiffTimers
( timer cur,
timer ago [,
bool inMilliseconds ] )
return: number seconds
- New in version 95.0
Optional third argument (boolean) to return dt in milliseconds.
Rendering
Spring.GetMapSquareTexture
( number texSqrX, number texSqrY,
number texMipLvl,
string luaTexName )
return: bool success
Logging
Spring.GetLogSections
( )
return: table logSections = { "KeyBindings" = LOG.INFO, "Font" = LOG.INFO, "Sound" = LOG.WARNING, ... }
Misc
Spring.GetClipboard
( )
return: string text
- New in version 98.0