Marktdynamik

  • Marktdynamik
  • Marktdynamik
  • Marktdynamik
  • Marktdynamik
  • Marktdynamik
tisonK
409 Abonnenten
V1.1.9.4
13 822

Den Futures Missions-Mod finden Sie hier -> https://github.com/Mmtrx/FS25_FuturesMission

Von der realen Welt inspirierte dynamische Erntepreise für den Landwirtschafts-Simulator 25. Die Preise schwanken täglich und innerhalb eines Tages, basierend auf Weltereignissen, Angebot, Nachfrage und wirtschaftlichen Schocks – keine zwei Spieldurchläufe fühlen sich gleich an.

Dynamische Preis-Engine – für jede verfolgte Ernte gibt es einen Live-Preis, der sich aus einem Grundpreis, einem Volatilitätsfaktor und einem Live-Ereignis-Modifikatorstapel zusammensetzt. Die Preise schwanken jede Minute im Spiel und verschieben sich täglich mit einer Mittelwertumkehr zur Basis. Sie begrenzen zwischen 50 % und 200 % der Basis, sodass die Märkte volatil, aber niemals absurd bleiben.

Zehn Weltereignisse – regionale Dürre, Rekordernte, Handelsstörungen, geopolitische Krise, Biokraftstoff-Initiative, Viehfutterboom, Schädlingsausbruch, Kälteeinbruch, Finanzpanik und Proteinprämie. Jeder wird probabilistisch mit Abklingzeiten pro Typ und zufälliger Intensität ausgelöst – Preisschwankungen sind unterschiedlich und nicht flach, sodass sich die Märkte lebendig und unvorhersehbar anfühlen. Cold Snap ist das erste Ereignis mit gemischter Richtung, bei dem einige Pflanzen wachsen, während andere gleichzeitig unterdrückt werden. Finanzielle Panik ist ein seltener schwarzer Schwan, der jeden Rohstoff auf einmal nach unten drückt.

Terminkontrakte – sichern Sie sich noch heute einen Verkaufspreis für die Lieferung in bis zu 120 Spieltagen. Geben Sie über die benutzerdefinierte Texteingabe eine beliebige Menge ein und legen Sie ein beliebiges Lieferfenster fest – Sie sind nicht auf Voreinstellungen beschränkt. Pünktliche Erfüllung für die volle Auszahlung des Festpreises; Wenn Sie die Frist versäumen, zahlen Sie eine Verzugsstrafe von 15 % für den nicht erfüllten Teil. Wenn FS25_UsedPlus installiert ist, skaliert Ihre Kreditwürdigkeit diese Strafe zwischen 10 % und 20 %.

Marktbildschirm – eine vollständige InGameMenu-Seite mit drei Registerkarten: Live-Preise mit prozentualer Änderung und einem Sitzungstrenddiagramm, aktive Weltereignisse mit Intensität und verbleibender Zeit sowie Ihr Vertragsverlauf. Drücken Sie N oder klicken Sie auf Neuer Vertrag, um das Vertragsdialogfeld an einer beliebigen Stelle auf dem Bildschirm zu öffnen.

Event-Tuning – Konfigurieren Sie über die Event-Einstellungen-Benutzeroberfläche im Spiel genau, welche Pflanzen von den einzelnen Weltereignissen betroffen sind. Im Dialogfeld „Fülltypen durchsuchen“ können Sie scrollen und klicken, um Beschnittnamen auszuwählen, sodass Sie diese nicht mehr manuell eingeben müssen.

Multiplayer (servermaßgeblich) – Preisstatus, Weltereignisse und Terminkontrakte werden alle über alle Clients hinweg synchronisiert. Die Simulation läuft kopflos auf dedizierten Servern und ohne GUI-Abhängigkeiten. Vertragserstellung und -erfüllung erfolgen über validierte Netzwerkereignisse.

Mod-Integrationen – FS25_FuturesMission: Der Abschluss einer Erntemission führt zu einem kurzlebigen Angebotsschub für diese Ernte, wodurch der Preis vorübergehend sinkt. FS25_UsedPlus: Vertragsergebnisse fließen in Ihren Kredit-Score ein und Ihr Score skaliert die Verzugsstrafe. Beide Integrationen werden bei Erkennung automatisch aktiviert.

Einstellungen – dynamische Preise aktivieren/deaktivieren, Ereignisse aktivieren/deaktivieren, Ereignishäufigkeit, Volatilitätsskala und Debug-Protokollierung, alle zugänglich im Spiel unter ESC > Einstellungen > Marktdynamik.

Lokalisierung in 26 Sprachen – alle 25 Sprachen des Landwirtschafts-Simulators enthalten.

Speicherdaten werden in savegameDirectory/FS25_MarketDynamics.xml gespeichert. Das Entfernen des Mods während des Speicherns ist sicher – die Datei wird beim nächsten Laden einfach ignoriert.

Server
Konsolen
Änderungsprotokoll
16
  • – Behebung eines Vertragsausfalls beim Neustart durch Beibehaltung der absoluten Spielzeit und Hinzufügen eines Synchronisierungsschutzes in der Update-Schleife.
    - Implementieren Sie die Aktion „Verfall“ für Vertragseigentümer, sodass Nicht-Administrator-Clients auf dedizierten Servern ihre eigenen Verträge verwalten können.
    - XML-Serialisierung umgestalten, um die moderne FS25 XMLFile-Klassen-API zu verwenden, wodurch die Stabilität verbessert und typbezogene Skriptfehler behoben werden.
    - Behebung einer Endlosschleife in der UPIntegration-Ladelogik, die dazu führte, dass das Spiel bei 100 % Laden einfrierte.
    – Unterdrückung der Fehlermeldung „XML konnte nicht geöffnet werden“ aufgrund fehlender älterer Konfigurationsdateien.
    - Stellen Sie sicher, dass die Berechtigungen von Administratoren und Hauptbenutzern für alle UI-Elemente ordnungsgemäß überprüft werden.

  • Market Dynamics reagiert nun auf das, was in der Welt passiert. Wenn zufällige Welt
    Ereignisse lösen einen Marktcrash aus, die Preise werden dies widerspiegeln. Wenn Ihre Felder unter sind
    Aufgrund des weitverbreiteten Erntestresses treibt der Angebotsdruck die Preise in die Höhe.

    Was ist neu / behoben:
    - Integration zufälliger Weltereignisse: jetzt aktive Wirtschafts- und Feldereignisse
    direkte Verschiebung der Erntepreise (Marktboom +12 %, Absturz -13 %, Export).
    Chance +18 %, Wirtschaftskrise -20 % und mehr)
    - Integration von saisonalem Pflanzenstress: wenn viele Ihrer Felder unter Druck stehen
    Bei kritischem Stress setzt ein leichter Preisanstieg aufgrund des Angebotsdrucks ein
    - Die Lieferzeiteinheit (echte Tage vs. Tage im Spiel) ist jetzt eine einzige globale Einheit
    Einstellung in ESC > Einstellungen > Marktdynamik statt einer pro Vertrag
    Wahlmöglichkeit – bestehende Verträge bleiben davon unberührt
    - Neues Vertrags-HUD, das Ihre aktiven Verträge auf einen Blick zeigt
    - Ereigniswarnungen mit übersichtlicheren Benachrichtigungen neu gestaltet
    - Behoben, dass Verträge an Verkaufsstellen nicht korrekt abgeschlossen wurden
    – Problem behoben, bei dem die Startzeit der Lieferung beim erneuten Laden nicht korrekt gespeichert wurde
    - Es wurde eine Zeitskalenwarnung behoben, die beim Vorspulen fälschlicherweise ausgelöst werden konnte
    - Dialogfeld „Fülltypen durchsuchen“ zur einfacheren Ereigniskonfiguration
    - Sofortige Vertragslieferung jetzt verfügbar
    - Ereigniseinstellungen werden im Mehrspielermodus ordnungsgemäß synchronisiert

    Spart: Keine Migration erforderlich. Bestehende Verträge werden übernommen.

  • - Ein neues HUD für den Fall, dass ein aktiver Vertrag vorhanden ist, wurde hinzugefügt
    - Es wurde ein Dialog hinzugefügt, der angezeigt wird, wenn ein Ereignis gestartet wurde
    - Neue Zeichenfolgen zu allen 25 Übersetzungsdateien hinzugefügt
    - Es wurde ein Problem behoben, bei dem abgeschlossene Verträge beim Entladen an der Verkaufsstation nicht erfüllt werden konnten
    - Fehlende Zeichenfolgen in allen Übersetzungsdateien hinzugefügt

  • - Ein neues HUD für den Fall, dass ein aktiver Vertrag vorhanden ist, wurde hinzugefügt
    - Es wurde ein Dialog hinzugefügt, der angezeigt wird, wenn ein Ereignis gestartet wurde
    - Neue Zeichenfolgen zu allen 25 Übersetzungsdateien hinzugefügt

  • – Fehlende Felder „deliveryStartTime“ und „bcManaged“ zu MarketSerializer und Netzwerksynchronisierung hinzugefügt (#64)
    – Der BCIntegration-Deadline-Offset wurde korrigiert, um „daysPerPeriod“ zu verwenden (#64)
    - UPIntegration-Hooks und korrigierte Schlüssel zum Entfernen von Modifikatoren hinzugefügt (#64)
    - OnLoad- und getExtraData-Fallbacks für alle zustandslosen Ereignisse hinzugefügt, um die Ladesicherheit zu gewährleisten (#64)
    - TradeDisruptionEvent duplizierte zusätzliche Filltype-Anwendung behoben (#64)
    – Sitzungsstart-Kulanzfrist zu MarketDynamics hinzugefügt, um sofortige Vertragsausfälle beim Serverneustart zu verhindern (#63, #60)
    – MDMMarketSyncEvent implementiert, um Serverpreise und aktive Ereignisse mit Clients zu synchronisieren und Desyncs zu beheben (#62)
    - Deterministische Vertragserfüllungslogik „Älteste zuerst“ hinzugefügt
    - Fehlende Dialoge wurden registriert und Null-Schutzmaßnahmen in allen Kernsystemen hinzugefügt

  • - Typen durchsuchen (erweitert) – Sie können jetzt über die Browser-Benutzeroberfläche einzelne Fülltypen direkt zu Ereignissen hinzufügen
    - Warenhandhabung erweitert – Ereignisse unterstützen jetzt alle Füllarten, nicht nur Ernten
    - Die Einstellungen für Multiplayer-/Dedizierte-Server-Ereignisse wurden für eine bessere Konsistenz und Zuverlässigkeit verbessert
    - Problem beim Vertragsabschluss, das verhindern könnte, dass Verträge ordnungsgemäß abgeschlossen werden

  • - MDMSettingsSyncEvent.lua erstellt: Ein neues Netzwerkereignis, das die Synchronisierung aller Einstellungen (Preiswechsel, Ereignishäufigkeit, Volatilität, deaktivierte Ereignisse und benutzerdefinierte Fruchtsorten) zwischen dem Server und allen verbundenen Clients übernimmt.
    - Beim Beitritt synchronisieren: Wenn ein neuer Spieler dem Server beitritt, erhält er jetzt automatisch die vollständigen aktuellen Einstellungen vom Server, sodass er genau das sieht, was der Host sieht.
    - Echtzeit-Updates: Immer wenn ein Spieler (mit Erlaubnis) eine Einstellung in der Benutzeroberfläche „Einstellungen“ oder im Dialogfeld „Ereigniseinstellungen“ ändert, wird diese Änderung jetzt sofort an den Server und alle anderen Clients übertragen.
    - Serverseitige Persistenz: Da der Server diese Aktualisierungen jetzt in Echtzeit erhält, werden Ihre benutzerdefinierten Obstsorten beim nächsten Speichern des Spiels korrekt berücksichtigt.

  • – Verträge werden jetzt korrekt mit allen Clients auf einem dedizierten Server synchronisiert
    - Ein Ladefehler wurde behoben, der durch falsche Dateipfade in der Mod-ZIP-Datei verursacht wurde
    - Die Umschaltung der Zeiteinheit (Stunden/Tage) wurde in den Vertragsdialog verschoben, wo sie hingehört
    - Popup zur Vertragseingabe wurde neu gestaltet und neu positioniert – kein abgeschnittenes Textfeld mehr
    – Ein übriggebliebenes Einstellungsfeld wurde entfernt, das im Mehrspielermodus zu Tab-Konflikten führte
    - „Ereigniseinstellungen“ ist jetzt eine Fußzeilenschaltfläche (neben „Neuer Vertrag“), die leichter zu finden ist

  • - Alle Dialoge verbessert (sollten sich weniger laut anfühlen)
    - 2 neue Optionen für die Vertragserstellung (benutzerdefinierter Betrag und benutzerdefinierte Tage)
    - Zeiteinheiten-Umschaltung hinzugefügt, um zwischen In-Game- und echten Tagen zu wählen
    - Überarbeitung der Admin-Befehle
    - Mehrere kleine Fehler behoben

  • Anstatt aus voreingestellten Mengen auszuwählen, können Sie jetzt über den neuen benutzerdefinierten Eingabedialog eine beliebige Menge (Liter oder Einheiten) eingeben. Das Gleiche gilt für Lieferfenster – geben Sie eine beliebige Anzahl von Tagen im Spiel oder in der realen Welt ein.

    [Pfadkorrektur speichern]
    - Die Sicherungsdatei wird nicht mehr in einem Unterordner Ihres Sicherungsspielverzeichnisses erstellt. Dies behebt ein Problem, bei dem dedizierte Server hochgeladene Spielstände ablehnten. Vorhandene Speicherungen von v1.1.4.x werden beim ersten Laden automatisch migriert.

    [Dialogschaltflächenlayout]
    - Die Schaltflächen zur Mengenvoreinstellung im Futures-Kontraktdialog laufen nicht mehr über die Dialoggrenze hinaus.

    [Benutzerdefinierter Eingabedialog]
    – Der Hinweistext am unteren Rand des benutzerdefinierten Eingabedialogs ist jetzt vollständig sichtbar (wurde im vorherigen Layout abgeschnitten).

    Vollständiges Änderungsprotokoll -> https://github.com/TheCodingDad-TisonK/FS25_MarketDynamics/blob/main/CHANGELOG.md

  • FS25_FuturesMission wurde aktualisiert -> https://github.com/Mmtrx/FS25_FuturesMission/releases/tag/v1.1.0.1

    Beim Spielen auf einem Multiplayer-Server überschrieb die Registerkarte „Marktdynamik“ die Registerkarte „SERVEREINSTELLUNGEN“. Die MDM-Registerkarte wird jetzt immer nach allen vorhandenen Spielregisterkarten eingefügt (einschließlich der Nur-MP-SERVEREINSTELLUNGEN-Registerkarte) und wird automatisch wiederhergestellt, wenn die Tabpositionen verschoben werden.

  • 3 neue Events hinzugefügt!

    - ColdSnapEvent.lua – Frostereignis mit gemischter Richtung; Getreide/Ölsaaten oben, Futtermittel unten; Vollständige Speicher-/Ladepersistenz über getExtraData/onLoad
    - FinancialPanicEvent.lua – Black-Swan-Makroschock; unterdrückt alle Pflanzen gleichzeitig; seltener Boden mit hoher Intensität
    - ProteinPremiumEvent.lua – Demand-Pull-Proteintrend; steigert Sojabohnen/Raps und Mahlen von Weizen/Gerste in unterschiedlichen Geschwindigkeiten
    - Übersetzungsschlüssel mdm_event_cold_snap, mdm_event_financial_panic, mdm_event_protein_premium zu allen 26 Sprachdateien hinzugefügt

  • - Futures-Kontrakte fallen beim ersten Neuladen nach der Unterzeichnung nicht mehr sofort aus
    - Vollständige Multiplayer-Unterstützung für Terminkontrakte. Alle Vertragsaktionen (Erstellen, Abschließen, Stornieren, Löschen) werden jetzt zur autorisierenden Ausführung an den Server gesendet und mit allen verbundenen Clients synchronisiert.

  • Dieses Update bringt eine vollständige Integration mit FS25_FuturesMission (von Mmtrx), behebt mehrere Vertrags- und Preisfehler, die seit der Veröffentlichung aufgetreten sind, und bereinigt verwirrende Nachrichten im Spiel, sodass Sie immer wissen, wohin Sie gehen müssen.

    Was ist neu / behoben:
    • FuturesMission-Integration – wenn FS25_FuturesMission installiert ist, werden Futures-Kontrakte über den BetterContracts-Mission-Flow erstellt und MDM übernimmt die Preisgestaltung automatisch
    • Savegame-Migration – bestehende MDM-Verträge werden beim ersten Laden sauber an FuturesMission übergeben; Es sind keine manuellen Schritte erforderlich
    • Feste Preise, die gelegentlich 0 $ auf dem Marktbildschirm anzeigen
    • Problem behoben, bei dem die Vertragsliste in manchen Situationen nicht auf Klicks reagierte
    • Es wurde ein Spielabsturz behoben, der auftreten konnte, wenn bei aktivem BetterContracts auf „Neuer Vertrag“ geklickt wurde
    • Behoben: Vertragsfristen und Event-Timer, die bei langen Spielsitzungen nicht mehr synchron waren
    • In-Game-Nachrichten benennen FS25_FuturesMission jetzt korrekt und sagen Ihnen, wo Sie sie bekommen können, wenn Sie sie nicht haben

    Es ist keine Speichermigration erforderlich – Ihr vorhandener Speicher funktioniert unverändert.

  • Terminkontrakte verfolgen nun korrekt die Erntelieferungen. Zuvor blieben Verträge bei 0 % Erfüllung hängen, unabhängig davon, wie viel geliefert wurde. (PriceHook.lua – verwenden Sie fillDelta anstelle des SellFillType-Rückgabewerts, der nicht die akzeptierte Literzahl in FS25 ist.)

Erforderliche Mods
1
Credits
Kommentare
21