Script-KI - Depots - 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 - Depots (/showthread.php?tid=9255) Seiten:
1
2
|
Script-KI - Depots - Andarix - 21-04-2020 (09-04-2020, Thursday-18:11:30 )Dwachs2 schrieb: Das Skript versucht einen neuen Convoi in dem Depot zu erstellen, wo ein anderer der Linie erstellt wurde. Da koennte man noch eine Suche nach einem Depot einbauen... globale Funktion ( weil auch in *_connection verwendet ) Code: /** weis nicht genau, ob die Zeilennummern noch passen bei sqai/industry_manager.nut Code: --- a/ai/sqai/industry_manager.nut RE: Script-KI - Depots - Andarix - 16-01-2021 Ich versuche gerade das Schiffsdepot zu verlegen. Allerdings gibt tile_x.is_empty() bei Wasserfeldern false zurück. RE: Script-KI - Depots - Dwachs2 - 16-01-2021 zu is_empty: ja, das ist so. In shipconnector.nut ist in route_finder_water_depot::estimate_distance die entsprechende Abfrage drin: Wasser+nix drauf -> kann Depot bauen, sonst pruefen ob dort ein eigenes Depot steht. RE: Script-KI - Depots - Andarix - 16-01-2021 ich hab folgendes ship_connector.nut ab Zeile 178 Code: ... die Ausgabe depot_tiles[i].is_water() liefert true die Ausgabe depot_tiles[i].is_empty() liefert false - selbst dann, wenn es eine freie Wasserkachel ist Weis nicht ob es damit zu tun hat, das es flache Ufer sind, also nicht die Meereshöhe. Simutrans r9560 RE: Script-KI - Depots - Dwachs2 - 16-01-2021 is_empty ist fuer Wasser-felder immer falsch, egal wie leer die sind. RE: Script-KI - Depots - Andarix - 09-07-2021 http://dwachs.github.io/simutrans-sqapi-doc/group__game__cmd.html#ga89fc4097e502862e9efb0a7c726da383 Ich fasse es so auf, das tile_x.remove_object (player_x pl, map_objects type) das Objekt vom Tile entfernt. Scheinbar funktioniert das aber bei Wasserdepots nicht. Code: ... Laut Objektliste solle es mo_depot_water heisen. Die Funktion meldet dann aber Zitat:####### depot remove: Requested object not found. Code: local err = tile.remove_object(our_player, mo_depot_water) RE: Script-KI - Depots - Andarix - 10-07-2021 Also die Warnung die da bei der Beschreibung dazu steht ist wenig hilfreich. Zitat:Does not work with all object types. RE: Script-KI - Depots - Dwachs2 - 12-07-2021 Zum Entfernen der Depots immer mo_depot_rail uebergeben (die verschiedenen Typen werden intern nicht unterschieden). Kann ich noch aendern. Nicht entfernbar sind damit Wege (ausser Bruecken/Tunnel), Leitungen, Fahrzeuge (ausser Stadtautos, Fussgaenger), ground/moving objects. RE: Script-KI - Depots - Andarix - 12-07-2021 Wäre es da nicht besser einfach nur mo_depot zu benutzen? RE: Script-KI - Depots - Dwachs2 - 12-07-2021 Ja, das stimmt natuerlich. Habe damals einfach die C++-Klassenstruktur in squirrel nachgebaut. Bei Depots gibts fuer jeden Wegtyp in C++ eine eigene Klasse. Daher die vielen mo_depot_*-Typen. Das geht bestimmt zu vereinfachen. |