PDA

Visualizza versione completa : [Gothic 2] Creare una nuova armature e gestire texture



Frank-95
21-01-2012, 15.31.40
Salva tutti.

Non so se questa richiesta è già stata fatta ma non posso metermi a cercare per tutte le 50 e pasa pagine del topic tutto mods e utilizzando al funzione cerca e inserendo textures escono fuori troppi risultati.

Allora.
Da un pò di tempo volevo fare un piccola mo per gothic 2 molto seplice inserendo semplicemente alcuni armature e texture nuove. Ho capito che creare un'armatura da xero è molto difficile per via che bisognerebbe creare anche i file in 3d statice e animati. Inizialmente quindi rinunciai. Ho visto poi alcune armature nuove sul vostro ito e mi sono subito piaciute solo che la mod in questione permette solo di sottuirle a quelle già esistenti. Allora ho deciso di aggiungercene di nuove da solo sfruttando i modelli 3d già fatti di default nel gioco e queste texture (ovviamente citerò la fonte).

ho scoperto che la cosa non è molto difficile solo he non ho capito come far in modo che la nuova instanza dell'armature richiami l texture che scelgo. Vi faccio un esempio pratico mettendo che vorrei aggiungere da quella mod la veste del fuoco sacro. Allora creo l'instanza con in più le funzioni equip() e unequip():



const int VALUE_ITAR_KDF_Sacred = 8000

instance ItAr_KDF_Sacred(C_Item)
{
name = "Sacred Fire Robe";
mainflag = ITEM_KAT_ARMOR;
flags = 0;
protection[PROT_EDGE] = 120;
protection[PROT_BLUNT] = 100;
protection[PROT_POINT] = 100;
protection[PROT_FIRE] = 90;
protection[PROT_MAGIC] = 70;
value = value_itar_kdf_sacred;
wear = WEAR_TORSO;
effect = "SPELLFX_FIREARMOR";
visual = "ItAr_KdF_H.3ds";
visual_change = "Armor_Kdf_H.asc";
visual_skin = 0;
material = MAT_LEATHER;
on_equip = Equip_ITAR_KDF_Sacred;
on_unequip = UnEquip_ITAR_KDF_Sacred;
description = name;
text[1] = NAME_Prot_Edge;
count[1] = protection[PROT_EDGE];
text[2] = NAME_Prot_Point;
count[2] = protection[PROT_POINT];
text[3] = NAME_Prot_Fire;
count[3] = protection[PROT_FIRE];
text[4] = NAME_Prot_Magic;
count[4] = protection[PROT_MAGIC];
text[5] = NAME_Value;
count[5] = value;
};


func void Equip_ITAR_KDF_Sacred()
{
if(Npc_IsPlayer(self))
{
KDFArmor_Equipped = TRUE;
if(KDF01_Equipped == TRUE)
{
self.protection[PROT_EDGE] += BA_Bonus01;
self.protection[PROT_BLUNT] += BA_Bonus01;
self.protection[PROT_POINT] += BA_Bonus01;
self.protection[PROT_MAGIC] += BA_Bonus01;
self.protection[PROT_FIRE] += BA_Bonus01;
};
};
};

func void UnEquip_ITAR_KDF_Sacred()
{
if(Npc_IsPlayer(self))
{
KDFArmor_Equipped = FALSE;
if(KDF01_Equipped == TRUE)
{
self.protection[PROT_EDGE] -= BA_Bonus01;
self.protection[PROT_BLUNT] -= BA_Bonus01;
self.protection[PROT_POINT] -= BA_Bonus01;
self.protection[PROT_MAGIC] -= BA_Bonus01;
self.protection[PROT_FIRE] -= BA_Bonus01;
};
};
};


da quello che ho capito le variabili visual e visul change richiamano rispettivamente il modello 3d statico e dinamico dell'armatura, in questo caso di quella del fuoco pesante e fin qui è semplice. Quello che non ho capito è però che non so dove posso indicargli la texture nuova per l'armatura.
Qualche aiuto?


Una altra cosa imporante. Come mai ci sono 5 valori di protezione per ogni armatura? Non dovrebbero essere quattro spade, frecce, fuoco, magia?



protection[PROT_EDGE] = 120; //spade
protection[PROT_BLUNT] = 100; // e queste due????
protection[PROT_POINT] = 100;
protection[PROT_FIRE] = 90; //fuoco
protection[PROT_MAGIC] = 70; //magia

Noce_di_cocco
22-01-2012, 18.40.34
Edge significa taglio, blunt significa contundente, point ovviamente sono le frecce. Per tutto il resto non ti so aiutare.

Frank-95
24-01-2012, 15.20.12
vedendo invece i file dei mostri hanno addirittura 6 parametri di protezione. oltre a quei 5 hanno pure:

protection[PROT_FLY] = xxx;

bo..


comunque forse ho capito come posso aggiungere una texture ad una armatura nuova. dovrei duplicare il file dei modelli statici e dinamici, rinominarli, aprirli con un programma di modellazione 3d e indicare da lì quale texture aggiungergli. il problema è che nesusn programma legeg i file .mrm o .mdm. ho trovato però un plugin per importare modeli 3ds in blender ora però sorge un altro problema a cu non trovo soluzione s enon quella di isntallare milla mila programmi in più come se ne avessi installati pochi fin ora(una cosa che odio di windows), come goman, gmp, gothic sourcer, blender. E basta!

chi mi riesce a dire un programma/tool per fare cio? perchè devono fare tutto cosi comlicato nei giochi

dovrei usare lo spacer?

Colmar
24-01-2012, 17.17.38
a quanto ne so lo Spacer serve per fare modifiche nel mondo, come aggiungere ad es. una staccionata a Khorinis...
avevi provato a guardare questa guida (http://www.gothicitalia.it/modding.aspx/articolo/guida-al-modding-parte-1) su Gothic Italia? mi sembra che uno dei punti affrontasse proprio la questione dei modelli-texture, ti consiglio di guardarla

Frank-95
24-01-2012, 21.12.59
si avevo visto purtroppo però goman converte solo i file da .tex a qualsiasi altro formato. i file .mrm non riesce a gestirli

comunque ho avuto la conferma da quella guida che le texture vengono indicate nei modelli 3d quindi ora il problema è come faccio ad estrarre i file .3ds e .asc da i file .mrm e .mdm

Frank-95
03-02-2012, 14.59.07
ok penso di aver fatto tutto giusto. Per favore potete controllare se ho sbagliato qualcosa?

ho scaricato i file .asc da world of gothic
ho scaricato un .mrm/.mdm/.3ds/.asc importer/exporter (krkimpexp) per blender
ho creto la cartella che conterrà ogni file della mod
ho spostato la texture del Paldino Oscuro in Gothic Mod/_work/data/textures/compiled con il nome di DARK_PALADIN-C.TEX (convertito da .tga grazie a goman)
ho aperto il file .asc con blener.
ho modificato queste (http://imageshack.us/photo/my-images/51/provaz.png/) linee con queste (http://imageshack.us/photo/my-images/341/prova2lh.png/) (click sulla foto per zoommare)
ho esportato l'armature e messa in Gothic Mod/_work/data/anims/compiled
ho importato la mesh del paladino e, sperando che avrebbe funzionato, sostituita la texture di questa con al stessa etxture appena usata per l'armatura in movimento

Grazie molte.