Josh Babcock wrote:
> OK, this works great: (other than the fact that it doesn't actually do
> anything yet)
>
> gearLightCheck = func {
> for (i=0; i<3; i=i+1) {
> thisProp = "/gear/gear[" ~ i ~ "]/position-norm";
> if ( getprop(thisProp) == 1 ) {
> print("green");
> } elsif ( getprop(thisProp) == 0 ) {
> print("off");
> } else {
> print("red");
> }
> }
> settimer(gearLightCheck, 5);
> }
>
> but this
>
> gearLightCheck = func {
> for (i=0; i<3; i=i+1) {
> thisProp = "/gear/gear[" ~ i ~ "]/position-norm";
> if ( getprop(thisProp) == 1 ) {
> print("green");
> } elsif ( getprop(thisProp) < 1 ) { <---- Line 143
> print("red");
> } else {
> print("off");
> }
> }
> settimer(gearLightCheck, 5);
> }
>
> produces this error:
> Nasal runtime error: nil used in numeric context
> at /usr/local/share/FlightGear/data/Aircraft/b29/b29.nas, line 143
>
> I know these props are set, because I put the following in the set.xml file:
>
> <controls>
> <gear>
> <nosewheel-caster type="bool" archive="y">true</nosewheel-caster>
> <antiskid type="bool" archive="y">false</antiskid>
> <gear num="0">
> <position-norm>0</position-norm>
> </gear>
> <gear num="1">
> <position-norm>0</position-norm>
> </gear>
> <gear num="2">
> <position-norm>0</position-norm>
> </gear>
> <gear num="3">
> <position-norm>0</position-norm>
> </gear>
> </gear>
> </controls>
>
> As an aside, the initial output looks like this:
> b29-common.xml initialized
> 0: red
> 1: red
> 2: red
> 3: red
> WARNING: Legacy engine definition in YASim configuration file. Please fix.
> WARNING: Legacy engine definition in YASim configuration file. Please fix.
> WARNING: Legacy engine definition in YASim configuration file. Please fix.
> WARNING: Legacy engine definition in YASim configuration file. Please fix.
> 0: green
> 1: green
> 2: green
> 3: green
> 0: green
> 1: green
> 2: green
> 3: green
>
> Any thoughts?
>
> Josh
>
> _______________________________________________
> Flightgear-devel mailing list
> [email protected]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
> 2f585eeea02e2c79d7b1d8c4963bae2d
>
Umm, never mind. I was setting /controls/gear/... instead of /gear/...
I had the solution a while ago, just typoed it away. Just a case of
NASAL starting up before YASim gets a chance to create the node.
Mea culpa.
Josh
_______________________________________________
Flightgear-devel mailing list
[email protected]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d