Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Results 1 to 12 of 12
  1. View Forum Posts #1 Reply With Quote
    Drachentöter Zaphod Beeblebrox's Avatar
    Join Date
    Aug 2008
    Posts
    4,628
     
    Zaphod Beeblebrox is offline

    [Tutorial] Monster Ändern

    Die Frage, wie man einem neuen Monster eine neue Textur zuweist und Atribute ändert wird sehr häufig gestellt.
    Es gibt nun verschiedene Möglichkeiten, Veränderungen vor zu nehmen. Ich beschreibe nun eine Möglichkeit.

    Grundvoraussetzung ist ein installiertes Modkit mit Animationsdaten.

    Das im ersten Moment komplizierte und komplexe daran ist, dass die Daten in compilierter Version vorliegen und man damit
    nicht direkt arbeiten kann.

    Der erste Schritt ist also, die erforderlichen Daten zu decompilieren. Dazu nimmt man den GothicSourcer.
    Um die original Daten nicht zu gefährden, empfehle ich, dass man sich als erstes eine Kopie des
    _work\data\Anims Ordners erstellt. Falls was schief läuft, hat man eine Kopie und das erspart einem
    das Modkit neu zu installieren.

    Animationen Decompilieren

    GothicSourcer downloaden installieren und Starten.
    Im Tools Menü wählen wir : Decompiler models, Dynamic (MDS or MSB) oder drücken strg+F8
    Select of model : hier wählen wir das gewünschte Monster aus, in dem Fall des Wolfes also im _work\data\Anims\_compiled Ordner die WOLF.MSB
    Working directory : hier geben wir einen Ordner an, wo der GothicSourcer die decompilierten Daten erzeugen soll.
    Platform : Gothic 2

    mit OK bestätigen. Danach decompiliert der GothicSourcer die Animationsdaten und erstellt im Working directory Ordner einen neuen Ordner
    mit dem Namen : asc_wolf. Darin befinden sich nun alle ASC Dateien und auch eine MDS Datei.

    Diesen Ordner kopieren wir nun in den _work\data\Anims\ Ordner. Leider unterscheidet sich die erzeugte MDS von der original MDS. Warum
    das so ist weiß ich nicht. Diese MDS ist nach meiner Erfahrung nicht 100% kompatibel. Am Besten benennt man diese um z.B. in WOLF.MDS_GS

    Die original MDS befindet sich im _work\data\Anims\ Ordner und nur die ist kompatibel zum installiertem Modkit.

    Die erste Hürde ist nun genommen und man kann nun Veränderungen vornehmen.

    Da wir ja einen veränderten Wolf erstellen wollen und den original Wolf in der Regel unverändert lassen wollen,
    kopieren wir nun im _work\data\Anims\asc_wolf Ordner die WOL_BODY.ASC und benennen sie in z.B. WOL_BODY_NEU.ASC um.
    Nun hat man eben zwei BODY.ASC. Die neue Body Mesh muss nun in der _work\data\Anims\Wolf.mds registriert werden.
    Dazu öffnet man die Wolf.mds und ergänzt diese um folgenden Eintrag : registerMesh ("Wol_Body_NEU.ASC") -> siehe Wolf.mds


    Textur Verändern

    Die Texturen der Monster findet man hier : _work\data\Textures\NPCs\Monster

    Wir öffnen nun die Wol_Body_V0.tga mit einem beliebigem Grafikprogramm wie z.B. Gimp, verändern nach belieben
    die Textur und speichern die veränderte Textur mit neuem Namen als 24 Bit TGA wieder ab, z.B. Wol_Body_NEU.tga

    Jetzt weisen wir der neu erstellten ASC, also der WOL_BODY_NEU.ASC diese neue Textur zu.
    Dazu öffnen wir die WOL_BODY_NEU.ASC mit einem beliebigen Texteditor und ändern die Zeile 34 folgendermaßen um :

    original : *BITMAP "WOL_BODY_V0.TGA"
    neu : *BITMAP "Wol_Body_NEU.TGA"


    Scripte Verändern

    Die Monster Scripte befinden sich hier : _work\data\Scripts\Content\Story\NPC\Monster

    Wir öffnen nun die MST_Wolf.d

    Man muss nun nicht immer einen neuen PROTOTYPE erstellen. Das ist eigentlich nur dann nötig, wenn man
    ein grundlegendes neues Monster erstellen will z.B. aus einem Wolf einen friedlichen Wachhund mit
    neuer oder anderer Gilde und z.B. anderem Verhalten (Fighttaktik) machen möchte.

    Für reine Textur und Attributs Änderungen reicht eine neue INSTANCE völlig aus.

    Da der neue Wolf eine neue Textur und einen neuen Body hat, erstellen wir eine neue Visuals Funktion.
    Dazu kopieren wir die vorhandene und benennen sie um.

    Code:
    // original :
    
    func void B_SetVisuals_Wolf()
    {
    	Mdl_SetVisual			(self,"Wolf.mds");
    	//								Body-Mesh		Body-Tex	Skin-Color	Head-MMS	Head-Tex	Teeth-Tex	ARMOR
    	Mdl_SetVisualBody		(self,	"Wol_Body",		DEFAULT,	DEFAULT,	"",			DEFAULT,  	DEFAULT,	-1);
    };
    
    
    // neu erstellte :
    
    func void B_SetVisuals_Wolf_NEU()
    {
    	Mdl_SetVisual			(self,"Wolf.mds");
    	//								Body-Mesh		Body-Tex	Skin-Color	Head-MMS	Head-Tex	Teeth-Tex	ARMOR
    	Mdl_SetVisualBody		(self,	"Wol_Body_NEU",		DEFAULT,	DEFAULT,	"",			DEFAULT,  	DEFAULT,	-1);
    };
    in der Mdl_SetVisualBody geben wir nun die neue Body-Mesh an.

    nun können wir einer neuen Wolf INSTANCE dieses veränderte Visual zuweisen :

    Code:
    //**********************************************
    //   neuer Wolf  
    //*********************************************
    
    INSTANCE Wolf_Neu   (Mst_Default_Wolf)
    {
    
       B_SetVisuals_Wolf_NEU();
       Npc_SetToFistMode(self);
    
       name                     =   "neuer Wolf";
       level                     =    18;      
       //für Inventory
       aivar[AIV_MM_REAL_ID]         =    ID_WOLF;
       //----- Attribute ----
       attribute   [ATR_STRENGTH]      =   40;
       attribute   [ATR_DEXTERITY]      =   40;
       attribute   [ATR_HITPOINTS_MAX]   =   120;
       attribute   [ATR_HITPOINTS]      =   120;
       attribute   [ATR_MANA_MAX]       =   0;
       attribute   [ATR_MANA]          =   0;
       
       //----- Protections ----
       protection   [PROT_BLUNT]      =   30;
       protection   [PROT_EDGE]         =   30;
       protection   [PROT_POINT]      =   15;
       protection   [PROT_FIRE]         =   40;
       protection   [PROT_FLY]         =   40;
       protection   [PROT_MAGIC]      =   15;
       
    
       Npc_SetToFistMode(self);
       CreateInvItems (self, ItFoMuttonRaw, 2);
       CreateInvItems (self, ItAt_SchwarzwolfFur, 1); 
    };
    Um den neu erstellten Wolf zu Testen, löscht man im _work\data\Anims\_compiled Ordner die WOLF.MSB. Die Gothic Engine
    erstellt nun beim Starten automatisch die fehlenden Animationen anhand der ASC,MDS,TGA Dateien.

    Danach starten wir das Spiel und geben im Marvinmode insert wolf_neu ein.
    Beim ersten insert kann es sein, das noch die normale Textur angezegt wird. In diesem Fall einfach nochmal
    Gothic starten und nochmal inserten.

    Wenn man nun die Textur ändern will, muss man im _work\data\Textures\_compiled Ordner die WOL_BODY_NEU-C.TEX löschen.
    Beim nächsten Start wird diese neu compiliert. Das gleiche gilt für eventuell veränderte Animationen. Dazu löscht man
    die dementsprechende MSB Datei.

    alle Dateien :

    http://simple-creators.de/medien/tut/Monster_Ändern.rar
    Last edited by Zaphod Beeblebrox; 13.01.2010 at 15:18.

  2. View Forum Posts #2 Reply With Quote
    now also in your universe  Milky-Way's Avatar
    Join Date
    Jun 2007
    Posts
    14,047
     
    Milky-Way is online now
    Schön.

    Kannst Du vielleicht noch den Code in
    [CODE] hier den Code [/CODE]
    packen?

  3. View Forum Posts #3 Reply With Quote
    Schwertmeister Xyklon's Avatar
    Join Date
    Sep 2009
    Location
    Da,wo du wahrscheinlich nicht wohnst ;)
    Posts
    973
     
    Xyklon is offline
    Ehm danke aber ich habe ein Problem,ich raffe das mit der Textur net,also wenn ich den Wolf inserte sieht es so aus
    Spoiler:(zum lesen bitte Text markieren)


    Also meine Textur heißt DWOL_BODY_V1-C.TEX ich hab auch die DWOL_BODY_V1.tga,aber was soll ich nun eintragen damit ich die Textur sehe?

    Hier noch der Wolfscript :
    Code:
    PROTOTYPE Mst_Default_DWolf(C_Npc)			
    {
    	//----- Monster ----
    	name							=	"Druidenwolf";
    	guild							=	GIL_WOLF;
    	aivar[AIV_MM_REAL_ID]			= 	ID_DWOLF;
    	level							=	6;
    	
    	//----- Attribute ----
    	attribute	[ATR_STRENGTH]		=	50;
    	attribute	[ATR_DEXTERITY]		=	30;
    	attribute	[ATR_HITPOINTS_MAX]	=	80;
    	attribute	[ATR_HITPOINTS]		=	60;
    	attribute	[ATR_MANA_MAX] 		=	0;
    	attribute	[ATR_MANA] 			=	0;
    	
    	//----- Protections ----
    	protection	[PROT_BLUNT]		=	45;
    	protection	[PROT_EDGE]			=	45;
    	protection	[PROT_POINT]		=	0;
    	protection	[PROT_FIRE]			=	30;
    	protection	[PROT_FLY]			=	30;
    	protection	[PROT_MAGIC]		=	0;
    
    	//---- Damage Types ----
    	damagetype 						=	DAM_EDGE;
    //	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;
    
    	//----- Kampf Taktik ----
    	fight_tactic	=	FAI_WOLF;
    	
    	//----- Senses & Ranges ----
    	senses			= 	SENSE_HEAR | SENSE_SEE | SENSE_SMELL;
    	senses_range	=	PERC_DIST_MONSTER_ACTIVE_MAX;
    	
    	aivar[AIV_MM_ThreatenBeforeAttack] = TRUE;
    	aivar[AIV_MM_FollowTime]	= FOLLOWTIME_LONG;
    	aivar[AIV_MM_FollowInWater] = TRUE;
    	aivar[AIV_MM_Packhunter]	= TRUE;
    
    	//----- Daily Routine ----
    	start_aistate				= ZS_MM_AllScheduler;
    
    	aivar[AIV_MM_RoamStart] 	= OnlyRoutine;	
    };
    
    
    //************
    //	Visuals
    //************
    
    
    func void B_SetVisuals_DWolf()
    {
    	Mdl_SetVisual			(self,"Wolf.mds");
    	//								Body-Mesh		Body-Tex	Skin-Color	Head-MMS	Head-Tex	Teeth-Tex	ARMOR
    	Mdl_SetVisualBody		(self,	"DWol_Body",		DEFAULT,	DEFAULT,	"",			DEFAULT,  	DEFAULT,	-1);
    };
    
    
    //************
    //	Druidenwolf    	
    //************
    
    INSTANCE DWolf	(Mst_Default_DWolf)
    {
    	B_SetVisuals_DWolf();
    	Npc_SetToFistMode(self);
    	CreateInvItems (self, ItFoMuttonRaw, 2);
    };
    Und ausserdem muss man doch auch noch die NPCs Liste und die Funcs Liste verändern
    http://forum.worldofplayers.de/forum/forumdisplay.php?f=581
    Last edited by Xyklon; 13.01.2010 at 17:23.

  4. View Forum Posts #4 Reply With Quote
    Drachentöter Zaphod Beeblebrox's Avatar
    Join Date
    Aug 2008
    Posts
    4,628
     
    Zaphod Beeblebrox is offline
    Der Wolf hat die Standard Stein Textur. Diese wird immer dann genommen, wenn die eigentliche Textur nicht gefunden wird.

    hast du den asc_wolf Ordner in das Anims Verzeichnis kopiert und in der DWol_Body.asc auch die DWOL_BODY_V1.tga eingetragen ?

  5. View Forum Posts #5 Reply With Quote
    Schwertmeister Xyklon's Avatar
    Join Date
    Sep 2009
    Location
    Da,wo du wahrscheinlich nicht wohnst ;)
    Posts
    973
     
    Xyklon is offline
    Ja.

    Das steht da *BITMAP "DWOL_BODY_V1.TGA"
    http://forum.worldofplayers.de/forum/forumdisplay.php?f=581

  6. View Forum Posts #6 Reply With Quote
    now also in your universe  Milky-Way's Avatar
    Join Date
    Jun 2007
    Posts
    14,047
     
    Milky-Way is online now
    Guck mal, ob im _compiled Ordner eine -C.TEX von Deiner neuen Textur ist.

  7. View Forum Posts #7 Reply With Quote
    Schwertmeister Xyklon's Avatar
    Join Date
    Sep 2009
    Location
    Da,wo du wahrscheinlich nicht wohnst ;)
    Posts
    973
     
    Xyklon is offline
    Also ich hab die -C.Tex da schon vorher drin gehabt!

    Sollte die in dem ich bei Bitmap DWOL_BODY_V1 erstellt werden?(Wenn ja dann wurde da keine erstellt)

    So hab mal die -C.Tex entfernt und nun ist da nur noch die TGA drin(screen1.PNG)
    http://forum.worldofplayers.de/forum/forumdisplay.php?f=581
    Last edited by Xyklon; 13.01.2010 at 17:40.

  8. Visit Homepage View Forum Posts #8 Reply With Quote
    Knight Commander jesus123's Avatar
    Join Date
    Jan 2007
    Posts
    2,278
     
    jesus123 is offline
    die tga kommt nicht in den compiled-ordner! das macht gothic dann automatisch. die tga muss in den ordner textures\npc\monster\.

  9. View Forum Posts #9 Reply With Quote
    Schwertmeister Xyklon's Avatar
    Join Date
    Sep 2009
    Location
    Da,wo du wahrscheinlich nicht wohnst ;)
    Posts
    973
     
    Xyklon is offline
    Ist sie ja,aber es klappt net(hab die tga in compiled gelöscht)

    Muss man vllt Texturen konvertieren?
    http://forum.worldofplayers.de/forum/forumdisplay.php?f=581

  10. View Forum Posts #10 Reply With Quote
    Ritter Wunddorn's Avatar
    Join Date
    Aug 2008
    Posts
    1,632
     
    Wunddorn is offline
    Allerdings. Eigendlich macht Gothic das alleine ausser (!) die Datei enthält eine Zahl. Du kannst die TGA.-Datei nun manuell mit GoMan ins TEX-Format bringen, oder du nennst deine TGA erst noch einmal um (ohne Zahl!) und lässt die von Gothic kompilieren.

    !Wenn du das mit GoMan machst, wird die Textur aus der Entfernung so komisch verpixelt aussehen!

  11. Visit Homepage View Forum Posts #11 Reply With Quote
    Clockwork Origins Bonne6's Avatar
    Join Date
    Jun 2004
    Location
    Erlangen
    Posts
    11,682
     
    Bonne6 is offline
    In der .asc am besten V0 angeben und die Textur entsprechend umbenennen, weiß nicht, ob dann automatisch compiliert wird, jedenfalls sonst NICHT mit GoMan, sondern lieber im Spacer (anderen Namen geben, Mesh öffnen, Textur laden (einfach bei Trash bei irgendeiner Textur die Textur angeben und auf Apply drücken), Spacer schließen, Textur entsprechend benennen (-C am Ende natürlich lassen) und fertig).

  12. View Forum Posts #12 Reply With Quote
    Ritter Electricity's Avatar
    Join Date
    May 2009
    Location
    Oldenburg
    Posts
    1,767
     
    Electricity is offline
    Gutes Tutorial! Vielleicht werde ich mich jetzt auch mal an dem ein oder anderen Monster versuchen...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide