13/12/2020 19:46
(13/12/2020 19:24)Dr Editor Escreveu:(13/12/2020 18:55)Gustavo P Escreveu:(13/12/2020 17:35)Dr Editor Escreveu: Não seria CarrosEmprego[i] ao invés de CarrosEmprego[playerid]?
Nao pq eu coloquei isso ai dentro do comando /pegarveiculo
ai o ID do veiculo do emprego foi o mesmo que o ID do carro dele
Então a aplicação do loop está incorreta.
Foreach percorre somente jogadores conectados ao servidor, ou seja, supondo que os jogadores ID 0, 2 e 3 estão conectados o loop só vai percorrer 3 vezes e nesses IDs que eu citei.
Com base no que entendi, o correto é:
Código:for(new i = 0; i < sizeof(CarrosEmprego); i ++)
{
if(PlayerInfo[playerid][pChaveCarro] == CarrosEmprego[i])
{
new string[100];
format(string, sizeof(string), "Carro %d Emprego %d", PlayerInfo[playerid][pChaveCarro], CarrosEmprego[i]);
Bugs(string);
break;
}
}
Nn vc entendeu errado, tipo assim, os veiculos estão ficando com o mesmo ID, sendo q eu to resetando a variavel quando o cara loga/desloga ai eu coloquei esse debug no comando /pegarveiculo que pega um veiculo do emprego
Código:
else if(PlayerInfo[playerid][pEmprego] == 19)
{
if(PegouCarroEmprego[playerid] == true)
DestroyVehicle(CarrosEmprego[playerid]);
CarrosEmprego[playerid] = AddStaticVehicleEx(408, 2180.2056, -1990.6133, 13.8776, 271.6400, -1, -1, -1);
PegouCarroEmprego[playerid] = true;
}
Gasolina[CarrosEmprego[playerid]] = 100;
SetVehicleHealth(CarrosEmprego[playerid],1000);
RepairVehicle(CarrosEmprego[playerid]);
foreach(new i : Player)
{
if(PlayerInfo[i][pChaveCarro] == CarrosEmprego[playerid])
{
new string[100];
format(string, sizeof(string), "Carro %d Emprego %d", PlayerInfo[i][pChaveCarro], CarrosEmprego[playerid]);
Bugs(string);
break;
}
}
tipo assim, e o carro fica sumindo por conta disso, por causa que os veiculos tem o msm id ai destroi na hora q sai