[Ajuda] Radar- Multando Policia.
#1

Galera, eu estou com um sistema de radar aqui, sу que ele multa todos os player em geral atй policiais.
Esse й o cуdigo:
Код:
public UpdateSpeed(playerid)
{
        new Float:x,Float:y,Float:z;
        new Float:distance,value;
        for(new i=0; i<SLOTS; i++)
        {
                if(IsPlayerConnected(i))
                {
                        GetPlayerPos(i, x, y, z);
                        distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
                        value = floatround(distance * 3600);
                        if(UpdateSeconds > 1)
                        {
                                value = floatround(value / UpdateSeconds);
                        }
                        distance1[i] = floatround(value/1600);

                        SavePlayerPos[i][LastX] = x;
                        SavePlayerPos[i][LastY] = y;
                        SavePlayerPos[i][LastZ] = z;
            /* Para colocar Coordenada no lugar que voce quer , basta colocar a Coordenada X,Y,Z no lugar dos 00000 ,
            o 40 й o raio que o radar pega, e o 50 , й a velocidade maxima*/
                AddFlitsPaal(i, 18880,-1552.0999755859,666.5,5.6999998092651, 80, 60); // Delegacia
                AddFlitsPaal(i, 18880,-1543.9000244141,958.59997558594,5.6999998092651, 100, 100); // BANCO
 				AddFlitsPaal(i, 18880, 0000.0000,0000.0000,0000.0000, 50, 70); // VAGO
                AddFlitsPaal(i, 18880, 0000.0000,0000.0000,0000.0000, 50, 70); // VAGO
                AddFlitsPaal(i, 18880, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
                AddFlitsPaal(i, 18880, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
                AddFlitsPaal(i, 18880, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
                AddFlitsPaal(i, 18880, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
                AddFlitsPaal(i, 18880, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
                }
        }
}

IsPlayerInCircle(playerid,Float:x,Float:y,radius)
{
    if(GetPlayerDistanceToPoint(playerid,Float:x,Float:y) < radius)
    {
        return 1;
    }
    return 0;
}

GetPlayerDistanceToPoint(playerid,Float:x,Float:y)
{
    new Float:x1,Float:y1,Float:z1; GetPlayerPos(playerid,x1,y1,z1);
    new Float:tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+
    floatpower(floatabs(floatsub(y,y1)),2));
    return floatround(tmpdis);
}

stock AddFlitsPaal(playerid, modelid, Float:xx, Float:yy, Float:zz, radius, speed)
{
        new fine[MAX_PLAYERS];
        new str[256];

        if(objectcreated!=maxobject)
        {
        CreateObject(modelid, xx, yy, zz, 0.0, 0.0, 10);
        objectcreated++;
        }
        if((distance1[playerid])>speed)
        {
                if(IsPlayerInCircle(playerid, xx, yy, radius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
                {
                        fine[playerid]=((distance1[playerid]*17/10)-speed);
                        GivePlayerMoney(playerid, -5000);
                        format(str,sizeof(str), "[RADAR] O Limite de velocidade й %d KM/H Voce Passou a %d KM/H e foi multado!",speed, distance1[playerid] ,fine[playerid]);
            // Caso queira mudar o nome do radar , й so mudar o xXx pelo nome que quiser. e o -2000 й o valor da multa.
            SendClientMessage(playerid, VERDEFRACO, str);
                        PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
                }
        }
}
Eu gostaria que apenas os player seja multado, os policias e nenhum oficial da lei seja.

if(gTeam[playerid] == TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid] != TEAM_CIA && gTeam[playerid] != TEAM_MEDIC)
Reply
#2

PHP код:

stock AddFlitsPaal
(playeridmodelidFloat:xxFloat:yyFloat:zzradiusspeed)
{
    new 
fine[MAX_PLAYERS];
    new 
str[256];

    if(
objectcreated!=maxobject)
    {
        
CreateObject(modelidxxyyzz0.00.010);
        
objectcreated++;
    }
    if((
distance1[playerid])>speed)
    {       
        if(
gTeam[playerid] != TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid] != TEAM_CIA && gTeam[playerid] != TEAM_MEDIC)         
        {
            if(
IsPlayerInCircle(playeridxxyyradius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
            {
                
fine[playerid]=((distance1[playerid]*17/10)-speed);
                
GivePlayerMoney(playerid, -5000);
                
format(str,sizeof(str), "[RADAR] O Limite de velocidade й %d KM/H Voce Passou a %d KM/H e foi multado!",speeddistance1[playerid] ,fine[playerid]);
                
// Caso queira mudar o nome do radar , й so mudar o xXx pelo nome que quiser. e o -2000 й o valor da multa.
                
SendClientMessage(playeridVERDEFRACOstr);
                
PlayerPlaySound(playerid11320.00.00.0);
            }            
        }
    }

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)