Portal SAMP
[Ajuda] Concessonaria MySQL não cria o veículo - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Concessonaria MySQL não cria o veículo (/showthread.php?tid=4844)

Páginas: 1 2


RE: Concessonaria MySQL não cria o veículo - Enila182 - 21/07/2024

(21/07/2024 16:02)strelo Escreveu: Para verificar se o ORM está funcionando corretamente, você pode adicionar algumas mensagens de debug no código. Por exemplo, logo após a linha orm_select(VehInfo[vehid][vORM], "GerarV2", "i", vehid); na função CarregarCarros, adicione:

Código PHP:
printf("Selecionando veículo ID %d\n"vehid); 


E na função GerarV2, adicione:

Código PHP:
printf("Erro do ORM para veículo ID %d: %d\n"vehidorm_errno(VehInfo[vehid][vORM])); 


Verifique se a função CreateVehicle está realmente criando os veículos e se não há erros nessa função.
Vou adicionar algumas mensagens de debug no código para ajudar a identificar o problema:



Código PHP:
public OnGameModeInit() {
    for (new carror 0carror MAX_CARROScarror++) {
        CarregarCarros(carror);
    }
    return 1;


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);

    printf("Selecionando veículo ID %d\n"vehid);

    return 1;


function 
GerarV2(vehid) {
    if (orm_errno(VehInfo[vehid][vORM]) != ERROR_NO_DATA) {
        printf("Erro do ORM para veículo ID %d: %d\n"vehidorm_errno(VehInfo[vehid][vORM]));
        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(carroidVehInfo[vehid][Placa]);
            VehInfo[vehid][Carro] = carroid;
            printf("Veículo ID %d criado com sucesso. Modelo: %d\n"vehidVehInfo[vehid][Modelo]);
        }
    } else {
        printf("Nenhum dado encontrado para o veículo ID %d\n"vehid);
    }



Com essas mensagens de debug, você poderá verificar no console se os dados estão sendo carregados corretamente e se os veículos estão sendo criados.



O console printou somente essa informações
OBS: Essa mensagem se repetiu atè 660, Só reortei um pouco
Código:
[18:56:09] Selecionando veículo ID 0
[18:56:09] Selecionando veículo ID 1
[18:56:09] Selecionando veículo ID 2
[18:56:09] Selecionando veículo ID 3
[18:56:09] Selecionando veículo ID 4
[18:56:09] Selecionando veículo ID 5
[18:56:09] Selecionando veículo ID 6
[18:56:09] Selecionando veículo ID 7
[18:56:09] Selecionando veículo ID 8
[18:56:09] Selecionando veículo ID 9
[18:56:09] Selecionando veículo ID 10
....
Código:
[18:56:09] Selecionando veículo ID 651
[18:56:09] Selecionando veículo ID 652
[18:56:09] Selecionando veículo ID 653
[18:56:09] Selecionando veículo ID 654
[18:56:09] Selecionando veículo ID 655
[18:56:09] Selecionando veículo ID 656
[18:56:09] Selecionando veículo ID 657
[18:56:09] Selecionando veículo ID 658
[18:56:09] Selecionando veículo ID 659

[18:56:09] |--------------------------------------------|
[18:56:09] |       Gamemode carregado com sucesso|
[18:56:09] |--------------------------------------------|



RE: Concessonaria MySQL não cria o veículo - strelo - 22/07/2024

Vamos adicionar mais mensagens de debug para entender melhor onde o processo está falhando. Adicionaremos mensagens para verificar se a função GerarV2 está sendo chamada corretamente e se há algum erro durante o carregamento dos dados.

Aqui está o código com mais mensagens de debug:

Código PHP:
public OnGameModeInit() {
    for (new carror 0carror MAX_CARROScarror++) {
        CarregarCarros(carror);
    }
    return 1;
}

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);

    printf("Selecionando veículo ID %d\n"vehid);

    return 1;
}

function 
GerarV2(vehid) {
    printf("Chamando GerarV2 para veículo ID %d\n"vehid);
    if (orm_errno(VehInfo[vehid][vORM]) != ERROR_NO_DATA) {
        printf("Erro do ORM para veículo ID %d: %d\n"vehidorm_errno(VehInfo[vehid][vORM]));
        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(carroidVehInfo[vehid][Placa]);
            VehInfo[vehid][Carro] = carroid;
            printf("Veículo ID %d criado com sucesso. Modelo: %d\n"vehidVehInfo[vehid][Modelo]);
        }
    } else {
        printf("Nenhum dado encontrado para o veículo ID %d\n"vehid);
    }



Por favor, reinicie o servidor com esse código atualizado e verifique o console novamente. O objetivo é verificar se a função GerarV2 está sendo chamada e se o ORM está retornando algum erro específico.


RE: Concessonaria MySQL não cria o veículo - Enila182 - 22/07/2024

(22/07/2024 06:10)strelo Escreveu: Vamos adicionar mais mensagens de debug para entender melhor onde o processo está falhando. Adicionaremos mensagens para verificar se a função GerarV2 está sendo chamada corretamente e se há algum erro durante o carregamento dos dados.

Aqui está o código com mais mensagens de debug:

Código PHP:
public OnGameModeInit() {
    for (new carror 0carror MAX_CARROScarror++) {
        CarregarCarros(carror);
    }
    return 1;
}

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);

    printf("Selecionando veículo ID %d\n"vehid);

    return 1;
}

function 
GerarV2(vehid) {
    printf("Chamando GerarV2 para veículo ID %d\n"vehid);
    if (orm_errno(VehInfo[vehid][vORM]) != ERROR_NO_DATA) {
        printf("Erro do ORM para veículo ID %d: %d\n"vehidorm_errno(VehInfo[vehid][vORM]));
        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(carroidVehInfo[vehid][Placa]);
            VehInfo[vehid][Carro] = carroid;
            printf("Veículo ID %d criado com sucesso. Modelo: %d\n"vehidVehInfo[vehid][Modelo]);
        }
    } else {
        printf("Nenhum dado encontrado para o veículo ID %d\n"vehid);
    }



Por favor, reinicie o servidor com esse código atualizado e verifique o console novamente. O objetivo é verificar se a função GerarV2 está sendo chamada e se o ORM está retornando algum erro específico.


Deu a mesma mensagem acima:

Código:
[18:56:09] Selecionando veículo ID 0
[18:56:09] Selecionando veículo ID 1
[18:56:09] Selecionando veículo ID 2
[18:56:09] Selecionando veículo ID 3
[18:56:09] Selecionando veículo ID 4
[18:56:09] Selecionando veículo ID 5
[18:56:09] Selecionando veículo ID 6
[18:56:09] Selecionando veículo ID 7
[18:56:09] Selecionando veículo ID 8
[18:56:09] Selecionando veículo ID 9
[18:56:09] Selecionando veículo ID 10
Código:
[18:56:09] Selecionando veículo ID 651
[18:56:09] Selecionando veículo ID 652
[18:56:09] Selecionando veículo ID 653
[18:56:09] Selecionando veículo ID 654
[18:56:09] Selecionando veículo ID 655
[18:56:09] Selecionando veículo ID 656
[18:56:09] Selecionando veículo ID 657
[18:56:09] Selecionando veículo ID 658
[18:56:09] Selecionando veículo ID 659

[18:56:09] |--------------------------------------------|
[18:56:09] |       Gamemode carregado com sucesso|
[18:56:09] |--------------------------------------------|



RE: Concessonaria MySQL não cria o veículo - strelo - 22/07/2024

Vamos adicionar mais detalhes de debug para verificar o que está ocorrendo especificamente dentro da função orm_select e garantir que os dados estão sendo carregados corretamente.

Vamos adicionar mais mensagens de debug para ver os dados que estão sendo retornados pelo ORM. Aqui está a versão atualizada do código:

Código PHP:
public OnGameModeInit() {
    for (new carror 0carror MAX_CARROScarror++) {
        CarregarCarros(carror);
    }
    return 1;
}

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);

    printf("Selecionando veículo ID %d\n"vehid);

    return 1;
}

function 
GerarV2(vehid) {
    new erro orm_errno(VehInfo[vehid][vORM]);
    if (erro != ERROR_NO_DATA) {
        printf("Erro do ORM para veículo ID %d: %d\n"vehiderro);
        printf("Dados carregados para veículo ID %d: Modelo: %d, Coordenadas: (%f, %f, %f), Ângulo: %f, Cores: (%d, %d)\n",
                vehid,
                VehInfo[vehid][Modelo],
                VehInfo[vehid][CordX],
                VehInfo[vehid][CordY],
                VehInfo[vehid][CordZ],
                VehInfo[vehid][Angulo],
                VehInfo[vehid][vCor1],
                VehInfo[vehid][vCor2]);

        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(carroidVehInfo[vehid][Placa]);
            VehInfo[vehid][Carro] = carroid;
            printf("Veículo ID %d criado com sucesso. Modelo: %d, Coordenadas: (%f, %f, %f), Ângulo: %f, Cores: (%d, %d)\n",
                    vehid,
                    VehInfo[vehid][Modelo],
                    VehInfo[vehid][CordX],
                    VehInfo[vehid][CordY],
                    VehInfo[vehid][CordZ],
                    VehInfo[vehid][Angulo],
                    VehInfo[vehid][vCor1],
                    VehInfo[vehid][vCor2]);
        }
    } else {
        printf("Nenhum dado encontrado para o veículo ID %d\n"vehid);
    }



Isso nos dará uma visão clara se os dados estão sendo recuperados corretamente do banco de dados e se a função CreateVehicle está sendo chamada com os parâmetros corretos.


RE: Concessonaria MySQL não cria o veículo - Enila182 - 22/07/2024

(22/07/2024 10:15)strelo Escreveu: Vamos adicionar mais detalhes de debug para verificar o que está ocorrendo especificamente dentro da função orm_select e garantir que os dados estão sendo carregados corretamente.

Vamos adicionar mais mensagens de debug para ver os dados que estão sendo retornados pelo ORM. Aqui está a versão atualizada do código:

Código PHP:
public OnGameModeInit() {
    for (new carror 0carror MAX_CARROScarror++) {
        CarregarCarros(carror);
    }
    return 1;
}

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);

    printf("Selecionando veículo ID %d\n"vehid);

    return 1;
}

function 
GerarV2(vehid) {
    new erro orm_errno(VehInfo[vehid][vORM]);
    if (erro != ERROR_NO_DATA) {
        printf("Erro do ORM para veículo ID %d: %d\n"vehiderro);
        printf("Dados carregados para veículo ID %d: Modelo: %d, Coordenadas: (%f, %f, %f), Ângulo: %f, Cores: (%d, %d)\n",
                vehid,
                VehInfo[vehid][Modelo],
                VehInfo[vehid][CordX],
                VehInfo[vehid][CordY],
                VehInfo[vehid][CordZ],
                VehInfo[vehid][Angulo],
                VehInfo[vehid][vCor1],
                VehInfo[vehid][vCor2]);

        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(carroidVehInfo[vehid][Placa]);
            VehInfo[vehid][Carro] = carroid;
            printf("Veículo ID %d criado com sucesso. Modelo: %d, Coordenadas: (%f, %f, %f), Ângulo: %f, Cores: (%d, %d)\n",
                    vehid,
                    VehInfo[vehid][Modelo],
                    VehInfo[vehid][CordX],
                    VehInfo[vehid][CordY],
                    VehInfo[vehid][CordZ],
                    VehInfo[vehid][Angulo],
                    VehInfo[vehid][vCor1],
                    VehInfo[vehid][vCor2]);
        }
    } else {
        printf("Nenhum dado encontrado para o veículo ID %d\n"vehid);
    }



Isso nos dará uma visão clara se os dados estão sendo recuperados corretamente do banco de dados e se a função CreateVehicle está sendo chamada com os parâmetros corretos.



Código:
Atualize o código. novamente aparece as mesma mensagens

[12:32:44] Selecionando veículo ID 0
[12:32:44] Selecionando veículo ID 1
[12:32:44] Selecionando veículo ID 2
[12:32:44] Selecionando veículo ID 3
[12:32:44] Selecionando veículo ID 4
[12:32:44] Selecionando veículo ID 5
[12:32:44] Selecionando veículo ID 6
[12:32:44] Selecionando veículo ID 7
[12:32:44] Selecionando veículo ID 8

no fim do console:

[12:32:44] Selecionando veículo ID 657
[12:32:44] Selecionando veículo ID 658
[12:32:44] Selecionando veículo ID 659
[12:32:44] |--------------------------------------------|
[12:32:44] |        Gamemode carregado com sucesso         |
[12:32:44] |--------------------------------------------|



RE: Concessonaria MySQL não cria o veículo - Enila182 - 23/07/2024

@strelo o que você acha que pode ser?


RE: Concessonaria MySQL não cria o veículo - BitSain - 23/07/2024

Ao criar o veículo, retorne o id do veículo criado e sua posição; veja se esse é o problema, criar o veículo.

Cara, debug não soluciona problemas, ele é como se fosse um cão farejador que informa as coisas para você desvendar e tirar suas conclusões; verificar tráfego de informações que estão sendo processados e enfim, você deve checar as logs do MySQL do servidor, pode ser algum erro da consulta talvez?