Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Script-KI - Werte Speichern
#1
Ist es möglich eigene Statuswerte zu speichern?

Prinzipiell brauche ich nur eine Speicherung zur Laufzeit.

Aktuell durchläuft er immer wieder die Streckensuche und ruft die Baufunktion für die Ausweichstellen auf. Was unnötig ist.
Deshalb würde ich gerne am Ende der Bauaktion 2 Werte ( es wurde gebaut, Anzahl der Ausweichstellen ) speichern.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#2
Ja klar, ist moeglich. Am besten waere es vermutlich in der industry_link_t klasse. Da sind ja schon ein paar Statusvariablen drin.
Zitieren
#3
Es müsste mit link_list[k] gespeichert werden.

Die Daten fallen aber in check_link_line(link, line) an.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#4
Zuerst in der Klassendefinition von industry_link_t eine weitere Variable einfuehren, z.b. dingsbums = 0.
Dann in check_link_line die Variable mit link.dingsbums = 1 setzen.
Zitieren
#5
Hab es mal zwecks testen auf GitHub eingestellt.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#6
Ich bin mir etwas uneins.

Da die Streckenfindung sehr aufwendig ist, bin ich am überlegen ob ich nicht doch die Bauroute speichern sollte.

So lange sich Strecken nicht Kreuzen/teilweise mit benutzen funktioniert es ganz gut.
Tun sie das aber, geht die Streckenfindung teilweise in die falsche Richtung.

Allerdings ist eine Streckenoptimierung nach dem Bau ( da ist die Streckenführung bekannt ) geplant.

Zwei Optionen hab ich noch.
Die Position der Zielstation einbeziehen oder abbrechen und von der Zielstation aus neu suchen. Dürfte den Code aber noch unübersichtlicher machen.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#7
Eigentlich müsste eine Streckensuche schon vorhanden sein.

Tools wie der Wegabriss/Elektrifizierung/Abriss Wegobjekte ermitteln ja auch die Strecke zwischen Start- und Endpunkt wo hin geklickt wird.

Wenn da die Rückgabe der Strecke als Array möglich wäre statt der Ausführung, das wäre ungemein hilfreich.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#8
Die lassen einen Dummyconvoi darauf fahren, der hat ja eine Route. K;nnte die KI ja auch tun.
Zitieren
#9
Die Route der Baufunktion kann man ja direkt abgreifen: nach as.search_route steht die gefundene Route in as.route.
Zitieren
#10
(06-09-2020, Sunday-18:38:49 )Dwachs2 schrieb: Die Route der Baufunktion kann man ja direkt abgreifen: nach as.search_route steht die gefundene Route in as.route.

Direkt nach dem Bau ist die auch in c_route gespeichert und soll für die Optimierung genutzt werden. Wird auch für den sofortigen Abriss genutzt, wenn beim Bau was schief geht.

Siehe weiter oben, wenn eben später noch verwendbar müsste die mit abgespeichert werden.

Die größten Probleme enstehen, wenn sich Strecken kreuzen oder gegenseitig mitbenutzen. Beim mitbenutzen werden dann sehr unsinnige Verbindungen gebaut, die dann im Nachgang optimiert werden müssen.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste