|
|

Ich könnte schonmal ein paar vorbereitende Exceltabellen anlegen, in die ich dann mal die jetzigen Techs einfügen würde.
In die könnten wir dann auch schon mal Ideen für neu Techs einfügen, hätte außerdem den Vorteil, dass wenn wir Techs löschen wollen, wir genau kontrolllieren könnten, was anderswo eingefügt werden muss.
Und ein bischen Excel wär für mich zwischen dem SQL wahrscheinlich sehr erholsam


Schon bei den ersten Ansätzen auf folgendes Problem gestossen:
Bei allen Civs die nicht gänzlich aus dem Mod entfernt werden, müssten wir doch wohl alle Spezialeinheiten + Gebäude etc. von denen im Techbaum berücksichtigen. - Falls Du das so machen willst, würde ich dann die entsprechenden Einträge bei den Technologien machen, aber ist ein Cut nicht besser? Bräuchte da ne Rückmeldung, denn dies hat so oder so Einfluß auf meine Tabelle.


sind oder werden die entfernt
- falls ersteres würde ich eigendlich nicht verstehen warum der Mod dann noch läuft
Aber ich denke, dass ist der komsequenste Weg - bedeutet ja aber, dass wir auch alle Einheiten, Gebäude etc. die mit ihnen in Zusammenhang stehen entfernen müssen. Das könnte aber mit sql vieleicht gar nicht so aufwändig sein.
P.S.: gerade mal nachgeschaut, noch sind sie drin - uff, und ich befürchte schon, alles was ich in den letzten Tagen über civ 5 codierung gelernt hätte, über den Haufen werfen zu müssen.

In der XML "TimeperiodDSA":
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<GameData>
<Civilizations>
<Update>
<Set AIPlayable="false"/>
</Update>
<Update>
<Where Type="CIVILIZATION_HORASREICH"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_ALANFA"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_ARANIEN"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_ALBERNIA"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_MITTELREICH"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_KALIFAT"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_GJALSKERLAND"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_BORNLAND"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_ALMADA"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_THORWAL"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_ANDERGAST"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_NOSTRIA"/>
<Set AIPlayable="true"/>
</Update>
<Update>
<Where Type="CIVILIZATION_ORCREALM"/>
<Set AIPlayable="true"/>
</Update>
</Civilizations>
</Gamedata>
Normalerweise sollten dadurch nur die DSA Völker freigeschaltet sein

Also wenn Du den Mod lädst und ins Setup gehst, sind bei allen Spielen (außer der Aventurienmap) alle Civs auswählbar, auch die aus dem Mod.
Falls Du wirklich löschen würdest, hättest Du meiner Meinung nach möglicherweise eine Unmenge an Fehlermeldungen.
Hier mal der entsprechende Auszug bei Kael, damit Du nicht suchen musst ( weiß nicht wie ich hier so etwas verlinke)
Ein Objekt löschen
Einen Inhalt zu entfernen erfordert es, das Delete-Element mit einer Eigenschaft, auf die es ansprechen soll, an Stelle des Row-Elements zu verwenden.
Zum Beispiel würde der folgende Code die Zivilisation Amerika aus dem Spiel entfernen:
Code:
<GameData>
<Civilizations>
<Delete type="CIVILIZATION_AMERICA"/>
</Civilizations>
</GameData>
Nachdem du „Add“ und „Update“ kennen gelernt hast, sollte dir die Syntax vertraut vorkommen. Es ist egal, auf welche Eigenschaft das Delete reagiert (in dem Beispiel habe ich „type“ verwendet), aber sei vorsichtig, wenn du eine nicht eindeutige Eigenschaft benutzt. Wenn du alle Zivilisationen mit der ARTSTYLE_EUROPEAN-Graphik löschst (<Delete ArtStyleType=“ARTSTYLE_EUROPEAN“/>), werden sie alle gelöscht werden, das heißt: Wenn eine andere Mod, die der Spieler geladen hat, einen Graphiktyp auf ARTSTYLE_EUROPEAN setzt, wird auch diese Zivilisation gelöscht. Wenn eine andere Mod eine Zivilisation mit ARTSTYLE_EUROPEAN-Graphik hinzufügt, wird deine Mod auch sie entfernen.
Das Wichtigste, an das man bei der Entfernung von Inhalten denken muss, ist, dass auch all die Verweise darauf aufgeräumt werden müssen, wenn deine Mod ohne Fehler laden soll. Verweise in Civ5 weisen immer in eine Richtung: Ein Inhalt verweist auf einen anderen, die Inhalte verweisen nicht aufeinander. Manchmal ist es nicht offensichtlich, welcher Inhalt auf welchen verweist. Zum Beispiel verweist die Zivilisations-Datei auf die Spezialeinheit (CIVILIZATION_AMERICA verweist auf UNIT_AMERICAN_B17), aber die Spezialeinheit nicht auf die Zivilisation, zu der sie gehört. Du könntest also CIVILIZATION_AMERICA ohne Fehler löschen. Wenn du aber UNIT_AMERICAN_B17 allein löschtest, erhieltest du an der Stelle, an der CIVILIZATION_AMERICA darauf zu verweisen suchte, eine Fehlermeldung.
Diese Verweise sind der schwierigste Teil des Löschens, weil oft schwer zu sagen ist, welche Inhalte auf den, den wir entfernen wollen, verweisen. Besonders, wenn andere Mods auf den Inhalt verweisen, den wir löschen wollen, wenn zum Beispiel eine andere Mod eine Einheit hinzufügt, die auf die Technologie „Dampfmaschine“ angewiesen ist, aber du diese Technologie gelöscht hast. Daher ist es vielleicht am besten, wenn eine Mod, die Grundspielinhalte löscht, eine exklusive Mod ist. Du kannst keine Verträglichkeit mit anderen Mods annehmen, wenn du Standardinhalte aus dem Spiel entfernst.
Eine andere Variante ist es, Inhalte zu deaktivieren ohne sie zu löschen. Ob das möglich ist, hängt von der Art des Inhalts ab. Beim Entfernen einer Zivilisation ist es vielleicht am besten, sie unspielbar zu machen:
Code:
<GameData>
<Civilizations>
<Update>
<Set Playable="0" />
<Where Type="CIVILIZATION_AMERICA" />
</Update>
</Civilizations>
</GameData>
Ein Delete-Eintrag ohne Bedingungen passt auf alles, löscht also auch alles. Folgendes löscht alle Zivilisationen aus dem Spiel:
Code:
<GameData>
<Civilizations>
<Delete />
</Civilizations>
<GameData>
Alle Inhalte zu entfernen, ist auch ein großer Schritt. Denke daran, dass die Reihenfolge in der Datei eine Rolle spielt. Wenn du also eine Zivilisation hinzufügen wolltest, nachdem du alle anderen mit obigem Code gelöscht hättest, wolltest du, dass das Hinzufügen nach der vollständigen Löschung stattfände. Wenn du deine Zivilisation vorher hinzufügst, wird sie auch gelöscht.
Dies entfernt auch alle neu hinzugefügten Zivilisationen aus Mods, die vor deiner geladen wurden.
Ein Objekt löschen
Einen Inhalt zu entfernen erfordert es, das Delete-Element mit einer Eigenschaft, auf die es ansprechen soll, an Stelle des Row-Elements zu verwenden.
Zum Beispiel würde der folgende Code die Zivilisation Amerika aus dem Spiel entfernen:
Code:
<GameData>
<Civilizations>
<Delete type="CIVILIZATION_AMERICA"/>
</Civilizations>
</GameData>
Nachdem du „Add“ und „Update“ kennen gelernt hast, sollte dir die Syntax vertraut vorkommen. Es ist egal, auf welche Eigenschaft das Delete reagiert (in dem Beispiel habe ich „type“ verwendet), aber sei vorsichtig, wenn du eine nicht eindeutige Eigenschaft benutzt. Wenn du alle Zivilisationen mit der ARTSTYLE_EUROPEAN-Graphik löschst (<Delete ArtStyleType=“ARTSTYLE_EUROPEAN“/>), werden sie alle gelöscht werden, das heißt: Wenn eine andere Mod, die der Spieler geladen hat, einen Graphiktyp auf ARTSTYLE_EUROPEAN setzt, wird auch diese Zivilisation gelöscht. Wenn eine andere Mod eine Zivilisation mit ARTSTYLE_EUROPEAN-Graphik hinzufügt, wird deine Mod auch sie entfernen.
Das Wichtigste, an das man bei der Entfernung von Inhalten denken muss, ist, dass auch all die Verweise darauf aufgeräumt werden müssen, wenn deine Mod ohne Fehler laden soll. Verweise in Civ5 weisen immer in eine Richtung: Ein Inhalt verweist auf einen anderen, die Inhalte verweisen nicht aufeinander. Manchmal ist es nicht offensichtlich, welcher Inhalt auf welchen verweist. Zum Beispiel verweist die Zivilisations-Datei auf die Spezialeinheit (CIVILIZATION_AMERICA verweist auf UNIT_AMERICAN_B17), aber die Spezialeinheit nicht auf die Zivilisation, zu der sie gehört. Du könntest also CIVILIZATION_AMERICA ohne Fehler löschen. Wenn du aber UNIT_AMERICAN_B17 allein löschtest, erhieltest du an der Stelle, an der CIVILIZATION_AMERICA darauf zu verweisen suchte, eine Fehlermeldung.
Diese Verweise sind der schwierigste Teil des Löschens, weil oft schwer zu sagen ist, welche Inhalte auf den, den wir entfernen wollen, verweisen. Besonders, wenn andere Mods auf den Inhalt verweisen, den wir löschen wollen, wenn zum Beispiel eine andere Mod eine Einheit hinzufügt, die auf die Technologie „Dampfmaschine“ angewiesen ist, aber du diese Technologie gelöscht hast. Daher ist es vielleicht am besten, wenn eine Mod, die Grundspielinhalte löscht, eine exklusive Mod ist. Du kannst keine Verträglichkeit mit anderen Mods annehmen, wenn du Standardinhalte aus dem Spiel entfernst.
Eine andere Variante ist es, Inhalte zu deaktivieren ohne sie zu löschen. Ob das möglich ist, hängt von der Art des Inhalts ab. Beim Entfernen einer Zivilisation ist es vielleicht am besten, sie unspielbar zu machen:
Code:
<GameData>
<Civilizations>
<Update>
<Set Playable="0" />
<Where Type="CIVILIZATION_AMERICA" />
</Update>
</Civilizations>
</GameData>
Ein Delete-Eintrag ohne Bedingungen passt auf alles, löscht also auch alles. Folgendes löscht alle Zivilisationen aus dem Spiel:
Code:
<GameData>
<Civilizations>
<Delete />
</Civilizations>
<GameData>
Alle Inhalte zu entfernen, ist auch ein großer Schritt. Denke daran, dass die Reihenfolge in der Datei eine Rolle spielt. Wenn du also eine Zivilisation hinzufügen wolltest, nachdem du alle anderen mit obigem Code gelöscht hättest, wolltest du, dass das Hinzufügen nach der vollständigen Löschung stattfände. Wenn du deine Zivilisation vorher hinzufügst, wird sie auch gelöscht.
Dies entfernt auch alle neu hinzugefügten Zivilisationen aus Mods, die vor deiner geladen wurden.
Das es bei Deinem Code wohl nicht geklappt hat liegt vieleicht an "false" statt "0"


Das mit Du den Guide kennst war mir bewust, hab ihn ja auf Deine Empfehlung hin gelesen.
Ist ja nur so, dass Mensch nicht immer alles im Kopf behält - ich jedenfalls hab schon öfter da wieder nachgeschlagen. Ich dachte deshalb, ich kopier halt mal die entscheidene Stelle hier rein.
Ich bin gespannt, ob es so klappt.
Aber wenn ich Deine Code richtig verstehe , löscht Du ja nicht die Civs sondern machst sie nur unspielbar. Das bedeutet dann aber auch das die Problematik mit den Spezialeinheiten etc. im Techbaum bleibt.
Mir ist aber, glaube ich, gerade ein Lösung für die Gestaltung meiner Exceltabellen eingefallen , ist deshalb für mich jetzt erstmal prolemlos



Aaaaaaaaaaaaargh,
he, ich bin gerade dabei mich ein bischen in SQL einzuarbeiten und hab noch keine einzige Zeile geschrieben.
Also erstmal ist die Datei gedacht, um ein bischen Struktur in unsere Überlegungen zu bringen und Ideen nicht aus den Augen zu verlieren.
Du bist der Modder und ich bin der Hilfmodder, aber vieleicht wert ich ja mit der Zeit zu einem 2/3 Modder
Aber wie auch immer, beim Techbaum kommen wir wohl um SQL (Lua) nicht drumrum.
So und jetzt geh ich ist Bett!


|
![]()
Das Forum hat 19
Themen
und
107
Beiträge.
|
![]() | Einfach ein eigenes Xobor Forum erstellen |