Aller au contenu

Messages recommandés

Posté(e)

Salut les Terres Désolées ! C'est Three Dogsssss Houhouuuuuuuuuuu

Leçon du jour : Comment réussir son elevage de brahmine.

Euh non ça c'était la leçon d'hier. Aujourd'hui on va apprendre à faire un compagnon.

Le G.E.C.K, c'est quoi le GECK ? C'est le logiciel qui sert/a servi au développement de Fallout 3 et à la création des mods.

Mise en GARDE : Le GECK est très dangereux :

*Geck en Vietnamien signifie : fléau informatique qui a cessé de fonctionner.
*Il existe une antique prophécie maya qui préduit qu'en 2012 le GECK produira une catastrophe mondiale
*Les nazis utilisaient les GECK comme moyen de torture sur leurs prisonniers. On leur demandé de réaliser un programme simple et fonctionnel. Le plus souvent les pauvres malheureux n'y arrivaient et devenaient fous.
*Le GECK est responsable du trou de la Sécu, c'est bien connu.
*Le GECK a crééé les Terminators !


Annonce de service publique : le GECK n'est pas très stable ! Sauvegardez souvent, les enfants !

Image IPB

-Alors Three Dogs, que faut-il pour faire un compagnon sur mesure ?
-Du courage ! mais aussi :
Une quête
Un personnage (modèle graphique
Des Packages
Un script
Un référence


Aller on rentre dans le vifs du sujet :

I Le personnage en tant que tel.

Deux possibilités s’offrent à vous : vous créez votre personnage soit vous dupliquez un personnage existant et vous le personnalisez.
Ouvrez le GECK et chargez le ESM Fallout dans File/DATA, selon la vitesse de traitement ca devrait prendre 2 minutes.
Voila on y est ! Observez la fenêtre Object windows, elle vous sera très utile pour trouver ce dont vous avez besoin. Et sélectionnez NPC, le cadre de droite va alors charger tous les NPC du jeu. Clique droit/NEW. Vous arrivez à la fenêtre de création de votre personnage.
Il existe déjà des tuto pour ca je ne vais pas revenir dessus.
Un point important, notez bien l’ID de votre personnage, c’est très important. L’ID correspondons a l’identification de votre personnage. Ce n’est pas le nom que vous verrez dans le jeu. L’ID est sans espace ni caractère spéciaux.

Image IPB

Voila on a fini pour cette partie.

II Placer le personnage et ajouter sa référence

La ca devient un peu plus compliquer. Il va falloir ouvrir la fenêtre graphique des cellules (paysages) du jeu. Aller dans EDIT/FIND TEXT et tapez le nom de l’endroit où vous voulez déposer votre personnage.
Vous devez ouvrir une réponse « CELL », par exemple pour placer le personnage dans la maison de Megaton je tape PlayerHouse et je charge la réponse contenant une extansion « CELL ». Oui il faudra peut être chercher un peu. Une fois trouvé, la cellule va se charger et va générer un résultat dans « Render Windows ». Vous aller voir apparaître uune vue du dessus de votre espace. Dans objet windows sélectionnez le personnage et cliquez-déposer dans la cellule. Un conseil, zoomez bien avec la molette pour ne voir que le sol de votre cellule sinon il y a de grande chance our que votre perso soit mal placé dans le plafond poar exemple. Utilisez les touches MAJ G, CTRL, et EsPACE + souris pour vous déplacer dans votre cellule. Maintenant double cliquez sur votre personnag dans la CELL. Une fenetre Référence va apparaître. Remarquez le « Reference ID Editor », c’est important, vous devez indiquer un nom de référence pour votre perso. Le plus simple est de prendre l’ID de la fenêtre de création du perso et Rajoutez REF à la fin sans espaces. Cliquez sur OK

Image IPB

C’est fini. Vous pouvez d’ores est déjà tester votre perso dans le jeu. S’il n’apparaît pas, vérifiez qu’il est bien placé.

III La liste !

Dans Object Window, dans le filtre, tapez « npcFollow » dans la section « ALL » ouvrez le fichier, une petite fenetre arrive avec les nom des « followers » réguliers du jeu. Recherchez votre perso dans object windows/NPC et cliquez déposez dans la liste. Votre perso arrive en premier. Sélectionnez-le et à l’aide des flèches >> << faites-le descendre tout en bas de la liste 8ème position normalement.

Image IPB

IV Le SCRIPT ! Image IPB

Pour que votre personnage fonctionne, son comportement et ses réponses physiques doivent êtres inscrites dans un script, et oui, il ne pense pas tout seul, c’est un robos. Aller on se colle au Script ! En haut dans la barre des icones, il y en a un représnetant un crayon jaune, c’est l’outil d’édition des script
Dans la nouvelle fentere : Script/NEW
Une feuille blanche apparaît :

Image IPB

Euh ?

Copiez-collez ceci :

scn XXXSCRIPT

;** XXX **
short XXXHired
short XXXFired
short HasBeenHired
short CombatStyleRanged
short CombatStyleMelee
short IsFollowingDefault
short IsFollowingShort
short IsFollowingLong
short Waiting
short DoOnce
short KFlashlightOn
short XXXHealPercent
short XXXRunSpeed
short XXXHome
short XXXChillOut
short XXXWeaponDrawn
short XXXFollowDistance
short XXXShutUpPlease
short GoHome


BEGIN GameMode
; Keep her out of Vault 87 - Foxy Fawkesy makes her crashy. Kelsey will go back to where you have set her home location to.

if ( player.getincell Vault87c && GetQuestRunning MQ08 && XXXHired == 1 )
set XXXHired to 0
set XXXFired to 1
ShowMessage FollowerMessageLeaveXXX
endif

;_______________________________________________________
;Heals Kelsey if she drops below 30% and Battle heal is selected
If ( GetItemCount Stimpak >=2 && GetHealthPercentage <= 0.30 && XXXHealPercent == 1 && XXXHired == 1 )
XXXREF.PlayIdle 3rdPSpecialIdleStimpak
XXXREF.ResetHealth
XXXREF.restoreAV EnduranceCondition 40
XXXREF.restoreAV PerceptionCondition 40
XXXREF.restoreAV LeftAttackCondition 40
XXXREF.restoreAV RightAttackCondition 40
XXXREF.restoreAV LeftMobilityCondition 40
XXXREF.restoreAV RightMobilityCondition 40
XXXREF.removeitem stimpak 2
XXXREF.PlayIdle 3rdPSpecialIdleStimpak
EndIF

; **** The following Statements Control Kelsey's Weapons Drawn Function ****
If ( player.isweaponout == 1 ) && XXXWeaponDrawn == 1 && XXXREF.Isincombat == 0 && XXXHired == 1
XXXREF.Setalert 1
Endif

;If ( XXXREF.isweaponout == 1 ) && XXXHired == 1 && XXXREF.Isincombat == 0 && issneaking == 0 && XXXREF.Isrunning == 1
;XXXREF.Setalert 0
;Endif

If ( player.isweaponout == 0 ) && XXXWeaponDrawn == 1 && XXXREF.Isincombat == 0 && XXXHired == 1
XXXREF.Setalert 0
Endif


END
;____________________________________________________________________

BEGIN MenuMode 1012

If (GetPlayerTeammate == 1)
If ( IsTimePassing == 1 )
ResetHealth
RestoreAv PerceptionCondition 100
RestoreAv EnduranceCondition 100
RestoreAv LeftAttackCondition 100
RestoreAv LeftMobilityCondition 100
RestoreAv RightAttackCondition 100
RestoreAv RightMobilityCondition 100
EndIf
EndIf

END

;BEGIN OnCombatEND
;END


BEGIN OnDeath
; Show on Death of Sandra
if ( XXXHired == 1 )
set XXXHired to 0
ShowMessage FollowerMessageDeadXXX
endif

END

Collez tout ca dans un éditeur de texte type bloc-note, et replacez le « XXX » par l’ID de votre personnage, cliquez sur la disquette pour sauvegarder. Quoi ? Une erreur ? Ah bon ? AHHH Oui, ce Vieux Three Dogs a oublié un détail. Avant d’enregistrer le gECK vérifie comme un grand garçon la validité de votre script et vous signale les erreurs et normalement il y a au moins deux erreurs. Ca concerne les message que vous verrez à l’écran lors par exemple de la mort de votre personnage. On va les créer.

Image IPB

Regardez le script à la recher de ces lignes, normalement vous devriez voir

1 FollowerMessageDeadXXX (XXX = ID de votre perso)

2 FollowerMessageLeaveXXX (idem =^^ = )

Bon gardez ca de coté. Aller, on va dans Object Window /Message clique droit dans la fenêtre de droite => NEW, vous devez créer deux messages, l’un pour la mort du perso( et oui ca peut arriver) et l’autre pour son départ (SPOIL :! ) Comme ID donnez 1 et 2 avec un petit texte ^^.
Enregistrez. Maintenant revenez dans le la petite fenêtre de script, j’espère que vous en l’avez pas quitté ! vous pouvez enregistrer votre script. Ca doit normalement marcher cette fois. Cliquez sur la disquette rouge pour le compiler.
Bon la partie script est finie je crois. On fait une pause ?

Image IPB

AHH NAN encore ?!!!

V La quete du Graal !

On a bien avancé non ? Bon pour que votre personnage puis s’exprimer, on va lui assigner des dialogues et une quete (qui n’en sera pas une).

Aller retour dans object Window et selectionnez Quest/ New comme dab ! Suivez le screen.
Une grande fennetre apparaît :

Image IPB

Dans Quest Name : indiquez un nom de quete (c’est bidon ca sert à rien) mais faites-le tout de même.
ID : AHHH encore un ID ? Oui mais cette fois c’est l’ID de la quete. Pour faire simple, tapez FollowerXXXQuest XXX= le nom du perso.
Priority = 50
Cochez Game Start enabled et script processing delay.

Cliquez sur OK tout en bas. Ca va fermer la fenetre. Rouvrez la quete, un tableau est apparu au milieu.

Dans quest condition cliquez droit/ New

GetIsID choisissez NPC : XXX = = 1.0000 OK

Ca veut dire que la quete est rattaché uniquement à ce personnage. OK / Sauvegardez.

Allez dans Topic. Là, vous allez vous amuser. Il s’agit des lignes de discourt du perso.
Clique droit Editor ID a gauche/Add topic clique droit dans la nouvelle petite fenetre/NEW

Tapez XXXHired OK

Votre ligne apparaît la le tableau Editor ID
Dans Info clique droit/New, tapez n’importe quoi. Ca dévérouille d’autre cellules.
Suivez le screen.
Prompt = ce que va dire le joueur pour déclancher la réponse de Reponse Text

Dans condition :
GetIsID choisissez NPC : XXX = = 1.0000 OK

GetScritpVariable XXXREF, XXXHired = = 0.0000 OK


GetScript varaible ets un peuplus compluqé à utiliser. Vous devez rechercher dans quel Cell il se trouve puis sa REF dans la cellule, ensuite indiquez-lui la variable à prendre en compte ici HIRED associée au nom du perso. XXXHired
Pourquoi 0.0000 au lieu de 1.0000 ?
Et bien parce que 1 est une condition positive et 0 condition négative.
Ce qui se traduit par :

Pour que le script fonctionne (embaucher le compagnon), le compagnon ne doit pas être (déjà) embauché. Ou utilisé positivement(1) la fonction « Hired ». C’estdu charabia ? T’inquiété chaussete, ca va venir !

Dans Result Script, clique sur EDIT et collez :
set XXXREF.XXXHired to 1
set XXXREF.XXXFired to 0
set XXXREF.HasBeenHired to 1
set XXXREF.IsFollowingDefault to 1
set XXXREF.IsFollowingLong to 0
set XXXREF.IsFollowingShort to 0
set XXXREF.XXXHealPercent to 0
XXXREF.SetCombatStyle FollowersCombatStyleRanged
set XXXREF.CombatStyleRanged to 0
set XXXREF.CombatStyleMelee to 1
XXXREF.SetPlayerTeammate 1
XXXREF.SetFactionRank TeammateFaction 1
XXXREF.AddToFaction FollowerFaction 1
XXXREF.SetIgnoreFriendlyHits 1
Set XXXREF.XXXHome to 0
set XXXREF.KFlashlightOn to 0
set XXXREF.XXXHealPercent to 0
set XXXREF.Waiting to 0
Set XXXREF.XXXChillOut to 0
Set XXXREF.XXXWeaponDrawn to 1
Set XXXREF.XXXShutUpPlease to 0

endif
evp

Toujours en remplaçant XXX par l’ID de votre perso.

Fini !

VI Dans la vie, il faut avoir des Packages !

On arrive au but, mais ca cette dernière étape votre perso ne vous suivra pas.
Ouvrez la fenetre de création de votre perso. RDV dans AI Packages. Clique droit / NEW

Onglet Follow

ID : tapez XXXFollowDefault Package Type = Follow

Spécific reference

Cell AbandonnedSewerExt (pas important)

Ref PlayerRef (‘Player’)

Follow Distance tapez un chiffre entre 150 et 500

Onglet Flags

Cochez Always Run, fall, swmining, Continu During Combat, Friendly Fire comment, Idle Chatter

Onglet Condition

GetIsID choisissez NPC : XXX = = 1.0000 OK

GetScritpVariable XXXREF, XXXHired = = 1.0000 OK


Sauvegardez. Testez, appréciez !

Voila qui conclu ce tutorial. C’est possible que votre NPC ne marche du premier coup, moi j’ai mis plus de 10 jours avant de réussir à faire quelques choses. Accrochez-vous et posez moi des questions !

Vous connaissez Nexus Fallout ? Vous trouverez mes mods et tapant dans le champs de recherche GFM Guiness French Mod

Screen à venir

Questions-réponses

Je ne vois pas les textes que j'ai assigné a mon NPC.

>Vérifiez que le TopLevel est coché dans l'onglet Topic. Vérifiez ausi le GetIsID de la Quest

Mon personnage ne me suit pas. Cependant mon script marche.

>Allez faire un tour dans Ai Package, vérifiez les conditions et vérifiez que PlayerREf est selectionné dans l'onglet Follow

De manière générale, Vérifiez toujours les REF et les ID 70 % des erreurs proviennent de ça !

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...