Page 1 sur 1
Comment placer un item créé dans un tonneau ?
Posté : dim. 25 avr. 2021, 15:08
par Hayabusa
Bonjour,
J'ai réussi à maitriser la création d'objet et je me sers de la console pour vérifier si ils sont correctement ajoutés. Maintenant j'aimerai savoir comment ajouter l'objet dans le jeu, en loot sur un mob je pense savoir comment faire, je l’équipe simplement au PNJ et je coche sur l'objet "dropable". Mais je fais comment pour le mettre sur un objet du décors comme une caisse ou un coffre ?
Posté : lun. 26 avr. 2021, 20:59
par Cocrane
Salut YayaBusa,
Comment placer un objet dans un tonneau? (de bière? :-))
Je ne suis pas sur de comprendre le contexte de ta demande.
Tu désires créer un mod qui va créer un objet et le placer dans un container d'une carte?
Si oui:
soit c'est sur une carte que tu vas va créer, il suffit dans ce cas d'ouvrir la carte avec l'outil DLTCEP (par exemple) et d'aller dans le menu container pour ajouter ton objet.
soit c'est sur une carte existante du jeu et tu veux ajouter un objet dans un container existant:
- via le TP2 de ton mod, tu peux, je pense coder l'ajout de ton objet. Mais je ne maîtrise pas syntaxe.
- via le .baf de la carte, tu codes l'ajout l'objet. J'ai toujours codé le cas où tu l'ajoutes à une créature.
J'ai jeté un oeil aux mots clés et à priori, ils sont tous annoncés pour effectuer la manipulation avec une créature et non un container mais je suppose que c'est quand même possible.
Vu que tu n'as pas signalé dans quel jeu, je pars sur Baldur's Gate. :-)
https://gibberlings3.github.io/iesdp/scripting/actions/bg2actions.htm
Les mots clés liés à ITEM ou à CONTAINER.
Cocrane
Posté : lun. 26 avr. 2021, 21:53
par Freddy_Gwendo
Je suppose que tu souhaites ajouter un objet dans un tonneau d'une carte existante. Si c'est le cas, voici le
code à utiliser.
Tu trouveras la description de tous les paramètres de la fonction ADD_AREA_ITEM dans la doc WeiDU.
Posté : lun. 26 avr. 2021, 23:02
par Bataff
Cocrane a écrit :J'ai jeté un oeil aux mots clés et à priori, ils sont tous annoncés pour effectuer la manipulation avec une créature et non un container mais je suppose que c'est quand même possible.
La même question que je me posais.
Je n'en ai pas vu une seule non plus en les parcourant toutes une par une (ou peut-être y en a-t-il une que j'ai mal lue
)
Il y a cependant une instruction avec laquelle je me demandais si elle ne pourrait pas faire l'affaire en utilisant la technique de la créature invisible, déjà citée dans plusieurs fils ici ou là pour divers buts : Ici, on créerait une créature, invisible et avec l'objet, puis par le script de la carte on la mettrait devant le tonneau, et elle mettrait l'objet dans le tonneau par cette action :
15 GiveItem(S:Object*,O:Target*)
Puis on la ferait disparaître.
Mais j'ai juste regardé et rien du tout testé pour ma part, et la solution apportée par Freddy-Gwendo me paraît beaucoup plus simple et efficace.
Posté : mar. 27 avr. 2021, 08:14
par Hayabusa
Merci beaucoup y a toute les localisations c'est génial je vais pouvoir m'amuser
A t on le même fichier pour icewind dale ?
Posté : mar. 27 avr. 2021, 09:53
par Freddy_Gwendo
Hayabusa a écrit :Merci beaucoup y a toute les localisations c'est génial je vais pouvoir m'amuser
A t on le même fichier pour icewind dale ?
Je ne comprends pas ta question... Si tu parles de la
fonction ADD_AREA_ITEM, oui, elle fonctionne aussi pour IDW.
Posté : mar. 27 avr. 2021, 18:38
par Hayabusa
Code : Tout sélectionner
// Spellhold: Buckler +2 in container Crate 3 (#3)
ACTION_IF (FILE_EXISTS_IN_GAME ~shld01p.itm~) BEGIN
COPY_EXISTING ~ar1500.are~ ~override~
LPF ADD_AREA_ITEM INT_VAR container_to_add_to = 3 STR_VAR item_to_add = SHLD01P END
BUT_ONLY
END
je fais référence à la localisation des containers comme ci dessus.
Posté : mer. 28 avr. 2021, 07:04
par Freddy_Gwendo
Oui.
En théorie WeiDU permet de modifier les fichiers de tous les jeux IE (saga BG, IWD, IWD2, PsT et leurs versions EE).
Les fichiers IWD et PsT ont des structures différentes qu'il faut prendre en compte lorsqu'on écrit soi-même son code. En revanche, les fonctions WeiDU intégrées prennent en compte ces différences dans leur code source. C'est donc transparent pour le moddeur qui n'a pas en se soucier.
Posté : ven. 30 avr. 2021, 13:02
par Hayabusa
Je pense que je me suis pas bien exprimé. Dans le code
Code : Tout sélectionner
// Spellhold: Buckler +2 in container Crate 3 (#3)
ACTION_IF (FILE_EXISTS_IN_GAME ~shld01p.itm~) BEGIN
COPY_EXISTING ~ar1500.are~ ~override~
LPF ADD_AREA_ITEM INT_VAR container_to_add_to = 3 STR_VAR item_to_add = SHLD01P END
BUT_ONLY
END
il y a référence à la zone, à l'objet et au container. Supposons je suis dans l'antichambre où il y a 3-4 containers en cercle. Comme savoir lequel est le 1, le 2 ... etc ? Et si j'ajoute plusieurs item je dois déterminer ça position ? ou ils se mettent automatiquement les uns à la suite des autres ?
Posté : ven. 30 avr. 2021, 19:47
par Bataff
" a écrit :Comme savoir lequel est le 1, le 2 ... etc ?
Personnellement , je vois deux solutions :
En utilisant le logiciel IETME (
ici) (qui permet de créer et voir graphiquement des cartes et donc de voir graphiquement les containers de la carte avec leurs propriétés).
Une fois le logiciel ouvert : - Fichier => Create new/Switch to area editing
- Ouvrir la carte
- Cocher la case 'Containers' dans le panel de gauche puis explorer les containers sur la carte.
(ne pas enregistrer la carte en quittant)
En faisant des tests : On met des objets différents dans les coffres -un dans chaque-, on installe le mod perso, puis on lance le jeu et on fait ouvrir les coffres par le personnage joueur pour voir où sont les objets (par contre, je ne sais pas comment on 'triche' dans Icewind Dale : Téléporter le personnage principal dans la carte en question et lui donner un ou des objets pouvant ouvrir les coffres si besoin est
).
Posté : ven. 30 avr. 2021, 22:12
par Freddy_Gwendo
Hayabusa a écrit :Je pense que je me suis pas bien exprimé. Dans le code
Code : Tout sélectionner
// Spellhold: Buckler +2 in container Crate 3 (#3)
ACTION_IF (FILE_EXISTS_IN_GAME ~shld01p.itm~) BEGIN
COPY_EXISTING ~ar1500.are~ ~override~
LPF ADD_AREA_ITEM INT_VAR container_to_add_to = 3 STR_VAR item_to_add = SHLD01P END
BUT_ONLY
END
il y a référence à la zone, à l'objet et au container. Supposons je suis dans l'antichambre où il y a 3-4 containers en cercle. Comme savoir lequel est le 1, le 2 ... etc ? Et si j'ajoute plusieurs item je dois déterminer ça position ? ou ils se mettent automatiquement les uns à la suite des autres ?
Le plus simple est d'installer NearInfinity. Tu ouvres la carte concernée, tu cliques l'onglet Edit et tu cherches le conteneur qui te convient. Ils sont classés par ordre numérique.
Posté : sam. 01 mai 2021, 00:27
par Bataff
Ou, toujours dans NearInfinity, onglet view sur la carte concernée puis View Area, et cela fera aussi bien que IETME graphiquement.
(je le découvrais... très bien ce nouveau logiciel
)
Posté : sam. 01 mai 2021, 11:08
par Hayabusa
Merci pour vos réponse
Posté : sam. 01 mai 2021, 12:20
par Freddy_Gwendo
Un conseil : installe la toute
dernière version de NearInfinity qui est sortie ce matin.
J'ai participé à la mise au point de certaines fonctionnalités nouvelles, et... c'est une petite tuerie.
Posté : sam. 01 mai 2021, 15:47
par Hayabusa
C'est effectivement ouf