Reiniciar a room com inimigos já mortos mais não com os itens coletados

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

Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por Yure Colares em Sex 09 Nov 2012, 00:27

Estou com uma dúvida, e creio que é simples de resolver mais ainda não achei a solução...
Estou fazendo um jogo de plataforma que os inimigos morrem ao pularmos em cima deles.
Existe itens (ouro) para se coletar no decorrer da fase como os RINGS no jogo do Sonic.
Queria saber como fazer para quando eu morrer uma vida e reiniciar a Room, os itens (ouro) que eu já tiver coletado na vida anterior não mais aparecerem na Room para serem coletados novamente e os INIMIGOS que eu já tiver matado voltarem normalmente na Room?

Yure Colares

Número de Mensagens : 6
Data de inscrição : 24/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por superrafao em Sex 09 Nov 2012, 00:39

Voce pode fazer com que o player apareça novamente onde ele começou ao invez de reiniciar a room!
Ou nem isso você sabe ainda? '-'

superrafao

Número de Mensagens : 414
Idade : 20
Data de inscrição : 18/08/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por andrewsnycollas em Sex 09 Nov 2012, 05:57

Duas soluções:
1 - Variáveis de controle e condicionais.
2 - Transporta o player pro inicio e faz os monstros renascerem. Bem simples. Em vez do jogador matar os monstros ele os desativa e em vez de matar o jogador você o leva para o inicio da room e faz os monstros reativarem.

andrewsnycollas

Número de Mensagens : 25
Idade : 26
Data de inscrição : 27/07/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://andrewsnycollas.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por Alex FC em Sex 09 Nov 2012, 09:31

Simples. Basta criar uma "Lista negra" de objetos.

No e evento Other>Game Start do objeto controle (Se não existir, crie um. Ou pode ser também um objeto que sempre esteja na room, mas nunca é destruído no decorrer do jogo):

Código:
//Cria lista negra
global.ouro_list=ds_list_create()
No evento Destroy do objeto ouro:
Código:
//Adiciona a ID da instância desse objeto na lista
ds_list_add(global.ouro_list,id)
No evento Other>Room Start do objeto controle:
Código:
//Verifica quem da lista está na room e os deleta
for (ii=0 ii<ds_list_size(global.ouro_list)-1 ii+=1)
{
with(ds_list_find_value(global.ouro_list,ii)){instance_destroy()}
}

Recomendo que não use transições de tela, pois os objetos vão estar todos na room no primeiro momento. E só após o término da transição os objetos da lista serão deletados.

Ah, e caso quiser adicionar mais algum objeto à lista (Ex: prata), basta copiar o código do evento Destroy para o objeto desejado.

Alguns links que podem te ajudar a entender alguns dos códigos:

DS LISTS

Aula 6 - Introdução à GML

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por Yure Colares em Sex 09 Nov 2012, 10:23

Por hora, agradeço a todos que responderam! Vou analisar e testar qual o melhor meio de fazer o que eu queria baseado nas suas respostas. Esse é meu primeiro jogo e tambem a primeira vez que participo desse fórum com pergunta, GRATO A TODOS e viva o Game Maker!

Yure Colares

Número de Mensagens : 6
Data de inscrição : 24/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por theguitarmester em Sex 09 Nov 2012, 10:48

Muito boa a Sua explicação de AlexFC, eu que não entendo muito sobre ds_list estou começando a entender(quando precisava usava Arrays), mas arrays não tem Funções igual ds_list, vou dar uma olhada no Link para ver se aprendo.

Yure Colares, o Sistema do Alex FC aparentemente Funcionará Perfeitamente.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por Yure Colares em Sex 09 Nov 2012, 15:01

Alô "superrafao"! Se eu fizer como você sugeriu, os inimigos que eu já matei não mais retornarão à Room e é justamente isso que não quero!
Usei como você disse o "Jump to Start" no meu Objeto Player ao invés do "Restart Room" e os inimigos somem para sempre.

Yure Colares

Número de Mensagens : 6
Data de inscrição : 24/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por willcraft2 em Sex 09 Nov 2012, 15:10

Colaca
Código:

if object_exists(obj_inimigo)//se objeto inimigo existir
{
}//Nada aconteçe
else//Se não
{
room_restart()//Sala reinicia.
}

Espero ter ajudado.

willcraft2

Ranking : Nota D
Número de Mensagens : 682
Idade : 16
Data de inscrição : 06/04/2012
Notas recebidas : D + D
Reputação : 42
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por superrafao em Sex 09 Nov 2012, 15:25

ah ta, eu fis certo o que voce queria então. So que ao contrario né? kkkk
Desculpe.
Acho que o room_restart resolve '-' já que ele fas com que o room fique como antes (ou não)

superrafao

Número de Mensagens : 414
Idade : 20
Data de inscrição : 18/08/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por theguitarmester em Sex 09 Nov 2012, 15:38

Colaca

Code:

if object_exists(obj_inimigo)//se objeto inimigo existir
{
}//Nada aconteçe
else//Se não
{
room_restart()//Sala reinicia.
}



Espero ter ajudado.
? não tem haver com a Pergunta.

ah ta, eu fis certo o que voce queria então. So que ao contrario né? kkkk
Desculpe.
Acho que o room_restart resolve '-' já que ele fas com que o room fique como antes (ou não)
Não, porque os Ouros tambem iriam voltar.

Yure Colares, tente entender o Código do Alex FC, e se após isso não consiguir, peça uma Engine Aqui: http://gmbr.forumeiros.com/t23722p15-quem-quer-uma-engine-e-de-que ou no tópico mesmo.
Mas o código dele resolve o Que Queres.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por Yure Colares em Sex 09 Nov 2012, 16:14

Alô galera! Ainda não encontrei solução... Vou ser mais claro. O meu Objeto Player quando morre, se transforma em outro Objeto através da ação "Change Instance". Esse novo Objeto é um fantasminha do meu Player que vai subindo até sair da Room... é nesse momento que tentei usar o Evento "Outside Room" junto com a ação "Restart Room". A Room reinicia normalmente, mas os itens já coletados tornam a a parecer! Esses itens são basicamente um só (OURO), mas são três objetos OURO:
oject_ouro_1 (quando coletado soma-se 1 de ouro)
oject_ouro_5 (quando coletado soma-se 5 de ouro)
oject_ouro_10 (quando coletado soma-se 10 de ouro)

Não tenho muito conhecimento ainda na linguagem GML e o meu jogo esta sendo feito quase que totalmente em DRAG AND DROP "Por ser meu primeiro jogo, acredito que esta ficando legal! Fiz coisas incríveis nele mais isso está me deixando doido... rsrrsr e tenho certeza que é uma coisa simples!

AI VAI ALGUMAS IMAGENS DA 1ª FASE:



http://imageshack.us/f/840/screenshot010fp.jpg/




Yure Colares

Número de Mensagens : 6
Data de inscrição : 24/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por Yure Colares em Sex 09 Nov 2012, 16:22

MAIS IMAGENS DO MEU JOGO (1ª Fase)

http://imageshack.us/photo/my-images/255/screenshot016f.jpg/
http://imageshack.us/photo/my-images/62/screenshot001lo.jpg/
http://imageshack.us/photo/my-images/696/screenshot005lk.jpg/

Agradeço a todos e quando conseguir, lhes comunico!...

Yure Colares

Número de Mensagens : 6
Data de inscrição : 24/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por Yure Colares em Sex 09 Nov 2012, 19:31

Alô "Alex FC", obrigado pela atenção e ajuda! Fiz exatamente como me pediu, mas quando vou coletar o item "ouro" aparece a seguinte mensagem:

VEJA IMAGEM

http://imageshack.us/photo/my-images/39/screenshot002md.jpg/

Editado por Joton
Cuidado com o post duplo, no seu caso foi triplo, isso pode fazer sua barra de alerta aumentar

Yure Colares

Número de Mensagens : 6
Data de inscrição : 24/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por andrewsnycollas em Qua 28 Nov 2012, 03:08

Acredito que se tu adicionares um evento create e nesse evento tu adicionares um code e no code tu adicionares global.ouro_list=0, resolve.

andrewsnycollas

Número de Mensagens : 25
Idade : 26
Data de inscrição : 27/07/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://andrewsnycollas.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Reiniciar a room com inimigos já mortos mais não com os itens coletados

Mensagem por Conteúdo patrocinado Hoje à(s) 09:58


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