fruitTypes.xml ändern

Eure Foren für alle Diskussionen rund ums Thema Modding.
anthu
Posts: 5307
Joined: Thu Nov 06, 2014 8:03 am
Has thanked: 4 times
Been thanked: 2 times

fruitTypes.xml ändern

Post by anthu »

Hallo Leute
ausgehend vom mod Erntegewinn von Raster_R3_Modding
https://www.farming-simulator.com/mod.p ... tle=fs2025

möchte ich mir einen mod bauen der nicht den Preis ändert, sondern die litersPerSqm des Getreides

nun hab ich mir einen mod, ähnlich dem Erntegewinn gebaut, in dermoddesc wird anstelle von
<fillTypes filename="newfilltypes.xml" />
aber auf die
<fruitTypes filename="newfruittypes.xml" />
verwiesen.
dann habe ich eine newfruittypes.xml mit diesem inhalt erstellt:

Code: Select all

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<map xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../shared/xml/schema/fruitTypes.xsd">
	
			<!-- WHEAT -->
	<parentFile xmlFilename="$data/foliage/wheat/wheat.xml" >
		<attributes>
			<set path="foliageType.fruitType.windrow#litersPerSqm" value="99.99" />
			<set path="foliageType.fruitType.harvest#litersPerSqm" value="99.99" />
		</attributes>	
	</parentFile>	

			<!-- BARLEY -->
	<parentFile xmlFilename="$data/foliage/barley/barley.xml" >
		<attributes>
			<set path="foliageType.fruitType.windrow#litersPerSqm" value="99.99" />
			<set path="foliageType.fruitType.harvest#litersPerSqm" value="99.99" />
		</attributes>	
	</parentFile>	
			<!-- OAT -->
			<!-- CANOLA -->
			<!-- SORGHUM -->
			<!-- SUNFLOWER -->
			<!-- SOYBEAN -->
			<!-- MAIZE -->
			<!-- POTATO -->
			<!-- SUGARBEET -->
			<!-- BEETROOT -->
			<!-- CARROT -->
			<!-- PARSNIP -->
			<!-- COTTON -->
			<!-- RICELONGGRAIN -->
			<!-- RICE -->
			<!-- GREENBEAN -->
			<!-- PEA -->
			<!-- SPINACH -->
			<!-- SUGARCANE -->
			<!-- GRAPE -->
			<!-- OLIVE -->
</map>
die 99.99 sind erstmal nur zum testen damit ich gleich sehe das es funktioniert
möchte das dann final aber auf 10-15% Mehrertrag stellen, mal sehn wieviel genau

aber scheinbar habe ich einen Denkfehler, ich habe keine errors, warnings bzw infos in der log aber trotzdem keinen mehrertrag
was habe ich übersehen?
lg
User avatar
HeinzS
Posts: 11962
Joined: Mon May 16, 2011 5:19 pm

Re: fruitTypes.xml ändern

Post by HeinzS »

der RealLifeNumbers macht das mit diesem Eintrag:

<map>
<fruitTypes>

<fruitType name="barley">
<cultivation seedUsagePerSqm="0.0259"/>
<harvest literPerSqm="0.425"/>
<windrow name="straw" litersPerSqm="3.833"/>
</fruitType>
anthu
Posts: 5307
Joined: Thu Nov 06, 2014 8:03 am
Has thanked: 4 times
Been thanked: 2 times

Re: fruitTypes.xml ändern

Post by anthu »

Ok danke, schau ich mir mal an.
Lg
anthu
Posts: 5307
Joined: Thu Nov 06, 2014 8:03 am
Has thanked: 4 times
Been thanked: 2 times

Re: fruitTypes.xml ändern

Post by anthu »

Hallo Heinz
der real life numbers mod ist schon ein mächtiges tool
habs mir angesehen, da sind jede menge Einstellungen dabei.
es ist mir etwas zu groß, deshalb würde ich es vorerst noch mit dem kleineren tool versuchen.

daher die frage, was ist da Pfadtechnisch oder grundlegend drann falsch:

Code: Select all

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<map xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../shared/xml/schema/fruitTypes.xsd">
	
			<!-- WHEAT -->
	<parentFile xmlFilename="$data/foliage/wheat/wheat.xml" >
		<attributes>
			<set path="foliageType.fruitType.windrow#litersPerSqm" value="99.99" />
			<set path="foliageType.fruitType.harvest#litersPerSqm" value="99.99" />
		</attributes>	
	</parentFile>	
lg
andreas
User avatar
HeinzS
Posts: 11962
Joined: Mon May 16, 2011 5:19 pm

Re: fruitTypes.xml ändern

Post by HeinzS »

Hallo Andreas,

leider reicht es bei mir nur zum Xml ändern, Lua schreiben ist mir zu hoch. Aber bei RealLifeNumbers kann man doch in der moddesc (fast) alles überflüssige ausklammern und lässt z.B. nur die RealNumbersFruitTypes.lua aktiv und dort nur die Früchte die man ändern will.
anthu
Posts: 5307
Joined: Thu Nov 06, 2014 8:03 am
Has thanked: 4 times
Been thanked: 2 times

Re: fruitTypes.xml ändern

Post by anthu »

Bleibt mir wohl nix andres übrig.
Ist ne menge arbeit.
Erspare mir nun zwar den mod erntegewinn,
Dafür muss ich nun im real life numbers mod die filltypes.xml und die fruittyes.xml ändern und zwar auf die giants standardwerte, und beim preis die werte mit *1.33 und den ertrag mit *1.25 multiplizieren um den preis um 33% und den Ertrag um 25% zu erhöhen.
Wie gesagt ne menge arbeit, die filltypes hab ich fertig, die fruittypes etwa ⅛.
Mache morgen weiter aber es funktioniert.
Bei tests mit den 20 fachen werten war der Drescher fast sofort voll, und die Sähmaschine recht schnell leer.
Lg
User avatar
HeinzS
Posts: 11962
Joined: Mon May 16, 2011 5:19 pm

Re: fruitTypes.xml ändern

Post by HeinzS »

es werden doch nur Werte übernommen wenn sie vorhanden sind, also lösche alles was du nicht brauchst und wie gesagt, klammere die *.lua(s) aus wo du nichts ändern willst.
anthu
Posts: 5307
Joined: Thu Nov 06, 2014 8:03 am
Has thanked: 4 times
Been thanked: 2 times

Re: fruitTypes.xml ändern

Post by anthu »

Ja eh,
Hab nur diese zwei xml bzw lua's, die anderen in der moddesc auskommentiert.
Trotzdem sind solche langen Listen für mich der Horror (zahlenlegasteniker)
Ich brauch zum anpassen ja eh nur gewicht, preis, saatmenge, erntemenge u schwadmenge.
Das sind aber bei z.b. 30 früchten aber auch schon 150 werte die ich aus 3 listen raussuche und in den zwei xml anpasse.
Das das dann trotz alles passt muss ich das dann noch 3-4 kontrollieren. Braucht eben seine Zeit. Passt aber schon, bald hab ichs.
Lg
anthu
Posts: 5307
Joined: Thu Nov 06, 2014 8:03 am
Has thanked: 4 times
Been thanked: 2 times

Re: fruitTypes.xml ändern

Post by anthu »

Hallo Leute
hab ja nun den real life numbers mod drinnen, seit 1.5 will giants aber wieder das ich Ölsaat-Zwischenfrucht, Mais und Sonnenblumen walzen soll.
hab in der my_fruitTypes.xml needsRolling="false" eingetragen, hier z.b. bei oilseed:

Code: Select all

        <fruitType name="oilseedRadish">
            <cultivation seedUsagePerSqm="0.004" needsRolling="false"/>
            <harvest literPerSqm="0.99" needsRolling="false"/>
            <seeding needsRolling="false"/>
  </fruitType>
aber das needsRolling="false" wirkt nicht, weder bei <cultivation noch bei <seeding
trage ich es in der Farming Simulator 2025\data\foliage\oilseedRadish/oilseedRadish.xml ein:

Code: Select all

        <seeding directionSnapAngle="0" needsRolling="false" litersPerSqm="0.004" isAvailable="true" plantsWeed="false"/>
funktioniert es.
was mach ich falsch?
lg
User avatar
LS-Lara
Posts: 655
Joined: Sun Aug 04, 2019 4:57 pm
Has thanked: 1 time
Been thanked: 8 times

Re: fruitTypes.xml ändern

Post by LS-Lara »

Die Struktur hat sich geändert. Die fruitType Parameter sind unterhalb foliageType, nicht unterhalb map (siehe xml-Doku).
Ich vermute mal, man müsste eine custom oilseedRadish.xml einbinden, damit daraus gelesen wird ... :hmm:
| PC only | FS19 - FS22 - FS25 | how to post your LOG | how to upload IMAGES | my MODDING space (WIP) |
User avatar
2terNick
Posts: 881
Joined: Fri Dec 03, 2021 10:46 pm
Has thanked: 16 times
Been thanked: 20 times

Re: fruitTypes.xml ändern

Post by 2terNick »

Ich hätte auch eine Frage zu der fruitTypes.xml im neuen FS25. Im 22er gab es ja dort noch diese Einträge zum Wachstum einer Frucht, siehe Code:

Code: Select all

<growth witheredState="4" numGrowthStates="4" growthStateTime="36000000" resetsSpray="true" growthRequiresLime="false" regrows="true" firstRegrowthState="2" />
im 25er fehlen mir aber diese Einträge. Es dreht sich Hauptsächlich um den letzten Eintrag "firstRegrowthState" hat schon jemand herausgefunden wo GIANTS diese Parameter im 25er verbaut hat? Habe schon sehr viele xml durch aber noch keinen Anhaltspunkt auf den Wert gefunden.

Mein Ziel: Meadow hat nach dem mähen ja stoppeln, kommt man in die nächste Wachstumsstufe, sind die Stoppeln weg und es ist nur noch die blanke grüne Textur auf der gemähten Stelle zu sehen. Ist seit dem 22er schon unlogisch und im 25er haben sie es wieder so gemacht.
Meadow soll vom Wachstum halt identisch wie Grass sein, nur das möchte ich erreichen.
Klapp-Kombjuda; RTX3070; Core i7-11800H; 32GB RAM; 2x m.2-SSD; WIN11; 240 Volt; 17,3" Kolor Flachscreen entspiegelt, Badderiebedrieb möglich; Maus; Tasdaduar; Indaned; Offis-Paked; Saund; Esaned-Kabl; 50 Mbit
anthu
Posts: 5307
Joined: Thu Nov 06, 2014 8:03 am
Has thanked: 4 times
Been thanked: 2 times

Re: fruitTypes.xml ändern

Post by anthu »

LS-Lara wrote: Fri Feb 07, 2025 12:07 pm Die Struktur hat sich geändert. Die fruitType Parameter sind unterhalb foliageType, nicht unterhalb map (siehe xml-Doku).
Ich vermute mal, man müsste eine custom oilseedRadish.xml einbinden, damit daraus gelesen wird ... :hmm:
Ich hab ja den reallifenumbers mod.
Der legt in den modssettings eine myfruittypes.xml und eine myfilltypes.xml an.
Und da drinnen kann man die werte ändern.
Wenn ich im <cultivation, <seeding bzw <harvest werte ändere z.b. Ertrag, Gewicht/m³, Saatmenge,... wirkt sich das aufs spiel aus.
Trage ich dort hingegen needsRolling="false" ein, hat das keine auswirkung im Spiel, egal in welchem Bereich ich das setzt.
Trage ich needsRolling="false" hingegen im installationsverzeichniss bei den maize.xml, sunflower.xml, oilseedradish.xml und poplar.xml ein, bei <seeding wirkt das sofort im Spiel.
(Ich bin SP spieler, ich darf dort was ändern obwohl ich das sehr ungerne tu. Deshalb suche ich ja nach ner anderen Möglichkeit).
Lg
User avatar
LS-Lara
Posts: 655
Joined: Sun Aug 04, 2019 4:57 pm
Has thanked: 1 time
Been thanked: 8 times

Re: fruitTypes.xml ändern

Post by LS-Lara »

anthu wrote: Sat Feb 08, 2025 1:52 pm Ich hab ja den reallifenumbers mod.
Der legt in den modssettings eine myfruittypes.xml und eine myfilltypes.xml an.
Da stellt sich dann die Frage, wie der Mod die Werte umsetzt. Wenn nur spezifische Parameter überschrieben werden, ist "needsRolling" (der lt. Doku übrigens nur unter <seeding> geführt wird) evtl. nicht dabei. Oder es werden evtl. nur explizite Parameter überschrieben und keine impliziten Defaults. Da hilft nur ein näherer Blick in den Quelltext.

Hab jetzt mal testweise mit einem Mini-Script direkt über g_fruitTypeManager Werte überschrieben und das funktioniert soweit immer noch.

Code: Select all


MyFruitManager = {}

function MyFruitManager:loadMap(filename)
    local fruitTypes = g_fruitTypeManager:getFruitTypes()
    print("----> MyFruitManager:")
    for _, fruitType in pairs(fruitTypes) do
        print(string.format("--> '%s'", fruitType.name))
        if fruitType.name == "SUNFLOWER" then
            g_fruitTypeManager.fruitTypes[fruitType.index].needsRolling = false
            print("--> Overwrite done!")
        elseif fruitType.name == "MAIZE" then
            g_fruitTypeManager.fruitTypes[fruitType.index].needsRolling = false
            print("--> Overwrite done!")
        elseif fruitType.name == "OILSEEDRADISH" then
            g_fruitTypeManager.fruitTypes[fruitType.index].needsRolling = false
            print("--> Overwrite done!")
        elseif fruitType.name == "POPLAR" then
            g_fruitTypeManager.fruitTypes[fruitType.index].needsRolling = false
            print("--> Overwrite done!")
        else
            print("--> Unaltered!")
        end
    end
end

function MyFruitManager:mouseEvent(posX, posY, isDown, isUp, button)
end

function MyFruitManager:keyEvent(unicode, sym, modifier, isDown)
end

function MyFruitManager:update(dt)
end

function MyFruitManager:draw()
end

addModEventListener(MyFruitManager)
2terNick wrote: Fri Feb 07, 2025 9:02 pm Es dreht sich Hauptsächlich um den letzten Eintrag "firstRegrowthState" hat schon jemand herausgefunden wo GIANTS diese Parameter im 25er verbaut hat? Habe schon sehr viele xml durch aber noch keinen Anhaltspunkt auf den Wert gefunden.
Der Parameter regrowthStart="true" muss in den entsprechenden gewünschten foliageState verschoben werden.
| PC only | FS19 - FS22 - FS25 | how to post your LOG | how to upload IMAGES | my MODDING space (WIP) |
User avatar
2terNick
Posts: 881
Joined: Fri Dec 03, 2021 10:46 pm
Has thanked: 16 times
Been thanked: 20 times

Re: fruitTypes.xml ändern

Post by 2terNick »

LS-Lara wrote: Sat Feb 08, 2025 5:29 pm
2terNick wrote: Fri Feb 07, 2025 9:02 pm Es dreht sich Hauptsächlich um den letzten Eintrag "firstRegrowthState" hat schon jemand herausgefunden wo GIANTS diese Parameter im 25er verbaut hat? Habe schon sehr viele xml durch aber noch keinen Anhaltspunkt auf den Wert gefunden.
Der Parameter regrowthStart="true" muss in den entsprechenden gewünschten foliageState verschoben werden.
Na dieser Eintrag ist ja auch enthalten, aber was und wo steuert wie im LS22 den Zustand der ersten Wachstumsphase nach dem ernten bzw. Schnitt ?

Ich suche ja die Einträge wie aus dem LS22 die "firstRegrowthState"
Klapp-Kombjuda; RTX3070; Core i7-11800H; 32GB RAM; 2x m.2-SSD; WIN11; 240 Volt; 17,3" Kolor Flachscreen entspiegelt, Badderiebedrieb möglich; Maus; Tasdaduar; Indaned; Offis-Paked; Saund; Esaned-Kabl; 50 Mbit
anthu
Posts: 5307
Joined: Thu Nov 06, 2014 8:03 am
Has thanked: 4 times
Been thanked: 2 times

Re: fruitTypes.xml ändern

Post by anthu »

LS-Lara wrote: Sat Feb 08, 2025 5:29 pm ...
Hab jetzt mal testweise mit einem Mini-Script direkt über g_fruitTypeManager Werte überschrieben und das funktioniert soweit immer noch.

Code: Select all


MyFruitManager = {}

function MyFruitManager:loadMap(filename)
    local fruitTypes = g_fruitTypeManager:getFruitTypes()
    print("----> MyFruitManager:")
    for _, fruitType in pairs(fruitTypes) do
        print(string.format("--> '%s'", fruitType.name))
        if fruitType.name == "SUNFLOWER" then
            g_fruitTypeManager.fruitTypes[fruitType.index].needsRolling = false
            print("--> Overwrite done!")
        elseif fruitType.name == "MAIZE" then
            g_fruitTypeManager.fruitTypes[fruitType.index].needsRolling = false
            print("--> Overwrite done!")
        elseif fruitType.name == "OILSEEDRADISH" then
            g_fruitTypeManager.fruitTypes[fruitType.index].needsRolling = false
            print("--> Overwrite done!")
        elseif fruitType.name == "POPLAR" then
            g_fruitTypeManager.fruitTypes[fruitType.index].needsRolling = false
            print("--> Overwrite done!")
        else
            print("--> Unaltered!")
        end
    end
end

function MyFruitManager:mouseEvent(posX, posY, isDown, isUp, button)
end

function MyFruitManager:keyEvent(unicode, sym, modifier, isDown)
end

function MyFruitManager:update(dt)
end

function MyFruitManager:draw()
end

addModEventListener(MyFruitManager)
Danke dir dafür.
Hab das jetzt mal in eine lua kopiert, und die 4 einträge aus den fruittypes wieder rausgenommen.
Wenn ich das nächste mal aussaat hab, werd ich dir berichten.
Lg
Post Reply