[Ajuda] Como fazer para senha Sistema de Login nгo ser sу de numeros?
#1

Ai gnt, se vcs pudessem me ajudar .
Eu queria em vez dessa FS que eu progamaei dias a atraz em vez de sу aceitar senha como NUMEROS aceita-se caracteres tambem, o script й esse:

PHP код:
#include <a_samp>
#include <DOF2>
#define DIALOG_LOGAR 1
#define DIALOG_REGISTRO 2
enum pInfo
{
    
pSkin
    
pSenha,
    
pScore,
    
pMoney
};
new 
PlayerInfo[MAX_PLAYERS][pInfo]; 
new 
Erro[MAX_PLAYERS];
public 
OnFilterScriptInit()
{
    
DOF2_Exit();
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    new 
name[MAX_PLAYER_NAME];
    new 
arquivo[40];
    
GetPlayerName(playeridname32);
    
format(arquivo40"Contas/%s.ini"name);
    if(
DOF2_FileExists(arquivo))
    {
        
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login""Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!""Logar""Cancelar");
    }
    else 
    {
        
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Registro""Bem Vindo ao BFL\n Status: Nгo Registrado\n Digite uma senha para se registrar.""Registrar""Cancelar");
    }
    return 
1;
}
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"PlayerInfo[playerid][pSenha]); 
        
DOF2_SetInt(arquivo"Skin"PlayerInfo[playerid][pSkin]);
        
DOF2_SetInt(arquivo"Score"PlayerInfo[playerid][pScore]);
        
DOF2_SetInt(arquivo"Money"PlayerInfo[playerid][pMoney]);
        
DOF2_SaveFile();
    }
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
SetPlayerSkin(playeridPlayerInfo[playerid][pSkin]);
    return 
1;
}
    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_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Registro""Bem Vindo ao BFL\n Status: Nгo Registrado\n Digite uma senha para se registrar.""Registrar""Cancelar");
            
SendClientMessage(playerid, -1"Voce tem que digitar somente numeros!");
            return 
1;
        }
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
            
PlayerInfo[playerid][pSenha] = strval(inputtext); 
            
DOF2_CreateFile(arquivo); 
            
DOF2_SetInt(arquivo"Senha"PlayerInfo[playerid][pSenha]); 
            
DOF2_SetInt(arquivo"Skin"239);
            
DOF2_SetInt(arquivo"Score"0);
            
DOF2_SetInt(arquivo"Money"1000);
            
DOF2_SaveFile();
            
SendClientMessage(playerid, -1"[BFL] Voce esta registrado, Digite sua senha novamente para se logar!");
            
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login""Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!""Logar""Cancelar");
        }
    }
       else
        {
            
PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo"Senha"); 
            if(
strval(inputtext) == PlayerInfo[playerid][pSenha]) 
            {
                
PlayerInfo[playerid][pSkin] = DOF2_GetInt(arquivo"Skin");
                
SetPlayerSkin(playeridPlayerInfo[playerid][pSkin]); 
                
PlayerInfo[playerid][pMoney] = DOF2_GetInt(arquivo"Money"); 
                
GivePlayerMoney(playeridPlayerInfo[playerid][pMoney]);
                
PlayerInfo[playerid][pScore] = DOF2_GetInt(arquivo"Score");
                
SetPlayerScore(playeridPlayerInfo[playerid][pScore]);
                
SpawnPlayer(playerid); 
            }
            else
            {
                
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login""Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!""Logar""Cancelar");
                
Erro[playerid]++; 
                if(
Erro[playerid] == 3)
                {
                    
SendClientMessage(playerid, -1"Voce foi Kickado por errar 3 vezes a senha!");
                    
Kick(playerid);
                    return 
1;
                }
            }
        }
    return 
1;
}
stock ReturnPlayer(playerid)
{
    new 
name[MAX_PLAYER_NAME];
    
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    return 
name;

A parte q ta intereзa й essa q ta chegando a senha digitada q se for TEXTO = True aparece a mensagem:
PHP код:
if(dialogid == DIALOG_REGISTRO)
    {
        if(!
strval(inputtext))
        {
            
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Registro""Bem Vindo ao BFL\n Status: Nгo Registrado\n Digite uma senha para se registrar.""Registrar""Cancelar");
            
SendClientMessage(playerid, -1"Voce tem que digitar somente numeros!");
            return 
1;
        } 
Se puderem ajudar ai to sem ideia ja tentei de tudo!
Reply
#2

PHP код:
pSenha 
Essa variavel tem que ser string !
Reply
#3

Quote:

PHP Code:
pSenha
Essa variavel tem que ser string !
__________________

Nгo compriendi muito bem vc poderia explicar melhor?
Reply
#4

Ai estб, nгo tenho certeza se estб correto pois nunca usei essa include.

PHP код:
#include <a_samp> 
#include <DOF2> 
#define DIALOG_LOGAR 1 
#define DIALOG_REGISTRO 2 
enum pInfo 

    
pSkin,  
    
//pSenha, (Desnecessбrio)
    
pScore
    
pMoney 
}; 
new 
PlayerInfo[MAX_PLAYERS][pInfo];  
new 
Erro[MAX_PLAYERS]; 
public 
OnFilterScriptInit() 

    
DOF2_Exit(); 
    return 
1

public 
OnPlayerConnect(playerid

    new 
name[MAX_PLAYER_NAME]; 
    new 
arquivo[40]; 
    
GetPlayerName(playeridname32); 
    
format(arquivo40"Contas/%s.ini"name); 
    if(
DOF2_FileExists(arquivo)) 
    { 
        
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login""Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!""Logar""Cancelar"); 
    } 
    else  
    { 
        
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Registro""Bem Vindo ao BFL\n Status: Nгo Registrado\n Digite uma senha para se registrar.""Registrar""Cancelar"); 
    } 
    return 
1

public 
OnPlayerDisconnect(playeridreason

    new 
arquivo[40], name[MAX_PLAYER_NAME];  
    
GetPlayerName(playeridname32);  
    
format(arquivo40"Contas/%s.ini"name);  
    if(
DOF2_FileExists(arquivo))  
    { 
        
//DOF2_SetString(arquivo, "Senha", PlayerInfo[playerid][pSenha]);  (Desnecessбrio)
        
DOF2_SetInt(arquivo"Skin"PlayerInfo[playerid][pSkin]); 
        
DOF2_SetInt(arquivo"Score"PlayerInfo[playerid][pScore]); 
        
DOF2_SetInt(arquivo"Money"PlayerInfo[playerid][pMoney]); 
        
DOF2_SaveFile(); 
    } 
    return 
1

public 
OnPlayerSpawn(playerid

    
SetPlayerSkin(playeridPlayerInfo[playerid][pSkin]); 
    return 
1

    public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[]) 

    new 
arquivo[40], name[MAX_PLAYER_NAME]; 
    
GetPlayerName(playeridname32);  
    
format(arquivo40"Contas/%s.ini"name); 
    if(
dialogid == DIALOG_REGISTRO
    { 
        if(
strlen(inputtext) == 0//Alterado
        

            
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Registro""Bem Vindo ao BFL\n Status: Nгo Registrado\n Digite uma senha para se registrar.""Registrar""Cancelar"); 
            
SendClientMessage(playerid, -1"Voce tem que digitar somente numeros!"); 
            return 
1
        } 
        if(!
response
        { 
            
Kick(playerid); 
            return 
1
        } 
        else 
        { 
            
DOF2_CreateFile(arquivo);  
            
DOF2_SetString(arquivo"pSenha"inputtext); //Alterado
            
DOF2_SetInt(arquivo"Skin"239); 
            
DOF2_SetInt(arquivo"Score"0); 
            
DOF2_SetInt(arquivo"Money"1000); 
            
DOF2_SaveFile(); 
            
SendClientMessage(playerid, -1"[BFL] Voce esta registrado, Digite sua senha novamente para se logar!"); 
            
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login""Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!""Logar""Cancelar"); 
        } 
    } 
       else 
        { 
            
//PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha");  (Desnecessбrio)
            
if(!strcmp(inputtextDOF_GetString(arquivo"pSenha"), true)) //Alterado
            

                
PlayerInfo[playerid][pSkin] = DOF2_GetInt(arquivo"Skin"); 
                
SetPlayerSkin(playeridPlayerInfo[playerid][pSkin]);  
                
PlayerInfo[playerid][pMoney] = DOF2_GetInt(arquivo"Money");  
                
GivePlayerMoney(playeridPlayerInfo[playerid][pMoney]); 
                
PlayerInfo[playerid][pScore] = DOF2_GetInt(arquivo"Score"); 
                
SetPlayerScore(playeridPlayerInfo[playerid][pScore]); 
                
SpawnPlayer(playerid);  
            } 
            else 
            { 
                
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login""Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!""Logar""Cancelar"); 
                
Erro[playerid]++;  
                if(
Erro[playerid] == 3
                { 
                    
SendClientMessage(playerid, -1"Voce foi Kickado por errar 3 vezes a senha!"); 
                    
Kick(playerid); 
                    return 
1
                } 
            } 
        } 
    return 
1

stock ReturnPlayer(playerid

    new 
name[MAX_PLAYER_NAME]; 
    
GetPlayerName(playerid,name,MAX_PLAYER_NAME); 
    return 
name

Reply
#5

Quote:

Ai estб, nгo tenho certeza se estб correto pois nunca usei essa include.

PHP Code:
#include <a_samp>
#include <DOF2>
#define DIALOG_LOGAR 1
#define DIALOG_REGISTRO 2
enum pInfo
{
pSkin,
//pSenha, (Desnecessбrio)
pScore,
pMoney
};
new PlayerInfo[MAX_PLAYERS][pInfo];
new Erro[MAX_PLAYERS];

public OnFilterScriptInit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
new arquivo[40];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login", "Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!", "Logar", "Cancelar");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Registro", "Bem Vindo ao BFL\n Status: Nгo Registrado\n Digite uma senha para se registrar.", "Registrar", "Cancelar");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
//DOF2_SetString(arquivo, "Senha", PlayerInfo[playerid][pSenha]); (Desnecessбrio)
DOF2_SetInt(arquivo, "Skin", PlayerInfo[playerid][pSkin]);
DOF2_SetInt(arquivo, "Score", PlayerInfo[playerid][pScore]);
DOF2_SetInt(arquivo, "Money", PlayerInfo[playerid][pMoney]);
DOF2_SaveFile();
}
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(dialogid == DIALOG_REGISTRO)
{
if(strlen(inputtext) == 0) //Alterado
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Registro", "Bem Vindo ao BFL\n Status: Nгo Registrado\n Digite uma senha para se registrar.", "Registrar", "Cancelar");
SendClientMessage(playerid, -1, "Voce tem que digitar somente numeros!");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
DOF2_CreateFile(arquivo);
DOF2_SetString(arquivo, "pSenha", inputtext); //Alterado
DOF2_SetInt(arquivo, "Skin", 239);
DOF2_SetInt(arquivo, "Score", 0);
DOF2_SetInt(arquivo, "Money", 1000);
DOF2_SaveFile();
SendClientMessage(playerid, -1, "[BFL] Voce esta registrado, Digite sua senha novamente para se logar!");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login", "Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!", "Logar", "Cancelar");
}
}
else
{
//PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha"); (Desnecessбrio)
if(!strcmp(inputtext, DOF_GetString(arquivo, "pSenha"), true)) //Alterado
{
PlayerInfo[playerid][pSkin] = DOF2_GetInt(arquivo, "Skin");
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
PlayerInfo[playerid][pMoney] = DOF2_GetInt(arquivo, "Money");
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
PlayerInfo[playerid][pScore] = DOF2_GetInt(arquivo, "Score");
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}F{FFFF00}L{FFFF00}]{FFFFFF} - Login", "Bem Vindo ao BFL\n Status: Registrado\n Digite sua senha para se Logar.\nSe voce errar a senha 3 vezes sera Kickado!", "Logar", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 3)
{
SendClientMessage(playerid, -1, "Voce foi Kickado por errar 3 vezes a senha!");
Kick(playerid);
return 1;
}
}
}
return 1;
}
stock ReturnPlayer(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}

Vlw a unica coisa q o serto era DOF2_GetString e nгo DOF_GetString, mas vlw mesmo й a unica coisa que ta faltando pro meu GM que eu fiz do 0!
VLw mwsmo!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)