[Ajuda] Melhor maneira de armazenar veнculos em .ini?
#1

Oi galera,

Estou construindo um GameMode, e fiquei parado pensando qual seria a melhor maneira de armazenar veнculos em um .ini. Aviso desde jб que nгo pretendo usar MySQL/SQLite para este projeto.

Mйtodo tradicional:
Код:
1.ini
PosX=0
PosY=0
PosZ=0
2.ini
PosX=0
PosY=0
PosZ=0
Meu mйtodo:
Код:
carros.ini
[1]
PosX=0
PosY=0
PosZ=0
[2]
PosX=0
PosY=0
PosZ=0
Qual seria o melhor mйtodo, tendo em conta que os veнculos iriam atй 2000? Seria melhor ter um .ini por cada veнculo (como sempre foi)? Ou guardar tudo dentro de um sу .ini? Haveria algum problema guardar tudo dentro de um sу .ini? Porquк?

Aproveito este tуpico para perguntar qual include devo usar para manipular ficheiros INI. Jб estive a ver o Y_INI, mas achei-o um bocado confuso, se calhar tenho de vк-lo com mais atenзгo novamente. Existe algum que vocкs recomendem?
Reply
#2

Eu usava um gamemode que guardava todos os carros num ъnico .ini e bugava tudo. Quando comecei a criar o meu fiz cada carro com o seu .ini. Previne bugs e й mais fбcil ver os detalhes de cada carro.
Reply
#3

Na minha opiniao seria melhor um INI para cada veiculo!
Porque vocк armazenar mais informaзгo! e por exemplo se vocк quiser ler o carro 1700 de um arquivo imagina quantas linhas vocк teria que ler? Faz tempo que nгo mecho com INI posso estar equivocado.


Sei que vocк nгo quer usar SQLite, mais acho que vocк deveria rever isso cara.
Reply
#4

Ok, obrigado aos dois

E estive a pensar melhor, e se calhar vou usar SQLite.
Reply
#5

Creio que seria interessante vocк criar o sistema com registros individuais, por que disso? simplesmente й mais fбcil de trabalhar e bem mais fбcil de manusear, eu utilizo um sistema de mysql, se um dos veнculos buga eu pego o ID de Registro dele й jogo no banco de dados, vejo o que ta bugado e desbugo facilmente, se vocк fizer em um arquivo sу, seria ruim pois estaria, digamos, muito amoutado em um canto sу, se seu servidor for grande, terб muita dor de cabeзa.

E nгo, o limite do SA:MP nгo й o limite da programaзгo de sistema veicular, este limite apenas impхe quantos veнculos ficam spawnados no servidor, nгo significando que vocк nгo possa ter 5 mil veнculos no sistema e etc.. o que eu utilizo, tem cerca de 15,000 veнculos de jogadores.
Reply
#6

Quote:
Originally Posted by willttoonn
Посмотреть сообщение
Creio que seria interessante vocк criar o sistema com registros individuais, por que disso? simplesmente й mais fбcil de trabalhar e bem mais fбcil de manusear, eu utilizo um sistema de mysql, se um dos veнculos buga eu pego o ID de Registro dele й jogo no banco de dados, vejo o que ta bugado e desbugo facilmente, se vocк fizer em um arquivo sу, seria ruim pois estaria, digamos, muito amoutado em um canto sу, se seu servidor for grande, terб muita dor de cabeзa.

E nгo, o limite do SA:MP nгo й o limite da programaзгo de sistema veicular, este limite apenas impхe quantos veнculos ficam spawnados no servidor, nгo significando que vocк nгo possa ter 5 mil veнculos no sistema e etc.. o que eu utilizo, tem cerca de 15,000 veнculos de jogadores.
Valeu pelo comentбrio. Eu ia fazer o sistema de veнculos assumindo que sу podiam existir 2000. Agora vou fazer de forma a que apenas quando o player entrasse no servidor spawnasse os seus veнculos. Ou entгo, para ficar mais realista, o script spawnaria veнculos de players aleatуrios, e ia despawnando esses а medida que mais veнculos de players online spawnavam.
Reply
#7

Quote:
Originally Posted by Nixtren
Посмотреть сообщение
Valeu pelo comentбrio. Eu ia fazer o sistema de veнculos assumindo que sу podiam existir 2000. Agora vou fazer de forma a que apenas quando o player entrasse no servidor spawnasse os seus veнculos. Ou entгo, para ficar mais realista, o script spawnaria veнculos de players aleatуrios, e ia despawnando esses а medida que mais veнculos de players online spawnavam.
Fica mais facil, um dialog pro jogador spawnar x veiculo, evita passar o Limite, e nгo spawna veiculos desnecessarios.
Reply
#8

Quote:
Originally Posted by Nixtren
Посмотреть сообщение
Valeu pelo comentбrio. Eu ia fazer o sistema de veнculos assumindo que sу podiam existir 2000. Agora vou fazer de forma a que apenas quando o player entrasse no servidor spawnasse os seus veнculos. Ou entгo, para ficar mais realista, o script spawnaria veнculos de players aleatуrios, e ia despawnando esses а medida que mais veнculos de players online spawnavam.
Cara, й meio complicado esse negocio de spawnar veiculos porque os ID's deles й o SAMP que coloca vocк nгo tem controle sobre isso, vocк terб que investir muito tempo para evitar bugs com isso! Eu criei um sistema assim direto bugava! eu atй desisti! kkk' Nгo estou falando que й impossivel! Mais terб que criar alguns sistemas que contorne isso.
Reply
#9

Quote:
Originally Posted by ReDKiiL
Посмотреть сообщение
Cara, й meio complicado esse negocio de spawnar veiculos porque os ID's deles й o SAMP que coloca vocк nгo tem controle sobre isso, vocк terб que investir muito tempo para evitar bugs com isso! Eu criei um sistema assim direto bugava! eu atй desisti! kkk' Nгo estou falando que й impossivel! Mais terб que criar alguns sistemas que contorne isso.
Jб estive a pensar nisso, a minha lуgica й armazenar o ID do veнculo spawnado numa variбvel:
Код:
Vehicle[v][SpawnedID] = CreateVehicle(blah);
E depois para manipular determinado veнculo, como por exemplo, respawnar o ID 3000 (ID na base de dados), faзo por exemplo:
Код:
SetVehicleToRespawn(Vehicle[3000][SpawnedID]);
Para eu descobrir o ID do veнculo (base de dados) que o player estб a conduzir deverei usar um "for loop":
Код:
GetBDVehicleID(internalVehicleID) // O parвmetro "internalVehicleID" й o ID do veнculo no SAMP
{
	for(new v = 0; v < MAX_VEHICLES_BD; v++)
	{
		if (Vehicle[v][SpawnedID] == internalVehicleID)
		{
			return v; // Irб retornar o ID do veнculo na base de dados
		}
	}
}

CMD:veiculodb(player)
{
	SendClientMessage(playerid, -1, valstr(GetBDVehicleID(GetPlayerVehicle(playerid))));
	return 1;
}
Nгo estou dizendo que й fбcil, mas tambйm nгo й difнcil, sу й preciso ter cuidado (e atenзгo) a desenvolver sistemas como estes.
Reply
#10

A melhor maneira de vocк fazer esse sistema que era o que estava pensando й todos os veнculos for dinвmico.
Inclusive os criados por mapas!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)