Lua UnsyncedRead: Difference between revisions
77b (not finished) |
77b update (finished) |
||
| Line 1: | Line 1: | ||
== Replay/Spectating == | == Replay/Spectating == | ||
<span style="font-size: 96%"> | |||
'''Spring.IsReplay''' | '''Spring.IsReplay''' | ||
( ) -> nil | boolean | ( ) -> nil | boolean | ||
'''Spring.GetSpectatingState''' | '''Spring.GetSpectatingState''' | ||
( ) -> boolean spectating, boolean fullView, boolean fullSelect | ( ) -> boolean spectating, boolean fullView, boolean fullSelect | ||
</span> | |||
== Unit == | == Unit == | ||
| Line 37: | Line 39: | ||
'''Spring.GetTeamOrigColor''' | '''Spring.GetTeamOrigColor''' | ||
( number teamID ) -> nil | number r, number g, number b, number a | ( number teamID ) -> nil | number r, number g, number b, number a | ||
'''Spring.GetPlayerTraffic''' | |||
( number playerID [, number packetID] ) -> number | |||
== Local Player,Team,Ally == | == Local Player,Team,Ally == | ||
| Line 76: | Line 80: | ||
'''Spring.GetMapDrawMode''' | '''Spring.GetMapDrawMode''' | ||
( ) -> nil | "normal" | "height" | "metal" | "path" | "los" | ( ) -> nil | "normal" | "height" | "metal" | "path" | "los" | ||
'''Spring.GetDrawSelectionInfo''' | |||
( ) -> boolean | |||
== Unit GUI States == | == Unit GUI States == | ||
| Line 144: | Line 150: | ||
'''Spring.GetWindowGeometry''' | '''Spring.GetWindowGeometry''' | ||
( ) -> number winSizeX, number winSizeY, number winPosX, number winPosY | ( ) -> number winSizeX, number winSizeY, number winPosX, number winPosY | ||
'''Spring.GetScreenGeometry''' ( | '''Spring.GetScreenGeometry''' (is missing multiscreen support!) | ||
( ) -> number screenSizeX, number screenSizeY, number ZERO, number ZERO | ( ) -> number screenSizeX, number screenSizeY, number ZERO, number ZERO | ||
== Minimap == | == Minimap == | ||
'''Spring.GetMiniMapGeometry''' | '''Spring.GetMiniMapGeometry''' | ||
( ) -> number posX, number posY, number sizeX, number sizeY, boolean minimized, boolean maximized | ( ) -> number posX, number posY, number sizeX, number sizeY, | ||
boolean minimized, boolean maximized | |||
'''Spring.GetMiniMapDualScreen''' | '''Spring.GetMiniMapDualScreen''' | ||
( ) -> boolean false | string "left" | string "right" | ( ) -> boolean false | string "left" | string "right" | ||
| Line 172: | Line 179: | ||
'''Spring.DiffTimers''' | '''Spring.DiffTimers''' | ||
( timer1, timer2 ) -> number seconds | ( timer1, timer2 ) -> number seconds | ||
== ModUI == | == ModUI == | ||
| Line 201: | Line 207: | ||
} | } | ||
'''Spring.GetActiveCmdDesc''' | '''Spring.GetActiveCmdDesc''' | ||
( ) -> nil | { | ( number index ) -> nil | { | ||
id=number, | id=number, | ||
type=number, | type=number, | ||
| Line 216: | Line 222: | ||
} | } | ||
'''Spring.GetCmdDescIndex''' | '''Spring.GetCmdDescIndex''' | ||
( ) -> nil | number index | ( number cmdID ) -> nil | number index | ||
'''Spring.GetActivePage''' | '''Spring.GetActivePage''' | ||
( ) -> nil | number pageNum, number maxPages | ( ) -> nil | number pageNum, number maxPages | ||
| Line 226: | Line 232: | ||
( ) -> nil | number | ( ) -> nil | number | ||
== GatherMode & InvertQueueKey == | |||
'''Spring.GetGatherMode''' | '''Spring.GetGatherMode''' | ||
( ) -> nil | number | ( ) -> nil | number | ||
'''Spring.GetInvertQueueKey''' | |||
( ) -> nil | boolean | |||
== Mouse Presses == | |||
'''Spring.GetMouseState''' | '''Spring.GetMouseState''' | ||
( ) -> number movedX, number movedY, | |||
boolean leftPressed, boolean middlePressed, boolean rightPressed | |||
'''Spring.GetMouseCursor''' | '''Spring.GetMouseCursor''' | ||
( ) -> string name, number scale | |||
'''Spring.GetMouseStartPosition''' | '''Spring.GetMouseStartPosition''' | ||
( number mouseButton ) -> nil | number pressedX, number pressedY, | |||
number camPosX, number camPosY, number camPosZ, | |||
number dirX, number dirY, number dirZ | |||
== (Hot-)Keys == | |||
'''Spring.GetKeyState''' | '''Spring.GetKeyState''' | ||
( number key ) -> nil | boolean | |||
'''Spring.GetModKeyState''' | '''Spring.GetModKeyState''' | ||
( ) -> boolean alt, boolean ctrl, boolean meta, boolean shift | |||
'''Spring.GetPressedKeys''' | '''Spring.GetPressedKeys''' | ||
( ) -> { | |||
[number] = boolean, | |||
... | |||
} | |||
'''Spring.GetKeyCode''' | '''Spring.GetKeyCode''' | ||
( string keysym ) -> number | |||
'''Spring.GetKeySymbol''' | '''Spring.GetKeySymbol''' | ||
( number key ) -> string "keysym1", string "keysym2" | |||
'''Spring.GetKeyBindings''' | '''Spring.GetKeyBindings''' | ||
( string keyset ) -> nil | { [1] = {string actionCmd, string actionExtra}, ... } | |||
'''Spring.GetActionHotKeys''' | '''Spring.GetActionHotKeys''' | ||
( string action ) -> nil | { [1] = string hotKey, ... } | |||
== Console == | |||
'''Spring.GetLastMessagePositions''' | '''Spring.GetLastMessagePositions''' | ||
( ) -> nil | { | |||
[1] = { number X, number Y, number Z }, | |||
... | |||
} | |||
'''Spring.GetConsoleBuffer''' | '''Spring.GetConsoleBuffer''' | ||
( [number maxLines] ) -> nil | { | |||
[1] = { | |||
text = string, | |||
priority = number | |||
}, ... | |||
} | |||
'''Spring.GetCurrentTooltip''' | '''Spring.GetCurrentTooltip''' | ||
( ) -> string | |||
== MyInfo == | |||
'''Spring.GetMyAllyTeamID''' | '''Spring.GetMyAllyTeamID''' | ||
( ) -> number | |||
'''Spring.GetMyTeamID''' | '''Spring.GetMyTeamID''' | ||
( ) -> number | |||
'''Spring.GetMyPlayerID''' | '''Spring.GetMyPlayerID''' | ||
( ) -> number | |||
== Groups == | |||
'''Spring.GetUnitGroup''' | |||
( number unitID ) -> nil | number | |||
'''Spring.GetGroupList''' | '''Spring.GetGroupList''' | ||
( ) -> nil | { | |||
[number] = number unitCount, | |||
... | |||
} | |||
'''Spring.GetSelectedGroup''' | '''Spring.GetSelectedGroup''' | ||
( ) -> number | |||
'''Spring.GetGroupAIName''' | '''Spring.GetGroupAIName''' | ||
( number groupID ) -> string aiName | |||
'''Spring.GetGroupAIList''' | '''Spring.GetGroupAIList''' | ||
( ) -> { | |||
[1] = string aiName, ... | |||
} | |||
'''Spring.GetGroupUnits''' | '''Spring.GetGroupUnits''' | ||
( number groupID ) -> nil | { | |||
[1] = number unitID, ... | |||
} | |||
'''Spring.GetGroupUnitsSorted''' | '''Spring.GetGroupUnitsSorted''' | ||
( number groupID ) -> nil | { | |||
[number unitDefID] = {number unitID, ...}, ... | |||
} | |||
'''Spring.GetGroupUnitsCounts''' | '''Spring.GetGroupUnitsCounts''' | ||
( number groupID ) -> nil | { | |||
[number unitDefID] = number count, ... | |||
} | |||
'''Spring.GetGroupUnitsCount''' | '''Spring.GetGroupUnitsCount''' | ||
( number groupID ) -> nil | number count | |||
Revision as of 05:17, 29 December 2008
Replay/Spectating
Spring.IsReplay
( ) -> nil | boolean
Spring.GetSpectatingState
( ) -> boolean spectating, boolean fullView, boolean fullSelect
Unit
Spring.IsUnitAllied
( number unitID ) -> nil | boolean
Spring.GetUnitViewPosition
( number unitID [, boolean extrapolated ] ) -> nil | boolean
Team/Player Info
Spring.GetPlayerRoster
( [number sortType] ) ->
nil | playerTable = {
[1] = {
string name,
number playerID,
number teamID,
number allyTeamID,
boolean spectator,
numebr cpuUsage,
number pingTime
},
etc...
}
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 ) -> nil | number r, number g, number b, number a
Spring.GetTeamOrigColor
( number teamID ) -> nil | number r, number g, number b, number a
Spring.GetPlayerTraffic
( number playerID [, number packetID] ) -> number
Local Player,Team,Ally
Spring.GetLocalPlayerID
( ) -> number playerID
Spring.GetLocalTeamID
( ) -> number teamID
Spring.GetLocalAllyTeamID
( ) -> number allyID
Selected Units
Spring.GetSelectedUnits
( ) -> { [1] = unitID, ... }
Spring.GetSelectedUnitsSorted
( ) -> { [number unitDefID] = { [1] = [number unitID], etc...}, ... }
Spring.GetSelectedUnitsCounts
( ) -> { [number unitDefID] = number count, etc... }
Spring.GetSelectedUnitsCount
( ) -> number count
Spring.IsUnitSelected
( number unitID ) -> nil | boolean
GUI Settings
Spring.IsGUIHidden
( ) -> nil | boolean
Spring.HaveShadows
( ) -> nil | boolean
Spring.HaveAdvShading
( ) -> nil | boolean
Spring.GetWaterMode
( ) -> nil | number mode, string "mode"
mode numbers:
0 - basic
1 - reflective
2 - dynamic
3 - refractive
default - unknown
Spring.GetMapDrawMode
( ) -> nil | "normal" | "height" | "metal" | "path" | "los"
Spring.GetDrawSelectionInfo
( ) -> boolean
Unit GUI States
Spring.GetUnitLuaDraw
( number unitID ) -> nil | boolean
Spring.GetUnitNoDraw
( number unitID ) -> nil | boolean
Spring.GetUnitNoMinimap
( number unitID ) -> nil | boolean
Spring.GetUnitNoSelect
( number unitID ) -> nil | boolean
Sound
Spring.GetSoundStreamTime
( ) -> number playedTime, number totalTime
Camera
Spring.GetCameraNames
( ) -> { [camName] = number camNum, ... }
Spring.GetCameraState
( ) -> { "mode" = number, "name" = string, [1] = number, [2] = number, ... }
Spring.GetCameraPosition
( ) -> number x, number y, number z
Spring.GetCameraDirection
( ) -> number forward_x, number forward_y, number forward_z
Spring.GetCameraFOV
( ) -> number fov
Spring.GetCameraVectors
( ) -> 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 [, boolean Icons ]]] )
-> nil | unitTable = { [1] = number unitID, ... }
Spring.IsAABBInView
( number minX, number minY, number minZ, number maxX, number maxY, number maxZ ) -> nil | boolean
Spring.IsSphereInView
( number x, number y, number z [, number radius ] ) -> nil | boolean
Spring.IsUnitIcon
( number unitID ) -> nil | boolean
Spring.IsUnitInView
( number unitID ) -> nil | boolean
Spring.IsUnitVisible
( number unitID [, number radius ] ) -> nil | boolean
Screen Trace
Spring.WorldToScreenCoords
( number x, number y, number z ) -> number x, number y, number z
Spring.TraceScreenRay
( number mouseX, number mouseY[, boolean onlyCoords] )
-> nil |
string "unit", number unitID |
string "feature", number featureID |
string "ground", { [1] = number x, [2] = number y, [3] = number z }
Screen & Window Geometry
Spring.GetViewGeometry
( ) -> number viewSizeX, number viewSizeY, number viewPosX, number viewPosY
Spring.GetWindowGeometry
( ) -> number winSizeX, number winSizeY, number winPosX, number winPosY
Spring.GetScreenGeometry (is missing multiscreen support!)
( ) -> number screenSizeX, number screenSizeY, number ZERO, number ZERO
Minimap
Spring.GetMiniMapGeometry
( ) -> number posX, number posY, number sizeX, number sizeY, boolean minimized, boolean maximized
Spring.GetMiniMapDualScreen
( ) -> boolean false | string "left" | string "right"
Spring.IsAboveMiniMap
( ) -> nil | boolean
DrawFrame
Spring.GetFPS
( ) -> number
Spring.GetDrawFrame
( ) -> number low 16bit, number high 16bit
Time
Spring.GetFrameTimeOffset
( ) -> nil | number
Spring.GetLastUpdateSeconds
( ) -> nil | number
Spring.GetHasLag
( ) -> boolean
Spring.GetTimer
( ) -> timer
Spring.DiffTimers
( timer1, timer2 ) -> number seconds
ModUI
Spring.GetModUICtrl
( ) -> boolean
GUI Commands
Spring.GetActiveCommand
( ) -> nil | number index (, number cmd_id, number cmd_type, string cmd_name)
Spring.GetDefaultCommand
( ) -> nil | number index (, number cmd_id, number cmd_type, string cmd_name)
Spring.GetActiveCmdDescs
( ) -> nil | {
[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
( number index ) -> nil | {
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 ) -> nil | number index
Spring.GetActivePage
( ) -> nil | number pageNum, number maxPages
Build Facing
Spring.GetBuildFacing
( ) -> nil | number
Spring.GetBuildSpacing
( ) -> nil | number
GatherMode & InvertQueueKey
Spring.GetGatherMode
( ) -> nil | number
Spring.GetInvertQueueKey
( ) -> nil | boolean
Mouse Presses
Spring.GetMouseState
( ) -> number movedX, number movedY, boolean leftPressed, boolean middlePressed, boolean rightPressed
Spring.GetMouseCursor
( ) -> string name, number scale
Spring.GetMouseStartPosition
( number mouseButton ) -> nil | number pressedX, number pressedY, number camPosX, number camPosY, number camPosZ, number dirX, number dirY, number dirZ
(Hot-)Keys
Spring.GetKeyState
( number key ) -> nil | boolean
Spring.GetModKeyState
( ) -> boolean alt, boolean ctrl, boolean meta, boolean shift
Spring.GetPressedKeys
( ) -> {
[number] = boolean,
...
}
Spring.GetKeyCode
( string keysym ) -> number
Spring.GetKeySymbol
( number key ) -> string "keysym1", string "keysym2"
Spring.GetKeyBindings
( string keyset ) -> nil | { [1] = {string actionCmd, string actionExtra}, ... }
Spring.GetActionHotKeys
( string action ) -> nil | { [1] = string hotKey, ... }
Console
Spring.GetLastMessagePositions
( ) -> nil | {
[1] = { number X, number Y, number Z },
...
}
Spring.GetConsoleBuffer
( [number maxLines] ) -> nil | {
[1] = {
text = string,
priority = number
}, ...
}
Spring.GetCurrentTooltip
( ) -> string
MyInfo
Spring.GetMyAllyTeamID
( ) -> number
Spring.GetMyTeamID
( ) -> number
Spring.GetMyPlayerID
( ) -> number
Groups
Spring.GetUnitGroup
( number unitID ) -> nil | number
Spring.GetGroupList
( ) -> nil | {
[number] = number unitCount,
...
}
Spring.GetSelectedGroup
( ) -> number
Spring.GetGroupAIName
( number groupID ) -> string aiName
Spring.GetGroupAIList
( ) -> {
[1] = string aiName, ...
}
Spring.GetGroupUnits
( number groupID ) -> nil | {
[1] = number unitID, ...
}
Spring.GetGroupUnitsSorted
( number groupID ) -> nil | {
[number unitDefID] = {number unitID, ...}, ...
}
Spring.GetGroupUnitsCounts
( number groupID ) -> nil | {
[number unitDefID] = number count, ...
}
Spring.GetGroupUnitsCount
( number groupID ) -> nil | number count