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

Nenhum

Ver toda a lista


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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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?
avatar
Data de inscrição : 18/08/2010
Número de Mensagens : 414
Insígnias de JAM :

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

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

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

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? '-'
Data de inscrição : 27/07/2012
Número de Mensagens : 25
Insígnias de JAM :

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

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

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.
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

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

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!
avatar
Data de inscrição : 24/04/2012
Número de Mensagens : 6
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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!
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

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

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.
avatar
Data de inscrição : 24/04/2012
Número de Mensagens : 6
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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.
avatar
Ranking : Nota D
Notas recebidas : D + D
Data de inscrição : 06/04/2012
Número de Mensagens : 682
Insígnias de JAM :

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

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

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

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.
avatar
Data de inscrição : 18/08/2010
Número de Mensagens : 414
Insígnias de JAM :

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

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

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

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)
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

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

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.
avatar
Data de inscrição : 24/04/2012
Número de Mensagens : 6
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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/



avatar
Data de inscrição : 24/04/2012
Número de Mensagens : 6
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

em Sex 09 Nov 2012, 16:22
avatar
Data de inscrição : 24/04/2012
Número de Mensagens : 6
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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
Data de inscrição : 27/07/2012
Número de Mensagens : 25
Insígnias de JAM :

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

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

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.
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