Buenas tengo 2 problemas
1- Tengo un sistema de radar de velocidad que cuando pasas a maxima velocidad te saca una multa, lo que yo quiero saber es, yo puse 7 radares en todo el mapa pero son 7 fs quiero saber como compilo todos en 1 FS
2-Como hago para que le salga un radio a la PD, Ejemplo: Juan_Pablo a pasado a maxima velocidad por la zona de Vinewood, una unidad detengalo antes de causar un accidente
Oh algo parecido a ese mensaje!!!; Muchas gracias por leer y si alguien me ayuda!1
1- Tengo un sistema de radar de velocidad que cuando pasas a maxima velocidad te saca una multa, lo que yo quiero saber es, yo puse 7 radares en todo el mapa pero son 7 fs quiero saber como compilo todos en 1 FS
2-Como hago para que le salga un radio a la PD, Ejemplo: Juan_Pablo a pasado a maxima velocidad por la zona de Vinewood, una unidad detengalo antes de causar un accidente
Oh algo parecido a ese mensaje!!!; Muchas gracias por leer y si alguien me ayuda!1
- Código:
//filterscript Realizado por PROJECT
//removed from AMRP
#include <a_samp>
#include <zcmd>
#include <streamer>
#define MAXIMO_DECAMARAS 100
new Text:Foto;
new LimiteSuperado[MAX_PLAYERS];
enum rInfo
{
Float:rX,
Float:rY,
Float:rZ,
Float:rRX,
Float:rRY,
Float:rRZ,
Float:rRadio,
rVelMax,
rCreado
}
new RadarInfo[MAXIMO_DECAMARAS][rInfo];
public OnPlayerConnect(playerid)
{
Foto = TextDrawCreate(-20.000000,2.000000,"|");
TextDrawUseBox(Foto,1);
TextDrawBoxColor(Foto,0xFFFFFF69);
TextDrawTextSize(Foto,660.000000,22.000000);
TextDrawAlignment(Foto,0);
TextDrawBackgroundColor(Foto,0xFFFFFF69);
TextDrawFont(Foto,3);
TextDrawLetterSize(Foto,1.000000,52.200000);
TextDrawColor(Foto,0xFFFFFF69);
TextDrawSetOutline(Foto,1);
TextDrawSetProportional(Foto,1);
TextDrawSetShadow(Foto,1);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawDestroy(Foto);
return 1;
}
public OnFilterScriptInit()
{
SetTimer("FotoMultaON", 100, 1);
CrearFotoMulta(1374.25,-924.35,34.41,0,0,88.5490,15,80); // Prueba Radar Ayuntamiento el '80' es la maxima velocidad
return 1;
}
stock CrearFotoMulta(Float:fx,Float:fy,Float:fz,Float:frx,Float:fry,Float:frz,Float:fradio,fvelmax)
{
new r, string[128];
for(r=0; r < MAXIMO_DECAMARAS; r++)
if(!RadarInfo[r][rCreado]) break;
CreateDynamicObject(18880,fx,fy,fz-1,frx,fry,frz);
RadarInfo[r][rCreado] = 1;
RadarInfo[r][rX] = fx;
RadarInfo[r][rY] = fy;
RadarInfo[r][rZ] = fz;
RadarInfo[r][rRX] = frx;
RadarInfo[r][rRY] = fry;
RadarInfo[r][rRZ] = frz;
RadarInfo[r][rRadio] = fradio;
RadarInfo[r][rVelMax] = fvelmax;
format(string, sizeof(string), "{007AFF}[FOTO MULTA]\n{00FF00}VELOCIDAD MÁXIMA: {FFFFFF}%d{00FF00}KM/H", fvelmax);
Create3DTextLabel(string,0xFFFFFFF7,fx,fy,fz +7,100,0,0);
return 1;
}
forward FotoMultaON();
public FotoMultaON()
{
for(new i; i< MAXIMO_DECAMARAS; i++){
if(RadarInfo[i][rCreado]){
for(new d,e=GetMaxPlayers(); d<e; d++){
if(IsPlayerConnected(d) && IsPlayerInRangeOfPoint(d,RadarInfo[i][rRadio],RadarInfo[i][rX],RadarInfo[i][rY],RadarInfo[i][rZ]) && IsPlayerInAnyVehicle(d)){
if(SacarVelocidad(d) > RadarInfo[i][rVelMax] && !LimiteSuperado[d]){
LimitedeVelocidadpa(d, RadarInfo[i][rVelMax], SacarVelocidad(d));
LimiteSuperado[d] = 1;
}
else if(SacarVelocidad(d) < RadarInfo[i][rVelMax] && LimiteSuperado[d]){
LimiteSuperado[d] = 0;
}
}
}
}
}
return 1;
}
forward LimitedeVelocidadpa(playerid, velmax, velactual);
public LimitedeVelocidadpa(playerid, velmax, velactual)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
TextDrawShowForPlayer(playerid, Foto);
SetTimerEx("TiempoFoto", 6000, false, "i", playerid);
SetTimerEx("QuitarCamara", 100, false, "i", playerid);
GivePlayerMoney(playerid, -600);
SendClientMessage(playerid, -1, "Has sobrepasado el máximo de velocidad se te a multado con 600");
}
return 1;
}
forward TiempoFoto(playerid);
public TiempoFoto(playerid)
{
LimiteSuperado[playerid] = 0;
return 1;
}
forward QuitarCamara(playerid);
public QuitarCamara(playerid)
{
TextDrawHideForPlayer(playerid,Foto);
return 1;
}
stock SacarVelocidad(playerid)
{
new Float:vX, Float:vY, Float:vZ, Float:Velocidad;
GetVehicleVelocity(GetPlayerVehicleID(playerid), vX, vY, vZ);
Velocidad = floatmul(floatsqroot(floatadd(floatadd(floatpower(vX, 2), floatpower(vY, 2)), floatpower(vZ, 2))), 100.0);
return floatround(floatdiv(Velocidad, 0.75), floatround_floor);
}