J’ai un petit problème quand je veux utiliser la commande ChangePlayer(obj), qui permet de changer le joueur en un objet spécifique : lorsque je compile et lance le jeu, l’interpréteur me met :
**Library error 10 (0,0) **
** The player-object is outside the object-tree **
Pourtant le code est simple : dans initialise, il y a changeplayer(xx) et location=office, un objet xx et un objet office, et c’est tout !
Je crois que JB avait utilisé cette commande dans « La mort pour seul destin »… mais en tout cas pour moi ça ne fonctionne pas !
Une idée ?
oui, il me semble que l’ordre de déclaration est important, déplace le code où tu as déclaré le joueur (de plus ce code doit exister il me semble)
Je vois pas trop où, en fait j’ai repris le même ordre que pour LMPSD…
Voilà le code, en fait :
[code]
Constant Story « Lalala »;
Constant Headline
« ^^ »;
Release 1; Serial « 210408 »;
Include « Parser »;
Include « VerbLib »;
Object virginie « Joueur »
with
short_name [; return L__M(##Miscellany, 18); ],
description « C’est moi ! »,
has concealed animate proper transparent;
Object office « Bureau »
with description « lalala »,
has ;
[ Initialise;
ChangePlayer(virginie);
lookmode=2;
give player light;
location = office;
print_ret « ** Ceci est un texte introductif ** »;
];
Include « FrenchG »;[/code]
ah oui, cela me revient, il faut que l’objet joueur se trouve dans un lieu du jeu, et que ce lieu soit défini avant la définition du joueur. Dans lmpsd, c’est indiqué ainsi :
Object prisoner "prisonnier" start
start est le lieu de départ.
Donc a priori dans ton cas cela serait :
[code]Object office « Bureau »
with description « lalala »,
has ;
Object virginie « Joueur » office
with
short_name [; return L__M(##Miscellany, 18); ],
description « C’est moi ! »,
has concealed animate proper transparent;[/code]