Joueur en cage - comment gérer ?

Salut à tous,

Petite question à laquelle je n’ai pas de solution évidente… Comment gérer un lieu A dans lequel se trouve une cage B, dans laquelle le joueur peut aller ?

Problèmes:
-le joueur dans la cage continue à voir les objets présents dans le lieu A, mais ne peut pas les toucher, (en supposant que la cage est haute);
-le joueur peut entrer dans la cage, et en sortir pour revenir dans A;
-quand le joueur est dans A, il peut évidemment examiner et toucher la cage;
-certains objets (cage en elle même, serrure, porte de la cage) sont « touchables » dans tout les cas.

Comment faire en pratique ? Créer deux lieux ? La cage doit être forcément un objet avec l’attribut enterable et container … Mais comment la gérer en pratique ? J’ai fait quelques essais, mais les commandes « entrer » et « sortir » ne marchent pas forcément bien, car je me retrouve avec des incohérences.

Pour les objets non touchables, Inform 6 propose (oui je suis encore au 6 :sunglasses: ), dans le DM4 (page 232), d’utiliser une propriété ObjectIsUntouchable(noun). Mais en pratique, le résultat est « Vous ne pouvez pas toucher XX car XX est dans le chemin », ce qui ne colle pas au contexte, au sens où ce n’est pas un objet qui m’empêche de toucher les objets présents dans A, mais bien un problème d’accès ! Voici ce qu’explique le DM4 :

Mais ça ne m’aide pas vraiment… Et faire des tests n’est pas facile. Comment, en I6, savoir si le joueur est dans un objet enterable ? Je connais if (player in LieuA) mais je n’ai pas réussi à le transposer aux objets…?

Des idées ?

tu peux toujours regarder le code de « Échappée Belle Dans Les Contrées du Rêve » qui utilise une cage dans une pièce à un moment donnée :

ifarchive.org/if-archive/gam … mlands.inf

Je vois ça dans le code :

has  transparent openable lockable locked container enterable static female;

Merci !

J’ai pu (je pense) tout résoudre, avec l’attribut transparent. Pour les problèmes d’accessibilité, je réalise un IF (player into cage) pour savoir s’il peut ou non agir sur l’objet. Je suis en train de regarder si on peut faire mieux…