[Tutorial] Tutorial DOF2 - Registro/Login
#21

Quote:
Originally Posted by Schocc
View Post
falta uma coisa ensina a encriptar as senhas com dof2 й muito importante
Sim, concerteza.. Mas nгo й muito dificil. Eu coloquei como strval, seria senha sу para nъmeros.
Para colocб-las em letras, seria strlen, e o salvamento seria o mesmo.

Seria mudado
pawn Code:
if(!strval(inputtext))
para:
pawn Code:
if(!strlen(inputtext))
Acho que й isso '-'
Reply
#22

nгo й isso
й isso aqui mais nгo esta completo
coloca junto ao seu tutorial esta base pra encriptar vai ficar nice
PHP Code:
Veja as stocks e entendera
format
(arquivo40"Contas/%s.ini"udb_encode(name));
stock udb_encode(nickname[]) {
  new 
tmp[MAX_STRING];
  
set(tmp,nickname);
  
tmp=strreplace("_","_00",tmp);
  
tmp=strreplace(";","_01",tmp);
  
tmp=strreplace("!","_02",tmp);
  
tmp=strreplace("/","_03",tmp);
  
tmp=strreplace("\\","_04",tmp);
  
tmp=strreplace("[","_05",tmp);
  
tmp=strreplace("]","_06",tmp);
  
tmp=strreplace("?","_07",tmp);
  
tmp=strreplace(".","_08",tmp);
  
tmp=strreplace("*","_09",tmp);
  
tmp=strreplace("<","_10",tmp);
  
tmp=strreplace(">","_11",tmp);
  
tmp=strreplace("{","_12",tmp);
  
tmp=strreplace("}","_13",tmp);
  
tmp=strreplace(" ","_14",tmp);
  
tmp=strreplace("\"","_15",tmp);
  
tmp=strreplace(":","_16",tmp);
  
tmp=strreplace("|","_17",tmp);
  
tmp=strreplace("=","_18",tmp);
  return 
tmp;
}
stock udb_decode(nickname[]) {
  new 
tmp[MAX_STRING];
  
set(tmp,nickname);
  
tmp=strreplace("_01",";",tmp);
  
tmp=strreplace("_02","!",tmp);
  
tmp=strreplace("_03","/",tmp);
  
tmp=strreplace("_04","\\",tmp);
  
tmp=strreplace("_05","[",tmp);
  
tmp=strreplace("_06","]",tmp);
  
tmp=strreplace("_07","?",tmp);
  
tmp=strreplace("_08",".",tmp);
  
tmp=strreplace("_09","*",tmp);
  
tmp=strreplace("_10","<",tmp);
  
tmp=strreplace("_11",">",tmp);
  
tmp=strreplace("_12","{",tmp);
  
tmp=strreplace("_13","}",tmp);
  
tmp=strreplace("_14"," ",tmp);
  
tmp=strreplace("_15","\"",tmp);
  
tmp=strreplace("_16",":",tmp);
  
tmp=strreplace("_17","|",tmp);
  
tmp=strreplace("_18","=",tmp);
  
tmp=strreplace("_00","_",tmp);
  return 
tmp;

Reply
#23

Bom tutorial para novatos.
8/10.
Reply
#24

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
Vlw '-'



DOF2_CheckLogin, funcionou aqui, e eu fiz para ser usado realmente Nъmeros para a senha..
Eu testei o sistema e funcionou perfeitamente sem bug's.

E obrigado pela sua atenзгo, fiz exatamente para ajudar quem ainda nao sabe mecher com DOF2.
Certeza cara ?

pawn Код:
stock bool: DOF2::CheckLogin (file [], password [])
    return (file [0] && password [0] && DOF2::num_hash (password) == DOF2::GetInt (file, USER_PW_HASH_KEY));
Explicaзгo:
pawn Код:
stock bool: DOF2::CheckLogin (file [], password [])
    return (file [0] //Verifica se o caracter 0 de file й veradeiro(verificar se foi preenchido)
    && password [0] //Mesma coisa do de cima!
    && DOF2::num_hash (password) //Hash na senha passada
    == DOF2::GetInt (file, USER_PW_HASH_KEY)) //Compara com a senha do arquivo passado;
    //USER_PW_HASH_KEY = #define USER_PW_HASH_KEY "password"
    //Primeiro: Ele vai buscar no arquivo por 'password' sendo que vocк salvou a linha como 'Senha', nгo vai dar certo!
    //Segundo: Ele vai comparar a senha que vc passou com hash deles em uma linha que nгo existe!
    //Terceiro: Para isso funcionar vocк deveria usar o parametro 'password' da funзao 'DOF2_CreateFile'.
Suposiзгo:
Player[playerid][Senha] = strval("Paulo"); - strval de 'Paulo' vai retornar '0', pois a funзгo strval nгo converte um conjunto de caracteres em inteiros e sim inteiros que estгo em strings!
DOF2_CheckLogin(arquivo, inputtext); - Vai comparar o hash de '0' com um linha que nem exsite!

Agora eu lhe pergunto, vocк realmente testou isso ?
Reply
#25

Quote:
Originally Posted by Vitor_Marfioso
Посмотреть сообщение
Bom tutorial para novatos.
8/10.
vlw '-'

Quote:
Originally Posted by paulor
Посмотреть сообщение
Certeza cara ?

pawn Код:
stock bool: DOF2::CheckLogin (file [], password [])
    return (file [0] && password [0] && DOF2::num_hash (password) == DOF2::GetInt (file, USER_PW_HASH_KEY));
Explicaзгo:
pawn Код:
stock bool: DOF2::CheckLogin (file [], password [])
    return (file [0] //Verifica se o caracter 0 de file й veradeiro(verificar se foi preenchido)
    && password [0] //Mesma coisa do de cima!
    && DOF2::num_hash (password) //Hash na senha passada
    == DOF2::GetInt (file, USER_PW_HASH_KEY)) //Compara com a senha do arquivo passado;
    //USER_PW_HASH_KEY = #define USER_PW_HASH_KEY "password"
    //Primeiro: Ele vai buscar no arquivo por 'password' sendo que vocк salvou a linha como 'Senha', nгo vai dar certo!
    //Segundo: Ele vai comparar a senha que vc passou com hash deles em uma linha que nгo existe!
    //Terceiro: Para isso funcionar vocк deveria usar o parametro 'password' da funзao 'DOF2_CreateFile'.
Suposiзгo:
Player[playerid][Senha] = strval("Paulo"); - strval de 'Paulo' vai retornar '0', pois a funзгo strval nгo converte um conjunto de caracteres em inteiros e sim inteiros que estгo em strings!
DOF2_CheckLogin(arquivo, inputtext); - Vai comparar o hash de '0' com um linha que nem exsite!

Agora eu lhe pergunto, vocк realmente testou isso ?
Hmm, eu tinha testado e tinha funcionado, mas vendo por esse lado esta errado!
Obrigado paulor, ja arrumei e dei @EDIT, caso estiver errado novamente, me comunique para arrumar...

Errando e aprendendo '-'

Vlw
Reply
#26

Poderia ter feito mas completo , com sistema de sexo , nacionalidade , em que cidade vai nascer esses trem , mas estб bom
Reply
#27

Quote:
Originally Posted by Ades
View Post
Poderia ter feito mas completo , com sistema de sexo , nacionalidade , em que cidade vai nascer esses trem , mas estб bom
Sim й verdade, mas a minha intenзгo era passar o essencial de DOF2 para poder comeзar a usб-lo, e com isso ir se aprofundando e aprendendo as funзхes que o DOF2 lhe permite para criar seus sistemas.

E o que vocк disse й simples fazer, sу ir pela mesma lуgica que as outras informaзхes salvas nas Variaveis, sу o que vai mudar й o Spawn do player.. Mas й basicamente a mesma coisa
Reply
#28

Quote:
Originally Posted by Ades
View Post
Poderia ter feito mas completo , com sistema de sexo , nacionalidade , em que cidade vai nascer esses trem , mas estб bom


ai ja ta querendo de +
Reply
#29

Poisй, nгo coloquei mais coisas pois esse й um Tutorial, se fosse FilterScript, teria que adicionar mais й claro. Sу й uma base para aprender DOF2, pois se colocasse muita coisa, seria capaz de os iniciantes nгo entenderem muito bem. Sendo assim fiz de uma forma mais Clara para nгo dar muito trabalho para entender.

Espero que os que ainda nгo conhecem DOF2, que comecem a usar e se esse tutorial ser util, comente
Reply
#30

Quote:
Originally Posted by BlackDonelly
View Post


ai ja ta querendo de +
Somente dei uma sugestгo .

Ate porque eu nгo codo muito, e nгo sirvo para criar um servidor , somente como player .
Reply
#31

Esses comentбrios anteriores foram desnecessбrios alйm de nгo terem nada a ver com DOF2 nгo passam de insultos uns aos outros.

Vejam lб se pensam melhor no que andam a fazer.
Reply
#32

Quote:
Originally Posted by PT
View Post
Esses comentбrios anteriores foram desnecessбrios alйm de nгo terem nada a ver com DOF2 nгo passam de insultos uns aos outros.

Vejam lб se pensam melhor no que andam a fazer.
Vocк estб certo. A board precisa de menos уdio e mais posts de flood sem sentido.
Reply
#33

ipsLeon, que eu saiba, em Junho/Julho/Agosto й quando comeзam as ferias escolares na europa... Os Europeus Somem bastante em Setembro atй Maio.
Reply
#34

Muito Bom
Reply
#35

Onde vou botar isso ?
Reply
#36

Da esse erros man
C:\Users\Usuario\Searches\Music\Desktop\Marcos\gam emodes\bare.pwn(240) : error 049: invalid line continuation
C:\Users\Usuario\Searches\Music\Desktop\Marcos\gam emodes\bare.pwn(247) : error 029: invalid expression, assumed zero
C:\Users\Usuario\Searches\Music\Desktop\Marcos\gam emodes\bare.pwn(259) : warning 209: function "OnDialogResponse" should return a value
C:\Users\Usuario\Searches\Music\Desktop\Marcos\gam emodes\bare.pwn(260) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Reply
#37

Quote:
Originally Posted by OverKiller
View Post
Da esse erros man
C:\Users\Usuario\Searches\Music\Desktop\Marcos\gam emodes\bare.pwn(240) : error 049: invalid line continuation
C:\Users\Usuario\Searches\Music\Desktop\Marcos\gam emodes\bare.pwn(247) : error 029: invalid expression, assumed zero
C:\Users\Usuario\Searches\Music\Desktop\Marcos\gam emodes\bare.pwn(259) : warning 209: function "OnDialogResponse" should return a value
C:\Users\Usuario\Searches\Music\Desktop\Marcos\gam emodes\bare.pwn(260) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Coloque um return true ao final da public OnDialogResponse.

Em relaзгo aos outros erros, poste o cуdigo.
Reply
#38

Faltar Uma Coisa! ACHO Nгo entendo Muito mas cadк a parte onde Criar a pasta Contas Se nгo criar vai bugar!
Reply
#39

Quote:
Originally Posted by Mestredostutorial
View Post
Faltar Uma Coisa! ACHO Nгo entendo Muito mas cadк a parte onde Criar a pasta Contas Se nгo criar vai bugar!
Crie a pasta manualmente.
Reply
#40

Mano, eu peguei teu sistema ( o que tem stocks) , sу que quando o PJ spawna continua pedindo senha como se tivesse errado, sendo que nao errei.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)