25-02-2021, Thursday-16:47:06
(Dieser Beitrag wurde zuletzt bearbeitet: 25-02-2021, Thursday-17:28:56 von Andarix.)
(25-02-2021, Thursday-15:37:23 )Dwachs2 schrieb: sind denn start und end tatsaechlich vernuenftige Koordinaten zu Feldern mit entsprechenden Wegen?
Im aktuellen Code gebe ich die Start- und Zielkoordinaten mit aus.
Diese existieren und es sind auch die von der Strecke. Die Suche hat auch vorher schon funktioniert. Nur jetzt funktioniert sie halt nicht mehr.
Andere Routen funktionieren nach wie vor.
Auffällig war eben nur, das bei den gescheiterten Routen Bahnübergänge vorhanden waren.
Bei einer sind auf der Straße Straßenbahnschienen. Und dann sind wiederum Brücken vorhanden.
Und der Code ist schon länger unverändert vorhanden.
Keine Ahnung ob es mit Ausführung/Einführung von Objekten zu tun hat. Mein Verdacht fällt auf die Änderungen bei den Kreuzungen. Aber da selbst das ersetzen eines Bahnüberganges durch eine Brücke nicht geholfen hat kann es das scheinbar nicht sein.
Erklärt auch nicht, warum einzelne Strecken scheitern und andere nicht.
Die Geschwindigkeit les ich schon mal falsch aus bei Kreuzungen.
Im Bild die 40 sind von der Straße und nicht von der Schiene. Feld 64,575
[edit] scheinbar ist das nicht die Geschwindigkeit von der Kreuzung sondern vom Zug[/edit]
Und das hier sind 2 Linien die die gleichen Fabriken verbinden. Die eine wird ausgebaut, heist die Routensuche war erfolgreich. Die andere schlägt fehl.
Nachtrag
Diese Eisenbahnstrecke hat keine Kreuzungen. Das Wegtile liefert aber 45 statt 90 Geschwindigkeit.
code dazu
Zitat:local way_speed = 500
local upgrade_tiles = 0
for ( local i = 0; i < nexttile.len(); i++ ) {
local tile_way = tile_x(nexttile[i].x, nexttile[i].y, nexttile[i].z).find_object(mo_way)
if ( (tile_way.get_owner().nr == our_player_nr || tile_way.get_owner().nr == 1) ) {
upgrade_tiles++
if ( tile_way.get_desc().get_topspeed() < way_speed ) {
way_speed = tile_way.get_desc().get_topspeed()
}
}
}
link.line_way_speed = way_speed
gui.add_message_at(our_player, way_speed + " way speed line " + line.get_name(), world.get_time())
gui.add_message_at(our_player, upgrade_tiles + " possible tiles for upgrading ", world.get_time())
//gui.add_message_at(our_player, " cnv max speed " + cnv_max_speed, world.get_time())
Irgendwie mache ich was falsch oder was geht schief.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds