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 > Problèmes Techniques

Problèmes Techniques
Un problème technique lors de la création d'un mod? Exposez votre probleme et les membres vous aideront de leur mieux.

Réponse
 
Outils de la discussion Noter la discussion
Vieux 28/11/2003, 13h09   #1
Nysi, Aventurier
Ours Noir
 
Date d'inscription: octobre 2003
Localisation: Valenciennes
Messages: 192
Envoyer un message via MSN à Nysi
Par défaut

Bon je suis de retour et j'ai un petit probleme.

Le fichier .cre du madulf d'origine dans l'override s'appelle UHOGRE1

Mon fichier .tp2 fait:

COPY ~Override\UHOGRE1.cre~ ~Madulf\Backup\UHOGRE1.cre~
COPY ~Madulf\Madulf.cre~ ~Override\UHOGRE1.cre

Madulf.cre est le perso qui doit etre recruté.

Pourtant apres avoir utilisé le setup (pas d'erreur) je retrouve le Madulf d'origine dans les collines d'Umar.

Quelqu'un pourrait m'expliquer mon erreur?
__________________
Venez visiter mon site http://membres.lycos.fr/nysi/
Nysi est déconnecté   Réponse avec citation
Vieux 28/11/2003, 23h35   #2
Isaya
Gelée de Moutarde
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 626
Envoyer un message via MSN à Isaya
Par défaut

Les personnages qui ne sont pas créés par un script mais qui sont directement présents dans le fichier ARE (c'est probablement le cas de Madulf car il est présent dès le début des quêtes à Umar) sont mémorisés dans ton fichier de sauvegarde. Assure-toi donc de reprendre une partie dans laquelle tu n'es jamais allé dans les collines d'Umar. Sinon c'est trop tard.
Isaya est déconnecté   Réponse avec citation
Vieux 28/11/2003, 23h36   #3
Silk
Banni
 
Date d'inscription: juin 2003
Localisation: Paris, France
Messages: 1 657
Par défaut

Et ce sera trop tard dans le mod aussi, je présume
Silk est déconnecté   Réponse avec citation
Vieux 29/11/2003, 01h31   #4
Nysi, Aventurier
Ours Noir
 
Date d'inscription: octobre 2003
Localisation: Valenciennes
Messages: 192
Envoyer un message via MSN à Nysi
Par défaut

Ok merci j'ai compri donc la seule solution est de faire comme weimer avec Solaufein: créer un nouveau madulf et supprimé l'ancien de la zone des collines d'Umar.
Comme Madulf rejoint apres avoir conclu le pacte avec le village, le supprimé ne pose pas de probleme mais par contre je ne sais pas comment on fait.
__________________
Venez visiter mon site http://membres.lycos.fr/nysi/
Nysi est déconnecté   Réponse avec citation
Vieux 29/11/2003, 09h02   #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

Citation:
Originally posted by Nysi@samedi 29 novembre 2003, 01:33
Ok merci j'ai compri donc la seule solution est de faire comme weimer avec Solaufein: créer un nouveau madulf et supprimé l'ancien de la zone des collines d'Umar.
Peut-être trouveras-tu une solution en regardant comment Weimer a fait, tout simplement ?
Isaya est déconnecté   Réponse avec citation
Vieux 29/11/2003, 10h32   #6
Grenouillebleue
Loup Effrayant
 
Date d'inscription: septembre 2003
Localisation: Paris
Messages: 708
Par défaut

J'avais eu le même problème avec la prêtresse d'Umberlee à Brynnlaw.

Ma solution, qui vaut ce qu'elle vaut, c'est:

1. Tu crées un fichier script que tu nommes madulfswap:

Citation:

IF
* G("MADULFSWAP",0)

THEN
* RESPONSE #100
* DestroySelf()
* SG("MADULFSWAP",1)
END
2. Tu crées un fichier script que tu nommes madulfswaparea:

Citation:

IF
* G("MADULFSWAP",1)
THEN
* RESPONSE #100
* CreateCreature("Madulf2",X,Y,Z)
* SG("MADULFSWAP",2)
END
3. Dans ton TP2, tu rajoutes:

Citation:

EXTEND_TOP ~MADULF.bcs~ ~TONNPC\MADULFSWAP.bcs~

EXTEND_BOTTOM ~(chiffre de la zone).bcs~ ~TONNPC\MADULFSWAPAREA.bcs~
__________________
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 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
Grenouillebleue est déconnecté   Réponse avec citation
Vieux 29/11/2003, 18h19   #7
Nysi, Aventurier
Ours Noir
 
Date d'inscription: octobre 2003
Localisation: Valenciennes
Messages: 192
Envoyer un message via MSN à Nysi
Par défaut

Merci grenouille
Si tu pourrait preciser quelque detail s'il te plait ça m'aiderai beaucoup.

dans le Madulfswaparea.bcs, doit je mettre les coordonnées de Madulf a la place des X,Y,Z (j'ai le X et le Y mais alors Z dans un jeu en 2D je pige pas ...)

Une fois que mes script sont fait, que doit je en faire? comment faire pour les declencher?

Et pourrait tu m'expliquer a quoi serve les "response #100" et la variable "Madulfswap"

merci d'avance.
__________________
Venez visiter mon site http://membres.lycos.fr/nysi/
Nysi est déconnecté   Réponse avec citation
Vieux 30/11/2003, 00h54   #8
Isaya
Gelée de Moutarde
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 626
Envoyer un message via MSN à Isaya
Par défaut

Dans CreateCreature(), le Z indique l'orientation du personnage. La valeur va de 1 à 8 il me semble.

Ce qu'a écrit Grenouille à propos du "TP2" concerne l'installation d'un mod avec WeiDU. Les lignes qu'il a indiquées provoquent l'ajout des bouts de scripts que tu as créés dans ceux du jeu (MADULF.BCS et ARxxxx.BCS, ARxxxx représentant la zone d'Umar). Tant que tu es en phase de création, le plus simple est peut-être de prendre un éditeur de script et d'ajouter les morceaux de scripts directement.

"RESPONSE 100" est un codage indiquant le poids relatif des différentes possibilités quant tu en indiques plusieurs. La valeur indique le poids. Par exemple :
Code:
IF
 *CONDITION
THEN
 *RESPONSE #70
 * *Action1()
 *RESPONSE #30
 * *Action2()
END
signifie qu'il y a 70% de chances que l'action 1 soit effectuée et 30% que ce soit la 2. La somme des valeurs n'est pas nécessairement également à 100. Le poids effectif de chaque branche est déterminé de façon relative.
En général, RESPONSE 100 est utilisé quand il n'y a qu'une seule possibilité auquel elle a 100% de chances.

La variable SWAP est utile pour s'assurer que la création ne s'effectue qu'une seule fois. Les 3 états sont nécessaires car les actions de destruction et de création s'effectuent dans des scripts différents.

Isaya est déconnecté   Réponse avec citation
Vieux 30/11/2003, 21h23   #9
Grenouillebleue
Loup Effrayant
 
Date d'inscription: septembre 2003
Localisation: Paris
Messages: 708
Par défaut

En fait, je viens de réfléchir, et il y a beaucoup plus simple.
Oublie complètement mon histoire d'area, tu n'auras à modifier qu'un seul script, celui de madulf (MADULF.BCS).

Citation:

IF
* G("MADULFSWAP",0)

THEN
* RESPONSE #100
* CreateCreature("Madulf2",[-1.-1],0)
* SG("MADULFSWAP",1)*
* DestroySelf()
END

Pour expliquer clairement ce script, morceau par morceau:
Citation:

IF
* G("MADULFSWAP",0)
Si la variable Madulfswap est égale à 0...

Citation:

THEN
* RESPONSE #100
...alors, il y a 100% de chances qu'il se passe les choses suivantes:

Citation:

* CreateCreature("Madulf2",[-1.-1],0)
1. La créature nommée Madulf2 sera créée juste à côté du Madulf original (lorsque tu mets [-1.-1] comme paramètre, ça crée la créature à côté du personnage qui joue le script).

Citation:

* SG("MADULFSWAP",1)*
2. La variable MADULFSWAP devient égale à 1, pour éviter que le script soit réeffectué par erreur.

Citation:

* DestroySelf()
3. Le madulf originel disparaît, ce qui laisse donc Madulf2 tout seul

Et voilà !
__________________
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 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
Grenouillebleue est déconnecté   Réponse avec citation
Vieux 01/12/2003, 16h16   #10
Nysi, Aventurier
Ours Noir
 
Date d'inscription: octobre 2003
Localisation: Valenciennes
Messages: 192
Envoyer un message via MSN à Nysi
Par défaut

Merci a vous deux , le script fonctionne mais j'ai un nouveau probleme, le nouveau pnj ne parle pas (Le jeu indique qu'il n'a rien a me dire).

J'ai pourtant créer un fichier .D et je lui est assigné avec creaturemaker.

Est ce qu'il faut aussi assigné d'autre script a mon pnj pour qu'il puisse repondre?

Avec le script des persos créer en multi ça fonctionne mais Madulf vient direct sur le Pj pour rejoindre le groupe.
__________________
Venez visiter mon site http://membres.lycos.fr/nysi/
Nysi est déconnecté   Réponse avec citation
Vieux 01/12/2003, 18h37   #11
Isaya
Gelée de Moutarde
 
Date d'inscription: juillet 2003
Localisation: Plaisir
Messages: 1 626
Envoyer un message via MSN à Isaya
Par défaut

Un dialogue se construit en précisant la condition (ça peut être un ensemble de conditions) dans laquelle le bout de dialogue apparaîtra. Lorsque tu veux parler à quelqu'un, le jeu cherche la première condition vérifié et utilise ce dialogue. Si ton personnage n'a rien à dire, c'est qu'aucune condition n'est vérifiée.
Pour un premier dialogue, un classique de condition est : NumTimesTalkedTo() = 0 (à vérifier, je ne suis plus sûr de l'écriture exacte).
Vérifie parmi les questions posées il y a environ 2 mois par Grenouille, il a été confronté au même problème si ma mémoire est bonne.
Isaya est déconnecté   Réponse avec citation
Vieux 09/12/2003, 16h48   #12
Nysi, Aventurier
Ours Noir
 
Date d'inscription: octobre 2003
Localisation: Valenciennes
Messages: 192
Envoyer un message via MSN à Nysi
Par défaut

Ok merci Iasya ça marche maintenant.
__________________
Venez visiter mon site http://membres.lycos.fr/nysi/
Nysi est déconnecté   Réponse avec citation
Vieux 22/03/2004, 17h40   #13
Walar, Patricien de Melandis
Berserker Ogre
 
Avatar de Walar
 
Date d'inscription: avril 2003
Messages: 1 018
Par défaut

Comment effacer un personnage qui a un script général ou n'en a pas...

Pour complèter un peu le sujet de comment effacer un personnage, je voulais récemment enlever deux roturiers dans une maison du district du pont. Le problème est que l'on ne peut pas simplement faire un nouveau script et le rajoutter à celui qu'ils ont actuellement car tous les roturiers ont le même (en fait ils en ont même 3 de scripts... :..: )...

Donc si je mettais "DestroySelf()", tous les roturiers du jeu y seraient passés... :omg:

Alors, j'ai tout d'abord créé un nouveau script, que je nommerais V#BRAT1 par exemple (c'est un fichier .baf contenant) : (petite précision le PNJ que je voulais éliminer se nommais "BRAT1").

Citation:
IF
* Global("V#BRAT1","GLOBAL",0)
* !Dead("BRAT1")
THEN
* RESPONSE #100
* * SetGlobal("V#BRAT1","GLOBAL",1)
* * DestroySelf()
END
Jusque ici c'est relativement simple. Ensuite pour allouer le script au PNJ il faut utiliser la commande WeiDU : WRITE_ASCII

Voilà ce que donne ce passage dans mon fichier .tp2 :

Citation:
COMPILE ~WALAANPC\V#BRAT1.baf~
COPY_EXISTING ~BRAT1.cre~ ~override\BRAT1.cre~
WRITE_ASCII ~0x250~ ~V#BRAT1~
WRITE_BYTE 0x257 0x00
(Ca peut sembler barbare au premier abord mais je vais tâcher d'expliquer)

Citation:
COMPILE ~WALAANPC\V#BRAT1.baf~
Pas trop de problème sur ce point la, cela sert juste à compiler le script dans le jeu.

Citation:
COPY_EXISTING ~BRAT1.cre~ ~override\BRAT1.cre~
Pour pouvoir effectuer la modification sur le fichier, il faut que l'original soit dans le dossier override. Cette commande relativement facile à comprendre le permet.

Citation:
WRITE_ASCII ~0x250~ ~V#BRAT1~
La ça se complique un petit peu. WRITE_ASCII va permettre de modifier certaines données du fichier .cre dans ce cas. le 0x250 indique l'endroit du fichier où je veux que la modification soit effectuée. Et ensuite vous reconnaissez le nom du nouveau script à ajoutter.

Citation:
WRITE_BYTE 0x257 0x00
On pourrait penser que la procédure s'arrête à la phase précédente mais un méchant problème fait que WeiDU rajoute un "caractère" à la fin de la ligne de script modifiée dans le fichier .cre Donc pour éviter cela il faut soit :
1) Utiliser un éditeur hexadécimal pour rajoutter un 0 à la fin de V#BRAT1 (directement)
2) Soit utiliser cette commande qui le rajoute par l'intermédiaire de WeiDU et donc élimine le caractère parasite.
Le 0x257 est l'endroit où cela doit être ajouté (à la fin de V#BRAT1) qui fait 7 lettres.

Et voilà, lorsque vous entrez dans la map concernée, le bonhomme disparait.

Ayant débuter relativement récemment l'editing (2-3 semaines), il y a peut-être une méthode plus simple et c'est peut-être confus. Enfin ça marche. N'hésitez pas à poster en cas de besoin de précisions supplémentaires.
Walar 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
Script Anubis Les Outils 11 22/01/2006 14h43
[BG]Creer un personnage dans une zone sans script Grenouillebleue Problèmes Techniques 17 28/03/2005 19h59
[KITS] Effacer un kit ou le déplacer mai321mai Le Bazar de l'Aventurier 13 20/06/2004 12h08
[BG] Un script Anury Problèmes Techniques 4 16/06/2004 22h38


Fuseau horaire GMT +2. Il est actuellement 07h13.