Page 1 sur 1
[ITM] Comment inclure ou supprimer un objet dans un conteneur ?
Posté : ven. 25 févr. 2005, 10:42
par Shinook
J'aimerais savoir comment faire pour inclure, modifier ou supprimer des objets qui sont dans des "containers" dans une carte, mais pas seulement à partir de ma partie (ça je peux le faire à partir d'IETME), pour un MOD par exemple. Est-ce que c'est un script qu'il faut faire ? (dans ce cas lequel ?) Là, je ne vois pas du tout comment faire...
(je suis pas sûr de m'être fait comprendre

:..: )
Posté : ven. 25 févr. 2005, 15:46
par egm
Je suppute que rajouter les commandes suivantes dans le script du container, via Weidu, résout ton pb:
82 CreateItem(S:ResRef*,I:Usage1*,I:Usage2*,I:Usage3*)
169 DestroyItem(S:ResRef*)
Comme IESDP ne précise pas si ces commandes sont valables pour un "container", il faut les tester au préalable...
Posté : ven. 25 févr. 2005, 16:44
par Shinook
Je vois. Et à quoi correspondent les "*" ?
Posté : sam. 26 févr. 2005, 10:57
par egm
Il faut remplacer tout ce qu'il y a entre parenthèse par des éléments qui permettront à ta commande d'être viable.
Par exemple, il faut remplacer "S:ResRef*" par lme code de l'item que tu veux virer pour l'action 82...
Posté : dim. 27 févr. 2005, 23:14
par Sith
Je crois que je veux faire exactement pareil, c à dire insérer des objets de ma création dans des coffres et autres (contenaires?) sur la carte.
Cependant, je n'ai pas compris l'explication d'Egm :snif: ...
Si quelqu'un a une solution autre, ou bien sait réexpliquer pour un débutant en cette matière (c'est quoi un script de contenaire? comment ça "par weidu" ?)
Posté : lun. 28 févr. 2005, 00:27
par Angelus Crow
J'ai trouvé ça en fouillant dans les scripts du jeu :
Pour rajouter / détruire un objet dans un "container", il faudrait ajouter un script à la zone dans lequel votre container se trouve.
Dans chaque zone, les containers sont référencés, il suffirait simplement de trouver celui qui vous intéresse et de dire que vous voulez y rajouter un objet.
Par exemple, voilà une partie du script de l' AR0602 (donjon d'Irenicus), repris dans IESDP :
Code : Tout sélectionner
IF
Global("BG1Pantaloons","GLOBAL",0)
PartyHasItem("MISC47") // Culotte dorée
THEN
RESPONSE #100
SetGlobal("BG1Pantaloons","GLOBAL",1)
ActionOverride("Picture1",CreateItem("MISC47",0,0,0)) // Culotte dorée
Continue()
END
"Picture1" est le nom du container (le tableau contenant une dague+1 et 3 potions de soins dans la salle avec les armes).
Ensuite, la partie qui avait l'air de poser problème : ("MISC47",0,0,0)
"MISC47" : référence de l'objet
0,0,0 : nombre d'objet empilés, nombre de charge de la 1° capacité, nombre de charge de la 2° capacité.
Pour détruire, remplacez
CreateItem("nomdel'objet",x,x,x) par
DestroyItem("nomdel'objet")
Posté : mar. 01 mars 2005, 13:30
par Shinook
Merci, ça va être utile ce que vous avez dit !

Posté : mar. 01 mars 2005, 21:31
par Sith
Merci beaucoup pour cette explication claire.
Si je peux encore me permettre de poser une question: y a t il quelque part un site où on peut trouver (ou qq part dans les fichiers baldur's gate sachant que j'ai refait une installation propre) la liste des contenaires par zone?
Posté : mar. 01 mars 2005, 21:54
par Angelus Crow
A part avec Near Infinity, je ne sais pas...
Posté : mer. 02 mars 2005, 09:51
par egm
Si je peux encore me permettre de poser une question: y a t il quelque part un site où on peut trouver (ou qq part dans les fichiers baldur's gate sachant que j'ai refait une installation propre) la liste des contenaires par zone?
A ma connaissance, non. Il faudrait d'abord répertorier tous les containers de CHAQUE zone de jeu, et pour que ce soit utile, ajouter à la liste les scripts utilisés le cas échéant PLUS la liste des objets. Une tâche importante (même avec DLTCEP)!
Posté : jeu. 03 mars 2005, 00:04
par Isaya
Pour information, ce
lien fournit des exemples à télécharger de fichier TP2 permettant de manipuler les fichiers ARE, notamment en ce qui concerne les conteneurs. Ce n'est pas trivial, mais c'est une autre façon de faire, plus légère pour le jeu, puisqu'il est inutile de modifier des scripts et de surcharger le jeu avec des morceaux de scripts très vite sans objet.
Posté : dim. 13 mars 2005, 16:38
par Shinook
Le lien de téléchargement ne marche pas... :snif:
Re : Inclure des objets
Posté : sam. 15 déc. 2007, 11:50
par Vel Cheran
Comment faire pour simplement importer des objets personnalisés via SK ? Je m'explique, j'ai les fichiers .itm de deux objets, je suppose qu'il faut les copier dans override, mais après : ils ne s'affichent pas dans SK, est-ce normal ?
Re : Inclure des objets
Posté : sam. 15 déc. 2007, 17:17
par Akadis
Non c'est pas normal. Essaye une recherche en classant les objets dans le IB par nom de ressource. Et fait attention les majuscules sont classés avant les minuscules. Ce qui veux dire que
Zebre (avec un Z majuscule)
sera placé avant
alligator (avec un a minuscule)
Re : Inclure des objets
Posté : sam. 15 déc. 2007, 18:34
par Vel Cheran
Ok merci j'ai trouvé via le nom de ressource

(comme c'est pas moi qui ai fait les objets je savais pas sous quel nom ils étaient mis...)
Re : Inclure des objets
Posté : lun. 17 déc. 2007, 23:42
par Isaya
Si ce n'est pas toi qui a fait les objets et que tu te contentes de copier les fichiers ITM dans le répertoire Override, le nom et la description de ces objets ne seront pas ajoutés dans ton jeu et dès lors tu ne peux les retrouver que par leur nom de ressource. De même, tu ne leur verras pas de nom ni de description dans le jeu, ou alors le nom et la description pourront être n'importe quoi. Dans le fichier ITM, il n'y a qu'un renvoi vers un autre fichier, dialog.tlk, qui est habilité à contenir ces informations.
Faute d'un mécanisme d'installation par WeiDU (le plus pratique) ou le très ancien IEEP (les fichiers TBG ou IAP, obsolètes), point de salut pour échanger des fichiers sans perdre les textes.