SA-MP Forums Archive
What am I doing wrong :O? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: What am I doing wrong :O? (/showthread.php?tid=186513)



What am I doing wrong :O? - rbN. - 29.10.2010

Got this:

pawn Код:
forward MoveLift();
public MoveLift()
{
    if(IsUp == 1)
    {
        for( new i = 0; i < sizeof(lift); i ++ )
        {
            new Float:x,Float:y,Float:z;
            GetDynamicObjectPos(i,x,y,z);
            MoveDynamicObject(i, x,y, z-37, 2);
        }

        IsUp = 0;
    }
    else if(IsUp == 0)
    {
        for( new i = 0; i < sizeof(lift); i ++ )
        {
           new Float:x,Float:y,Float:z;
           GetDynamicObjectPos(lift[i],x,y,z);
           MoveDynamicObject(lift[i], x,y, z+37, 2);
       }

        IsUp = 1;
    }
}
Problem is, it's going always +37, and not -37. So the lift is going up all the time, and not going down. I want that one time it goes down, other time up.


Re: What am I doing wrong :O? - iggy1 - 29.10.2010

IsUp = 0; makes your code always execute the "else if(IsUp==0)" block. (i think)


Re: What am I doing wrong :O? - rbN. - 29.10.2010

Quote:
Originally Posted by iggy1
Посмотреть сообщение
IsUp = 0; makes your code always execute the "else if(IsUp==0)" block. (i think)
So you mean this is correct:
pawn Код:
forward MoveLift();
public MoveLift()
{
    if(IsUp == 1)
    {
        for( new i = 0; i < sizeof(lift); i ++ )
        {
            new Float:x,Float:y,Float:z;
            GetDynamicObjectPos(i,x,y,z);
            MoveDynamicObject(i, x,y, z-37, 2);
        }

        return IsUp = 0;
    }
   
    if(IsUp == 0)
    {
        for( new i = 0; i < sizeof(lift); i ++ )
        {
            new Float:x,Float:y,Float:z;
            GetDynamicObjectPos(lift[i],x,y,z);
            MoveDynamicObject(lift[i], x,y, z+37, 2);
        }

        return IsUp = 1;
    }
    return 1;
}
Didn't work btw :<


Re: What am I doing wrong :O? - iggy1 - 29.10.2010

try this
pawn Код:
public MoveLift()
{
    if(IsUp == 1)
    {
        for( new i = 0; i < sizeof(lift); i ++ )
        {
            new Float:x,Float:y,Float:z;
            GetDynamicObjectPos(i,x,y,z);
            MoveDynamicObject(i, x,y, z-37, 2);
        }
        IsUp = 0;
        return 1;//to stop further execution
    }
    else if(IsUp == 0)
    {
        for( new i = 0; i < sizeof(lift); i ++ )
        {
           new Float:x,Float:y,Float:z;
           GetDynamicObjectPos(lift[i],x,y,z);
           MoveDynamicObject(lift[i], x,y, z+37, 2);
       }
       IsUp = 1;
       return 1;
    }



Re: What am I doing wrong :O? - rbN. - 29.10.2010

Didn't work iggy


Re: What am I doing wrong :O? - iggy1 - 29.10.2010

Sorry thought i spotted your problem.


Re: What am I doing wrong :O? - rbN. - 29.10.2010

FIXED -.-