Deutsches Simutransforum
Skripts fuer KI Spieler - Druckversion

+- Deutsches Simutransforum (https://simutrans-forum.de/mybb)
+-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3)
+--- Forum: Programmierung und Patches (https://simutrans-forum.de/mybb/forumdisplay.php?fid=38)
+--- Thema: Skripts fuer KI Spieler (/showthread.php?tid=8408)

Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38


- Dwachs2 - 06-04-2017

Absturz sollte mit aktuellem Nightly nicht passieren. Oder doch ?

Die Log Datei wird mit den print Ausgaben gefuellt (oder Fehlermeldungen) wenn mit '-debug 2' gestartet wird. Wenn da nix kommt ist sie halt leer.


- Wurzelgnom - 06-04-2017

r8188 geht erst mal wieder


RE: Skripts fuer KI Spieler - Andarix - 03-04-2020

Ich bekomme es nicht hin, das Eisenbahnen mit mehr als 2 Fahrzeugen erstellt werden. Folglich gibt es auch nur einfeldrige Stationen.

Was ist der Unterschied zwischen prototyper.max_vehicles und prototyper.max_length in der Funktion plan_simple_connection ( industry_connection_planner.nut )?

Ich hoffe mal, das settings.get_max_rail_convoi_length() auch ausgelesen wird. wird ausgelesen

Gibt es eine Möglichkeit im normalen Meldungsfenster Statusmeldungen zum Überprüfen auszugeben?

Lässt sich retire_year von Fahrzeugen und das aktuelle Kartenjahr abfragen?


RE: Skripts fuer KI Spieler - Andarix - 04-04-2020

meine bescheidenden Gehversuche

inklusive diverser Bugs
  • nur einfeldrige Zugstationen in Folge von Zügen mit nur 2-3 Fahrzeugen die rein passen ( oder umgekehrt )
  • Auswahl veralteter Fahrzeuge
  • Wahl elektrischer Loks ohne Oberleitung
  • mehr als 1 Zug trotz Eingleisigkeit
  • Ölbohrinseln werden nicht zuverlässig angebunden
  • plus die die mir grad nicht einfallen

benötigte Funktionen
  • Abfrage vom aktuellem Spieljahr
  • Abfrage retire_year von Fahrzeugen ( veh.get_retire_year() wirft einen Fehler )
  • Abfrage ob ein Fahrzeug elektrisch angetrieben wird ( veh.get_needs_electrification() wirft einen Fehler )

0001-add-rail.patch
sqai_rail_0001.zip


RE: Skripts fuer KI Spieler - Dwachs2 - 04-04-2020




RE: Skripts fuer KI Spieler - Andarix - 04-04-2020

Der direkte Vergleich veh.get_retire_date() > world.get_time() funktioniert demzufolge nicht, weil die Formate unterschiedlich sind. Deshalb wollte ich ja nur die Jahreszahlen vergleichen.

Jetzt erstellt er mir Züge mit 2 Wagen und ohne Lok Sad

So lange ich das mit den Zug-/Stationslängen nicht hin bekomme, bekomme ich eh die Kriese.


RE: Skripts fuer KI Spieler - Dwachs2 - 04-04-2020

Kannst du nicht einfach veh.is_available() abfragen? Dann brauchst du nicht mit diesen Funktionen rumspielen. vehicle_desc_x.get_available_vehicles(wt) bringt nur Teile, die auch verfuegbar und nicht obsolet sind.


RE: Skripts fuer KI Spieler - Andarix - 04-04-2020

Die Fahrzeugauswahl hab ich eh erst mal aufgeschoben.

Die Convoylänge und die Stationslänge muss ich erst mal hinbekommen.

Und mit der Doku komm ich auch nicht so richtig klar im Moment.

Gerade nachgesehen, es wir vehicle_desc_x.get_available_vehicles(wt) verwendet.

Code:
local list = vehicle_desc_x.get_available_vehicles(wt)

Wenn das kaufen veralteter Fahrzeuge nicht per allow_buying_obsolete_vehicles verboten wird, liefert die Funktion auch veraltete Fahrzeuge. Die sind ja im Depot verfügbar und nur ausgeblendet.


RE: Skripts fuer KI Spieler - Andarix - 04-04-2020

Es scheint so, als gerät die Convoyvalidierung in eine Endlosschleife, wenn die Gesamtlänge über 16 hinaus geht.

sqai_rail_0002.zip

prototyper.nut Zeile 174

angehängt ist die Version mit der Dauerschleife ( Ausgabe InGame im Meldungsfenster )

wird max_length durch 16 oder CARUNITS_PER_TILE ( entspricht 16 ) ersetzt, dann funktioniert es


RE: Skripts fuer KI Spieler - Dwachs2 - 04-04-2020

veh.is_retired(world.get_time()) sollte zurueckgeben, ob das Ding veraltet ist.