Conectar-se
Quem está conectado
32 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 32 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Sistema de registro e login por lists

em Ter 28 Set 2010, 16:40
Reputação da mensagem: 100% (1 votos)
Sistema de registro e login

Hoje eu vou mostrar como fazer um simples banco de dados, mais ou menos, uma tabela. Nao vamos desenhala, mas vamos usa-la em um sistema de Registro e Login.

Versao do GM: Game Maker 8 Pro (pode funcionar em outras versoes)
Dificuldade: Medio
Apoio do Kabeção em uma parte da engine.

-Vamos lá, abra o Game Maker.
-Crie duas sprites, desenhe um botao Registrar em um e Entrar no outro.

-Crie um script chamado 'add_coluna'.
-Adicione o codigo a seguir nele:

Código:
//A coluna sera como uma lista, e nela sera adicionado os dados, as linhas.
return ds_list_create() //cria uma lista e retorna seu ID.

-Crie um script chamado 'add_linha' e copie o codigo para ele:
Código:

//adicionar na lista (argument0), na linha (argument1), o valor (argument2)
ds_list_insert(argument0,argument1,argument2)

-Adicione um script chamado 'procurar' e nele o codigo:
Código:

//procura na lista (argument0), a linha onde se encontra o valor (argument1)
return ds_list_find_index(argument0,argument1);

- Script procurar_senha:
Spoiler:

if ds_list_empty(argument0) return 0;

var d,ii,n,count;
d = ds_list_create(); // criar nova
ds_list_copy(d,argument0); // copiar
ii = ds_list_size(d); // tamanho da lista
n = 0; // número do index da array
pos[n] = -1; // array que guardará as posições

for ( i = 0; i < ii; i += 1 )
{
// achar posição
pos[n] = ds_list_find_index(d,argument1);

// se posição existe deletar na copia
// e mudar index da próxima array
if pos[n] != -1
{
ds_list_delete(d,pos[n]);
pos[n] += n;
n += 1;
}
}

// deletar copia
ds_list_destroy(d);

for(bb=0;bb<=n-1;bb+=1)
if pos[bb]=argument2
return 1;
return 0;


-Agora crie um objeto chamado 'controle'.
- Crie tambem um objeto chamado 'registrar' e outro 'entrar'.
- Nos ultimos dois, coloque seus respectivos sprites.

- Entre no objeto registrar e adicione o event mouse>>left pressed.
Coloque o codigo a seguir nesse evento:
Código:
with(controle) event_user(0)

- Entre no objeto entrar e adicione o mesmo evento (mouse),
mas coloque outro codigo:
Código:
with(controle) event_user(1)

Entre no objeto controle.
Adicione o evento CREATE e nele o codigo:
Código:

nome=add_coluna() //criar uma coluna para os nomes
idade=add_coluna() // mesma coisa para as idades
pass=add_coluna() // mesma coisa para as senhas
user=0 //define a linha que sera adicionada os valores.

Adicione um evento User Defined 0 no objeto controle. Cole o codigo:
Código:

var name, senha,age;
name=get_string("Nome:",'') //pega o nome da pessoa
senha=get_string('Senha:','') //pega a senha
age=get_string('Idade:','') //pega a idade
if procurar(nome,name)>-1 //se o nome ja existir
{show_message("Esse usuario ja existe.") exit} // notificar e sair

add_linha(nome,user,name) //adicionar na linha (user), na coluna (nome), o nome (name)
add_linha(pass,user,senha)// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑, ↑↑↑↑↑↑↑↑ (pass), a senha (senha)
add_linha(idade,user,age) // mesma coisa dos de cima, mas muda a coluna e o valor
user+=1; //na proxima vez que alguem registrar, salvar na proxima linha das colunas

show_message('Bem-vindo '+name+'!') //se der tudo certo, notificar o usuario

Adicione um evento User Defined 1 no objeto controle. Cole o codigo:
Código:

var name,senha; //criar as variaveis usadas
name=get_string('Nome:','') //pegar nome
senha=get_string('Senha:','')//pegar senha

if procurar(nome,name)!=-1
{
pos_name=procurar(nome,name) //procurar a linha do nome na coluna
if procurar_senha(pass,senha)  //se a linha for a mesma que a senha certa
show_message(name+', voce esta logado.') //logou
else
show_message('Senha incorreta.') //se nao, a senha nao ta na linha, nao ta certa
}
else
show_message('Usuario inexistente!') // se nao achar o nome na coluna, notificar o user

Pronto! O sistema esta feito! Agora teste!
Há algumas desvantagens, pois ele nao salva os nomes, entao toda vez voce tem
que se registra. Mas é um teste. Estou estudando listas, por isso fiz isso.
Quando eu achar um jeito facil de salvar a lista eu coloco aqui.

Duvidas, criticas e sugestoes?
Poste aqui!


Última edição por Pedro Henrique em Sab 22 Jan 2011, 22:48, editado 3 vez(es)
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 21

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sistema de registro e login por lists

em Ter 28 Set 2010, 16:45
muito bom cara tava precisando disso bem ai pra da prum amigo meu VLW
avatar
Data de inscrição : 23/10/2010
Número de Mensagens : 28
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sistema de registro e login por lists

em Dom 24 Out 2010, 18:14
Crie um arquivo chamado Contas.ini
e escreva o seguinte

[CONTAS]

agora abra o objeto controle e no User Defined 0 adicione



ini_open('Contas.ini')

var login, senha;
login=ini_write_string('CONTAS','Login',get_string("Login:",''))
senha=ini_write_string('CONTAS','Senha',get_string("Senha:",''))
if procurar(login,login)>-1
{
show_message("Este login já existe.") exit
}

add_linha(login,login,login)
add_linha(senha,login,senha)

show_message('Conta cadastrada com sucesso!')



agora tenta conectar o User Defined 1 no arquivo Contas.ini e carregar os dados
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Sistema de registro e login por lists

em Sab 22 Jan 2011, 22:50
Alguns usuarios disseram que o link do script estava inativo, ai eu coloquei ele no topico. Esta no spoiler.
Boa aprendizagem! Valeu!

Edit: Vou atualizar o tuto com funcoes mais rapidas e por criptografia.
Aguardem...

FLW
avatar
Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 11

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.google.com

Re: Sistema de registro e login por lists

em Sab 22 Jan 2011, 23:06
deu erros dpois eu posto muito bão flw!
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Sistema de registro e login por lists

em Dom 23 Jan 2011, 12:02
Que tipo de erros?
Eu ainda nao coloquei para salvar conforme o jogo, pq ate seria mais complicado com ds_lists. O tutorial é direcionado as listas, mas posso dar um jeito. Se for isso, ja esta explicado. Mas se nao for, pode falar que eu vejo.

Eu vou dar um jeito de salvar listas quando o jogo fechar...

FLW
avatar
Data de inscrição : 31/05/2011
Número de Mensagens : 55
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sistema de registro e login por lists

em Sex 10 Jun 2011, 20:16
Poderia colocar para salvar os usuarios, por favor?
Obrigado!
avatar
Data de inscrição : 23/09/2008
Número de Mensagens : 169
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Sistema de registro e login por lists

em Sex 10 Jun 2011, 22:45
Cara um modo bom de salva e carregar é usando o code da propria lista.

Código:
ds_list_write(id) //Cria um texto com os dados da lista id
ds_list_read(id,texto) //Carrega o texto para a lista id

Vc pode salvar o texto da lista em um arquivo .txt ou outro qualquer, depois vc pode carregar os dados para a lista. Acho bem bom de usar!

Té.
avatar
Ranking : Nota C
Notas recebidas : C-D-A-C
Data de inscrição : 28/01/2011
Número de Mensagens : 1003
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 18

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://sonicmaker.forumeiros.com/memberlist

Re: Sistema de registro e login por lists

em Sab 11 Jun 2011, 11:24
nossa muito bom!
talves eu ate use ese sitema em alguns jogos ;)
avatar
Data de inscrição : 06/03/2015
Número de Mensagens : 28
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: Sistema de registro e login por lists

em Sab 21 Mar 2015, 18:24
Cada uma dessas etapas é feito em qual das engine Client/Server? sou novato.
Conteúdo patrocinado

Re: Sistema de registro e login por lists

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum