Quem abateu quem? Clones do objeto com level próprio!?

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

Quem abateu quem? Clones do objeto com level próprio!?

Mensagem por moisesBR em Ter 05 Jun 2012, 11:27

Estava discutindo no tópico Defender, sobre lével-up, até aí tudo bem, se fosse apenas para um player ou vários objetos diferentes seria fácil, por que aí, era só usar variáveis nos creates de cada um e ir modificando pelo steep. Se fosse isso, beleza!

Só que: Nao pretendo repetir o mesmo objeto! Ia virar uma bagunça! Imagine se tivesse mais de 1000(nao chega a isso)? Seria de enlouquecer mexer em cada um, renomear...! Como vcs devem estar imaginando, é sim um jogo de comprar.
Estou tentando resolver, mas tá complicado.

O que quero:
Compro um soldado, tanque e etc, e como sempre, cada um ja vai surgir com seu create. Aí no combate, chegando a uma quantidade de inimigos abatidos, esse ganharia um upgrade, possibilitando-o melhor desempenho ou sobrevivencia a mais embates!

Ou seja, eu usaria o mesmo objeto e sprite mas em jogo ele se tornaria independente, a tanto que num súmario no fim do combate apareceria algo +- assim, sem estar em execuçao o objeto seria um só:

Spoiler:
soldado1:
create: vida=100, up_grade_vida=0
steep: if inimigos _abatidos=50 up_grade_vida +=10

Em execuçao: o mesmo soldado1 e o seus clones, teriam a mesma coisa, mas pra cada um independente do outro! E ao criar o clone, para diferenciar um do outro, adicionaria ao nome algo +- assim:

soldado1 normal
o que poderia ser usado para diferenciar os clones:
soldado1a, soldado1aa, soldado1aaa... (a->aaaa ou b->bbbb ou ccc....)
soldado1a, soldado1b, soldado1c...
soldado1ab, soldado1b, soldado1c...
soldado1a, soldado1b, soldado1c...

Ou melhor, números!
soldado1-1, soldado1-2, soldado1-3.../...soldado1-1000...!

sumário:
perdidos=111
inimigos abatidos=800
Do que que comprou, tem(no geral):
17 soldados de 100
2 bazucas de 30
2 tanques medios de 5 e etc.

pers--------kills---upg---lv---life+up---life-atual---desempenho----total
soldado1---600---7-----10---170------170/37-----excelente-------1600
soldado1a--060---1-----00---110------110/60-----péssimo--------0060
soldado1b--000---0-----00---000------100/37-----ainda tá vivo?--0000
soldado1c--200---4-----03---140------140/37-----rasoável--------0400
E assim por diante dependendo do tanto de personagens que tiver(?)
obs os que se perderam nao aparece, mas conta todos inimigo abatidos no geral!
resumo:
conseguir pelo menos contar quantos inimigos cada um abateu! É isso!

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Quem abateu quem? Clones do objeto com level próprio!?

Mensagem por saim em Ter 05 Jun 2012, 11:48

Isso acontece no momento em que você abate as instâncias de inimigos. Você dá um jeito de dizer ao inimigo quem foi que abateu ele, usando a id do matador. Daí, o destroy event do inimigo, você coloca
assassino.kills +=1;
assassino.xp +=5;
etc;
onde "assassino" é a variável que armazena a id do matador.

"Como assim, dá um jeito?"
É que você vai ter que se virar, pra colocar essa id em todos os lugares. Criou uma bomba? Coloca na bomba, junto com o alarme, o dano a causar, etc, quem foi que deixou ela ali. Aí, quando a bomba explodir, ela vai causar dano nos inimigos e dizer: esse dano é cortesia da instância 100025. O mesmo para projéteis. Danos diretos, como socos, podem seguir o mesmo esquema, sem intermediários.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Quem abateu quem? Clones do objeto com level próprio!?

Mensagem por moisesBR em Ter 05 Jun 2012, 12:36

Ri muito!:
Como assim, dá um jeito?"
É que você vai ter que se virar, pra colocar essa id em todos os lugares. Criou uma bomba?
Beleza. Pode me indicar algum tuto/engine, pra eu tentar entender o funcionamento dessas ids?

ps: Estrapolei, no pedido... só essa de level e identificar o assassino já resolve!
Quanto ao sumário, eu me viro. Foi malz! Perdon!

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Quem abateu quem? Clones do objeto com level próprio!?

Mensagem por saim em Ter 05 Jun 2012, 13:36

Id é um número que identifica a instância. Em cada instância, self = id. Quer ver que número é esse? Adicione um objeto na room, com o seguinte código no draw_event:
Código:
with (all){draw_text(x, y, string(id));}
Você pode passar a id como variável pra outras instâncias no momento da colisão, da criação, de acertar o raio lazer, de...
Por exemplo, no caso de um projétil, você cria ele assim:
Código:
with(instance_create(x, y, projétil)){quemMeCriou = other . id;}
e, na hora que o projétil colidir com um inimigo, você repassa essa informação pro inimigo (evento de colisão do projétil, em que "other" significa o inimigo):
Código:
other . vida -= danoBase;
if (other . vida <= 0){
other . assassino = quemMeCriou;
}
Como seu jogo pode ter um monte de eventos que matam inimigos que eu não tenho como prever, você tem que se virar pra adaptar o raciocínio acima ao jogo, mas uma vez que você sacou que o lance é passar a id, pode até adaptar pra engines mais complicadas. Por exemplo, suponha que o jogador não controle sempre a mesma instância (ele pode cair num buraco e ressurgir num canto). Aí, a id da instância vai mudar. Nesse caso, ao criar a instância controlada pelo jogador, você coloca:
Código:
jogadorControlando = jogador[número]
e, ao invés de passar a id adiante, pode passar apenas o número do jogador.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Quem abateu quem? Clones do objeto com level próprio!?

Mensagem por cidmarcos em Sab 09 Jun 2012, 04:13

BattleFieldII
Soldados podem ser comprados, e conforme eles matam, passam de Rank.
seria fácil se não fosse vários Objetos! isso complica muito cara!

Mas entendo oq vc quer fazer...

Boa Sorte! sunny

cidmarcos

Ranking : Nota D
Número de Mensagens : 177
Idade : 21
Data de inscrição : 26/05/2012
Notas recebidas : E+D
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.facebook.com/DragaoDeOuroJogo

Voltar ao Topo Ir em baixo

Re: Quem abateu quem? Clones do objeto com level próprio!?

Mensagem por Conteúdo patrocinado Hoje à(s) 21: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