GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03

» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» 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


mapas externos, quests, batalhas e banco de dados

+4
Jiraya
moisesBR
saim
Isaque Onix
8 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty mapas externos, quests, batalhas e banco de dados

Mensagem por Isaque Onix Ter 11 Set 2012, 09:17

Olá amigos do gmk (sei q vcs devem estar pensando ' De Novo...' rs) gostaria de saber se voces podem me ajudar com isso:

1,2: como fazer mapas externos, no meu projeto, pretendo fazer atualizações então pretendo deixar os mapas, as quests e as lojas em arquivos externos, alguem pode me dar uma ideia de como isso funciona?

3: batalhas... sei como fazer as batalhas em si, mais não sei guardar com quem estou lutando. quero fazer mais ou menos tipo a do AQWorlds (aq.com) quem estiver na sala e acertou o monstro recebe os 'pontos'.

4: o mais difícil, meu PC é uma merda 'Desculpem a expressão' então não posso deixar o banco de dados nele. auguem conhece um tutorial que ensine a fazer um banco de dados de outra forma?

Grato desde já.
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por saim Ter 11 Set 2012, 10:13

1,2: Como tudo, tem muitas formas. Uma que eu gosto é usar arquivos de texto ou .ini. Você cria um programinha à parte, com o propósito de exportar o mapa pra ser reimportado pelo jogo. Nesse programinha, você define quais objetos poderão ser importados pro mapa, em que alinhamento eles estarão (se é que haverá um alinhamento), etc. Daí, coloca um evento especial, onde um controlador sai pegando tudo quanto é objeto e gravando seus nomes e suas coordenadas no arquivo. Em cada linha, uma coordenada em x, uma coordenada em y e um nome de objeto. No jogo mesmo, você cria uma rotina pra importar esses dados.

Enquanto escrevia, percebi que isso pode ser feito com uma ds_grid, também. As data structures têm rotinas pra transformá-las em texto criptografado, sem que você se preocupe com isso.

4: Olha, se o problema é espaço, não tem muito com o que se preocupar. Esses arquivos são muito pequenos. Agora, se você está com medo de dar pau e perder tudo, o lance é fazer back-ups. Pendrives, sites de armazenamento, CDs, etc. Se seu computador é tão ruim, ele deve ser velho. Talvez ele até tenha uma entrada pra disquetes...
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Isaque Onix Ter 11 Set 2012, 10:33

haha, num e espaço naum, meu pc desfaz todos arquivos e pastas transformando em (.atl) que eu nem sei oque é

e esse programinha, tem algum tutorial? :/
obrigado Smile
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por saim Ter 11 Set 2012, 11:00

Diz na google ".atl" que é uma extensão associada ao "assembler", que não conheço. Estranho mesmo, o comportamento da sua máquina. Na minha terra, em casos como esse, a gente usa um método muito sutil chamado "formatar a máquina". Os resultados variam.

Quanto ao tutorial, propriamente dito, não tenho um... principalmente porque acredito que pra cada função, um programa diferente se faz necessário, ou seja, você mesmo tem que criar seu programa com base naquilo que quer como resultado.
De qualquer forma, não acho realmente necessário um tutorial. Se você sabe lidar com arquivos externos (abrir, ler e interpretar as informações), o resto é só trabalho braçal.
Nesse programa, você precisa mesmo é saber como enfiar os objetos no mapa. Isso pode ser feito via mouse ou teclado, aleatoriamente, alinhado a uma grid, rotacionado, com variáveis diferentes pra cada objeto...
Eu posso te ajudar a criar seu programa, mas ter algo assim, uma receita pra ser seguida, acho que não vai ser fácil encontrar.
Hm... será que dá pra fazer uma engine assim, mais genérica?
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Isaque Onix Ter 11 Set 2012, 11:50

bom eu não sou muito bom com arquivos externos n mesmo depois de ler seu tuto sobre eles a um tempinho atraz :/ mais agradeceria muito se vc me ajudasse Smile

[edit]
e sobre o 'formatar' eu não tenho paciencia e nem o cd do windows aki :/
e eu achava q '.atl' era de atalho
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por saim Ter 11 Set 2012, 13:15

Eu não tenho um tutorial sobre arquivos externos... Tenho um tutorial que usa eles (o game genérico), mas não que ensine a usá-los.
Como eu disse, não tem muito mistério, basta colocar no arquivo as informações que você quer que sejam carregadas. Pra te ajudar, eu preciso saber quais as restrições você quer impor ao seu mapa (se é que quer por alguma) e que informações precisam ser passadas (se é só nome de objeto e coordenada, se ainda tem mais alguma coisa).

Como o programa que vai passar as informações pro game é só pra uso seu, ele não precisa de uma interface bonita nem de jogabilidade muito trabalhada, fica mole fazer.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Isaque Onix Ter 11 Set 2012, 13:45

bom, eu gostaria de fazer o seguinte: armazenar todos os tiles(como sprites) em um unico arquivo, no caso ao fazer o mapa deveria definir o depth, image_index, e solid.
tem como?
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por saim Ter 11 Set 2012, 14:54

Espere... você quer um mapa de objetos ou uma background de tiles?
É que os tiles não têm essas propriedades. Da forma que você descreve, parece que você quer mesmo é gerar uma única imagem de fundo, pra ser usada como background. Aí, a abordagem seria diferente.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Isaque Onix Ter 11 Set 2012, 18:11

com objetos, desculpe se me expressei mal, mais é que algumas partes do mapa devem parar o player...
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por moisesBR Ter 11 Set 2012, 23:22

Background colizion... Eu tentei. É canseira! Fiz e o game ficou pesado tinha que usar um backgound como sprite no tamanho da roome só com as linhas e bugs!!!!!

Melhor mesmo é objetos invisíveis.
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Isaque Onix Qua 12 Set 2012, 05:02

Sad tava achando q seria uma boa... vlw a dica


[edit]
mais mesmo assim, da pra fazer o tal programa? não sou muito bom em tilesets em codigos, so consigo trabalhar com eles diretamente na room :/
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por saim Qua 12 Set 2012, 09:33

Bom, agora eu já me perdi quanto ao que você quer, efetivamente... vou tentar te direcionar pra opção de inserir objetos na posição correta, se não for isso, a gente adapta depois. Me parece a opção mais simples.

Bom, faça um programa com todos os objetos que você quer que sejam importados, só que sem ação nenhuma (pra garantir que eles não se movam durante o decorrer do programa). O que importa mesmo é que eles tenham a mesma sprite e o mesmo nome dos objetos do jogo. Ah, se eles puderem ser childs de um objeto só, facilita muito! Não precisa fazer isso no jogo, só no programa de exportar mapas. Vou chamar esse parent de todos de "objMapaParent".
Adicione um objeto chamado... deixa ver... "objGravaMapa". Nesse objeto, você coloca um evento, digamos, "apertar enter" ou "apertar espaço" ou sei lá. Um evento que você saiba como chamar.

Agora, nesse evento, você coloca os códigos pra gravar no arquivo externo as informações do mapa. Vou usar uma ds_grid, porque eu acho mais fácil, mas você pode usar arquivos de texto ou .ini ou sequencias de ds_lists, pode fazer do jeito que achar melhor. Deixa eu dar um exemplo do que eu estou pensando pro evento:
Código:

var gridMapa, i, STRING, ARQUIVO;
gridMapa = ds_grid_create(3, instance_number(objMapaParent)); // 3 colunas, tantas linhas quantas instâncias
i = 0;
with(objMapaParent){
   ds_grid_set(gridMapa, 0, i, x); //coloca a coordenada "x" na primeira coluna
   ds_grid_set(gridMapa, 1, i, y); //coloca a coordenada "y" na segunda coluna
   ds_grid_set(gridMapa, 2, i, object_get_name(id)); // coloca o nome na terceira coluna
   i += 1; // passa pra próxima linha
   }
STRING = ds_grid_write(gridMapa); // grava a ds_grid numa string
ARQUIVO = file_text_open_write("mapa.map"); //cria um arquivo (de texto) e abre ele pra escrever
file_text_write_string(ARQUIVO, STRING); // escreve a ds_grid no arquivo de texto
file_text_close(ARQUIVO); //fecha o arquivo
ds_grid_destroy(gridMapa); //elimina a ds_grid, que não é mais útil

Pronto, você já tem um arquivo com o mapa que desenhou usando o editor de fases do game maker. Se você abrir o arquivo (usando o bloco de notas do windows mesmo), vai ver um monte de números sem sentido. Eu suponho que seja alguma rotina de criptografia que o game maker use, pra não ser possível editar diretamente o conteúdo do arquivo. Pra ser sincero, nunca me preocupei muito com o significado desse texto, contanto que a grid seja passada pra string sem perda de conteúdo.

Mas você ainda precisa IMPORTAR esse mapa no jogo, certo? Pra isso, agora no jogo, você vai criar um novo objeto pra importar o mapa. Na room que ele precisa importar o mapa, você vai colocar só ele. E no create dele, vai colocar uma rotina que abre o arquivo, cria os objetos e, por fim, se auto-destrói. Uma sugestão de rotina:
Código:

var ARQUIVO, STRING;
ARQUIVO = file_text_open_read("mapa.map"); // abre o arquivo já salvo
STRING = file_text_read_string(ARQUIVO); // lê a única linha do arquivo e salva ela numa variável
file_text_close(ARQUIVO); // fecha o arquivo, não precisamos mais dele

var gridMapa, xx, yy, nome;
gridMapa = ds_grid_create(0, 0); // cria uma grid de tamanho nulo
ds_grid_read(gridMapa, STRING); // lê a string, transformando-a de volta numa grid e redimensionando a grid
for(i = 0; i < ds_grid_height(gridMapa); i += 1){
   xx = ds_grid_get(gridMapa, 0, i); // recupera a coordenada X
   yy = ds_grid_get(gridMapa, 1, i); // recupera a coordenada Y
   nome = ds_grid_get(gridMapa, 2, i); // recupera o nome
   instance_create(xx, yy, nome);
   }
ds_grid_destroy(gridMapa); //elimina a ds_grid, que não é mais útil

Ainda não tenho muita certeza é se usar o nome como uma string (obtida em "object_get_name") poderia dar problema...
Mas mesmo que der, sempre tem soluções. Você pode, por exemplo, criar uma array global de objetos nos dois programas e gravar o índice da array, e não o nome do objeto, na grid.

Enfim, é só uma idéia. Eu fiz um teste aqui, gravando o índice do objeto ao invés do nome, e funcionou numa boa, mas ter o mesmo índice de objetos nos dois programas é muito difícil. Enfim, a engine de exportar as informações está aí, agora é dar um jeito de interpretar essas informações.

Edit: mudei um pouco o código, pra usar essa idéia das arrays de objetos. Fica assim:
Spoiler:


Última edição por saim em Qui 13 Set 2012, 08:50, editado 2 vez(es)
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Jiraya Qua 12 Set 2012, 10:01

eu estou usando o seguinte código para salvar minhas rooms em um arquivo de texto

Código:

var buff,count,List;count=0;buff="";List=ds_list_create();
for(i=0;i<1024;i+=1;)
{t=10000000+i;
if(tile_exists(t)){
count+=1;bg=tile_get_background(t);
if(ds_list_find_index(List,bg)==-1)ds_list_add(List,bg);
buff+=string(bg)+" "+string(tile_get_left(t))+" "+string(tile_get_top(t))+" "+string(tile_get_width(t))+" "+string(tile_get_height(t))+" "+string(tile_get_x(t))+" "+string(tile_get_y(t))+" "+string(tile_get_depth(t))+"
";}}
buff=string(count)+"
"+buff;
buff2=string(ds_list_size(List))+"
";
for(i=ds_list_size(List);i;i-=1;)
{fname=filename_change_ext(argument0,"")+"_TILE"+string(i)+".png";name=filename_name(fname);
buff2+=name+"
"+room_caption+" "+string(room_width)+" "+string(room_height)+" "+string(view_wview)+" "+string(view_hview)+" "+string(view_wport)+" "+string(view_hport)+" "+string(background_color)+" "+string(background_index)+"
";background_save(ds_list_find_value(List,i),fname);};
ds_list_destroy(List);
buff=buff2+buff;
buff2="";
buff+=string(instance_count)+"
";
for(i=0;i<instance_count;i+=1;)
{o=instance_find(all,i);
if(o.object_index==System)continue;
buff+=string(o.object_index)+" "+string(o.x)+" "+string(o.y)+"
";};
file_open_write(argument0);
file_write_string(buff);
file_close();

e para carregar eu uso
Código:

if(!file_exists(argument0))return(0);
file_open_read(argument0);
chunk[0]=file_read_real();file_readln();
sizei=0;
buff[sizei]="";
repeat(chunk[0])
{
buff[sizei]=background_add(file_read_string(),0,0)file_readln();
sizei+=1;
}

match(file_read_string());file_readln();
room_caption=array[0];room_set_width(room,real(array[1]));room_set_height(room,real(array[2]));
view_wview=real(array[3]);view_hview=real(array[4]);view_wport=real(array[5]);view_hport=real(array[6]);
background_color=real(array[7]);background_index=array[8];

chunk[1]=file_read_real();file_readln();
INT=0;
repeat chunk[1]
{
match(file_read_string());file_readln();
tile_add(buff[real(array[0])],real(array[1]),real(array[2]),real(array[3]),real(array[4]),real(array[5]),real(array[6]),real(array[7]))
}
chunk[2]=file_read_real();file_readln();
repeat chunk[2]
{
match(file_read_string(),1);file_readln();
instance_create(real(array[1]),real(array[2]),real(array[0]));
}
file_close();

e uso esse pequeno script para fazer uma espécie de split na string
Código:

var c,m,mbuff,msize;mbuff="";msize=0;argument0+="  ";
for(m=1;m<string_length(argument0);m+=1;)
{c=string_char_at(argument0,m);
if(c!=" ")mbuff+=c;else{array[msize]=mbuff;mbuff="";msize+=1;}
}
return(msize);

monto a room normalmente, depois executo o primeiro código, e apago a room do game maker, então eu apenas carro ela depois.

Jiraya
Jiraya

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 20/03/2010
Reputação : 108
Número de Mensagens : 1134
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

https://www.facebook.com/seito.washiro.7

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por kadini Qua 12 Set 2012, 10:32

isso é estramamente interessante não sabia que dava para fazer no GM.

Uma duvia eu querio um jogo e depois quero atualizar os mapas basta fazer este sistema para atualizar, e deponibilizar o ficheiro de texto para download, mas no jogo ele tinha de ter um sistema para adicionar mapas automaticamente, com uma fase respetiva, isso é possivel??

EDIT:

seria muito interessante criarem uma engine ou um tutorial sobre isto, pois penso que poucos sabem fazer isso....

kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Isaque Onix Qua 12 Set 2012, 11:05

ok, vou tentar aqui e de noite eu aviso oque deu Smile obrigado ae


[edit]
Sain, fiz exatamente oque vc disse e deu serto só tenho q adaptar no jogo...

jiraya, desculpe não ter respondido mais sedo, mais meu irmão tava enchendo o saco e tive q sair as pressas... mais será que você poderia explicar o codigo? coloquei num script e acusou um erro, mais são tantas funções que nem sabia oque fazer XD

ps: se tiverem respostas pras outras por favor ajudem
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por saim Qui 13 Set 2012, 12:01

Verdade, Jiraya. Por um lado, parece que você escreveu da sua cabeça, já que algumas funções estão erradas (file_read_real ao invés de file_text_read_real, por exemplo), por outro existem funções que parecem ser scripts seus (o "match" não foi encontrado no manual), ou seja, você teria copiado esses códigos de uma engine funcional.
Tem uma terceira hipótese. Trata-se de um código funcional, mas não em gml.

Em todas as hipóteses, eu gostaria de ver os códigos comentados. Por favor.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Jiraya Qui 13 Set 2012, 12:31

desculpe-me pelo descuido

crie um script com o seguinte nome
room_save
e coloque isso la
Código:

var buff,count,List;count=0;buff="";List=ds_list_create();
for(i=0;i<1024;i+=1;)//procura por todas tiles num raio de 1k
{t=10000000+i;//como todas tiles tem o id padrão 10000000 então qualquer valor acima refere-se a uma tile
if(tile_exists(t)){//se a tile existir
//registra ela no buff...
count+=1;bg=tile_get_background(t);
if(ds_list_find_index(List,bg)==-1)ds_list_add(List,bg);
buff+=string(bg)+" "+string(tile_get_left(t))+" "+string(tile_get_top(t))+" "+string(tile_get_width(t))+" "+string(tile_get_height(t))+" "+string(tile_get_x(t))+" "+string(tile_get_y(t))+" "+string(tile_get_depth(t))+"
";}}
buff=string(count)+"
"+buff;
buff2=string(ds_list_size(List))+"
";
//cria a lista de backgrounds usados nas tiles
for(i=ds_list_size(List);i;i-=1;)
{fname=filename_change_ext(argument0,"")+"_TILE"+string(i)+".png";name=filename_name(fname);
buff2+=name+"
"+room_caption+" "+string(room_width)+" "+string(room_height)+" "+string(view_wview)+" "+string(view_hview)+" "+string(view_wport)+" "+string(view_hport)+" "+string(background_color)+" "+string(background_index)+"
";background_save(ds_list_find_value(List,i),fname);};
ds_list_destroy(List);
buff=buff2+buff;
buff2="";
buff+=string(instance_count)+"
";
//e por ultimo os objetos
for(i=0;i<instance_count;i+=1;)
{o=instance_find(all,i);
buff+=string(o.object_index)+" "+string(o.x)+" "+string(o.y)+"
";};
file_open_write(argument0);
file_write_string(buff);
file_close();

crie um script chamado "match", funcionará como um split de js
coloque isso la
Código:

var c,m,mbuff,msize;mbuff="";msize=0;argument0+="  ";
for(m=1;m<string_length(argument0);m+=1;)
{c=string_char_at(argument0,m);
if(c!=" ")mbuff+=c;else{array[msize]=mbuff;mbuff="";msize+=1;}
}
return(msize);

e para carregar
crie um script chamado "load_room"
e coloque isso la
Código:

if(!file_exists(argument0))return(0);
file_open_read(argument0);
chunk[0]=file_read_real();file_readln();//lê a primeira informação como numero de recursos utilizados
sizei=0;
buff[sizei]="";
repeat(chunk[0])
{
buff[sizei]=background_add(file_read_string(),0,0)file_readln();//então add os backgrounds
sizei+=1;
}
//separa os valores da string em partes e armazena numa "array" interna
match(file_read_string());file_readln();
//atualiza as propriedades da room
room_caption=array[0];room_set_width(room,real(array[1]));room_set_height(room,real(array[2]));
view_wview=real(array[3]);view_hview=real(array[4]);view_wport=real(array[5]);view_hport=real(array[6]);
background_color=real(array[7]);background_index=array[8];

chunk[1]=file_read_real();file_readln();//lê o numero de tiles
INT=0;
repeat chunk[1]
{
//separa as informações sobre as coordenadas da tile em uma array
match(file_read_string());file_readln();
tile_add(buff[real(array[0])],real(array[1]),real(array[2]),real(array[3]),real(array[4]),real(array[5]),real(array[6]),real(array[7]))
}
chunk[2]=file_read_real();file_readln();//le o numero de objetos
repeat chunk[2]
{
match(file_read_string(),1);file_readln();//separa as informações numa array
instance_create(real(array[1]),real(array[2]),real(array[0]));
}
file_close();


para usar é bem simples
monte sua room normalmente, depois que estiver pronta, add esse código no creation code da room
save_room("mapa.txt");

e então execute
quando o arquivo de texto for criado
crie outra room sem absolutamente nada
e coloque apenas o seguinte código no creation code dela
load_room("mapa.txt");


Última edição por Jiraya em Dom 16 Set 2012, 17:39, editado 1 vez(es)
Jiraya
Jiraya

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 20/03/2010
Reputação : 108
Número de Mensagens : 1134
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

https://www.facebook.com/seito.washiro.7

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por luiz_eldorado Qui 13 Set 2012, 19:06

OBS:
saim escreveu:Por um lado, parece que você escreveu da sua cabeça, já que algumas funções estão erradas (file_read_real ao invés de file_text_read_real, por exemplo)
Na verdade estas funções existem sim, só que estão ocultas (foi o próprio Jiraya que disse). Que eu me lembre, elas são mais rápidas, porém menos seguras. Mas acho que só não deletaram por questão de compatibilidade.
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

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

http://luizpontes.tk/

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por saim Sex 14 Set 2012, 08:34

Agora eu estou QUASE entendendo os scripts... Ainda preciso testar pra ver o resultado (e aprender a usar tiles. Acredita que nunca usei tiles?).

Quanto às funções... sério? Não sabia disso. O que quer dizer "menos seguras"? Quer dizer que elas seriam aceitas (sem funcionar adequadamente) em outros tipos de arquivo, por exemplo?
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por kadini Sáb 15 Set 2012, 13:20

tentei executar o script do jiraya mas dá o erro que não reconhece a variavel System, alguem testou???
kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : mapas externos, quests, batalhas e banco de dados Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

mapas externos, quests, batalhas e banco de dados Empty Re: mapas externos, quests, batalhas e banco de dados

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos