neue Szenario Script Funktionen - Druckversion +- Deutsches Simutransforum (https://simutrans-forum.de/mybb) +-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3) +--- Forum: Wünsche und Anregungen (https://simutrans-forum.de/mybb/forumdisplay.php?fid=8) +---- Forum: umgesetzte Wünsche und Anregungen (https://simutrans-forum.de/mybb/forumdisplay.php?fid=9) +---- Thema: neue Szenario Script Funktionen (/showthread.php?tid=7046) |
neue Szenario Script Funktionen - ny911 - 09-01-2013 Zitat:Dwachs:Mach ich doch gerne. Soll ich für jede einzelne Funktion/Klasse einen eigenen Thread aufmachen? Im Thread: Produktion - produktivty geht es um Berechnungen für die Produktionsketten. Um die Szenarienscripte auch als Hilfe für das Erstellen von Karten zu nutzen wären folgende Funktionen hilfreich: - GET_STANDARD_PRODUCTION (Ausgangswert für Produktion) - GET_MAX_BOOST jeweils für power/pax/mail - GET_FACTOR_GOOD (der Prozentwert je Gut in der Fabrik) - GET_FACTORY_NAME (für die bessere Anzeige) - CLASS FACTORY_LIST_X (parallel zu der Stadtliste) aus den anderen Threads im Forum habe ich mal folgendes zusammengeschrieben: Zitat:Wichtiger als die Gebäude oder Tabellen wären aber wohl: Auf jeden Fall schon einmal Danke für die vielen Ergänzungen und Erweiterungen für die Szenarien-Scripte!! - ny911 - 10-01-2013 habe eben nightly r6261 and pak128 2.2.0 r1135 getestet. Wunderbar. Besonders schön: das Script Fenster benötigt nun viel weniger CPU Zeit. Ich kann nun (im leeren NY Szenario) ca. 40% schnelleren Vorlauf nutzen!!! Zitat:- Textfeld für Übersetzer im CopyrightHabe get_about_text(pl) Funktion entdeckt und nutze diese. Ist also gelöst. Halte es aber immer noch für besser in der "scenario_base.nut" auch für Übersetzer ein Feld vor zuhalten (das ist schließlich auch Arbeit). Zitat:- Tabellenanzeige Texteim englischen Forum habe ich einen Thread gelesen, wo die Schrift ausgetauscht wurde. Um die Programmierarbeit für Tabellen in grenzen zu halten: Mit einem Befehl "font" (via HTML) auf eine Schrift mit fester Breite umstellen, dann ließe sich relativ einfach im Script selber eine Tabellenausgabe erzeugen. - Dwachs - 10-01-2013 Danke! Allgemein: bitte Wuensche und Bugs alles in einzelne Threads schreiben, dann kann man die einfacher als 'erledigt' verschieben. Die koennen auch gerne in dem Szenario-Unterforum rumfliegen. Uebersetzer ins Copyright mit rein: Kann man machen, muss man aber nicht. Bei den ganzen Programmtexten wird da jedenfalls nciht Buch gefuehrt. Tabellenanzeige - feste Schriftbreite: funktioniert nicht, weil man in Simutrans immer nur einen Font nutzen kann. Den normalen Font auf feste Breite zwingen sieht wahrscheinlich merkwuerdig aus. Performance: du hast im NY-Skript ganz viele lokale Variablen im globalen Bereich/Scope, also Code: local bla = null Code: // aus Es kann auch sein, dass bei einer Aenderung, die ich in der Pipeline habe, dann solche lokalen Variablen im globalen Scope gar nicht mehr erlaubt sind (weil sie Fehler verursachen wuerden) - ny911 - 10-01-2013 Wenn ich es richtig verfolgt habe ist der momentane Performance Zuwachs (bei unverändertem Script) der Tatsache geschuldet, das nicht mehr andauernd auf aktuellere ttextfile(file) geprüft und geladen wird. Habe schon bei dem letzten nightly angefangen locale variablen im globalen Bereich zu ersetzen, oft gegen Konstanten. Zitat:Es kann auch sein, dass bei einer Aenderung, die ich in der Pipeline habe, dann solche lokalen Variablen im globalen Scope gar nicht mehr erlaubt sind (weil sie Fehler verursachen wuerden)Ich Versuch es gleich mal umzusetzen .... Edit: zur Info hat circa 12% schnelleren Vorlauf gebracht. - Dwachs - 11-01-2013 Zitat: Länder kodierte Angaben Monat (dann muss man das nicht nochmal extra in die ttext Dateien schreiben Wuerde da eine Funktion get_month_name(integer month) reichen? - ny911 - 12-01-2013 Zitat:Wuerde da eine Funktion get_month_name(integer month) reichen?Ja. Glaube kaum, das jemand kurze (drei Buchstaben) Schreibweise der Monate benötigt. - Dwachs - 16-01-2013 Zitat:- Länderkodierung Zahlen/tausender punkt/kommasiehe r6282. http://dwachs.github.com/simutrans-sqapi-doc/changelog.html - ny911 - 17-01-2013 Funktioniert. Danke. - Dwachs - 17-01-2013 Zitat:- GET_FACTORY_NAME (für die bessere Anzeige)in r6286 drin. Der Fabrikname muss noch durch die translate-Funktion, ist der Objektname aus der pak-Datei. http://dwachs.github.com/simutrans-sqapi-doc/changelog.html - ny911 - 18-01-2013 Zitat:in r6286 drin. Der Fabrikname muss noch durch die translate-Funktion, ist der Objektname aus der pak-Datei.Klappt. |