Lua function overview

Last modified by Daniel Turner on 2023/08/24 10:31

This list can contain details about planned functions in yet unreleased versions.

Please understand that the mentioning of such a version in this list does not imply that the version will become available in the near future (it's not even a confirmation that the version will be released at all). It's merely to be understood as a heads-up information of what a following version might provide and ensures that if that version is released, the documentation is already up to date at the time of the release.

Also note that any information provided here for not yet released versions can change at any time before the version is released without any further notice (that includes even the removal of a function which was mentioned here before the release of a particular version).

UNSUPPORTED markers imply that the function is technically available but not part of our provided public Lua API set. We might change these functions to be in the supported set of Lua functions in the future. Until then, the function can change its behavior any time and/or even be entirely removed (without a replacement). Changes to these functions are usually not listed in the UI changelog and are also (usually) not covered in the overview of breaking changes between X Rebirth releases.

Version

Function

Note

deprecated in 4.21 Beta 1 (VR: 4.20)

DEPRECATED AbilityMenuClosed()
Notifies the system that the ability menu was closed.

DEPRECATED - use FFI function CircularMenuClosed() instead

added in 4.00 RC 2

AbilityMenuOpened()
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 4

addedamount = 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 2

AddUITriggeredEvent(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 3

ClearContainerStockLimitOverride(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 1

DEPRECATED ClearErrors()
Clears the internal error log.

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 1

string = 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 2

descriptor = CreateCheckBox(checkboxDescription)

 

 

CreateCutsceneDescriptor

 

 

CreateEditBox

 

 

CreateFontString

 

added in 4.00 Beta 1

descriptor = CreateGraph(graphDescription)

 

 

CreateIcon

 

deprecated in 4.31 Beta 1

DEPRECATED descriptor = CreateInteractionDescriptor(param1, param2)
Creates an interaction descriptor with the specified parameters.

DEPRECATED - use CreateInteractionDescriptor2() instead

added in 4.31 Beta 1

interactionDescriptorID = CreateInteractionDescriptor2(param1, param2)
Creates an interaction descriptor with the specified parameters and returns its ID.

 

 

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)

CreateTable

optional 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

 

deprecated in 4.31 Beta 1

DEPRECATED EventmonitorInteractionHidden

UNSUPPORTED. Not designed to be used by mods.
DEPRECATED - use EventmonitorInteractionHidden2() instead

added in 4.31 Beta 1

EventmonitorInteractionHidden2

 

deprecated in 4.31 Beta 1

DEPRECATED EventmonitorInteractionShown

UNSUPPORTED. Not designed to be used by mods.
DEPRECATED - use EventmonitorInteractionShown2() instead

added in 4.31 Beta 1

EventmonitorInteractionShown2

 

 

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.

extensionSettingsTable
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.

upgradeArray
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.

upgradeTable
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.

weaponTable
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.

wareKeyTable
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.

bonusContentArray
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.

builderMacrosArray
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.

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

 

 

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

moduleArray
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.

upgradeTable
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.

buildTreeTable
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.

wareKeyTable
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. 

collectableDataTable
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:

Possible properties
- 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.

upgradePlanArray
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.

resourceTable
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.

DEPRECATED - use FFI function IsStartmenu() instead

deprecated in 4.22 Beta 2 (VR: 4.22)

DEPRECATED time = GetCurTime()
Returns the ingame time in seconds. 

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:

Unknown macro: expand. Click on this message for details.

 

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 

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.

severity

level

info

1

error

2

panic

5

4.30 RC 1 changed the severity levels and introduced the new info level.

 

GetErrorTimestamp

 

 

GetEventMonitorDetailsBridge

 

removed in 3.50 RC 1

GetEventmonitorName

 

 

extensionTable = GetExtensionList()
Returns information about all extensions.

extensionTable
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.

licenceTable
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.

Color
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.

wareKeyTable
wareKeyTable = {
  [ware] = amount,
  ...
}

 

 

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

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

 

 

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

inputProfileTable
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.

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

 

 

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

stateTable
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.

wareTable
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.

joystickTable
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.

libraryTable
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.

entryTable
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 3

string = 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 2

mouseX, 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.

logbookTable
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.

resourceTable
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.

 

UNSUPPORTED

GetMessageScreenPosition

 

 

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 1

objectivetext, 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.

resourceTable
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. 

 

updated in 4.31 Beta 1

notificationDetailsTable = GetNotificationDetails(notificationID)
Returns details about the specified notification (or nil, if there's an error or if the notification doesn't exist).

4.31 Beta 1: added the interactionID to the returned table
4.31 Beta 1: DEPRECATED the interactionDescriptor from the returned table

 

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. 

subsystemsTable
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.

licenceTable
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.

playerDroneTable
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.

wareTable
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.

adapterTable
adapterTable = {
  [1] = {
    name = adapter name,
    ordinal = adapter ordinal
  }
}

 

 

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

productionInfoTable
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.

resolutionsTable
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.

productionDataTable
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.

moduleArray
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.

resourceTable
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.

savegameTable
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.

shoppingListTable
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

DEPRECATED - use GetSliderValues2() instead

added in 4.10 Beta 1

GetSliderValues2

 

 

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.

storageDataTable
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

 

UNSUPPORTED

GetTargetElementInfo

 

 

GetText

 

deprecated in 4.31 Beta 1

DEPRECATED 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.

DEPRECATED - use FFI function GetTextHeight() instead

changed in 4.00 Beta 1

int, 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 1

DEPRECATED int = GetTextWidth(text, fontname, fontsize)
Returns the width in pixels of the specified text. 

DEPRECATED - use FFI function GetTextWidth() instead

 

GetTimeLeft

 

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.

tradeDataTable
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.

tradeDataArray
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. 

restrictionsTable
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.

tradeShipData
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.

tradeShipDataArray
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.

unitTable
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.

resourceTable
resourceTable = {
  [1] = {
    ware = ware id,
    name = ware name,
    cycle = amount,
    price = price
  },
  [2] = { ... },
  ...,
  totalprice = totalprice
}
upgradePlanArray
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. 

tradeDataArray
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.

yieldTable
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 3

bool = 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. 

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 2

IsComponentValid

replaced 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 2

bool = 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.

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 2

NotifyOnInventoryWaresAdded

 

added in 4.00 Beta 3

NotifyOnJumpDriveCharging

 

 

NotifyOnMissionObjectiveBarUpdate

 

added in 4.31 Beta 1

NotifyOnObservationStarted

 

added in 4.31 Beta 1

NotifyOnObservationStopped

 

 

NotifyOnPlayerControlStarted

 

 

NotifyOnPlayerControlStopped

 

 

NotifyOnScanAborted

 

 

NotifyOnScanFinished

 

 

NotifyOnScanStarted

 

 

NotifyOnStartDialog

 

 

NotifyOnStopDialog

 

deprecated in 4.31 Beta 1

DEPRECATED NotifyOnTargetElementDisplayed

DEPRECATED - use NotifyTargetElementShown() instead

deprecated in 4.31 Beta 1

DEPRECATED NotifyOnTargetElementHidden

DEPRECATED - use NotifyTargetElementHidden() instead

added in 4.31 Beta 1

NotifyTargetElementHidden

 

added in 4.31 Beta 1

NotifyTargetElementShown

 

 

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 3

Pause([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 6

PrepareIcon

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.

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.

 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

 

depreacted in 4.31 Beta 1

DEPRECATED ReleaseInteractionDescriptor(descriptor)
Releases the descriptor which was returned by CreateInteractionDescriptor().

DEPRECATED - use FFI: ReleaseInteractionDescriptor() instead

 

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.

actionTable
actionTable = {
  [ActionID] = {
    [1] = {
      [1] = InputID Source,
      [2] = InputID Code,
      [3] = InputID Signum
    },
    [2] = { ... }
  },
  [ActionID] = { ... }
}
stateTable
stateTable = {
  [StateID] = {
    [1] = {
      [1] = InputID Source,
      [2] = InputID Code,
      [3] = InputID Signum
    },
    [2] = { ... }
  },
  [StateID] = { ... }
}
rangeTable
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 1

SignalObject(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.

wareAmountArray
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 3

SetContainerStockLimitOverride(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. 

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 1

bool = 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)

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.

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 5

SetNPCBlackboard(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 1

SetPriorityMissionTargetMessage(posID, messageID)

UNSUPPORTED. Not designed to be used by mods.

 

SetRadarOption(setting)
Sets the radar setting. 

 

added in 4.00 Beta 1

SetRenderTargetOneToOne()
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).

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.

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 3

Unpause([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.

UNSUPPORTED. Not designed to be used by mods.

deprecated in 4.31 Beta 1

DEPRECATED UnsetMapRenderTarget()
Resets the render target for the radar/map display.

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.

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 1

UnregisterMouseInteractions(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.

 

// @since 4.31 Beta 1: depreacted (use NotifyTargetElementShown)