Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

VersionFunctionNote
deprecated in 4.21 Beta 1 (VR: 4.20)DEPRECATED AbilityMenuClosed()
Notifies the system that the ability menu was closed.
(warning)DEPRECATED - use FFI function CircularMenuClosed() instead
added in 4.00 RC 2AbilityMenuOpened()
Function which needs to be called, if the ability menu is opened.
 
 AbortMission(missionID)
Aborts the specified mission.
 
 ActivateDroneAbility(droneSlotNumber)
Activates the drone in the given drone slot number (valid range: 1-8).
 
 

ActivatePassiveDroneAbilities()
Activates all drones with passive abilities.

 
changed in 4.00 Beta 4addedamount = AddAmmo(defensible, ammomacroname, amount, [checkonly])
Tries to add the specified amount of the ammo to the defensible. Returns actually added amount.
Added "checkonly" parameter in 4.00 Beta 4
 

AddCargo(containerID, ware, amount)
Adds the specified amount of the ware to the object.

 
changed in 4.00 Beta 4

AddInventory(entityID, ware, amount[, crafting])
Adds the specified amount of the ware to the inventory of the entity. Optionally flag this as the result of crafting.

Added "crafting" parameter in 4.00 Beta 4
 

AddKnownItem(library, item)
Adds the item to the specified library, if not yet added. 

 
 AddLicence(faction, licencetype, licencefaction)
Adds the licence of the specified type of the licencefaction to the faction
 
 

AddLogbookEntry(category, text [, interaction [, interactioncomponent]])
Adds text as a logbook entry in the specified category.

 
 transferredamount = AddMoney(entityID, amount)
Adds or removes the specified amount to the entity account 
 
 AddPlayerDrone(macro, amount)
Adds specified macro as drones to the playership.
 
 tradeID = AddTradeToShipQueue(tradeID, containerID, amount)
Adds the specified trade to the queue of the container. Returns ID of the trade on the queue.
 
changed in 4.00 RC 2AddUITriggeredEvent(screen, control[, screenparam])
Triggers MD/AI event condition <event_ui_triggered />.
optional screenparam parameter added in 4.00 RC 2
 

AddUnits(defensibleID, unitMacro, amount, unavailable)
Adds or removes the specified amount of units to/from the defensible. Units can be flagged unavailable.

 
 string = AdjustMultilineString(string)
Helper function to fix unsupported line breaks.
 
 AIRangeUpdated(controllableID, entityID)
Triggers the object signal "range_setting_updated" on all subordinates of the controllable.
 
 AreAttackersInWarningRange 
 AreObserversInWarningRange 
 AreSliderValuesFixed 
 AttackEnemySettingChanged(defencenpcID)
Triggers the object signal "update config" on defence npc
 
 hullfraction = CalculateBuildSlotHullFraction(componentID, sequence, stage)
Calculates the fraction of hull for an individual build slot of the component.
 
 hullfraction = CalculateTotalHullFraction(componentID)
Calculates the fraction of hull of the component. 
 
 bool = CanBeSubordinateOf(controllableID, othercontrollableID)
Checks whether the controllable can be subordiante of the othercontrollable.
 
 success = CancelConversation()
Cancels the current conversation, e.g. when closing a conversation menu.
 
 bool, error = CanTradeWith(tradeID, containerID, amount)
Checks if trade is possible for the specified container.
It may be necessary to call SetVirtualCargoMode on containerID first, if the container has a shopping queue.
 bool = CanViewLiveData(objectID or zoneID)
Checks whether live data is available for the specified object or zone.
 
 bool = CheckInputProfileRegression()
Checks whether inputmap.xml version regressed in the past.
 
 bool = CheckSuitableTransportType(containerID, ware)
Checks whether the specified container can transport the ware. 
 
added in 4.00 Beta 3ClearContainerStockLimitOverride(containerID, ware)
Remove any defined stock limit for a particular ware at a ship/station.
 
 ClearContainerWarePriceOverride(destructibleID [, ware] [, buysellswitch])
Removes custom prices from the container of the destructible. Optional only for the specified ware and only buy/sell prices.
 
deprecated in 4.31 Beta 1DEPRECATED ClearErrors()
Clears the internal error log.
(warning)DEPRECATED - use FFI function ClearErrorLog() instead
 ClearLogbook([keepnumentries [, category]])
Removes all entries from the logbook. Optional a number of entries can be preserved and only affect a specified category.
 
 ClearTradeQueue(containerID)
Clear the trade queue of the specified container. 
Clearing the trade queue will not happen instantaneously, especially if a trade is of the queue is already in progress.
 CloseMenusUponMouseClick 
 bool = CompareJumpRoute(numgates, numjumps, othernumgates, othernumjumps)
Compare the length of one jump route with another. Both are specified with the amount of gate transitions and jumps they include. 
 
 64-bit int = ConvertIDTo64Bit(luaID)
Converts a luaID to a 64-bit integer, e.g.to interface with an FFI function.
 
 string = ConvertIntegerString(number [, separators [, accuracy [, notrailingspaces [, colorprefix]]]])
Formats number into a string with a given accuracy, thousand seperators, trailing spaces to offset SI prefixes and colored SI prefixes.
 
 string = ConvertMissionLevelString(difficulty)
Converts the difficulty of a mission into a string.
 
added in 4.00 Beta 1string = ConvertMissionTypeString(missiontype)
Converts the type of a mission into a string. 
 
 string = ConvertMoneyString(money [,showcents [, separators [, accuracy [, notrailingspaces [, colorprefix]]]]])
Formats a money value into a string with a given accuracy, thousand seperators, credit cents, trailing spaces to offset SI prefixes and colored SI prefixes.
 
 64-bit int = ConvertStringTo64Bit(64BitStringID)
Converts a string representing a 64-bit value to a 64-bit integer. 
 
 luaID = ConvertStringToLuaID(64BitStringID)
Converts a string representing a 64-bit value to a luaID, e.g. to pass it to MD/AI as a component.
 
changed in 4.00 Beta 1

string = ConvertTimeString(time [, format [, separators [, precision]]])
Formats a time value in seconds into a string in the provided format.

Possible specifiers in the format string:

  • %s: All seconds
  • %.#s: All seconds with precision override (# = 1...9), e.g. %.3s
  • %S: Seconds (00-59)
  • %.#S: Seconds (00-59) with precision override (# = 1...9), e.g. %.3S
  • %m: All minutes
  • %M: Minutes (00-59)
  • %h: All hours
  • %H: Hours (00-23)
  • %d: All days
  • %%: A % sign
  • %T: Use time format from TextDB, showing days only if time > 1d
  • %.#T: Like %T but with precision override (# = 1...9), e.g. %.3T

Default format is "%T" if no format string is provided.

Separators: Use thousand separators, only applies to %s, %m, %h, %d

Precision: Number of fractional digits. Only applies to %s, %S, and %T. Default is 0. Use -1 for automatic display. A value of -1 is not compatible with separators. (Can be overridden by .# notation in format string)

precision support for %s, %S, and %T were added in 4.00 Beta 1
 CreateButton 
added in 4.00 Beta 2descriptor = CreateCheckBox(checkboxDescription) 
 CreateCutsceneDescriptor 
 CreateEditBox 
 CreateFontString 
added in 4.00 Beta 1descriptor = CreateGraph(graphDescription) 
 CreateIcon 
 descriptor = CreateInteractionDescriptor(param1, param2)
Creates an interaction descriptor with the specified parameters.
 
 clusterID, objectID = CreateObjectInPresentationCluster(objectmacro [, backgroundmacro])
Creates the specified object in a new cluster with the optional background.
The cluster needs to be destroyed using DestroyPresentationCluster, when it is no longer needed.
 CreateProgressElement 
 CreateRenderTarget 
 CreateSink 
 CreateSlider 
 CreateSliderTableView 
 CreateSliderView 
 CreateSource 
changed in 4.21 Beta 1 (VR: 4.20)CreateTableoptional argument alerteffectcolor added in 4.21 Beta 1 (VR: 4.20)
 CreateTableView 
 CreateThreeTableRenderTargetView 
 CreateThreeTableView 
 CreateTimer 
 CreateTwoTableRenderTargetView 
 CreateTwoTableSliderRenderTargetView 
 CreateTwoTableSliderView 
 CreateTwoTableView 
 DeactivateView 
 DebugError 
 DebugProfileStart()
Resets the profile timer. Call this function at the start of the section which you want to profile.
 
 

timeInMs = DebugProfileStop()
Returns the time (in ms) since the last call to DebugProfileStart().

 
 DestroyPresentationCluster(clusterID)
Destroys a previously created cluster and everything inside it.
 
 DialogMenuHidden 
 DialogMenuShown 
 DisableMissionObjectiveBar 
 DisplayView 
 DumpAllMessages 
 DumpAllMessageSinks 
 DumpAllMessageSources 
 EnableMissionObjectiveBar 
 EventmonitorInteractionHidden 
 EventmonitorInteractionShown 
 ExecuteDebugCommand 
 text or nil = ExistsText(page, line)
Returns text if it exists, nil otherwise.
 
 numgates, numjumps = FindJumpRoute(fromsectorID, tosectorID)
Calculates the distance between two sectors in number of gate transitions and jumps needed.
 
 ForceAnarkUpdate 
 ... = GetAccountData(entityID, ...)
Returns properties of the account of the specified entity. Possible properties are: "money", "minmoney", "maxmoney", "isdummy".
 
 GetActionDetails 
 GetActionInfo 
 componentID or nil = GetActiveGuidanceMissionComponent()
Returns the component with the active mission guidance if any.
 
 GetActiveMission 
 string = GetAdapterOption()
Returns the name of the current adapter.
 
 int = GetAimAssistOption()
Get current setting of the aim assist option. 
 
 GetAlignment 
 componentIDArray = GetAllCommanders(controllableID)
Returns the chain of commanders for the specified controllable.
 
 

extensionSettingsTable = GetAllExtensionSettings()
Returns the settings for all registered extensions.

Code Block
titleextensionSettingsTable
collapsetrue
extensionSettingsTable = {
  [extensionid] = {
    enabled = is extension enabled?,
    sync = is extension synced?
  },
  ...
}
 
 

upgradeArray = GetAllMacroUpgrades(macro, sequence, stage, buildlimit)
Returns information about all upgrades on a specified macro, with options to limit the information to parts of the buildplan.

Code Block
titleupgradeArray
collapsetrue
upgradeArray = {
  [1] = {
    upgrade = upgrade type,
    name = upgrade name,
    total = total of available slots
  },
  [2] = { ... }
} 
 
 stringArray = GetAllStatIDs()
Returns the ids of all statistic properties.
 
 

upgradeTable = GetAllUpgrades(destructibleID [, buildlimit] [, tag])
Returns information about all upgrades of the specified destructible, with options to limit the information to the base buildplan and/or upgrades with the specified tag.

Code Block
titleupgradeTable
collapsetrue
upgradeTable = {
  upgradetype = {
    name = upgrade name,
    ware = upgrade ware,
    tags = upgrade tags,
    total = total number of upgrades,
    free = number of free upgrades,
    operational = number of operational upgrades,
    construction = number of upgrades in construction
  },
  totaltotal = sum of total number of upgrades,
  totalfree = sum of number of free upgrades,
  totaloperational = sum of the number of operational upgrades,
  totalconstruction = sum of the number of upgrades in construction,
  estimated = is data filtered?
}
 
 

weaponTable = GetAllWeapons(destructibleID)
Returns information of all primary weapons and missiles of the destructible.

Code Block
titleweaponTable
collapsetrue
weaponTable = {
  weapons = {
    [1] = {
      component = component id,
      macro = macro name,
      name = weapon name,
      range = bullet range,
      dps = hull and shield damage per sec
    },
    [2] = { ... }
  },
  missiles = {
    [1] = {
      name = missile name,
      speed = missile range,
      damage = explosion damage,
      macro = macro name,
      amount = amount number
    },
    [2] = { ... }
  }
}
 
 

wareKeyTable = GetAmmoCountAfterShoppingList(containerID)
Returns information of ammo counts on the container after the trade queue is resolved.

Code Block
titlewareKeyTable
collapsetrue
wareKeyTable = {
  [ware] = amount,
  ...
}
Call SetVirtualCargoMode on containerID first, otherwise result will be empty.
 int = GetAntiAliasModeOption()
Returns the current anti alias mode setting.
 
 

aaModesArray = GetAntiAliasModes()
Returns all possible anti alias modes currently possible. 

 
 componentID or nil = GetAutoPilotTarget()
Returns the target of the auto pilot, if any.
 
 bool = GetAutorollOption()
Returns current autoroll setting. 
 
 bool = GetAutosaveOption()
Returns current autosave setting. 
 
 fontsize = GetBestFontSize(fontname, fontsize)
Returns the best matching font size available for the specified font and size. 
 
 

bonusContentArray = GetBonusContentData()
Returns information about all bonus content.

Code Block
titlebonusContentArray
collapsetrue
bonusContentArray = {
  [1] = {
    appid = appID,
    name = "Name",
    description = "Description",
    path = "path\\to\\content",
    optional = true|false,
    owned = true|false,
    installed = true|false,
    changed = true|false, -- installation state already changed, can't be changed again
  },
  [2] = ...
}
 
 bool = GetBoostToggleOption()
Returns the current boost toggle setting. 
 
 ... = GetBudgetData(entityID, ...)
Returns properties of the budget of the specified entity. Possible properties are: "min", "max", "responsibility".
 
 

componentID or nil = GetBuildAnchor(containerID or buildmoduleID)
Returns the build anchor of a container or buildmodule, e.g. the station a CV is building. 

 
 

builderMacrosArray = GetBuilderMacros(containerID or buildmoduleID)
Returns all information about all macros a container or buildmodule can build.

Code Block
titlebuilderMacrosArray
collapsetrue
builderMacrosArray = {
  [1] = {
    macro = macro,
    name = name
  },
  [2] = { ... }
}
 
 method = GetBuildProductionMethod(containerID or buildmoduleID, macro)
Returns the production method used by the specified container or buildmodule to produce macro. 
 
 

duration = GetBuildSlotDuration(macro or componentID, sequence, stage)
Returns the time the construction of the specified build slot takes on average.

 
 

resourceTable = GetBuildSlotResources(containerID or buildmoduleID, macro or componentID, sequence, stage, upgradePlanArray)
Returns the needed resources to build the specified build slot with this container or buildmodule.

Code Block
titleresourceTable
collapsetrue
resourceTable = {
  [1] = {
    ware = ware id,
    name = ware name,
    cycle = amount,
    price = price
  },
  [2] = { ... },
  ...,
  totalprice = totalprice
}
Code Block
titleupgradePlanArray
collapsetrue
upgradePlanArray = {
  [1] = {
    [1] = upgradetype,
    [2] = level
  },
  [2] = { ... }
}
 
 

moduleArray = GetBuildStageModules(macro or componentID, sequence, stage)
Returns all modules included in the specified buildslot. 

Code Block
titlemoduleArray
collapsetrue
moduleArray  = {
  [1] = {
    macro = module macro,
    name = module name,
    library = moduletypes library
  },
  [2] = { ... }
}
 
 

upgradeTable = GetBuildStageUpgrades(containerID, sequence, stage [, buildlimit] [, tags])
Returns information about all upgrades of the specified buildslot, with options to limit the information to the base buildplan and/or upgrades with the specified tag.

Code Block
titleupgradeTable
collapsetrue
upgradeTable = {
  upgradetype = {
    name = upgrade name,
    tags = upgrade tags,
    total = total number of upgrades,
    operational = number of operational upgrades,
    construction = number of upgrades in construction
  },
  totaltotal = sum of total number of upgrades,
  totaloperational = sum of the number of operational upgrades,
  totalconstruction = sum of the number of upgrades in construction
}
 
 

buildTreeTable = GetBuildTree(macro or componentID)
Returns information about the build tree of the specified macro or component.

Code Block
titlebuildTreeTable
collapsetrue
buildTreeTable = {
  name = "Station (base module) name for display",
  [1] = {
    sequence = "sequencename"
    name = "Sequence name for display",
    currentstage = currentstagenumber or 0,    -- only if component supplied
    [1] = {
      stage = stagenumber,
      name = "Stage module name for display",
      primarycomponent = Primary component of that stage, if it is already build (Note: At the moment gives just the first of the primary components)
    },
    [2] = ...
  },
  [2] = ...
}
 
 GetButtonColor 
 GetButtonFont 
 GetButtonHotkeyDetails 
 GetButtonIcon 
 GetButtonIcon2 
 GetButtonIcon2Color 
 GetButtonIcon2Offset 
 GetButtonIcon2Size 
 GetButtonIconColor 
 GetButtonIconOffset 
 GetButtonIconSize 
 GetButtonSwapIcon 
 GetButtonSwapIcon2 
 GetButtonText 
 GetButtonTextAlignment 
 GetButtonTextColor 
 GetButtonTextOffset 
 bool = GetCaptureHQOption()
Returns current capture hq setting. 
 
 

wareKeyTable = GetCargoAfterShoppingList(containerID)
Returns information of ammo counts on the container after the trade queue is resolved.

Code Block
titlewareKeyTable
collapsetrue
wareKeyTable = {
  [ware] = amount,
  ...
}
Call SetVirtualCargoMode on containerID first, otherwise result will be empty.
 GetCellContent 
 GetCellText 
 GetChildren 
 GetClosestAttackerDistance 
 GetClosestHighwaySection 
 GetClosestObserverDistance 
 componentIDArray = GetClusters([showonmap])
Returns an array of all player-known clusters.
 
changed in 4.10 Beta 1

collectableDataTable = GetCollectableData(collectableID)
Returns information on the content of the specified collectable. 

Code Block
titlecollectableDataTable
collapsetrue
collectableDataTable = {
  type = "ammo" | "wares" | "shieldrestore",
#if ammo:
  macro = ammo macro name,
  name = ammo name,
  icon = ammo icon,
  amount = ammo amount
#elseif wares:
  wares = {
    [1] = {
      ware = ware,
      amount = amount
    },
    [2] = ...
  },
  money = contained money
#elseif shieldrestore:
  restoretype = "duration" | "hp" | "percent",
  value = value (depending on restoretype)
#end
}
shieldrestore value changed to return a floating point number (rather than an integer number) in 4.10 Beta 1
 bool = GetCollisionAvoidanceAssistOption()
Returns current collision avoidance assist option. 
 
 GetColor 
 

commanderID or nil = GetCommander(controllableID)
Returns commander of specified controllable, if any. 

 
 entityID or nil = GetCommanderEntity(controllableID)
Returns commanding entity of specified controllable, if any. 
 
changed in 3.60 Beta 3, 4.00 Beta 2, 4.00 Beta 3 and 4.00 Beta 5

... = GetComponentData(componentID, ...)
Returns properties of the specified component. Possible properties are:

Code Block
titlePossible properties
collapsetrue
- Any Component:
  "name", "uiname", "description", "image", "owner", "ownername", "ownershortname", "ownericon", "size", "zone", "zoneid", "sector",
  "sectorid", "cluster", "clusterid", "galaxyid", "macro", "parent", "revealpercent", "isplayerowned", "isfriend", "isenemy", "iskill", "isdock"
  "wares", "caninitiatecomm", "sequence", "stage"

- Destructible:
  "hull", "hullmax", "hullpercent", "shield", "shieldmax", "shieldpercent", "efficiencyfactor", "efficiencybonus", "efficiencythreshold",
  "isfunctional"

- Controllable:
  "controlentity", "pilot", "defencenpc", "tradenpc", "engineer", "boardingnpc", "architect", "maxforwardspeed", "maxradarrange"

- Defensible:
 "missilecapacity", "boardingresistance", "boardingstrength"

- Object:
  "primarypurpose", "primarypurposename"

- Container:
  "engines", "shieldgenerators", "cargo", "products", "availableproducts", "allresources", "pureresources", "intermediatewares", "buildingmodule",
  "tradeoffers", "tradesubscription", "numtrips", "isshipyard", "tradewares"

- Ship:
  "hasjumpdrive", "basejumpcost", "issellable", "nextjumptime", "isjumpdrivecharging", "isjumpdrivebusy", "isdocked", "isdocking"
 
- Station:
  "istradestation"

- Entity:
  "typestring", "typeicon", "typename", "skills", "combinedskill", "experienceprogress", "neededexperience", "skillsvisible",
  "repairqueue", "aicommandstack", "aicommand", "aicommandraw", "aicommandparam", "aicommandparam2", "aicommandaction", "aicommandactionparam",
  "iscontrolentity", "money", "commissions", "discounts", "hasownaccount", "isspecialist", "isremotecommable", "wantedmoney", "ismissionactor",
  "buildmodule", "productionmoney", "isitemtrader"

- Radar:
  "radarrange"

- CollectableWares/Crate:
  "money"

- ControlPanel
  "requireditems", "iscontrolpanelhacked", "hackexpirationtime"

- Gate
  "destination"

- Highway, HighwayEntryGate, HighwayExitGate
  "nextdestname"

- Space
  "mapshortname"

- Dockingbay
  "populationtype"

- Production Module
  "isproducing"

- Zone
  "istemporaryzone", "hasjumpbeacon", "exitsector"

- Lockbox
  "numlocks"

Container "tradewares" property added in 3.60 Beta 3
Entity "productionmoney" property added in 3.60 Beta 3
Ship "nextjumptime" property added in 4.00 Beta 2
Ship "isjumpdrivecharging" property added in 4.00 Beta 2
Ship "isjumpdrivebusy" property added in 4.00 Beta 2
Station "istradestation" property added in 4.00 Beta 3
Entity "isitemtrader" property added in 4.00 Beta 3
Ship "isdocked" property added in 4.00 Beta 5
Ship "isdocking" property added in 4.00 Beta 5

removed 3.50 Beta 3
GetComponentFactionName 
 name = GetComponentName(componentID, fontname, fontsize, availablewidth[, omitfaction[, forcewidth]])
Returns the name of the component. Iff the component is an object the name is formatted accordingly to the given parameters.
 
 bool = GetConfineMouseOption()
Returns the current confine mouse option. 
 
 objectIDArray = GetContainedObjectsByOwner(faction, [space])
Returns an array of objects owned by the specified faction. Optionally results can be confined to a specified space.
 
 shipIDArray = GetContainedShips([space], [showonmap])
Returns an array of ships in the specified space or the galaxy. 
 
 

shipIDArray = GetContainedShipsByOwner(faction, [space])
Returns an array of ships owned by the specified faction. Optionally results can be confined to a specified space.

 
 stationIDArray = GetContainedStations([space], [showonmap], [includeconstruction])
Returns an array of stations in the specified space or the galaxy.
 
 stationIDArray = GetContainedStationsByOwner(faction, [space], [includeconstruction])
Returns an array of stations owned by the specified faction. Optionally results can be confined to a specified space.
 
 price = GetContainerWarePrice(containerID or buildmoduleID, ware, buysellswitch)
Returns the price the specified container buys/sells the ware.
 
 contextID or nil = GetContextByClass(componentID, classname [, includeself])
Returns the context of the specified class of the component. 
 
 entityID or nil = GetControlEntity(controllableID, commandertype)
Returns the control entity of the specified controllable of the given type.
 
changed in 4.21 Beta 1 (VR: 4.20) and 4.30 RC2 (VR: 4.30 Hotfix 2)

mode, angle = GetControllerInfo()
Returns the current input mode ("mouseSteering"|"mouseCursor"|"gamepad"|"touch"|"joystick") and the joystick input angle (only reasonable in "touch", "joystick", or "gamepad" mode).

The angle value will be -1, if the joystick is in its safe area. Otherwise it returns the angle in radian [0..2π] (with 0 corresponding to the joystick pointing upwards - rotation is clockwise).

4.21 Beta 1 (VR: 4.20): Added "touch" as new possible input mode.
4.30 RC 2 (VR: 4.30 Hotfix 2): Added "joystick" as new possible input mode.
 bool = GetCrashReportOption()
Returns the current crash report setting.
 
 time = GetCurRealTime()
Returns the real time since session start in seconds.
 
 

sequence, stage, progress, upgradePlanArray = GetCurrentBuildSlot(containerID)
Returns information about the current build process of the specified container. Returns nil if not currently building.

Code Block
titleupgradePlanArray
collapsetrue
upgradePlanArray = {
  [1] = {
    [1] = upgradetype,
    [2] = level
  },
  [2] = { ... }
}
 
 

resourceTable = GetCurrentBuildSlotResources(containerID or buildmoduleID)
Returns the needed resources to build the current build slot under construction by this container or buildmodule.

Code Block
titleresourceTable
collapsetrue
resourceTable = {
  [1] = {
    ware = ware id,
    name = ware name,
    cycle = amount,
    price = price
  },
  [2] = { ... },
  ...,
  totalprice = totalprice
}
 
deprecated in 4.31 Beta 1

DEPRECATED string = GetCurrentModuleName()
Returns the name of the current game module.

(warning)DEPRECATED - use FFI function IsStartmenu() instead
deprecated in 4.22 Beta 2 (VR: 4.22)DEPRECATED time = GetCurTime()
Returns the ingame time in seconds. 
(warning)DEPRECATED - use FFI function GetCurrentGameTime() instead
changed in 4.30 RC 1 (VR: 4.30)

string|table = GetDate([format [,time]])
Returns a string or a table containing date and time, formatted according to the given string "format".
Refer to the Lua documentation about os.date() for details.

As of XR 4.30 RC 1 GetDate() supports only the following format specifiers:

Expand
titleList of format specifiers
  • %a
  • %A
  • %b
  • %B
  • %c
  • %d
  • %H
  • %I
  • %j
  • %m
  • %M
  • %p
  • %S
  • %U
  • %w
  • %W
  • %x
  • %X
  • %y
  • %Y
  • %z
  • %%
 int = GetDeadzoneOption()
Returns the current deadzone setting. 
 
 text, isSelectable, isImmediate, shortcutKey, RESERVED, mouseOverText = GetDialogOption(index)
Returns information about the specified dialog option of the current active conversation.
text is the actual dialog menu button text
isSelectable indicates whether the option can be selected
isImmediate indicates whether the option is flagged as an immediate option
shortcutKey specifies the assigned shortcut key associated with the option
RESERVED is an internal value not to be used
mouseOverText is the text to display when mousing over the specified option
 
 string = GetDifficultyOption()
Returns the current difficulty setting. 
 
 bool = GetDistortionOption()
Returns the current distortion setting. 
 
 dronecommanderID or nil = GetDroneCommander(drone)
Returns the drone commander of the specified drone, if any. 
 
 droneIDArray = GetDrones(shipID)
Returns an array of all drones of that ship. 
See also GetUnitStorageData.
 GetDroneWeapon 
 GetEditBoxCloseMenuOption 
 GetEditBoxColor 
 GetEditBoxFont 
 GetEditBoxHotkeyDetails 
 GetEditBoxText 
 GetEditBoxTextAlignment 
 GetEditBoxTextColor 
 

number = GetEffectDistanceOption()
Returns the current effect distance setting.

 
 stringArray = GetEfficiencyUpgrades(destructible)
Returns an array with the macro names of all efficiency upgrades connected to the specified destructible.
 
 

DEPRECATED bool = GetEMCutsceneOption()
Returns false 

(warning)DEPRECATED - do not use
 .. = GetEntityTypeData(entitytype, ...)
Returns properties of the specified component. Possible properties are: "name", "icon" 
 
 GetError 
changed in 4.30 RC 1 (VR: 4.30)

severity = GetErrorSeverity(logMessageIndex)
Returns the severity of the specified log message.

severitylevel
info1
error2
panic5
4.30 RC 1 changed the severity levels and introduced the new info level.
 GetErrorTimestamp 
 GetEventMonitorDetailsBridge 
removed in 3.50 RC 1GetEventmonitorName 
 

extensionTable = GetExtensionList()
Returns information about all extensions.

Code Block
titleextensionTable
collapsetrue
extensionTable = {
  [1] = {
    id = extension id,
    index = extension index,
    name = extension name,
    desc = extension description,
    author = extension author,
    date = extension date,
    location = extension location,
    version = extension version,
    enabled = extension enabled,
    sync = extension sync,
    personal = extension personal,
    isworkshop = is extension in workshop,
    error = extension error ID, if any,
    errortext = extension error text, if any,
	warning = workshop update warning, if any,
    warningtext = workshop update warning, if any,
    dependencies = {
      id = dependency id,
      name = dependency name,
      version = dependency version
    }
  }
}
 
 string or nil = GetExtensionUpdateWarningText(extensionid, personal)
Returns the update warning text of a workshop extension, if any.
 
removed 3.50 Beta 3
GetFactionDetails 
 GetFont 
 GetFontHeight 
 number = GetFOVOption()
Returns current fov setting. 
 
 GetFrameBackgroundID 
 GetFrameOverlayID 
 GetFramePosition 
 amount = GetFreeCargoAfterShoppingList(containerID, ware)
Returns amount of free cargo space for the specified ware after the trade queue will be resolved. 
Call SetVirtualCargoMode on containerID first, otherwise result will be empty.
 amount = GetFreeUnitStorageAfterShoppingList(containerID)
Returns amount for free unit storage space for the specified container.
Call SetVirtualCargoMode on containerID first, otherwise result will be empty.
 bool = GetFullscreenDetailmonitorOption()
Returns the current fullscreen detailmonitor setting. 
 
 fullscreen, borderless = GetFullscreenOption()
Returns the current fullscreen and borderless setting.
 
 int = GetGamepadModeOption()
Returns the current gamepad mode setting. 
 
 number = GetGammaOption()
Returns the current gamma setting.
 
 gateIDArray = GetGates(space [, showonmap])
Returns an array of gates in the specified space.
 
 int = GetGfxQualityOption()
Returns the current gfx quality setting. 
 
 bool = GetGlobalSyncSetting()
Returns the current global extension sync setting. 
 
 int = GetGlowOption()
Returns the current glow setting. 
 
 GetHeader 
 

licenceTable = GetHeldLicences(faction)
Returns a table with information about all held licences of the specified faction.

Code Block
titlelicenceTable
collapsetrue
licenceTable = {
  [1] = {
    id = licence id,
    type = licence type,
    name = licence name,
    icon = licence icon,
    price = licence price,
    minrelation = minimum relation required,
    faction = factionid
  },
  [2] = { ... }
}
 
 x, y = GetHintPosition(position)
Returns the defined x, y coordinates of the specified position in percent with (0, 0) being in the upper left corner. Hint positions can be defined in parameters.xml.
 
 

productionColor, buildColor, storageColor, radarColor, dronedockColor, efficiencyColor, defenceColor, playerColor, friendColor, enemyColor, missionColor = GetHoloMapColors()
Returns the colors defined for various holomap items in parameters.xml.

Code Block
titleColor
collapsetrue
Color = {
  r = red (0-255),
  g = green (0-255),
  b = blue (0-255),
  a = alpha (0-100)
}
 
 GetIconDetails 
 

wareKeyTable = GetIncomingRemoteWares(wareType)
Returns information about incoming remote transport wares.

Code Block
titlewareKeyTable
collapsetrue
wareKeyTable = {
  [ware] = amount,
  ...
}
 
 

actionTable = GetInputActionMap()
Returns the current input actions mapped.

Code Block
titleactionTable
collapsetrue
actionTable = {
  [ActionID] = {
    [1] = {
      [1] = InputID Source,
      [2] = InputID Code,
      [3] = InputID Signum
    },
    [2] = { ... }
  },
  [ActionID] = { ... }
}
 
 

inputProfileTable = GetInputProfiles()
Returns information about the current input profiles.

Code Block
titleinputProfileTable
collapsetrue
inputProfileTable = {
  [1] = {
    id = profile ID,
    version = profile version,
    filename = filename,
    personal = is file in personal folder?,
    name = profile name,
    customname = profile custom name
  },
  [2] = { ... }
}
 
 

rangeTable = GetInputRangeMap()
Returns the current input ranges mapped.

Code Block
titlerangeTable
collapsetrue
rangeTable = {
  [RangeID] = {
    [1] = {
      [1] = InputID Source,
      [2] = InputID Code,
      [3] = InputID Signum
    },
    [2] = { ... }
  },
  [RangeID] = { ... }
}
 
 

stateTable = GetInputStateMap()
Returns the current input states mapped.

Code Block
titlestateTable
collapsetrue
stateTable = {
  [StateID] = {
    [1] = {
      [1] = InputID Source,
      [2] = InputID Code,
      [3] = InputID Signum
    },
    [2] = { ... }
  },
  [StateID] = { ... }
}
 
 

GetInteractiveObject

 
 

wareTable = GetInventory(entityID)
Returns information about the wares held in the inventory of specified entity.

Code Block
titlewareTable
collapsetrue
wareTable = {
  [ware1] = {
    name = ware name
    amount = ware amount
    price = ware price
  },
  [ware2] = { ... }
}
 
 

bool = GetInversionSetting(rangeid)
Returns the current inversion setting for the specified input range. 

 
 

joystickTable = GetJoysticksOption()
Returns information about currently connected joysticks.

Code Block
titlejoystickTable
collapsetrue
joystickTable = {
  [1] = {
    name = joystick name,
    guid = joystick guid
  },
  [2] = { ... }
}
 
 

jumpbeaconIDArray = GetJumpBeacons(zoneID, [showonmap])
Returns an array of jumpbeacons in the specified zone.

 
 bool = GetLegacyMainMenuOption()
Returns the current legacy main menu setting. 
 
 bool = GetLegacyShadersOption()
Returns the current legacy shaders setting. 
 
 

libraryTable = GetLibrary(library)
Returns information about the items in the specified library.

Code Block
titlelibraryTable
collapsetrue
libraryTable = {
  [1] = {
    id = item id,
    name = item name,
    icon = item icon
    [parent = item parent]
    [relation = player relation]
  },
  [2] = { ... }
}
 
changed in 4.22 Beta 2 (VR: 4.22)

entryTable = GetLibraryEntry(library, itemid)
Returns detailed information about the specified library entry.

Code Block
titleentryTable
collapsetrue
entryTable = {
  name = info name,
  description = info description,
  icon = info icon,
  image = info image,
  video = info video
  [race = npc race,
  faction = npc faction]
  [hull = object hull,
  maxspeed = object maxspeed,
  shield = object shield,
  jumpdrive = object has jumpdrive?,
  storagecapacity = storage capacity,
  storagetags = storage tags,
  storagenames = storage names,
  unitcapacity = unit capacity,
  productions = {
    [1] = {
      [1] = {
        id = product id,
        name = product name,
        cycle = product cycle time,
        amount = product amount
      },
      [2] = { ... }
    },
    [2] = { ... }
  },
  weapons = {
    [1] = {
      class = weapon / missile,
      id = weapon id,
      name = weapon name
    },
    [2] = { ... }
  },
  upgrades = {
    [1] = {
      upgrade = upgrade type,
      name = upgrade name,
      total = upgrade total amount
    },
    [2] = { ... }
  }]
  [primaryrace = faction primaryrace]
  [avgprice = ware average price,
  volume = ware volume,
  transporttype = ware transport type,
  methods = {
    [1] = method,
    [2] = ...
  }]
  [range = weapon range,
  dps = weapon dps]
  [speed = missile speed,
  acceleration = missile acceleration,
  damage = missile damage]
  [hull = shieldgen hull,
  shield = shieldgen shield]
  [hull = turret hull,
  range = turret range,
  dps = turret dps,
  rotation = turret rotation speed]
}
"storagenames" field added in 4.22 Beta 2 (VR: 4.22)
 int = GetLibrarySize(library)
Returns the size of the specified library. 
 
 GetLiveDataBridge 
 GetLoadingInfo 
changed in 4.00 Beta 3string = GetLocalizedKeyName(type, id)
Returns the name of the key assigned to the specified input action, state or range.
 
 string = GetLocalizedRawKeyName(keycode)
Returns the name of the specified keycode. 
 
added in 4.00 Beta 2mouseX, mouseY = GetLocalMouseClickPosition()
Returns the current mouse click position (nil, if the mouse was not clicked on the current environment).
 
 mouseX, mouseY = GetLocalMousePosition()
Returns the current mouse position (nil, if the mouse is not over the current environment).
 
 number = GetLODOption()
Returns the current lod setting. 
 
 

logbookTable = GetLogbook(start, count [, category])
Returns logbook entries in the specified range, optionally filtered by category.

Code Block
titlelogbookTable
collapsetrue
logbookTable = {
  [1] = {
    text = log text,
    time = timestamp,
    category = log category,
    interaction = log interaction type,
    interactioncomponent = log interaction component, dependent on type
  [2] = ...
}
 
 resourceTable = GetMacroBuildSlotResources(macro, sequence, stage)

Returns the needed resources to build the specified macro build slot.

Code Block
titleresourceTable
collapsetrue
resourceTable = {
  [1] = {
    ware = ware id,
    name = ware name,
    cycle = amount,
    price = price
  },
  [2] = { ... },
  ...,
  totalprice = totalprice
}
 

changed in 4.00 RC 1
changed in 4.22 Beta 2 (VR: 4.22)

... = GetMacroData(macro, ...)
Returns properties of the specified macro. Possible properties are:
"name", "icon", "efficiencyfactor", "efficiencybonus", "ware", "primarypurpose", "primarypurposename", "storagecapacity", "storagetags", "storagenames", "scanlevel"

"scanlevel" property added in 4.00 RC 1
as of 4.00 RC 1 "storagetags" no longer returns "fuel", if the queried object contains another storage type as well
"storagenames" property added in 4.22 Beta 2 (VR: 4.22)

 int = GetMacroUnitStorageCapacity(macro, sequence, stage [, buildlimit])
Returns the capacity of unit storage on the specified macro build slot.
 
 joystickIndexArray = GetMappedJoysticks()
Returns an array of joysticks currently mapped for input. Indices refer to the return value of GetJoysticksOption().
 
 GetMaxRemoteControlRange 
 stringLength = GetMaxTextLength(text, fontname, fontsize, width)
Returns the maximum length of the specified text which can fit in the given width in this font. 
 
 param, param2 = GetMenuParameters()
Returns the parameters the current menu was opened with.
 
(warning)UNSUPPORTEDGetMessageScreenPosition 
 GetMiniGameCursorPosition 
 macroArray = GetMiningUnitMacros(macro)
Returns all unit macros the specified macro can use to mine, if any.
 
updated in 4.00 Beta 3
updated in 4.31 Beta 1
missionID, name, description, difficulty, maintype, subtype, faction, rewardmoney, rewardtext, briefingobjectives, activebriefingstep, opposingfaction, licence, timeleft, duration, abortable, guidancedisabled, associatedcomponent, hasObjective = GetMissionDetails(missionIndex, fontname, fontsize, textwidth)
Returns details of the specified mission.
4.00 Beta 3: added hasObjective return value
4.31 Beta 1: removed fontname, fontsize, and textwidth parameters
updated in 4.31 Beta 1objectivetext, objectiveicon, timeout, progressname, curprogress, maxprogress, objectivetargets = GetMissionObjective(missionIndex, fontname, fontsize, textwidth)
Returns details of the specified mission's objective.
4.31 Beta 1: removed fontname, fontsize, and textwidth parameters
 GetMissionObjectiveBarInfo 
 name, desc, faction, type, level, reward, opposingfaction, licence, associatedcomponent = GetMissionOfferAtConnection(componentID, templateConnectionName)
Returns details about the mission offer at the specified location. 
 

updated in 4.10 Beta 5
updated in 4.31 Beta 1

name, description, difficulty, maintype, subtype, faction, rewardmoney, rewardtext, briefingobjectives, activebriefingstep, opposingfaction, licence, timeleft, duration, abortable, guidancedisabled, associatedcomponent, offeractor, offercomponent = GetMissionOfferDetails(offerID, fontname, fontsize, textwidth)
Returns details about the specified mission offer. 
4.10 Beta 5: added offercomponent return value
4.31 Beta 1: removed fontname, fontsize, and textwidth parameters
 type = GetModuleType(destructibleID)
Returns the module type of the specified destructible. 
 
 resourceTable = GetNeededBuildSlotResources(containerID or buildmoduleID)

Returns the needed resources of the specified buildmodule.

Code Block
titleresourceTable
collapsetrue
resourceTable = {
  [1] = {
    ware = ware id,
    name = ware name,
    cycle = amount,
    price = price
  },
  [2] = { ... },
  ...,
  totalprice = totalprice
}
 
 bool = GetNonSquadShipsForTradeOffersOption()
Returns the setting whether non-squad ships should be included in the trade offers menu. 
 
 GetNotificationDetails 
 GetNotificationPriority 
 componentIDArray = GetNotUpgradesByClass(destructibleID, class)
Returns an array of all components included in the specified destructible of the specified class, which are not upgrades. 
 
 value or nil = GetNPCBlackboard(entityID, valueName)
Return the blackboard variable "valueName" from the blackboard of the specified entity.
 
 entityIDArray = GetNPCs(destructibleID)
Returns an array of entities in the specified desctructible.
 
 entityIDArray = GetNPCsInSectorOnStations(sectorID, distance)
Returns an array of entities on stations in the specified sector within the given distance to the player.
 
 GetNumAttackers 
 GetNumErrors 
 int = GetNumIncomingRemoteWares(wareType)
Returns the number of incoming remote transport wares for specified type.
 
 int = GetNumLogbook([category])
Returns the number of logbook entries, optionally filtered by the given category. 
 
 int = GetNumMissions()
Returns the number of accecpted missions. 
 
 GetNumObservers 
 

subsystemsTable = GetObjectRepairStatus(containerID)
Returns information of all damaged subsystems of the specified container. 

Code Block
titlesubsystemsTable
collapsetrue
subsystemsTable = {
  shieldgens = {
    [1] = component id,
    [2] = ...
  },
  engines = {
    [1] = component id,
    [2] = ...
  },
  weapons = {
    [1] = component id,
    [2] = ...
  },
  jumpdrives = {
    [1] = component id,
    [2] = ...
  }
}
 
 GetOffset 
 GetOrigin 
 

licenceTable = GetOwnLicences(faction)
Returns information of the own licences the specified faction offers.

Code Block
titlelicenceTable
collapsetrue
licenceTable = {
  [1] = {
    id = licence id,
    type = licence type,
    name = licence name,
    icon = licence icon,
    price = licence price,
    minrelation = minimum relation required,
    issellable = can the licence be bought
  },
  [2] = { ... }
}
 
 bool = GetPersonalizedCrashReportsOption()
Returns the setting to send personalized crash reports. 
 
 dockingbayIDArray = GetPlatforms(containerID)
Returns an array of dockingbays that are platforms of the specified container.
 
 string = GetPlayerActivity()
Returns the current player mode. 
 
 int = GetPlayerAmmoCount(macro)
Returns the ammo count of the specified macro on the player ship. 
 
 contextID or nil = GetPlayerContextByClass(class)
Returns the context of the player with the specified class, if any. 
 
 GetPlayerControlledHullShield 
 GetPlayerDroneDetails 
 int = GetPlayerDroneSlots()
Returns the number of drone slots on the player ship.
 
 GetPlayerDroneSpeed 
 

playerDroneTable = GetPlayerDroneStorageData()
Returns information on the drones of the playership.

Code Block
titleplayerDroneTable
collapsetrue
playerDroneTable = {
  stored = total stored amount,
  [1] = {
    name = "Unit Name",
    amount = amountnumber,
    macro = Macro Name
  },
  [2] = { ... }
}
 
 GetPlayerDroneSystems 
 componentID = GetPlayerEnvironmentObject()
Returns the player's enviroment object. 
 
 

wareTable = GetPlayerInventory()
Returns information about the wares held in the inventory of specified entity.

Code Block
titlewareTable
collapsetrue
wareTable = {
  [ware1] = {
    name = ware name
    amount = ware amount
    price = ware price
  },
  [ware2] = { ... }
}
 
 money = GetPlayerMoney()
Returns the amount of money in the player account. 
 
 macro = GetPlayerPrimaryShipCockpitMacro()
Returns the macro of the cockpit currently installed in the player ship. 
 
 shipID = GetPlayerPrimaryShipID()
Returns the player primary ship. 
 
 macro = GetPlayerPrimaryShipMacro()
Returns the macro of the player primary ship. 
 
 roomID = GetPlayerRoom()
Returns the current player room. 
 
 GetPlayerShipHullShield 
 GetPlayerShipShieldDetails 
 GetPlayerSpeed 
 GetPlayerSteeringStrength 
 componentID = GetPlayerTarget()
Returns the current player target. 
 
 

adapterTable = GetPossibleAdapters()
Returns information about all possible display adapters.

Code Block
titleadapterTable
collapsetrue
adapterTable = {
  [1] = {
    name = adapter name,
    ordinal = adapter ordinal
  }
}
 
 

productionInfoTable = GetPossibleProducts(productionmoduleID)
Returns information about all possible products of the specified productionmodule.

Code Block
titleproductionInfoTable
collapsetrue
productionInfoTable = {
  [1] = {
    ware = product id,
    name = product name,
    cycletime = cycle duration,
    component = componentname
    resources = {
      [1] = {
        ware = resource id,
        name = resource name,
        cycle = cycle amount
      },
      [2] = { ... }
    }
  },
  [2] = { ... }
}
 
 

resolutionsTable = GetPossibleResolutions()
Returns information about all possible resolutions.

Code Block
titleresolutionsTable
collapsetrue
resolutionsTable = {
  [1] = {
    height = resolution height in px,
    width = resolution width in px
  },
  [2] = { ... }
}
 
 GetPrimaryShipWeapon 
 entityIDArray = GetPrioritizedPlatformNPCs(dockingbayID)
Returns an array of entities on the specified dockingbay. 
 
 

productionDataTable = GetProductionModuleData(productionmoduleID)
Returns information about the specified productionmodule.

Code Block
titleproductionDataTable
collapsetrue
if production queue empty: productionDataTable = {
  state = "empty"
}
else: productionDataTable = {
  state = "ProductionState",
  cycletime = CycleTime (only if state == "producing", otherwise 0),
  cycleefficiency = cycle efficiency percentage (100% default),
  remainingcycletime = Time remaining for this cycle (only if state == "producing", otherwise 0),
  cycleprogress = percentage of current cycle progress (only if state = "producing", otherwise 0),
  remainingtime = time until out of resources (does not take limited storage space into account),
  products = {
  efficiency = product efficiency percentage (100% default),
    [1] = { 
      ware = "wareid", 
      name = "Ware Name", 
      amount = storageamount, 
      cycle = cycleamount, 
      component = componentname 
    },
    [2] = { ... }
  },
  presources = { ... },    -- primary resources, analogous to products table
  sresources = { ... },    -- secondary resources, analogous to products table
  estimated = is data filtered?
}
 
 productionmoduleIDArray = GetProductionModules(destructible)
Returns an array with all productionmodules in the specified destructible. 
 
 GetProgressElementDetails 
 string = GetRadarModuleName(objectID)
Returns the name of the macro with biggest radar range included in the specified object.
 
 int = GetRadarOption()
Returns the current radar setting.
 
 money or nil = GetReferenceProfit(container, ware, price, amount [, shoppinglistidx])
Returns the profit selling the specified ware from the given container at the given price will provide.
 
 

moduleArray = GetRegisteredModules()
Returns information about all registered modules.

Code Block
titlemoduleArray
collapsetrue
moduleArray = {
  id = module id,
  name = module name,
  description = gamestart description, if any,
  image = gamestart image, if any
}
 
removed 3.50 Beta 3
GetRelationComponentStatus 
removed 3.50 Beta 3
GetRelationFactionStatus 

added in 4.21 Beta 1 (VR: 4.20)
changed in 4.31 Beta 1

x, y, z = GetRelativeMousePosition(element[, sizedMousePoint])
Returns the x/y/z-mouse cursor coordinates relative to the the elements own coordinate space. The return value range is [0, 1] if sizedMousePoint is not specified or false, and [0, maxExtends] if sizedMousePoint is set to true. 0/0/0 corresponding to the upper left front edge of the element and maxExtends corresponding to boxWidth/boxHeight/boxDepth of the specified elemnt.

Note that the return value is undefined if the element is not pickable at all or wasn't hit by the mouse cursor in the current frame.

4.31 Beta 1: added sizedMousePoint parameter
 GetRelativePlayerShipPosition 
 GetRemoteControlHUDIcons 
 

resourceTable = GetRepairResources(containerID or buildmoduleID, repairdestructibleID, sequence, stage, buildlimit, targethullfraction)
Returns the resources needed to repair the specified repairdestructible by the given buildmodule to targethullfraction.

Code Block
titleresourceTable
collapsetrue
resourceTable = {
  [1] = {
    ware = ware id,
    name = ware name,
    cycle = amount,
    price = price
  },
  [2] = { ... },
  ...,
  totalprice = totalprice
}
 
 resolutionTable = GetResolutionOption([checkconfig])
Returns the current resolution or the resolution set in config.xml.
 
 number = GetRumbleOption()
Returns the current controller rumble intensity setting.
 
 productionmoduleID = GetSalesRepProduction(entityID)
Returns the productionmodule in the same build slot as the specified entity. 
 
 

savegameTable = GetSaveList()
Returns information about existing savegames.

Code Block
titlesavegameTable
collapsetrue
savegameTable = {
  filename = save filename,
  name = savegame name,
  version = savegame version,
  time = formatted save date,
  rawtime = save date,
  playtime = played time,
  playername = player name,
  location = save location,
  money = player money,
  difficulty = save difficulty,
  mindifficulty = minimum difficulty the save was ever set to,
  error = there was an error loading the savegame (non-localized error message in name property)
  [invalidgameid = the save is from an invalid game],
  [invalidversion = save version is higher than current game version],
  invalidpatches = {
    [1] = {
      id = patch id,
      name = patch name,
      state = patch state,
      requiredversion = version of this patch required by the savegame,
      installedversion = version of this patch that is installed
    },
    [2] = { ... }
  }
}
Performance critical, do not call unnecessarily.
added in 4.10 Beta 1

savegameTable = GetSaveList2()
Returns available information about existing savegames.

Note to trigger population of the list GetSaveList2() returns, call the FFI function ReloadSaveList() first (or make sure it was called before at some point).
While this function returns the same data as GetSaveList(), it does only return the data which is available right now without blocking the game to wait for all savegame details having been processed. This allows for a more performant non-blocking approach than would be possible with GetSaveList().

 
 GetScreenAspects 
 getScreenInfo 
 GetSecondaryShipWeapon 
 sectorIDArray = GetSectors(clusterID)
Returns an array of sectors in the specified cluster. 
 
 number = GetSensitivitySetting(rangeid)
Returns the current sensitivity setting for the specified input range. 
 
 int = GetShaderQualityOption()
Returns the current shader quality setting. 
 
 int = GetShadowOption()
Returns the current shadow setting.
 
 

shoppingListTable = GetShoppingList(containerID)
Returns information about the trade queue of the specified container.

Code Block
titleshoppingListTable
languagelua
collapsetrue
shoppingListTable = {
  [1] = {
    id = trade id,
    name = ware name,
    amount = trade amount,
    minamount = trade minimum amount,
    price = trade price,
    isbuyoffer = is the container selling?,
    isselloffer = is the container buying?,
    averageprice = trade ware avg. price,
    [station = trade partner,
    stationname = trade partner's name,
    stationzone = trade partner's zone name,
    stationsectorid = trade partner's sector,]
    iswareexchange = is it a ware exchange trade?,
    ispassive = is container passive?
  },
  [2] = { ... }
}
 
 GetSize 
 GetSliderGranularity 
 GetSliderText 
 DEPRECATED GetSliderValues(warning)DEPRECATED - use GetSliderValues2() instead
added in 4.10 Beta 1GetSliderValues2 
 GetSliderValueSuffix 
 bool = GetSoftShadowsOption()
Returns the current soft shadow setting. 
 
 bool = GetSoundOption()
Returns the current global sound setting. 
 
 int = GetSSAOOption()
Returns the current ssao setting.
 
 GetStandardButtons 
 macroArray = GetStandardUnitMacros(macro)
Returns an array of unit macros that are considered standard for the specified macro.
 
 ... = GetStatData(stat, ...)
Returns properties of the specified statistic. Possible properties are: "exists", "value", "hidden", "displayname", "displayvalue"
 
 bool = GetSteeringNoteOption()
Returns the current steering note setting. 
 
 bool = GetStopShipInMenuOption()
Returns the current setting whether the playership should stop while a menu is open. 
 
 

storageDataTable = GetStorageData(destructibleID)
Returns information about the storage capabilities in the specified destructible.

Code Block
titlestorageDataTable
collapsetrue
storageDataTable = {
  modules = {
    [1] = storagemodule,
    [2] = ...
  }
  capacity = totalcapacityamount,
  stored = totalstoredamount,
  estimated = is data filtered?,
  [1] = {
    name = "cargobayname",
    capacity = capacityamount,
    stored = storedamount,
    consumption = totalconsumption,
    [1] = {
      ware = "wareid",
      name = "Ware Name",
      amount = amountnumber,
      volume = ware volume,
      consumption = consumption and production of this ware,
    },
    [2] = ...
  },
  [2] = ...
}
 
 componentIDArray = GetSubordinates(controllableID [, commandertype])
Returns an array with all subordinates of the specified controllable, optionally filtered by the commandertype. 
 
 string = GetSubtitleOption()
Returns the current subtitle option. 
 
 GetTableColumnSpan 
 GetTableColumnWidths 
 GetTableFullHeight 
 GetTableInitialSelectedColumn 
 GetTableInitialSelectedRow 
 GetTableInitialTopRow 
 GetTableNumFixedRows 
 GetTableNumRows 
 GetTableRowColor 
 GetTableRowHeight 

(warning) UNSUPPORTED

GetTargetElementInfo

 
 GetText 
deprecated in 4.31 Beta 1DEPRECATED int = GetTextHeightExact(text, font, fontsize, width, wordwrap)
Returns the height in pixels of the specified text.
Note that the width parameter specifies the maximum width (per row) to be displayed. The parameter is ignored, if wordwrap is false.
(warning)DEPRECATED - use FFI function GetTextHeight() instead
changed in 4.00 Beta 1int, actualwidth = GetTextNumLines(text, font, fontsize, width)
Returns the number of lines of the specified text with the given font and width and the actual width of the wordwrapped text.
4.00 Beta 1: added the second return value (actualwidth)
deprecated in 4.31 Beta 1DEPRECATED int = GetTextWidth(text, fontname, fontsize)
Returns the width in pixels of the specified text. 
(warning)DEPRECATED - use FFI function GetTextWidth() instead
 GetTimeLeft 

(warning)UNSUPPORTED

GetTopTargetPriorityMessages 
 money = GetTotalValue(containerID [, sellprice] [, referenceContainerID])
Returns the value of the specified container, optionally for selling and in reference to the price list of the reference container.
 
 

tradeData = GetTradeData(trade)
Returns information about the specified trade.

Code Block
titletradeDataTable
collapsetrue
tradeData = {
  id = trade id,
  ware = trade ware,
  name = ware name,
  amount = trade amount,
  desiredamount = trade desired amount,
  minamount = trade min amount,
  price = trade price,
  marketprice = price without discounts/commissions,
  quantityfactor = market price / average price,
  total price = price * amount,
  totalmarketprice = market price * amount,
  isbuyoffer = is it a buy offer?,
  isselloffer = is it a sell offer?,
  rebundle = rebundle units?,
  unbundle = unbundle units?
  [station = trade container,
  stationname = trade container name,
  stationzone = trade container zone name,
  stationzoneid = trade container zone,
  stationsectorid = trade container sector,
  isplayer = is trade container player owned,
  pricemodifiers = {
    [1] = {
      name = modifier name,
      level = modifier level,
      amount = modifier amount,
      expire = modifier expire time
    },
    [2] = { ... }
  },
  faction = trade container faction,]
  expire = trade expire time
}
 
changed in 4.00 Beta 4

tradeDataArray = GetTradeList([tradeship], [sortby], [indexbyid])
Returns an array of player known trades, optionally indexed by id strings.

Code Block
titletradeDataArray
collapsetrue
tradeDataArray = {
  [1 or IDString] = {
    id = trade id,
    ware = trade ware,
    name = ware name,
    amount = trade amount,
    desiredamount = trade desired amount,
    minamount = trade min amount,
    price = trade price,
    marketprice = price without discounts/commissions,
    quantityfactor = market price / average price,
    total price = price * amount,
    totalmarketprice = market price * amount,
    isbuyoffer = is it a buy offer?,
    isselloffer = is it a sell offer?,
    rebundle = rebundle units?,
    unbundle = unbundle units?
    [station = trade container,
    stationname = trade container name,
    stationzone = trade container zone name,
    stationzoneid = trade container zone,
    stationsectorid = trade container sector,
    isplayer = is trade container player owned,
    pricemodifiers = {
      [1] = {
        name = modifier name,
        level = modifier level,
        amount = modifier amount,
        expire = modifier expire time
      },
      [2] = { ... }
    },
    faction = trade container faction,]
    expire = trade expire time
  },
  [2 or IDString] = { ... }
}
Added "indexbyid" parameter in 4.00 Beta 4
 

restrictionsTable = GetTradeRestrictions(containerID)
Returns information about trade restictions for the specified container. 

Code Block
titlerestrictionsTable
collapsetrue
restrictionsTable = {
  faction = global restriction to trade with other factions,
  overrrides = {
    [ware] = bool,
    ...
  }
}
 
 tradeArray = GetTradesAtConnection(componentID, templateConnectionName)
Returns an array of trades at the specified connection. 
 
 

tradeShipData = GetTradeShipData(shipID)
Returns information about the specified ship related to trading.

Code Block
titletradeShipData
collapsetrue
tradeShipData = {
  shipid = shipID,
  name = ship name,
  cargo = {
    ware = ware,
    name = ware name,
    amount = ware amount,
    volume = ware volume
  },
  queue = {
    [1] = {
      id = trade id,
      name = ware name,
      amount = trade amount,
      minamount = trade min amount,
      price = trade price,
      isbuyoffer = is the ship selling?,
      isselloffer = is the ship buying?,
      averageprice = trade ware avg. price,
      [stationname = trade partner name,
      stationsectorid = trade partner sector]
    },
    [2]= { ... }
  },
  cargocurrent = currently used cargo space,
  cargomax = cargo capacity,
  cargofree = free cargo capacity,
  numtrips = number of planned trips
}
 
 

tradeShipDataArray = GetTradeShipList()
Returns an array with information about ships related to trading.

Code Block
titletradeShipDataArray
collapsetrue
tradeShipDataArray = {
  [1] = {
    shipid = shipID,
    name = ship name,
    cargo = {
      ware = ware,
      name = ware name,
      amount = ware amount,
      volume = ware volume
    },
    queue = {
      [1] = {
        id = trade id,
        name = ware name,
        amount = trade amount,
        minamount = trade min amount,
        price = trade price,
        isbuyoffer = is the ship selling?,
        isselloffer = is the ship buying?,
        averageprice = trade ware avg. price,
        [stationname = trade partner name,
        stationsectorid = trade partner sector]
      },
      [2]= { ... }
    },
    cargocurrent = currently used cargo space,
    cargomax = cargo capacity,
    cargofree = free cargo capacity,
    numtrips = number of planned trips
  },
  [2] = { ... }
}
 
 macroArray = GetTransportUnitMacros(macro)
Returns an array of unit macros suitable for transport of cargo for the specified macro.
 
 

x2d, y2d, z, onscreen, width, height = GetUIElementRectangleScreenPosition(posID, minRecSize, maxRecSize)
Retrieves the positioning information for the given target element in rectangle mode (only applicable in non-worldspace mode).

width and height indicate the size of the rectangle and is ensured to always be a multiply of 2.
For the other return values, refer to GetUIElementScreenPosition().
 
 x2d, y2d, z, onscreen = GetUIElementScreenPosition(posID, iconSizeOnScreen, iconSizeOffScreen)
Retrieves the positioning information for the given target element (only applicable in non-worldspace mode).
x2d and y2d are ranging from -viewWidth/2 (or -viewHeight/2) to +viewWidht/2 (or +viewHeight/2) with 0/0 being the center of the screen and -viewWidth/2|-viewHeight/2 being the lower left corner of the screen.
z is the position between the clipping planes ranging form 0 to 1.
onscreen indicates whether the elemnt is actually on- or off-screen.
 
 relation = GetUIRelation(faction)
Returns the relation of the player to the specified faction.
 
changed in 4.00 Beta 6

unitTable = GetUnitStorageData(defensibleID [, unitcategory] [, virtualammo][, excluderestricted])
Returns information about the units stored on the specified defensible. Optionally filtered by unit category.

Code Block
titleunitTable
collapsetrue
unitTable  = {
  capacity = capacityamount,
  stored = storedamount,
  [categorystored = storedamount of this category]
  [1] = {
    macro = "macroname",
    name = "Unit Name",
    amount = amountnumber,
    unavailable = unavailablenumber,
  },
  [2] = { ... }
}

If you want to use the virtualammo flag, call SetVirtualCargoMode first.

4.00 Beta 6: added excluderestricted parameter

 

resourceTable = GetUpgradesResources(containerID or buildmoduleID, upgradeDestructibleID, sequence, stage, buildlimit, upgradePlanArray)
Returns the needed resources to build the specified upgrades with this container or buildmodule.

Code Block
titleresourceTable
collapsetrue
resourceTable = {
  [1] = {
    ware = ware id,
    name = ware name,
    cycle = amount,
    price = price
  },
  [2] = { ... },
  ...,
  totalprice = totalprice
}
Code Block
titleupgradePlanArray
collapsetrue
upgradePlanArray = {
  [1] = {
    [1] = upgradetype,
    [2] = level
  },
  [2] = { ... }
}
 
 string = GetVersionString()
Returns the current game version. 
 
 number = GetViewDistanceOption()
Returns the current view distance setting. 
 
 GetViewSize 
 number = GetVolumeOption(volumetype)
Returns the current volume setting of the specified type. 
 
 bool = GetVSyncOption()
Returns the current vsync setting. 
 
 int = GetWareCapacity(containerID, ware [, ignoreexisting = true])
Returns the capacity of the specified container for the given ware. By default existing cargo is ignored. 
 
changed in 4.00 Beta 1, 4.00 Beta 4, 4.00 Beta 5... = GetWareData(ware, ...)
Returns properties of the specified component. Possible properties are: "name", "shortname", "description", "icon", "avgprice", "minprice", "maxprice", "pricerange", "tags", "illegal", "inventory", "component",
"transport", "image", "video",
"hasproductionmethod", "productionmethod", "products", "resources", "buyprice", "volatile", "gift", "allowdrop", "groupID", "groupName", "groupIcon", "isweaponmod", "isammo", "issinglecraft"

"allowdrop" property added in 4.00 Beta 1
"groupID" property added in 4.00 Beta 1
"groupName" property added in 4.00 Beta 1
"groupIcon" property added in 4.00 Beta 1
"isweaponmod" property added in 4.00 Beta 4
"isammo" property added in 4.00 Beta 4
"issinglecraft" property added in 4.00 Beta 5

 

tradeDataArray = GetWareExchangeTradeList(tradingshipID, tradedcontainerID [, sortby])
Returns information about possible ware exchange trade between the two trade partners. 

Code Block
titletradeDataArray
collapsetrue
tradeDataArray = {
  [1] = {
    id = trade id,
    ware = trade ware,
    name = ware name,
    amount = trade amount,
    desiredamount = trade desired amount,
    minamount = trade min amount,
    price = trade price,
    marketprice = price without discounts/commissions,
    quantityfactor = market price / average price,
    total price = price * amount,
    totalmarketprice = market price * amount,
    isbuyoffer = is it a buy offer?,
    isselloffer = is it a sell offer?,
    rebundle = rebundle units?,
    unbundle = unbundle units?
    [station = trade container,
    stationname = trade container name,
    stationzone = trade container zone name,
    stationzoneid = trade container zone,
    stationsectorid = trade container sector,
    isplayer = is trade container player owned,
    pricemodifiers = {
      [1] = {
        name = modifier name,
        level = modifier level,
        amount = modifier amount,
        expire = modifier expire time
      },
      [2] = { ... }
    },
    faction = trade container faction,]
    expire = trade expire time
  },
  [2] = { ... }
}
Call SetVirtualCargoMode on tradingshipid and tradedcontainerid first, otherwise result will be empty.
 int = GetWareProductionLimit(containerID, ware)
Returns the production limit for the specified ware on the given container. 
 
 GetWordWrap 
 zoneIDArray = GetZones(sectorID)
Returns an array of zones contained in the specified sector. 
 
 

yieldTable = GetZoneYield(zoneID [, skipmaxyields])
Returns information about yields in the specified zone.

Code Block
titleyieldTable
collapsetrue
yieldTable = {
  [1] = {
    ware = ware,
    name = ware name,
    amount = current yield,
    max = max yield
  },
  [2] = { ... },
  ...,
  snapshottime = time when data was taken, 0 if live.
}
Performance critical, set skipmaxyields = true, if possible.
 bool = HasAllResourcesToCraft(entityID, ware)
Checks whether the specified entity has all ingredients to craft the specified ware. 
 
added in 4.00 Beta 3bool = HasContainerStockLimitOverride(containerID, ware)
Returns whether the ship/station has an override for the stock limit of a particular ware defined.
 
 bool = HasContainerWarePriceOverride(containerID or buildmoduleID, ware, buysellswitch)
Checks whether the specified ware has a price override on the given container. 
 
 HasDroneControl 
 HasFlightControl 
 bool = HasLicence(faction, licencetype, licencefaction)
Checks whether the specified faction holds the given licence of the licence faction.
 
 HasShipControl 
 bool = HasShipyard(spaceID)
Checks whether the specified space includes a shipyard. 
 
 

HasSliderTwoScales

 
 bool = HasTag(componentID, templateConnectionName, tagname)
Checks whether the specified connection has the given tag. 
 
 DEPRECATED int = HasToRestoreOptionsMenu()
Returns static variable to re-init the options menu after ui reload, e.g. on device lost. 
(warning)DEPRECATED - This solution for static variables is deprecated. Use <savedvariable /> in ui.xml instead.
 bool = HaveExtensionSettingsChanged()
Checks whether extension settings changed in this session. 
 
 HideMissionObjective 
 HidePresentation 
 HideView 
 IncStatValue(stat[, addvalue])
Increases the specified statistic by the given value. 
 
 InstallSteamDLC(appid)
Installs the specified steam dlc. 
 
 InterruptPlayerComputer()
Stops the current player ship computer line. 
 
 IsBorderEnabled 
 IsButtonActive 
 IsCheatVersion()
Checks whether the game has cheats enabled. 
 
 bool IsComponentClass(componentID, classname)
Checks whether the specified component is of the given class.
 
 bool IsComponentConstruction(componentiD)
Checks whether the specified component is under construction. 
 
 bool = IsComponentOperational(componentID)
Checks whether the specified component is operational. 
 
removed in 3.50 Beta 2IsComponentValidreplaced by IsValidComponent()
 bool = IsContainerOperationalRangeSufficient(containerID, spaceID)
Checks whether the given operational range of the specified container is sufficient to operate normally.
 
 IsDialogActive 
 bool = IsDockingPossible(shipID, dockingbayID)
Checks whether the specified ship is allowed to dock at the given dockingbay.
 
 bool = IsFactionKnown(faction)
Checks whether the specified faction is known to the player. 
 
 IsFadeEnabled 
 IsFirstPerson 
 bool = IsGamepadActive()
Check whether the gamepad is active. 
 
 bool = IsInfoUnlockedForPlayer(componentID, info)
Check whether the specified information of the given component is available to the player.
 
 IsInteractive 
 bool = IsKnownItem(library, itemid)
Checks whether the specified item is known in the given library. 
 
 bool = IsMacroClass(macro, classname)
Checks whether the specified macro is of the given class.
 
changed in 4.21 Beta 1 (VR: 4.20 Hotfix 1)bool = IsObstructed(posID, canBeObstructedByOwnComponent[, ignoreCockpitObstruction])
Checks whether the specified target element (identified via the posID) is obstructed against the player view.
If canBeObstructedByOwnComponent is set to true, then the target element can also be obstructed by elements on its own geometry (for example a target element on a capital ship would be obstructed by parts on the capital ship itself).
If ignoreCockpitObstruction is set to true, then the player cockpit geometry will not cause the target element to be determined as being obstructed.
(defaults to true - which equals the behavior pre 4.20 Hotfix 1).
"ignoreCockpitObstruction" argument was added in 4.21 Beta 1 (VR:4.20 Hotfix 1)
 bool = IsPlayerFirstPerson()
Checks whether the player is in first person mode. 
 
 bool = IsSameComponent(component1ID, component2ID)
Helper function to compare two luaIDs or 64-bit integer representing components. 
 
 bool = IsSameTrade(trade1ID, trade2ID)
Helper function to compare two luaIDs representing trades. 
 
 bool = IsSavingPossible()
Checks whether saving is currently possible. 
 
 IsSelectable 
 IsSliderCenterValueDisplayed 
 IsSliderIndicatorInverted 
 IsSliderScaleInverted 
 IsSofttargetLocked 
 bool = IsSteamworksEnabled()
Checks whether steamworks are enabled. 
 
 IsTableColumnWidthPercentage 
 IsTableRowSelectable 
 IsType 
added in 3.50 Beta 2bool = IsValidComponent(componentID)
Checks whether the specified component has a valid context. 
 
 IsValidWidgetElement 
 bool = IsWareIllegalTo(ware, licencefaction [, policefaction])
Check whether the specified ware is illegal for the given licencefaction. Optionally checks against a specified police faction. 
 
deprecated in 4.21 Beta 1 (VR: 4.20)DEPRECATED LeaveInteractMenu()
Ends the interact menu interaction.
(warning)DEPRECATED - use FFI function LeaveInteractMenu() instead
 ListenForInput()
Raises a lua event for the next input instead of evaluating that input. Event names are: "keyboardInput", "mousebuttonsInput", "joyaxesInputPosSgn[1-8]", "joyaxesInputNegSgn[1-8]", "joybuttonsInput[1-8]"
 
 LoadGame(filename)
Loads the specified savegame. 
 
 LoadInputProfile(filename, personal)
Load the specified input profile. 
 
 LockPresentation 
 MakeRepairPriority(entityID, componentID)
Move the specified component to the top of the repair queue of the entity.
 
 MovePlayerToZone(zoneID)
Teleport the player to the specified zone. 
Needs cheats enabled.
 NewGame(modulename, difficulty)
Start a new game with the specified module and difficulty. 
 
 NotifyOnActionPerformed 
 NotifyOnChangedEnvironmentObject 
 NotifyOnChangedZone 
 NotifyOnConversationFinished 
 NotifyOnCutsceneStopped 
 NotifyOnCycleWeapon 
 NotifyOnHackAborted 
 NotifyOnHackFinished 
 NotifyOnHackStarted 
added in 4.00 Beta 2NotifyOnInventoryWaresAdded 
added in 4.00 Beta 3NotifyOnJumpDriveCharging 
 NotifyOnMissionObjectiveBarUpdate 
added in 4.31 Beta 1NotifyOnObservationStarted 
added in 4.31 Beta 1NotifyOnObservationStopped 
 NotifyOnPlayerControlStarted 
 NotifyOnPlayerControlStopped 
 NotifyOnScanAborted 
 NotifyOnScanFinished 
 NotifyOnScanStarted 
 NotifyOnStartDialog 
 NotifyOnStopDialog 
deprecated in 4.31 Beta 1DEPRECATED NotifyOnTargetElementDisplayed(warning)DEPRECATED - use NotifyTargetElementShown() instead
deprecated in 4.31 Beta 1DEPRECATED NotifyOnTargetElementHidden(warning)DEPRECATED - use NotifyTargetElementHidden() instead
added in 4.31 Beta 1NotifyTargetElementHidden 
added in 4.31 Beta 1NotifyTargetElementShown 
 NotifyVoiceOutput 
 OpenSteamOverlayStorePage([appid])
Opens the steam store page in the steam overlay. 
 
 OpenSteamOverlayWebPage(url)
Opens an url in the steam overlay. 
 
 OpenWorkshop(id, personal)
Open the specified extension in the workshop overlay.
 
changed in 4.00 Beta 3Pause([explicit])
Pause the game. If the explicit flag is set to true, this will pause the game as if the pause key was hit.
Note: prior to 4.21 Beta 1 (VR: 4.20) a call to Pause() (or Pause(false) didn't display a Game Paused text. As of 4.21 Beta 1 (VR: 4.20) both cases will display this text now.
 PerformAction 
 PlayAmbientSound 
 PlayCredits()
Play the credits. 
 
 bool = PlayerPrimaryShipHasContents(key)
Checks whether the specified key is part of the player ship. Possible keys are: "trademk1", "trademk2", "trademk3"
 
 PlaySound 
added in 4.00 Beta 6PrepareIcon(warning)UNSUPPORTED. Not designed to be used by mods.
 success = PrepareRenderTarget(texturename)
(Optionally) Prepares the specified texture to be used as a rendertarget.
Return value indicates success/failure.
(warning)UNSUPPORTED. Not designed to be used by mods.
 ProceedFromMenu(convsection[, choiceparam][, baseparam])
Proceeds from a conversation menu to the specified conversation section in MD. Optionally passing parameters.
 
added in 4.21 Beta 1 (VR: 4.20)QuickMenuOpened()
Notifies the system that the quick menu was closed.
 
 

QuitGame()
Quit to desktop. 

 
 QuitModule()
Quit the current module to the start menu. 
 
 RaisePlayerInteractionEvent 
 text = ReadText(page, line)
Returns text if it exists, error message otherwise.
 
 RegisterAddonBindings(addonname [, groupid = ""])
Registers addon key bindings using the <bindinggroup /> nodes in ui.xml. If no groupid is specified all groups will be registered.
 (warning)UNSUPPORTED. Not designed to be used by mods.
 RegisterMouseInteractions(element)
Registers the specified elemnent (and all its children) to enable mouse/pointer picking interactions.
 
 RegisterWidget 
 ReleaseCutsceneDescriptor 
 ReleaseDescriptor 
 ReleaseInteractionDescriptor 
 ReleaseListener 
 ReleaseNotification 
 ReleaseViewDescriptor 
 RemoveAmmo(defensibleID, ammoMacro, amount)
Removes the specified amount of the ammo from the object.
 
 RemoveCargo(containerID, ware, amount)
Removes the specified amount of the ware from the object.
 
 RemoveInventory(entityID, ware, amount)
Removes the specified amount of the ware from the inventory of the entity.
 
 RemoveLogbookEntry(index [, category])
Removes the logbook entry at index. 
 
 RemovePlayerDrone(macroname, amount)
Removes specified macro from the playership.
 
 RemoveSofttarget 
 

requesterRemoved = RemoveSofttargetLockRequest(requesterID)

Removes the lock-request for the specified requesterID.

Note that the return value only indicates whether the requester was removed. It does not necessarily correspond to the target lock having been lifted (i.e. if there are still outstanding lock-requests).

 
 RepairDestructibles(destructible1ID, destructible2ID, ...)
Repairs the specified destructibles. 
 
 ReplacePlayerCockpit(cockpitmacro)
Replace the player ship cockpit with the specified macro. 
 
updated in 4.21 Beta 1 (VR: 4.20)

success = RequestSofttargetLock(requesterID)
Adds a lock-request (with the specified requesterID) of the current softtarget (preventing the current target from being changed).
Prior to 4.20 the function could be used to prevent objects being targeted (i.e. calling RequestSofttargetLock() with no current target). As of 4.20 such a call will fail and indicate the failure via its return value.

4.21 Beta 1 (VR: 4.20): added success return value
 ResetAllExtensionSettings()
Resets all changes to extension settings from this session. 
 
 RestoreGameOptions()
Restores the game settings from the default config. 
 
 RestoreGraphicOptions()
Restores the gfx settings from the default config. 
 
 RestoreOptionsMenu()
Opens the options menu.
 
 RestoreSoundOptions()
Restores the sound settings from the default config. 
 
 ReturnFromMenu([returnparam])
Returns from a conversation menu. Optionally passing a parameter.
 
 SaveFullscreenOption()
Save the current fullscreen setting to the player config. 
 
 SaveGame(filename, savename)
Save the game to the specified filename.
 
 SaveInputProfile(filename, id, customname[, copyfromfile])
Save the input profile.
 
 

SaveInputSettings(actionTable, stateTable, rangeTable)
Save the input map.

Code Block
titleactionTable
collapsetrue
actionTable = {
  [ActionID] = {
    [1] = {
      [1] = InputID Source,
      [2] = InputID Code,
      [3] = InputID Signum
    },
    [2] = { ... }
  },
  [ActionID] = { ... }
}
Code Block
titlestateTable
collapsetrue
stateTable = {
  [StateID] = {
    [1] = {
      [1] = InputID Source,
      [2] = InputID Code,
      [3] = InputID Signum
    },
    [2] = { ... }
  },
  [StateID] = { ... }
}
Code Block
titlerangeTable
collapsetrue
rangeTable = {
  [RangeID] = {
    [1] = {
      [1] = InputID Source,
      [2] = InputID Code,
      [3] = InputID Signum
    },
    [2] = { ... }
  },
  [RangeID] = { ... }
}
 
 SaveResolutionOption()
Save the current resolutions setting to the player config. 
 
 ScheduleReloadUI()
Schedule a ui reload. 
 
 SelectAction 
 bool = SelectBackOption()
Select the back in a conversation choice.
 
 SelectDialogOption 
 SendEntityTransportDrone(entityID, containerID or nil)
Sends the specified entity to the given container or the player ship via remote transport drone. 
 
added in 3.50 RC 1SignalObject(componentID [, param1] [, param2] [, param3] [, delay])
Sends a generic ObjectSignalledEvent on the specified component. These can be listened to by MD/AI script. 
 
 

SendTransportDrone(sendingentityID, receivingentityID, waretype, wareAmountArray)
Sends the specified wareAmountList from the sendingentity to the receivingentity.

Code Block
titlewareAmountArray
collapsetrue
wareAmountArray = {
  [1] = {
    [1] = ware,
    [2] = amount
  },
  [2] = { ... }
}
 
 SetActiveMission(missionID)
Sets the specified mission as active. 
 
 SetAdapterOption(adapterOrdinal)
Sets the display adapter to the specified ordinal. 
 
 SetAimAssistOption(setting)
Sets the aim assist setting.
 
 SetAntiAliasModeOption(antialiasmode)
Sets the anti alias mode.
 
 SetAutorollOption()
Toggles the autoroll setting. 
 
 SetAutosaveOption()
Toggles autosave setting. 
 
 SetBoostToggleOption()
Toggle the boost toggle setting. 
 
 responsibility = SetBudgetResponsibility(entityID, responsibility)
Set the budget responsibility of the specified entity. 
 
added in 3.60 Beta 1

SetButtonColor(buttonID, r, g, b, alpha)
Sets the color for the specified button.

 
 SetButtonText 
 SetCaptureHQOption()
Toggle the capture hq setting. 
 
 SetCellContent 
 SetCollisionAvoidanceAssistOption()
Toggle the collision avoidance assist setting. 
 
 

SetComponentName(componentID, name)
Set the name of the specified component. 

 
 

SetConfineMouseOption()
Toggle confine mouse setting.

 
added in 4.00 Beta 3SetContainerStockLimitOverride(containerID, ware, amount)
Define a stock limit for a particular ware for this ship/station.
 
 SetContainerWarePriceOverride(containerID or buildmoduleID, ware, buysellswitch, price)
Sets the price the specified container buys/sells the ware. 
 
 SetCrashReportOption()
Toggles the crash report setting. 
 
 SetDeadzoneOption(percentage)
Set the deadzone setting to the specified percentage. 
 
 SetDifficultyOption(setting)
Sets the difficulty setting. 
 
 SetDiffuseColor 
 SetDistortionOption()
Toggles the distortion setting. 
 
 SetEffectDistanceOption(distance)
Sets the effect distance setting. 
 
 DEPRECATED SetEMCutsceneOption()
Toggle the event monitor cutscene setting. 
(warning)DEPRECATED - do not use
 SetExtensionSettings(id, personal, setting, value)
Sets the setting of the specified extension.
 
 SetFOVOption(fov)
Sets the fov setting. 
 
 SetFullscreenDetailmonitorOption()
Toggles the fullscreen detailmonitor setting. 
 
updated in 4.10 Beta 1bool = SetFullScreenOneToOne()
Sets the render mode of the current UI environment to fullscreen 1:1 mapping. Return value indicates success/failure.
4.10 Beta 1: added boolean return value.
added in 4.21 Beta 1 (VR: 4.20)SetFullScreenWorldSpace()
Sets the render mode of the current UI environment to worldspace rendering mode.
 
 SetFullscreenOption(setting, [checksetting])
Sets the fullscreen setting and optionally provide a prompt if the setting worked. 
 
 SetGamepadModeOption(setting)
Sets the gamepad mode option to setting. 
 
 SetGammaOption(gamma)
Sets the gamma setting.
 
 SetGfxQualityOption(setting)
Sets the gfx quality setting. 
 
 SetGlowOption(setting)
Sets the glow setting. 
 
 SetHeight 
 SetIcon 
 SetInversionSetting(rangeid, configname)
Toggles inversion for the specified range input. 
 
 SetJoysticksOption(joystick, guid)
Sets the specified guid as the joystick.
 
 SetLegacyMainMenuOption()
Toggles the legacy main menu setting. 
 
 SetLegacyShadersOption()
Toggles the legacy shaders setting. 
 
 SetLODOption(lodfactor)
Sets the lod setting. 
 
 SetMainMissiontargetMessage(posID, messageID)(warning)UNSUPPORTED. Not designed to be used by mods.
 amount = SetMaxBudget(entityID, amount)
Sets the max budget of the specified entity.
 
 amount = SetMinBudget(entityID, amount)
Sets the min budget of the specified entity.
 
deprecated in 4.21 Beta 1 (VR: 4.20)DEPRECATED SetMouseOverride(element, cursorIcon)
Sets the mouse cursor override of the specified element (and all of its children) to the given cursor ID. If the mouse is hovered over the element, the cursor will display the specified cursor icon.
(warning)DEPRECATED - use SetPointerOverride() instead (simply pass the cursorIcon as pointerID)
 SetMouseSleeping()
Sets the mouse to sleep until moved again. 
 
 SetNonSquadShipsForTradeOffersOption()
Toggles the setting whether non-squad ships should be included in the trade offers menu. 
 
changed in 4.10 Beta 5SetNPCBlackboard(entityID, valueName, value)
Sets the blackboard variable "valueName" from the blackboard of the specified entity to "value". If the "value" is nil, the blackboard variable is cleared.
4.10 Beta 5: If the "value" is nil, the blackboard variable is cleared.
 SetNPCSkill(entityID, skill, value)
Set the specified skill of the given entity to value. 
 
 

SetPersonalizedCrashReportsOption()
Toggles the setting to send personalized crash reports. 

 
added in 4.21 Beta 1 (VR: 4.20)SetPointerOverride(element, pointerID)
Sets the pointer ID override of the specified element (and all of its children) to the given pointer ID. If the pointer (i.e. either the cursor or a pointing device) is hovered over the element, the pointer will display the specified pointer ID).
 
added in 4.31 Beta 1SetPriorityMissiontargetMessage(posID, messageID)(warning)UNSUPPORTED. Not designed to be used by mods.
 SetRadarOption(setting)
Sets the radar setting. 
 
added in 4.00 Beta 1SetRenderTargetOneToOne()
Swaps the rendering mode to a preset rendertarget. It's intended for UI internal use. No current support to utilize this in a useful way for UI modding.
 
 SetRenderTargetSize(texturename, width, height)
Sets the size of the specified rendertarget (given as a relative path to the texturename).
(warning)UNSUPPORTED. Not designed to be used by mods.
 SetResolutionOption(width, height [, checksetting])
Sets the resoltion to the specifed values. Optionally provide a prompt if the setting worked. 
 
 SetRumbleOption(setting)
Sets the rumble setting. 
 
 SetSensitivitySetting(rangeid, configname, sensitivity)
Sets the sensitivity setting of the specified input range.
 
 SetShaderQualityOption(setting)
Sets the shader quality setting. 
 
 SetShadowOption(setting)
Sets the shadow setting. 
 
 SetSoftShadowsOption()
Toggles the soft shadow setting. 
 
 SetSofttarget 
 SetSoundOption()
Toggle the global sound setting. 
 
 SetSSAOOption(setting)
Sets the ssao setting. 
 
 SetStatValue(stat, value)
Sets the specified statistic to value. 
 
 SetSteeringNoteOption()
Toggles the steering note setting. 
 
 SetStopShipInMenuOption()
Toggles the setting whether the playership should stop while a menu is open. 
 
 SetSubtitleOption(setting)
Sets the subtitle setting. 
 
 SetText 
 SetTextColor 
 SetTextureColorMode 
 SetViewDistanceOption(distance)
Sets the view distance setting. 
 
 SetVirtualCargoMode(containerID, onoff)
Sets the specified container to virtual cargo mode. Using its trade queue to predict future cargo and unit availability. 
Virtual cargo mode should be disabled again when leaving the current menu.
 SetVolumeOption(volumetype, volume)
Sets the volume setting of the specified type. 
 
 SetVSyncOption()
Toggles the vsync setting. 
 
 SetWidth 
deprecated in 4.21 Beta 1 (VR: 4.20)DEPRECATED ShowInteractMenu()
Starts the interact menu interaction.
(warning)DEPRECATED - use FFI function EnterInteractMenu() instead
 ShowMissionObjective 
 ShowPresentation 
 StartAutoPilot(componentID)
Start the auto pilot on the specified component. 
 
 StartBriefing(missionid, {texturename1, ...})
Notifies the MD that a mission briefing was started.
 
added in 4.21 Beta 1 (VR: 4.20)success = StartConversationFromMenu(conversation, actor, convparam)
Starts the specified new conversation in MD. This requires that no conversation is currently active. Conversation parameter is required but can be nil.
 
 StartCutscene 
 StartPlayingSound 
 success = StartSubConversationFromMenu(conversation, actor[, convparam][, baseparam][, view])
Proceeds from a conversation menu to the specified new conversation in MD. Optionally passing parameters.
 
 StopAutoPilot()
Stops the auto pilot. 
 
 StopBriefing(missionid)
Notifiy the MD that a mission briefing stopped. 
 
 StopCutscene 
 StopPlayingSound 
 StopRestoringOptionsMenu()
Stop restoring the options menu after ui reloads. 
 
 SwitchInteractiveObject 
 ToggleFactionTradeRestriction(containerID)
Toggle faction trade restriction on the specified container.
 
 ToggleFactionTradeWareOverride(containerID, ware)
Toggle faction trade restriction override on the specified container for the given ware.
 
 ToggleMissionGuidance(missionid)
Toggle the mission guidance for the specified mission. 
 
 TraceBack 
 transferredAmount = TransferInventoryToPlayer(ware, amount, entityID)
Transfers the specified ware and amount from the given entity to the player.
 
 transferredMoney = TransferMoneyToPlayer(amount, entityID)
Transfers the specified amount from the given entity to the player.
 
 transferredAmount = TransferPlayerInventoryTo(ware, amount, entityID)
Transfers the specified ware and amount from the player to the given entity.
 
 transferredMoney = TransferPlayerMoneyTo(amount, entityID)
Transfers the specified amount from the player to the given entity.
 
 text = TruncateText(text, fontname, fontsize, width [, wordwrap, textheight])
Truncates the given text with the specified limitations. 
 
 UninstallSteamDLC(appid)
Uninstalls the specified steam dlc. 
 
changed in 4.00 Beta 3Unpause([explicit])
Unpause the game. If the explicit flag is set to true, this will unpause the game as if the pause key was hit.
 
 UnregisterAddonBindings(addonname, [, groupid = ""])
Unregisters addon key bindings using the <bindinggroup /> nodes in ui.xml. If no groupid is specified all groups will be unregistered.
(warning)UNSUPPORTED. Not designed to be used by mods.
deprecated in 4.31 Beta 1DEPRECATED UnsetMapRenderTarget()
Resets the render target for the radar/map display.
(warning)DEPRECATED - use FFI function UnsetRadarRendertTarget() instead
deprecated in 4.21 Beta 1 (VR: 4.20)DEPRECATED UnsetMouseOverride(element)
Removes any specified mouse cursor override from the specified element or its children.
(warning)DEPRECATED - use UnsetPointerOverride() instead
added in 4.21 Beta 1 (VR: 4.20)UnsetPointerOverride(element)
Removes any specified pointer override from the specified element or its children.
 
added in 4.31 Beta 1UnregisterMouseInteractions(element)
Unregisters the specified elemnent (and all its children) from mouse/pointer picking interactions.
 
 UnsuspendConversation 
 UpdateRegisteredWidget 
 UpgradeObject(destructibleID, upgradetype, level)
Upgrade the specified destructible with the given upgrade level.
 

...