Neue Alterstufen coden (FORTGESCHRITTENE)
Seite 1 von 1
Neue Alterstufen coden (FORTGESCHRITTENE)
Standardmäßig haben Zootycoon-Tiere zwei Altersstufen: Young und Adult. Solange ein Muttertier einen Nachkommen hat, der ein Young ist, gilt sie dem Spiel nicht als Fortpflanzungsfähig. Wenn das Tier vorn Young nach Adult wechselt, wird es selbst geschlechtesreif. Gleichzeigtig kann die Mutter wieder träctig werden.
Mit dem natürlichen Fortpflanzungszyklus und Heranwachsen eines Tieres hat das bei kaum einer Tierart etwas zu tun. Aber es ist möglich, weitere Altersstufen einzubauen. Bei vielen neueren Download-Tieren und Remakes gibt es das bereits. Hier haben die Designer zusätzlich die Stufe Juvenile für halbwüchsige Tiere hinzugefügt. Juvenile ist so gecodet, dass das Muttertier auch wieder trächtig werden kann, selbst wenn das vorherige Jungtier selbst noch nicht erwachsen sind.
Es sind aber auch noch mehr Altersstufen möglich.
In diesem Thread möchte ich erklären, wie man eine neue Altersstufe codet. Außerdem gibt es einige Vorschläge, wie man die Altersstufen für verschiedene Tiergruppen strukturieren kann.
Wo ihr die Dateien findet, in denen ihr das neue Coding einarbeiten müsste, erfahrt ihr hier.
Wie ihr die Dateien bearbeitet, erfahrt ihr hier.
Mit dem natürlichen Fortpflanzungszyklus und Heranwachsen eines Tieres hat das bei kaum einer Tierart etwas zu tun. Aber es ist möglich, weitere Altersstufen einzubauen. Bei vielen neueren Download-Tieren und Remakes gibt es das bereits. Hier haben die Designer zusätzlich die Stufe Juvenile für halbwüchsige Tiere hinzugefügt. Juvenile ist so gecodet, dass das Muttertier auch wieder trächtig werden kann, selbst wenn das vorherige Jungtier selbst noch nicht erwachsen sind.
Es sind aber auch noch mehr Altersstufen möglich.
In diesem Thread möchte ich erklären, wie man eine neue Altersstufe codet. Außerdem gibt es einige Vorschläge, wie man die Altersstufen für verschiedene Tiergruppen strukturieren kann.
Wo ihr die Dateien findet, in denen ihr das neue Coding einarbeiten müsste, erfahrt ihr hier.
Wie ihr die Dateien bearbeitet, erfahrt ihr hier.
Re: Neue Alterstufen coden (FORTGESCHRITTENE)
Das Coding für die Altersstufen befindet sich in der Datei
TIERNAME.tsk
Im Beispiel nehmen wir die TSK der Addax-Antilope.
Als Ausgangsmaterial verwendet ihr das Coding für den Wechsel von Young zu Adult.
Für den Wechsel sind drei Templates notwenig, die zusammengehören.
Das Template Puberty
Das Template Age_F
Das Template Age_M
TIERNAME.tsk
Im Beispiel nehmen wir die TSK der Addax-Antilope.
Als Ausgangsmaterial verwendet ihr das Coding für den Wechsel von Young zu Adult.
Für den Wechsel sind drei Templates notwenig, die zusammengehören.
Das Template Puberty
- Code:
<BFAITaskTemplate Name="Puberty" TaskDelayMin="60" TaskDelayMax="60" UniqueID="Addax:Puberty">
Das Template Age_F
- Code:
<BFAITaskTemplate Name="Age_F" UniqueID="Addax:Age_F">
Das Template Age_M
- Code:
<BFAITaskTemplate Name="Age_M" UniqueID="Addax:Age_M">
Re: Neue Alterstufen coden (FORTGESCHRITTENE)
Für jeden Wechsel zu einer Altersstufe braucht das Tier einen Template-Satz.
Standardmäßig haben haben die Tiere diesen einen Satz für den Wechsel von Young zu Adult.
Für ein Tier mit einer zusätzlichen Altersstufe benötigt ihr ein zweites Template mit einem entsprechenden Coding.
1. Template-Satz für den Wechsle von Young zu Juvenile
1. Sucht den Template-Satz in der TSK.
2. Ändert den Namen Puberty in GrowJuvenile (Manche codern verweden als Benennung auch puberty1. WIE ihr das Template nennt, ist egal. Aber so erkennt ihr leichter, wozu das Coding da ist.)
3. In diesem Coding
findet ihr bei lifespan="GE" den Zahlenwert, der angibt, in welchem Lebensalter das Tier in die neue Altersstufe wechseln soll. Hier müsst ihr euren gewünschten Wert eingeben. Wie ihr die Wert ermittelt, findet ihr hier.
4. In allen drei Templates findet ihr an mehreren Stellen den Eintrag Age. Andert Age ebenfalls in GrowJuvenile.
5. In den GrowJuvenile_F und _M-Templates müsst ihr nun noch das Ziel ändern. Das Tier soll sich in ein Juveniles verwandeln, also muss dies als Ziel angegeben werden.
Andert im GrowJuvenile_F-Template
und im GrowJuvenile_M-Template
Damit habt ihr den Wechsel von Young zu Juvenile.
Standardmäßig haben haben die Tiere diesen einen Satz für den Wechsel von Young zu Adult.
Für ein Tier mit einer zusätzlichen Altersstufe benötigt ihr ein zweites Template mit einem entsprechenden Coding.
1. Template-Satz für den Wechsle von Young zu Juvenile
1. Sucht den Template-Satz in der TSK.
2. Ändert den Namen Puberty in GrowJuvenile (Manche codern verweden als Benennung auch puberty1. WIE ihr das Template nennt, ist egal. Aber so erkennt ihr leichter, wozu das Coding da ist.)
- Code:
<BFAITaskTemplate Name="GrowJuvenile" TaskDelayMin="60" TaskDelayMax="60" UniqueID="Addax:Puberty">
3. In diesem Coding
- Code:
<Subjects>
<Addax_Young/>
<Qualifiers_AND inWater_OR_onLand="true" lifespan="GE 4.17"/>
</Subjects>
findet ihr bei lifespan="GE" den Zahlenwert, der angibt, in welchem Lebensalter das Tier in die neue Altersstufe wechseln soll. Hier müsst ihr euren gewünschten Wert eingeben. Wie ihr die Wert ermittelt, findet ihr hier.
4. In allen drei Templates findet ihr an mehreren Stellen den Eintrag Age. Andert Age ebenfalls in GrowJuvenile.
5. In den GrowJuvenile_F und _M-Templates müsst ihr nun noch das Ziel ändern. Das Tier soll sich in ein Juveniles verwandeln, also muss dies als Ziel angegeben werden.
Andert im GrowJuvenile_F-Template
- Code:
<ZTBehMorph morphTargetEntityType="Addax_Adult_F" morphScale="true" morphPeriod="10" initScale="0.4"/>
- Code:
<ZTBehMorph morphTargetEntityType="Addax_Juvenile_F" morphScale="true" morphPeriod="10" initScale="0.4"/>
und im GrowJuvenile_M-Template
- Code:
<ZTBehMorph morphTargetEntityType="Addax_Adult_M" morphScale="true" morphPeriod="10" initScale="0.4"/>
- Code:
<ZTBehMorph morphTargetEntityType="Addax_Juvenile_M" morphScale="true" morphPeriod="10" initScale="0.4"/>
Damit habt ihr den Wechsel von Young zu Juvenile.
Re: Neue Alterstufen coden (FORTGESCHRITTENE)
2. Template-Satz für den Wechsel von Juvenile zu Adult
1. Kopiert den kompletten Template-Satz, also die drei Templates GrowJuvenile, GrowJuvenile_F und GrowJuvenile_M und fügt es unter dem ersten Template-Satz ein.
2. Ändert in allen drei Templates GrowJuvenile in GrowAdult.
Jetzt müsst ihr die Subjects aller drei Templates ändern. Das Subject bezeichnet die Individuen, die das Coding betrifft. Im ersten Template Satz war das Subject die Young, denn das Jungtier sollte sich in ein juvenile Tier verwandeln. Hier soll sich das juvenile Tier in ein adultes verwandeln.
3. Ändert im GrowAdult-Template
4. Gebt hier bei lifespan außerdem das Lebensalter an, in dem das Tier in den Adult-Status wechseln soll.
5. Ändert im GrowAdult_F-Template
6. Ändert im GrowAdult_M-Template
7. Nun müsst ihr auch noch das Ziel der Verwandlung ändern. Aus dem Juvenile soll ein Adult werden. Ändert in den GrowJuvenile_F und _M-Templates
1. Kopiert den kompletten Template-Satz, also die drei Templates GrowJuvenile, GrowJuvenile_F und GrowJuvenile_M und fügt es unter dem ersten Template-Satz ein.
2. Ändert in allen drei Templates GrowJuvenile in GrowAdult.
Jetzt müsst ihr die Subjects aller drei Templates ändern. Das Subject bezeichnet die Individuen, die das Coding betrifft. Im ersten Template Satz war das Subject die Young, denn das Jungtier sollte sich in ein juvenile Tier verwandeln. Hier soll sich das juvenile Tier in ein adultes verwandeln.
3. Ändert im GrowAdult-Template
- Code:
<Subjects>
<Addax_Young/>
<Qualifiers_AND inWater_OR_onLand="true" lifespan="GE 4.17"/>
</Subjects>
- Code:
<Subjects>
<Addax_Juvenile/>
<Qualifiers_AND inWater_OR_onLand="true" lifespan="GE 4.17"/>
</Subjects>
4. Gebt hier bei lifespan außerdem das Lebensalter an, in dem das Tier in den Adult-Status wechseln soll.
5. Ändert im GrowAdult_F-Template
- Code:
<Subjects>
<Addax_Young_F/>
<Qualifiers inWater_OR_onLand="true"/>
</Subjects>
- Code:
<Subjects>
<Addax_Juvenile_F/>
<Qualifiers inWater_OR_onLand="true"/>
</Subjects>
6. Ändert im GrowAdult_M-Template
- Code:
<Subjects>
<Addax_Young_M/>
<Qualifiers inWater_OR_onLand="true"/>
</Subjects>
- Code:
<Subjects>
<Addax_Juvenile_M/>
<Qualifiers inWater_OR_onLand="true"/>
</Subjects>
7. Nun müsst ihr auch noch das Ziel der Verwandlung ändern. Aus dem Juvenile soll ein Adult werden. Ändert in den GrowJuvenile_F und _M-Templates
- Code:
<ZTBehMorph morphTargetEntityType="Addax_Juvenile_F" morphScale="true" morphPeriod="10" initScale="0.4"/>
- Code:
<ZTBehMorph morphTargetEntityType="Addax_Adult_F" morphScale="true" morphPeriod="10" initScale="0.4"/>
- Code:
<ZTBehMorph morphTargetEntityType="Addax_Juvenile_M" morphScale="true" morphPeriod="10" initScale="0.4"/>
- Code:
<ZTBehMorph morphTargetEntityType="Addax_Adult_M" morphScale="true" morphPeriod="10" initScale="0.4"/>
Re: Neue Alterstufen coden (FORTGESCHRITTENE)
Jetzt habt ihr das Steuercoding für die Altersstufen in der TSK.
Damit das Spiel auch Tiere in diesen Altersstufen generieren kann, braucht es außerdem noch die xml-Dateien für die entsprechenden Altersstufen, also
TIERNAME_Juvenile.xml
TIERNAME_Juvenile_F.xml
und
TIERNAME_Juvenile_M.xml
Als Ausgangamaterial dazu nehmt ihr die drei Young.xmls. Zieht euch Kopien auf den Desktop.
1. Benennt die xml-Dateien in Juvenile um.
2. Ersetzt in allen drei Dateien überall Young durch Juvenile.
3. In der Juvenile.xml findet ihr die Codezeile
Setzt hier b_Adult="1". Dann interpretiert das Spiel die Juvenilen als Adulte, so dass das Muttertier wieder Junge kriegen kann, wenn das vorherige Jungtier juvenil wird.
4. In der Codezeile
müsst ihr angeben, welche bfm und damit welches Modell das juvenile Tier verwenden soll. Der Verweis führt in dieser Form zu einer Addax_Juvenile_F.bfm. Die gibt es aber nicht.
Bei den meisten Tierarten ist das Modell des erwachsenen Weibchens am sinnvollsten. Ändert den Dateinamen entsprechend in Addax_Adult_F.bfm. Außerdem müsst ihr die Größe bei scale=" " anpassen. Das juvenile Tier sollte erkennbar kleiner sein als die Adulten.
5. Kontrolliet, ob auch ein Skin in einer der Juvenile-xmls verzeichnet ist. Auch hier steht jetzt im Dateiname Juvenile. Ändert den Namen entsprechend dem vorhandenen Skin, den das juvenile Tier verwenden soll.
6. Fügt die fertigen Juvenile.xmls in die z2f bei den übrigen xmls ein.
Damit das Spiel auch Tiere in diesen Altersstufen generieren kann, braucht es außerdem noch die xml-Dateien für die entsprechenden Altersstufen, also
TIERNAME_Juvenile.xml
TIERNAME_Juvenile_F.xml
und
TIERNAME_Juvenile_M.xml
Als Ausgangamaterial dazu nehmt ihr die drei Young.xmls. Zieht euch Kopien auf den Desktop.
1. Benennt die xml-Dateien in Juvenile um.
2. Ersetzt in allen drei Dateien überall Young durch Juvenile.
3. In der Juvenile.xml findet ihr die Codezeile
- Code:
<BFAIEntityDataShared f_viewBonus="5" b_Adult="0" b_SmallPrey="true">
Setzt hier b_Adult="1". Dann interpretiert das Spiel die Juvenilen als Adulte, so dass das Muttertier wieder Junge kriegen kann, wenn das vorherige Jungtier juvenil wird.
4. In der Codezeile
- Code:
<BFActorComponent actorfile="entities/units/animals/Addax/Addax_Juvenile_F.bfm" scale="0.4"/>
müsst ihr angeben, welche bfm und damit welches Modell das juvenile Tier verwenden soll. Der Verweis führt in dieser Form zu einer Addax_Juvenile_F.bfm. Die gibt es aber nicht.
Bei den meisten Tierarten ist das Modell des erwachsenen Weibchens am sinnvollsten. Ändert den Dateinamen entsprechend in Addax_Adult_F.bfm. Außerdem müsst ihr die Größe bei scale=" " anpassen. Das juvenile Tier sollte erkennbar kleiner sein als die Adulten.
5. Kontrolliet, ob auch ein Skin in einer der Juvenile-xmls verzeichnet ist. Auch hier steht jetzt im Dateiname Juvenile. Ändert den Namen entsprechend dem vorhandenen Skin, den das juvenile Tier verwenden soll.
6. Fügt die fertigen Juvenile.xmls in die z2f bei den übrigen xmls ein.
Re: Neue Alterstufen coden (FORTGESCHRITTENE)
Eigene Modelle für die neue Altersstufen
Manche Designer fertigen auch neue Modelle für die erweiterten Altersstufen an. Besonders bei Hirschen oder Antilopen ist das sinnvoll, wenn (männliche) Jungtiere kürzere Hörner, bzw. ein kleineres Geweih als die erwachsenen haben.
Ein neues Modell wird aus einem bestehenden Modell gefertigt. Dazu sind Kenntnisse über das Bearbeiten von 3D-Modellen mit Blender und Nif-Scope, notwendig.
Hat der Juvenil-Status ein eigenes Modell, benötigt er auch eine eigene TIERNAME_Juvenile.bfm. In der bfm muss dann entsprechend der Dateiname der neuen TIERNAME_Juvenile.nif eingetragen sein, sowie in der Juvenile.xml der Verweis zur TIERNAME_Juvenile.bfm.
Manche Designer fertigen auch neue Modelle für die erweiterten Altersstufen an. Besonders bei Hirschen oder Antilopen ist das sinnvoll, wenn (männliche) Jungtiere kürzere Hörner, bzw. ein kleineres Geweih als die erwachsenen haben.
Ein neues Modell wird aus einem bestehenden Modell gefertigt. Dazu sind Kenntnisse über das Bearbeiten von 3D-Modellen mit Blender und Nif-Scope, notwendig.
Hat der Juvenil-Status ein eigenes Modell, benötigt er auch eine eigene TIERNAME_Juvenile.bfm. In der bfm muss dann entsprechend der Dateiname der neuen TIERNAME_Juvenile.nif eingetragen sein, sowie in der Juvenile.xml der Verweis zur TIERNAME_Juvenile.bfm.
Re: Neue Alterstufen coden (FORTGESCHRITTENE)
Einige Tipps und Anregungen
- Juveniler Status macht nicht bei jeder Tierart Sinn. Besonders bei kleinen Tieren mit kurzer Generationsfolge wie etwa Nagetiere oder kleine Raubtiere genügt der Wechsel von Young zu Adult.
- Bei großen Tieren mit langer Generationsfolge wie Elefanten bieten sich weitere Altersstufen an. Young entspricht den Säuglingen, Juvenil den Halbwüchsigen. Dazwischen wäre noch eine Altersstufe für ältere Jungtiere möglich.
- Die Weibchen einiger Tiere, z.B. Elefanten und Menschenaffen, haben in hohem Alter eine Menopause. Diese kann man coden, indem man nur das erste und zweite Template in der TSK verwendet und als Subject beim ersten TIERNAME_F definiert. Es genügt dann, nur eine zusätzliche Adult_F-Menopause.xml aus der Adult_F.xml zu erstellen.
In den xmls muss dann noch ein zusätzlicher Wert definiert werden, damit die Menopause-Weibchen sich nicht mehr fortpflanzen:- Code:
b_Fertile=" "
Dieser Code muss eingefügt werden
1. In der Adult_F.xml- Code:
<BFAIEntityDataShared b_Male="0" b_Fertile="true" f_adoptCount="rand(1,1)"/>
2. In der Adult_F_Menopause.xml- Code:
<BFAIEntityDataShared b_Male="0" b_Fertile="false" f_adoptCount="rand(1,1)"/>
3. In der TSK im Template "InviteReproducion" bei den Qualifiers der Subjects- Code:
<Subjects>
<ElephantAfrican_Adult_F/>
<Qualifiers_AND b_Pregnant="E false" b_Fertile="true"/>
</Subjects>
Seite 1 von 1
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten
So Aug 05, 2018 3:21 pm von Tschensman
» Problem mit Snowleos Raubtierhaus Pack für Zoo Tycoon 2
Di Okt 03, 2017 2:49 pm von Tschensman
» Übersetzung und alte Downloads
Fr Sep 01, 2017 7:11 pm von STAEBCHEN
» Mustang
So Jul 23, 2017 2:48 am von Forumotion
» Probleme mit Downloads
Sa Jun 24, 2017 3:15 pm von Killerzahn
» CARNIVORA
Mo Mai 02, 2016 10:10 pm von Forumotion
» Andere Zoo Tycoon 2 Seiten und Download Seiten
So März 27, 2016 9:30 pm von Okami
» Hack Platzbedarf
So März 27, 2016 7:27 pm von Okami
» Frei Platzierbare Mods
So März 27, 2016 7:18 pm von Okami
» Karminspint
Di Jan 05, 2016 10:50 am von RedTiger