Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Fahrzeuge fahren zu weit vor ! ?
#41
@Dwachs: Deinen Vorschlag habe ich ausprobiert; Die Züge halten kurz und fahren dann sofort weiter, also, die Lok fährt sofort weiter, und die angehängten Wagen können nachher irgendwo auf dem Spielfeld zu finden sein oder werden gar nicht mehr angezeigt.

Ich habe mich die letzten Stunden darin vertieft, herauszufinden, wo genau die Stelle ist, an der der Zug merkt, dass das Signal wieder Fahrt gibt - leider bin ich nicht fündig geworden.
Zitieren
#42
Zitat:Original von Gotthardlok
Ich habe mich die letzten Stunden darin vertieft, herauszufinden, wo genau die Stelle ist, an der der Zug merkt, dass das Signal wieder Fahrt gibt - leider bin ich nicht fündig geworden.

vielleicht hier:

simconvoi.cc / convoi_t:Confusedtep() / case WAITING_FOR_CLEARANCE*

sind auch nur Vermutungen meinerseits.
Zitieren
#43
Ein Halt zeigendes Signal als Bahnsteig ( fahrttechnisch ) behandeln und ein Fahrt zeigendes als Wegpunkt. Ggf. Einzugsgebiet auf 0 setzen, um eine be-/entladen zu vermeiden.

Da ja Bahnsteige auch ein internes Signal haben, könnte das eigentlich funktionieren.

Zumindest für die Schiene könnte das eine Lösung sein.
Zitieren
#44
In waggon_t::ist_weg_frei() wird getestet, ob weitergfahren werden kann in simvehikel.cc. Das wird wiederum von hop_check() aufgerufen oder direkt von den wartenden Stellen.
Zitieren
#45
An den genannten Stellen die Position mit vorfahren zu korrigieren, schlägt zünftig fehl - der Zug verschwindet von der Bildfläche, dann stürzt Simutrans ab.
In simvehikel.cc kann die Funktion schon gar nicht eingebaut werden, dann meckert schon der Compiler.

Es ergeben sich 2 Folgerungen:
1. (sehr wahrscheinlich) Gotthardlok ist zu dumm zum Programmieren;
2. (vermutlich trotzdem nicht allzu abwegig) Die Abläufe in Bahnhöfen, Fahrplanhalten und Halten vor Signalen sind wohl zu unterschiedlich programmiert, dass sie sich einfach verknüfen oder gegenseitig aufrufen lassen, was meine Hoffnung gewesen ist.

Seid jetzt bitte nicht zu bös auf mich, aber Ich kann leider nicht mehr weiterhelfen.
Zitieren
#46
Also, ist_weg_frei, kann man immer aufrufen.

Das größte Problem ist, den Zug in der Mittel einer Kcahl zu stoppen. Da müsste man dann in bestimmten Richtungen vorgauckeln, dass die Kachel halb so lang sei. Kann dann alerdings Problem beim Weiterfahren geben.

WIe ich schon sagte, vielleicht nicht der einfachste Teil als erstes.
Zitieren
#47
Ich habe mich gestern auch mal über den code "hergemacht" und habe festgestellt, dass die Mehode vehikel_t::hop() bei dem Signal auf der Kachel, denn Programm code

Code:
        if(  fahrtrichtung==ribi_t::nord  || fahrtrichtung==ribi_t::west ) {
            steps_next = (steps_next/2)+1;
        }

nicht erreicht. Ich habe dann mal einen Test auf ein geschlossenes Signal eingefügt,
dann habe ich erreicht, dass der Zug korrekt am Signal hielt.
Aber es hat nicht weiter funktioniert. Der Zug fährt nicht weiter, wenn die Strecke frei ist.

Da fehlt noch einiges ... ?(
Zitieren


Gehe zu:


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