SISTEMA DE MILHAS VEÍCULO - Woorz - 03/06/2022
FAMÍLIA,
ESTOU TENTANDO PENSAR EM UM SISTEMS DE KM RODADOS PARA VEÍCULO, PORÉM NAO VEM A MENTE AINDA.
VOCÊS TERIA UMA IDEIA AI DE COMO INCIA-LO?
SERA REGISTRADO NA DB SQL, SEMPRE QUE O VEICULO ESTIVER ANDANDO ELA VAI GERANDO OS KM NO VEICULO. QUANDO ATINGIR UM CERTO KM O VEICULO VAI PARAR.
RE: SISTEMA DE MILHAS VEÍCULO - Hatiro - 03/06/2022
(03/06/2022 08:34)Woorz Escreveu: FAMÍLIA,
ESTOU TENTANDO PENSAR EM UM SISTEMS DE KM RODADOS PARA VEÍCULO, PORÉM NAO VEM A MENTE AINDA.
VOCÊS TERIA UMA IDEIA AI DE COMO INCIA-LO?
SERA REGISTRADO NA DB SQL, SEMPRE QUE O VEICULO ESTIVER ANDANDO ELA VAI GERANDO OS KM NO VEICULO. QUANDO ATINGIR UM CERTO KM O VEICULO VAI PARAR. Eu usaria GetVehicleVelocity para calcular os km rodado
RE: SISTEMA DE MILHAS VEÍCULO - Woorz - 03/06/2022
(03/06/2022 08:50)Hatiro Escreveu: (03/06/2022 08:34)Woorz Escreveu: FAMÍLIA,
ESTOU TENTANDO PENSAR EM UM SISTEMS DE KM RODADOS PARA VEÍCULO, PORÉM NAO VEM A MENTE AINDA.
VOCÊS TERIA UMA IDEIA AI DE COMO INCIA-LO?
SERA REGISTRADO NA DB SQL, SEMPRE QUE O VEICULO ESTIVER ANDANDO ELA VAI GERANDO OS KM NO VEICULO. QUANDO ATINGIR UM CERTO KM O VEICULO VAI PARAR. Eu usaria GetVehicleVelocity para calcular os km rodado
Top irmão.
Provavelmente vai ter que ser em Float então?
Tem uma ideia aí pra aonde usa ele pra Pegando a Velocidade para adicionar na variável?
RE: SISTEMA DE MILHAS VEÍCULO - Dr Editor - 03/06/2022
Você pode usar a velocidade ou a distância percorrida a cada segundo.
A velocidade entregaria uma maior precisão.
Em qualquer um dos casos é interessante verificar apenas no espaço 2D, pois em 3D vai verificar a queda do veículo.
RE: SISTEMA DE MILHAS VEÍCULO - Hatiro - 03/06/2022
(03/06/2022 09:11)Woorz Escreveu: (03/06/2022 08:50)Hatiro Escreveu: (03/06/2022 08:34)Woorz Escreveu: FAMÍLIA,
ESTOU TENTANDO PENSAR EM UM SISTEMS DE KM RODADOS PARA VEÍCULO, PORÉM NAO VEM A MENTE AINDA.
VOCÊS TERIA UMA IDEIA AI DE COMO INCIA-LO?
SERA REGISTRADO NA DB SQL, SEMPRE QUE O VEICULO ESTIVER ANDANDO ELA VAI GERANDO OS KM NO VEICULO. QUANDO ATINGIR UM CERTO KM O VEICULO VAI PARAR. Eu usaria GetVehicleVelocity para calcular os km rodado
Top irmão.
Provavelmente vai ter que ser em Float então?
Tem uma ideia aí pra aonde usa ele pra Pegando a Velocidade para adicionar na variável? Uma boa pratica seria criar um timer quando a callback OnPlayerEnterVehicle ser chamada e, logo em seguida, criamos um temporizador para ir verificando a velocidade do veiculo, respondendo sua pergunta sim os valores são retornados em flutuantes
Código: new Float:Velocity[3];
GetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0], Velocity[1], Velocity[2]);
Uma boa ideia também seria calcular a distancia percorrida de cada ponto deis de o momento que o player entrou no carro
Função: calcular distancia entre pontos
Código: forward Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2);
Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2)
return VectorSize(x2 - x1, y2 - y1, z2 - z1);
Usando:
Código: printf("%f", GetDistanceBetweenPoints(1, 1, 1, 2, 2, 1));
RE: SISTEMA DE MILHAS VEÍCULO - White_Blue - 03/06/2022
Código PHP: new PlayerText:KmRodado[MAX_PLAYERS][1]; static Float:Velocity[3];
stock GetPlayerSpeed(vehicleid) { GetVehicleVelocity(vehicleid, Velocity[0], Velocity[1], Velocity[2]); return floatround(floatsqroot(Velocity[0] * Velocity[0] + Velocity[1] * Velocity[1] + Velocity[2] * Velocity[2])); }
forward AtualizarKM(playerid); public AtualizarKM(playerid) { new vid = GetPlayerVehicleID(playerid), string[128]; format(string, sizeof(string), "~y~%.1f KM Rodado", GetPlayerSpeed(vid)); PlayerTextDrawSetString(playerid, KmRodado[playerid][0], string); return 1; }
public OnPlayerStateChange(playerid, newstate, oldstate) { new Timer[MAX_PLAYERS]; if(newstate == PLAYER_STATE_DRIVER) { PlayerTextDrawShow(playerid, KmRodado[playerid][0]); Timer[playerid] = SetTimerEx("AtualizarKM", 1000, true, "d", playerid); } else if(oldstate == PLAYER_STATE_DRIVER) { PlayerTextDrawHide(playerid, KmRodado[playerid][0]); KillTimer(Timer[playerid]); } return 1; }
public OnPlayerConnect(playerid) { KmRodado[playerid][0] = CreatePlayerTextDraw(playerid, 522.470458, 339.916717, "~n~"); PlayerTextDrawLetterSize(playerid, KmRodado[playerid][0], 0.400000, 1.600000); PlayerTextDrawAlignment(playerid, KmRodado[playerid][0], 1); PlayerTextDrawColor(playerid, KmRodado[playerid][0], 16777215); PlayerTextDrawSetShadow(playerid, KmRodado[playerid][0], 0); PlayerTextDrawSetOutline(playerid, KmRodado[playerid][0], 1); PlayerTextDrawBackgroundColor(playerid, KmRodado[playerid][0], 255); PlayerTextDrawFont(playerid, KmRodado[playerid][0], 1); PlayerTextDrawSetProportional(playerid, KmRodado[playerid][0], 1); return 1; }
|