Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Funktion was wurde gebaut
#1
Momentan kann man mit is_work_allowed_here() abfragen was der Spieler beabsichtigt zu bauen/abzureisen. Dies muss aber nicht dem tatsächlich durchgeführten Operationen entsprechen, da ja beim Wegebau - z.B Tunnelende nicht am Hang - der Bau nicht durchgeführt wird.

Wie zähle ich tatsächlich gebaute Objekte (z.B. Tunnel, Straßen...) und nicht nur geplante Versuche die eventuell gebaut wurden?
Zitieren
#2
was leicht moeglich ist, waere ein Aufruf, wenn etwas mit einem einzelnen Feld geschieht oder irgendwelche Convoy, Linien etc erstellt wurden.

Fuer Strassenbau etc wirds umstaendlich, weil eigentlich nur Anfangs- und End-Feld bekannt sind, der Rest zwischendrin wird ja intern ueber Routensuche ausgekluegelt. Man koennte dann immer noch die Route mit uebergeben, da fehlt aber immer noch die Information, ob auf einem Feld eine Strasse gebaut wurde oder ob da schon eine war...

Was willst du denn damit machen?
Zitieren
#3
Momentan wird im Schweiz Szenario nur der Gebirgsdruck beachtet. Man kann also am Spielanfang nicht durch das Gotthard-Massiv einen Basistunnel bauen. Man kann aber noch immer geschickt im ersten und zweiten Untergrundlevel des Berghangs sich durch die ganzen Alpen bauen. Daher kam mir die Idee eine leichte Begrenzung der Tunnelbauten je Zeiteinheit auf die vorhandenen/gelieferten Beton/Stahl Mengen zu setzen.

Wenn ich in is_work_allowed_here() eine positive Abfrage für ein Tunnelbauwerk habe setze ich ein flag und speichere die aktuellen Baukosten.
Beim nächsten Aufruf sind die Baukosten dann höher und man kann, sofern für das alte Tool der Preis bekannt ist, die Anzahl der Felder berechnen.

Alternativ könnte man auch jede Ebene und jedes Feld der Karte absuchen und mit einer Methode was_ist_hier_gebaut(x,y,z) -> (player, type, traffic,...) aus der Karte alles aufbauen.
Zitieren
#4
geht folgendes:

Abfragen einer 3D Koordinate (x,y,z) was sich dort befindet?
Also: Grund, Gebäude, Wegtyp, Weg-Verbunden mit, Schilder, Eigentümer,...

Suche für das Tutorial noch Möglichkeiten eine gebaute Strecke kontrollieren zu können. Daher also diese Idee.
Zitieren
#5
habe jetzt ein paar simple Abfrage-Funktionen drin:

http://dwachs.github.com/simutrans-sqapi...gelog.html

kompliziertere Abfragen brauchen auch ein entsprechendes Nachbilden der Klassenstruktur auf der squirrel Seite.
Zitieren
#6
Habe eben die Funktion tile_x().has_way() ausprobiert. Das hilft im Tutorial beim Kontrollieren ob ein Weg richtig und komplett gebaut wurde schon eine Menge. Leider kann man damit nicht kontrollieren, ob ein Weg mit einem bestimmten Nachbarfeld zusammen hängt. Dies ist wahrscheinlich mit "kompliziertere Abfragen" gemeint.

Auf der anderen Seite muss ich aber auch sagen, das man auch bei einem Tutorial nicht alles Abfragen und Kontrollieren muss. Es gibt ja spätestens beim Versuch eines Fahrzeuges den Weg zu befahren die Fehlermeldung das kein Weg zum Ziel gefunden wird.
Zitieren
#7
ein paar mehr Funktionen, um Objekte abzufragen:

http://dwachs.github.com/simutrans-sqapi...ct__x.html
Zitieren
#8
Zitat:Original von ny911Leider kann man damit nicht kontrollieren, ob ein Weg mit einem bestimmten Nachbarfeld zusammen hängt.

Probiere mal:

http://dwachs.github.com/simutrans-sqapi...494897f267
Zitieren


Gehe zu:


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