Andere XML Dateien referenzieren in einem Mod

Eure Foren für alle Diskussionen rund ums Thema Modding.
Dr. Shizuma
Posts: 78
Joined: Thu May 20, 2021 3:31 pm

Andere XML Dateien referenzieren in einem Mod

Post by Dr. Shizuma »

Hallo - ich bin blutiger Anfänger, vielleicht mag mir trotzdem wer helfen (oder vll genau deshalb :lol: )

Ich spiele mich grad um ein bisschen besser zu verstehen wie denn die einzelnen Dateien zusammenhängen etc. Leider gibts ja keine wirkliche Beschreibung für den 22er, und wenn ich etwas bis jetzt gelernt habe, dann schaut man besser nicht in die Doku vom 19er, weil es dann doch anders geht um 22er... ;) .

Ich wollte "einfach" die Eierpalette vom Hühnerstall so erweitern, dass mehr Eier drauf passen. Ich wills aber nicht für alle überschreiben, ich will "meine eigene Palette" verwenden.

Und eiiiigentlich funktioniert das schon alles prima. Mit einem modifizierten Hühnerstall und Eierpalette von Giants. Um die Palette zu verwenden, hab ich sie eingetragen beim Hühnerstall (alles natürlich als Mod usw...)

Code: Select all

<pallet filename="C:/Users/bla/Documents/My Games/FarmingSimulator2022/mods/FS22_testMod/eggBoxPallet.xml" />
Das funktioniert perfekt....natuerlich nur bei mir, aber es funktioniert ;) .

Natürlich isses Blödsinn da einen absoluten Pfad reinzuschmeissen, allerdings hab ich keinen Weg gefunden wie das sonst geht. Eigentlich liegen die 2 XML Dateien im selben Verzeichnis....ich hab folgendes alles probiert (nach einiger googelei), aber ich bekomme bei allen Varianten den selben Fehler:

Code: Select all

<pallet filename="eggBoxPallet.xml" />
<pallet filename="./eggBoxPallet.xml" />
<pallet filename="$modDir$/FS22_testMod/eggBoxPallet.xml" />
<pallet filename="$modDir$FS22_testMod/eggBoxPallet.xml" />
<pallet filename="$modDir/FS22_testMod/eggBoxPallet.xml" />
<pallet filename="$moddir$/FS22_testMod/eggBoxPallet.xml" />
<pallet filename="$moddir$FS22_testMod/eggBoxPallet.xml" />
<pallet filename="$moddir/FS22_testMod/eggBoxPallet.xml" />
<pallet filename="$mapdir$/eggBoxPallet.xml" />

Code: Select all

2021-12-02 17:28 Error: Failed to open xml file 'mapdir$/eggBoxPallet.xml'.
2021-12-02 17:28 Error: Failed to open xml file 'mapdir$/eggBoxPallet.xml'.
2021-12-02 17:28 Error: Running LUA method 'loadSharedI3DFileAsyncFinished'.
2021-12-02 17:28 dataS/scripts/vehicles/specializations/FillUnit.lua(2672) : attempt to index local 'xmlFile' (a nil value)
Wie bitte soll man denn dieses File verlinken?
Last edited by Dr. Shizuma on Fri Dec 03, 2021 9:13 am, edited 1 time in total.
dtmaster
Posts: 293
Joined: Mon Aug 06, 2012 6:44 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by dtmaster »

Die frage ist wo hast du das eingetragen??? und was meinst du du willst es nicht für alle überschreiben?

also wo hast du <pallet xxxx /> eingetragen..
Website: http://www.we-play-games.de
Public TS: we-play-games.de:10138
Public IRC : irc.we-play-games.de SSL port: 10000
Dr. Shizuma
Posts: 78
Joined: Thu May 20, 2021 3:31 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by Dr. Shizuma »

dtmaster wrote: Thu Dec 02, 2021 6:23 pm Die frage ist wo hast du das eingetragen???
Ich hab das in der 'chickenBarnSmall.xml' von meinem Mod eingetragen. Das isn placeable und laut XML Schema, kann man in der Section "husbandry->pallets ein subtag 'pallets' machen, wo ein XML verlinkt wird.

Code: Select all

<husbandry>
	....
	<pallets>
		<spawnPlaces>
			...
		</spawnPlaces>
		<pallets>
			<pallet filenname="C:/Users/bla/Documents/My Games/FarmingSimulator2022/mods/FS22_testMod/eggBoxPallet.xml" />
		</pallets>
	</pallets>
</husbandry>
Und es funktioniert auch alles im Mod dann wie erwartet & es gibt keine Fehler im log. Aber der absolute Link geht halt natürlich nicht. Darum meine Frage was ich da falsch mache. (Siehe die Varianten die ich schon probiert habe, die eggBoxPallet.xml einzubinden).
dtmaster wrote: Thu Dec 02, 2021 6:23 pm und was meinst du du willst es nicht für alle überschreiben?
Vergiss einfach, dass ich das geschrieben hab, ich glaub das war einfach Blödsinn. Ich meinte ich will nicht die fillUnit/capacity von der eggBoxPallet von Giants direkt editieren. Aber das is eh a nogo... :)
dtmaster
Posts: 293
Joined: Mon Aug 06, 2012 6:44 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by dtmaster »

ist die palette im gleichen mod wie der barn? ist natürlich schwierig wenn man die ordner strucktur etc nicht kennt oder weiß obs einer oder 2 mods sind usw..

wenn z.B. deine palette in einem Unterordner des Stall Mods ist als bsp. pallet dann müsste es normalerweise ausreichen wenn als pfad "pallet/eggBoxPallet.xml" steht.. bei zwei verschiedenen Mods weiß ich es allerdings nicht so genau..
Website: http://www.we-play-games.de
Public TS: we-play-games.de:10138
Public IRC : irc.we-play-games.de SSL port: 10000
Dr. Shizuma
Posts: 78
Joined: Thu May 20, 2021 3:31 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by Dr. Shizuma »

THX für deine Hilfe. Das liegt alles in einem Verzeichnis, auch dort nicht in Unterordner. Wollte möglichst alles beseitigen was eventuell Probleme machen könnt.

Image

Ich glaub halt mittlerweile, dass das einfach ein Bug ist um ehrlich zu sein. Weil es mit einem 'vollen Pfad' ja ohne Probleme geht. Irgendwie werden die Variablen in dem filename tag nicht aufgelöst.
dtmaster
Posts: 293
Joined: Mon Aug 06, 2012 6:44 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by dtmaster »

normalerweise müsste da gar keine variable rein.. da es im gleichen ordner ist müsste da nur der xml name der palette rein..

also eggBoxPallet.xml
Website: http://www.we-play-games.de
Public TS: we-play-games.de:10138
Public IRC : irc.we-play-games.de SSL port: 10000
Dr. Shizuma
Posts: 78
Joined: Thu May 20, 2021 3:31 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by Dr. Shizuma »

Jup denk ich eben auch - funktioniert leider nicht :( . Trotzdem danke für deine Hilfe!

Code: Select all

2021-12-03 14:44 C:/Users/bla/Documents/My Games/FarmingSimulator2022/mods/FS22_testMod/eggBoxPallet.i3d (15.72 ms)
2021-12-03 14:44 data/objects/bigBagPallet/bigBagPallet.i3d (6.33 ms)
2021-12-03 14:44 data/placeables/mapUS/gasStation/gasStation.i3d (0.80 ms)
2021-12-03 14:44 data/placeables/mapUS/sellingStationVehicles/sellingStationVehicles.i3d (0.83 ms)
2021-12-03 14:44 data/shared/assets/marker/markerIcons.i3d (0.82 ms)
2021-12-03 14:44 data/placeables/mapUS/sawmill/sawmillTriggers.i3d (3.83 ms)
2021-12-03 14:44 C:/Users/bla/Documents/My Games/FarmingSimulator2022/mods/FS22_testMod/chickenBarnSmall.i3d (2.28 ms)
2021-12-03 14:44 C:/Users/bla/Documents/My Games/FarmingSimulator2022/mods/FS22_testMod/navigationMesh.i3d (1.08 ms)
2021-12-03 14:44 data/placeables/lizard/fencesFarm/chickenNetFence/chickenNetFence.i3d (5.01 ms)
2021-12-03 14:44 Error: Failed to open xml file 'eggBoxPallet.xml'.
2021-12-03 14:44 Error: Failed to open xml file 'eggBoxPallet.xml'.
2021-12-03 14:44 Error: Running LUA method 'loadSharedI3DFileAsyncFinished'.
2021-12-03 14:44 dataS/scripts/vehicles/specializations/FillUnit.lua(2672) : attempt to index local 'xmlFile' (a nil value)
Meldet man sowas eigentlich auch um Bugtracker (ich seh da nicht wirklich einen passenden Punkt), oder eher im GDN Forum?
dtmaster
Posts: 293
Joined: Mon Aug 06, 2012 6:44 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by dtmaster »

was mir noch einfällt.. hast du in der moddesc.xml für die palette auch einen store eintrag gemacht? auch wenn sie dort nicht kaufbar sein soll musst du einen store eintrag machen..

zum anderen bugtracker würde ich nicht nehmen.. egal obs ein bug ist oder nicht.. Interessiert Giants nicht.. Bekommst als Antwort nur das es der bugtracker keine Modding Hilfe ist..
Website: http://www.we-play-games.de
Public TS: we-play-games.de:10138
Public IRC : irc.we-play-games.de SSL port: 10000
goodN8JohnBoy
Posts: 1454
Joined: Wed Dec 01, 2021 6:51 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by goodN8JohnBoy »

Platzhalter wie "$mapdir$" oder "$moddir$" funktionieren nur in den default vehicles, placeables und items.
Für alle anderen Dateien musst du den Pfad relativ zum Mod Hauptverzeichnis angeben.

Und dann musst du natürlich auch richtig schreiben. ;)
NICHT <pallet filenname=.. sondern <pallet filename=..
Dr. Shizuma
Posts: 78
Joined: Thu May 20, 2021 3:31 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by Dr. Shizuma »

dtmaster wrote: was mir noch einfällt.. hast du in der moddesc.xml für die palette auch einen store eintrag gemacht? auch wenn sie dort nicht kaufbar sein soll musst du einen store eintrag machen..
Jup - darueber bin ich am Anfang eh gleich gestolpert :D, aber da wurd ich aus der Fehlermeldung halbwegs schlau und hab das hinzugefuegt.
goodN8JohnBoy wrote: Fri Dec 03, 2021 8:39 pm Platzhalter wie "$mapdir$" oder "$moddir$" funktionieren nur in den default vehicles, placeables und items.
Für alle anderen Dateien musst du den Pfad relativ zum Mod Hauptverzeichnis angeben.

Und dann musst du natürlich auch richtig schreiben. ;)
NICHT <pallet filenname=.. sondern <pallet filename=..
lol - total richtig natuerlich. Ich versteh auch grad nicht warum das in dem einen Posting falsch steht, im Mod hab ich es richtig und im ersten Posting isses auch richtig :). Glaub da hat sich einfach ein typo kurzzeitig eingeschlichen.

Leider, auch mit richtigem Attribut (filename :D ) und relativem Pfad funktionierts nicht :( .

Code: Select all

<husbandry>
....
        <pallets fillType="EGG" maxNumPallets="8" unitText="$l10n_unit_pieces">
            <spawnPlaces>
                <spawnPlace startNode="palletArea1Start" endNode="palletArea1End" />
                <spawnPlace startNode="palletArea2Start" endNode="palletArea2End" />
            </spawnPlaces>
			<pallets>
				<pallet filename="eggBoxPallet.xml"/>
			</pallets>
        </pallets>
        ...
Btw was meinst du mit 'default' placeables? Ist 'meine' chickenbarn kein default placeable mehr?
goodN8JohnBoy
Posts: 1454
Joined: Wed Dec 01, 2021 6:51 pm

Re: Andere XML Dateien referenzieren in einem Mod

Post by goodN8JohnBoy »

Damit meine ich die in der modDesc.xml angegebenen
<map .. defaultVehiclesXMLFilename=.. defaultPlaceablesXMLFilename=.. defaultItemsXMLFilename=..

Die müssen nicht zwangsläufig so heissen wie in den Giants Maps üblich.
Post Reply