05/05/2024 02:09
Seria melhor refatorar esse código, tem muitos erros de lógica de programação nele.
Esse trecho por exemplo tem um looping roda 9 vezes atoa. O i nem é usado pra nada.
Esse trecho tem um problema em função da variável ser local. Esse variável só permanece alocada em memória enquanto o código estiver sendo executado. Depois que você executar o comando, esse variável CarroNovo já não vai existir quando for executar novamente, então não vai deletar nenhum veículo. Ela teria que ser global pra deletar algo.
A dialog está ok, nada de errado nela.
Código:
for(new i; i < 9; i++)
{
if(SlotVeh1[playerid] == 1)
{
CarroNovo = CreateVehicle(510, 1316.8069,-1386.9684,13.5958,176.4769,1,1,360, -1, -1, 1);
PutPlayerInVehicle(playerid,CarroNovo, 0);
SlotVeh1[playerid] = 0;
SlotVeh2[playerid] = 0;
pegoumoto1[playerid] = 1;
FecharMenuSpawn(playerid);
break;
}
if(SlotVeh2[playerid] == 1)
{
CarroNovo = CreateVehicle(462,1316.8069,-1386.9684,13.5958,176.4769 ,1,1,360, -1, -1, 1);
PutPlayerInVehicle(playerid,CarroNovo, 0);
SlotVeh1[playerid] = 0;
SlotVeh2[playerid] = 0;
pegoumoto2[playerid] = 1;
FecharMenuSpawn(playerid);
break;
}
}
Esse trecho por exemplo tem um looping roda 9 vezes atoa. O i nem é usado pra nada.
Código:
if(pegoumoto1[playerid] >= 1 || pegoumoto2[playerid] >= 1)
{
DestroyVehicle(CarroNovo);
}
A dialog está ok, nada de errado nela.
Discente de Sistemas de Informação no Centro Federal de Ensino Tecnológico(CEFET/RJ)
Programador SA-MP desde 2012
Programador SA-MP desde 2012
Não envie dúvidas por inbox, crie um tópico. Sua dúvida pode ser a dúvida de outro alguém, e seu tópico ajudará outras pessoas no futuro.