SANDBOX — this is a test environment. No servers are actually deployed and no real payments are charged.
Back to NxLabs

NxLabs / Factorio

trainsaver

ABy asher_sky

A dynamic screensaver that follows trains as they drive around

Description

Ko-fi Donate GitHub Contribute Crowdin Translate Mod Portal Download

Sit back, relax, and watch your trains drive around!

This mod creates a dynamic screensaver which follows trains as they drive around from station to station. The screensaver can be started or stopped at any time with cmd/ctrl + t or the /trainsaver chat command. The screensaver can also start automatically when a player is AFK. Most game-control keys will exit the screensaver and return control to the player, except the right/left arrow keys which navigate a history of previously viewed targets.

Please report any issues or suggestions on the Discussion page.


Features

  • *Easy Access:* start or stop trainsaver at any time with a configurable hotkey (default: cmd/ctrl + t) or use the /trainsaver command in chat console
  • *AFK AutoStart:* trainsaver can start automatically when player is afk
  • *Quick Escape:* easily exit trainsaver by pressing any game-control key (movement, inventory, logistic network, train overview, etc.)
  • *Fully Configurable:* each player has their own individual settings to control how trainsaver behaves (zoom, transitions, AFK AutoStart time, etc.)
  • *Time Travel:* take control of the focus target and navigate through your history of previously viewed targets (default: right/left arrow keys)
  • *Custom Achievements:* 8 unique trainsaver achievements to unlock, plus 3 secret hidden ones!
  • *Scope Creep:* enable the scope creep mod setting to expand trainsaver's focus beyond just trains /|\(◦.◦)/|\

trainsaver demo video

(4 minutes, v0.0.3, December 2020)


trainsaver extended preview video

(30 minutes, v0.0.3, December 2020)


Commands

trainsaver provides the following chat commands:

  • /trainsaver --> toggles trainsaver on or off
  • /ts-start --> starts trainsaver
  • /ts-end --> ends trainsaver
  • /ts-verbose --> toggles verbose mode debug messages on or off
  • /ts-reset_history --> clears the target history for the player
  • /ts-next_target --> tells trainsaver to go forward in history. finds a new target if current target is the newest in history
  • /ts-previous_target --> tells trainsaver to go backward in history. won't do anything if the current target is the oldest in history
  • /ts-ignore_stations <train-stop> --> adds the specified train stations to the ignored stations list
  • /ts-unignore_stations <train-stop> --> removes the specified train stations from the ignored stations list
  • /ts-list_ignored_stations --> lists all currently ignored train stations

Interface

trainsaver provides an interface for other mods to interact with. The interface is named trainsaver and includes the following functions:

  • trainsaver_status(player_index) --> returns the status of trainsaver for a given player, either "active" or "inactive"
  • trainsaver_target(player_index) --> returns the current target (LuaEntity | LuaUnitGroup) trainsaver is following for a given player, or nil if there is none
  • start_trainsaver(player_index) --> starts trainsaver for a given player
  • end_trainsaver(player_index) --> ends trainsaver for a given player
  • toggle_trainsaver(player_index) --> toggles trainsaver for a given player
  • focus_next_target(player_index) --> tells trainsaver to go forward in history. finds a new target if current target is the newest in history
  • focus_previous_target(player_index) --> tells trainsaver to go backward in history. won't do anything if the current target is the oldest in history
  • reset_player_history(player_index) --> clears the target history for a given player

Example interface usage:

  • https://lua-

Ratings & reviews

No ratings yet

Sign in to leave a rating or comment.