[Ajuda] Da para ter duas RaceCheckpoint ?
#4

Tente isso amigo:

pawn Код:
new Stats[MAX_PLAYERS];
new Float:Checkpoints[8][3] = //4 = 4 coordenadas | 3 = 3 "valores" (X,Y,Z)
{
    {1406.4424,2809.1531,10.5919},
    {1126.8287,2760.1855,10.1019},
    {950.1466,2897.5222,52.7929},
    {780.9700,2885.5942,7.1434},
    {469.1844,2716.8953,64.3484},
    {-151.7990,2551.8516,25.6030},
    {-375.0106,2204.2549,41.8663},
    {-506.9388,2592.5195,53.1969}
};
new Checkcarta[MAX_PLAYERS];
new Float:CartaCP[8][3] =
{
    {-2603.3442,-53.3233,3.7527},
    {-2852.7930,376.6257,3.9116},
    {-2750.2720,638.1409,27.3291},
    {-2675.8254,1288.4055,6.6118},
    {-2059.3032,1281.6399,7.1298},
    {-2188.6697,1176.6960,55.1438},
    {-1863.6123,846.1705,34.5965},
    {-2046.5602,-91.8176,34.7318}
};
pawn Код:
public OnPlayerEnterRaceCheckpoint(playerid)
{
    if(Stats[playerid] > 0)
    {
        switch(Stats[playerid])
        {
            case 1:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[1][0], Checkpoints[1][1], Checkpoints[1][2], Checkpoints[2][0], Checkpoints[2][1], Checkpoints[2][2], 10);
            }
            case 2:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[2][0], Checkpoints[2][1], Checkpoints[2][2], Checkpoints[3][0], Checkpoints[3][1], Checkpoints[3][2], 10);
            }
            case 3:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[3][0], Checkpoints[3][1], Checkpoints[3][2], Checkpoints[4][0], Checkpoints[4][1], Checkpoints[4][2], 10);
            }
            case 4:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[4][0], Checkpoints[4][1], Checkpoints[4][2], Checkpoints[5][0], Checkpoints[5][1], Checkpoints[5][2], 10);
            }
            case 5:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[5][0], Checkpoints[5][1], Checkpoints[5][2], Checkpoints[6][0], Checkpoints[6][1], Checkpoints[6][2], 10);
            }
            case 6:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[6][0], Checkpoints[6][1], Checkpoints[6][2], Checkpoints[7][0], Checkpoints[7][1], Checkpoints[7][2], 10);
            }
            case 7:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[7][0], Checkpoints[7][1], Checkpoints[7][2], Checkpoints[7][0], Checkpoints[7][1], Checkpoints[7][2], 10);
            }
            Stats[playerid]++;
            case 8:
            {
                DisablePlayerRaceCheckpoint(playerid);
                GameTextForPlayer(playerid, "Corrida terminada", 3000, 1);
                new pName[MAX_PLAYER_NAME];
                GetPlayerName(playerid,pName,sizeof(pName));
                new string[248];
                format(string,sizeof(string),"%s {E0C589}terminou a prova de Rally!",pName);
                SendClientMessageToAll(moderador, string);
                Stats[playerid]=0;
            }
           
       }
    }
    if(Checkcarta[playerid] > 0)
    {
        switch(Checkcarta[playerid])
        {
            case 1:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, CartaCP[1][0], CartaCP[1][1], CartaCP[1][2], CartaCP[2][0], CartaCP[2][1], CartaCP[2][2], 10);
            }
            case 2:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, CartaCP[2][0], CartaCP[2][1], CartaCP[2][2], CartaCP[3][0], CartaCP[3][1], CartaCP[3][2], 10);
            }
            case 3:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, CartaCP[3][0], CartaCP[3][1], CartaCP[3][2], CartaCP[4][0], CartaCP[4][1], CartaCP[4][2], 10);
            }
            case 4:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, CartaCP[4][0], CartaCP[4][1], CartaCP[4][2], CartaCP[5][0], CartaCP[5][1], CartaCP[5][2], 10);
            }
            case 5:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, CartaCP[5][0], CartaCP[5][1], CartaCP[5][2], CartaCP[6][0], CartaCP[6][1], CartaCP[6][2], 10);
            }
            case 6:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, CartaCP[6][0], CartaCP[6][1], CartaCP[6][2], CartaCP[7][0], CartaCP[7][1], CartaCP[7][2], 10);
            }
            case 7:
            {
                DisablePlayerRaceCheckpoint(playerid);
                SetPlayerRaceCheckpoint(playerid, 0, CartaCP[7][0], CartaCP[7][1], CartaCP[7][2], CartaCP[7][0], CartaCP[7][1], CartaCP[7][2], 10);
            }
            Checkcarta[playerid]++;
            case 8:
            {
                DisablePlayerRaceCheckpoint(playerid);
                GameTextForPlayer(playerid, "Exame terminado", 3000, 1);

                new pName[MAX_PLAYER_NAME];
                GetPlayerName(playerid,pName,sizeof(pName));
                new string[248];
                format(string,sizeof(string),"%s {E0C589}terminou a prova de Rally!",pName);
                SendClientMessageToAll(moderador, string);
                Checkcarta[playerid]=0;
            }
        }
    }
    return 1;
}
pawn Код:
if(strcmp(cmdtext, "/partida", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(IsPlayerInRangeOfPoint(playerid,15,1430.5233,2819.9524,10.8203)==0) return SendClientMessage(playerid, COLOR_DARKRED, "Tens de estar na zona de Rally");
        Stats[playerid] = 1;
        SetPlayerRaceCheckpoint(playerid, 0, Checkpoints[0][0], Checkpoints[0][1], Checkpoints[0][2], Checkpoints[1][0], Checkpoints[1][1], Checkpoints[1][2], 10);
        SendClientMessage(playerid, 0x456EAF67, "Corrida ativa");
    }
    return 1;
}
pawn Код:
if(strcmp(cmdtext, "/corrida", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        Checkcarta[playerid] = 1;
        SetPlayerRaceCheckpoint(playerid, 0, CartaCP[0][0], CartaCP[0][1], CartaCP[0][2], CartaCP[1][0], CartaCP[1][1], CartaCP[1][2], 10);
        SendClientMessage(playerid, 0x456EAF67, "Corrida ativa");
    }
    return 1;
}
OBS: Nao testei isso, teste ae e ve se funciona ^^
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)