04/02/2024 10:10
(04/02/2024 01:38)Luiz Escreveu: Precisei refazer seu código inteiro porque suas verificações não fazem sentido. Como você quer informar ao jogador sobre o sistema de tolerância, primeiro você deve verificar se a velocidade do jogador foi maior que a permitida, caso sim, aí você passa a verificar se está dentro de 10km/h, se está fardado, etc.
Verifique se resolve o seu problema.
Código PHP:stock CheckInRadar(playerid, Float:X, Float:Y, Float:Z, Float:radius, Speed)
{
new vehid = GetPlayerVehicleID(playerid);
new VehVelocity = VelocidadeDoVeiculo(vehid);
if(IsABike(vehid))
return 1;
if(LiberouRadar[playerid] < gettime())
{
LiberouRadar[playerid] = gettime() + 5;
GameTextForPlayer(playerid, "~y~RADAR", 2000, 3);
if(VehVelocity > Speed)
{
if(VehVelocity < (Speed + 10))
{
SendClientMessage(playerid, COR_VERDE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Radar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
format(String, sizeof(String), "| RADAR | A Velocidade Maxima Permitida Desse Radar é de %dKm/h E Você Passou a %dKm/h!", Speed, VehVelocity);
SendClientMessage(playerid, -1, String);
format(String, sizeof(String), "| RADAR | Tolerância De Ate %dKm/h Sem Receber Multa!", Speed + 10);
SendClientMessage(playerid, COR_AMARELO, String);
SendClientMessage(playerid, COR_VERDE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Radar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
return 1;
}
if(Fardado[playerid] == true)
{
SendClientMessage(playerid, COR_VERDE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Radar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
format(String, sizeof(String), "| RADAR | Velocidade Registrada: %d KM/H | Você Não Levou Multa Por Estar Fardado!", VehVelocity);
SendClientMessage(playerid, COR_AMARELO, String);
SendClientMessage(playerid, COR_VERDE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Radar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
GameTextForPlayer(playerid, "~y~RADAR LIBERADO", 2000, 3);
return 1;
}
if(VehVelocity > (Speed + 25))
{
SendClientMessage(playerid, COR_VERDE, "| RADAR | Você Passou No Radar Acima Do Limite Permitido, Foi Adicionado +1 Estrela de Procurado Por Estar Em Uma Possivel Fuga.");
// +1 estrela
}
pInfo[playerid][Fines]++;
pInfo[playerid][ValueFines] = pInfo[playerid][ValueFines] + VehVelocity * 3;
GameTextForPlayer(playerid, "~r~MULTA", 2500, 3);
PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
if(pInfo[playerid][Fines] < 6)
{
format(String, sizeof(String), "| RADAR | Velocidade Registrada: %d KM/H", VehVelocity);
SendClientMessage(playerid, COR_AMARELO, String);
SendClientMessage(playerid, COR_VERDE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ RADAR ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
format(String, sizeof(String), "| RADAR | Você Passou Nesse Radar Acima Do Limite Permitido: %dKm/h", Speed);
SendClientMessage(playerid, -1, String);
format(String, sizeof(String), "| MULTAS | Você Recebeu %d Multa(s) Na Habilitação Da Sua Classe Veicular", pInfo[playerid][Fines]);
SendClientMessage(playerid, -1, String);
SendClientMessage(playerid, COR_VERDE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ RADAR ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}
else
{
pInfo[playerid][Fines] = 0;
pInfo[playerid][ValueFines] = 0;
SendClientMessage(playerid, COR_VERDE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ RADAR ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
format(String, sizeof(String), "| RADAR | Velocidade Detectada: %d Km/h", VehVelocity);
SendClientMessage(playerid, COR_AMARELO, String);
SendClientMessage(playerid, -1, "| MULTAS | Você Perdeu A Sua Habilitação E Pagou Uma Taxa De 6.000 Por Ter Acumulado 6 Multas.");
SendClientMessage(playerid, COR_VERDE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ RADAR ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}
}
}
return 1;
}
Só precisei mesmo Adicionar a Verificação de Distância, Mas Tirando Isso, Resolveu Completamente, Muito Obrigado!!!
Programador SA-MP Desde 2020.
Desenvolvendo Garver Roleplay...