[Ajuda] Sistema de corrida
#1

pawn Код:
new EVENTO[MAX_PLAYERS];
new PrimeiroCorrid = 999;
new SegundoCorrid = 999;
new TerceiroCorrid = 999;
new QuartoCorrid = 999;
new QuintoCorrid = 999;
new SextoCorrid = 999;
new SetimoCorrid = 999;
new OitavaCorrid = 999;
new NonoCorrid = 999;
new DecimoCorrid = 999;
new OnzeCorrid = 999;
new DozeCorrid = 999;
new TrezeCorrid = 999;
new QuatorzeCorrid = 999;
new QuinzeCorrid = 999;
new DezeseisCorrid = 999;
new DesseseteCorrid = 999;
new DezoitoCorrid = 999;
new DezenoveCorrid = 999;
new VogesimoCorrid = 999;

//---------------------------------------------------------------//
public OnPlayerEnterRaceCheckpoint(playerid)
{
    if(EVENTO[playerid] == 1)
    {
        if(PlayerToPoint(25.0,playerid,1948.9094,2401.7510,10.5475))
        {
            EVENTO[playerid] = 2;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,2022.1260,2384.6340,10.4588,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 2)
    {
        if(PlayerToPoint(25.0,playerid,2022.1260,2384.6340,10.4588))
        {
            EVENTO[playerid] = 3;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,0,2126.4751,2214.8557,10.3991,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 3)
    {
        if(PlayerToPoint(25.0,playerid,2126.4751,2214.8557,10.3991))
        {
            EVENTO[playerid] = 4;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,2123.9541,1883.9197,10.3993,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 4)
    {
        if(PlayerToPoint(25.0,playerid,2123.9541,1883.9197,10.3993))
        {
            EVENTO[playerid] = 5;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,0,2048.6306,1638.6334,10.3993,0.0,0.0,0.0,10.0);
        }

    }
    if(EVENTO[playerid] == 5)
    {
        if(PlayerToPoint(25.0,playerid,2048.6306,1638.6334,10.3993))
        {
            EVENTO[playerid] = 6;
            PlayerPlaySound(playerid, 1056, 0.0, 0.0 , 10.0);
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,0,2044.0200,1314.5471,10.3993,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 6)
    {
        if(PlayerToPoint(25.0,playerid,2044.0200,1314.5471,10.3993))
        {
            EVENTO[playerid] = 7;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,0,2045.2593,928.6096,9.0020,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 7)
    {
        if(PlayerToPoint(25.0,playerid,2045.2593,928.6096,9.0020))
        {
            EVENTO[playerid] = 8;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1778.2823,855.3669,10.4025,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 8)
    {
        if(PlayerToPoint(25.0,playerid,1778.2823,855.3669,10.4025))
        {
            EVENTO[playerid] = 9;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1376.7091,895.0981,8.3904,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 9)
    {
        if(PlayerToPoint(25.0,playerid,1376.7091,895.0981,8.3904))
        {
            EVENTO[playerid] = 10;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1170.3352,881.7286,10.6096,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 10)
    {
        if(PlayerToPoint(25.0,playerid,1170.3352,881.7286,10.6096))
        {
            EVENTO[playerid] = 11;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1207.6655,1275.0414,6.4598,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 11)
    {
        if(PlayerToPoint(25.0,playerid,1207.6655,1275.0414,6.4598))
        {
            EVENTO[playerid] = 12;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1237.7902,1704.4642,6.4256,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 12)
    {
        if(PlayerToPoint(25.0,playerid,1237.7902,1704.4642,6.4256))
        {
            EVENTO[playerid] = 13;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1324.1272,1830.0201,10.4096,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 13)
    {
        if(PlayerToPoint(25.0,playerid,1324.1272,1830.0201,10.4096))
        {
            EVENTO[playerid] = 14;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1687.4575,1872.6156,10.3836,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 14)
    {
        if(PlayerToPoint(25.0,playerid,1687.4575,1872.6156,10.3836))
        {
            EVENTO[playerid] = 15;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1696.2434,2197.0481,10.5474,0.0,0.0,0.0,10.0);
        }
    }
    if(EVENTO[playerid] == 15)
    {
        if(PlayerToPoint(25.0,playerid,1696.2434,2197.0481,10.5474))
        {
            EVENTO[playerid] = 16;
            DisablePlayerCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid,1,1696.2434,2197.0481,10.5474,0.0,0.0,0.0,10.0);
            if(PrimeiroCorrid == 999)
            {
                PrimeiroCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Primeiro Lugar na Corrida",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(SegundoCorrid == 999)
            {
                SegundoCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Segundo Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(TerceiroCorrid == 999)
            {
                TerceiroCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Terceiro Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(QuartoCorrid == 999)
            {
                QuartoCorrid  = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Quarto Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(QuintoCorrid == 999)
            {
                QuintoCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Quinto Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(SextoCorrid == 999)
            {
                SextoCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Sexto Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(SetimoCorrid == 999)
            {
                SetimoCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Setimo Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(OitavaCorrid == 999)
            {
                OitavaCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Oitavo Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(NonoCorrid == 999)
            {
                NonoCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Nono Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(DecimoCorrid == 999)
            {
                DecimoCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(OnzeCorrid == 999)
            {
                OnzeCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Primeiro Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(DozeCorrid == 999)
            {
                DozeCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Segundo Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(TrezeCorrid == 999)
            {
                TrezeCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Terceiro Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(QuatorzeCorrid == 999)
            {
                QuatorzeCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Quarto Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(QuinzeCorrid == 999)
            {
                QuinzeCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Quinto Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(DezeseisCorrid == 999)
            {
                DezeseisCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Sexto Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(DesseseteCorrid == 999)
            {
                DesseseteCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Setimo Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(DezoitoCorrid == 999)
            {
                DezoitoCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Oitavo Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(DezenoveCorrid == 999)
            {
                DezenoveCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Decimo Nono Lugar na Corrida.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
            else if(VogesimoCorrid == 999)
            {
                VogesimoCorrid = playerid;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(PlayerConrrida[i] != 0 && PlayerConrrida[i] != 0)
                        {
                            format(gstring, sizeof(gstring), "* %s Chegou em Vigesimo Lugar na Corrida, A Corrida acabou.",PlayerName(playerid));
                            SendClientMessage(i, COLOR_YELLOW2, gstring);
                        }
                    }
                }
            }
        }
    }
}
Tipo o kra chega no ultimo check point e naum aparece a mensagem de que ele ganho =/ alguem pode da um help aerr?
Reply
#2

Lol.... Para contar os jogadores sу era necessбrio criar um var e aumenta-la de acordo com a chegada dos jogadores, sem a necessidade de criar vбrios loops.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)