forward Radar();
public Radar()
{
new Float:Pos[3];
for(new i; i < GetPlayerPoolSize(); i++)
{
GetPlayerPos(i, Pos[0], Pos[1], Pos[2]);
CheckRadar(i, Pos[0], Pos[1], Pos[2], 7.0, 60);
}
return 1;
}
stock CheckRadar(playerid, Float:rX, Float:rY, Float:rZ, Float:rRadius, speed)
{
new SpeedRegistred = GetVehicleSpeed(playerid), string[150], string2[150];
if(IsPlayerInRangeOfPoint(playerid, rRadius, rX, rY, rZ))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(SpeedRegistred > speed)
{
format(string, sizeof(string), "{1E90FF}[ PB ]O radar registrou uma infraзгo de velocidade! Permitida: %d | Registrada: %d!", speed, SpeedRegistred);
format(string2, sizeof(string2), "{1E90FF}[ PB ]A multa foi automaticamente registrada e colocada em sua carteira! MULTA: %d!", SpeedRegistred*4);
GivePlayerMoney(playerid, -SpeedRegistred*4);
SendClientMessage(playerid, -1, string);
SendClientMessage(playerid, -1, string2);
}
else if(SpeedRegistred <= speed )
{
format(string, sizeof(string), "{1E90FF}[ PB ]O radar registrou a velocidade de %d | Permitida: %d!", SpeedRegistred, speed);
SendClientMessage(playerid, -1, string);
}
}
}
return 1;
}
stock GetVehicleSpeed(playerid)
{
new Float:vx, Float:vy, Float:vz, Float:vel;
vel = GetVehicleVelocity(GetPlayerVehicleID(playerid), vx, vy, vz);
vel = (floatsqroot(((vx*vx)+(vy*vy))+(vz*vz))* 181.5);
return floatround(vel);
}
no inicio
SetTimer("Radar", 100, true);
Com tanta ajuda que recebeu nгo lhe ocorreu em nenhum momento em usar PRINT ou PRINTF para ver atй onde
vai ou qual valor do GetVehicleSpeed? Agora que fui ver o cуdigo por completo, kk vc ta pegando a posiзгo do player logo em seguida fazendo uma comparaзгo, mas isso deve ser feito em uma matriz com a posiзгo do radar. |
#define MAX_RADARS 3
// OnGamemodeInit
SetTimer("Radar", 1000, true);
//- array bi dimensional, tem 4 floats para qnd tu for criar os objt e ter rotaзгo...
new Float:Radars[MAX_RADARS][4] = {
{0.0,0.0,0.0,0.0},
{0.0,0.0,0.0,0.0},
{0.0,0.0,0.0,0.0}
};
forward Radar();
public Radar()
{
for(new i = 0; i < GetPlayerPoolSize(); i++)
for(new r = 0; r < MAX_RADARS; r++)
CheckRadar(i, Radars[r][0], Radars[r][1], Radars[r][2], 7.0, 10);
return 1;
}
CheckRadar(playerid, Float:rX, Float:rY, Float:rZ, Float:rRadius, speed)
{
new SpeedRegistred = GetVehicleSpeed(playerid), string[150], string2[150];
if(IsPlayerInRangeOfPoint(playerid, rRadius, rX, rY, rZ))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(SpeedRegistred > speed)
{
format(string, sizeof(string), "{1E90FF}[ PB ]O radar registrou uma infraзгo de velocidade! Permitida: %d | Registrada: %d!", speed, SpeedRegistred);
format(string2, sizeof(string2), "{1E90FF}[ PB ]A multa foi automaticamente registrada e colocada em sua carteira! MULTA: %d!", SpeedRegistred*4);
GivePlayerMoney(playerid, -SpeedRegistred*4);
SendClientMessage(playerid, -1, string);
SendClientMessage(playerid, -1, string2);
}
else if(SpeedRegistred <= speed)
{
format(string, sizeof(string), "{1E90FF}[ PB ]O radar registrou a velocidade de %d | Permitida: %d!", SpeedRegistred, speed);
SendClientMessage(playerid, -1, string);
}
}
}
return 1;
}
GetVehicleSpeed(playerid)
{
new Float:vx, Float:vy, Float:vz, Float:vel;
vel = GetVehicleVelocity(GetPlayerVehicleID(playerid), vx, vy, vz);
vel = (floatsqroot(((vx*vx)+(vy*vy))+(vz*vz))* 181.5);
return floatround(vel);
}
CheckRadar(playerid, Float:rX, Float:rY, Float:rZ, Float:rRadius, speed)
{
printf("%d passou no radar.", playerid);
new SpeedRegistred = GetVehicleSpeed(playerid), string[150], string2[150];
if(IsPlayerInRangeOfPoint(playerid, rRadius, rX, rY, rZ))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(SpeedRegistred > speed)
{
format(string, sizeof(string), "{1E90FF}[ PB ]O radar registrou uma infraзгo de velocidade! Permitida: %d | Registrada: %d!", speed, SpeedRegistred);
format(string2, sizeof(string2), "{1E90FF}[ PB ]A multa foi automaticamente registrada e colocada em sua carteira! MULTA: %d!", SpeedRegistred*4);
GivePlayerMoney(playerid, -SpeedRegistred*4);
SendClientMessage(playerid, -1, string);
SendClientMessage(playerid, -1, string2);
}
else if(SpeedRegistred <= speed)
{
format(string, sizeof(string), "{1E90FF}[ PB ]O radar registrou a velocidade de %d | Permitida: %d!", SpeedRegistred, speed);
SendClientMessage(playerid, -1, string);
}
}
}
return 1;
}
new Float:Radares[1][4] =
{
{1212.5142,-1719.8408,13.5469, 19.1700}
};
forward Radar();
public Radar()
{
for(new i; i < GetPlayerPoolSize(); i++)
{
for(new r; r < MAX_RADAR; r++)
{
CheckRadar(i, Radares[r][0], Radares[r][1], Radares[r][2], 7.0, 60);
}
}
return 1;
}
stock CheckRadar(playerid, Float:rX, Float:rY, Float:rZ, Float:rRadius, speed)
{
new SpeedRegistred = GetVehicleSpeed(playerid), string[150], string2[150];
printf("O player %s passou no radar!", Pname(playerid));
if(IsPlayerInRangeOfPoint(playerid, rRadius, rX, rY, rZ))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(SpeedRegistred > speed)
{
format(string, sizeof(string), "{1E90FF}[ PB ]O radar registrou uma infraзгo de velocidade! Permitida: %d | Registrada: %d!", speed, SpeedRegistred);
format(string2, sizeof(string2), "{1E90FF}[ PB ]A multa foi automaticamente registrada e colocada em sua carteira! MULTA: %d!", SpeedRegistred*4);
GivePlayerMoney(playerid, -SpeedRegistred*4);
SendClientMessage(playerid, -1, string);
SendClientMessage(playerid, -1, string2);
}
else if(SpeedRegistred <= speed )
{
format(string, sizeof(string), "{1E90FF}[ PB ]O radar registrou a velocidade de %d | Permitida: %d!", SpeedRegistred, speed);
SendClientMessage(playerid, -1, string);
}
}
}
return 1;
}
SetTimer("Radar", 1000, true);
SetTimer("Radar", 500, true);
forward Radar();
public Radar()
{
new string[250], string2[250];
for(new i; i < GetPlayerPoolSize(); i++)
{
for(new r; r < MAX_RADAR; r++)
{
if(IsPlayerInRangeOfPoint(i, 7.0, Radares[r][0], Radares[r][1], Radares[r][2]))
{
floatround(Radares[r][3]);
if(GetVehicleSpeed(i) > Radares[r][3])
{
if(GetVehicleSpeed(i) > Radares[r][3])
{
format(string, sizeof(string), "{FF0000}[ PB ]O radar registrou uma infraзгo de velocidade! Permitida: %d | Registrada %d!", Radares[r][3], GetVehicleSpeed(i));
format(string2, sizeof(string2), "{FF0000}[ PB ]A multa foi retiada automaticamente do seu dinheiro! Multa: %d!", GetVehicleSpeed(i)*4);
GivePlayerMoney(i, -GetVehicleSpeed(i)*4);
SendClientMessage(i, -1, string);
SendClientMessage(i, -1, string2);
}
else
{
format(string, sizeof(string), "{FF0000}[ PB ]O radar registrou %d!", GetVehicleSpeed(i));
SendClientMessage(i, -1, string);
}
}
}
}
}
return 1;
}
stock GetVehicleSpeed(playerid)
{
new Float:vx, Float:vy, Float:vz, Float:vel;
vel = GetVehicleVelocity(GetPlayerVehicleID(playerid), vx, vy, vz);
vel = (floatsqroot(((vx*vx)+(vy*vy))+(vz*vz))* 181.5);
printf("A velocidade do player й %d!", vel);
return floatround(vel);
}