Erro no banco de dados!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Erro no banco de dados!

Mensagem por Witen em Qui 24 Maio 2012, 21:14

Código:
global.minhaconta = get_string("Login.","Digite Aqui")//pergunta a conta,transformando-a em global.minhaconta
global.minhasenha = get_string("Senha.","Digite Aqui")//pergunta a senha,transformando-a em global.minhasenha
ini_open("users.vir")//abre o ini
if (global.minhaconta==ini_read_string(global.nickname,"Nickname","" ) && global.minhasenha==ini_read_string(global.nickname,"Senha","") )//se oq foi digitado nas 2 primeiras strings desse código, forem iguais ao registrado,
{
show_message("Logado!");//mostra a mensagem: Logado!
room_goto(Mapa)//ir para a room
}
ini_close()//Fecha o Ini.

Bom. quando a senha e o login for digitado corretamente era para aparecer a mensagem "Você acabou de efetuar login!"é quando o login estiver errado aparecer uma mensagem dizendo "Usuário não existe ou a senha foi digitada incorretamente"

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por Pit Bull em Qui 24 Maio 2012, 23:04

você errou nesta parte:

ini_open("users.vir")//abre o ini

o certo seria users.vir.ini

o resto deve estar certo Happy

Pit Bull

Número de Mensagens : 630
Idade : 21
Data de inscrição : 31/08/2010
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://leninja.com.br

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por William Lima em Sex 25 Maio 2012, 00:16

O problema não deve ser esse, o gm abrirá o ini ignorando o formato externo... eu já fiz isso....
o problema deve estar no...
ini_read_string()

O que é o global.nickname?
Se você sabe, ele está no lugar das seções de ini...
ini_read_string(seção, chave, valor default)
Crie uma seção só para as contas:
ini_read_string("contas","nickname","")

EDIT:
Quando você usa o ini_write_string(), como você está fazendo?


Última edição por William Lima em Sex 25 Maio 2012, 10:26, editado 1 vez(es)

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por Witen em Sex 25 Maio 2012, 10:20

você errou nesta parte:

ini_open("users.vir")//abre o ini

o certo seria users.vir.ini

o resto deve estar certo

Não é isso! mesmo com esse formato o arquivo abre e fecha normalmente...

O problema não deve ser esse, o gm abrirá o ini ignorando o formato externo... eu já fiz isso....
o problema deve estar no...
ini_read_string()

O que é o global.nickname?
Se você sabe, ele está no lugar das seções de ini...
ini_read_string(seção, chave, valor default)
Crie uma seção só para as contas:
ini_read_string("contas","nickname","")

global.nickname é a global do nome do player.
Vou fazer o que você disse é ver se funciona Happy"

Edit:Nem funcionou...

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por William Lima em Sex 25 Maio 2012, 10:28

Me responda uma coisa... como você faz para criar a tal conta... ?
Primeiramente precisa existir uma conta no ini com a seções e chaves.
[contas]
nickname=nome
senha=senha

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por Witen em Sex 25 Maio 2012, 10:36

Código:
global.nickname = get_string("Qual é o nickname desejado?","Digite Aqui")//Pergunta qual o nickname o jogador deseja,e oq ele digitar, será o :global.nickname
global.senha = get_string("Qual é a senha desejada?","Digite Aqui")//Pergunta qual a senha o jogador deseja, e oq ele digitar , será a global.senha
ini_open("users.vir")//abre o .ini, se ele nao existir, o GM cria um para você.
if (ini_section_exists(global.nickname))//checar se a conta ja existe
{
show_message("Essa conta já existe!");//manda a mensagem de que a conta já existe
break;
}
ini_write_string(global.nickname,"Nickname",global.nickname)//escreve no arquivo ini,com a seçao: global.nickname, que é o nome do jogador,escreve Nickname, que será a chave, e o valor será global.nickname, que é o nome do jogador
ini_write_string(global.nickname,"Senha",global.senha)//escreve no arquivo ini,com a seçao: global.nickname, que é o nome do jogador,escreve Senha,que será a chave,e o valor será global.senha,que é a senha que o jogador escolheu.
ini_close()//fecha o ini

Com esse código! ele cria o objeto users armazena os novos usuários é checa se esse usuário já existe...

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por William Lima em Sex 25 Maio 2012, 10:45

Não consegui dectectar algum erro entre os códigos :S
Ou não li direito...
De qualquer modo estou fazendo uma engine mais simples.
Mas antes disso, mes diga... o que aparece na mensagem de erro?

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por Witen em Sex 25 Maio 2012, 10:58

Não da erro apenas não ocorre o que esta programado depois que se loga =/

Código:
{
show_message("Logado!");//mostra a mensagem: Logado!
room_goto(Mapa)//ir para a room
}

Era para aparecer essa mensagem é ir para a room mapa mas não acontece nada =/

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por William Lima em Sex 25 Maio 2012, 10:59

Bem, fiz uns codes que funcionam perfeitamente.... até testei aqui

Code para criar contas:
Código:
ini_open("users.vir")
nickname=get_string("Nome para login","")
password=get_string("Senha para login","")
if !ini_key_exists("contas",nickname){
ini_write_string("contas",nickname,password)
}else
{
show_message("Usuário já existe")
}
ini_close()

Code para efetuar login:
Código:
ini_open("users.vir")
log_nickname=get_string("Login","")
log_password=get_string("Password","")
if ini_key_exists("contas",log_nickname){
if log_password=ini_read_string("contas",nickname,"")
{
show_message("Logado")//caso a senha e o nome estejam certos
}
else
{show_message("Senha incorreta")}//caso a senha esteja errada
}
else
{
show_message("Usuário inexistente")//caso não exista esse usuário
}
ini_close()

Tente salvar seu projeto com um novo nome para não afetar nada do seu projeto, e teste com esse códigos...
Mas não os coloque no step, coloque no create ou em eventos que ocupem apenas um step como keyboard_check_pressed()


E espero que você codifique os arquivos ini para manter a segurança das contas.

EDIT:
Caso você ja estiver usando aquelas variáveis em outros objetos é só substituir:

nickname por global.nickname;
password por global.senha;

log_nickname por global.minhaconta
log_password por global.minhasenha

Existe um comando que substitue tudo de uma vez.


Última edição por William Lima em Sex 25 Maio 2012, 11:15, editado 1 vez(es)

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por Witen em Sex 25 Maio 2012, 11:15

Ae!vlw! funcionou vou da uma editada no código, mas lembrei de uma coisa se for uma pessoa que estiver jogando o game em outro pc vai criar um banco de dados no pc dela em vez de acessar o meu =/

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por William Lima em Sex 25 Maio 2012, 11:20

Sim... isso é um arquivo ini, criará um banco de dados (ini) para cada executável que não estiver na mesma área do computador. Se dois executáveis estiverem na mesma área, por exemplo, na area de trabalho, ele compartilharão o mesmo ini. Agora, caso um esteja na área de trabalho e outro esteja dentro de uma pasta qualquer... cada um criará seu banco de dados.
Caso queira fazer login online será mais complexo e não usará apenas ini's.

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por Witen em Sex 25 Maio 2012, 11:31

Caso queira fazer login online será mais complexo e não usará apenas ini's.

Existe alguma engine o tutorial aqui na GM ensinando?

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por William Lima em Sex 25 Maio 2012, 11:34


William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por luiz_eldorado em Sex 25 Maio 2012, 19:09

Witen escreveu:
Caso queira fazer login online será mais complexo e não usará apenas ini's.

Existe alguma engine o tutorial aqui na GM ensinando?

Você terá que usar um server, e usando a soc dll, você colocaria assim (depois de usar já o soc_init()):
Código:
soc=soc_create(SOC_TCP,4242,ip_do_server)
//Coloque o Ip do server (ou seja, o seu ip)
soc_send_token(soc,tipo)
//tipo: "0" = fazer login; "1" = criar conta
soc_send_token(soc,global.minhaconta)
soc_send_token(soc,global.minhasenha)
rec=soc_receive_token(soc)
if rec="0" {show_message("Logado")}
if rec="1" {show_message("Senha incorreta")}
if rec="2" {show_message("Usuário não existe")}
if rec="3" {show_message("Registrado")}
if rec="4" {show_message("Nome já existe")}

E no server:
Código:
ent=soc_create(SOC_TCP|SOC_LISTEN,4242)
while(!soc_valid(ent)) {soc=soc_accept(ent)}
rec_tipo=soc_receive_token(soc)
rec_nome=soc_receive_token(soc)
rec_senha=soc_receive_token(soc)

if rec_tipo="0" {
ini_open("users.vir")
if ini_key_exists("contas",rec_nome) {
if rec_senha=ini_read_string("contas",rec_nome,"") {
soc_send_token(soc,"0") //Está logado
} else {
soc_send_token(soc,"1") //Senha incorreta
} else {
soc_send_token(soc,"2") //User não existe
}
ini_close()
}
if rec_tipo="1" {
ini_open("users.vir")
if !ini_key_exists("contas",rec_nome){
ini_write_string("contas",rec_nome,rec_senha)
soc_send_token(soc,"3") //Registrado
} else {
soc_send_token(soc,"4") //Nome já existe
}
ini_close()
}

No Create dos dois:
Código:
soc_init()

Ah, e não se esqueça de colocar a soc dll na mesma pasta do projeto (client e server)

Isso é o BÁSICO.
Até mais!

EDIT: Eu e o Witen estamos numa equipe que se ch... opa, melhor não dizer isto, hehehe...

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 17
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por Witen em Sex 25 Maio 2012, 20:04

EDIT: Eu e o Witen estamos numa equipe que se ch... opa, melhor não dizer isto, hehehe...

O nome é Wibix...To cheio de projetos de jogos aqui, to trabalhando em todos
da vontade de abrir a cabeça com um machado Happy"...

Eles são: Smadol,Dlite,Empire é Semnome (To sem ideia pra o nome do outro =/)

Alias luiz encontrei uma engine de RPG onlaine funciona! o que eu mais amei foi o serve tem contagem de dados e numero de players cadastrados e onlaine =D... quem quiser participar da equipe mim manda uma MP!

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Erro no banco de dados!

Mensagem por Conteúdo patrocinado Hoje à(s) 04:10


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum