Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
Erro no banco de dados!
4 participantes
Página 1 de 1
Erro no banco de dados!
- 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"
Re: Erro no banco de dados!
você errou nesta parte:
ini_open("users.vir")//abre o ini
o certo seria users.vir.ini
o resto deve estar certo
ini_open("users.vir")//abre o ini
o certo seria users.vir.ini
o resto deve estar certo
Re: Erro no banco de dados!
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?
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)
Re: Erro no banco de dados!
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 "
Edit:Nem funcionou...
Re: Erro no banco de dados!
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
Primeiramente precisa existir uma conta no ini com a seções e chaves.
[contas]
nickname=nome
senha=senha
Re: Erro no banco de dados!
- 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...
Re: Erro no banco de dados!
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?
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?
Re: Erro no banco de dados!
Não da erro apenas não ocorre o que esta programado depois que se loga =/
Era para aparecer essa mensagem é ir para a room mapa mas não acontece nada =/
- 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 =/
Re: Erro no banco de dados!
Bem, fiz uns codes que funcionam perfeitamente.... até testei aqui
Code para criar contas:
Code para efetuar login:
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.
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)
Re: Erro no banco de dados!
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 =/
Re: Erro no banco de dados!
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.
Caso queira fazer login online será mais complexo e não usará apenas ini's.
Re: Erro no banco de dados!
Caso queira fazer login online será mais complexo e não usará apenas ini's.
Existe alguma engine o tutorial aqui na GM ensinando?
Re: Erro no banco de dados!
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...
Re: Erro no banco de dados!
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 "...
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!
Tópicos semelhantes
» [Resolvido]Qual o erro aqui? Erro no código
» Erro e não erro na compilação do GMS para Android.
» [Resolvido] game maker da erro sem ter erro
» [Erro Inesperado]Erro com comparação
» [erro] Erro no meu codigo javascript
» Erro e não erro na compilação do GMS para Android.
» [Resolvido] game maker da erro sem ter erro
» [Erro Inesperado]Erro com comparação
» [erro] Erro no meu codigo javascript
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|