Deprecated: Function split() is deprecated in /home/www/8cb5e056f5533be2469533e73028ba59/web/w/skins/GuMaxDD.php on line 497
Tutoriaux modding de Soifran

De Fallout Wiki.

Aller à : Navigation, rechercher

Sommaire

Commencer a Modder dans Fallout2

Pour modder, il vous faut:

  • Fallout 2 d'installer, non patch√© √† forciori et en version compl√®te ( √† verifier cependant)
  • Le mapper officiel d'interplay. disponible dans la section download: T√©l√©charger le mapper officiel

La première chose a faire est d'installer le mapper comme indiqué ci-après:

Installation et paramétrage du mapper

Ci joint le paramétrage a mettre dans le fichier mapper2.cfg
Vous devez installer le mapper dans le répertoire d'installation de votre fallout 2.
exemple:
F:\Program Files\BlackIsle\Fallout2\Fallout 2 Mapper

-Remplacez intégralement le fichier.
-En souligné il s'agira de mettre votre chemin de répertoire d'installation de Fallout2
-En italique le chemin de votre cd-rhum

[debug]
mode=environment
output_map_data_info=0
show_load_info=0
show_script_messages=0
show_tile_num=0
[mapper]
default_f8_as_game=1
fix_map_inventory=0
fix_map_objects=0
ignore_rebuild_errors=0
librarian=1
override_librarian=0
rebuild_protos=0
run_mapper_as_game=0
save_text_maps=0
show_pid_numbers=0
sort_script_list=1
use_art_not_protos=0
[preferences]
brightness=1.000000
combat_difficulty=1
combat_looks=0
combat_messages=1
combat_speed=0
combat_taunts=1
game_difficulty=1
item_highlight=1
language_filter=0
mouse_sensitivity=1.000000
player_speedup=0
running=0
subtitles=0
target_highlight=2
text_base_delay=3.500000
text_line_delay=1.399994
violence_level=3
[sound]
cache_size=448
device=-1
dma=-1
initialize=1
irq=-1
master_volume=22281
music=1
music_path1=F:\Program Files\BlackIsle\Fallout2\data\sound\music\
music_path2=I:\data\sound\music\
music_volume=22281
port=-1
sndfx_volume=22281
sounds=1
speech=1
speech_volume=22281
[system]
art_cache_size=261
cdlock=i:\cdlock.dat
color_cycling=1
critter_dat=F:\Program Files\BlackIsle\Fallout2\critter.dat
critter_patches=F:\Program Files\BlackIsle\Fallout2\data
cycle_speed_factor=1
executable=mapper
free_space=0
hashing=1
interrupt_walk=1
language=french
master_dat=F:\Program Files\BlackIsle\Fallout2\master.dat
master_patches=F:\Program Files\BlackIsle\Fallout2\data
scroll_lock=0
splash=1
times_run=1

Ensuite installer FSE comme indiqué ici:

installation et parametrage de FSE

FSE est un logiciel developpé par Jargo qui permet ni plus ni moins de creer des script pour tout l'univers de fallout.
objet, decors, personnage, etc.
Avec un editeur de dialogue performant.

Pour l'installer,rien de plus simple.
Vous l'installez ou vous voulez.
Une fois fait, lancez le logiciel.
Allez dans le menu edit , option, ou cliquez sur l'icone dans la barre supèrieure , l'avant dernier à droite en forme de marteau de tournevis et de clef.

Vous pouvez selectionner le bouton auto-detect folder, il marche bien, ou entrez vous meme l'endroit ou se trouve le fichier.

A noter que vous devez d'abord avoir installé le mapper dans le repertoire d'installation de fallout 2.

chez moi ca donne ca:

F:\Program Files\BlackIsle\Fallout2\fallout2.cfg

f:\Program Files\BlackIsle\Fallout2\Fallout 2 Mapper\scripts\HEADERS

C:\Program Files\FSE\binary

C:\Program Files\FSE\binary\wcc386.exe

c'est pret a l'emploi.

Image:Fse.gif


En dernier lieu vous devez maintenant creer un répertoire, tres important sous peine de ne
pas pouvoir exploiter toute la puissance du mapper.
Suivez les instructions suivantes:

Création du répertoire de developpement de fallout

C'est l'épine dorsale du système.
On a longtemps galéré avec kinkin à ne pas comprendre pourquoi le
mapper refusait d'enregistrer les nouveaux PNJ.
On se tapait tout le temps le message suivant:
"Error saving prototype"

J'ai d√©couvert r√©cemment d'o√Ļ cela venait.
C'est tout con, mais capital...

Suivez bien a la lettre l'explication suivante:

Je vais prendre mon exemple , suivez bien la procédure, pas à pas, aucune liberté n'est permis dans l'adressage et le parametrage de fallout pour le modding.
Il est ultra susceptible.
J'ai donc installé mon fallout de developpement sur mon disque F.
Dans le repertoire par defaut F:\programs files\blackisle\\fallout2\...
comme suivant:

Image:Flloutinstall.gif

Jusque la, je pense que tout le monde a suivit
C'est a ce point tres précis qu'il va falloir faire extremement attention à ce que j'écris
Alors il faut impérativement que vous créez le dossier suivant A LA RACIIIIINNNNNEEEE du disque dur d'installation de votre fallout de développement.
C'est tres important de bien respecter cette etape.
En effet, le mapper est un vieille outil (meme s'il est encore tres performant) et less programmeurs ont encodés dans son exe un repertoire tampon dont il a besoin lors de la creation d'un nouveau proto.
Ce chemin est codé dans le mapper et non pas dans le .cfg
Le mapper s'attendra donc a trouver un repertoire tampon, creer a la racine du disque ou vous avez
installer le mapper.Si vous ne l'avez pas creer au bon endroit, il vous sortira le fameux message:
"error saving prototype"Dans notre exemple:
F:\fallout2\dev\proto\
Ensuite a l'intérieur du répertoire proto précédemment créé il faut que vous creez les répertoires suivants:

  • critters
  • scenery
  • items
  • walls
  • tiles

De sorte que vous ayez ces 5 repertoires à la racine de
c:\fallout2\dev\proto\ (avec absolument sans rien entre c:\ et fallout2 )
comme ici:

Image:Falloutdev.gif

Je sais que ca porte a confusion dans 11 cas sur 10, mais il faut absolument creer ce repertoire la et son arborescence A LA RACINE...
Je sais j'ai l'impression de me repeter, mais pour l'instant c'est un sans faute.
Tout ceux qui ont tenté l'experience n'ont pas suivit a la lettre le tutoriel et ont créé le repertoire ailleurs...
Ca a l'air con, mais pendant des mois je m'étais obstiné a le mettre comme le mapper dans le répertoire d'installation de fallout...
Grosse erreur.

Vous êtes maintenant prêt a faire vos premières passe d'arme en modding fallout

Je vous propose de rentrer très vite dans le vif du sujet en créant un nouveau PNJ par exemple
et en lui affectant un script embryonaire en cliquant ici:


1er pas en scriptage Fallout 2

Bon voila...une fois qu'on a dit ça ...
Je ne prétends pas etre un cador en scriptage fallout.
Au fur et à mesure de mes tests et de mes recherches j'ai cependant
réussit à faire quelques trucs sympatiques, et surtout, le plus important
commencé à appréhender l'esprit du langage fallout.
Il y a plusieurs façon de commencer à scripter mais j'en ai choisit une que j'aime bien, à savoir, l'apprentissage pas à pas.
Le script est un domaine trés indigeste et je vais essayer au fur et à mesure de nos echanges d'en simplifier un maximum l'apprentissage.
Deux conseils que m'a donné Berth et que je vous redonne.
Ayez tout le temps sous la main ou en tache de fond les lignes de code de fallout.
Vous trouverez la liste dans la traduction Française du mapper dans la
partie download.
Notice du mapper en Français
La deuxième est de connaitre suffisament le jeu pour savoir ou trouver un PNJ ou critters qui fait déjà ce que vous voulez faire.
Dernière chose que je rajouterai.
Allez y par étape.
Ne tentez surtout pas de faire un script a la lynette ou haruken.
vous vous dégouteriez.
Pour notre première leçon, nous allons assimiler la base, la création d'un script vierge de PNJ critter(créature).

  • 1√®reape:

Déclaration d'un nouveau script

Avant de créer un nouveau script, vous devez le declarer au jeu dans 3 fichiers distinct.
Si c'est la 1ere fois que vous faite l'opération, alors extrayez le fichier SCRIPTS.LST avec dat explorer.
dat_explorer
Celui ci se trouve dans data/scripts/SCRIPTS.LST (dansle master.dat). Une fois extrait, il se trouvera dans votre repertoire fallout2:
X:/.../.../fallout2/data/scripts/SCRIPT.LST

Image:001m.jpg

(Ne faites pas attention a mon bordel je travaille )

(edition du 15/09/09)Ce n'est plus du tout la peine de l'éditer à la main.
Si c'est votre premier scritp vous devez avoir la derniere ligne comme suit:
Code:

  • ntRicRom.int ; New Reno Richard Wright Room Spacial # local_vars=1

Allez ensuite renseigner le 2eme fichier important à savoir le fichier SCRIPTS.H présent lui dans le dossier du mapper, donc si vous avez suivit les autres tutoriaux avec succés:
X:_...\...\Fallout2\Fallout 2 Mapper\scripts\HEADERS\SCRIPTS.H

Image:003rox.jpg

(edition du 15/09/09)Ce n'est plus la peine non plus de renseigner quoi que ce soit la dedans.

Extrayez maintenant (la premiere fois seulement) le fichier contenu dans le master.dat et plus précisement dans text/english/game/scrname.msg (situé tout en bas a gauche dans le master.dat).
c'est la nouveauté
Notez que FSE a été developpé pour une version US, donc il fait appelle aux fichier anglais du master.dat.
Mais ceci n'est pas du tout un problème, on verra plus tard.
Vous devez donc vous retrouver avec 3 nouveau fichiers texte dans les repertoires suivant:

  • Scripts.lst dans fallout2/data/scripts/
  • scripts.H dans mapper/scripts/headers/
  • Scrname.msg dans fallout2/data/text/english/game
  • 2√®me etape:

Lancez FSE
correctement parametré suivant les consignes indiquées avant.

Ouvrez un nouveau document comme suivant.(autant partir de zéro)

Image:005xpb.jpg


Vous avez un Script de base, vierge, ou il va vous falloir renseigner juste un élément pour qu'il soit compilable.
le fameux nom de script vers lequel il renvoie.
définir son nom.

Image:006fbp.jpg

Si vous suivez, dans notre exemple il va falloir rentrer le nom ZVETLANA, de sorte à avoir la commande suivante.

    1. define NAME SCRIPT_ZVETLANA

Sauvegardez votre fichier script via l'ic√īne enregistrer sous.
Sauvegardez le dans
X:\...\...\Fallout2\Fallout 2 Mapper\scripts\ARROYO
(pour le moment ce n'est pas tres important de l'enregistrer dans un endroit tres précis).
Cette phase est tres importante car si vous n'enregistrez pas avant de compiler, le programme compilera la version non sauvegardée et donc obsolete.
Vous risquez de ne pas comprendre pourquoi votre script ne réagit pas comme prévu.
Et pour cause, vous n'avez pas enregistrez les modif avant la compilation
Si votre script est à jour, juste a droite du nom de votre script vous verrez une page blanche typique.
Sinon une disquette, signe que des modif ont été faites mais non enregistrée.

(Edition du 15 septembre 2009)
Ajout d'une étape capitale pour ne plus avoir de problème.
Appuyez maintenant sur le bouton script registeration:

Image:Fse001.gif

dans la case scritp name vous mettez le nom de votre script (8 lettres max)
ici ZVETLANA
dans la case description mettez une petite description rapide de votre script pour vous y retrouver.
Ne touchez pas au number of local variable, il renseigne tout seul le bon nombre de variable, notement le fameux N+1.
Validez.
Vous devez avoir ce message qui s'affiche:

Image:Fse002.gif


En fait a ce moment la création du script, le logiciel remplit tout seul les indications nécéssaires dans les fameux 3 fichiers du dessus.

  • Scripts.lst
  • Script.H
  • Scrname.msg

ouvrez les vous verrez
Gr√Ęce √† cette manipulaiton venant de Pologne (merci ardent )vous pourrez maintenant enregistrer vos scripts et les appliquer directment dans le mapper, sans contourner notre bon vieux probl√®me via le mapper unofficial.
Dernier petit detail important, si vous developpez en Français, pensez à ouvrir le fichier scrname.msg situé dans la partie data/text/english/game et à copier les nouvelles lignes créé dans son jumeau Français situé dans data/text/french/game.
Sinon vous aurez le fameux message d'erreur:
"error grabbing text " dans le mapper.
Voila, c'est la fin de l'édition, mais les plus anciens noterons que ça devient beaucoup moins fastidieux de declarer et de creer de nouveau script

Compilez!

Image:007f.jpg
Si vous avez scrupuleusement suivit la procédure, vous venez de compiler votre 1er script sous fallout.
Félicitations
Bon en même temps , il est un peu ... leger

Ce qu'il faut retenir, c'est que pour creer un nouveau script, il faut les renseigner dans le SCRIPTS.LST et le SCRIPT.H

Nous allons donc aborder le chapitre suivant.

Afficher un message flottant et ces variantes

Ouvrez la notice du mapper en français (si vous avez fait tous les tutoriaux depuis le début, (indispensable) vous savez ou c'est).
Maintenant vous avez sous le coude la liste des commandes qui donnent vie aux créatures de fallout.

Je vous conseille vraiment de lire une à une les commandes afin de vous en imprégner.

Dans notre exemple de base.
Nous souhaitons faire dire à notre personnage une phrase flottante lors de l'entrée du héros sur la carte.

Tout ce qui devra se declencher à l'entrée du joueur dans la carte doit etre renseigné dans la zone:

procedure start begin end

Image:008act.jpg

La commande pour afficher un texte flottant est

float_msg

elle doit etre renseignée de la façon suivante:

  • float_msg("au-dessus de qui","num√©ro de ligne de texte","couleur de texte")

Bon...
Je sens bien que vous êtes largué
C'est normal au début.
Une de vos première question doit etre:
"Mais je met quoi dans la case "au dessus de qui" ?"
Et bien la réponse est une constante.
Une commande que vous rentrerez extrèmement souvent, donc autant l'apprendre tout de suite
il s'agit de "self_obj"
Ce qui signifie en fait, l'entité elle même.
Donc, au dessus de qui? de Zvetlana.

  • float_msg(self_obj,num√©ro de ligne de texte","couleur de texte")

Ensuite le numéro de ligne de texte.
Qu'est ce s'est???


La partie suivante en citation est manquant sur le forum, en attendant de les retrouver:


je vais faire une petite parenthèse ici, et un tuto spécifiquement lié à la création de dialogue sur FSE pour fallout. générer des dialogues pour fallout 2
Ou ça version plus élaborée:
générer un dialogue sous FSE partie 2 Maintenant que c'est fait, entrons dans le vif du sujet.


la éeme information dont a besoin le programme pour afficher correctement le texte flottant au dessus de la tete du PNJ est donc le numéro de la ligne.
la syntaxe devra etre la suivante:
mstr(numéro de la ligne précédement crée)
J'ai longtemps cru que mstr était une abréviation pour monstre/créature...

hi,hi,hi
Pas du tout en fait.
C'est l'abréviation de la commande Message STRing
La encore, rien a voir avec une publicité pour des sous-vètements.
La traduction litérrale de message scring est "Lien vers le message"
cette partie du code indique donc au programme quel message afficher.
Dans notre exemple, le 103, que nous venons de créer via l'éditeur de message de FSE.
nous avons donc la ligne de commande actuelle:

  • float_msg(self_obj,mstr(103),couleur de texte)

Vous l'aurez compris, il nous reste à indiquer au programme la couleur du texte.
Si vous ne vous ètes pas évanoui depuis le début, en tapant correctement la ligne de code:
float_, vous aurez remarqué que le logiciel vous propose une fenetre avec tous les messages qui commencent par float.
vous remarquerez alors que le logiciel vous indique purement et simplement le type d'information attendu par la ligne de commande:

  • (CritterIDointer,st:string,color:colorID)

vous comprendrez donc avec la pratique que le logicel reclame sur qui pointer, ici self_obj, st represente une référence a un numéro de texte et color, un renseignement sur la couleur.
Au début c'est un peu vomitif.
Mais je pense que certains s'accrocherons lorsqu'il verront qu'il peuvent maitriser des scripts de base.
donc il faut attribuer la couleur au texte.
la ligne de commande est la suivante.Commencez à taper les lettres:
FLOAT_ aprés la ligne de message (toujours séparer d'une virgule)
le logiciel vous propose alors la liste des commande commençant pas float et notement les couleurs.
Je choisit le vert.
fermez la parenthèse et ponctuez le tout par un point virgule ";"
C'est ultra important.
La c'est une règle de programmation pure.
Si vous le mettez pas, le script bugguera et ne se compilera meme pas

Vous devez donc avoir la ligne de commande suivante:

  • float_msg(Self_obj,mstr(103),FLOAT_MSG_GREEN);

le tout inséré entre les commandes suivantes:

procedure start begin float_msg(Self_obj,mstr(103),FLOAT_MSG_GREEN); end

la aussi, il faut toujours que vos commandes se finissent par end.

Enregistrez, compilez.


De même, partie manquante sur le forum:

Assurez vous d'avoir bien copié la version anglaise du message portant le nom du script dans le repertoire concurrent francais comme precisé dans le tutoriel générer des dialogues pour fallout 2 Ou ça version plus élaborée: générer un dialogue sous FSE partie 2 Sinon vous aurez le mot error dans le test sous le mapper.

Pour appliquer le script, lancez le mapper et référez vous au tutoriel suivant:


Appliquer un script à un PNJ

Bon, bein bienvenu dans la jungle.

Si vous en êtes la c'est que vous avez réussit à compiler le script sans
erreur.
Déjà un gros bravo.
ça nous a mis des semaines à Kinkin et moi avant d'y arriver.

Donc, nous allons maintenant appliquer le script à un pnj.

Ouvrez le saint mapper.
(pour l'utilisation je vous renvoie à la partie download outils fallout 1 et 2 du forum) ou aux tutoriaux de départ.

  1. ouvrez la partie "critters" (créature).
  2. Onglet en bas a gauche ou F2.
  3. Choississez un PNJ.

Perso je prends un PNJ femme, exemple une esclave.(c'est moins chiant de par sa condition )

Image:Modf1.png

Je rappelle vite fait.
Clique droit pour sélectionner le PNJ dans la barre de personnage.
sélection de la position via le petit hexagone a gauche de copy et copy all.
Utilisez les flèches pour définir votre orientation.
Cliquez gauche sur l'écran pour y déposer votre pnj.
De nouveau clique droit pour arrêter la fonction coller un PNJ (sinon vous pouvez en coller à l'infini).
Sélectionnez maintenant le PNJ à l'aide du clique gauche, jusqu'à obtenir un hexagone rouge sous ces pieds comme sur la photo ci-dessus( le mappeur est un peu... "aléatoire" niveau sélection, mais c'est bien le seul problème que je lui attribue)
une fois la sélection faite, appuyer sur le bouton edit ou sur la touche "E".
S'ouvre alors une nouvelle fenêtre de paramétrage de votre PNJ.
appuyez sur la touche script Image:Modf2.png

S'ouvre alors une nouvelle fenêtre.
Il s'agit de la banque de sélection des script.
Retrouvez votre script pour le sélectionner.
C'est par ordre alphabétique.
Si vous avez pris mon exemple de Zvetlana, appyez sur la touche fin du pavé numérique.
Cela aura pour effet de vous enmener directement a la fin de la liste des script.
Miracle de la lettre "z", zvetlana est la, en dernière.
selectionnez la.
Image:Modf3.png

validez.(Done)
Puis validez dans l'image précedente.(Done également)

...
...
/\/\/\/\/\/\/\/\/\ (electro-cardiogramme palpitant...)
...
Pr√™t ?

Alors appuyez donc sur la touche F8...
Image:Modf4.png

Hé,hé,hé, merci à vous!

Bon... si la vous êtes encore sur votre chaise, et que vous avez envie d'une nouvelle expérience encore plus...
palpitante... Etape suivante! (WIP)