Baldur's Gate et Dragon Age | La Couronne de Cuivre
Merci de prendre connaissance des conditions d'utilisation des forums, des blogs et du chat

Précédent   Baldur's Gate et Dragon Age | La Couronne de Cuivre > La Forge de GrondMarteau > La Forge des Apprentis > Les Outils

Les Outils
Besoin d'outils pour concevoir vos mods ? Ne cherchez plus, vous êtes à la bonne adresse. Trouvez ici une description des différents outils disponibles.

Réponse
 
Outils de la discussion Noter la discussion
Vieux 14/07/2007, 16h56   #1
xena
Gnoll
 
Avatar de xena
 
Date d'inscription: mars 2006
Messages: 153
Par défaut [TUTORIAL] Aide aux dialogues et commandes

Alors voilà afin d'aider les apprentis modeurs voici quelques aides aux sujets de certaines commandes ainsi qu'une petite liste de commandes bien pratique. Il est évident qu'il en manque mais pour commencer ce sera pas mal. J'invite d'ailleurs les codeurs à ne pas hésiter à m'aider à faire la liste des différentes commandes oubliées afin que je les ajoute voir, que je les commente pour celle qui sont un peu plus complexe. Je compte d'ailleurs sur vous pour me corriger en cas d'erreur majeure.

En ce qui concerne les commandes manquantes je pense surtout à celles utilisées lors des cutscene vu que je ne m’en suis toujours pas servi.

Je rappelle deux liens qui couvrent déjà l'essentiel tout en essayant de ne par réécrire ce qui y a déjà été expliqué.

Pour les romances

Pour la création plus générale de NPC

Alors voici une liste de commandes que vous pouvez utiliser lors de vos dialogues ou de vos scripts :

Commandes :
  • Ajouter de l’expérience : AddexperienceParty(12000)
  • Ajoute la valeur à une variable : IncrementGlobal("P$NPC","LOCALS",1)
  • Activer une variable : SetGlobal("J$NPC","GLOBAL",1)
  • Appliquer un sort : [code]ApplySpell(Myself,DRYAD_TELEPORT)
  • Caractéristique maximum requise : CheckStatLT(Player1,12,CHR)
  • Caractéristique minimum requise : CheckStatGT(Player1,11,CHR)
  • Chapitre requis : GlobalLT("Chapter","GLOBAL",4)
  • Créer une créature : CreateCreature("J$NPC",[2105.2330],6)
  • Joue une animation : CreateVisualEffect("SPFLESHS",[1470.1403])
  • Joue tel ou tel musique : PlaySound("O#son")
  • Kit :[code] Kit(Player1,BOUNTYHUNTER)
  • Mort d’une crétature ou d’un perso : Dead("Imoen2"))
  • Partir de la zone : EscapeArea
  • Pas de combat : CombatCounter(0)
  • Persos valide : !StateCheck("Player1"",CD_STATE_NOTVALID
  • Prendre de l’argent : TakePartyGold(100)
  • Quitter la partie : LeaveParty
  • Réputation minimum : ReputationGT(Player1,10)
  • Sexe du personnage : Gender(Player1,MALE)
  • Vérification de la présence d’un personnage dans le groupe : InParty(Myself)
  • Vérification de la présence d’ennemis : See([ENEMY]) ici oui des ennemi !See([ENEMY]) ici non-présence d’ennemis
  • Vérification du type de zone : !AreaType(DUNGEON) ou FOREST ou CITY
  • Vérification d’une zone : AreaCheck("AR0800")
  • Vois le preso : [code]See(Player1)
Je rappelle que mettre un "!" devant une commande reviens à faire l'inverse.

Interjections :

INTERJECT_COPY_TRANS soit I_C_T

Afin que notre NPC puisse s’exprimer pendant les événements du jeu il faut utiliser la commande INTERJECT_COPY_TRANS.

Ceci-dis pour pouvoir utiliser cette commande il faut tout d’abord comprendre son fonctionnement.
Pour commencer il nous faut utiliser Near Infinity. En effet pour savoir ou Weidu doit ajouter votre phrase il y a quelques références à trouver. Disons que nous voulons un PJ qui réagit lorsque Firkrag parle de l’héritage du PJ.
Il faut d'abord trouver le fichier de dialogue existant concerné : ici FIRKRA02, puis dans Near infinity on cherche la phrase que dira Firkrag avant que le NPC ne prenne la parole. Vous prenez celle de votre choix ici la phrase concernée est dans « state 07 ».

Munis de ces informations voici ce que nous devons écrire.

Par défaut dans le fichier XXXXJ

Citation:
I_C_T FIRKRA02 07 NPCFIRGRAG1
== XXXXJ IF ~InParty("NPC") InMyArea("NPC") !StateCheck("NPC",CD_STATE_NOTVALID)~ THEN ~Quoi t’es un enfant de Bhall !!~ THEN END
Voilà ! Pour les explications : XXXXJ est, ais-je encore besoin de le rappeler : le fichier J de votre NPC. NPCFIRGRAG1 est le nom du bloc qui va intervenir vous pouvez mettre ce que vous voulez.

Vous pouvez allonger en faisait parler Firkrag puis encore le NPC en mettant à la suite == et le bon nom de fichier. Et ce tant que vous n’avez pas mis END.

IsGabber(Player1)

Exemple :

Citation:
IF ~IsGabber(Player1)
CombatCounter(0)~
THEN BEGIN NPC#Flirts
SAY ~(Votre compagnon semble inattentif...)~
++ ~(Vous lui mettez une claque)~ GOTO ( bon vous connaissez la suite hein ?)
+ ~RandomNum(2,1)~ + ~(Vous lui mettez votre pied au c**)~ GOTO (comme d’habitude)
+ ~RandomNum(2,2)~ + ~(Vous lui mettez votre pied au c**)~ GOTO (idem)
END
Bon j’ai pas terminé le bloc mais vous DEVEZ savoir faire maintenant sinon abandonnez votre mod.

Lorsque vous mettez RandomNum(2,1) puis (2,2) ça veut dire que le jeu choisira l’un ou l’autre des deux dialogues. C’est la fonction aléatoire.

CHAIN

A placer dans le fichier de dlg BXXXX ici BNPC

Cette commande permet de faire un banter en entre deux personnages ou plus de votre équipe.
Disons NPC et Valygar

Citation:
CHAINE IF ~InParty("NPC") See("NPC")
!StateCheck("NPC",CD_STATE_NOTINVALID)
InParty("Valygar") See("Valygar")
!StateCheck("Valygar",CD_STATE_NOTINVALID)
CombatCounter(0)
Global("NPCValygar1","GLOBAL",0)
THEN BNPC NPCValygar1
== BValyga ~...~
DO ~SetGlobal("NPCValygar1","GLOBAL",1)~
== BNP ~...~
== BValyga ~...~
== BNPC ~C'est reposant.~
EXIT
Avant chaque nouvelle réplique vous devez indiquer quel fichier et donc quel personnage associé à ce fichier va parler. A priori vous n’avez pas besoin de faire un script pour dire quand vous voulez que ce dialogue ce lance c’est le jeu qui gère ça mais cela n’empêche pas d’en faire un quand même si vous voulez que vos banters ce lancent à un moment précis.

Voilà c’est tout pour le moment !
__________________
Venez voir mon mod en cours : Trriviahn et optionnellement Aireen
Et là : mes idées de kits !

Dernière modification par xena ; 27/07/2007 à 08h14.
xena est déconnecté   Réponse avec citation
Vieux 15/07/2007, 13h04   #2
Shinook
Araignée Éclipsante
 
Avatar de Shinook
 
Date d'inscription: mai 2004
Localisation: dans le vent...
Messages: 1 266
Par défaut

Sympas l'idée de ce tutorial. Je me permets peut-être juste une toute petite remarque, pour les nouveaux modeurs. Tu as mélangé les commandes d'actions et les triggers, peut-être vaudrait-il mieux les séparer, pour une meilleure compréhension, non ?

Autre chose, voici aussi le lien vers IESDP, qui rassemble toutes ces commandes et même beaucoup d'autres, en anglais, mais au combien pratique. Il y a d'ailleurs la possibilité de le télécharger. Voici le lien : http://iesdp.gibberlings3.net/
__________________
FloraNPC : Au cimetierre...
Shinook est déconnecté   Réponse avec citation
Vieux 15/07/2007, 14h31   #3
xena
Gnoll
 
Avatar de xena
 
Date d'inscription: mars 2006
Messages: 153
Par défaut

Citation:
Originally posted by Shinook@dimanche 15 juillet 2007 à 13:04
Sympas l'idée de ce tutorial. Je me permets peut-être juste une toute petite remarque, pour les nouveaux modeurs. Tu as mélangé les commandes d'actions et les triggers, peut-être vaudrait-il mieux les séparer, pour une meilleure compréhension, non ?

Autre chose, voici aussi le lien vers IESDP, qui rassemble toutes ces commandes et même beaucoup d'autres, en anglais, mais au combien pratique. Il y a d'ailleurs la possibilité de le télécharger. Voici le lien : http://iesdp.gibberlings3.net/
[snapback]280965[/snapback]
Heu oui une fois que j'y ai eu posté j'y ai pensé aussi :8: mais comme après y avoir passé une bonne après midi j'en pouvais plus et je me suis dis stop ! Si j'ai du courage je trierai mais j'ai tellement de courage que j'ai pas pris le temps de relire les fautes et comme quand je tape mes doigts vont moins vite que mon cerveau...
Bon mais le premier qui se plain je l'oriente vers le tuto de weidu en Anglais et il se débrouille .

Et vu le nombre de gens qui savent coder comparé aux gens qui écrivent des tutoriaux surtout vous plaignez pas hein :notme:

__________________
Venez voir mon mod en cours : Trriviahn et optionnellement Aireen
Et là : mes idées de kits !
xena est déconnecté   Réponse avec citation
Vieux 06/10/2007, 17h51   #4
Non inscrit
Invités
 
Messages: n/a
Par défaut Re : [tutorial]Aide aux dialogues et commandes

Bonjour,
Je suis en train de me mettre à créer un petit pnj.
Je cherche un tutorial sur comment rajouter des triggers pendant un dialogue.
Du genre :
Un dialogue entre mon NPC moddé et le PC.
Le pc lui dit qu'il est très fort etc et qu'il pourrait casser un mur à mains nues.
J'aimerai que cette phrase servent à déclencher une action du NPC, celui-ci, confiant irait devant un mur et essaierai de le casser (en échouant bien évidemment).
Ainsi il perdrait quelque pv.

C'est possible ?
  Réponse avec citation
Vieux 06/10/2007, 20h27   #5
Isaya
Gelée de Moutarde
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 626
Envoyer un message via MSN à Isaya
Par défaut Re : [tutorial]Aide aux dialogues et commandes

Un petit point de vocabulaire pour commencer : un trigger est une condition de déclenchement de quelque chose. Du point de vue d'un dialogue, c'est donc ce qui va initier un échange. Puisque tu évoques une réaction à un dialogue, ce que tu veux correspondrait davantage à une action.

Ce que tu décris me fait penser à une petite animation pendant laquelle le personnage s'attaquerait à un mur puis abandonnerait au bout de quelques secondes (pendant ce temps, le jeu bloquerait les actions). Ce genre de chose s'effectue à partir d'un script qualifié de "cutscene" (intermède ?). Je ne suis pas certain qu'il soit possible de lancer un script à partir d'un dialogue. Mais un moyen couramment utilisé est d'affecter une valeur à une variable que le script du personnage utilisera comme trigger pour déclencher quelque chose. Et à partir d'un script, il est tout à fait possible de lancer une "cutscene".

Une chose est sûre, si tu veux faire une telle scène, tu devras ajouter dans le script de déclenchement des contraintes liées aux zones dans lesquelles tu prévois de pouvoir déclencher l'action. En effet, il faut être sûr d'être à côté d'un mur et savoir y placer le personnage pour simuler l'effet.
Une solution consisterait alors à déclencher le dialogue initial (dans lequel le PC lui dit qu'il est fort) à un endroit précis ayant un mur à proximité, pour lequel ton script de "cutscene" serait conçu.

Enfin, pour montrer le personnage en train de frapper, il faudrait peut-être le faire se battre à mains nues. Si nécessaire, il faudrait recourir à un personnage invisible contre lequel il se battrait (tu pourrais l'appeler "mur" pour que les affichages du combat ait un sens), avec résistance maximum à tout type de dégat.

Au final, la scène représenterait quand même pas mal de travail...
Mais ton idée est très sympa donc ça vaudrait sûrement le coup.
Isaya est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Tags
Aucune


Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Noter la discussion
Noter la discussion:

Règles de messages
Vous pouvez créer de nouvelles discussions
Vous pouvez envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are non

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
[NWN1][JEU] commandes pour retirer un don ? wawiwowew NeverWinter Nights & NeverWinter Nights 2 : Le Jeu 4 26/04/2007 11h03
[BG1&2] Tutorial pour Near infinity cadaver La Taverne d'Amkethran (Baldur's Gate 2) 8 12/02/2006 11h56
[TUTORIAL] Ecriture de Romance Mathrim Cauthon Les Outils 3 02/09/2004 18h26
[BG]Besoin de quelques commandes... Glim Problèmes Techniques 3 05/10/2003 17h26
Aide et tutorial en français EricZEGod Le Module Manost/Melandis/Lumenis 0 19/01/2003 22h54


Fuseau horaire GMT +2. Il est actuellement 06h35.



Merci de soutenir La Couronne de Cuivre et le Wiki consacré à Baldur's Gate et aux RPG

Les forums La Sirène Rougissante, La Couronne de Cuivre, ainsi que les sites associés Le Portail du Web et Le Monde de Baldur's Gate sont protégés par le Code de la propriété littéraire et artistique. Baldur's Gate I (1998), Tales of the Sword Coast (1999), Baldur's Gate II (2000) Shadows of Amn, et Throne of Bhaal (2001) sont ©BioWare, licenses et distribution ©ATARI. Dungeons & Dragons material est ©Wizards of the Coast. NeverWinter Nights est un produit ©Bioware, licenses et distribution ©ATARI. DRAGON AGE © 2002-2007 BioWare Corp. Dragon Age, the Dragon Age logo, BioWare Corp., and the BioWare logo are trademarks of BioWare Corp. in the United States, Canada and other countries. All other trademarks are the property of their respective owners. All rights reserved.
Conformément à l'article 34 de la loi 78-17 du 6 janvier 1978 dite loi "Informatiques et Libertés" vous disposez d'un droit d'accès, de modification, de rectification et de suppression de vos données personnelles (déclaration CNIL en cours mai 2007). Pour faire valoir ce droit contactez nous en cliquant ici et en utilisant le formulaire à votre disposition


Édité par : vBulletin® version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185