J'ai un problème avec ça, justement... Voici mon source FunDelphi.
obstacle TPlayerHasSword
name 'Personnage qui bloque le joueur s''il n''a pas d''épée';
image 'Characters/ManWithBeard';
on Pushing do
var
Selected: Integer;
begin
inherited;
if not KeyPressed then
Exit;
Selected := Player.ShowSelectionMsg(
'Eh toi, que fais-tu là ? Tu veux aller dans la forêt ? C''est '+
'dangereux ! Je ne te laisserai passer que si tu as une épée. Est-ce le '+
'cas ?',
['Oui', 'Non']
);
if Selected = 0 then
begin
Player.ShowMessage ('Prouve-le moi en tuant le monstre, juste à côté !');
StillMovingMonster.ChangePosition(Point3D(11,23,1));
end else
begin
Player.ShowMessage ('Va en trouver une alors, si tu veux entrer dans la forêt !');
end;
end;
end;
poscomponent TStillMovingMonster (TMovingMonster)
name 'Petit monstre qui teste le joueur';
on ChangePosition do
begin
inherited;
if not Master.Editing and (Map = nil) then
begin
Master.Map['ForestMap'].Map[10,22,1].Obstacle:=nil;
Master.Map['ForestMap'].Map[9,22,1].Obstacle:=ManAfterPlayerHasSword;
end;
end;
end;
Les deux composants sont bien déclarés, et StillMovingMonster est placé sur la carte.
Le problème est sur la ligne : " StillMovingMonster.ChangePosition(Point3D(11,23,1));".