Page 1 sur 1
Placer un objet ds un coffre à un moment précis d'une quête
Posté : 03 mars 2013, 23:10
par daan
Bonjour,
Je cherche à placer un objet (un livre) dans le coffre d’un marchan
d à un moment précis d’une quête (stage20).
Ayant récemment appris une méthode avec les alias pour placer un acteur (méthode décrite dans ce poste :
http://www.confrerie-des-traducteurs.fr ... 8&start=10), j’ai donc tenté de reproduire l’opération avec mon livre.
Pour ce faire j’ai :
Créé un livre,
Dans ma quête j’ai créé un nouvel alias pointant vers le coffre de mon marchan
d (alias_coffre)
Toujours dans la quête j’ai créé un deuxième alias (alias_livre) : "create reference to object" + Mon livre + "In" et «alias_coffre» )
Pour ce deuxième alias j’ai également coché les cases « allow Diesabled » et « Initially Diesabled »
Enfin dans le fragment du stage voulu j’ai rédigé :
” Alias_livre.GetReference().enable()”
Et vous l’aurez compris cela ne fonctionne pas.
J’ai décoché la case « Initially Diesabled » pour un test histoire de voir si l’alias était bien créé et c’est bien le cas sauf que bien s
ûr ce dernier est créé au tou
t début de la quête.
L’un d’entre vous pourrait-il me dire d’où vient mon problème ?
(Ced mon sauveur es-tu l
à ? )
D’avance merci,
Daan.
Re: placer un objet ds un coffre de marchant a un moment pré
Posté : 04 mars 2013, 00:12
par ced909
Bonsoir,
Alors à ma connaissance, on ne peut pas Disable() et Enable() une référence (objets, livres, armure, armes...) contenue dans un coffre... et ceci depuis Morrowind.
Ces fonctions ne marchent que si l'object référencé est présent dans une Cell interior/exterior. Tes enable/disable et autres flags dans le genre sont donc inutils ici tant que l'objet est dans un container.
Sinon tu peux rendre actif ton 2e alias "create ref in coffre", en lui mettant des conditions dans cet alias "book" cible de la condition "player" car c'est une référence "Create"
voir la section "Fill Type Conditions" ->
http://www.creationkit.com/Alias
Sur ce point, je ne pourrais pas beaucoup t'aider, je n'ai jamais testé les conditions d'Alias / essaie de regarder les Alias de quêtes existantes.
Tu peux l'ajouter autrement de l'exterieur par fonction de script aussi à toi de voir.
Re: placer un objet ds un coffre de marchant a un moment pré
Posté : 04 mars 2013, 18:59
par daan
Bonjour,
Si j'ai bien compris pour conditionner les alias "créate" je n'ai droit qu’à des conditions sur le player ! c'est bien ça ? (Désolé , mon anglais est plus que limité.)
Si c'est bien ça je pense me diriger vers un petit script, les conditions sur le player alors que je voudrai mettre en place a un stage de quête me semble compliqué.
Une petite ligne de script me sera plus accessible, après tout j'ai eu un excellent prof de scripting !
Daan
Re: Placer un objet ds un coffre de marchand à un moment pré
Posté : 04 mars 2013, 22:55
par daan
re-bonjour,
Le prof est bon mais l'élève est toujours aussi nul !
j'ai tenté un " MonContainer.AddItem(MonLivre)" dans le fragment du stage de la quête mais il n'arrive pas a compiler :"AddItem is not a function or does not exist
"
j'ai également tenté dans un fragment de dialogue mais j'ai le même résultat . ( pourtant j'ai déjà utilisé un "PlayerRef.addItem(TrucBidul) )
Où est mon erreur ?
D'avance merci ,
Daan
Re: Placer un objet ds un coffre de marchand à un moment pré
Posté : 04 mars 2013, 23:01
par ced909
Hello,
"MonContainer" est l'ID du "ReferenceAlias" ? Et c'est pareil pour "MonLivre" ?
Si oui alors essaie ceci : MonContainer.GetRef().AddItem(MonLivre.GetRef())
Re: Placer un objet ds un coffre de marchand à un moment pré
Posté : 05 mars 2013, 23:50
par daan
Bonjour,
d'abord merci , une fois de plus , pour ton aide.
"MonContainer" est l'ID du "ReferenceAlias" ?
non , "MonContainer" est une propriété du type container qui
contenait le coffre du marchant.
Et c'est pareil pour "MonLivre" ?
pas d'alias non plus ici : propriété du type book.
Mais ça c'était avant !
après ton poste j'ai tenté de mettre en place des alias, si pour le coffre c'était facile je ne voyais pas comment faire avec le livre ( le coffre existe dans la cell et donc je peux le "spécifier" mais pour le livre je ne sais/savais pas comment procéder.)
J'ai donc fais un mixe :
AliasMonContainer.GetRef().AddItem(MonLivre)
avec MonLivre qui est toujours une propriété du type book.
et la ... ça marche !
Ça fonctionne mais je comprend pas pourquoi , peux tu éclairer ma lanterne ?
pourquoi avec l'alias ça marche et pas avec une propriété "classique"?
et pourquoi faut il l'alias sur le container et pas sur l'objet ( livre) ?
D'avance merci pour ton aide.
Daan
Re: Placer un objet ds un coffre de marchand à un moment pré
Posté : 24 avr. 2013, 22:25
par Gerauld
Quand le compilateur te dit qu'une fonction n'existe pas pour un objet, comme ton additem sur ta variable moncontainer, cela peut vouloir dire deux choses :
- ta propriété ou variable est d'un type pour lequel cette instruction n'existe pas. (par exemple, on ne peut faire un additem sur un arbre (enfin normalement... Avec Beth, il faut tester avant de dire ce genre de trucs...))
- Le compilateur a eu du mal à comprendre la déclaration de ta propriété... donc aucun type n'y est attaché donc pas facile... Quête? Stage? Normal. Il faut en effet refermer le tout et le ré-ouvrir pour pouvoir ajouter des propriétés. Avec les quest Stages, il est normalement impossible d'ajouter des properties le 1er coup sans avoir refermer le script après sa création.
PETIT LIEN
Hors-sujet
Heu... Sujet résolu? Petit balise [Résolu] dans le titre du sujet. Merci d'avance.