08.03.2019, 18:22
Para verificar com mais facilidade e menos codigo se o jogador estб de motorista recomendo
e para criar um radar, recomendo usar o Streamer criando uma area dinamica. bem mais facil usar e mais rapido.
basicamente o meu que uso estб assim
public OnPlayerEnterDynamicArea(playerid, areaid)
Stock para receber velocidade:
Assim criaria a area na public OnGameModeInit
Observaзхes.. O MAX_KMS_RADAR1 vocк define no topo da GM com o valor que seria a velocidade maxima do radar 1.. espero ter ajudado, de qualquer forma boa sorte.
e sobre as multas no caso eu nгo defini pois vocк pode definir seu proprio, apenas um exemplo
PHP Code:
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
}
basicamente o meu que uso estб assim
public OnPlayerEnterDynamicArea(playerid, areaid)
PHP Code:
if(areaid == AreaRadar1)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(GetPlayerSpeed(playerid) > MAX_KMS_RADAR1)
{
new str2[128], strvelo[128];
format(strvelo, sizeof(strvelo), "» {ffffff}Velocidade Registrada: {0080FF}%d{009D4F} KM/H", GetPlayerSpeed(playerid));
format(str2, sizeof(str2), "» {ffffff}Voce ultrapassou o limite de {FF0000}(%dKM/H) {ffffff}de velocidade e foi multado.", MAX_KMS_RADAR1);
SendClientMessage(playerid, Cor_Verde, "================================= RADAR =================================");
SendClientMessage(playerid, Cor_Verde, str2);
SendClientMessage(playerid, Cor_Verde, "» {ffffff}Voce acumulou {FF0000}+1 {ffffff}ponto em sua Carteira de Habilitacao.");
SendClientMessage(playerid, Cor_Verde, strvelo);
SendClientMessage(playerid, Cor_Verde, "{ff0000}ATENCAO: {ffffff}Ao acumular os pontos maximo de multas {00ff00}(21){ffffff} sua carteira sera suspensa.");
SendClientMessage(playerid, Cor_Verde, "================================= RADAR =================================");
PlayerPlaySound(playerid, 1132, 0, 0, 0);
}
else
{
new str[128];
format(str, sizeof(str), "» {ffffff}Velocidade Registrada: {0080FF}%d{009D4F} KM/H {ffffff}| {FF0000}(MAXIMA %d KM/H)", GetPlayerSpeed(playerid), MAX_KMS_RADAR1);
SendClientMessage(playerid, Cor_Verde, str);
}
}
}
PHP Code:
stock GetPlayerSpeed(playerid)
{
new Float:ST[4];
if(IsPlayerInAnyVehicle(playerid))
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 190.0;
return floatround(ST[3]);
}
PHP Code:
AreaRadar1 = CreateDynamicCircle(1430.0851,-1732.2394, 22.70, -1, -1, -1, 0);
e sobre as multas no caso eu nгo defini pois vocк pode definir seu proprio, apenas um exemplo