[Ajuda] Dialog nгo aparece
#1

E ae rapaziada,
entгo decidi desenvolver um system de login , so que pelo que eu vi eu fiz todo o codigo correto , so que ao player logar nгo ta aparecendo o dialog , ja ate copiei codigo de outro login para ve se a funзгo abria mais nгo abriu , enfim quer puder ajuda agradeзo dms!

http://pastebin.com/SBuUgsSz
Reply
#2

Quote:

if(!strval(inputtext)) //Verifica se o player digitou letras, caso for true

*Nгo sгo somente letras, sгo todos e quaisquer caracteres!

Nгo testei, tenta aн.

PHP код:
#define DIALOG_REGISTRO         200
#define DIALOG_LOGAR         201
//JA COLOQUEI EM ONPLAYERCONNECT E TAMBEM NГO DEU
//O DIALOG DO LOGIN TA INGLES POIS COPIEI O SHOWPLAYERDIALOG DO WIKI PARA VER SE FUNCIONAVA!
public OnPlayerRequestClass(playeridclassid)
{
      if(
Logado[playerid] == 0) {
    new 
arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    
GetPlayerName(playeridname32); //Pega o nome do playerid
    
format(arquivo40"Contas/%s.ini"name); //Formata o arquivo com o nome do playerid
    
if(DOF2_FileExists(arquivo)) //Verifica se a pasta existe
    
//Caso existir, irб retornar a dialog de Login
        
ShowPlayerDialog(playerid201DIALOG_STYLE_INPUT"Login""Enter your password below:""Login""Cancel");
    }
    else  
//Caso o arquivo nгo exista
    
//Irб retornar a dialog de registro
        
ShowPlayerDialog(playerid202DIALOG_STYLE_INPUT"Registro""Vocк ainda nгo й Registrado, digite uma senha para se registrar!""Confirma""Cancelar");
    }
    }
    return 
false;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    
GetPlayerName(playeridname32); //Para pegar o nome do playerid
    
format(arquivo40"Contas/%s.ini"name); //Formata o arquivo com o nome do playerid
    
if(dialogid == DIALOG_REGISTRO)
    {
        if(!
strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true
        
//Retorna a dialog de registro novamente para ele digitar NЪMEROS
            
ShowPlayerDialog(playerid200DIALOG_STYLE_INPUT"Registro""Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!""Confirma""Cancelar");
            return 
1;
        }
        if(!
response//Verifica se ele clicar em 'Cancelar"
        
//Caso ele clicar em cancelar, irб retornar ao playerid KICK
            
Kick(playerid);
            return 
1;
        }
        else 
//Verifica se ele Confirma o Registro
        
//Caso for true, ira criar o arquivo na pasta CONTAS
            
pInfo[playerid][pSenha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
            
DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
            
DOF2_GetBool(arquivo"Cadastrado"pInfo[playerid][pCadastrado]);
            
DOF2_SetInt(arquivo"Senha"pInfo[playerid][pSenha]); //Vai salvar a senha do playerid
            
DOF2_SetInt(arquivo"Hospital"pInfo[playerid][Hospital]); //Vai salvar quantas vezes ele matou
            
DOF2_SetInt(arquivo"Dinheiro"pInfo[playerid][pDinheiro]); //Vai salvar o dinheiro dele
            
DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa funзгo o arquivo nгo serб salvo!
            //Retornando a dialog de Login ao player no final para ele logar no server
            
ShowPlayerDialog(playerid201DIALOG_STYLE_PASSWORD"Logar""Vocк se cadastrou, agora й sу logar com sua senha registrada!""Confirma""Cancelar");
        }
    }
    if(
dialogid == DIALOG_LOGAR)
    {
        if(!
strval(inputtext)) //Verifica se o player digitou letras, caso for true
        
//Retorna a dialog de Login novamente para ele digitar NЪMEROS
            
ShowPlayerDialog(playerid201DIALOG_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//Verifica se ele clicar em 'Cancelar"
        
//Caso ele clicar em cancelar, irб retornar ao playerid KICK
            
Kick(playerid);
            return 
1;
        }
        else 
//Verifica se ele Confirma o Login
        
//Caso for true, ira verificar se o que ele digitar serб a mesma senha que ele se registrou anteriormente
            
pInfo[playerid][pSenha] = DOF2_GetInt(Contas(playerid), "Senha");
            if(
strcmp(inputtextpInfo[playerid][pSenha], true) == 0)
            { 
//Retornarб os dados do player e apуs irб dar Spawn no mesmo
                
pInfo[playerid][pCadastrado] = DOF2_GetBool(Contas(playerid), "Cadastrado");
                
pInfo[playerid][pDinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
                
GivePlayerMoney(playeridpInfo[playerid][pDinheiro]);
                
pInfo[playerid][Hospital] = DOF2_GetInt(Contas(playerid), "Hospital");
                
SpawnPlayer(playerid);
            }
            else 
//Caso ele digitar a senha errada
            
{
                
ShowPlayerDialog(playerid201DIALOG_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]++; //O erro vai aumentar cada vez que ele errar
                
if(Erro[playerid] == 5//Quando chegar а 5 vezes, irб retornar a msg e o Ban
                
{
                    
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
#3

F1N4L vlw novamente por me ajudar, mais eu fiz o sistema em fs e deu certinho '-'.
me passa seu skype se vc tiver,
abraзos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)