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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 12/02/2011
Número de Mensagens : 95
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2
Ver perfil do usuáriohttp://ganelse.blogspot.com.br/

[DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 01:48
Ola pessoal! De volta apos um longo periodo trancafiado estudando para provas! Ainda preciso resolver algumas pendencias aqui (verificar meus tópicos antigos). Enfin estava dando uma olhada e tentando aprender alguma coisa nova aqui no fórum e pintou uma duvida.

Bom gostaria de saber se tem como usar um arquivo externo dentro de um arquivo.zip? Dentro mesmo sem extrair nada. Utilizei as dicas desse tópico aqui para tentar fazer isso no meu sistema de load:

http://gmbr.forumeiros.com/t16009-gm-ler-som-de-um-arquivo-rar

Criei uma pasta chamada diretorio somente para guardar os arquivos. Dentro dessa pasta está o executavel do meu jogo que chamarei de "jogo" e um sprite. Esse sprite eu salvei pelo proprio game maker virando assim um arquivo gmspr eu nomiei de image

image.gmspr

Ok! então, utilizando o WinZip eu zipei o arquivo image.gmspr chamando ele de data.zip e adicionei uma senha de segurança "123"

Adicionei a extenção GM LIBRARY para poder ter acesso aos comando do game maker referente a arquivos zip como por exemplo os comando zip_open, zip_close, etc.

Bom, ai é que tá. No meu sistema de load eu utilizo o comando sprite_replace_sprite que substitui um sprite dentro do executalvel para um arquivo externo. Assim

sprite_replace_sprite(spr_image,"image.gmspr");

Só que eu queria fazer isso com o arquivo image.gmspr que está dentro do arquivo data.zip. Sera que tem como????

Eu tentei fazer assim

zip_open("data.zip","123");
sprite_replace_sprite(spr_image,"data.zip/image.gmspr");

Só que não deu certo pq esse não é o caminho da imagem dentro do arquivo zip. =/

Bom queria saber se tem a possibilidade poder fazer isso pois se der certo daria para criar um sistema de load muito facil de usar e de malipular e muito mais seguro podendo até mesmo utilizar um truque de substituir uma extenção para esconder um arquivo, por exempo:

No WinZip antes de vc finalizar o processo, subistitua o nome do arquivo com a extenção que desejar. Assim o arquivo ficará com outra extenção mais ainda sera um zip exemplo

Data.pak

Assim se por acaso alguem substituir o nome .pak por .zip ele descobrirá o arquivo porem não irá conseguir entrar nele pois ainda terá uma senha de segurança onde só o executavel do jogo entrará!

avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 11/01/2010
Número de Mensagens : 99
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: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 08:49
cara nao conheço muito mas acho q vc deve usar algum dll de manipulaçao de zip
avatar
Data de inscrição : 12/02/2011
Número de Mensagens : 95
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2
Ver perfil do usuáriohttp://ganelse.blogspot.com.br/

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 11:49
Sei sei, já pesquisei sobre uma dll que utilizam para usar arquivos zip mas acho que a GMLibrary faz a mesma coisa. De acordo com os tesrte que eu to fazendo aqui o game maker está realmente abrindo os arquivos zipados lol
Agora só falta utilizar eles no game #-#
avatar
Ranking : Nota E
Notas recebidas : E
Data de inscrição : 14/02/2011
Número de Mensagens : 396
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://planetaanalisandogames.blogspot.com/

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 12:10
Pelo que eu sei, o sprite add suporta apenas jpg e gif. Vai ter que dar um jeito de converter.

Código:
file=zip_open("data.zip","123"); //Abre o ZIP
zip_extract_name(file,"image.gif"); //Extrai o sprite
sprite=sprite_add("image.gif",0,0,0,0,0); //Adiciona o sprite na memória
sprite_replace_sprite(spr_image,sprite); //Substitui o sprite
file_delete("image.gif") //Deleta o sprite do disco rígido (não do ZIP)
zip_close(file); //Fecha o zip para não haver problemas
avatar
Data de inscrição : 12/02/2011
Número de Mensagens : 95
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2
Ver perfil do usuáriohttp://ganelse.blogspot.com.br/

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 12:39
Ummm entendi talves seja por isso que não aparece nenhuma image. U-U
Mas no caso então não tem como utilizar a image dentro do zip teria que extrair ele então?
avatar
Ranking : Nota E
Notas recebidas : E
Data de inscrição : 14/02/2011
Número de Mensagens : 396
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://planetaanalisandogames.blogspot.com/

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 13:03
adriano Heartleless escreveu:Ummm entendi talves seja por isso que não aparece nenhuma image. U-U
Mas no caso então não tem como utilizar a image dentro do zip teria que extrair ele então?
Aquele código extrai do zip.
avatar
Data de inscrição : 12/02/2011
Número de Mensagens : 95
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2
Ver perfil do usuáriohttp://ganelse.blogspot.com.br/

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 13:44
uhmm é que realmente usar arquivos externos causa muito risco pois qualquer pessoa pode abrir e editar o jogo. Utilizei o modo gmspr salvando os sprites pois pelo menos esses arquivos não seram vistos por pessoas que nunca viram o game maker então acho que é a forma mais segura.

Estava pesquisando aqui algo sobre arquivos PAK alguem já viu falar? Sera que o game maker consegue usar esse arquvio?

Pelo que entendi o arquivo PAK é usado em varios jogos profissionais como Spider-Man- Shattered Dimensions. São arquivos iguais a arquivos zip. Ou seja dentro dele tem varios arquivos que somente o jogo pode abrir e usuarios normais não tem acesso deixando o diretorio do jogo mais organizado e mais seguro. De fato até agora acho que a unica forma é usando arquivos gmspr mesmo >.<
avatar
Ranking : Nota E
Notas recebidas : E
Data de inscrição : 14/02/2011
Número de Mensagens : 396
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://planetaanalisandogames.blogspot.com/

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 13:48
adriano Heartleless escreveu:uhmm é que realmente usar arquivos externos causa muito risco pois qualquer pessoa pode abrir e editar o jogo. Utilizei o modo gmspr salvando os sprites pois pelo menos esses arquivos não seram vistos por pessoas que nunca viram o game maker então acho que é a forma mais segura.

Estava pesquisando aqui algo sobre arquivos PAK alguem já viu falar? Sera que o game maker consegue usar esse arquvio?

Pelo que entendi o arquivo PAK é usado em varios jogos profissionais como Spider-Man- Shattered Dimensions. São arquivos iguais a arquivos zip. Ou seja dentro dele tem varios arquivos que somente o jogo pode abrir e usuarios normais não tem acesso deixando o diretorio do jogo mais organizado e mais seguro. De fato até agora acho que a unica forma é usando arquivos gmspr mesmo >.<

Você pode usar a função file_rename. Primeiro, renomeie o ZIP para pak. Crie um objeto e coloque em todas as rooms.

Game Start:
Código:

file_rename("data.pak","data.zip")

Game End:

Código:
file_rename("data.zip","data.pak")
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: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 14:02
Não sei se vai funcionar mas talvez ele pode abrir o arquivo .zip sem ser .zip!

Algo assim!
Código:
file=zip_open("data.pak","123"); //Abre o ZIP

Deve funcionar se o arquivo for .zip e renomeado para .pak como o Supersonic933 falou!

...
avatar
Data de inscrição : 12/02/2011
Número de Mensagens : 95
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2
Ver perfil do usuáriohttp://ganelse.blogspot.com.br/

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 18:00
Realmente da certo ricaun o game maker reconhece que é arquivo zip lol
e também da certo fazendo o que o Supersonic933 disse eu posso renomear o arquivo . Tipo funcionou até com arquivos gmspr do game maker lol
eu renomiei na pasta para image.pak
e coloquei:

sprite_replace_sprite(spr_image,"image.pak") e funcionou o.O

É dessa forma fica um pouco mais segura lol
sobre o zip ainda estou tentando e extranho pq depois que ele extrai o arquivo não continua o de jeito nenhum eu to fazendo dessa forma:

no create do objeto controle eu coloquei
Código:

file=zip_open("data.pak","123"); //abre o arquivo o pak na verdade é um zip
zip_extract_name(file,"image.pak"); // esse pak é um arquivo gmspr
zip_close(file);
sprite_replace_sprite(spr_image,"image.pak")



ai no final do game (game end) eu coloquei pra deletar os arquivos que foram extraidos

file_delete(image.pak)



Só que travaq quando passa para room que está sendo utilizada o sprite e também algo estranho acontence quando vou dar load no arquivo gmspr aparece um erro dizendo assim "stream read erro" estranho não? o.O
avatar
Ranking : Nota E
Notas recebidas : E
Data de inscrição : 14/02/2011
Número de Mensagens : 396
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://planetaanalisandogames.blogspot.com/

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

em Dom 26 Jun 2011, 18:08
adriano Heartleless escreveu:
Código:

file=zip_open("data.pak","123"); //abre o arquivo o pak na verdade é um zip
zip_extract_name(file,"image.pak"); // esse pak é um arquivo gmspr
zip_close(file);
sprite_replace_sprite(spr_image,"image.pak")
Aí está o problema. Se colocar o zip_close antes, dá erro. Outra coisa: Pra que excluir os arquivos no final do game se os arquivos já estão na memória? Deleta o game end e coloque no create do objeto para consertar os erros:

file=zip_open("data.pak","123"); //abre o arquivo o pak na verdade é um zip
zip_extract_name(file,"image.pak"); // esse pak é um arquivo gmspr
sprite_replace_sprite(spr_image,"image.pak")
file_delete(image.pak)
zip_close(file);
Conteúdo patrocinado

Re: [DUVIDA] Manipulando arquivos externos em arquivo ZIP

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