Ergebnis 1 bis 12 von 12

Thema: [FRAGE] Modular XML Loading

  1. #1
    Registrierter Benutzer Avatar von bisonte
    Registriert seit
    01.06.05
    Beiträge
    220

    [FRAGE] Modular XML Loading

    In der Ini eines Mods steht ja folgender Abschnitt:

    Code:
    ; Modular XML Loading
    ModularLoading = 0
    Wenn man da eine 1 hinsetzt, muss ich da jetzt z.B.
    eine Komplette CIV4UnitInfos.xml in's MOD integrieren,
    oder reicht es, wenn ich die zu ändernde oder hinzufügende
    Einheit als UnitInfos datei hinlege...

    Als Beispiel:
    Code:
    <Civ4UnitInfos xmlns="x-schema:CIV4UnitSchema.xml">
    	<UnitInfos>
    		<UnitInfo>
    			<Type>Mein_UNIT_COLONIST</Type>
    		       <...>
    		</UnitInfo>
    	</UnitInfos>
    </Civ4UnitInfos>

  2. #2
    Registrierter Benutzer
    Registriert seit
    29.01.03
    Beiträge
    4.909
    Hmm das wäre durchaus sehr interessant für MODs... probiere es doch mal aus

    Vielleicht steht in der Civ4 Wiki was dazu?

  3. #3
    Registrierter Benutzer Avatar von bisonte
    Registriert seit
    01.06.05
    Beiträge
    220
    Zitat Zitat von Netbandit Beitrag anzeigen
    Hmm das wäre durchaus sehr interessant für MODs... probiere es doch mal aus

    Vielleicht steht in der Civ4 Wiki was dazu?
    CivWiki ist da leider etwas veraltet... da war BTS noch nicht erschienen als
    der Artikel geschrieben wurde...

    Dort steht:

    Schonmal vorgehabt, eine neue Einheit zu einer Mod hinzuzufügen, ohne auch nur eine der Originaldateien anzurühren? Oder neue Objekte zu ergänzt und dann veränderte sich die Grundmodifikation und du musstest deine ganze Arbeit nochmal machen? Modulares XML erlaubt dem Spiel, mehrere verschiedene XML-Dateien als eine einzige zu laden.
    Damit kannst du eine neue Einheit, Einheitenklasse und Einheitendarstellungsklasse hinzufügen, die nur die Daten deiner neuen Einheit enthält. Verändert sich die Mod, betrifft das deine Dateien in keinster Weise und du musst deine Veränderungen nicht erneut vornehmen.
    Das ist noch vielversprechender, wenn man die Möglichkeit bedenkt, mehrere XML-Mods zusammenzufügen. Du könntest 3 verschiedene Mods nutzen, die jeweils eine neue Zivilisation, einzigartige Einheiten und Gebäude hinzufügen, und sie zusammen spielen, allein indem du sie in den entsprechenden Ordner kopierst. Keine Notwendigkeit, PHP zusammenzupuzzeln und wenn die Modder ihre Dateien updaten, ist es leicht genug, das zu übernehmen, ohne alles andere in deinem Spiel zu verändern.
    Also sollte es wohl möglich sein... das teste ich dann gleich mal aus.

    Weil irgendwie blöd, wenn man an ein bestehendes MOD zu.B. die erhöhten GameTurns anbasteln will, dann muss man, wegen der Abhängigkeiten gleich diverse XML's durchforsten....

  4. #4
    Registrierter Benutzer Avatar von bisonte
    Registriert seit
    01.06.05
    Beiträge
    220
    Tja... Das scheint wohl von den Entwicklern Wunschdenken gewesen zu sein...

    Wenn ich nur die entsprechenden Daten einfüge, dann schreit Col beim MOD
    aktivieren "XML Fehler". Und das bei XML's die ich gar nicht geändert habe.

    Folgendes hab ich versucht :

    In der MyNewMod.ini das ModularLoading = 1 und dann
    eine CIV4GameSpeedInfo.xml erstellt mit nur folgendem Inhalt

    Code:
    <Civ4GameSpeedInfo xmlns="x-schema:CIV4GameInfoSchema.xml">
    	<GameSpeedInfos>
    		<GameSpeedInfo>
    			<Type>GAMESPEED_NORMAL_EXTRA</Type>
    			<Description>TXT_KEY_GAMESPEED_NORMAL_EXTRA</Description>
    			<Help>TXT_KEY_GAMESPEED_NORMAL_HELP_EXTRA</Help>
    			<iGrowthPercent>100</iGrowthPercent>
    			<iStoragePercent>100</iStoragePercent>
    			<iTrainPercent>100</iTrainPercent>
    			<iConstructPercent>100</iConstructPercent>
    			<iFatherPercent>100</iFatherPercent>
    			<iGreatGeneralPercent>100</iGreatGeneralPercent>
    			<GameTurnInfos>
    				<GameTurnInfo>
    					<iMonthIncrement>1</iMonthIncrement>
    					<iTurnsPerIncrement>3600</iTurnsPerIncrement>
    				</GameTurnInfo>
    			</GameTurnInfos>
    		</GameSpeedInfo>
    	</GameSpeedInfos>
    </Civ4GameSpeedInfo>
    diese dann in MODS\MyNewMod\Assets\XML\GameInfo\ gespeichert und
    dann mal versucht die MOD zu aktivieren.

    Da kommt die Fehlermeldung :



    zum testen hier : http://bisonte.kilu.de/MyNewMod.rar

    Edit: Die Tags sind ..._EXTRA, weil ich etwas hinzufügen möchte, nicht ändern...
    Bleibt mir wohl nichts anderes übrig als ein Tool zu basteln, was soetwas in vorhandene XML's "injected"

  5. #5
    Registrierter Benutzer
    Registriert seit
    29.01.03
    Beiträge
    4.909
    Eventuell muss in der im Fehler angegebenen Datei auch noch was hinzugefügt werden?

  6. #6
    Registrierter Benutzer Avatar von bisonte
    Registriert seit
    01.06.05
    Beiträge
    220
    Normal nicht.

    Für das ColonizationOne MOD hab ich die komplette GameSpeedInfos.xml genommen und
    nur das Extra Dingens hinzugefügt... damit lief es, es waren in der XML aber auch noch die anderen GameSpeeds vorhanden.

    Na dann werd ich mal meine ProggKenntnisse rauspulen müssen...

  7. #7
    Registrierter Benutzer Avatar von Mordino
    Registriert seit
    05.10.08
    Beiträge
    38
    glaub du hast die Headerzeiler vergessen

    <?xml version="1.0"?>

  8. #8
    Registrierter Benutzer Avatar von bisonte
    Registriert seit
    01.06.05
    Beiträge
    220
    Hab ich auch probiert, einfach die originale zu nehmen und den Rest rauslöschen... gleiches Ergebnis...

  9. #9
    Registrierter Benutzer Avatar von bisonte
    Registriert seit
    01.06.05
    Beiträge
    220
    HEUREKA !

    Nun hab ich begriffen was es mit dem "modularem" XML auf sich hat und muss sagen.... GENIAL

    Das erstellen eines MODS nimmt dadurch ungeahnte Dimensionen an ... ist zwar eine Menge arbeit, aber es lohnt sich am ende... (wenn man ein vorhandenes Mod dafür umbaut)

    Bei Bedarf verfasse ich mal einen Text dazu...
    Meine Projekte :
    Modmaker "Ghandi"
    ColonizationOne V1.6

    In Vorbereitung : NBMod_Extend

  10. #10
    Registrierter Benutzer Avatar von bisonte
    Registriert seit
    01.06.05
    Beiträge
    220
    und schon wieder ein Dämpfer... Sound lassen sich anscheinend nicht modular einbinden.

    Habs mit Portugal probiert... Normal geht, aber nicht modular...
    schade eigentlich. Muss ich nur noch probieren ob ein Mix aus beiden varianten klappt, was aber dann wieder am sinn vorbeigeht.
    Meine Projekte :
    Modmaker "Ghandi"
    ColonizationOne V1.6

    In Vorbereitung : NBMod_Extend

  11. #11
    Registrierter Benutzer Avatar von Njoy
    Registriert seit
    26.10.08
    Ort
    27232
    Beiträge
    5
    Hey bisonte,

    ein sehr interessanter Gedankengang. Ich selber bastel mir gerade meinen - auf mich angepassten MOD zusammen - studiere hierfür in zahllosen Experimenten die jeweiligen XML Strukturen. Wenn man natürlich grundsätzlich gesprochen ein komplettes Modul ergänzen / entfernen könnte, wäre das ja richtig genial. Soweit habe ich noch garnicht gedacht ... (naja, bis vor einer Woche wusste ich ja nicht einmal, dass man so einfach im Code rumbasteln kann *fg*).

    Also meine Bitte: Unbedingt Informationsfluss weiter fliessen lassen :-)

    Vielen Dank hierfür!

    Njoy

  12. #12
    Registrierter Benutzer Avatar von bisonte
    Registriert seit
    01.06.05
    Beiträge
    220
    Die Sound Define Dateien ... also alle Dateien aus dem XML/Sounds/ Verzeichnis werden offiziell nicht mit eingelesen. (Steht auf einer Civfanatic Seite und ich hab es im xml.log überprüft.)

    Jetzt muss man nur sehen ob sich ein Mix aus beidem realisieren lässt.... werd mich gleich mal ransetzen

    Schade das es so ist... ich hatte schon gehofft, dass Ghandi arbeitslos wird
    Meine Projekte :
    Modmaker "Ghandi"
    ColonizationOne V1.6

    In Vorbereitung : NBMod_Extend

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •