Escrever linha em .cfg -
caroninguem123 - 23.04.2014
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
Re: Escrever linha em .cfg -
caroninguem123 - 23.04.2014
Ai eu colocava um auto incremento no MAX_VEHICLES, tava precisando mt disso pq jб terminei tudo, mas isso eu n sei fazer =s
Re: Escrever linha em .cfg -
rjjj - 24.04.2014
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
.
Re: Escrever linha em .cfg -
caroninguem123 - 24.04.2014
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;
}
Re: Escrever linha em .cfg -
yiakin - 24.04.2014
PHP код:
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);
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
Re: Escrever linha em .cfg -
caroninguem123 - 24.04.2014
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?
Re: Escrever linha em .cfg -
yiakin - 24.04.2014
Vocк aumentou o CarInfo?
Re: Escrever linha em .cfg -
caroninguem123 - 25.04.2014
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 :@
Re: Escrever linha em .cfg -
gmstrikker - 25.04.2014
ficaria mt bom msm infinta