![]() |
|
Script-KI - get_halt(our_player).get_tile_list() - Druckversion +- Deutsches Simutransforum (https://simutrans-forum.de/mybb) +-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3) +--- Forum: Programmierung und Patches (https://simutrans-forum.de/mybb/forumdisplay.php?fid=38) +--- Thema: Script-KI - get_halt(our_player).get_tile_list() (/showthread.php?tid=9293) Seiten:
1
2
|
RE: Script-KI - get_halt(our_player).get_tile_list() - Andarix - 12-09-2020 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()
}
...RE: Script-KI - get_halt(our_player).get_tile_list() - Dwachs2 - 12-09-2020 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() )Code: ::halt_x.get_halt(coordinaten, ourplayer) // wirklich mit dem DoppelpunktRE: Script-KI - get_halt(our_player).get_tile_list() - Andarix - 12-09-2020 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. RE: Script-KI - get_halt(our_player).get_tile_list() - Dwachs2 - 13-09-2020 Deshalb eine der beiden anderen get_halt Funktionen aufrufen, dann hat man eine halt_x Instanz, mit der kann dann weitergearbeitet werden. RE: Script-KI - get_halt(our_player).get_tile_list() - Andarix - 13-09-2020 (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. RE: Script-KI - get_halt(our_player).get_tile_list() - Dwachs2 - 13-09-2020 (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. |