Oyez, oyez !

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é...

[CARTES] Comment assigner un script à une carte existante du jeu qui n'en a pas ?

Répondre
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne

[CARTES] Comment assigner un script à une carte existante du jeu qui n'en a pas ?

.

Message par Grenouillebleue »

Voilà mon problème.
Je souhaiterais créer Kim dans la zone AR0306, qui est celle de Renal Bloodscalp (1er étage des Voleurs de l'Ombre).

Malheureusement, cette zone n'a pas de script (le fichier AR0306.bcs n'existe pas), donc je ne peux pas utiliser EXTEND_BOTTOM pour mettre mon script de création.

Comment puis-je faire dans ce cas ? J'ai essayé de créer un script AR0306.bcs et de le copier dans l'override, mais je ne connais pas la commande qui permet de l'associer à la zone en question...

Merci d 'avance :notme2:
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
Silk
Statut : Hors ligne
.

Message par Silk »

Sans sortir du WeiDu, je ne sais pas :sad:
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

Pas grave, je vais contourner la difficulté en mettant le script dans celui de Renal
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
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

OK, je ne comprends pas...

J'ai créé le fichier kimar0306.bcs suivant:

Code : Tout sélectionner

IF
  Global("KIMExists","LOCALS",0)
THEN
  RESPONSE #100
    SetGlobal("KIMExists","LOCALS",1)
    CreateCreature("KIM",[592.787],8)
END
Puis j'ai mis dans le TP2:

Code : Tout sélectionner

EXTEND_TOP ~INITRG06.bcs~ ~KIMNPC\kimar0306.bcs~
(Initrg06 est le script de Renal).

Ca MARCHE (donc les lignes sont bien rajoutées). Par contre, lorsque je rentre dans la pièce où se trouve Renal, le jeu plante. Est-ce que quelqu'un aurait une explication ?
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
Ael'Zanna
Statut : Hors ligne
.

Message par Ael'Zanna »

Désolé moi m'y connait pas vraiment :sad:
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

Bon, je craque.
J'ai essayé autre chose, à savoir ce script:

Code : Tout sélectionner

IF
  Global("KIMExists","Ar0300",0)
THEN
  RESPONSE #100
    SetGlobal("KIMExists","Ar0300",1)
    CreateCreature("KIM",[1886.3052],8)* // ~Kim~
    ActionOverride("KIM",MoveBetweenAreas("AR0306",[586.737],8))
END
Et rajouté à la zone Ar0300.

Mais ça me fait planter la zone au chargement :8:
Je ne comprends pas l'erreur que j'ai pu faire ?

EDIT: même en enlevant le MoveBetweenAreas, ça plante... donc c'est dans le début du script que ça foire... AU SECOUUURS :snif:

EDITBIS: en remplaçant la variable area par une variable globale, ça ne donne pas de meilleurs résultats...

Code : Tout sélectionner

IF
  G("KIMExists",0)
THEN
  RESPONSE #100
    SG("KIMExists",1)
    CreateCreature("KIM",[1886.3052],8)* // ~Kim~
END
JE NE COMPRENDS PAS !
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
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

Problème réglé par une réinstallation de BGII... Bizarre, bizarre :heu:
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
Silk
Statut : Hors ligne
.

Message par Silk »

Ton programme ou toi avez du supprimer le fichier .bcs ce qui fait planter la zone (elle avait peut-être un .bcs spécial, ou ta méthode était mauvaise...)...
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

Le bcs a déjà dû être customisé, et vu que tu l'as effacé, je pense que le jeu essayer de le prendre dans le biff, mais vu que certaines ressources manquaient... PAF !
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

Non, non, en fait je viens de comprendre, c'était lié à mon fichier .cre qui, à cause d'une erreur dans le TP2, lui associait un script de vampire.

Mais tout est réglé :diable:
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
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Originally posted by Grenouillebleue@samedi 25 octobre 2003, 01:02
Comment puis-je faire dans ce cas ? J'ai essayé de créer un script AR0306.bcs et de le copier dans l'override, mais je ne connais pas la commande qui permet de l'associer à la zone en question...
A titre d'info, puisque tu as trouvé une autre solution : le script associé à la zone est défini dans le fichier .ARE. Il se trouve à partir de la position 0x94 (hexa) et occupe 8 caractères (omettre l'extension .bcs automatique).
Tu peux l'éditer avec Near Infinity ou DLTCEP ou IETME pour le tester chez toi. Dans un fichier d'installation WeiDU, tu dois pouvoir utiliser l'instruction WRITE_ASCII en précisant l'offset.

Edit: j'ai trouvé ce sujet sur les forums de Forgotten Wars qui te donnera tous les détails en bien plus précis.
:!: Peu disponible
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 !
Avatar du membre
Walar
Blême
Messages : 979
Enregistré le : jeu. 24 avr. 2003, 20:39
Contact :
Statut : Hors ligne
.

Message par Walar »

Oui, c'est ça, je l'ai essayé moi-même dans quelques tests. (Au fait merci Isaya pour ta réponse sur les forums FWS)

Pour allouer un script a une aera qui n'en possède pas :

Code : Tout sélectionner

COMPILE ~XXX\V#AR0043.baf~
  COPY ~XXX\V#AR0043.are~ ~override\V#AR0043.are~
  WRITE_ASCII ~0x94~ ~V#AR0043
Cela alloue le script V#AR0043 à la zone V#AR0043.are qui n'a pas de script défini à la base.

Sinon j'ai une petite question, quelle est la différence entre cette commande et le fait d'uploader le fichier baldur.bcs ?
J'ai un doute, en fait les petites zones du jeu sont régies par le fichier baldur.bcs (car j'ai simplement utilisé la méthode de rajouter un script à baldur.bcs pour rajouter un ennemi dans une maison du district du pont, sans avoir à faire tout cela) ? Et donc à la base elles auraient déjà un script tout de même ? Ou bien je divague la ? :heu:
Avatar du membre
Walar
Blême
Messages : 979
Enregistré le : jeu. 24 avr. 2003, 20:39
Contact :
Statut : Hors ligne
.

Message par Walar »

Personne pour m'expliquer cette différence ? ;)
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Si ton fichier ARE est nouveau, le plus simple est d'y indiquer directement le nom de ton script quand tu crées le fichier ARE. Comme tu sais le nom que le script aura une fois compilé, tu peux anticiper. C'est la même chose que pour les scripts que tu attribues à un personnage dans le fichier CRE. Cette méthode de patch avec WeiDU sert surtout quand tu veux ajouter un script à une zone existante qui n'en possédait pas.

Modifier le fichier baldur.bcs, c'est l'artillerie lourde et c'est franchement déconseillé. C'est la solution ultime quand aucune autre solution ne fonctionne. Bioware n'y a mis que ce qui ne pouvait pas être ailleurs (script de zone, de personnage, ...). Ce script tourne en permanence dans le jeu (où que tu sois) et plus il est gros, plus ton jeu ralentit. C'est notamment une des raisons pour lesquelles des gros mods comme TDD qui le surchargent sont plus lents que le jeu d'origine.
Pour rajouter quelqu'un à un endroit, il faut vraiment utiliser le script de la zone, quitte à devoir créer un script pour la zone s'il n'existait pas, avec la méthode indiquée plus haut.
:!: Peu disponible
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 !
Avatar du membre
Walar
Blême
Messages : 979
Enregistré le : jeu. 24 avr. 2003, 20:39
Contact :
Statut : Hors ligne
.

Message par Walar »

Ah d'accord. Je crois que le simple fait de changer le script d'une zone de cette façon m'aurait éviter de passer plusieurs jours à trouver le moyen d'éliminer 2 roturiers, enfin je reverrais ça demain pfff... ;) J'avais très mal saisi la fonction du fichier baldur.bcs... Merci beaucoup.

:notme2:
Si ton fichier ARE est nouveau, le plus simple est d'y indiquer directement le nom de ton script quand tu crées le fichier ARE. Comme tu sais le nom que le script aura une fois compilé, tu peux anticiper. C'est la même chose que pour les scripts que tu attribues à un personnage dans le fichier CRE. Cette méthode de patch avec WeiDU sert surtout quand tu veux ajouter un script à une zone existante qui n'en possédait pas.

Euh, où est avec quel programme indique-t-on le script à la zone ? Je n'ai pas vu ce type de champ quand j'ai ouvert des fichiers *.are avec Map Editor.
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Tu y accèdes en cliquant sur le bouton "Area properties".
Near Infinity et DLTCEP sauront très remplir cette fonction également.

Cest utile pour tester directement dans le jeu. Pour l'installation avec WeiDU il te faudra utiliser le petit bout de script.
:!: Peu disponible
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 !
Angelus Crow
Statut : Hors ligne
.

Message par Angelus Crow »

J'arrive un an après tout ça, mais bon... Il se trouve que j'ai eu besoin de rajouter un script à une zone du jeu qui n'en possédais pas, et qu'il y a une petite erreur (de syntaxe) dans le script de Walar :timide: .

Voici le code que j'ai utilisé :

Code : Tout sélectionner

COMPILE ~emplacement du script/script.baf~
COPY_EXISTING ~ARXXXX.ARE~* * * * * *  ~override/ARXXXX.ARE~
    WRITE_ASCII 0x94 ~script~
Je ne pense pas que le COMPILE ait besoin d'explication, il faut simplement veiller à ne pas dépasser 8 caractères pour le nom (sans l'extension).

Le COPY_EXISTING est utilisé parce que j'ai copié une zone déjà présente dans le jeu. Dans le cas d'une zone rajouté par vos soins, un COPY fait l'affaire, veiller toute fois à indiquer le chemin.

Le WRITE ASCII, enfin, était la cause de ma reprise. Il n'y a pas les tildes (~) autour de l'offset, mais autour du nom du script.

Vu que je me suis posé la question, j'ai pensé que ça pourrait servir à d'autres :) .
Avatar du membre
Walar
Blême
Messages : 979
Enregistré le : jeu. 24 avr. 2003, 20:39
Contact :
Statut : Hors ligne
.

Message par Walar »

@Angelus Crow : l'offset peut en tout cas être entouré de ~, ça fonctionne également, mais c'est clair que si ça marche sans, il vaut mieux ne pas les mettre.

Par contre, j'avais effectivement oublié de mettre un ~ à la fin du script. ^^

Code : Tout sélectionner

COMPILE ~XXX\V#AR0043.baf~
COPY ~XXX\V#AR0043.are~ ~override\V#AR0043.are~
    WRITE_ASCII [color=gray]~[/color]0x94[color=gray]~[/color] ~V#AR0043[color=red]~[/color]
Répondre

Retourner vers « Cartes et Cartes du monde »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité