|
Le HAKPAK
[attention, ce fichier n'est la que pour expliquer GROSSIEREMENT ce qui se passe, pour aider a visualiser, et comprendre ce qui est en jeu. Puristes, passez votre chemin, le reste de ce texte est une heresie] Le hakpak : definition NeverWinter Nights est un jeu de rôle prévu pour pouvoir être joué de la même façon qu'un JdR sur table. C'est sa fonction première. Il est donc prévu qu'un maitre du jeu puisse créer comme bon lui semble ses aventures pour ses joueurs, et ce, a partir du ToolSet Aurora livré avec. Mais parfois, un maitre du jeu va vouloir ajouter des monstres qui ne sont pas dans le mode solo de NeverWinter, ou bien ajouter des sorts. Ca peut aussi permettre de modifier les musique, puisse que la musique d'ambiance et toujours essentielle dans un JdR. Cela peut permettre aussi de rajouter des nouveaux visages, pour singulariser des PnJ importants, ou pour les joueurs, tout simplement. Enfin, ca peut servir a creer de nombreux items, (equipement, ou arme). En bref, cela va permettre de rajouter du "materiel" pour le toolSet Aurora afi que chaque Mj puisse personnaliser ses parties comme pour chaque partie JdR papier qu'il a l'habitude de faire. A noter que le hakpak n'est en gros qu'une facon de compresser ce que l'on va rajouter, un peu comme un .zip, mais utilisable seulement pour le jeu. Créer un HakPak Je ne rentrerait pas trop dans le detail, vu que comme je le precisait, c'est un peu comme de faire une compression de fichier. L'outil pour créer un hakpak se trouve dans le dossier utils de NeverWinterNights. Cet outil suffit amplement pour créer la plupart des hakpak. Au dessus de 9000 fichier, toutefois, on remarque que l'application declare avoir fini son travail alors que des processus tournent encore qui l'emploie : en effet, le NWHak retourne parfois sans avoir completement fini, ce qui fait que si vous fermez, vous interrompez la sauvegarde en cours, et donc corrompez le hakpak. Encore une fois, c'est assez rare, et ne se produit que sur des hakpak tres consequent, mais il faut le savoir, c'est pourquoi on utilise souvent le NwNPacker. Le principe est assez simple : vous selectionnez les fichier que vous voulez ajouter, et vous les integrez dans le hakpak. Puis vous sauvegardez. Et voila... Comment fonctionne un HakPak Afin de bien utiliser le hakpak, il est necessaire de comprendre comme cela marche, dans la theorie (rien de technique ici) On va donc regarder comment fonctionne les modification dans NwN, puis l'incidence entre le dossier override et les Hakpak. Modifier l'existant dans NwN En fait, dans NeverWinter, il est possible d'ajouter ou de modifier des fichier du jeu, et ce, a loisir. Imaginons que, doués pour la 3D, et fatigué de voir les orcs avec les dents pointues et le look un peu "propret" de NwN, vous souhaitiez changer leur apparence. Pour modifier un fichier existant, il suffit de connaitre son nom, puis de l'extraire avec le nwexplorer. Une fois extrait, il va falloir le modifier avec les logiciels tiers idoines (photoshop / 3DSMax et autres). Comment integrer ses modification dans le jeu ? Il suffit simplement de placer le fichier dans le dossier override de votre NwN pour que la modification soit prise en compte. Essayez, par exemple, de mettre votre orc fait main dans le dossier override, puis lancer le toolset, et confirmer que maintenant, l'orc de base de NwN possede le nouveau visage que vous lui avez donné. Pourquoi cela ? En fait, quand le jeu se lance, il charge en memoire toute ses tables de reference, puis il charge les apparence qui sont dans le .bif (le fichier de source), puis enfin, il charge l'override. Comme dans l'override, il existe un fichier avec le même nom que quelque chose de deja chargé en memoire, il effectue un remplacement de ce dernier, plutot qu'un ajout. En gros, le dossier override va agir comme un calque appliqué sur les données du fichier source, et ce qui existe deja sera donc remplacé par ce qui est dans le override. Citation :
Citation :
Citation :
En fait, c'est plus proche de quelque chose comme ca : Le jeu se lance, il fait le tour des fichier de reference, et charge en memoire se qui se trouve dans le fichier Source, sauf si une reference correspond dans le dossier override, dans ces cas la, il prendra ce dernier. Citation :
il existe un fichier qui repertorie toutes les apparences des monstres possibles. Pour simplifier, je vais vous montrer juste deux ou trois colones de ce fichier, mais il en possède plus. Imaginons, donc, pour l'exemple, un fichier avec juste les ligne qui nous interesse : Code:
ApparenceID Label ApparenceModel 53 Orc nw_orc_de_bioware.mdl Cette info est un chiffre qui fais reference au fichier dont nous parlions avant. Donc, pour chaque orc en jeu, on a une reference chiffrée qui dit : si le joueur voit un orc, utilise le modele 3D N°53. Le jeu chez le client va aller voir dans le fichier de reference ce qui correspond a 53, et l'afficher. Ici, donc, le jeu va afficher le fichier "nw_orc_de_bioware.mdl" comme model 3D pour les orcs. (le label ne sert qu'a lire la table, il n'est pas utilisé en jeu dans notre exemple, ni en general, d'ailleurs). Or, en mettant un fichier "nw_orc_de_bioware.mdl" different dans le dossier Override, vous indiquez au moteur du jeu qu'il doit afficher le votre a la place de celui present dans les fichier source de NwN. Le moteur ne se trompe pas : il va voir dans le fichier de reference, regarde ce qu'il doit afficher, puis va chercher dans override s'il existe une reference idone, et sinon, il va chercher dans les sources. C'est donc bien le votre qui s'affiche. Dans le cas ou vous ajoutez juste un nouveau modele 3D dans le dossier override, vous n'avez pas acces a la forme crée car il n'existe pas de reference dans le fichier de reference des monstres qui pointe vers votre nouveaute. Pour ajouter un nouveau monstre, il va donc falloir creer une nouvelle apparence, et la referencer (ca tombe bien, on a deja fais le monstre, y'a plus qu'a referencer ) Comme pour la modification, on va aller chercher dans les sources les fichier de references utilisés, puis les exporter pour les modifier, et enfin les mettre dans le Override. On va donc avoir, dans le dossier override, 2 fichier : le modele 3D "orc_custom_a_moi.mdl" et le fichier de reference (qui s'apelle "apparence.2da") on va modifier le fichier "apparence.2da" pour y integrer les valeurs qui nous interesse : une nouvelle reference unique qui pointe vers notre nouveau modele 3D Code:
ApparenceID Label ApparenceModel ... ... ... 53 Orc nw_orc_de_bioware.mdl 54 Orc_A_nez_plat orc_custom_a_moi.mdl Dans tous les cas, et pour tout, il conviendra donc de verifier s'il existe un fichier de reference (terminaison .2da) qui corresponde a ce que l'on veut modifier, et le modifier aussi. Citation :
Repennons le deroulement de l'affichage de votre nouveau modele d'orc, que vous avez mis dans un hakpak : Le jeu indique au client qu'il doit afficher la forme N°53. Le client regarde dans le hakpak s'il possede un fichier de reference "apparence.2da" - Soit il y en a un, et dans ce cas, le client va afficher le modele 3D identifié en 53e - Soit il n'y en a pas, et le moteur va chercher dans le repertoire override : *Il existe un fichier de reference dans le dossier override : il selectione le modèle 3D qui s'y trouve. *Ou bien il n'y a pas de fichier de reference, et il va pointer dans les sources. Une fois la reference du modele 3D à afficher selectionnée, il va se passer la même chose : - Soit il y a un "nw_orc_de_bioware.mdl" dans le hakpak du jeu, et il affiche celui la - Soit il n'y en a pas, et donc il va afficher *le modele present dans le dossier override s'il existe *ou bien le modele present dans les sources. Voila qui, j'espere clarifie un peu le fonctionnement du hakpak (encore une fois, c'est grossier, et surtout pour avoir une idée du "comment", ce qui va permettre de passer a la suite...) Fusionner 2 hakpak Une question qui reviens plus souvent, est d'apprendre a fusionner hakpak. C'est une opération assez facile, mais les explications données sont souvent plus dure a comprendre qu'a appliquer. Autre chose, je conseille à tous de lire la partie sur le fonctionnement du hakpak pour comprendre ce que l'on va faire. Citation :
et que vous le mettiez dans un dossier. Puis vous ouvrez le deuxieme, et vous le videz dans le même dossier : S'il existe des fichier commun, votre OS va vous indiquer qu'il y a un doublon, et va vous demander de choisir, car il ne peut pas gerer 2 information identique et differentes en même temps. Vous allez donc choisir un des deux fichier en doublon, et vous allez ecraser le moins prioritaire avec celui qui l'es plus. Dans le cas de multiple hakpak, c'est pareil. Imaginons que je veuille ajouter un Elephant Rose et une Tortue Pirate(et sa jambe de bois) dans mon module.. Chacun se trouve dans un hakpak que j'ai telechargé Voici donc le hakpak 1 : - Un modele 3D "elephant_rose.mdl" et un fichier de reference "apparence.2da" comme suit : Code:
ApparenceID Label ApparenceModel ... ... ... 751 ElpehRose elephant_rose.mdl Code:
ApparenceID Label ApparenceModel ... ... ... 751 Turtle tortue_pirate.mdl Le jeu fais donc un choix entre les deux, par ordre de priorité (que vous pouvez choisir dans les propriete du module) Il va donc falloir improviser un peu, afin d'avoir un resultat satifaisant. le mieux, c'est d'exporter le contenu du Hakpak1 et du hakpak2 dans un dossier, et de regarder la ou ca doublonne, puis de dedoublonner. ici, par exemple, le fichier de reference ne va pas passer. il va donc falloir creer un fichier de reference unique avec les 2. pour cela, on va regarder ce qui differe dans le apparence.2da du hakpak1 pour le rajouter dans le apparence.2da du hakpak2. Quelque chose comme ca : (copier / coller des lignes differentes) Code:
ApparenceID Label ApparenceModel ... ... ... 751 ElpehRose elephant_rose.mdl 751 Turtle tortue_pirate.mdl Une dernier chose a faire, bien evidemment, c'est de dedoublonner les colonnes identique, pour être bien tranquile. Ca nous donne ceci : Code PHP:
- Le nouvel "apparence.2da" fraichement crée, qui va posseder les 2 references ajoutées, et donc pouvoir tout gerer. - le modèle 3D "elephant_rose.mdl" - le modèle 3D "tortue_pirate.mdl" On sauvegarde ce 3e hakpak, on le met a la place des 2 autres dans les propriete du module, on sauve, on re-ouvre le toolset, et la : Oui, tout est bien la C'est donc assez difficile pour un neophite, mais le principe est simple. Le plus dur etant de savoir si l'on a bien modifié les references en plus de fichier que l'on rajoute. |
17/11/2003, 17h59 |
|
Aller à la page... |
Le HakPak
Suivre Répondre |
|
Partager | Rechercher |
Camelia d'Oriel |
Voir le profil public |
Trouver plus de messages par Camelia d'Oriel |
Camelia d'Oriel |
Voir le profil public |
Trouver plus de messages par Camelia d'Oriel |
Camelia d'Oriel |
Voir le profil public |
Trouver plus de messages par Camelia d'Oriel |
|
Un hakpack qui ne te plait plus se supprime dans le dossier hak (et non dans le dossier override). Attention aux éventuels soucis sur le module où tu l'utilisais.
|
29/11/2005, 11h44 |
|
|
Ok merci beaucoup !!!!!!!!
|
26/03/2006, 17h24 |
|
Benoit34
Invité
|
Tu veut pas venir ché moi me l'installer ?
Ca serait cool !
|
17/09/2006, 00h01 |
|
Benoit34 |
Roi / Reine
|
et donc si j'ai bien compris, en gros, on prend des monstres, on les "relook" et on les remet et on a des monstres comme on le veut c'est ça?
|
30/11/2009, 17h15 |
|
|
Edit : Autant pour moi, j'ai résolu mon problème
|
23/04/2010, 16h12 |
|
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|