Skip to content

API Ereignisse

Marcel1853 edited this page Oct 21, 2026 · 4 revisions

🇬🇧 English version · ⬅ Für Mod-Autoren

Ereignisse

UTL meldet, was passiert, als eigene Ereignisse. Die IDs holst du mit get_event_ids() und meldest dich in on_init und on_load an (die IDs entstehen bei jedem Laden neu, in derselben Reihenfolge):

local function listen()
  local ids = remote.call("utl", "get_event_ids")
  script.on_event(ids.on_delivery_completed, function(event)
    game.print("Lieferung " .. event.id .. " fertig: " .. event.from .. " → " .. event.to)
  end)
end
script.on_init(listen)
script.on_load(listen)

Ausgelöst wird immer erst am Ende von UTLs eigener Verarbeitung. Ereignisse entstehen nur, wenn wirklich etwas passiert (kein Takt) – mehr dazu unter Leistung.

Lieferungen

Ereignis Wann
on_delivery_created Lieferung angelegt, Zug losgeschickt
on_delivery_state_changed neuer Zustand: loading, to_requester, unloading (mit zweitem Anbieter auch wieder to_provider)
on_delivery_completed beim Abnehmer entladen und abgefahren
on_delivery_canceled abgebrochen; Feld reason: "station-lost", "manual", "rebuilt", "provider-empty", "remote"

Die Daten haben dieselben Felder wie get_delivery (Abfragen), dazu train (der LuaTrain).

Züge

Note

Neu in 0.0.20.

Ereignis Wann Felder
on_train_arrived Zug wartet an einer UTL-Station train, train_id, station (unit), stop (Haltestelle), mode, roles, delivery_id, job_id, held_by
on_train_departed Zug verlässt eine UTL-Station wie on_train_arrived
on_train_idle Zug steht frei im Depot train, train_id, station, stop, network; im Depot eines Add-ons zusätzlich role
on_train_rebuilt ein Zug, den UTL kannte, wurde umgebaut (Wagen an- oder abgekuppelt) train, train_id, old_train_ids, canceled (IDs abgebrochener Lieferungen), changing (true, wenn der Umbau gemeldet war)
on_job_finished Auftrag eines Add-ons fertig oder abgebrochen job_id, mod, train, train_id, canceled, reason ("remote", "rebuilt", "train-lost", "mod-removed")

Ankunft und Abfahrt kommen nur an UTL-Stationen, an fremden Haltestellen nicht.

Stationen, Warnungen, Anfragen

Note

Neu in 0.0.20.

Ereignis Wann Felder
on_station_created UTL-Station gebaut (auch aus Blaupausen) station (unit), kind ("stop" oder "combinator"), stop, stop_name, network, mode, roles, addon_role
on_station_changed Einstellungen einer Station geändert (Fenster, Kopieren, Schnittstelle) wie on_station_created
on_station_removed UTL-Station abgerissen station, kind
on_alert UTL-Warnung (kein Zug, steckt fest, Restladung, kein Weg …) – genauso oft wie die Warnung selbst group, icon, entity, message (LocalisedString), key, force (Name), surface (Index)
on_request_unserved ein Abnehmer wartet länger als die Karteneinstellung „Warnung „kein Zug“ nach (Minuten)“ und kein Zug ist frei bzw. passt – höchstens einmal je Minute und Anfrage station, key (Ware), network, since (Tick), reason ("no-free-train" oder "no-fitting-train"), provider (unit oder nil)

on_request_unserved eignet sich z. B. für Mods, die dann einen Zug bauen oder ausleihen.

Clone this wiki locally