[Ajuda] Concessionaria para meu GM
#1

Estou criando uma Concessionaria para meu GM e estou em duvida em fazer uma parte.
Para explicar melhor a Concessionaria que estou criando, "Vip's" e "Admins" terгo direito a 10 carros, isso quer dizer que minha Concessionaria vai criar um arquivo com o nome do player mais o numero do veнculos que o player pode ter ex:"Nome_0,Nome_1,Nome_2 .etc" "Nome_numero do veiculo do player". E estou com o problema na parte da numeraзгo. O que eu fiz ta ficando assim cria o primeiro arquivo "Nome_0" ai cria ate o numero dez "Nome_10" que й o mбximo, ai se o player vende o carro de numero 7 "Nome_7", e comprar outro carro de novo o arquivo "Nome_7"nгo aparece. Entгo o que estou querendo fazer e quando o player for comprar outro carro que criasse o "Nome_7" que foi apagado ou outros que tambйm foram.
Reply
#2

manda o codigo, a galera vai pedi para te ajudar (eu acho)
Reply
#3

Cadк o cуdigo?
Reply
#4

Esta aki
pawn Код:
#include <a_Samp>
#include <DOF2>

#define PASTA_CONCE    "/Conce/%.ini"
#define MAX_VEHICLE_VIP 10

new Float:RequestConceSf[5][4] =
{
    {-1958.1014,301.7753,35.1968,126.0418},
    {-1957.5437,276.8116,35.1958,136.7501},
    {-1948.2711,263.7450,35.1968,112.9527},
    {-1947.9272,264.3204,40.7781,48.4357},
    {-1955.6560,295.3828,40.7741,138.5161}
};

new Placas[] =
{
   9123,
   2345,
   9990,
   1223,
   8756,
   7899,
   1234,
   2912,
   7707,
   7777,
   9999,
   3455,
   6543,
   5902,
   7699,
   1010,
   1352,
   9756,
   8910,
   1040,
   1543,
   6655,
   1025,
   4318
};

enum pIConce
{
    Modelo,
    Float:pX,
    Float:pY,
    Float:pZ,
    Float:pA,
    Dono[24],
    Placa[15],
    Cor1,
    Cor2
};
new vConce[MAX_VEHICLE_VIP][pIConce];

stock CriaveiculoConce(playerid)
{
    new pName[MAX_PLAYER_NAME], file[100],file2[100], proximov,
    randPlaca = random(sizeof(Placas)), placa[15],rand = random(sizeof(RequestConceSf));
    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    format(file, sizeof(file), PASTA_CONCE, pName,proximov);
    if(DOF2::FileExists(file))
    {
       proximov++;
       DOF2::CreateFile(file);
    }
    format(file2, sizeof(file2), PASTA_CONCE, pName,proximov);
    DOF2::CreateFile(file2);
    {
        format(placa, sizeof(placa),"BCL - %d", Placas[randPlaca]);
        vConce[playerid][Modelo] = ModeloConceVeiculo[playerid];
        DOF2::SetInt(file,"Modelo", vConce[playerid][Modelo]);
        vConce[playerid][pX] = RequestConceSf[rand][0];
        DOF2::SetFloat(file,"pX",vConce[playerid][pX]);
        vConce[playerid][pY] = RequestConceSf[rand][1];
        DOF2::SetFloat(file,"pY",vConce[playerid][pY]);
        vConce[playerid][pZ] = RequestConceSf[rand][2];
        DOF2::SetFloat(file,"pZ",vConce[playerid][pZ]);
        vConce[playerid][pA] = RequestConceSf[rand][3];
        DOF2::SetFloat(file,"pA",vConce[playerid][pA]);
        vConce[playerid][Dono] = pName;
        DOF2::SetString(file,"Dono",vConce[playerid][Dono]);
        vConce[playerid][Placa] = placa;
        DOF2::SetString(file,"Placa", placa);
        vConce[playerid][Preco] = vVeiculo(ModeloConceVeiculo[playerid]) / 2;
        DOF2::SetInt(file,"Preco",vConce[playerid][Preco]);
        vConce[playerid][Cor1] = random(128);
        DOF2::SetInt(file,"Cor1",vConce[playerid][Cor1]);
        vConce[playerid][Cor2] = random(128);
        DOF2::SetInt(file,"Cor2",vConce[playerid][Cor2]);

        vConce[playerid][Modelo] = CreateVehicle(vConce[playerid][Modelo],vConce[playerid][pX],vConce[playerid][pY],vConce[playerid][pZ],vConce[playerid][pA],vConce[playerid][Cor1],vConce[playerid][Cor2],-1);
        SetVehicleNumberPlate(vConce[playerid][Modelo], vConce[playerid][Placa]);
        PutPlayerInVehicle(playerid, vConce[playerid][Modelo], 0);
        GivePlayerGrana(playerid, -vVeiculo(ModeloConceVeiculo[playerid]));
        SendClientMessage(playerid, Verde, "Veiculo Comprado.");
        ModeloConceVeiculo[playerid] = 0;
    }
    return 1;
}

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    DOF2::Exit();
    return 1;
}
Editado para o cod completo
Reply
#5

Se eu entendi direito, vocк pode fazer o seguinte: na hora de criar os arquivos, colocar um linha no arquivo indicando se o carro foi vendido ou nгo:
pawn Код:
Deletado = 0
// caso nгo foi vendido й 0 e caso foi 1
E quando ele vender em vez de apagar o arquivo mudar esta indicaзгo para 1, e depois quando comprar outro fazer uma verificaзгo abrindo todos os arquivos e ver se algum foi vendido, e caso achar um alterar estб linha e outras linhas do arquivo.
Reply
#6

Ainda nгo entendi...
Й pra criar o arquivo com o prуximo carro dele ou pra criar com o carro passado?

Explica mais, estou com algumas dъvidas em relaзгo a isto.
Reply
#7

Quote:
Originally Posted by xCR7
Посмотреть сообщение
Ainda nгo entendi...
Й pra criar o arquivo com o prуximo carro dele ou pra criar com o carro passado?

Explica mais, estou com algumas dъvidas em relaзгo a isto.
E o seguinte tenho uma ordem de arquivos de 1 a 10 "1,2,3,4,5,6,7,8,9,10" se eu tiro alguns arquivos ex:"1,2,3,9,10". Eu quero dizer que quero repor os arquivos na ordem certa de vez renomear colocar o "4,5,6,7,8"
Reply
#8

Quote:
Originally Posted by Marlon307
Посмотреть сообщение
Esta aki
pawn Код:
#include <a_Samp>
#include <DOF2>

#define PASTA_CONCE    "/Conce/%.ini"
#define MAX_VEHICLE_VIP 10

enum pIConce
{
    Modelo,
    Float:pX,
    Float:pY,
    Float:pZ,
    Float:pA,
    Dono[24],
    Placa[15],
    Cor1,
    Cor2
};
new vConce[MAX_VEHICLE_VIP][pIConce];

stock CriaveiculoConce(playerid)
{
    new pName[MAX_PLAYER_NAME], file[100],file2[100], proximov;
    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);

    format(file, sizeof(file), PASTA_CONCE, pName,proximov);
    if(DOF2::FileExists(file))
    {
       proximov++;
       DOF2::CreateFile(file);
    }
    format(file2, sizeof(file2), PASTA_CONCE, pName,proximov);
    DOF2::CreateFile(file2);
    {
        format(placa, sizeof(placa),"BCL - %d", Placas[randPlaca]);
        vConce[playerid][Modelo] = ModeloConceVeiculo[playerid];
        DOF2::SetInt(file,"Modelo", vConce[playerid][Modelo]);
        vConce[playerid][pX] = RequestConceSf[rand][0];
        DOF2::SetFloat(file,"pX",vConce[playerid][pX]);
        vConce[playerid][pY] = RequestConceSf[rand][1];
        DOF2::SetFloat(file,"pY",vConce[playerid][pY]);
        vConce[playerid][pZ] = RequestConceSf[rand][2];
        DOF2::SetFloat(file,"pZ",vConce[playerid][pZ]);
        vConce[playerid][pA] = RequestConceSf[rand][3];
        DOF2::SetFloat(file,"pA",vConce[playerid][pA]);
        vConce[playerid][Dono] = pName;
        DOF2::SetString(file,"Dono",vConce[playerid][Dono]);
        vConce[playerid][Placa] = placa;
        DOF2::SetString(file,"Placa", placa);
        vConce[playerid][Preco] = vVeiculo(ModeloConceVeiculo[playerid]) / 2;
        DOF2::SetInt(file,"Preco",vConce[playerid][Preco]);
        vConce[playerid][Cor1] = random(128);
        DOF2::SetInt(file,"Cor1",vConce[playerid][Cor1]);
        vConce[playerid][Cor2] = random(128);
        DOF2::SetInt(file,"Cor2",vConce[playerid][Cor2]);

        vConce[playerid][Modelo] = CreateVehicle(vConce[playerid][Modelo],vConce[playerid][pX],vConce[playerid][pY],vConce[playerid][pZ],vConce[playerid][pA],vConce[playerid][Cor1],vConce[playerid][Cor2],-1);
        SetVehicleNumberPlate(vConce[playerid][Modelo], vConce[playerid][Placa]);
        PutPlayerInVehicle(playerid, vConce[playerid][Modelo], 0);
        GivePlayerGrana(playerid, -vVeiculo(ModeloConceVeiculo[playerid]));
        SendClientMessage(playerid, Verde, "Veiculo Comprado.");
        ModeloConceVeiculo[playerid] = 0;
    }
    return 1;
}
Ao invйs de utilizar 'proximov', vocк pode fazer isso com loop. Daн se tiver o carro 1, 2, 4, 5, 7, 9 e 10, ao rodar o loop ele vai criar o 3. Mas aн vocк terб que usar um 'break' senгo nгo vai dar muito certo.
Reply
#9

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Ao invйs de utilizar 'proximov', vocк pode fazer isso com loop. Daн se tiver o carro 1, 2, 4, 5, 7, 9 e 10, ao rodar o loop ele vai criar o 3. Mas aн vocк terб que usar um 'break' senгo nгo vai dar muito certo.
Me ensina a fazer isso. por favor
Reply
#10

Nгo sei se a minha lуgica estб certa, mas isso pode te ajudar em algo.

pawn Код:
for(new vehicle=0; vehicle < 11; vehicle++)  {
    if(ExistirVeiculo(vehicle)  {
        printf("%d jб existe", vehicle);
        else return printf("%d ainda nгo existe", vehicle);
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)