SA-MP Forums Archive
[Pedido] CMD Pagar multa - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] CMD Pagar multa (/showthread.php?tid=324363)



CMD Pagar multa - leosivi - 09.03.2012

Bem Galera baixei uma FS de radar editei inteira, mas la na FS ta qnd vc passa na velocidade e toma a multa vc ja perde o dinheiro automatico, axei meio ruim queria q tivesse um cmd /pagarmulta pra fika bem maneiro.

Bom e um Pedido de um CMD de /pagarmulta mas c for muito grande e demora '¬¬ nao precisa nao, mas c vc quizer me ajudar Agradeco Muito

A FS do Radar :
pawn Код:
/*==================================   FS DE RADAR  ====================================
        ============================     By: Sivi    =============================
                ===================  Edit. por Sivi  ======================
                       ============ ñ TIRE os CREDTS  ==============*/


#include <a_samp>
//----------------------------------------
new UpdateSeconds = 2; // Não Mecher
new maxobject = 4;
//----------------------------------------

public OnFilterScriptInit() {
print("\n----------------------------------");
print("[FS] Radar Automatico Carregado");
print("----------------------------------\n");
SetTimer("UpdateSpeed", UpdateSeconds*1000, 1);
}

public OnFilterScriptExit() {
print("\n----------------------------------");
print("[FS] Radar Automatico Desativado");
print("----------------------------------\n");
}
forward UpdateSpeed(playerid);
enum SavePlayerPosEnum {
Float:LastX,
Float:LastY,
Float:LastZ
}
#define COLOR_YELLOW 0xFFFF00AA
#define VERDEFRACO 0x80cf80AA
#define SLOTS 500

new objectcreated;
new SavePlayerPos[SLOTS][SavePlayerPosEnum];
new distance1[MAX_PLAYERS];


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, 1278, 1524.1971,-1674.1224,13.5469, 40, 50); // Radar da DP PM
            AddFlitsPaal(i, 1278, 1486.7902,-1726.9485,13.5469, 40, 60); // Prefeitura
            AddFlitsPaal(i, 1278, 1454.1200,-1039.0997,23.8281, 40, 80); // BANCO
            AddFlitsPaal(i, 1278, 1993.0825,-1453.5201,13.5547, 40, 60); // HOSPITAL
            AddFlitsPaal(i, 1278, 1927.7516,-1757.6179,13.5469, 40, 80); // POSTO
            AddFlitsPaal(i, 1278, 1480.6022,-1867.0929,13.5469, 40, 80); // ATRAS DA PREF
            AddFlitsPaal(i, 1278, 1351.3029,-1291.9943,14.0469, 40, 80); // AMMU NATION
            AddFlitsPaal(i, 1278, 1766.7039,-1172.4738,23.8281, 40, 80); // LOJA DE ARMAS 1
            AddFlitsPaal(i, 1278, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
            AddFlitsPaal(i, 1278, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
           
            //===================TEXTOS===================By: Sivi
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 50 KM/H",COLOR_YELLOW,1524.1971,-1674.1224,13.5469,100.0,0); //DP
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 60 KM/H",COLOR_YELLOW,1486.7902,-1726.9485,13.5469,100.0,0); //PREF
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1454.1200,-1039.0997,23.8281,100.0,0); //BANCO
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1927.7516,-1757.6179,13.5469,100.0,0); //POSTO
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1766.7039,-1172.4738,23.8281,100.0,0); //L. ARMA 1
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1351.3029,-1291.9943,14.0469,100.0,0); //AMMU NATION
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1348.7843,-1269.7135,14.0469,100.0,0); //AMMU NATION
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 60 KM/H",COLOR_YELLOW,1993.0825,-1453.5201,13.5547,100.0,0); //HOSPITAL
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1480.6022,-1867.0929,13.5469,100.0,0); //ATRAS DA PREF
        }
    }
}






public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/radar", cmdtext, true, 10) == 0)
    {
        SendClientMessage(playerid,0xFF0000AA,"******* SISTEMA DE RADAR ************");
        SendClientMessage(playerid,0x33CCFFAA,"Existem Radar na Prefeitura, No Hospital e no DP's de Los Santos e Banco");
        SendClientMessage(playerid,0x33CCFFAA,"O Limite de velocidade é entre 50 KM/H");
        SendClientMessage(playerid,0x33CCFFAA,"Se voce exceder o Limite de velocidade Nesses Locais , Levara Multa de 2000 $ ");
        SendClientMessage(playerid,0xFF0000AA,"Atenciosamente , A administração.");
        return 1;
    }
    return 0;
}

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, -2000);
            format(str,sizeof(str), "{FFFF00}[INFO-RADAR] {FF0000}O Limite de velocidade é {FFFF00}%d KM/H {FF0000}Voce Passou a {FFFF00}%d KM/H {FF0000}e foi {FFFF00}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);
        }
    }
}



Re: [PEDIDO] CMD Pagar multa - leosivi - 09.03.2012

a Galera e desculpem pelo DP(double poste) mas olhe a imagem

Veja q o radar pega eu com 105 KM/H mas no velocimetro ali eu to 138 KM/H
oq sera q e
?


Re: [PEDIDO] CMD Pagar multa - humildadeforever - 09.03.2012

Quote:
Originally Posted by leosivi
Посмотреть сообщение
a Galera e desculpem pelo DP(double poste) mas olhe a imagem

Veja q o radar pega eu com 105 KM/H mas no velocimetro ali eu to 138 KM/H
oq sera q e
?
O velocнmetro deve estar lerdo para se atualizar... '-'
Tenta aн o cmd,nгo sei se tб certinho, mas acho que dб, testa aн:
Topo do GM:
pawn Код:
new PlayerMultas[MAX_PLAYERS];
new bool: PlayerMultado[MAX_PLAYERS];
Comando:
pawn Код:
if(strcmp(cmdtext,"/pagarmulta",true) == 0)
    {
        if(PlayerMultado[playerid] == true)
        {
            new string[70];
            if(GetPlayerMoney(playerid) < PlayerMultas[playerid])
            {
               format(string,sizeof(string),"Vocк nгo tem grana suficiente (R$ %d)", PlayerMultas[playerid]);
               SendClientMessage(playerid,-1,string);
            }
            else
            {
                format(string,sizeof(string),"A multa foi paga, R$-%d", PlayerMultas[playerid]);
                SendClientMessage(playerid,-1,string);
                GivePlayerMoney(playerid,PlayerMultas[playerid]);
                PlayerMultas[playerid] = 0;
                PlayerMultado[playerid] = false;
            }
        }
        else {  SendClientMessage(playerid,-1,"Vocк nгo tem multas para pagar.");   }
        return 1;
}
E aн essa parte aqui:
pawn Код:
if((distance1[playerid])>speed)
    {
        if(IsPlayerInCircle(playerid, xx, yy, radius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
        {
            fine[playerid]=((distance1[playerid]*17/10)-speed);
            GivePlayerMoney(playerid, -2000);
            format(str,sizeof(str), "{FFFF00}[INFO-RADAR] {FF0000}O Limite de velocidade й {FFFF00}%d KM/H {FF0000}Voce Passou a {FFFF00}%d KM/H {FF0000}e foi {FFFF00}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);
        }
    }
Vocк troca por:
pawn Код:
if((distance1[playerid])>speed)
    {
        if(IsPlayerInCircle(playerid, xx, yy, radius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
        {
            fine[playerid]=((distance1[playerid]*17/10)-speed);
            PlayerMultas[playerid] += 150;
            PlayerMultado[playerid] = true;
            format(str,sizeof(str), "{FFFF00}[INFO-RADAR] {FF0000}O Limite de velocidade й {FFFF00}%d KM/H {FF0000}Voce Passou a {FFFF00}%d KM/H {FF0000}e foi {FFFF00}MULTADO. Use /pagarmulta !",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);
        }
    }
Mudei para 150 porque achei 2000 muito caro kkk, pelo menos compilar eu sei que compila, porque compilei aqui no meu GM de ajudar as pessoas kkk


Re: [PEDIDO] CMD Pagar multa - leosivi - 09.03.2012

Funfo mas Agr nao aparece a Mensagen do RADAR :/
Alguem pode me ajudar ?
pawn Код:
stock AddFlitsPaal(playerid, modelid, Float:xx, Float:yy, Float:zz, radius, speed)
{
    new fine[MAX_PLAYERS];
    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);
            new str[256];
            format(str,sizeof(str), "{FFFF00}[INFO-RADAR] {FF0000}O Limite de velocidade ? {FFFF00}%d KM/H {FF0000}Voce Passou a {FFFF00}%d KM/H {FF0000}e foi {FFFF00}MULTADO. Use /pagarmulta !",speed, distance1[playerid] ,fine[playerid]);
            SendClientMessage(playerid, VERDEFRACO, str);
            PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
            PlayerMultas[playerid] += 150;
            PlayerMultado[playerid] = true;
        }
    }
}



Re: [PEDIDO] CMD Pagar multa - rjjj - 09.03.2012

Isto deve resolver o seu problema :


pawn Код:
/*==================================   FS DE RADAR  ====================================
        ============================     By: Sivi    =============================
                ===================  Edit. por Sivi  ======================
                       ============ с TIRE os CREDTS  ==============*/


#include <a_samp>

//----------------------------------------
new UpdateSeconds = 2; // Nгo Mecher
new maxobject = 4;
//----------------------------------------

new Multas[MAX_PLAYERS];

public OnFilterScriptInit()
{
    print("\n----------------------------------");
    print("[FS] Radar Automatico Carregado");
    print("----------------------------------\n");
    SetTimer("UpdateSpeed", UpdateSeconds*1000, 1);
}


public OnFilterScriptExit()
{
    print("\n----------------------------------");
    print("[FS] Radar Automatico Desativado");
    print("----------------------------------\n");
}

forward UpdateSpeed(playerid);

enum SavePlayerPosEnum
{
    Float:LastX,
    Float:LastY,
    Float:LastZ
}

#define COLOR_YELLOW 0xFFFF00AA
#define VERDEFRACO 0x80cf80AA
#define SLOTS 500

new objectcreated;
new SavePlayerPos[SLOTS][SavePlayerPosEnum];
new distance1[MAX_PLAYERS];


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, 1278, 1524.1971,-1674.1224,13.5469, 40, 50); // Radar da DP PM
            AddFlitsPaal(i, 1278, 1486.7902,-1726.9485,13.5469, 40, 60); // Prefeitura
            AddFlitsPaal(i, 1278, 1454.1200,-1039.0997,23.8281, 40, 80); // BANCO
            AddFlitsPaal(i, 1278, 1993.0825,-1453.5201,13.5547, 40, 60); // HOSPITAL
            AddFlitsPaal(i, 1278, 1927.7516,-1757.6179,13.5469, 40, 80); // POSTO
            AddFlitsPaal(i, 1278, 1480.6022,-1867.0929,13.5469, 40, 80); // ATRAS DA PREF
            AddFlitsPaal(i, 1278, 1351.3029,-1291.9943,14.0469, 40, 80); // AMMU NATION
            AddFlitsPaal(i, 1278, 1766.7039,-1172.4738,23.8281, 40, 80); // LOJA DE ARMAS 1
            AddFlitsPaal(i, 1278, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
            AddFlitsPaal(i, 1278, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO

            //===================TEXTOS===================By: Sivi
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 50 KM/H",COLOR_YELLOW,1524.1971,-1674.1224,13.5469,100.0,0); //DP
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 60 KM/H",COLOR_YELLOW,1486.7902,-1726.9485,13.5469,100.0,0); //PREF
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1454.1200,-1039.0997,23.8281,100.0,0); //BANCO
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1927.7516,-1757.6179,13.5469,100.0,0); //POSTO
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1766.7039,-1172.4738,23.8281,100.0,0); //L. ARMA 1
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1351.3029,-1291.9943,14.0469,100.0,0); //AMMU NATION
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1348.7843,-1269.7135,14.0469,100.0,0); //AMMU NATION
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 60 KM/H",COLOR_YELLOW,1993.0825,-1453.5201,13.5547,100.0,0); //HOSPITAL
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1480.6022,-1867.0929,13.5469,100.0,0); //ATRAS DA PREF
        }
    }
}






public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/radar", cmdtext, true, 10) == 0)
    {
        SendClientMessage(playerid,0xFF0000AA,"******* SISTEMA DE RADAR ************");
        SendClientMessage(playerid,0x33CCFFAA,"Existem Radar na Prefeitura, No Hospital e no DP's de Los Santos e Banco");
        SendClientMessage(playerid,0x33CCFFAA,"O Limite de velocidade й entre 50 KM/H");
        SendClientMessage(playerid,0x33CCFFAA,"Se voce exceder o Limite de velocidade Nesses Locais , Levara Multa de 2000 $ ");
        SendClientMessage(playerid,0xFF0000AA,"Atenciosamente , A administraзгo.");
        return 1;
    }
    if(!strcmp(cmdtext, "/pagarmulta", true))
    {
        if(Multas[playerid] == 0) return SendClientMessage(playerid, 0xFFFFFFAA, "Nгo hб multas a serem pagas !");
        new STR[50];
        format(STR, 50, "Total de Multas: %d. Valor a pagar: %d", Multas[playerid], (Multas[playerid] * 2000));
        SendClientMessage(playerid, 0xFFFF00AA, STR);
        SendClientMessage(playerid, 0xFFFFFFAA, "Vocк pagou suas multas !");
        GivePlayerMoney(playerid, -1 * (Multas[playerid] * 2000));
        Multas[playerid] = 0;
        return 1;
    }
    return 0;
}

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++;
    }
    new Velocimetro = distance1[playerid] + 33;
    if((Velocimetro)>speed)
    {
        if(IsPlayerInCircle(playerid, xx, yy, radius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
        {
            fine[playerid]=((distance1[playerid]*17/10)-speed);
            Multas[playerid] += 1;
            format(str,sizeof(str), "{FFFF00}[INFO-RADAR] {FF0000}O Limite de velocidade й {FFFF00}%d KM/H {FF0000}Voce Passou a {FFFF00}%d KM/H {FF0000}e foi {FFFF00}MULTADO !",speed, Velocimetro);
            // 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);
            SendClientMessage(playerid, 0x33CCFFAA, "Digite /pagarmulta para pagar suas multas !");
            PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
        }
    }
}


Espero ter ajudado .


Re: [PEDIDO] CMD Pagar multa - leosivi - 09.03.2012

Quote:
Originally Posted by rjjj
Посмотреть сообщение
Isto deve resolver o seu problema :


pawn Код:
/*==================================   FS DE RADAR  ====================================
        ============================     By: Sivi    =============================
                ===================  Edit. por Sivi  ======================
                       ============ с TIRE os CREDTS  ==============*/


#include <a_samp>

//----------------------------------------
new UpdateSeconds = 2; // Nгo Mecher
new maxobject = 4;
//----------------------------------------

new Multas[MAX_PLAYERS];

public OnFilterScriptInit()
{
    print("\n----------------------------------");
    print("[FS] Radar Automatico Carregado");
    print("----------------------------------\n");
    SetTimer("UpdateSpeed", UpdateSeconds*1000, 1);
}


public OnFilterScriptExit()
{
    print("\n----------------------------------");
    print("[FS] Radar Automatico Desativado");
    print("----------------------------------\n");
}

forward UpdateSpeed(playerid);

enum SavePlayerPosEnum
{
    Float:LastX,
    Float:LastY,
    Float:LastZ
}

#define COLOR_YELLOW 0xFFFF00AA
#define VERDEFRACO 0x80cf80AA
#define SLOTS 500

new objectcreated;
new SavePlayerPos[SLOTS][SavePlayerPosEnum];
new distance1[MAX_PLAYERS];


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, 1278, 1524.1971,-1674.1224,13.5469, 40, 50); // Radar da DP PM
            AddFlitsPaal(i, 1278, 1486.7902,-1726.9485,13.5469, 40, 60); // Prefeitura
            AddFlitsPaal(i, 1278, 1454.1200,-1039.0997,23.8281, 40, 80); // BANCO
            AddFlitsPaal(i, 1278, 1993.0825,-1453.5201,13.5547, 40, 60); // HOSPITAL
            AddFlitsPaal(i, 1278, 1927.7516,-1757.6179,13.5469, 40, 80); // POSTO
            AddFlitsPaal(i, 1278, 1480.6022,-1867.0929,13.5469, 40, 80); // ATRAS DA PREF
            AddFlitsPaal(i, 1278, 1351.3029,-1291.9943,14.0469, 40, 80); // AMMU NATION
            AddFlitsPaal(i, 1278, 1766.7039,-1172.4738,23.8281, 40, 80); // LOJA DE ARMAS 1
            AddFlitsPaal(i, 1278, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO
            AddFlitsPaal(i, 1278, 0000.0000,0000.0000,0000.0000, 20, 50); // VAGO

            //===================TEXTOS===================By: Sivi
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 50 KM/H",COLOR_YELLOW,1524.1971,-1674.1224,13.5469,100.0,0); //DP
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 60 KM/H",COLOR_YELLOW,1486.7902,-1726.9485,13.5469,100.0,0); //PREF
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1454.1200,-1039.0997,23.8281,100.0,0); //BANCO
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1927.7516,-1757.6179,13.5469,100.0,0); //POSTO
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1766.7039,-1172.4738,23.8281,100.0,0); //L. ARMA 1
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1351.3029,-1291.9943,14.0469,100.0,0); //AMMU NATION
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1348.7843,-1269.7135,14.0469,100.0,0); //AMMU NATION
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 60 KM/H",COLOR_YELLOW,1993.0825,-1453.5201,13.5547,100.0,0); //HOSPITAL
            Create3DTextLabel("RADAR\nVelocidade\nMaxima 80 KM/H",COLOR_YELLOW,1480.6022,-1867.0929,13.5469,100.0,0); //ATRAS DA PREF
        }
    }
}






public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/radar", cmdtext, true, 10) == 0)
    {
        SendClientMessage(playerid,0xFF0000AA,"******* SISTEMA DE RADAR ************");
        SendClientMessage(playerid,0x33CCFFAA,"Existem Radar na Prefeitura, No Hospital e no DP's de Los Santos e Banco");
        SendClientMessage(playerid,0x33CCFFAA,"O Limite de velocidade й entre 50 KM/H");
        SendClientMessage(playerid,0x33CCFFAA,"Se voce exceder o Limite de velocidade Nesses Locais , Levara Multa de 2000 $ ");
        SendClientMessage(playerid,0xFF0000AA,"Atenciosamente , A administraзгo.");
        return 1;
    }
    if(!strcmp(cmdtext, "/pagarmulta", true))
    {
        if(Multas[playerid] == 0) return SendClientMessage(playerid, 0xFFFFFFAA, "Nгo hб multas a serem pagas !");
        new STR[50];
        format(STR, 50, "Total de Multas: %d. Valor a pagar: %d", Multas[playerid], (Multas[playerid] * 2000));
        SendClientMessage(playerid, 0xFFFF00AA, STR);
        SendClientMessage(playerid, 0xFFFFFFAA, "Vocк pagou suas multas !");
        GivePlayerMoney(playerid, -1 * (Multas[playerid] * 2000));
        Multas[playerid] = 0;
        return 1;
    }
    return 0;
}

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++;
    }
    new Velocimetro = distance1[playerid] + 33;
    if((Velocimetro)>speed)
    {
        if(IsPlayerInCircle(playerid, xx, yy, radius)  && GetPlayerState(playerid)== PLAYER_STATE_DRIVER)
        {
            fine[playerid]=((distance1[playerid]*17/10)-speed);
            Multas[playerid] += 1;
            format(str,sizeof(str), "{FFFF00}[INFO-RADAR] {FF0000}O Limite de velocidade й {FFFF00}%d KM/H {FF0000}Voce Passou a {FFFF00}%d KM/H {FF0000}e foi {FFFF00}MULTADO !",speed, Velocimetro);
            // 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);
            SendClientMessage(playerid, 0x33CCFFAA, "Digite /pagarmulta para pagar suas multas !");
            PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0);
        }
    }
}


Espero ter ajudado .


Brigado Genio

+REP



Re: [PEDIDO] CMD Pagar multa - igor97m - 12.03.2014

(26846) : warning 219: local variable "string" shadows a variable at a preceding level
(29607) : error 017: undefined symbol "distance1"
(29607) : error 029: invalid expression, assumed zero
(29607) : error 029: invalid expression, assumed zero
(29607) : fatal error 107: too many error messages on one line

Ajuda!


Re: [PEDIDO] CMD Pagar multa - Schocc - 13.03.2014

REMOVED