Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Sistema de registro e login por lists
+4
Lauro
rafinha12
Mr. Kaleb
PedroX
8 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Sistema de registro e login por lists
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 Sáb 22 Jan 2011, 22:48, editado 3 vez(es)
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Sistema de registro e login por lists
muito bom cara tava precisando disso bem ai pra da prum amigo meu VLW
Mr. Kaleb- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Sistema de registro e login por lists
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
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
rafinha12- Data de inscrição : 23/10/2010
Reputação : 0
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Sistema de registro e login por lists
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
Boa aprendizagem! Valeu!
Edit: Vou atualizar o tuto com funcoes mais rapidas e por criptografia.
Aguardem...
FLW
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Sistema de registro e login por lists
deu erros dpois eu posto muito bão flw!
Lauro- Games Ranking :
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Reputação : 11
Número de Mensagens : 855
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Sistema de registro e login por lists
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
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
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Sistema de registro e login por lists
Poderia colocar para salvar os usuarios, por favor?
Obrigado!
Obrigado!
willam2- Data de inscrição : 31/05/2011
Reputação : 1
Número de Mensagens : 55
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Sistema de registro e login por lists
Cara um modo bom de salva e carregar é usando o code da propria lista.
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é.
- 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é.
ricaun- Data de inscrição : 23/09/2008
Reputação : 9
Número de Mensagens : 169
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Sistema de registro e login por lists
nossa muito bom!
talves eu ate use ese sitema em alguns jogos ;)
talves eu ate use ese sitema em alguns jogos ;)
Re: Sistema de registro e login por lists
Cada uma dessas etapas é feito em qual das engine Client/Server? sou novato.
Lupptyr- Data de inscrição : 06/03/2015
Reputação : 1
Número de Mensagens : 28
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Sistema de Login(ou registro)
» Ajuda com Registro/Login Online
» Super MMOPRPG Engine v 02 > Registro e Login
» sistema de login (.ini)
» [AJUDA] Sistema de Login
» Ajuda com Registro/Login Online
» Super MMOPRPG Engine v 02 > Registro e Login
» sistema de login (.ini)
» [AJUDA] Sistema de Login
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos