Hello. I have a problem with some variables, because looks like MAYA can't use them unless I type the values. First, I created some objects and variables: polySphere -r 0.2 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1 -name Ferritas; circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 0.05 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1 -name ExtrDerFerritas; setAttr "ExtrDerFerritas.translateX" -0.2; circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 0.05 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1 -name ExtrIzqFerritas; setAttr "ExtrIzqFerritas.translateX" 0.2; select -cl ; select -r Ferritas ; select -tgl ExtrDerFerritas ; doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1; select -cl ; select -r Ferritas ; select -tgl ExtrIzqFerritas ; doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1; polySphere -r 0.1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1 -name Canaca; polySphere -r 0.1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1 -name Eolo; setAttr "Eolo.translateZ" 0.65; setAttr "Eolo.translateX" 0.3; setAttr "Canaca.translateZ" 0.65; setAttr "Canaca.translateX" -0.3; float $PosXExtrDerFerritas; float $PosXCanaca; float $DifXExtrDerFeCa; $PosXExtrDerFerritas = `getAttr "ExtrDerFerritas.translateX"`; $PosXCanaca = `getAttr "Canaca.translateX"`; $DifXExtrDerFeCa = $PosXExtrDerFerritas - $PosXCanaca; float $PosXExtrIzqFerritas; float $PosXCanaca; float $DifXExtrIzqFeCa; $PosXExtrIzqFerritas = `getAttr "ExtrIzqFerritas.translateX"`; $PosXCanaca = `getAttr "Canaca.translateX"`; $DifXExtrIzqFeCa = $PosXExtrIzqFerritas - $PosXCanaca; float $PosXExtrDerFerritas; float $PosXEolo; float $DifXExtrDerFeEo; $PosXExtrDerFerritas = `getAttr "ExtrDerFerritas.translateX"`; $PosXEolo = `getAttr "Eolo.translateX"`; $DifXExtrDerFeEo = $PosXExtrDerFerritas - $PosXEolo; float $PosXExtrIzqFerritas; float $PosXEolo; float $DifXExtrIzqFeEo; $PosXExtrIzqFerritas = `getAttr "ExtrIzqFerritas.translateX"`; $PosXEolo = `getAttr "Eolo.translateX"`; $DifXExtrIzqFeEo = $PosXExtrIzqFerritas - $PosXEolo; Now, if you execute the next lines, nothing happens (even though the variables have the correct values to make it work): if ($DifXExtrDerFeCa >= 0.1 || $DifXExtrIzqFeCa <= -0.1) { move -os -r 0 0 1 "Ferritas"; }; If you want to check the values of the variables, you can execute… print $DifXExtrDerFeCa; print $DifXExtrIzqFeCa; print $DifXExtrDerFeEo; print $DifXExtrIzqFeEo; …which will give you the next values: $DifXExtrDerFeCa = 0.1 $DifXExtrIzqFeCa = 0.5 $DifXExtrDerFeEo = -0.5 $DifXExtrIzqFeEo = -0.1 Finally, if you set the values manually… $DifXExtrDerFeCa = 0.1; $DifXExtrIzqFeCa = 0.5; $DifXExtrDerFeEo = -0.5; $DifXExtrIzqFeEo = -0.1; ...the following lines do make the object move like I want: if ($DifXExtrDerFeCa >= 0.1 || $DifXExtrIzqFeCa <= -0.1) { move -os -r 0 0 1 "Ferritas"; }; What can I do to correct the problem? I do not want to type the variables' values every time I want the object to move.