21/07/2024 14:25
Primeiro, vamos verificar se estamos carregando corretamente os dados dos veículos do banco de dados no OnGameModeInit e recriando os veículos em função disso. Vou ajustar seu código para garantir que os dados sejam carregados e os veículos recriados corretamente.
Aqui está o código atualizado:
OnGameModeInit:
Função CarregarCarros:
Função GerarV2:
CMD de criar veículo:
Certifique-se de que a função CarregarCarros esteja corretamente chamando GerarV2 com o ID correto do veículo, e que o ORM esteja corretamente configurado para carregar os dados do banco de dados. Se continuar tendo problemas, verifique se os dados estão realmente sendo salvos no banco de dados e se o ORM está funcionando corretamente.
Aqui está o código atualizado:
OnGameModeInit:
Código PHP:
public OnGameModeInit() {
for (new carror = 0; carror < MAX_CARROS; carror++) {
CarregarCarros(carror);
}
return 1;
}
Função CarregarCarros:
Código PHP:
function CarregarCarros(vehid) {
VehInfo[vehid][vORM] = orm_create("concessionaria", Conexao);
VehInfo[vehid][VehID] = vehid;
orm_addvar_float(VehInfo[vehid][vORM], VehInfo[vehid][CordX], "CordX");
orm_addvar_float(VehInfo[vehid][vORM], VehInfo[vehid][CordY], "CordY");
orm_addvar_float(VehInfo[vehid][vORM], VehInfo[vehid][CordZ], "CordZ");
orm_addvar_float(VehInfo[vehid][vORM], VehInfo[vehid][Angulo], "Angulo");
orm_addvar_float(VehInfo[vehid][vORM], VehInfo[vehid][rtX], "rtX");
orm_addvar_float(VehInfo[vehid][vORM], VehInfo[vehid][rtY], "rtY");
orm_addvar_float(VehInfo[vehid][vORM], VehInfo[vehid][rtZ], "rtZ");
orm_addvar_float(VehInfo[vehid][vORM], VehInfo[vehid][Angulo1], "Angulo1");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Modelo], "Modelo");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][vCor1], "Cor1");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][vCor2], "Cor2");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][TDono], "TDono");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][TDono2], "TDono2");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Preco], "Preco");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Destrancado], "Destrancado");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Farol], "Farol");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Capo], "Capo");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Motor], "Motor");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Alarme], "Alarme");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Portas], "Portas");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][PMalas], "PMalas");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Litros], "Litros");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Problema], "Problema");
orm_addvar_int(VehInfo[vehid][vORM], VehInfo[vehid][Contasveiculo], "Contasveiculo");
orm_addvar_string(VehInfo[vehid][vORM], VehInfo[vehid][Dono], 24, "Dono");
orm_addvar_string(VehInfo[vehid][vORM], VehInfo[vehid][Dono2], 24, "Dono2");
orm_addvar_string(VehInfo[vehid][vORM], VehInfo[vehid][vNome], 24, "Nome");
orm_addvar_string(VehInfo[vehid][vORM], VehInfo[vehid][Placa], 24, "Placa");
orm_setkey(VehInfo[vehid][vORM], "VehID");
orm_select(VehInfo[vehid][vORM], "GerarV2", "i", vehid);
return 1;
}
Função GerarV2:
Código PHP:
function GerarV2(vehid) {
if (orm_errno(VehInfo[vehid][vORM]) != ERROR_NO_DATA) {
if (VehInfo[vehid][Modelo] != 0) {
new carroid;
carroid = CreateVehicle(VehInfo[vehid][Modelo],
VehInfo[vehid][CordX],
VehInfo[vehid][CordY],
VehInfo[vehid][CordZ],
VehInfo[vehid][Angulo],
VehInfo[vehid][vCor1],
VehInfo[vehid][vCor2],
false);
SetVehicleNumberPlate(carroid, VehInfo[vehid][Placa]);
VehInfo[vehid][Carro] = carroid;
}
}
}
CMD de criar veículo:
Código PHP:
CMD:ccar(playerid, params[]) {
if (IsPlayerAdmin(playerid) || pAdmin[playerid] == 5) {
new carid, Float:ang, preco, cor1, cor2, string[200];
if (sscanf(params, "dddd", carid, preco, cor1, cor2)) {
return SendClientMessage(playerid, ERRO_BVR, "| ERRO | Digite: /ccar [id] [preço] [cor1] [cor2]");
}
if (carid >= 400 && carid <= 611) {
if (IsPlayerInAnyVehicle(playerid)) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
GetVehicleZAngle(GetPlayerVehicleID(playerid), ang);
new Query[400];
mysql_format(Conexao, Query, sizeof(Query), "INSERT INTO `concessionaria`(`VehID`, `Modelo`, `CordX`, `CordY`, `CordZ`, `Angulo`, `Cor1`, `Cor2`, `Preco`, `rtX`, `rtY`, `rtZ`, `Angulo1`) VALUES ('%d', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%f', '%f', '%f', '%f')", proximocarro, carid, X, Y, Z, ang, cor1, cor2, preco, X, Y, Z, ang);
mysql_tquery(Conexao, Query);
SetTimerEx("CriarVeiculo2", 5000, false, "dffffdd", carid, X, Y, Z, ang, cor1, cor2);
format(string, sizeof(string), "| INFO | Você colocou um veículo à venda.");
SendClientMessage(playerid, 0xB0FF30AA, string);
format(string, sizeof(string), "| INFO | Saia do local onde você colocou o veículo!");
SendClientMessage(playerid, ERRO_BVR, string);
return 1;
} else {
SendClientMessage(playerid, ERRO_BVR, "| ERRO | Você não está em um veículo.");
}
} else {
SendClientMessage(playerid, ERRO_BVR, "| ERRO | Veículo inválido!");
}
} else {
SendClientMessage(playerid, ERRO_BVR, "| ERRO | Você não tem permissão!");
}
return 1;
}
Certifique-se de que a função CarregarCarros esteja corretamente chamando GerarV2 com o ID correto do veículo, e que o ORM esteja corretamente configurado para carregar os dados do banco de dados. Se continuar tendo problemas, verifique se os dados estão realmente sendo salvos no banco de dados e se o ORM está funcionando corretamente.