Portal SAMP
[Ajuda] Ajuda com DOF2 - 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] Ajuda com DOF2 (/showthread.php?tid=664)



Ajuda com DOF2 - Sants - 17/01/2021

fiz um sistema que salva veiculos por id

Como ver o veiculo que criei pelo banco de dados? Muitas vezes, o id in game é diferente do id do banco de dados....


RE: Ajuda com DOF2 - Dr Editor - 18/01/2021

O ID do banco de dados é o ID auto incrementado, um valor único.
Se quiser vincular o ID do banco de dados com o ID do veículo criado ingame, terá que criar um ID adicional, pois o ID do banco de dados é uma não é editável (read only).

A lógica consiste em:
  • Ao criar o veículo ingame, salva no banco de dados o ID criado.
  • Ao iniciar o gamemode e carregar os veículos, terá que EDITAR o ID (coluna criada exclusivamente para os IDs de veículos) e salvar o novo ID criado. Dessa forma sempre poderá vincular os veículos ingame diretamente à base de dados.
Minha dúvida é: Qual a relação do DOF2 com o banco de dados a que se refere?
Se for DOF2, neste caso, terá que fazer um processo diferente


RE: Ajuda com DOF2 - Sants - 18/01/2021

(18/01/2021 08:49)Dr Editor Escreveu: O ID do banco de dados é o ID auto incrementado, um valor único.
Se quiser vincular o ID do banco de dados com o ID do veículo criado ingame, terá que criar um ID adicional, pois o ID do banco de dados é uma não é editável (read only).

A lógica consiste em:
  • Ao criar o veículo ingame, salva no banco de dados o ID criado.
  • Ao iniciar o gamemode e carregar os veículos, terá que EDITAR o ID (coluna criada exclusivamente para os IDs de veículos) e salvar o novo ID criado. Dessa forma sempre poderá vincular os veículos ingame diretamente à base de dados.
Minha dúvida é: Qual a relação do DOF2 com o banco de dados a que se refere?
Se for DOF2, neste caso, terá que fazer um processo diferente

Com banco de dados me refiro ao DOF2 kk. Pois então, isso é algo que eu encontro grande dificuldade...


RE: Ajuda com DOF2 - Dr Editor - 18/01/2021

Fiz apenas alguns debugs, mas a lógica é parecida:

Código:
stock NewVehicle(/* params */)
{
    new fileId = 0, fileName[30];
    
    format(fileName, sizeof fileName, "vehicle_%i.ini", fileId);
    while(DOF2_FileExists(fileName))
    {
        fileId ++;
        format(fileName, sizeof fileName, "vehicle_%i.ini", fileId);
    }
    
    DOF2_CreateFile(fileName);
    // escrever parâmetros do veículo
    DOF2_SaveFile();
    return true;
}

stock LoadVehicles()
{
    new fileId = 0, fileName[30], vehId;

    format(fileName, sizeof fileName, "vehicle_%i.ini", fileId);
    while(DOF2_FileExists(fileName))
    {
        // Busca os dados e define nos parâmetros abaixo
        vehId = CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay);
        
        // Salva o novo ID no arquivo
        DOF2_SetInt(fileName, "id", vehId);
        DOF2_SaveFile();
    
        fileId ++;
        format(fileName, sizeof fileName, "vehicle_%i.ini", fileId);
    }
    return true;
}