Aqui está o código revisado onde o índice de ponto de verificação é usado para suporte adicional do granacm:
new Float: Posicoesc[][]=
{
{ 2098.9116,2673.9832,10.8203 },
{ 1941.637329,-1757.459716,13.382812 },
{ 1682.216796,-2320.880859,13.476512 },
{ -573.077697,-1055.687500,23.984531 },
{ -1398.416748,-1472.172973,101.962890 },
{ -2045.645629,-96.953994,36.423358 }
};
new granacm[sizeof(Posicoesc)] = { 9000, 8000, 7000, 6000, 5000, 4000 };
public OnPlayerEnterCheckpoint(playerid)
{
if(PlayerInfo[playerid][caminhoneiro] == 1)
{
PlayerInfo[playerid][caminhoneiro] = 1;
new checkpointIndex = -1;
for(new i = 0; i < sizeof(Posicoesc); i++)
{
if(IsPlayerInRangeOfPoint(playerid, Posicoesc[i][0], Posicoesc[i][1], Posicoesc[i][2], 50.0))
{
checkpointIndex = i;
break;
}
}
if(checkpointIndex != -1)
{
DisablePlayerCheckpoint(playerid);
granacm = granacm[checkpointIndex];
SendClientMessage(playerid, 0xE60000FF, "Você recebeu $ %d pelas entregas", granacm);
GivePlayerMoney(playerid, granacm);
}
}
return 1;
}
Nesse, o jogador só recebe dinheiro quando está em um checkpoint (distância menor que 50 unidades). Se o jogador estiver a mais de 50 unidades do ponto de controle, nada acontece. Você pode alterar este valor.
new Float: Posicoesc[][]=
{
{ 2098.9116,2673.9832,10.8203 },
{ 1941.637329,-1757.459716,13.382812 },
{ 1682.216796,-2320.880859,13.476512 },
{ -573.077697,-1055.687500,23.984531 },
{ -1398.416748,-1472.172973,101.962890 },
{ -2045.645629,-96.953994,36.423358 }
};
new granacm[sizeof(Posicoesc)] = { 9000, 8000, 7000, 6000, 5000, 4000 };
public OnPlayerEnterCheckpoint(playerid)
{
if(PlayerInfo[playerid][caminhoneiro] == 1)
{
PlayerInfo[playerid][caminhoneiro] = 1;
new checkpointIndex = -1;
for(new i = 0; i < sizeof(Posicoesc); i++)
{
if(IsPlayerInRangeOfPoint(playerid, Posicoesc[i][0], Posicoesc[i][1], Posicoesc[i][2], 50.0))
{
checkpointIndex = i;
break;
}
}
if(checkpointIndex != -1)
{
DisablePlayerCheckpoint(playerid);
granacm = granacm[checkpointIndex];
SendClientMessage(playerid, 0xE60000FF, "Você recebeu $ %d pelas entregas", granacm);
GivePlayerMoney(playerid, granacm);
}
}
return 1;
}
Nesse, o jogador só recebe dinheiro quando está em um checkpoint (distância menor que 50 unidades). Se o jogador estiver a mais de 50 unidades do ponto de controle, nada acontece. Você pode alterar este valor.