Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Script-KI - get_halt(our_player).get_tile_list()
#11
Das mache ich ja. Nur dabei wird das Halt-Feld zurückgegeben. Bei Halten auf dem Wasser eben die leere Wasserkachel.
Und da laufen alle Haltabfragen ins leere, weil es kein Building-Objekt darauf gibt.

Oder ich mache was falsch.

Code:
... local start_l = null local end_l = null { local entries = line_obj.get_schedule().entries local entries_count = entries.len() if ( entries.len() >= 2 ) { start_l = tile_x(entries[0].x, entries[0].y, entries[0].z) end_l = tile_x(entries[entries.len()-1].x, entries[entries.len()-1].y, entries[entries.len()-1].z) } } // destroy line line_obj.destroy(our_player) //local wt = start_l.find_object(mo_building)//.get_waytype() local start_h = start_l.get_halt() local end_h = end_l.get_halt() local start_f = null local end_f = null if ( wt != wt_water ) { start_f = start_h.get_factory_list() end_f = end_h.get_factory_list() } ...
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#12
Ich weiss nicht, ob ich dich richtig verstehe: Willst du wissen, was das halt_x Objekt ist zu den Feldern auf denen die Schiffe halten? Dann gibts zwei Moeglichkeiten:
Code:
entries[0].get_halt(our_player) // direkt auf den entries aufrufen (nicht tile_x.get_halt() )
oder
Code:
::halt_x.get_halt(coordinaten, ourplayer) // wirklich mit dem Doppelpunkt
Zitieren
#13
Ich hab den Halt vom Schiff aus dem Fahrplan.

Ich benötige mindestens ein Feld vom Hafen/Dock/ggf. Industrie. Also ein bebautes Feld um dann Fabrikverbindungen/Stationsfelderliste abfragen zu können.

Mein Problem ist, das kachel.get_halt() null liefert, wenn es sich um einen Schiffshalt auf dem Wasser handelt.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#14
Deshalb eine der beiden anderen get_halt Funktionen aufrufen, dann hat man eine halt_x Instanz, mit der kann dann weitergearbeitet werden.
Zitieren
#15
(13-09-2020, Sunday-11:32:53 )Dwachs2 schrieb: Deshalb eine der beiden anderen get_halt Funktionen aufrufen, dann hat man eine halt_x Instanz, mit der kann dann weitergearbeitet werden.

Ich denke da hab ich dann ein anderes Problem.

Wenn ich start_h = entries[0].get_halt() setze und dann die Linie lösche, dann verliert auch start_h den Wert und ist null.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#16
(13-09-2020, Sunday-13:13:03 )Andarix schrieb: Wenn ich start_h = entries[0].get_halt() setze und dann die Linie lösche, dann verliert auch start_h den Wert und ist null.
Das konnte ich nicht reproduzieren. Habe start_h.get_name vor und nach dem Loeschen ausgeben lassen, ging.
Zitieren


Gehe zu:


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