[Ajuda] Sistema de radar
#1

Bom estou com um problema nesse sistema de radar, posso passar a velocidade que quiser que ele nгo estб detectando

PHP код:
public CheckRadars()
{
    for(new 
i!= HighestIDi++)
    {
        if(
IsPlayerConnected(i))
        {
            if(
GetPlayerPing(i) > MAX_PING)
            {
                
SendClientMessage(i,COLOR_RED,"Voc� foi kickado por ter um ping muito alto.");
                
Kick(i);
            }
            if(
IsPlayerInAnyVehicle(i))
            {
                for(new 
xMAX_RADARS++)
                {
                    if(
Multado[i][x] == false)
                        
AddFlitsPaal(ix,Radars[x][rCoordX],Radars[x][rCoordY],Radars[x][rCoordZ],Radars[x][rSize],Radars[x][rMaxSpeed]);
                    else
                        
Multado[i][x] = false;
                }
            }
        }
    }
}
SetTimer("CheckRadars"2000true);
AddFlitsPaal(playeridradaridFloat:xxFloat:yyFloat:zzradiusspeed)
{
    
#pragma unused zz
     
new newcar GetVehicleModel(GetPlayerVehicleID(playerid));
      if(
floatround(Player[playerid][LastSpeed]) > speed)
      {
        if(
IsPlayerInCircle(playeridxxyyradius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
        {
            if(!
IsACop(playerid) && Player[playerid][pMember] != TEAM_BOMBE)
            {
                if(!
IsAPlane(newcar))
                {
                    if(
AdminDuty[playerid] == 0)
                    {
                        
Multado[playerid][radarid] = true;
                        new 
string[128];
                        new 
fine = (floatround(Player[playerid][LastSpeed])-speed)*5;
                        
format(string,sizeof(string), "O limite de velocidade � %d KM/H. Voc� foi flagrado � %d KM/H e foi multado em %d!",speedfloatround(Player[playerid][LastSpeed]),fine);
                        
SendClientMessage(playeridCOLOR_LIGHTGREENstring);
                        
WantedPoints[playerid] += 1;
                        
multa[playerid] += fine;
                        
PlayerPlaySound(playerid11320.00.00.0);
                        
format(string128"Todas as unidades Relato: Desconhecido");
                        
SendTeamMessage(TEAM_PMCOLOR_GREENstring);
                        
format(string128"Excesso de Velocidade, Nome: %s, Localiza��o: %s ",Player[playerid][pName],  ReturnPlayerZone(playerid));
                        
SendTeamMessage(TEAM_PMCOLOR_GREENstring);
                    }
                }
            }
        }
    }

Reply
#2

Muita coisa sendo chamada dentro de uma Public e loop ridiculamente mal feita !
Reply
#3

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
Muita coisa sendo chamada dentro de uma Public e loop ridiculamente mal feita !
Pode me ajudar a arrumar prf ?
Reply
#4

Criei estб base, faзa um bom uso dela !
PHP код:
forward OnPlayerVehicleEnterRadar(playerid);

public 
OnGameModeInit()
{
    
SetTimer("OnPlayerVehicleEnterRadar"1000true);
    return 
1;
}

public 
OnPlayerVehicleEnterRadar(playerid)
{
    for(new 
0GetMaxPlayers(); ++i)
    {
        if(
IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
        {
            new 
playervehicle;
            if((
playervehicle GetPlayerVehicleID(i)) != INVALID_VEHICLE_ID)
            if(
IsPlayerInRangeOfPoint(i8.00000.00000000.00000000.0000))
            {
                if(
GetVehicleSpeed(playervehicle) == 60)
                {
                    
//Funзхes para tomar multa.
                
}
            }
        }
    }
}

stock GetVehicleSpeed(vehicleid)
{
    new 
Float:xPos[3];
    
GetVehicleVelocity(vehicleidxPos[0], xPos[1], xPos[2]);
    return 
floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);

Reply
#5

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
Criei estб base, faзa um bom uso dela !
PHP код:
forward OnPlayerVehicleEnterRadar(playerid);
public 
OnGameModeInit()
{
    
SetTimer("OnPlayerVehicleEnterRadar"1000true);
    return 
1;
}
public 
OnPlayerVehicleEnterRadar(playerid)
{
    for(new 
0GetMaxPlayers(); ++i)
    {
        if(
IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
        {
            new 
playervehicle;
            if((
playervehicle GetPlayerVehicleID(i)) != INVALID_VEHICLE_ID)
            if(
IsPlayerInRangeOfPoint(i8.00000.00000000.00000000.0000))
            {
                if(
GetVehicleSpeed(playervehicle) == 60)
                {
                    
//Funзхes para tomar multa.
                
}
            }
        }
    }
}
stock GetVehicleSpeed(vehicleid)
{
    new 
Float:xPos[3];
    
GetVehicleVelocity(vehicleidxPos[0], xPos[1], xPos[2]);
    return 
floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);

Obrigado, farei sim :P
REP+ pela ajuda
@Close
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)