Portal SAMP
[Ajuda] Tunagem de veiculos - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Tunagem de veiculos (/showthread.php?tid=4717)



Tunagem de veiculos - welmateus - 23/04/2024

Estou criando um sistema de tunagem com um "preview" antes de fazer a compra da modificação.
Porém estou guardando em uma variavel o "parachoque frontal" antigo do veiculo.
Código:
ParachoqueFAntigo[playerid] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_FRONT_BUMPER);

Porém, quando eu coloco o componente novamente no veículo
Código:
AddVehicleComponent(GetPlayerVehicleID(playerid), ParachoqueFAntigo[playerid]);
 
Simplesmente nao acontece nada, o veículo fica com o parachoque que era pra apenas ser visto no "preview"


RE: Tunagem de veiculos - xbruno1000x - 23/04/2024

Uma das primeiras coisas que você deve fazer para encontrar um problema é verificar a entrada e saída de dados. Isso pode ser feito com um simples printf.
Código:
ParachoqueFAntigo[playerid] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_FRONT_BUMPER);
printf("O parachoque antigo é: %i", ParachoqueFAntigo[playerid]);

Daí você vai ver se a função está retornando um valor correto ou nulo. A partir daí fica melhor de entender o seu problema e resolver.


RE: Tunagem de veiculos - welmateus - 23/04/2024

(23/04/2024 21:25)xbruno1000x Escreveu: Uma das primeiras coisas que você deve fazer para encontrar um problema é verificar a entrada e saída de dados. Isso pode ser feito com um simples printf.
Código:
ParachoqueFAntigo[playerid] = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_FRONT_BUMPER);
printf("O parachoque antigo é: %i", ParachoqueFAntigo[playerid]);

Daí você vai ver se a função está retornando um valor correto ou nulo. A partir daí fica melhor de entender o seu problema e resolver.

Retorna o valor 0 para veiculos que não tem modificações, não deveria retornar outro valor?


RE: Tunagem de veiculos - xbruno1000x - 23/04/2024

(23/04/2024 22:10)welmateus Escreveu: Retorna o valor 0 para veiculos que não tem modificações, não deveria retornar outro valor?

Se não tem component, vai retornar 0 como valor mesmo.

Para remover o component e voltar para 0, você precisaria fazer como no exemplo abaixo:
Código:
//Removendo o nitro de um veículo
new vehicleid = GetPlayerVehicleID(playerid);
RemoveVehicleComponent(vehicleid, 1010);



RE: Tunagem de veiculos - welmateus - 23/04/2024

(23/04/2024 22:29)xbruno1000x Escreveu:
(23/04/2024 22:10)welmateus Escreveu: Retorna o valor 0 para veiculos que não tem modificações, não deveria retornar outro valor?

Se não tem component, vai retornar 0 como valor mesmo.

Para remover o component e voltar para 0, você precisaria fazer como no exemplo abaixo:
Código:
//Removendo o nitro de um veículo
new vehicleid = GetPlayerVehicleID(playerid);
RemoveVehicleComponent(vehicleid, 1010);
Hmm entendo, o sistema não vai ficar como imaginei, porém ja vai resolver.
Obrigado


RE: Tunagem de veiculos - Carlos Victor - 26/04/2024

Tem alguns includes que tem array com todos os veículos e suas modificações permitidas, você poderia encontrar isso ou então fazer um para o seu servidor, e quando o jogador tentar colocar uma modificação você verificar se aquela modificação é permitida ou não no veículo.

Se o carro X tem suporte por exemplo para por aerofólio, etc...