В LuaApi используются встроенные Lua типы и пользовательские типы. Как правило, пользовательские типы определены в коде. Уточнение: пользовательские типы не обязательно являются userdata/lightuserdata из Lua, реализация каждого типа описана отдельно.
Базисные типы Lua:
* nil - отсутствие значения,
* number - реальные (с плавающей запятой) числа,
* number (int) - целое число,
* number (enum) - перечисление, константы целочисленные, оговариваются особо в каждом случае
* string - Lua строка (не локализуемая строка, для локализованных строк используйте '''WString'''),
* boolean - логическое значение (true/false),
* table - Lua таблица,
* "list" - список значений (конструкция языка, а не тип).
Различные пользовательские типы (определенные в коде):
* WString - локализуемая строка,
* ObjectId - идентификатор объекта (в настоящее время number (int) или nil),
* ResourceId - группа типов, являющихся идентификаторами ресурсов из базы, подробное описание см. на странице этого типа. Идентификаторы можно сравнивать используя Resource:IsEqual( resource ).
* ["QuestId"] - идентификатор квеста,
* ["SpellId"] - идентификатор умения (spell),
* ["ItemCategoryId"] - идентификатор категории предмета
* ["TextureId"] - идентификатор текстуры из базы,
* ["VisObjectId"] - идентификатор визуального объекта из базы,
* ["AliasVisObjectId"] - идентификатор визуального объекта-обвязки из базы,
* ["Sound2DId"] - идентификатор звука из базы,
* и т.д. (см. ResourceId)
* Color - цвет в виде таблицы с полями a, r, g, b типа number (float). Диапазон значений [0..1]. Например: { r = 1, g = 0, b = 0, a = 0.2 },
* ["GamePosition"] - игровые координаты
Различные типы Widget-ов (определены в коде):
* WidgetsSystemSafe - система Widgets в целом,
* WidgetSafe - базовый тип для widget-ов (можно сравнивать используя Resource:IsEqual( resource )),
* ButtonSafe - кнопка,
* Control3DSafe - 3D контрол (кукла и т.п.),
* EditLineSafe - строка ввода текста,
* FormSafe - форма,
* PanelSafe - панель,
* TextViewSafe - контрол просмотра текста.
* ScrollableContainerSafe - контрол для группировки разнородных элементов
Работа с текстом:
* ValuedText - размеченный текст с подстановками,
* ValuedObject - обёртка гейм-объекта для подстановки в ValuedText.