Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Wunsch - get_maximum_headquarter_level
#1
Beim erstellen von Grafiken für Firmensitze (headquarters=HQ's) ist mir aufgefallen, das die Anzahl von max. zu bauenden HQ's je nach pakset Variiert. Um in einem Script, welches zeitlich wie pakset unabhängig entwickeln zu können müsste die Klasse world um eine Methode get_maximum_headquarter_level(year) erweitert werden. Der Rückgabewert sollte je nach angegebener Jahreszahl bestimmbar sein
Zitieren
#2
habe eine Methode building_desc_x::get_headquarter_level reingeschmissen (r7354). In Zusammenhang mit
building_desc_x::get_building_list kann dann zumindest die Liste alle Firmensitze durchiteriert werden.

http://dwachs.github.io/simutrans-sqapi-...e2b3af5346
Zitieren
#3
Danke für die sehr schnelle Ergänzung, funktioniert grundsätzlich (in pak128).

Nutzt man hingegen ein pak (z.B. pak128.Britain), wo auch bei HQs eine "time_line" aktiv ist, so gibt es falsche Ergebnisse. Es werden immer alle möglichen HQs im pakset aufgelistet. Daher sollte nun auch eine Methode zur zeitlichen Abfrage von Gebäuden mit hinzukommen.
Zitieren
#4
Mit is_available(time) kann zumindest gecheckt werden, ob es gerade zeitlich passt.
Zitieren
#5
Danke. Anbei für alle die es beim Script erstellen gebrauchen können eine Funktion zur Bestimmung des maximal level von headquarters in der Zeitlinie (time_line) zum gesetzten Zeitpunkt. Bitte nicht verwechseln mit dem "level" Wert aus der headquarter.dat Datei.

Code:
function get_max_hq_level_at_time(time)
    {
        local building_list = building_desc_x.get_building_list( building_desc_x.headquarter )
        local result = 0
        foreach (building in building_list)
            if ( building.is_available(time) && (building.get_headquarter_level() > result) )
                result = building.get_headquarter_level()
        return result
    }
Zitieren


Gehe zu:


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