World of Gothic Archiv > Editing
Neue Monstertextur wird nicht gelesen
Seite 1 von 1  1 
12.07.2002, 20:32 #1
Timothy
Beiträge: 404
Neue Monstertextur wird nicht gelesen
Morgen!

Ich versuchs nun auf diesem Weg weil ich wirklich am Verzweifeln bin:

Ich versuche schon seit knapp einem halben Monat eine neue Monstertextur in Gothic einzufügen aber sie wird einfach nicht gelesen. Die Textur ist also bereits fertig und auch ins tex Format umgeschrieben worden. Ich habe sie im Pfad:
Neuer Ordner_WORKDATATEXTURES_compiled gespeichert. Sie heisst wie die Originaltextur nur mit V1 statt V0. Dazu habe ich noch eine Mst_ Datei zu dieser Originale (es folgt ein Beispiel) erstellt, hier der relevante Teil mit denVisuals:

func void Set_Beispiel2_Visuals()
{

Mdl_SetVisual (self, "Beispiel.mds");
Mdl_SetVisualBody (self, "Beispiel_Body",0,Default,"",Default, Default, -1);
};

Das war die Originaldatei(nur ein Beispiel)

func void Set_Beispiel_Visuals()
{

Mdl_SetVisual (self, "Beispiel.mds");
Mdl_SetVisualBody (self,"Beispiel_Body",1,Default,"",Default,Default, -1);
};

so sieht die neue Datei aus.


So und nun mein Problem:
Ich füge das Monster in die Konsole ein und die alte Textur wird geladen.

Wisst ihr vielleicht was ich falsch mache??? Bitte helft mir.

Timothy
13.07.2002, 09:04 #2
Veruekteshuhn
Beiträge: 30

So ganz kenn ich mich damit zwar nicht aus, aber ich glaub, dass du die neue Textur erst per 3ds Max auf das Model des Monsters übertragen musst.
13.07.2002, 09:40 #3
HornOx
Beiträge: 1.458

Eigentlich machst du alles richtig, so funktioniert das bei mir.
Rufst du in der Instance Beispiel2 auch brav Set_Beispiel2_Visuals() und nicht Set_Beispiel_Visuals() auf?
Hat die textur einen Farbtyp(c0,c1,...) in ihrem Namen(z.b. bei Menschen ist das der Fall)? Falls ja muß man notfalls dummytexturen mit dem Farbtyp c0 erstellen damit die anderen Texturen gefunden werden.
Poste einfach mal die ganze "Mst_irgendein-vieh.d"-Datei, vieleicht findet jemand doch noch einen Fehler.

@Veruekteshuhn:
quote:
mal wieder was aus den documents;)
4.2 Namen für Multi-Texturen

Ein Textur-Name mit dem Format

"NAME_[BUCHSTABE0][ZAHL0]_..[BUCHSTABEn][ZAHLn].TGA"
(Beispiel: "HUM_HEAD_HAIR1_C0_V0.TGA")

steht für eine Multitextur, also eine ganze Reihe von Texturen, die über das Namensschema verbunden sind. Dieses Format sollte ausschließlich für Multitexturen verwendet werden. Demnach ist folgender Texturname für eine einzelne Textur nicht zulässig : "w_s2_v1.TGA". Die Engine fängt solche "falschen" Namen zwar ab, ist beim Laden allerdings langsamer.
In Gothic z.B. werden auf die Körper-Meshes der Menschen Multitexturen gelegt, um diese zur Laufzeit auf demselben Mesh austauschen zu können. Die verwendeten Multitexturen haben zwei Kanäle: der Kanal "C" steht für die Hauttönung, der Kanal "V" für die Variation. Die Textur "Hum_Body_Naked_V2_C3.tga" bezeichnet z.B. die Körpertextur eines Menschen ohne Rüstung in der Variation 2 und der Hauttönung 3 (= dunkelhäutig). Die Wahl einer konkrete Texturvariation für ein gegebenes Model findet in den Skripten statt.
13.07.2002, 10:00 #4
Veruekteshuhn
Beiträge: 30

Wie gesagt kenn ich mich damit nich so aus.
Und in den Documents find ich sowieso nie das was ich will :( ...
13.07.2002, 19:00 #5
Timothy
Beiträge: 404

Also das ist die Original Mst_File:


/ ************************************************************************ *
** Besispiel2 Prototype **
************************************************************************ */

PROTOTYPE Mst_Default_Beispiel2(C_Npc)

{
name = "Besipiel2";
guild = GIL_xxx;
aivar[AIV_MM_REAL_ID] = ID_xxx;
level = 200;
//------------------------------------------------------
attribute [ATR_STRENGTH] = 160;
attribute [ATR_DEXTERITY] = 20;

attribute [ATR_HITPOINTS_MAX] = 1000;
attribute [ATR_HITPOINTS] = 1000;

attribute [ATR_MANA_MAX] = 0;
attribute [ATR_MANA] = 0;
//------------------------------------------------------
protection [PROT_BLUNT] = 0;
protection [PROT_EDGE] = 150;
protection [PROT_POINT] = 10;
protection [PROT_FIRE] = 110;
protection [PROT_FLY] = 9999;
protection [PROT_MAGIC] = 100;
//------------------------------------------------------
damagetype = DAM_FLY;
// damage [DAM_INDEX_BLUNT] = 0;
// damage [DAM_INDEX_EDGE] = 0;
// damage [DAM_INDEX_POINT] = 0;
// damage [DAM_INDEX_FIRE] = 0;
// damage [DAM_INDEX_FLY] = 0;
// damage [DAM_INDEX_MAGIC] = 0;
//------------------------------------------------------
fight_tactic = FAI_xxx;
//------------------------------------------------------
senses = SENSE_HEAR | SENSE_SEE | SENSE_SMELL;
senses_range = 3000;

aivar[AIV_MM_Behaviour] = PASSIVE;

aivar[AIV_MM_PercRange] = 1500;
aivar[AIV_MM_DrohRange] = 1300;
aivar[AIV_MM_AttackRange] = 700;
aivar[AIV_MM_DrohTime] = 5;
aivar[AIV_MM_FollowTime] = 10;
aivar[AIV_MM_FollowInWater] = FALSE;
//-------------------------------------------------------------
start_aistate = ZS_MM_AllScheduler;

aivar[AIV_MM_RestStart] = OnlyRoutine;
};
//-------------------------------------------------------------
func void Set_Beispiel_Visuals()
{
Mdl_SetVisual (self, "Beispiel.mds");

Mdl_SetVisualBody (self, "Beispiel_Body",0,DEFAULT,"",DEFAULT,DEFAULT,-1);
};

/ ************************************************************************ *
** Das Monster **
************************************************************************ */

INSTANCE Beispiel2 (Mst_Default_Beispiel2)
{
name = "Irgendwas";
aivar[AIV_MM_REAL_ID] = ID_xxx;
protection [PROT_BLUNT] = 75;
//--------------------------------------------
Set_Beispiel2_Visuals();
Npc_SetToFistMode (self);
};



Und die neu erstellte



/ ************************************************************************ *
** Das neue Monster Prototype **
************************************************************************ */

PROTOTYPE Mst_Default_Beispiel(C_Npc)

{
name = "Beispiel";
guild = GIL_xxx;
aivar[AIV_MM_REAL_ID] = ID_xxx;
level = 200;
//------------------------------------------------------
attribute [ATR_STRENGTH] = 160;
attribute [ATR_DEXTERITY] = 20;

attribute [ATR_HITPOINTS_MAX] = 1000;
attribute [ATR_HITPOINTS] = 1000;

attribute [ATR_MANA_MAX] = 0;
attribute [ATR_MANA] = 0;
//------------------------------------------------------
protection [PROT_BLUNT] = 0;
protection [PROT_EDGE] = 150;
protection [PROT_POINT] = 100;
protection [PROT_FIRE] = 110;
protection [PROT_FLY] = 0;
protection [PROT_MAGIC] = 100;
//------------------------------------------------------
damagetype = DAM_FLY;
// damage [DAM_INDEX_BLUNT] = 0;
// damage [DAM_INDEX_EDGE] = 0;
// damage [DAM_INDEX_POINT] = 0;
// damage [DAM_INDEX_FIRE] = 0;
// damage [DAM_INDEX_FLY] = 0;
// damage [DAM_INDEX_MAGIC] = 0;
//------------------------------------------------------
fight_tactic = FAI_xxx;
//------------------------------------------------------
senses = SENSE_HEAR | SENSE_SEE | SENSE_SMELL;
senses_range = 3000;

aivar[AIV_MM_Behaviour] = PASSIVE;

aivar[AIV_MM_PercRange] = 1500;
aivar[AIV_MM_DrohRange] = 1300;
aivar[AIV_MM_AttackRange] = 700;
aivar[AIV_MM_DrohTime] = 5;
aivar[AIV_MM_FollowTime] = 10;
aivar[AIV_MM_FollowInWater] = FALSE;
//-------------------------------------------------------------
start_aistate = ZS_MM_AllScheduler;

aivar[AIV_MM_RestStart] = OnlyRoutine;
};

//-------------------------------------------------------------
func void Set_Beispiel_Visuals()
{

Mdl_SetVisual (self, "Beispiel.mds");

Mdl_SetVisualBody (self, "Beispiel_Body",DEFAULT,DEFAULT,"",DEFAULT,DEFAULT,-1);


};




/ ************************************************************************ *
** Das Monster **
************************************************************************ */

INSTANCE Beispiel (Mst_Default_Beispiel)
{
name = "Noch irgendwas";
aivar[AIV_MM_REAL_ID] = ID_Beispiel;
//--------------------------------------------
Set_Beispiel_Visuals();

Npc_SetToFistMode (self);
};






So und die Textur heisst im Originalen:
Example_BODY_V0-c.tex

Und die neue:
Example_BODY_V1-c.tex

Ich hoffe ihr nehmt euch mal die Zeit nach Fehlern zu suchen, Ich habe schon Tage damit zugebracht.
13.07.2002, 19:39 #6
HornOx
Beiträge: 1.458

Warum gibts "func void Set_Beispiel_Visuals()" zweimal? Das sollte schon beim parsen Fehler verursachen.
Warum erstellst du einen zweiten Prototyp? ist zwar nicht falsch aber unnötig.
Wenn die Monsterinstanz im Spiel bekannt ist hast du anscheinend auch brav "reparse all scripts" gemacht, daran kanns auch nicht liegen :(

Ich poste mal was man an Mst_Molerat.d anhängen muß um einen Molerat_neu mit Textur MOL_BODY_V1-C.TEX zu bekommen:
quote:
INSTANCE Molerat_neu (Mst_Default_Molerat)
{
name = "Buntes Molerat"; // einfach die werte die vom Prototyp nicht übernommen werden sollen hier neu setzten
Mdl_SetVisual (self,"Molerat.mds");
Mdl_SetVisualBody (self, "Mol_Body", 1, DEFAULT, "", DEFAULT, DEFAULT, -1);
Npc_SetToFistMode(self);
};
15.07.2002, 17:51 #7
Timothy
Beiträge: 404

Hat zwar etwas gedauer, aber...
Ich habe nun deine MoleratFile ausprobiert (THX) d.h. sie per copy paste in die mst_beispiel statt dem rest hineinkopiert, alles für die mds dateinen meines Monsters umgeschrieben und -zreparse usw, alles korekt eingestellt. eine Modfile angelegt und das Ganze aufs neue. Es klappt jedoch immer noch nicht. langsam fange ich an zu glauben dass etwas mit der Textur nicht stimmt...

Diesbezüglich habe ich eine Rüstungstextur, eine Bodytextur und eine Headtextur erstellt. Die dazugehörigen Scripts geschrieben und alles wie immer behandelt. klappt alles jedoch immer noch nicht. Das Spiel öffnet immer noch die Standardtexturen, und dabei muss ich sagen sind Texturen mir wirklich gut gelungen.
(für die Rüstung habe ich ein die Original armor kopiert und den virtual skin auf 1 gesetzt, ist das falsch???)

Also die Frage: Wie handhabst du das HornOx (oder andere) mit den Texturen. Ich exportiere sie mit Goman als *.tga und bearbeite sie mit Paint shop pro. Dann compile ich sie entweder mit goman zu *.tex oder überlasse das dem spiel (compile textures).
Wie machst du das HornOx???

ps: mein zSpy funktioniert nicht mehr, er beendet das log einfach direkt am Anfang. So finde ich über den auch nichts raus.
18.07.2002, 09:54 #8
HornOx
Beiträge: 1.458
Re: Neue Monstertextur wird nicht gelesen
quote:
Ich habe sie [die textur] im Pfad: Neuer Ordner_WORKDATATEXTURES_compiled gespeichert.
Ist mir erst jetzt aufgefallen. Wie kommst du auf "Neuer Ordner"? Wenn du Gothic in z.B. C:ProgrammeGothic installiert hast wird nur in C:ProgrammeGothic_WORKDATATEXTURES und den Unterverzeichnissen nach Texturen gesucht. "C:ProgrammeGothicNeuer Ordner_WORKDATATEXTURES" wird ignoriert. Man kann zwar den texturpfad in der mod-name.ini-Datei verändern aber dann weigert sich Gothic konsequenterweise die Orginaltexturen zu finden.

Ich hab alle Texturen in einem Rutsch von ZTEX ins .tga-Format konvertieren lassen, ist aber eigentlich nur dann nötig wenn man Levlemeshes bearbeitet oder auf hirnrissigen Gründen alle Vobs einzeln rendern will. Wenn die Konvertierung tga=>tex via GoMan klappt sollte Gothic eigentlich auch mit der Tetxur klar kommen(zumindest wenn Gothic die Textur finden kann)
18.07.2002, 15:43 #9
Timothy
Beiträge: 404

Nein das hast du falsch verstanden, "neuer Ordner" ist die mod directory in der sich der mod Pfad befindet. Diesen Ordner habe ich mit Nicos vdfs Tool als mod erstellt. Aber ich denke darin liegt nicht der Fehler aber ich bin schon einen Schritt weiter Die Gesichtstextur, die Bodytextur und die Rüstungstextur funktionieren problemlos. Andere Texturen gehen auch, nur bei Monstern bleibt alles beim alten.
18.07.2002, 20:19 #10
NicoDE
Beiträge: 1.398

versuch's ohne Leerzeichen im Pfad (ab root)

- nico
02.08.2002, 14:37 #11
Timothy
Beiträge: 404

Bin wieder daheim ausm Urlaub.
Wo soll ich kein Leerzeichen setzen??? ab root?
02.08.2002, 17:12 #12
NicoDE
Beiträge: 1.398

'neuer ordner' -> 'NeuerOrdner' oder 'Neuer_Ordner'

- nico
03.08.2002, 22:46 #13
Timothy
Beiträge: 404

Achso
Ich hatte jetzt einen Denkfehler. Ich dachte bei den Scripts...


Werds ausprobieren obwohl ich nicht glauben kann dass es damit etwas zu tun hat, zumal ausser dem Monster alles einwandfrei funktioniert.
09.08.2002, 23:29 #14
Timothy
Beiträge: 404

Daran lags auch nicht. (Hab im Moment Probleme online zu kommen deswegen dauert es immer etwas: Arbeite aber dran)

Also ich galubich gebs auf. Langsam reichts echt. Nichts klappt mehr. Jetzt sind die Wölfe plötzlich unsichtbar und ich kann nicht mehr in Betten übernachten.
Seite 1 von 1  1