Ein Embed je Hof, das sich selbst aktualisiert
Der Fuhrpark stand bisher nur als Gesamtzahl im Karten-Embed. Jetzt bekommt jeder Hof eine eigene Nachricht im selben Kanal, die bei jedem Durchlauf bearbeitet statt neu gepostet wird: Land, Fahrzeuge mit Wert und Betriebsstunden, was in die Werkstatt muss, was gewaschen gehoert und was geladen ist. Die Fahrzeuge kommen aus vehicles.xml, blockweise gelesen — Verschleiss und Schmutz stehen in Kindelementen und gehoeren sonst dem falschen Fahrzeug. Gemietete Missionsfahrzeuge bleiben draussen, sie verfaelschen Anzahl und Wert. Faellt die Datei einmal aus, bleiben die Embeds stehen, statt dass ein Hof verschwindet und gleich darauf doppelt gepostet wird. Damit tauchen auch Hoefe auf, die noch kein Land gekauft haben: die Liste der Hoefe kommt aus Parzellen und Fuhrpark zusammen. Dazu raus, was nur den Kanal vollgeschrieben hat: die Meldung zum Monatswechsel und die zum Landkauf. Der Monat wird still weitergestellt — er steht ohnehin im Embed. Damit faellt der Ereignis-Kanal weg und mit ihm die gespeicherte Besitzliste. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+49
-1
@@ -61,14 +61,62 @@ Mit dem richtigen Maßstab liegen die Parzellen-Schwerpunkte **unter 15 px** von
|
||||
ihrer Marke entfernt, gemessen auf einem 1024er Bild; mit dem falschen rund
|
||||
200 px. Der Unterschied ist so deutlich, dass eine einzige Prüfung reicht.
|
||||
|
||||
## Was in der Fahrzeugdatei steht
|
||||
|
||||
`file=vehicles` ist die ergiebigste der drei Savegame-Dateien. Je `<vehicle>`:
|
||||
|
||||
| Attribut | Bedeutung |
|
||||
|---|---|
|
||||
| `filename` | Pfad zum Modell — `data/vehicles/newHolland/t7/t7.xml` |
|
||||
| `farmId` | wem es gehört |
|
||||
| `propertyState` | `OWNED` oder gemietet |
|
||||
| `price` | Zeitwert |
|
||||
| `age` | Alter in Spieltagen |
|
||||
| `operatingTime` | Betriebszeit in **Sekunden** |
|
||||
| `modName` | gesetzt, wenn es aus einem Mod stammt |
|
||||
|
||||
In Kindelementen: `<wearable damage>` (Verschleiss, 0…1), `<dirtNode amount>`
|
||||
(Schmutz, 0…1) und `<unit fillType fillLevel>` je Tank oder Ladefläche.
|
||||
|
||||
Zwei Fallen dabei:
|
||||
|
||||
- **Blockweise lesen, nicht attributweise.** Verschleiss und Schmutz stehen in
|
||||
Kindelementen. Wer im ganzen Dokument nach `damage="…"` sucht, hängt sie
|
||||
irgendeinem Fahrzeug an.
|
||||
- **Gemietete Missionsfahrzeuge zählen nicht zum Hof.** Sie tauchen nur auf,
|
||||
solange der Auftrag läuft, und verfälschen Anzahl und Wert. Auf dem
|
||||
Testserver war das rund ein Drittel aller Einträge.
|
||||
|
||||
Nicht drin steht die **Tankgrösse**. Die Datei nennt Liter, keine Prozent —
|
||||
„276 l Diesel" geht, „38 % voll" nicht.
|
||||
|
||||
## Was es nicht gibt
|
||||
|
||||
**Tierställe und ihr Zustand.** Ställe sind Placeables, und `placeables`
|
||||
antwortet mit `204`. In den drei ausgelieferten Dateien kommt kein einziges
|
||||
Tier vor: jeder Treffer auf `cow`, `pig` oder `animal` ist ein **Modname**
|
||||
(„Old Cowshed", „Modern Pigsty"), kein Bestand. Damit gibt es weder Anzahl noch
|
||||
Produktivität, Futter oder Sauberkeit.
|
||||
|
||||
|
||||
**Welche Frucht auf einem Feld steht und wie weit sie ist.** Das liegt in
|
||||
`densityMap_fruits.gdm`, einer Binärdatei ohne öffentliche Spezifikation, die
|
||||
nur im kompletten Savegame-ZIP steckt — und das lädt man über die
|
||||
Admin-Oberfläche, nicht über den Code.
|
||||
|
||||
Daran ändert auch kein Mod etwas. [Crop Growth Stage
|
||||
Daran ändert auch kein eigener Mod etwas. Die Lua-Umgebung des Spiels läuft in
|
||||
einer Sandbox — GIANTS schreibt in der Skript-Dokumentation, allgemeine
|
||||
System-Ein- und -Ausgabe sei abgeschaltet. Ein Mod kann also weder eine Datei
|
||||
schreiben, die der Feed ausliefert, noch selbst etwas an den Bot schicken.
|
||||
|
||||
Wer wirklich an die Rohdaten will, braucht **keinen Mod, sondern FTP**. Das ist
|
||||
der Weg von [FS19_Webstats](https://github.com/J0hnHawk/FS19_Webstats): die
|
||||
Web-API sei nicht erweitert worden, der einzige Weg an alle Daten führe über
|
||||
FTP-Zugriff auf den Spielstand-Ordner. Damit läge das komplette Savegame vor,
|
||||
`densityMap_fruits.gdm` inklusive — nur eben weiterhin ohne Spezifikation für
|
||||
dessen Inhalt.
|
||||
|
||||
[Crop Growth Stage
|
||||
Info](https://www.farming-simulator.com/mod.php?mod_id=232903) und [Additional
|
||||
Field Info](https://github.com/yumi-modding/FS25_additionalFieldInfo) berechnen
|
||||
genau diese Werte, sind aber reine HUD-Overlays: Lua, `modDesc.xml`, ein Icon —
|
||||
|
||||
Reference in New Issue
Block a user