como fazer dano progressivo ?

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

como fazer dano progressivo ?

Mensagem por FelipeSSama em Seg 29 Abr 2013, 23:45

bom ,eu consegui fazer um sistema de level onde conforme ele (o level )cresce dois atributos (hp e dano) crescem tbm
create
Código:

global.nextlevel = 100
global.xp = 0
global.level = 1
global.hp = 100
global.dano = 1
global.nextdano = 2

Step

if global.xp >= global.nextlevel
{
global.level += 1
global.hp += 50
global.dano += 1
global.nextlevel *= 2
}

draw

draw_text (10,10,"level :"+string(global.level))
draw_text (10,25,"HP :"+string(global.hp))
draw_text (70,10,"Dano :"+string(global.dano))

draw_sprite = sprite2


o grande problema é que eu não consegui aplicar isso aos meus interesses ,tais como ,quando o hp chegar a 0 morrer e reiniciar o jogo ou o dano ser progressivo (a cada level aumentar) e também devido ao draw meu player só anda n direção que eu configurei esse sistema de level.


Última edição por FelipeSSama em Ter 30 Abr 2013, 00:38, editado 1 vez(es)

FelipeSSama

Número de Mensagens : 7
Data de inscrição : 29/04/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por Gonçalves em Ter 30 Abr 2013, 00:07

Depende do estilo de jogo, e como será o sistema de ataque.

Já pra reiniciar ao morrer, você pode usar:

Código:
if global.hp <= 0 {room_restart()}

Que irá reiniciar a sala se o jogador morrer.

O que você exatamente queria fazer no Draw? Usar direction?

Ah e, use a tag abaixo:

Código:
[code][/code]

Para colocar os códigos, como fiz acima.

Até mais! sorrindo2

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por FelipeSSama em Ter 30 Abr 2013, 00:34

sem esse draw sprite2 (o personagem principal dos movimentos) não aparece avatar nenhum mas as ações são realizadas

FelipeSSama

Número de Mensagens : 7
Data de inscrição : 29/04/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por Gonçalves em Ter 30 Abr 2013, 00:46

O jeito correto de se usar o draw_sprite é assim:

Código:
draw_sprite(sprite_index,image_index,x,y)

Aí você substitui os argumentos da forma que achar melhor.

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por FelipeSSama em Ter 30 Abr 2013, 00:54

cara eu usei esse code
Código:
draw_sprite(sprite_index,image_index,x,y)
ai ele parou de se mover aos meus comandos
eu qro com o draw que meu object surja e que eu possa movimentar ele sem ele só aparecer a imagem dele andando pra frente

FelipeSSama

Número de Mensagens : 7
Data de inscrição : 29/04/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por PedroX em Ter 30 Abr 2013, 01:06

Use o código abaixo:

Código:
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,
                image_yscale,image_angle,image_blend,image_alpha)

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por FelipeSSama em Ter 30 Abr 2013, 01:08

PedroX escreveu:Use o código abaixo:

Código:
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,
                image_yscale,image_angle,image_blend,image_alpha)

cara eu n entendi oq devo usar nesses argumentos pode me explicar ?

FelipeSSama

Número de Mensagens : 7
Data de inscrição : 29/04/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por saim em Ter 30 Abr 2013, 09:41

O código do PedroX está bem "copie-e-cole". Os argumentos que ele colocou são variáveis nativas do game maker, uma busca rápida no manual vai te dizer o que significa cada uma (embora os nomes sejam bem auto-explicativos).
Você tinha usado "draw_sprite = sprite2". Acho que você usou isso como código pra desenhar, mesmo. Se não foi, me desculpe. Mas se foi, precisa entender melhor como funciona o draw_event. Pra desenhar algo de fato, você precisa de uma função (as tais "draw_sprite" ou "draw_sprite_ext"). O que você fez ali foi definir o valor de uma variável - isso não resulta em nada, na tela.
Claro que você pode usar o valor dessa variável como argumento de alguma função que você não mostrou nos seus códigos. Nesse caso, ignore esses últimos parágrafos.

Uma dica... cuidado com esse seu sistema de level up. Eu notei alguns problemas nele. Vou listá-los abaixo e você resolve se eles te incomodam ou não.
- não existe uma variável "hpMax". Fiquei com a impressão que a variável "global.hp" está sendo usada como "hpAtual". Se não houver como recuperar hp, tudo bem, mas não costuma ser o caso de jogos com sistemas de níveis.
- dobrar o valor de nextlevel, principalmente enquanto os demais atributos são apenas somados, é um movimento arriscado. Os inimigos precisam crescer muito pra continuar a ser possível subir de nível a partir de, digamos, 4 níveis. Nesse ponto, o dano será 5, o valor de hp, na melhor das hipóteses, será 300, o valor de xp será 800, deixando o jogador com a necessidade de acumular mais 800 pontos de xp. Muita coisa pra uma evolução pequena. A dificuldade cresce enormemente, deixando o jogador sem incentivos pra tentar evoluir ou até terminar o jogo. Procure por fórmulas de level up, o sistema de tíbia é aberto e bem interessante.
- você não usou a variável nextdano. Talvez prevesse alguma coisa pra ela, mas acabou não usando. Verifique isso, se não for usar mesmo, economize um bit, eliminando-a.

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: como fazer dano progressivo ?

Mensagem por FelipeSSama em Ter 30 Abr 2013, 13:55

saim escreveu:O código do PedroX está bem "copie-e-cole". Os argumentos que ele colocou são variáveis nativas do game maker, uma busca rápida no manual vai te dizer o que significa cada uma (embora os nomes sejam bem auto-explicativos).
Você tinha usado "draw_sprite = sprite2". Acho que você usou isso como código pra desenhar, mesmo. Se não foi, me desculpe. Mas se foi, precisa entender melhor como funciona o draw_event. Pra desenhar algo de fato, você precisa de uma função (as tais "draw_sprite" ou "draw_sprite_ext"). O que você fez ali foi definir o valor de uma variável - isso não resulta em nada, na tela.
Claro que você pode usar o valor dessa variável como argumento de alguma função que você não mostrou nos seus códigos. Nesse caso, ignore esses últimos parágrafos.

Uma dica... cuidado com esse seu sistema de level up. Eu notei alguns problemas nele. Vou listá-los abaixo e você resolve se eles te incomodam ou não.
- não existe uma variável "hpMax". Fiquei com a impressão que a variável "global.hp" está sendo usada como "hpAtual". Se não houver como recuperar hp, tudo bem, mas não costuma ser o caso de jogos com sistemas de níveis.
- dobrar o valor de nextlevel, principalmente enquanto os demais atributos são apenas somados, é um movimento arriscado. Os inimigos precisam crescer muito pra continuar a ser possível subir de nível a partir de, digamos, 4 níveis. Nesse ponto, o dano será 5, o valor de hp, na melhor das hipóteses, será 300, o valor de xp será 800, deixando o jogador com a necessidade de acumular mais 800 pontos de xp. Muita coisa pra uma evolução pequena. A dificuldade cresce enormemente, deixando o jogador sem incentivos pra tentar evoluir ou até terminar o jogo. Procure por fórmulas de level up, o sistema de tíbia é aberto e bem interessante.
- você não usou a variável nextdano. Talvez prevesse alguma coisa pra ela, mas acabou não usando. Verifique isso, se não for usar mesmo, economize um bit, eliminando-a.

me explica como eu faria pra aplicar o dano progressivo e como fazer o recuperar o hp ?

FelipeSSama

Número de Mensagens : 7
Data de inscrição : 29/04/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por Zero. em Ter 30 Abr 2013, 15:34

O dano "progressivo" vc teria que determinar o dano em função do nível.
Tipo : dano = level
ou dano = level * 2 ;
enfim desta forma terá uma relação entre dano e level.
E isto serve para a vida e para qualquer outra variavel que necessite de um funcionamento apartir de outra tipo a da vida :
Vida = level * 50 ;
No caso da vida te aconselho a fazer uma variavel de vida máxima, pra destinguir a vida máxima que o personagem pode alcançar e a vida atual.

Espero que tenha te ajudado *--*

Zero.

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

Voltar ao Topo Ir em baixo

Re: como fazer dano progressivo ?

Mensagem por saim em Qua 01 Maio 2013, 23:06

Recuperar o hp é coisa do jogo... tome uma poção, hp = min(hpMax, hp + 8 ), durma num hotel, hp = hpMax, por aí vai.
O dano progressivo também é coisa do jogo. D&D (dungeons and dragons, não drag and drop) tem regras interessantes. O já mencionado Tíbia, também. Só não recomendo usar essa matemática de dobrar tudo a cada nível. As coisas acabam saindo de controle.

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: como fazer dano progressivo ?

Mensagem por Conteúdo patrocinado Hoje à(s) 01:56


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