Simply Maya User Community

Simply Maya User Community (https://simplymaya.com/forum/index.php)
-   Programming (https://simplymaya.com/forum/forumdisplay.php?f=32)
-   -   Simple Expression please help! (https://simplymaya.com/forum/showthread.php?t=42989)

takecake 07-02-2017 08:36 AM

Simple Expression please help!
 
Greetings,

I'm trying to write a simple mel expression for my character rig, but each time i hit Create in the expression editor it says i have a syntax error in the last line (line 19.1).

Would anyone please be able to look at my simple expression and help me find what's wrong with it?

Thanks!


//check if there is rotation in Z
if(R_FK_Shoulder_CTRL.rotateZ != 0) {
// if there is rotation in Z, check if there is rotation in X
if(R_FK_Shoulder_CTRL.rotateX !=0) {
//if there is rotation in X after Z, then ik handle roll = rotateX / -2
AO_R_BendArm_ikHandle01.Roll = R_FK_Shoulder_CTRL.rotateX /-2}
// if there is no Rotation in X after Z, then Roll = 0
else {AO_R_BendArm_ikHandle01.Roll = 0}
} // if there was no rotation in Z in the first place, check if there is rotation in Y
else { if(R_FK_Shoulder_CTRL.rotateY != 0) {
// if there is Rotation in Y, check if there is Rotation in Z after Y
if(R_FK_Shoulder_CTRL.rotateZ != 0) ;
// if there is Rotation in Z after Y, Roll = rotateZ / -2
AO_R_BendArm_ikHandle01.Roll = R_FK_Shoulder_CTRL.rotateZ /-2;
// if there is no Rotation in Z after Y, Roll = 0
else {AO_R_BendArm_ikHandle01.Roll = 0} };
// if there was no Rotation in Y in the first place, Roll = 0
else {AO_R_BendArm_ikHandle01.Roll = 0};
}

NextDesign 11-02-2017 03:20 PM

Space it out, and it becomes more apparent. There are multiple issues with the nesting of your conditions, as well as semicolons.

Code:


//check if there is rotation in Z
if(R_FK_Shoulder_CTRL.rotateZ != 0)
{
        // if there is rotation in Z, check if there is rotation in X
        if(R_FK_Shoulder_CTRL.rotateX !=0)
        {
                //if there is rotation in X after Z, then ik handle roll = rotateX / -2
                AO_R_BendArm_ikHandle01.Roll = R_FK_Shoulder_CTRL.rotateX /-2
        }
        // if there is no Rotation in X after Z, then Roll = 0
        else
        {
                AO_R_BendArm_ikHandle01.Roll = 0
        }
}
// if there was no rotation in Z in the first place, check if there is rotation in Y
else
{
        if(R_FK_Shoulder_CTRL.rotateY != 0)
        {
                // if there is Rotation in Y, check if there is Rotation in Z after Y
                if(R_FK_Shoulder_CTRL.rotateZ != 0) ;

                // if there is Rotation in Z after Y, Roll = rotateZ / -2
                AO_R_BendArm_ikHandle01.Roll = R_FK_Shoulder_CTRL.rotateZ /-2;

                // if there is no Rotation in Z after Y, Roll = 0
                else
                {
                        AO_R_BendArm_ikHandle01.Roll = 0
                }
        };
        // if there was no Rotation in Y in the first place, Roll = 0
        else
        {
                AO_R_BendArm_ikHandle01.Roll = 0
        };
}



All times are GMT. The time now is 01:37 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Simply Maya 2018