Como armazenar dados de instancias?

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

Como armazenar dados de instancias?

Mensagem por bimorx em Sab 07 Jan 2012, 14:29

Estou criando um projeto, no qual criei 1 objeto q representará todos os inimigos, cada instancia desde objeto será um "jogador cpu", bem, tá mto complicado fazer isso, pois acho q eu deveria usar bibliotecas de scripts e bancos de dados pra cada jogador cpu ter:

Dinheiro, pontos, vida, armas, e bonus(poderes)

o jogo é estilo Deathmatch, e eu preciso fazer com q quando a instancia perder todo seu HP, ela seja destruida e após 3 segundos a MESMA instancia "renasça", não consegui fazer ela renascer com o mesmo ID. :/
Alguem sabe como eu poderia criar um banco de dados ou biblioteca de scripts pra fazer isso de um modo em q eu possa ter infinitos inimigos? Vlw GMBR sempre me ajudando hehe Very Happy!!

Edit: se n tiverem entendido oq eu quiz dizer, basta lembrar dos bots do CS, cada bot tem sua grana, sua arma, seus itens, sua vida e renascem logo após terminar o round Very Happy

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por Markituh em Sab 07 Jan 2012, 14:44

Nem tudo é instance_destroy() Very Happy Em vez de destruir, simplesmente leve o objeto para sua posição inicial quando foi criado.
Código:
x = xstart;
y = ystart;
xstart e ystart são variáveis que contém a posição inicial do objeto no momento em que foi criado. Aí você faz um for que leva todo mundo pras suas posições iniciais Very Happy

Dava pra você por os dados de cada instância numa ds_map e ler quando o jogo iniciar... só não tenho em mente como o jogo vai saber qual pertence a quem scratch

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por bimorx em Sab 07 Jan 2012, 14:47

hmm, no caso então xstart e ystart levaria a instancia pra onde ela foi criada? mas não haveria nenhum delay entre a morte do jogador cpu e o respawn do mesmo...?

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por CRP-Max em Sab 07 Jan 2012, 14:58

Não, mas seria possível que quando a instancia perdesse todo seu hp, ela fosse invisível e desativada? Dai você poderia criar um alarme com o tempo e só então jogar a instancia no ponto de inicio, visível e reativada?
Código:
if hp<=0 {
alarm[0]=room_speed*3;
visible=false;
instance_deative();
Perai... Se você desativar a instancia o alarme não vai funcionar, hehehe.
Teria que ser outro objeto cuidando do hp dela...
É um ponto de partida... :oops:

CRP-Max

Ranking : Nota C
Número de Mensagens : 819
Idade : 41
Data de inscrição : 28/10/2008
Notas recebidas : C
Reputação : 29
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por Markituh em Sab 07 Jan 2012, 15:03

mas não haveria nenhum delay entre a morte do jogador cpu e o respawn do mesmo...?
Bom, pensei que você fosse fazer isso! Afinal eu só dei um exemplo de uso, obviamente você usará alarms para tal efeito.

@Tio Max
Não invisível e desativada CRP, mas sem entrada de comandos e caida no chão Happy Bom, quando o carinha morresse você criava uma instância para o Spectator Mode, e ficava o boneco lá andando mas com um pouco de transparência, pra dar a ideia de morto.

Porém, você é intangível e os outros participantes não podem te ver, apenas você. E aí? Como vamos programar isso? Tenho algo em mente, mas primeiro vou fazer uns testes aqui.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por bimorx em Sab 07 Jan 2012, 15:09

ss to fazendo uns testes num objeto q seria o "JOGADOR" mesmo, como se fosse o "dono" do boneco... jaja digo se deu certo e como eu fiz !! Very Happy vlw
xD

Edit: bom, não deu o xstart e ystart nao... eu tentei desativar, beleza, mas quando eu tento reativar da tal instancia não da certo pois ela não existe mais O.o, mesmo atraves de outro objeto

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por Willy em Sab 07 Jan 2012, 16:59

É só criar uma variavel para checar se o objeto está "ativado" ou não. Caso ele esteja desativado, você o deixa invisivel (visible=false) e impede os movimentos dele. Por exemplo:

if ativado=true{
//Movimentos, etc...
}

Esta é uma forma meio "gambiarra" de fazer. Mas, você também pode, ao destruir o objeto, criar um objeto resposavel por criar um novo!

Espero que tenha ajudado.
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por bimorx em Dom 08 Jan 2012, 16:15

hmm, sim, ja tinha pensado em algo deste tipo, bom, ele ficar invisivel e não mover-se da certo, o problema é q o modo q eu fiz de os outros "bots" verem ele na room, mesmo com ele invisivel eles veriam ele e atirariam, a menos q... eu não conheço, mas tem algum codigo q deixa ele "invulneravel" ou "incolidivel" ? algo q desative todos os eventos de colisão... rs

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por Willy em Dom 08 Jan 2012, 16:19

Você pode fazer com que os inimigos verifiquem se a variável "ativado" do objeto que ele vai atirar está como true, senão, ele não faz nada.

Por exemplo, no evento de colisão com o objeto desativado:
Código:
if other.ativado=true{
//Ação
}

É algo bem simples de se fazer, porém, é um pouco trabalhoso pois deve-se constantemente checar o estado da variável "ativado".

Se tiver duvidas, é só falar!
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por bimorx em Dom 08 Jan 2012, 16:35

hmmm, vlw tentarei isso... jaja posto um edit pra dizer se deu Happy vlw

bimorx

Número de Mensagens : 153
Idade : 21
Data de inscrição : 24/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como armazenar dados de instancias?

Mensagem por Conteúdo patrocinado Hoje à(s) 22:15


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