[Ajuda] Escrever linha em .cfg
#1

De todas as coisas que eu queria editar no meu GM a ъnica que eu nгo consegui foi essa por isso to pedindo ajuda aqui

O sistema de concencionaria do meu servidor ele funciona certinho, vc compra o carro vende e tal, mas me deram uma ideia (ele tbm n sabia fazer)
um comando que adicionava uma nova linha tipo os carros ficam salvos assim:
scriptfiles\Configs\Carros.cfg

Ai eu queria um comando que desse /comprar sultan ai dava um \n e adicionava uma nova linha assim:
\n
550,1594.955200,-1009.990722,23.611700,185.221496,0,1,NomedoPlayer, Concecionaria,238800,,1,0,8

Sу mudando o nome do player numa variavel o resto eu me viro
Reply
#2

Ai eu colocava um auto incremento no MAX_VEHICLES, tava precisando mt disso pq jб terminei tudo, mas isso eu n sei fazer =s
Reply
#3

Use as funзхes padrхes de manipulaзгo de arquivos, como as funзхes fopen e fwrite .



Considerando playerid como o ID do jogador comprador, este cуdigo, por exemplo, geraria uma nova linha de informaзхes, contendo o nome do jogador, no arquivo de caminho scriptfiles\Configs\Carros.cfg :


pawn Код:
new NomeJogador[25];
GetPlayerName(playerid, NomeJogador, 25);
new Linha[128];
format(Linha, 128, "\n550,1594.955200,-1009.990722,23.611700,185.221496,0,1,%s,Concessionaria,238800,,1,0,8", NomeJogador);
new File:Arquivo;
Arquivo = fopen("Configs/Carros.cfg", io_append);
fwrite(Arquivo, Linha);
fclose(Arquivo);


Espero ter ajudado .
Reply
#4

rjjj obrigadгo, mas nгo foi aqui... Tentei assim , mas nada aconteceu, nem no .cfg lб :\
pawn Код:
if(strcmp(cmd, "/vcomprar",true )==0)
    {
        // Perenniel, 404, 120800
        // 1,0,8 (1 = vendido) (0 = a venda)
        // perenniel
       
        if(GetPlayerMoney(playerid) < 120800) return SendClientMessage(playerid, COLOR_RED, "Vocк nгo tem dinheiro suficiente.");
        GivePlayerMoney(playerid,-120800);
        if(PlayerInfo[playerid][pCarKey]!=0)
        {
            SendClientMessage(playerid, COLOR_GREY, "[Servidor]  vocк ja tem um Veiculo (/veiculo vender)");
            return 1;
        }
        SBizzInfo[1][sbTill] += 500;
        GivePlayerMoney(playerid,-500);
        GameTextForPlayer(playerid, "~w~Parabens~n~Voce comprou esse Veiculo!", 5000, 3);
        SendClientMessage(playerid, COLOR_YELLOW,"[Servidor]  /Veiculo ajuda para ver os comandos");
       
        new NomeJogador[25];
        GetPlayerName(playerid, NomeJogador, 25);
        new Linha[128];
        format(Linha, 128, "\n404,1546.991943,-1015.527709,23.611146,338.216125,0,1,%s,Concecionaria,120800,,1,0,8", NomeJogador);
        new File:Arquivo;
        Arquivo = fopen("Configs/Carros.cfg", io_append);
        fwrite(Arquivo, Linha);
        fclose(Arquivo);
       
        SaveCars();
        return 1;
    }
pawn Код:
public SaveCars()
{
    new idx;
    new File: file2;
    while (idx < sizeof(CarInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%f,%d,%d,%s,%s,%d,%s,%d,%d,%d\n",
        CarInfo[idx][cModel],
        CarInfo[idx][cLocationx],
        CarInfo[idx][cLocationy],
        CarInfo[idx][cLocationz],
        CarInfo[idx][cAngle],
        CarInfo[idx][cColorOne],
        CarInfo[idx][cColorTwo],
        CarInfo[idx][cOwner],
        CarInfo[idx][cDescription],
        CarInfo[idx][cValue],
        CarInfo[idx][cLicense],
        CarInfo[idx][cOwned],
        CarInfo[idx][cLock],
        CarInfo[idx][cGrana]);
        if(idx == 1)
        {
            file2 = fopen("Configs/Carros.cfg", io_write);
        }
        else
        {
            file2 = fopen("Configs/Carros.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    return 1;
}
Reply
#5

PHP код:
        new Linha[128];
        
format(Linha128"\n404,1546.991943,-1015.527709,23.611146,338.216125,0,1,%s,Concecionaria,120800,,1,0,8"NomeJogador);
        new 
File:Arquivo;
        
Arquivo fopen("Configs/Carros.cfg"io_append);
        
fwrite(ArquivoLinha);
        
fclose(Arquivo); 
Com isso vocк esta criando uma nova linha, e nгo editando uma ja existente...

PHP код:
//ja no savecars
file2 fopen("Configs/Carros.cfg"io_write); 
isso "reseta" todo o arquivo, ou seja a linha que vocк adicionou anteriormente й excluida

Seria mais facil vocк trabalhar com as linhas ja existentes do arquivo atravйs da variavel CarInfo
Reply
#6

Mas eu aumentei o max_vehicle dai era sу adicionar uma linha nova com essas informaзхes pra ter mais um carro, ai a concencionaria ia ficar bem mais bem feita, sу ia vindo os carros quando os caras compra-sem os carros, se eu edita-se uma linha existente n ia entrar novos carros entende?
Reply
#7

Vocк aumentou o CarInfo?
Reply
#8

Quando eu mudei o CarInfo botei +1000 entrou novas 1000 linhas
0,1721.367431,-1007.568176,23.618200,167.440200,0,1,Dealership,Co ncecionaria,50000,,0,0,8

E com aquele de cima nada acontece, sei lб eu queria um modo que vc compra-se o carro dai ele aparecia na coordenada 1546.991943,-1015.527709,23.611146, sendo seu, mas parece q vai ser mais complicado do que eu tava achando...

o que da mais agonia й que nгo tem mais nada pra fazer tudo que eu queira fazer eu fiz menos essa porra que eu nгo consigo :@
Reply
#9

ficaria mt bom msm infinta
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)