Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !
Merci à toutes et à tous pour votre participation !
N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...
[SCRIPT] Comment remplacer une créature d'une carte par une autre ?
-
- Ours noir
- Messages : 191
- Enregistré le : mer. 29 oct. 2003, 14:20
- Localisation : Valenciennes
- Contact :
- Statut : Hors ligne
[SCRIPT] Comment remplacer une créature d'une carte par une autre ?
.
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 être 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?
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
-
- Ours noir
- Messages : 191
- Enregistré le : mer. 29 oct. 2003, 14:20
- Localisation : Valenciennes
- Contact :
- Statut : Hors ligne
.
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.
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
Peut-être trouveras-tu une solution en regardant comment Weimer a fait, tout simplement ?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.
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
- Grenouillebleue
- Loup effrayant
- Messages : 723
- Enregistré le : sam. 27 sept. 2003, 22:58
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Ma solution, qui vaut ce qu'elle vaut, c'est:
1. Tu crées un fichier script que tu nommes madulfswap:
Code : Tout sélectionner
IF
G("MADULFSWAP",0)
THEN
RESPONSE #100
DestroySelf()
SG("MADULFSWAP",1)
END
Code : Tout sélectionner
IF
G("MADULFSWAP",1)
THEN
RESPONSE #100
CreateCreature("Madulf2",X,Y,Z)
SG("MADULFSWAP",2)
END
Code : Tout sélectionner
EXTEND_TOP ~MADULF.bcs~ ~TONNPC\MADULFSWAP.bcs~
EXTEND_BOTTOM ~(chiffre de la zone).bcs~ ~TONNPC\MADULFSWAPAREA.bcs~
- 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
-
- Ours noir
- Messages : 191
- Enregistré le : mer. 29 oct. 2003, 14:20
- Localisation : Valenciennes
- Contact :
- Statut : Hors ligne
.
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.
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
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 : Tout sélectionner
IF
CONDITION
THEN
RESPONSE #70
Action1()
RESPONSE #30
Action2()
END
En général, RESPONSE 100 est utilisé quand il n'y a qu'une seule possibilité auquel cas, 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.
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
- Grenouillebleue
- Loup effrayant
- Messages : 723
- Enregistré le : sam. 27 sept. 2003, 22:58
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Oublie complètement mon histoire d'area, tu n'auras à modifier qu'un seul script, celui de madulf (MADULF.BCS).
Code : Tout sélectionner
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 :
Code : Tout sélectionner
IF
G("MADULFSWAP",0)
Code : Tout sélectionner
THEN
RESPONSE #100
Code : Tout sélectionner
CreateCreature("Madulf2",[-1.-1],0)
Code : Tout sélectionner
SG("MADULFSWAP",1)
Code : Tout sélectionner
DestroySelf()
Et voilà !
- 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
-
- Ours noir
- Messages : 191
- Enregistré le : mer. 29 oct. 2003, 14:20
- Localisation : Valenciennes
- Contact :
- Statut : Hors ligne
.
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.
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
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.
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
.
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 rajouter à 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 nommait "BRAT1").
Code : Tout sélectionner
IF
Global("V#BRAT1","GLOBAL",0)
!Dead("BRAT1")
THEN
RESPONSE #100
SetGlobal("V#BRAT1","GLOBAL",1)
DestroySelf()
END
Voilà ce que donne ce passage dans mon fichier .tp2 :
Code : Tout sélectionner
COMPILE ~WALAANPC\V#BRAT1.baf~
COPY_EXISTING ~BRAT1.cre~ ~override\BRAT1.cre~
WRITE_ASCII ~0x250~ ~V#BRAT1~
WRITE_BYTE 0x257 0x00
Code : Tout sélectionner
COMPILE ~WALAANPC\V#BRAT1.baf~
Code : Tout sélectionner
COPY_EXISTING ~BRAT1.cre~ ~override\BRAT1.cre~
Code : Tout sélectionner
WRITE_ASCII ~0x250~ ~V#BRAT1~
Code : Tout sélectionner
WRITE_BYTE 0x257 0x00
1) Utiliser un éditeur hexadécimal pour rajouter 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.
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Inutile, WeiDU fait tout ceci tout seul, comme un grand :Walar a écrit :Là ç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 à ajouter.Code : Tout sélectionner
WRITE_ASCII ~0x250~ ~V#BRAT1~
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 :Code : Tout sélectionner
WRITE_BYTE 0x257 0x00
1) Utiliser un éditeur hexadécimal pour rajouter 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.
Code : Tout sélectionner
WRITE_ASCII ~0x250~ ~V#BRAT1~ [color=yellow]#8[/color]
Sinon, la fonction Weidu ALTER_AREA_ACTOR le fait très bien !
Moddeur qui s'arrache les cheveux...
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité