Ich bin's wieder einmal:
Ich sitze seit Stunden gerade an folgendem Problem und bevor ich durchdrehe frag ich einfach hier nach:
Die Funktion "PIS_RouteTerminusCode" spuckt bei mir bei so gut wie allen Stationen inv stationindex 120 (generell den Code der KORREKTEN Endhaltestelle in der FIS aus der linken Spalte, nur eben aus irgendeinem Grund steht "inv stationindex" davor) raus.
- begin
- if (NextStop = true) then
- begin
- StopIndex := (StopIndex + 1)
- end
- else if (PrevStop = true) then
- begin
- StopIndex := (StopIndex - 1)
- end
- end;
- begin
- begin
- LineInteger := StrToInt (Input1);
- RouteInteger := StrToInt (Input2);
- RouteIndex := PIS_GetRouteIndexByCode(self, LineInteger, RouteInteger); // <-- RouteIndex ist korrekt, denn PIS_GetRouteString funktioniert weiter unten
- end
- end;
- begin
- begin
- RouteTerminusCode := PIS_GetRouteTerminusCode(self, RouteIndex, StopIndex); //<-- Diese Funktion funktioniert nicht mehr und zeigt im Skriptplotter "inv staionindex 120" an
- end
- end;
- begin
- begin
- if (RouteIndex >= 0) and (writemode = false) then
- begin
- Route := PIS_GetRouteString(self, RouteIndex); //<-- Funktioniert wie es soll
- ZielIBIS := PIS_GetStationStdString(self, RouteTerminusCode, 0);
- end
- end;
- end;
"StopIndex" ist eine einfache Integer Variable, die ich testweise einfach selbst im Spiel per Knopfdruck bestimmen kann.
RouteIndex funktioniert korrekt, denn "PIS_GetRouteString(self, RouteIndex);" funktioniert wie es soll
RouteTerminusCode wirft, wie oben gesagt, meistens "inv StationIndex 120" -HaltestellenCode" der KORREKTEN Code der Endhaltestelle aus linken Spalte der FIS- aus.
(Simmering sollte angezeigt werden
Und ich bin wohl zu blöd zu verstehen, warum das so ist...