--- title: speak summary: X4 interface reference. Types are established only within the stated scope. section: reference kind: api status: reference updated: 2026-10-26 tags: ["API","X4"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/","https://www.lua.org/manual/5.1/manual.html","https://luajit.org/ext_ffi_api.html"] --- ## Return value | Type | Meaning | | --- | --- | | [`none`](wiki:type-results) (MD action) | Types describe the declared interface, not proof of a successful game effect. | [Types and methods](wiki:types) ## XML attributes [How schema types work](wiki:schema-types) `libraries/common.xsd` | Attribute | Schema type | Required | Default / fixed | | --- | --- | --- | --- | | `chance` | [`expression`](wiki:schema-expression-b8bc0e4f) | no | not declared | | `weight` | [`expression`](wiki:schema-expression-b8bc0e4f) | no | not declared | | `comment` | [`comment`](wiki:schema-comment-c44bb2fd) | no | not declared | | `actor` | [`actor`](wiki:schema-actor-50c9c4ae) | yes | not declared | | `page` | [`pagewithdefault`](wiki:schema-pagewithdefault-be89c8f0) | no | not declared | | `line` | [`lineorlist`](wiki:schema-lineorlist-2a45a3b1) | no | not declared | | `delay` | [`speakdelay`](wiki:schema-speakdelay-a0ed6203) | no | not declared | | `emotion` | [`speakemotion`](wiki:schema-speakemotion-15f0a2c7) | no | not declared | | `timer` | [`speaktimer`](wiki:schema-speaktimer-0e8e4601) | no | not declared | | `interruptontimer` | [`speakinterruptontimer`](wiki:schema-speakinterruptontimer-07169dc0) | no | not declared | | `priority` | [`expression`](wiki:schema-expression-b8bc0e4f) | no | not declared | | `caninterrupt` | [`booleanexpression`](wiki:schema-booleanexpression-1c6e91c7) | no | not declared | | `recipient` | [`expression`](wiki:schema-expression-b8bc0e4f) | no | not declared | | `topic` | [`expression`](wiki:schema-expression-b8bc0e4f) | no | not declared | | `backgroundcomm` | [`booleanexpression`](wiki:schema-booleanexpression-1c6e91c7) | no | not declared | | `broadcast` | [`booleanexpression`](wiki:schema-booleanexpression-1c6e91c7) | no | not declared | | `voiceover` | [`booleanexpression`](wiki:schema-booleanexpression-1c6e91c7) | no | not declared | | `check` | [`boolean`](wiki:schema-boolean-bf84d3d6) | no | not declared | `libraries/voicesequences.xsd` | Attribute | Schema type | Required | Default / fixed | | --- | --- | --- | --- | | `page` | [`xs:positiveInteger`](wiki:schema-xs-positiveinteger-0be8dd28) | no | not declared | | `line` | [`xs:positiveInteger`](wiki:schema-xs-positiveinteger-0be8dd28) | yes | not declared | | `priority` | [`xs:integer`](wiki:schema-xs-integer-5c99925f) | no | not declared | | `nosubtitles` | [`xs:boolean`](wiki:schema-xs-boolean-f099f6dc) | no | not declared | | `filter` | [`xs:string`](wiki:schema-xs-string-d5652e9b) | no | not declared | An MD action can write to a named variable or change the world. This is not a Lua return value. The output variable depends on the action and its attributes. ## Example and context See [language basics](wiki:x4-code-basics), [types and methods](wiki:types) and [Lua / MD events](wiki:md-lua-bridge). Examples there are independent learning examples. No project source files or private implementation fragments are distributed with this reference.