[Ajuda] Salvamento
#1

Tipo, se um Player criar uma conta com a mesma senha de outro player, ele loga na conta dele. Alguem pode me ajudar?

@EDIT

Na verdade qualquer conta que й criada, o player loga na primeira conta da pasta Contas
Codigo:

PHP код:
enum Informacoes
{
    
Senha,
    
Matou,
    
Morreu,
    
Dinheiro,
    
pOrg,
    
pAdmin,
    
pCargo,
    
pProc,
    
pOrgCVD,
    
pSexo,
    
pPlogin,
    
pSkin,
    
pScore,
}
new 
Player[MAX_PLAYERS][Informacoes]; 
PHP код:
 public OnPlayerConnect(playerid)
{
    new 
arquivo[40], name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridname32);
    
format(arquivo40"Contas/%s.ini"name);
    if(
DOF2_FileExists(arquivo))
    {
        
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"Logar""Vocк й Registrado, digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!""Confirma""Cancelar");
    }
    else
    {
        
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"Registro""Vocк ainda nгo й Registrado, digite uma senha para se registrar!""Confirma""Cancelar");
    }
    return 
1;

PHP код:
public OnPlayerDisconnect(playeridreason)
{
    new 
arquivo[40], name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridname32);
    
format(arquivo40"Contas/%s.ini"name);
    if(
DOF2_FileExists(arquivo))
    {
        
DOF2_SetInt(arquivo"Senha"Player[playerid][Senha]);
        
DOF2_SetInt(arquivo"Matou"Player[playerid][Matou]);
        
DOF2_SetInt(arquivo"Morreu"Player[playerid][Morreu]);
        
DOF2_SetInt(arquivo"Dinheiro"GetPlayerMoney(playerid));
        
DOF2_SetInt(arquivo"pOrg"Player[playerid][pOrg]);
        
DOF2_SetInt(arquivo"pAdmin"Player[playerid][pAdmin]);
        
DOF2_SetInt(arquivo"pCargo"Player[playerid][pCargo]);
        
DOF2_SetInt(arquivo"pProc"Player[playerid][pProc]);
        
DOF2_SetInt(arquivo"pOrgCVD"Player[playerid][pOrgCVD]);
        
DOF2_SetInt(arquivo"pSexo"Player[playerid][pSexo]);
        
DOF2_SetInt(arquivo"pPlogin"Player[playerid][pPlogin]);
        
DOF2_SetInt(arquivo"pSkin"GetPlayerSkin(playerid));
        
DOF2_SetInt(arquivo"pScore"GetPlayerScore(playerid));
        
DOF2_SaveFile();
    }
    
Player[playerid][pOrgCVD] = 0;
    return 
1;

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
arquivo[40], name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridname32);
    
format(arquivo40"Contas/%s.ini"name);
    if(
dialogid == DIALOG_REGISTRO)
    {
        if(!
strval(inputtext))
        {
            
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"Registro""Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!""Confirma""Cancelar");
            return 
1;
        }
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
            
Player[playerid][Senha] = strval(inputtext);
            
DOF2_CreateFile(arquivo);
            
DOF2_SetInt(arquivo"Senha"Player[playerid][Senha]);
            
DOF2_SetInt(arquivo"Matou"Player[playerid][Matou]);
            
DOF2_SetInt(arquivo"Morreu"Player[playerid][Morreu]);
            
DOF2_SetInt(arquivo"Dinheiro"Player[playerid][Dinheiro]);
            
DOF2_SetInt(arquivo"pOrg"Player[playerid][pOrg]);
            
DOF2_SetInt(arquivo"pAdmin"Player[playerid][pAdmin]);
            
DOF2_SetInt(arquivo"pCargo"Player[playerid][pCargo]);
            
DOF2_SetInt(arquivo"pProc"Player[playerid][pProc]);
            
DOF2_SetInt(arquivo"pOrgCVD"Player[playerid][pOrgCVD]);
            
DOF2_SetInt(arquivo"pSexo"Player[playerid][pSexo]);
            
DOF2_SetInt(arquivo"pPlogin"Player[playerid][pPlogin]);
            
DOF2_SetInt(arquivo"pSkin"Player[playerid][pSkin]);
            
DOF2_SetInt(arquivo"pScore"Player[playerid][pScore]);
            
DOF2_SaveFile();
            
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"Logar""Vocк se cadastrou, agora й sу logar com sua senha registrada!""Confirma""Cancelar");
        }
    }
    if(
dialogid == DIALOG_LOGAR)
    {
        if(!
strval(inputtext))
        {
            
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"Logar""Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!""Confirma""Cancelar");
            return 
1;
        }
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
            
Player[playerid][Senha] = DOF2_GetInt(arquivo"Senha");
            if(
strval(inputtext) == Player[playerid][Senha])
            {
                
Player[playerid][Matou] = DOF2_GetInt(arquivo"Matou");
                
Player[playerid][Morreu] = DOF2_GetInt(arquivo"Morreu");
                
Player[playerid][Dinheiro] = DOF2_GetInt(arquivo"Dinheiro");
                
Player[playerid][pOrg] = DOF2_GetInt(arquivo"pOrg");
                
Player[playerid][pAdmin] = DOF2_GetInt(arquivo"pAdmin");
                
Player[playerid][pCargo] = DOF2_GetInt(arquivo"pCargo");
                
Player[playerid][pProc] = DOF2_GetInt(arquivo"pProc");
                
Player[playerid][pOrgCVD] = DOF2_GetInt(arquivo"pOrgCVD");
                
Player[playerid][pSexo] = DOF2_GetInt(arquivo"pSexo");
                
Player[playerid][pPlogin] = DOF2_GetInt(arquivo"pPlogin");
                
Player[playerid][pSkin] = DOF2_GetInt(arquivo"pSkin");
                
Player[playerid][pScore] = DOF2_GetInt(arquivo"pScore");
                
GivePlayerMoney(playeridPlayer[playerid][Dinheiro]);
                
SpawnPlayer(playerid);
            }
            else
            {
                
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"Logar""Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!""Confirma""Cancelar");
                
Erro[playerid]++;
                if(
Erro[playerid] == 5)
                {
                    
SendClientMessage(playerid, -1"Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
                    
Ban(playerid);
                    return 
1;
                }
            }
        }
    }
    return 
1;

Reply
#2

Utilizar dof2 em 2019,
Senha somente numeros,
Banimento apуs 5 tentativas,
Spawn sem coordenadas,
sem proteзгo contra dados falsos (skin, score, dinheiro).

melhor voltar a pesquisar antes de desenvolver um servidor pйssimo, a comunidade jб й saturada deles.

@TOPIC: nгo posso ajudar quem nгo consegue, ao menos explicar o problema direito.
Reply
#3

Quote:
Originally Posted by IsaacAsimov
Посмотреть сообщение
Utilizar dof2 em 2019,
Senha somente numeros,
Banimento apуs 5 tentativas,
Spawn sem coordenadas,
sem proteзгo contra dados falsos (skin, score, dinheiro).

melhor voltar a pesquisar antes de desenvolver um servidor pйssimo, a comunidade jб й saturada deles.

@TOPIC: nгo posso ajudar quem nгo consegue, ao menos explicar o problema direito.
Parabйns, senhor scripter, eu pedi uma ajuda, se nгo for contribuir em nada, fica quieto, nгo fala merda!
Reply
#4

- O tutorial do EditPawn jб estб obsoleto, utilize esse: https://sampforum.blast.hk/showthread.php?tid=346534
Reply
#5

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
- O tutorial do EditPawn jб estб obsoleto, utilize esse: https://sampforum.blast.hk/showthread.php?tid=346534
Obrigado Luan!
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)