I6 property issue

I am trying to make a property which all objects have, but the Property directive seems not to work.

The code is [code]Property position standing;

Class PossiblePosition;

PossiblePosition standing;
PossiblePosition sitting;
PossiblePosition crouching;

[StandSub x; if(actor.position == standing)“You are already erect.”;
x = actor.position;
actor.position = standing;
switch(x){
sitting: “You stand up”;
crouching: “You bend out of your crouch.”;}
];

[SitSub x; if(actor.position == sitting)“You are already sitting.”;
x = actor.position;
actor.position = sitting;
switch(x){
standing: “You sit down.”;
crouching: “You allow yourself to fully sit down.”;}
];

[CrouchSub x; if(actor.position == crouching)“You are already crouching.”;
x = actor.position;
actor.position = crouching;
switch(x){
standing: “You drop to a crouch.”;
sitting: “You rise halfway, into a crouch.”;}[/code]

But the output is

How do I give the self object a “property position”?

When you define a default value for a property (“Property position standing;”) then you can read that property from any object, but not set it. There is no entry in the object’s property table unless you explicitly define it.

The library’s player object (selfobj) is defined with a fixed list of properties. (See parserm.h.) You could use one of them for this purpose, say the “number” property (which is available for game use). Or you could define a new player object with the position property, and install it when the game begins. (Put “player = newselfobj” in your Initialise routine.)