Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Squirrel Script - Text-Ausgaben
#1
Mit den Squirrel Scripten lassen sich ja Meldungen im Meldungsfenster ausgeben.

Code:
gui.add_message_at()

Unter welche Option bei den Meldungs-Optionen fallen die?
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#2
Fuer Szenarios unter 'Szenario', alles andere (KIs, Tools) unter KI/Konkurrenz.

Edit: Im Quellcode ist das unter script/api/api*.cc zu finden, falls du selber reinschauen moechtest.
Zitieren
#3
Danke

Hatte im int Forum einen Patch gepostet, der die Angaben von Titel und Tooltip aus der description.tab übersetzt.

Wäre halt schön, wenn die Script-Tools auch global gingen. Dann bräuchte nicht jedes Grafikset die Tooldateien im Ordner.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#4
Habs schon gesehen. Fuers uebersetzen muesste man dann noch entsprechende Sprach-Dateien einlesen.

Tools global: fuer die Tools braucht man doch Cursor (und eventuell Icon) Bild. Das kann doch nicht pak-unabhaengig funktionieren? Ok, man koennte einfach ein Symbol aus dem laufenden Pakset nehmen.
Zitieren
#5
(30-12-2020, Wednesday-19:18:58 )Dwachs2 schrieb: Habs schon gesehen. Fuers uebersetzen muesste man dann noch entsprechende Sprach-Dateien einlesen.

Nein, man braucht keine zusätzlichen Übersetzungsdateien.

Hab die Übersetzungen bei mir in die pak64.german/text/de.tab eingefügt und es wurde übersetzt. Sollte demzufolge dann auch mit der globalen Übersetzung funktionieren.

Code:
#_______________________________script_tool_text________________________________
#_______________________________script_tool_text________________________________
%s overcrowded connected halts from %s:
überfüllte %s-Stationen verbunden mit %s:
%s overcrowded world halts:
überfüllte %s-Stationen der Karte:
no %s connected stops
keine verbundenen %s-Stationen
#_________________________________tooltip_text__________________________________
#_________________________________tooltip_text__________________________________
click on a stop to check connected stops or to check the map for all stops
bei Klick auf einen Halt werden die verbundenen Halte geprüft, bei Klick auf die Karte werden alle Halte überprüft
#___________________________________help_text___________________________________
#___________________________________help_text___________________________________
output passenger overcrowded connected halts or all overcrowded halts
prüft Passagier-Stationen auf Überfüllung
output mail overcrowded connected halts or all overcrowded halts
prüft Post-Stationen auf Überfüllung

passend zu den Dateien von hier

Zitat:Tools global: fuer die Tools braucht man doch Cursor (und eventuell Icon) Bild. Das kann doch nicht pak-unabhaengig funktionieren? Ok, man koennte einfach ein Symbol aus dem laufenden  Pakset nehmen.

Entweder die pak-Datei aus dem jeweiligen Tool-Ordner einlesen.

Oder als default den Spezial-Cursor nehmen, den es in jedem Pakset geben sollte.

Buttons kann man selber hinzufügen und in der menuconf.tab definieren. Das geht schon ewig. Wer die Buttons im Menü haben möchte muss eh an der menuconf.tab des Paksets Hand anlegen.

Code:
toolbar[0][44]=scripts(check_passenger_stops),[buttonname]

Code:
Obj=menu
name=buttonname
Image[0]=> button.0.0
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#6
Ich bekomme komische Fehlermeldungen mit deinem Tool: wenn man zwei/dreimal klickt, waehrend der erste Klick noch roedelt, geht irgendwas tief im Code schief.
Zitieren
#7
(31-12-2020, Thursday-13:40:37 )Dwachs2 schrieb: Ich bekomme komische Fehlermeldungen mit deinem Tool: wenn man zwei/dreimal klickt, waehrend der erste Klick noch roedelt, geht irgendwas tief im Code schief.

möglich, hab immer erst auf die Ausgabe gewartet

Kommt vermutlich auch auf die Kartengröße und die Anzahl Stationen an.

Weis auch nicht, was bei restart (description.tab) die richtige Angabe ( 0 oder 1 ) ist.



Da geht die Abfrage der wartenden Passagiere schief, da sich die Stationsliste und die wartenden Passagiere sich geändert haben.

Möglicherweise muss ich die Variable globaler definieren statt da lokal.

ab Zeile 66
Code:
...
local list = station.get_connections(good_desc_x("Passagiere"))
if ( list.len() > 0 ) {
foreach(target in list) {
local tile_list = target.get_tile_list()
passenger_waiting += station.get_freight_to_dest(good_desc_x("Passagiere"), tile_list[0])
passenger_waiting += station.get_freight_to_halt(good_desc_x("Passagiere"), target)
}

}
...
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren
#8
Habe den Fehler gefunden, nur noch nicht behoben.

Bei restart = 1 wird jedesmal, wenn das Tool uebers Menu angewaehlt wird, die komplette squirrel-Umgebung neu geladen. Sollte bei deinem Skript keine Auswirkungen haben, da das keine globalen Variablen verwendet (also Variablen, die auch ausserhalb der funtions noch leben).
Zitieren
#9
(30-12-2020, Wednesday-20:28:14 )Andarix schrieb: passend zu den Dateien von hier
 
Wollte gerne mal das Script ausprobieren. Bekomme allerdings diese Fehlermeldung:
   

Eigentlich bin ich auf der Suche nach einer Möglichkeit zu protokollieren wie viel Fracht ein Konvoi an einem Halt lädt, bzw wie die Kapazität nach dem Beladen ist und wie viele nicht mitgenommen werden konnten. Da ich bei der Statistik der Fahrzeuge bei "Freie Kapazität" nicht sehen kann in welchem Bereich der Strecke die freie Kapazität vorhanden ist. Bei komplexen Passagierlinien würde ich gerne Verstärkerlinien einrichten die nur Bereichen mit Kapazitätsproblemen abdecken.
Keine Ahnung ob das mit einem Script machbar ist, wollte erst einmal mir ein funktionierendes anschauen um zu sehen ob ich mich da ran traue.
Aktuell installierte Simutransversion: nightly 10359

Simutrans = best thing since sliced bread

GEOTRANS ADDON
Zitieren
#10
mmh, das kann dadurch kommen, wenn zu viele Stationen überfüllt sind.

Das Script unterstützt 2 Abfragen.

1) klick auf die Karte fragt alle Stationen der Karte ab
2) klick auf eine Station fragt nur die verbundenen Stationen ab

Tritt der Fehler bei beiden auf oder nur bei einer?

Ansonsten bräuchte ich die sve-Datei.

Und was mich irritiert ist, das der Speicherordner ../tool/mytool/tool.nut heist.
Statt mytool sollte da check_passenger_stops oder check_post_stops stehen.



Da geht die Abfrage der Tileliste einer Station schief. Da ist auf jeden Fall die sve-Datei nötig.
Script-KI für Simutrans r10894+ / Simutrans Nightly Builds
Zitieren


Gehe zu:


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