Estacionar veiculo -
Feconitu - 26.05.2018
bom o sistema й bem simples, o player digita /estacionarveiculo, no caso й pra pegar a posiзгo e o angulo do player, e depois o player vai em um local e digita /chamarveiculo, e aparece um dialog pra spawnar o veiculo no local onde digitei o /estacionarveiculo. So que tem um problema, nгo estб spawnando o veiculo no local.
PHP код:
enum Informacoes
{
Float:vehx,
Float:vehy,
Float:vehz,
Float:veha,
COR1,
COR2,
} new DadosJogador[MAX_PLAYERS][Informacoes];
PHP код:
(Dialogid)
new veiculoid, cor1, cor2;
if(DadosJogador[playerid][VEICULO_1])
{
veiculoid = DadosJogador[playerid][VEICULO_1];
cor1 = DadosJogador[playerid][COR1];
cor2 = DadosJogador[playerid][COR2];
VeiculoUsado[playerid] = AddStaticVehicle(veiculoid, DadosJogador[playerid][vehx], DadosJogador[playerid][vehy], DadosJogador[playerid][vehz], DadosJogador[playerid][veha], cor1, cor2);
VeiculoUsado[playerid] = 1;
SendClientMessage(playerid,AZUL_BEM_CLARO,"Seu veiculo estб no estacionamento ao lado!");
}
PHP код:
(OnPlayerLogin)
DadosJogador[playerid][vehx] = DOF2_GetFloat(String, "SpawnX");
DadosJogador[playerid][vehy] = DOF2_GetFloat(String, "SpawnY");
DadosJogador[playerid][vehz] = DOF2_GetFloat(String, "SpawnZ");
DadosJogador[playerid][veha] = DOF2_GetFloat(String, "Angle");
DadosJogador[playerid][COR1] = DOF2_GetInt(String,"Cor1");
DadosJogador[playerid][COR1] = DOF2_GetInt(String,"Cor2");
(/OnPlayerLogin)
(OnPlayerConnect2)
DadosJogador[playerid][vehx] = 0;
DadosJogador[playerid][vehy] = 0;
DadosJogador[playerid][vehz] = 0;
DadosJogador[playerid][veha] = 0;
(/OnPlayerConnect2)
(OnPlayerDisconnect2)
DadosJogador[playerid][vehx] = 0;
DadosJogador[playerid][vehy] = 0;
DadosJogador[playerid][vehz] = 0;
DadosJogador[playerid][veha] = 0;
(/OnPlayerDisconnect2)
CMD:estacionarveiculo(playerid, params[])
{
if(DadosJogador[playerid][VEICULO_1])
{
GetVehiclePos(GetPlayerVehicleID(playerid), DadosJogador[playerid][vehx], DadosJogador[playerid][vehy], DadosJogador[playerid][vehz]);
GetVehicleZAngle(GetPlayerVehicleID(playerid), DadosJogador[playerid][veha]);
DOF2_SetFloat(String, "SpawnX", DadosJogador[playerid][vehx]);
DOF2_SetFloat(String, "SpawnY", DadosJogador[playerid][vehy]);
DOF2_SetFloat(String, "SpawnZ", DadosJogador[playerid][vehz]);
DOF2_SetFloat(String, "Angle", DadosJogador[playerid][veha]);
DOF2_SaveFile();
}
return true;
}
Re: Estacionar veiculo -
GunnerCoder - 26.05.2018
Cadк o /chamarveiculo?
E tem outra coisa, na dialog tem uma linha onde tem
DadosJogador[playerid][VEICULO_1], vocк nгo definiu esse
VEICULO_1 no enum...
PHP код:
enum Informacoes
{
ModeloID, //Adicione isso no Enum
Float:vehx,
Float:vehy,
Float:vehz,
Float:veha,
COR1,
COR2 //Tire a vнrgula dessa linha, o ъltimo item do Enum nгo й pra ter vнrgula
} new DadosJogador[MAX_PLAYERS][Informacoes];
Outra coisa que nгo й tгo relevante, mas vale a pena falar, nesse "veiculoid" creio que esteja se referindo ao ID do modelo do veнculo, troque "veiculoid" por "modeloid", pois que estб realmente guardando o ID do veнculo й a array
VeiculoUsado[playerid]
Irei arrumar a sua dialog para vocк:
PHP код:
(Dialogid)
VeiculoUsado[playerid] = AddStaticVehicle(DadosJogador[playerid][ModeloID], DadosJogador[playerid][vehx], DadosJogador[playerid][vehy], DadosJogador[playerid][vehz], DadosJogador[playerid][veha], DadosJogador[playerid][COR1], DadosJogador[playerid][COR2]);
SendClientMessage(playerid,AZUL_BEM_CLARO,"Seu veiculo estб no estacionamento ao lado!");
Re: Estacionar veiculo -
Feconitu - 27.05.2018
na verdade pra chamar o veiculo, coloquei no dialog. E outra coisa, sei que vocк nгo й adivinha, desculpe-me, mais o "VEICULO_1" jб tinha definido quando criei, sу esqueci de colocar aqui no post.
Re: Estacionar veiculo -
FerrariL - 27.05.2018
Faзa um debug mostrando o valor das variбveis vehx,vehy,vehz,veha, quando vocк digitar o comando /estacionarveiculo. Quando vocк clicar na dialog de chamar, faзa outro debug verificando se o valor das coordenadas й o mesmo do /estacionarveiculo.