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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://www.djurielrn.blogspot.com

[Dúvida] Como ler arquivo txt,e executar como gml?

em Qui 06 Jun 2013, 02:42
Por exemplo.

Tenho um arquivo externo variaveis.txt
com a informação abaixo.
Código:

variavel  = "lol";
variavel2 = "Minha segunda var";
variavel3 = "Minha terceira var";

Queria que o game maker 8.1 abrisse o variaveis.txt e transformasse texto em código gml e o próprio executasse.
E se também se teria como reconhecer se existe as variáveis.
por exemplo.

Se existir variavel3 fazer algo!


Obrigado gente!
UN00brn
avatar
Ranking : Nota B
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Dúvida] Como ler arquivo txt,e executar como gml?

em Qui 06 Jun 2013, 09:36
É simples:

Código:
var file,text;

// Aqui abrimos o arquivo.txt e guardamos na variável "file"
file = file_text_open_read("ARQUIVO.txt")

// Lemos todo o seu conteúdo e salvamos numa string
text = file_text_read_string(file)

// Fechamos o arquivo
file_text_close(file)

// Executamos a string salva na variável "text"
execute_string(text)

E pra checar se a tal variável existe, você pode usar:

Código:
// Para variáveis locais
variable_local_exists("lol")

// Para variáveis globais (no caso global.lol)
variable_global_exists("lol")

Lembre-se que execute_string é uma função extremamente lenta, então nem pense em usar no Step, por exemplo. Uma alternativa seria criar um objeto dentro do jogo e definir como seu evento Step o tal código, mas só se for o caso mesmo, no Create não tem tanto problema.
avatar
Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://www.djurielrn.blogspot.com

Re: [Dúvida] Como ler arquivo txt,e executar como gml?

em Qui 06 Jun 2013, 12:31
Então, no meu arquivo.txt tem o seguinte.
Código:

if global.hash = "b2e4cd7d008014dbf87cb68efe5f838e" {global.result = "0102030405"; global.passcrack = true  ;}
if global.hash = "b88def5dd231ecb62c59d31832cf681b" {global.result = "1020304050"; global.passcrack = true  ;}
if global.hash = "202cb962ac59075b964b07152d234b70" {global.result = "123"      ;global.passcrack = true    ;}
if global.hash = "81dc9bdb52d04dc20036dbd8313ed055" {global.result = "1234"      ;global.passcrack = true  ;}
if global.hash = "827ccb0eea8a706c4c34a16891f84e7b" {global.result = "12345"      ;global.passcrack = true  ;}
if global.hash = "e10adc3949ba59abbe56e057f20f883e" {global.result = "123456"    ;global.passcrack = true  ;}
if global.hash = "b09c600fddc573f117449b3723f23d64" {global.result = "adm"        ;global.passcrack = true  ;}
if global.hash = "21232f297a57a5a743894a0e4a801fc3" {global.result = "admin"      ;global.passcrack = true  ;}
if global.hash = "f6fdffe48c908deb0f4c3bd36c032e72" {global.result = "adminadmin"  ;global.passcrack = true  ;}
if global.hash = "0192023a7bbd73250516f069df18b500" {global.result = "admin123"    ;global.passcrack = true  ; }
if global.hash = "d829b843a6550a947e82f2f38ed6b7a7" {global.result = "123admin"    ;global.passcrack = true  ;}
if global.hash = "4297f44b13955235245b2497399d7a93" {global.result = "123123"      ;global.passcrack = true  ;}
if global.hash = "ed2b1f468c5f915f3f1cf75d7068baae" {global.result = "12341234"    ;global.passcrack = true  ;}
if global.hash = "ba86f2bbe107c7c57eb5f2690775c712" {global.result = "ubnt"  ;global.passcrack = true  ;}
Essa variavel global.hash, já está definida pelo usuário.
Então, quero verificar se a global.hash que o user digitou tem em alguma parte desse arquivo.txt!
E se for igual a do arquivo.txt vai transformar a global.result em outra, no caso a que for da hash.

Pode demorar bastante tempo. mas o importante é que ele procure a global.hash no arquivo.txt

avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: [Dúvida] Como ler arquivo txt,e executar como gml?

em Qui 06 Jun 2013, 14:53
Normalmente, colocar códigos GML diretamente num arquivo, não é uma boa idéia. Mas percebi que é um tipo de banco de dados. Então, você pode, numa engine separada no GM, criar uma ds_map com esses valores, colocar num arquivo de texto, pra então ler com a sua engine do seu programa (que já sei o que está tentando fazer, hehe).

Use ds_map_write e ds_map_read pra essas coisas. Dê uma olhada no manual.

Até mais
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Dúvida] Como ler arquivo txt,e executar como gml?

em Qui 06 Jun 2013, 15:21
Use execute_file('nomedoarquivo.txt', 0).

Não precisa de mais nada. Mas será lento.
avatar
Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://www.djurielrn.blogspot.com

Re: [Dúvida] Como ler arquivo txt,e executar como gml?

em Qui 06 Jun 2013, 20:39
@luiz_eldorado escreveu: Normalmente, colocar códigos GML diretamente num arquivo, não é uma boa idéia. Mas percebi que é um tipo de banco de dados. Então, você pode, numa engine separada no GM, criar uma ds_map com esses valores, colocar num arquivo de texto, pra então ler com a sua engine do seu programa (que já sei o que está tentando fazer, hehe).

Use ds_map_write e ds_map_read pra essas coisas. Dê uma olhada no manual.

Até mais

Ae Luiz, me ensina esse macete do ds_map.
Acho que eu preciso disso mesmo.
Tem como eu identificar por espaços?
Por exemplo, no arquivo.txt teria
Código:

var1 valor valor2 valor3
var2 valor valor2 valor3
var3 valor valor2 valor3
Então eu queria q o game maker entendesse que
teria a var e na frente dela teria o valor dela.
Ou pode dividir por ; ou , tanto faz...
Por exemplo
Código:

var1,valor,valor2,valor3
var2,valor,valor2,valor3
var3,valor,valor2,valor3

@PedroX escreveu:Use execute_file('nomedoarquivo.txt', 0).

Não precisa de mais nada. Mas será lento.

Vou dá uma olhadinha, mas acho que o metodo do Luiz caíria bem, vocês podem me ajudar com ds_map?

EDIT

O método do PedroX deu certo!
Mas a mameira de divisões cairia melhor!
De toda forma agradeço a todos vocês pela a ajuda!
Se alguém souber de DS_MAP me ajudem Very Happy
Obrigado gente
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: [Dúvida] Como ler arquivo txt,e executar como gml?

em Sex 07 Jun 2013, 12:02
Depois de alguns anos de trabalho, consegui fazer um editor de ds_maps! Dê uma olhada nos códigos dele, você pode entender muito sobre ds_maps ;)

https://dl.dropboxusercontent.com/u/69176739/Edit%C3%A1veis/editardsmaps.gmk

(PS: só a parte de desenhar a ds_map na tela é que foi complicada...)

Até mais
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