Three-Dogs Posté(e) le 1 mai 2010 Posté(e) le 1 mai 2010 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 ! -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. 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 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.IV Le SCRIPT ! 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 : 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. Regardez le script à la recher de ces lignes, normalement vous devriez voir1 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 ? 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 : 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 TextDans 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 / NEWOnglet 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 500Onglet Flags Cochez Always Run, fall, swmining, Continu During Combat, Friendly Fire comment, Idle ChatterOnglet Condition GetIsID choisissez NPC : XXX = = 1.0000 OK GetScritpVariable XXXREF, XXXHired = = 1.0000 OKSauvegardez. 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 à venirQuestions-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 FollowDe manière générale, Vérifiez toujours les REF et les ID 70 % des erreurs proviennent de ça ! Citer
Messages recommandés
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.