set_game_state{game_finished?=…, player_won?=…, next_level?=…, can_continue?=…} changed | Set scenario state. [...] | |
Set scenario state. [...] | ||
reset_game_state() | Reset scenario state (game_finished, player_won, etc.). | |
Reset scenario state (game_finished, player_won, etc.). | ||
set_win_ending_info{title=…, message?=…, bullet_points?=…, final_message?=…, image_path?=…} new | Set winning ending information for the current scenario. | |
Set winning ending information for the current scenario. | ||
set_lose_ending_info{title=…, message?=…, bullet_points?=…, final_message?=…, image_path?=…} new | Set losing ending information for the current scenario. | |
Set losing ending information for the current scenario. | ||
get_entity_by_tag(tag) | → LuaEntity? | Gets an entity by its name tag. [...] |
Gets an entity by its name tag. [...] | ||
show_message_dialog{text=…, image?=…, point_to?=…, style?=…, wrapper_frame_style?=…} | Show an in-game message dialog. [...] | |
Show an in-game message dialog. [...] | ||
is_demo() | → boolean | Is this the demo version of Factorio? |
Is this the demo version of Factorio? | ||
reload_script() | Forces a reload of the scenario script from the original scenario location. [...] | |
Forces a reload of the scenario script from the original scenario location. [...] | ||
reload_mods() | Forces a reload of all mods. [...] | |
Forces a reload of all mods. [...] | ||
save_atlas() | Saves the current configuration of Atlas to a file. [...] | |
Saves the current configuration of Atlas to a file. [...] | ||
check_consistency() | Run internal consistency checks. [...] | |
Run internal consistency checks. [...] | ||
regenerate_entity(entities) | Regenerate autoplacement of some entities on all surfaces. [...] | |
Regenerate autoplacement of some entities on all surfaces. [...] | ||
take_screenshot{player?=…, by_player?=…, surface?=…, position?=…, resolution?=…, zoom?=…, path?=…, show_gui?=…, show_entity_info?=…, show_cursor_building_preview?=…, anti_alias?=…, hide_clouds?=…, hide_fog?=…, quality?=…, allow_in_replay?=…, daytime?=…, water_tick?=…, force_render?=…} changed | Take a screenshot of the game and save it to the | |
Take a screenshot of the game and save it to the | ||
set_wait_for_screenshots_to_finish() | Forces the screenshot saving system to wait until all queued screenshots have been written to disk. | |
Forces the screenshot saving system to wait until all queued screenshots have been written to disk. | ||
take_technology_screenshot{path?=…, player=…, selected_technology?=…, skip_disabled?=…, quality?=…} changed | Take a screenshot of the technology screen and save it to the | |
Take a screenshot of the technology screen and save it to the | ||
remove_offline_players(players?) | Remove players who are currently not connected from the map. | |
Remove players who are currently not connected from the map. | ||
force_crc() | Force a CRC check. [...] | |
Force a CRC check. [...] | ||
create_force(force) | → LuaForce | Create a new force. [...] |
Create a new force. [...] | ||
merge_forces(source, destination) changed | Marks two forces to be merged together. [...] | |
Marks two forces to be merged together. [...] | ||
create_surface(name, settings?) | → LuaSurface | Create a new surface. [...] |
Create a new surface. [...] | ||
server_save(name?) | Instruct the server to save the map. [...] | |
Instruct the server to save the map. [...] | ||
auto_save(name?) | Instruct the game to perform an auto-save. [...] | |
Instruct the game to perform an auto-save. [...] | ||
delete_surface(surface) changed | → boolean | Deletes the given surface and all entities on it if possible. |
Deletes the given surface and all entities on it if possible. | ||
disable_replay() | Disables replay saving for the current save file. [...] | |
Disables replay saving for the current save file. [...] | ||
print(message, print_settings?) changed | Print text to the chat console all players. [...] | |
Print text to the chat console all players. [...] | ||
create_random_generator(seed?) | → LuaRandomGenerator | Creates a deterministic standalone random generator with the given seed or if a seed is not provided the initial map seed is used. [...] |
Creates a deterministic standalone random generator with the given seed or if a seed is not provided the initial map seed is used. [...] | ||
play_sound{path=…, position?=…, volume_modifier?=…, override_sound_type?=…} | Play a sound for every player in the game. [...] | |
Play a sound for every player in the game. [...] | ||
kick_player(player, reason?) | Kicks the given player from this multiplayer game. [...] | |
Kicks the given player from this multiplayer game. [...] | ||
ban_player(player, reason?) changed | Bans the given player from this multiplayer game. [...] | |
Bans the given player from this multiplayer game. [...] | ||
unban_player(player) changed | Unbans the given player from this multiplayer game. [...] | |
Unbans the given player from this multiplayer game. [...] | ||
purge_player(player) | Purges the given players messages from the game. [...] | |
Purges the given players messages from the game. [...] | ||
mute_player(player) | Mutes the given player. [...] | |
Mutes the given player. [...] | ||
unmute_player(player) | Unmutes the given player. [...] | |
Unmutes the given player. [...] | ||
is_multiplayer() | → boolean | Whether the save is loaded as a multiplayer map. |
Whether the save is loaded as a multiplayer map. | ||
get_map_exchange_string() | → string | Gets the map exchange string for the map generation settings that were used to create this map. |
Gets the map exchange string for the map generation settings that were used to create this map. | ||
get_player(player) | → LuaPlayer? | Gets the given player or returns |
Gets the given player or returns | ||
get_surface(surface) | → LuaSurface? | Gets the given surface or returns |
Gets the given surface or returns | ||
create_profiler(stopped?) | → LuaProfiler | Creates a LuaProfiler, which is used for measuring script performance. [...] |
Creates a LuaProfiler, which is used for measuring script performance. [...] | ||
create_inventory(size, gui_title?) changed | → LuaInventory | Creates an inventory that is not owned by any game object. [...] |
Creates an inventory that is not owned by any game object. [...] | ||
get_script_inventories(mod?) | → dictionary[string → array[LuaInventory]] | Gets the inventories created through LuaGameScript::create_inventory. [...] |
Gets the inventories created through LuaGameScript::create_inventory. [...] | ||
reset_time_played() | Resets the amount of time played for this map. | |
Resets the amount of time played for this map. | ||
get_pollution_statistics(surface) new | → LuaFlowStatistics | The pollution statistics for this the given surface. |
The pollution statistics for this the given surface. | ||
get_vehicles{unit_number?=…, force?=…, surface?=…, type?=…, is_moving?=…, has_passenger?=…} new | → array[LuaEntity] | Returns vehicles in game |
Returns vehicles in game | ||
get_entity_by_unit_number(unit_number) new | → LuaEntity? | Returns entity with a specified unit number or nil if entity with such number was not found or prototype does not have EntityPrototypeFlags::get-by-unit-number flag set. |
Returns entity with a specified unit number or nil if entity with such number was not found or prototype does not have EntityPrototypeFlags::get-by-unit-number flag set. | ||
object_name | :: R string | The class name of this object. [...] |
The class name of this object. [...] | ||
player | :: R LuaPlayer? | This property is only populated inside custom command handlers and when writing Lua console commands. [...] |
This property is only populated inside custom command handlers and when writing Lua console commands. [...] | ||
players | :: R LuaCustomTable[uint or string → LuaPlayer] | Get a table of all the players that currently exist. [...] |
Get a table of all the players that currently exist. [...] | ||
map_settings | :: R MapSettings | The currently active set of map settings. [...] |
The currently active set of map settings. [...] | ||
difficulty_settings | :: R DifficultySettings | The currently active set of difficulty settings. [...] |
The currently active set of difficulty settings. [...] | ||
difficulty | :: R defines.difficulty | Current scenario difficulty. |
Current scenario difficulty. | ||
forces | :: R LuaCustomTable[uint or string → LuaForce] | Get a table of all the forces that currently exist. [...] |
Get a table of all the forces that currently exist. [...] | ||
console_command_used | :: R boolean | Whether a console command has been used. |
Whether a console command has been used. | ||
simulation new | :: R LuaSimulation | Simulation-related functions, or |
Simulation-related functions, or | ||
tick | :: R uint | Current map tick. |
Current map tick. | ||
ticks_played | :: R uint | The number of ticks since this game was created using either "new game" or "new game from scenario". [...] |
The number of ticks since this game was created using either "new game" or "new game from scenario". [...] | ||
tick_paused | :: RW boolean | If the tick has been paused. [...] |
If the tick has been paused. [...] | ||
ticks_to_run | :: RW uint | The number of ticks to be run while the tick is paused. [...] |
The number of ticks to be run while the tick is paused. [...] | ||
finished | :: R boolean | True while the victory screen is shown. |
True while the victory screen is shown. | ||
finished_but_continuing | :: R boolean | True after players finished the game and clicked "continue". |
True after players finished the game and clicked "continue". | ||
speed | :: RW float | Speed to update the map at. [...] |
Speed to update the map at. [...] | ||
surfaces | :: R LuaCustomTable[uint or string → LuaSurface] | Get a table of all the surfaces that currently exist. [...] |
Get a table of all the surfaces that currently exist. [...] | ||
planets new | :: R LuaCustomTable[string → LuaPlanet] | |
connected_players | :: R array[LuaPlayer] | The players that are currently online. [...] |
The players that are currently online. [...] | ||
permissions | :: R LuaPermissionGroups | |
backer_names | :: R LuaCustomTable[uint → string] | Array of the names of all the backers that supported the game development early on. [...] |
Array of the names of all the backers that supported the game development early on. [...] | ||
default_map_gen_settings | :: R MapGenSettings | The default map gen settings for this save. |
The default map gen settings for this save. | ||
enemy_has_vision_on_land_mines | :: RW boolean | Determines if enemy land mines are completely invisible or not. |
Determines if enemy land mines are completely invisible or not. | ||
autosave_enabled | :: RW boolean | True by default. [...] |
True by default. [...] | ||
draw_resource_selection | :: RW boolean | True by default. [...] |
True by default. [...] | ||
train_manager new | :: R LuaTrainManager | |
blueprints new | :: R array[LuaRecord] | Records contained in the "game blueprints" tab of the blueprint library. |
Records contained in the "game blueprints" tab of the blueprint library. | ||
technology_notifications_enabled new | :: RW boolean | True by default. [...] |
True by default. [...] | ||
allow_tip_activation new | :: RW boolean | If the tips are allowed to be activated in this scenario, it is false by default. [...] |
If the tips are allowed to be activated in this scenario, it is false by default. [...] |
title | :: LocalisedString | |
message | :: LocalisedString? | |
bullet_points | :: array[LocalisedString]? | |
final_message | :: LocalisedString? | |
image_path | :: string? |
title | :: LocalisedString | |
message | :: LocalisedString? | |
bullet_points | :: array[LocalisedString]? | |
final_message | :: LocalisedString? | |
image_path | :: string? |
text | :: LocalisedString | What the dialog should say |
What the dialog should say | ||
image | :: string? | Path to an image to show on the dialog |
Path to an image to show on the dialog | ||
point_to | :: GuiArrowSpecification? | If specified, dialog will show an arrow pointing to this place. When not specified, the arrow will point to the player's position. (Use |
If specified, dialog will show an arrow pointing to this place. When not specified, the arrow will point to the player's position. (Use | ||
style | :: string? | The gui style to use for this speech bubble. Must be of type speech_bubble. |
The gui style to use for this speech bubble. Must be of type speech_bubble. | ||
wrapper_frame_style | :: string? | Must be of type flow_style. |
Must be of type flow_style. |
player | :: PlayerIdentification? | The player to focus on. Defaults to the local player. |
The player to focus on. Defaults to the local player. | ||
by_player | :: PlayerIdentification? | If defined, the screenshot will only be taken for this player. |
If defined, the screenshot will only be taken for this player. | ||
surface | :: SurfaceIdentification? | If defined, the screenshot will be taken on this surface. |
If defined, the screenshot will be taken on this surface. | ||
position | :: MapPosition? | If defined, the screenshot will be centered on this position. Otherwise, the screenshot will center on |
If defined, the screenshot will be centered on this position. Otherwise, the screenshot will center on | ||
resolution | :: TilePosition? | The maximum allowed resolution is 16384x16384 (8192x8192 when |
The maximum allowed resolution is 16384x16384 (8192x8192 when | ||
zoom | :: double? | The map zoom to take the screenshot at. Defaults to |
The map zoom to take the screenshot at. Defaults to | ||
path | :: string? | The name of the image file. It should include a file extension indicating the desired format. Supports |
The name of the image file. It should include a file extension indicating the desired format. Supports | ||
show_gui | :: boolean? | Whether to include GUIs in the screenshot or not. Defaults to |
Whether to include GUIs in the screenshot or not. Defaults to | ||
show_entity_info | :: boolean? | Whether to include entity info ("Alt mode") or not. Defaults to |
Whether to include entity info ("Alt mode") or not. Defaults to | ||
show_cursor_building_preview | :: boolean? | When |
When | ||
anti_alias | :: boolean? | Whether to render in double resolution and downscale the result (including GUI). Defaults to |
Whether to render in double resolution and downscale the result (including GUI). Defaults to | ||
hide_clouds | :: boolean? | If |
If | ||
hide_fog | :: boolean? | If |
If | ||
quality | :: int? | The |
The | ||
allow_in_replay | :: boolean? | Whether to save the screenshot even during replay playback. Defaults to |
Whether to save the screenshot even during replay playback. Defaults to | ||
daytime | :: double? | Overrides the current surface daytime for the duration of screenshot rendering. |
Overrides the current surface daytime for the duration of screenshot rendering. | ||
water_tick | :: uint? | Overrides the tick of water animation, if animated water is enabled. |
Overrides the tick of water animation, if animated water is enabled. | ||
force_render | :: boolean? | Screenshot requests are processed in between game update and render. The game may skip rendering (ie. drop frames) if the previous frame has not finished rendering or the game simulation starts to fall below 60 updates per second. If |
Screenshot requests are processed in between game update and render. The game may skip rendering (ie. drop frames) if the previous frame has not finished rendering or the game simulation starts to fall below 60 updates per second. If |
path | :: string? | The name of the image file. It should include a file extension indicating the desired format. Supports |
The name of the image file. It should include a file extension indicating the desired format. Supports | ||
player | :: PlayerIdentification | The screenshot will be taken for this player. |
The screenshot will be taken for this player. | ||
selected_technology | :: TechnologyID? | The technology to highlight. |
The technology to highlight. | ||
skip_disabled | :: boolean? | If |
If | ||
quality | :: int? | The |
The |
players | :: array[PlayerIdentification]? | List of players to remove. If not specified, remove all offline players. |
List of players to remove. If not specified, remove all offline players. |
on_pre_player_removed instantly | |
on_player_removed instantly |
force | :: string | Name of the new force |
Name of the new force |
→ LuaForce | The force that was just created |
on_force_created instantly |
source | :: ForceID | The force to remove. |
The force to remove. | ||
destination | :: ForceID | The force to reassign all entities to. |
The force to reassign all entities to. |
on_forces_merging future_tick | |
on_forces_merged future_tick |
name | :: string | Name of the new surface. |
Name of the new surface. | ||
settings | :: MapGenSettings? | Map generation settings. |
Map generation settings. |
→ LuaSurface | The surface that was just created. |
on_surface_created instantly |
name | :: string? | Save file name. If not specified, the currently running save is overwritten. If there is no current save, no save is made. |
Save file name. If not specified, the currently running save is overwritten. If there is no current save, no save is made. |
name | :: string? | The autosave name if any. Saves will be named _autosave-name when provided. |
The autosave name if any. Saves will be named _autosave-name when provided. |
surface | :: SurfaceIdentification | The surface to be deleted. Currently the primary surface (1, 'nauvis') cannot be deleted. |
The surface to be deleted. Currently the primary surface (1, 'nauvis') cannot be deleted. |
→ boolean | If the surface was queued to be deleted. |
on_pre_surface_deleted future_tick | |
on_surface_deleted future_tick |
path | :: SoundPath | The sound to play. |
The sound to play. | ||
position | :: MapPosition? | Where the sound should be played. If not given, it's played at the current position of each player. |
Where the sound should be played. If not given, it's played at the current position of each player. | ||
volume_modifier | :: double? | The volume of the sound to play. Must be between 0 and 1 inclusive. |
The volume of the sound to play. Must be between 0 and 1 inclusive. | ||
override_sound_type | :: SoundType? | The volume mixer to play the sound through. Defaults to the default mixer for the given sound type. |
The volume mixer to play the sound through. Defaults to the default mixer for the given sound type. |
player | :: PlayerIdentification | The player to kick. |
The player to kick. | ||
reason | :: string? | The reason given if any. |
The reason given if any. |
on_player_kicked instantly | |
on_console_command instantly |
player | :: PlayerIdentification or string | The player to ban. |
The player to ban. | ||
reason | :: string? | The reason given if any. |
The reason given if any. |
on_player_banned instantly | |
on_console_command instantly |
player | :: PlayerIdentification or string | The player to unban. |
The player to unban. |
on_player_unbanned instantly | |
on_console_command instantly |
player | :: PlayerIdentification | The player to purge. |
The player to purge. |
on_console_command instantly |
player | :: PlayerIdentification | The player to mute. |
The player to mute. |
on_player_muted instantly | |
on_console_command instantly |
player | :: PlayerIdentification | The player to unmute. |
The player to unmute. |
on_player_unmuted instantly | |
on_console_command instantly |
size | :: uint16 | The number of slots the inventory initially has. |
The number of slots the inventory initially has. | ||
gui_title | :: LocalisedString? | The title of the GUI that is shown when this inventory is opened. |
The title of the GUI that is shown when this inventory is opened. |
mod | :: string? | The mod whose inventories to get. If not provided all inventories are returned. |
The mod whose inventories to get. If not provided all inventories are returned. |
→ dictionary[string → array[LuaInventory]] | A mapping of mod name to array of inventories owned by that mod. |
-- This will set the technology price multiplier to 12.
game.difficulty_settings.technology_price_multiplier = 12