open.mp forum
Ajuda com salvamento nao ta carregando nada como resolvo - Printable Version

+ open.mp forum (https://forum.open.mp)
-- Forum: Other languages (https://forum.open.mp/forumdisplay.php?fid=23)
--- Forum: Portuguese/Português (https://forum.open.mp/forumdisplay.php?fid=25)
--- Thread: Ajuda com salvamento nao ta carregando nada como resolvo (/showthread.php?tid=4218)



Ajuda com salvamento nao ta carregando nada como resolvo - zGu1Zin_ - 2026-04-22

#include <a_samp>
#include <DOF2>

#definir Registro 1 
#definir Gênero 2  
#definir Cidade 3  
#definir Login 4
  
principal()
{
    imprimir("\n---------------------------------------");
    print("AULA DE HOJE REGISTRO GENERO CIDADE LOGIN");
    imprimir("---------------------------------------\n");
}

enum pInfo
{
    pSkin,
    pDinheiro,
    pN. 
    pGenero,
    pCidade
};

novo pDados[MAX_PLAYERS][pInfo];
novo SenhaLogin[MAX_PLAYERS];

público OnGameModeInit()
{
    retornar 1;
}

público OnGameModeExit()
{
    DOF2_Sair();
    retornar 1;
}

público OnPlayerRequestClass(playerid, classid)
{
    if(DOF2_FileExists(Arquivo(playerid)))
    {
        if(DOF2_GetInt(Arquivo(playerid), "pGenero") == 0)
        {
            novo str[128];
            format(str, 128, "Bem Vindo Ao Servidor %s\n\nEscolha Seu Genero", pName(playerid));
            ShowPlayerDialog(playerid, Genero, DIALOG_STYLE_LIST, "Genero", "Masculino\nFeminino", "Comfirmar", "Sair");
        }
        senão if(DOF2_GetInt(Arquivo(playerid), "pGenero") != 0 && DOF2_GetInt(Arquivo(playerid), "pCidade") == 0)
        {
            novo str[128];
            format(str, 128, "Bem Vindo Ao Servidor %s\n\nEscolha Sua Cidade", pName(playerid));
            ShowPlayerDialog(playerid, Cidade, DIALOG_STYLE_LIST, "Cidade", "Los Santos\nSan Fierro", "Comfirmar", "Sair");
        }
        outro
        {
            novo str[128];
            format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
            ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");
        }
    }
    if(!DOF2_FileExists(Arquivo(playerid)))
    {
        novo str[128];
        format(str, 128, "Bem Vindo Ao Servidor %s\n\nDigite Uma Senha Para Registrador", pName(playerid));
        ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Registrador", "Sair");
    }
    retornar 1;
}

público OnPlayerConnect(playerid)
{
    CarregarDados(playerid);
    retornar 1;
}

público OnPlayerDisconnect(playerid, motivo)
{
    SalvarDados(playerid);
    retornar 1;
}

público OnPlayerSpawn(playerid)
{
    retornar 1;
}

público OnPlayerDeath(playerid, killerid, reason)
{
    retornar 1;
}

público OnVehicleSpawn(vehicleid)
{
    retornar 1;
}

público OnVehicleDeath(vehicleid, killerid)
{
    retornar 1;
}

público OnPlayerText(playerid, text[])
{
    retornar 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    retornar 0;
}

público OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    retornar 1;
}

público OnPlayerExitVehicle(playerid, vehicleid)
{
    retornar 1;
}

público OnPlayerStateChange(playerid, newstate, oldstate)
{
    retornar 1;
}

público OnPlayerEnterCheckpoint(playerid)
{
    retornar 1;
}

público OnPlayerLeaveCheckpoint(playerid)
{
    retornar 1;
}

público OnPlayerEnterRaceCheckpoint(playerid)
{
    retornar 1;
}

público OnPlayerLeaveRaceCheckpoint(playerid)
{
    retornar 1;
}

público OnRconCommand(cmd[])
{
    retornar 1;
}

público OnPlayerRequestSpawn(playerid)
{
    retornar 1;
}

público OnObjectMoved(objectid)
{
    retornar 1;
}

público OnPlayerObjectMoved(playerid, objectid)
{
    retornar 1;
}

público OnPlayerPickUpPickup(playerid, pickupid)
{
    retornar 1;
}

público OnVehicleMod(playerid, vehicleid, componentid)
{
    retornar 1;
}

público OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    retornar 1;
}

público OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    retornar 1;
}

público OnPlayerSelectedMenuRow(playerid, row)
{
    retornar 1;
}

público OnPlayerExitedMenu(playerid)
{
    retornar 1;
}

público OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    retornar 1;
}

público OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    retornar 1;
}

público OnRconLoginAttempt(ip[], senha[], sucesso)
{
    retornar 1;
}

público OnPlayerUpdate(playerid)
{
    retornar 1;
}

público OnPlayerStreamIn(playerid, forplayerid)
{
    retornar 1;
}

público OnPlayerStreamOut(playerid, forplayerid)
{
    retornar 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    retornar 1;
}

público OnVehicleStreamOut(vehicleid, forplayerid)
{
    retornar 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    se(dialogid == Registro)
    {
        se(resposta)
        {
            se(strlen(inputtext) == 0)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Ao Servidor %s\n\nDigite Uma Senha Para Registrador", pName(playerid));
                ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Registrador", "Sair");   
                SendClientMessage(playerid, -1, "Você Precisa Colocar Uma Senha Para Registrador");
                retornar 1;
            }
            se (strlen(inputtext) < 6 || strlen(inputtext) > 12)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Ao Servidor %s\n\nDigite Uma Senha Para Registrador", pName(playerid));
                ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", str, "Registrador", "Sair");   
                SendClientMessage(playerid, -1, "Sua Senha Deve Ter 6 Entre 12 Caracteres");
                retornar 1;   
            }
            DOF2_CreateFile(Arquivo(playerid));
            DOF2_SetString(Arquivo(playerid), "Senha", inputtext);
            DOF2_SetInt(Arquivo(playerid), "pSkin", 0);
            DOF2_SetInt(Arquivo(playerid), "pDinheiro", 5000);
            DOF2_SetInt(Arquivo(playerid), "pNivel", 0);
            DOF2_SetInt(Arquivo(playerid), "pGenero", 0);
            DOF2_SetInt(Arquivo(playerid), "pCidade", 0);
            DOF2_SalvarArquivo();
            ShowPlayerDialog(playerid, Genero, DIALOG_STYLE_LIST, "Genero", "Masculino\nFeminino", "Comfirmar", "Sair");
        }
        outro
        {
            Expulsar(id do jogador);
        }
        retornar 1;
    }
    se(dialogid == Genero)
    {
        se(resposta)
        {
            se(item da lista == 0)
            {
                DOF2_SetInt(Arquivo(playerid), "pSkin", 154);
                DOF2_SetInt(Arquivo(playerid), "pGenero", 1);
                pDados[playerid][pGenero] = 1;
                DOF2_SalvarArquivo();
                ShowPlayerDialog(playerid, Cidade, DIALOG_STYLE_LIST, "Cidade", "Los Santos\nSan Fierro", "Comfirmar", "Sair");
            }
            se(item da lista == 1)
            {
                DOF2_SetInt(Arquivo(playerid), "pSkin", 41);
                DOF2_SetInt(Arquivo(playerid), "pGenero", 2);
                pDados[playerid][pGenero] = 2;
                DOF2_SalvarArquivo();
                ShowPlayerDialog(playerid, Cidade, DIALOG_STYLE_LIST, "Cidade", "Los Santos\nSan Fierro", "Comfirmar", "Sair");
            }
        }
        outro
        {
            Expulsar(id do jogador);
        }
        retornar 1;
    }
    se(dialogid == Cidade)
    {
        se(resposta)
        {
            se(item da lista == 0)
            {
                DOF2_SetInt(Arquivo(playerid), "pCidade", 0);
                SetSpawnInfo(playerid, 0, pDados[playerid][pSkin], 1154.1761, -1768.7424, 16.5938, 2.0859, 0, 0, 0, 0, 0, 0);
                pDados[playerid][pCidade] = 0;
                DOF2_SalvarArquivo();
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");              
            }
            se(item da lista == 1)
            {
                DOF2_SetInt(Arquivo(playerid), "pCidade", 1);
                SetSpawnInfo(playerid, 0, pDados[playerid][pSkin], -2702.1162, 376.1169, 4.9722, 268.9004, 0, 0, 0, 0, 0, 0);
                pDados[playerid][pCidade] = 1;
                DOF2_SalvarArquivo();
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");    
            }
        }
        outro
        {
            Expulsar(id do jogador);
        }
        retornar 1;
    }
    se(dialogid == Login)
    {
        se(resposta)
        {
            se(strlen(inputtext) == 0)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");     
                SendClientMessage(playerid, -1, "Você Precisa Colocar Sua Senha Para Logar");
                retornar 1;
            }
            if(strcmp(inputtext, DOF2_GetString(Arquivo(playerid), "Senha")) == 0)
            {
                if(pDados[playerid][pCidade] == 0)
                {
                    SetSpawnInfo(playerid, 0, pDados[playerid][pSkin], 1154.1761, -1768.7424, 16.5938, 2.0859, 0, 0, 0, 0, 0, 0);
                }
                if(pDados[playerid][pCidade] == 1)
                {
                    SetSpawnInfo(playerid, 0, pDados[playerid][pSkin], -2702.1162, 376.1169, 4.9722, 268.9004, 0, 0, 0, 0, 0, 0);
                }
                GerarJogador(idJogador);
                CarregarDados(playerid);
                retornar 1;
            }
            se(SenhaLogin[playerid] == 0)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar\n\nSenha Errada 1/3", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");    
                SenhaLogin[playerid] = 1;
                retornar 1;
            }
            se(SenhaLogin[playerid] == 1)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar\n\nSenha Errada 2/3", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");    
                SenhaLogin[playerid] = 2;
                retornar 1;
            }
            if(SenhaLogin[playerid] == 2)
            {
                novo str[128];
                format(str, 128, "Bem Vindo Novamente %s\n\nDigite Sua Senha Para Logar\n\nSenha Errada 3/3", pName(playerid));
                ExibirDiálogoDoJogador(idJogador, Login, DIALOG_STYLE_INPUT, "Login", str, "Logar", "Sair");    
                SenhaLogin[playerid] = 3;
                retornar 1;
            }
            if(SenhaLogin[playerid] == 3)
            {
                Expulsar(id do jogador);
                retornar 1;
            }    
        }
        outro
        {
            Expulsar(id do jogador);
        }
        retornar 1;
    }
    retornar 1;
}

público OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    retornar 1;
}

estoque pName(playerid)
{
    novo Nome[MAX_PLAYER_NAME];
    ObterNomeDoJogador(idDoJogador, Nome, NOME_MAX_DO_JOGADOR);
    Nome;
}

estoque Arquivo(playerid)
{
    novo str[128];
    format(str, 128, "Contas/%s.ini", pNome(playerid));
    compartilhar str;
}

estoque SalvarDados(playerid)
{
    if(DOF2_FileExists(Arquivo(playerid)))
    {
        DOF2_SetInt(Arquivo(playerid), "pSkin", GetPlayerSkin(playerid));
        DOF2_SetInt(Arquivo(playerid), "pDinheiro", GetPlayerMoney(playerid));
        DOF2_SetInt(Arquivo(playerid), "pNivel", GetPlayerScore(playerid));
        DOF2_SetInt(Arquivo(playerid), "pGenero", pDados[playerid][pGenero]);
        DOF2_SetInt(Arquivo(playerid), "pCidade", pDados[playerid][pCidade]);
        DOF2_SalvarArquivo();
    }
    retornar 1;
}

estoque CarregarDados(playerid)
{
    if(DOF2_FileExists(Arquivo(playerid)))
    {
  
      SetPlayerSkin(playerid, DOF2_GetInt(Arquivo(playerid), "pSkin"));
        GivePlayerMoney(playerid, DOF2_GetInt(Arquivo(playerid), "pDinheiro"));
        SetPlayerScore(playerid, DOF2_GetInt(Arquivo(playerid), "pNivel"));
        pDados[playerid][pGenero] = DOF2_GetInt(Arquivo(playerid), "pGenero");
        pDados[playerid][pCidade] = DOF2_GetInt(Arquivo(playerid), "pCidade");
        DOF2_SalvarArquivo();
    }
    retornar 1;
}