Last checkpoint was not destroyed
#1

I have a problem with race checkpoint.

pawn Код:
public OnPlayerEnterDynamicRaceCP(playerid,checkpointid)
{
    if(checkpointid == cp[0])
    {
        cp[1] = CreateDynamicRaceCP(0,258.1696,2502.3184,16.0474,-78.5963,2498.3335,16.0418,10,200, .streamdistance = 500);
        DestroyDynamicRaceCP(cp[0]);
    }
    else if(checkpointid == cp[1])
    {
        cp[2] = CreateDynamicRaceCP(1,-78.5963,2498.3335,16.0418,-78.5963,2498.3335,16.0418,10,200, .streamdistance = 500);
        DestroyDynamicRaceCP(cp[1]);
    }
    else if(checkpointid == cp[2]) //This one doesn't work. I didn't receive "win" message and cp[2] was not destroyed.
    {
        SendClientMessage(playerid,-1,"win");
        DestroyDynamicRaceCP(cp[2]);
        SetPlayerVirtualWorld(playerid,0);
        return 1;
    }
    return 1;
}
I'm using streamer plugin.
Reply
#2

How did you define cp[];?
Reply
#3

new cp[3];
Reply
#4

How about using just 'else' on the last line (since it doesn't have any other choice) instead of 'else if'? Or using switch statements?
Reply
#5

Quote:
Originally Posted by Rajat_Pawar
Посмотреть сообщение
How about using just 'else' on the last line (since it doesn't have any other choice) instead of 'else if'? Or using switch statements?
He can't switch statements in this situation.
Reply
#6

I don't think that's the problem. + I will get an errors if I do that.
Reply
#7

Yes, he can use switch.
Reply
#8

pawn Код:
switch (checkpointid)
    {
        case cp[0]:
        {
            cp[1] = CreateDynamicRaceCP(0,258.1696,2502.3184,16.0474,-78.5963,2498.3335,16.0418,10,200, .streamdistance = 500);
            DestroyDynamicRaceCP(cp[0]);
        }
?

Can't.
Reply
#9

pawn Код:
#include    <a_samp>
#include    <streamer>

new cp[3];

public OnPlayerEnterDynamicRaceCP(playerid, checkpointid)
{
    for(new i = 0; i < 3; i++)
    {
        if(checkpointid == cp[i])
        {
            switch(i)
            {
                case 0:
                {
                    DestroyDynamicRaceCP(cp[0]);
                    cp[1] = CreateDynamicRaceCP(0,258.1696,2502.3184,16.0474,-78.5963,2498.3335,16.0418,10,200, .streamdistance = 500);
                }

                case 1:
                {
                    DestroyDynamicRaceCP(cp[1]);
                    cp[2] = CreateDynamicRaceCP(1,-78.5963,2498.3335,16.0418,-78.5963,2498.3335,16.0418,10,200, .streamdistance = 500);
                }

                case 2:
                {
                    SendClientMessage(playerid, -1, "win");
                    DestroyDynamicRaceCP(cp[2]);
                    SetPlayerVirtualWorld(playerid,0);
                }
            }
        }
    }
    return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)