PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verschiedene Fragen zu Scripten, Texturen und dem Spacer



Fiddlers Green
22.07.2008, 15:21
Bei mir hat sich eine ganze Menge an Fragen zu den verschiedensten Themen angesammelt, nachdem ich mal eine Weile herumgemoddet habe. Ich stelle sie mal alle auf einmal. Bezieht sich auf Gothic 2.

Vorab: Vieles, wenn nicht alles bezieht sich darauf, wie ich Sachen, die in G1 vorkamen in G2 wieder einführe.

1.: Ich hätte gerne die Körpertexturen der Gefangenen aus Gothic 1. Die, wo sie nicht mit freiem Oberkörper rumgelaufen sind, sondern so zerissene Klamotten anhatten, ohne, das man ihnen eine 'Rüstung' anziehen musste. Ich hab die entsprechenden Texturen auch gefunden und unter z.B. Hum_Body_Naked_V0_C0.tga im Ordner _work\Data\TEXTURES\NPCs\Body abgespeichert (dadurch wird eine in G2 vorhandene Körpertextur ersetzt) und beim starten dann 'Texturen konvertieren' angeklickt. Aber dann stürzt Gothic mir immer ab. Was mache ich da falsch?
2.: In Gothic 1 war es noch so, dass NPCs, wenn man ein bestimmtes Level hatte, abgehauen sind, wenn man sie angegriffen hat. In Gothic 2 war es dann plötzlich so, dass jeder dumme Bauer auf dem Marktplatz mit seinem schweren Ast auf den Drachenjäger eingeschlagen hat... wie stelle ich es ein, dass bestimmte Personen (abhängig vom Level) vor mir abhauen?
3.: Wie stelle ich den Tag/Nacht Wechsel im Spacer aus? Nach einer Weile wird es da immer dunkel und die Grillen fangen an zu zirpen und was weiß ich. Das ist so sinnlos! Kann ich das bitte abstellen, dass immer 12 Uhr ist, oder so?

Machtl
22.07.2008, 15:35
1. Im Textures/_COMPILED Ordner musst du die TEX der alten Körpertextur löschen, beim nächsten Spielstart wird dann deine neue TGA nach TEX automatisch konvertiert.

3. Wenn es Nacht wird F2seti6F2 eingeben. Dann ist es wieder 6 Uhr morgens. Allerdings musst duvor auf World--> PLay the Game gehen (mit ESC kommst du wieder in den normalen Spacer Modus)

HolyWater
22.07.2008, 15:49
Bei mir hat sich eine ganze Menge an Fragen zu den verschiedensten Themen angesammelt, nachdem ich mal eine Weile herumgemoddet habe. Ich stelle sie mal alle auf einmal. Bezieht sich auf Gothic 2.

Vorab: Vieles, wenn nicht alles bezieht sich darauf, wie ich Sachen, die in G1 vorkamen in G2 wieder einführe.

1.: Ich hätte gerne die Körpertexturen der Gefangenen aus Gothic 1. Die, wo sie nicht mit freiem Oberkörper rumgelaufen sind, sondern so zerissene Klamotten anhatten, ohne, das man ihnen eine 'Rüstung' anziehen musste. Ich hab die entsprechenden Texturen auch gefunden und unter z.B. Hum_Body_Naked_V0_C0.tga im Ordner _work\Data\TEXTURES\NPCs\Body abgespeichert (dadurch wird eine in G2 vorhandene Körpertextur ersetzt) und beim starten dann 'Texturen konvertieren' angeklickt. Aber dann stürzt Gothic mir immer ab. Was mache ich da falsch?
2.: In Gothic 1 war es noch so, dass NPCs, wenn man ein bestimmtes Level hatte, abgehauen sind, wenn man sie angegriffen hat. In Gothic 2 war es dann plötzlich so, dass jeder dumme Bauer auf dem Marktplatz mit seinem schweren Ast auf den Drachenjäger eingeschlagen hat... wie stelle ich es ein, dass bestimmte Personen (abhängig vom Level) vor mir abhauen?
3.: Wie stelle ich den Tag/Nacht Wechsel im Spacer aus? Nach einer Weile wird es da immer dunkel und die Grillen fangen an zu zirpen und was weiß ich. Das ist so sinnlos! Kann ich das bitte abstellen, dass immer 12 Uhr ist, oder so?

zu 2: wenn du dir mal die zs_attack anguckst siehst du dass die npcs doch weglaufen wenn der hero zuviele level höher is!

Fiddlers Green
22.07.2008, 15:57
1. Nein, hab ich versucht. Er schmiert mir immer noch mit Access Violation ab.

3. Ok, hätte ich versuchen können, ob die Cheats im Spacer auch funktionieren. Danke Dir :-). Trotzdem: Kann man nicht von vornherein einstellen, dass die Tageszeit sich im Spacer nicht ändert? Das ist doch sowas von sinnlos...

edit @ Marlus:

in dem script finde ich irgendwie nur diesen Eintrag, der entfernt was damit zu tun haben könnte:

// ------ NSC will fliehen ------
if (C_WantToFlee (self, other))
{
Npc_ClearAIQueue (self);
B_ClearPerceptions (self);
Npc_SetTarget (self, other);
AI_StartState (self, ZS_Flee, 0, "");
return;
};

Da sehe ich allerdings nichts, was irgendwie den Level des Spielers abfragen würde...

HolyWater
22.07.2008, 16:00
zu 3: klick doch einfach neben der zeit auf hold^^

Sumpfkrautjunkie
22.07.2008, 16:01
1. "Texturen konvertieren" führt mehr oder weniger zum Absturz(lieber nicht verwenden).
Die Texturen musst du von Hand (geht nicht automatisch, da es numerische Texturen (V*) sind) mit Goman (http://www.worldofgothic.de/modifikation/index.php?go=editing_goman) konvertieren.
Einfach ein -C hinten an den Dateinamen hängen und als .TEX in den _Compiled Ordner exportieren.

2. Die NPCs laufen nicht weg, das wurde abgeschaltet (@Marlus: Nächstes mal gründlicher gucken:p)
Ändern kannst du das in der Datei:
C_WantToFlee.d
Indem du ganz oben das:

//***FIXME***
return FALSE;
löschst, was das Feature deaktiviert.

Das Level kannst du dann in der Zeile:

if ((2*slf.level) < oth.level)
anpassen.

3.
Wenn du im Objectpages-Fenster nichts spezielles angezeigt bekommst (d.h. die Icons, wie Fuß, Licht, Musiknote etc deaktiviert sind), erscheint die Anzeige der Zeit, mit einem Checkboxfeld: "hold", welches du aktivieren musst.

Fiddlers Green
22.07.2008, 16:16
1.: Ok, das klingt gut, habe ich mal ausprobiert. Aber: Wie weise ich die Körpertextur zu? Habe die in G1 enthaltene Hum_Body_Naked_V2_C0.tga als Hum_Body_Naked_V2_C0-C.tex in den _compiled Ordner exportiert. Aber wie sage ich jetzt, dass ein NPC diese Textur haben soll? Wenn ich statt dem obligatorischen BodyTex_P nun Hum_Body_Naked_V2_C0-C eintrage, dann sagt er mir, er kennt den Eintrag nicht.

2.: Gut, vielen Dank für den Hinweis. Das probiere ich demnächst mal aus.

3.: Äh... ja... das ist mir tatsächlich nie aufgefallen. Vielen dank :-)

Nebbich
22.07.2008, 16:37
zu 1: wenn du an der stelle "Hum_Body_Naked_V2_C0.tga" einträgst (mit den Anführungsstichen) oder die Datei umbenennst (Hum_Body_Naked_VX => X einfach einen Wert höher als der bisher größte) und in der AI_Constants unten bei den Body-TExturen eine neue Konstante erstellst, die den Wert X hat... und die Konstante bei dem NPC statt BodyTex_P einträgst

Fiddlers Green
22.07.2008, 17:20
Tja, jetzt habe ich ein Problem... Ich habe, wie oben im allerersten Tipp vorgeschlagen, die x.tex Dateien aus dem _compiled Ordner gelöscht. Jetzt kann ich machen, was ich will, auch in den NPC Scripts alles auf den Ursprungszustand zurücksetzen, alle NPCs (und auch der PC) haben die gleiche, blasse Körpertextur.

Ich bin auch hingegangen und habe alle G2 x.tga's mit GoMan in den _compiled ordner mit originalnamen als x.tex konvertiert. Hilft nichts. gleiches Problem. Und von den Texturen aus G1 sehe ich immer noch nichts.

Edit: Ok, ich hab mal im _compiled - Ordner genauer hingeguckt. Alle Seit neuestem exportierten Texturen waren nicht in Großbuchstaben geschrieben. Ich hab das abgeändert.Hat nichts geändert. Immer noch haben alle NPCs die Textur, als hätte ich BodyTex_P eingetragen. Egal, WAS ich eingetragen habe. Ich hab in meiner Verzweiflung extra nachgeguckt. Keine Ahnung, wodurch das passiert ist. Hat irgendjemand eine Idee?

Edit zum Edit: Ok, zumindhest das hat sicherledigt. Ich hatte ein backup der texturen. Ich nehme an, das wurde automatisch mit installiert (ich würde mir gerne einbilden, dass ich das selbst angelegt habe, ohne mich dran zu erinnern, aber für sp clever halte ich mich nicht :-) ). Jetzt ist zumindest wieder alles im Urzustand. Wenn ich mich von dem Schrecken erholt habe, versuche ich nochmal, die G1 Texturen einzubauen.

Fiddlers Green
22.07.2008, 20:24
Ich kriegs nicht hin...

Also, ich habe jetzht eine der 'fremden' Texturen als Hum_Body_Naked_V13_C0.tga im _work\Data\TEXTURES\NPCs\Body Ordner und als *.tex im entsprechenden _compiled ordner liegen. Ich habe in der AI_Constants.d den Testeintrag "const int BodyTex_X = 13;" und bei einem NPC als Körpertextur eben diese BodyTex_X eingetragen.

Der NPC sieht auch tatsächlich anders aus. Um nicht zu sagen verstörend... er hat nämlich die Körpertextur 12. Die nennt sich original BodyTexBabe_S und sieht genauso aus, wie sie klingt. Jetzt habe ich einen bärtigen Kerl mit Netzhandschuhen und aufreizendem Dekolleté vor mir stehen. Kein gar so schöner Anblick. Übrigens hab ich malrumprobiert. Wenn ich statt BodyTex_X eine 13 eintrage, habe ich das gleiche Ergebnis. Lustigerweise auch, wenn ich eine 14 eintrage...

Kann irgendjemand mir Dämlack mal erklären, wie das wirklich funktioniert?

HolyWater
23.07.2008, 07:21
1. "Texturen konvertieren" führt mehr oder weniger zum Absturz(lieber nicht verwenden).
Die Texturen musst du von Hand (geht nicht automatisch, da es numerische Texturen (V*) sind) mit Goman (http://www.worldofgothic.de/modifikation/index.php?go=editing_goman) konvertieren.
Einfach ein -C hinten an den Dateinamen hängen und als .TEX in den _Compiled Ordner exportieren.

2. Die NPCs laufen nicht weg, das wurde abgeschaltet (@Marlus: Nächstes mal gründlicher gucken:p)
Ändern kannst du das in der Datei:
C_WantToFlee.d
Indem du ganz oben das:

//***FIXME***
return FALSE;
löschst, was das Feature deaktiviert.

Das Level kannst du dann in der Zeile:

if ((2*slf.level) < oth.level)
anpassen.

3.
Wenn du im Objectpages-Fenster nichts spezielles angezeigt bekommst (d.h. die Icons, wie Fuß, Licht, Musiknote etc deaktiviert sind), erscheint die Anzeige der Zeit, mit einem Checkboxfeld: "hold", welches du aktivieren musst.

zu 2: hab jedenfalls gesehen dass ne abfrage is ob hero zu viele lvl höher is (oder eher other), und dann der state zs_flee gestartet wird...

Fiddlers Green
23.07.2008, 10:31
Kleines Update.

Ich hab weiter rumprobiert und mir mal das Script vom PC_Hero angeguckt. Da gibts folgenden Eintrag:

Mdl_SetVisualBody (self, "hum_body_Naked0", 9, 0, "Hum_Head_Pony", FACE_N_Player, 0, NO_ARMOR);

Und die Textur des Helden heißt dann auch "Hum_Body_Naked_V9_C0.tex". Das sieht ja alles sehr einfach und nachvollziehbar aus. Also kopiere ich diese Zeile in eins meiner NPC-Scripte und trage da "hum_body_Naked0", 13, 0 ein. Scripte werden geparst ohne Fehlermeldung, aber wenn ich mich dem entsprechenden NPC auf Sichtweite nähere, wird Gothic beendet. Ohne Fehlermeldung und irgendwas. Sobald er den NPC anzeigen soll lande ich wieder auf dem Desktop.

Gibt nicht. Das kann doch nicht so schwer sein? Muss ich irgendwas besonderes beachten, wenn ich die tgas mit GoMan zu tex konvertiere?