Como fazer um item que recupere energia sem varar o limite máximo da energia?

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

Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Viper7 em Qua 02 Dez 2009, 00:51

Explicação:
Pessoal, no meu jogo eu utilizo a barra de life do Game Maker e a mesma possui 100 pontos como limite máximo. Se eu perder energia eu perco 20 pontos. Obviamente, levando 5 danos a barra de energia zera e eu perco, mas se eu levar apenas 4 danos, eu fico com apenas 20 de energia.
Problema:
Eu criei um objeto que adiciona 100 de energia ao personagem. O meu objetivo era criar um objeto apenas para encher o life todo, mas quando o personagem pega o objeto, ao invés de encher o life, o objeto adiciona 100 pontos ao life. Como o life tem 100 pontos, se eu tiver com 40 pontos de life e pegar esse objeto, eu ficarei com 140 de life. Sendo que a barra mostra até 100 pontos de life, o personagem terá que levar 4 danos para o life voltar ao normal e começar a diminuir.
O que eu quero
Criar/consertar esse objeto para que, quando o herói o pegue, apenas encha o life inteiro, sem adicionar ao life os pontos restantes.

Abraços pessoal!

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Naut2006 em Qua 02 Dez 2009, 00:54

Coloca no step:

Código:
if life>=100 then
  {life=100}

Espero ter ajudado ;)

Goodbye Happy

Naut2006

Número de Mensagens : 213
Idade : 20
Data de inscrição : 11/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Viper7 em Qua 02 Dez 2009, 01:07

Amigo, deu o seguinte erro:

"FATAL ERROR in
action number 1
of Step Event
for object obj_life:
COMPILATION ERROR in code action
Error in code at line 2:
{life=100}
at position 23: Variable name expected."

OBS: Eu coloquei o código no objeto que adiciona 100 pontos ao life, era isso?
Obrigado pela ajuda Very Happy

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por lucas_SK8 em Qua 02 Dez 2009, 01:40

se você colocou em outro objeto pra variável funcionar ela tem q ser global tipo assim
global.life
mais você teria q trocar todar as variaveis e eu acho q ainda n ia da certo

oq poderia dar certo era fazer o sequinte:
quando o objeto q ta com a variavel "life" colider com o "objeto q ganha life" ter o codigo
Código:

life = 100
independente da quantidade de life q o objeto esteja quando ele colidir com o "objeto q ganha life" o life dele vai pra 100

lucas_SK8

Número de Mensagens : 190
Idade : 20
Data de inscrição : 12/04/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Viper7 em Qua 02 Dez 2009, 02:18

lucas_SK8, a sua idéia faz sentido, porém, ainda está dando erro. Olha o que aconteceu:

FATAL ERROR in
action number 2
of Collision Event with object obj_heroi
for object obj_life:

COMPILATION ERROR in code action
Error in code at line 1:
life = 100

at position 6: Variable name expected.

Obrigado pela ajuda.
O que será que está acontecendo? O erro parece semelhante ao anterior.

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por lucas_SK8 em Qua 02 Dez 2009, 02:46

o erro é o mesmo a variavel não funciona para o player, só funciona para a barra de vida por q a variavel n é global

tem um jeito de consertar isso mais terria q mudar muitos codigos

se poder mandar um exemplo do seu problema ajuda muito

lucas_SK8

Número de Mensagens : 190
Idade : 20
Data de inscrição : 12/04/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Viper7 em Qua 02 Dez 2009, 11:04

upar uma amostra do meu projeto agora será complicado porque eu estou sem internet em casa e aqui na empresa o servidor não deixa upar nada pra fora da empresa Razz
===
Mas o meu problema é básico:
Eu preciso fazer meu personagem pegar um objeto para a energia dele encher, mas ao invés de apenas encher o life, está varando o limite máximo permitido do life.
===
Eu vou tentar explicar aqui o que eu fiz:

obj_barradevida
(É o objeto que fica fixo em cima da tela mostrando o life do personagem)
Add Event -> No More Health ->
- Destroy The Instance (Para destruir o personagem principal)
- Display A Message (Aparece escrito "Game Over" na tela)
- Go To Room Highscore (Teleporta o herói para a tela de Highscores)

obj_heroi
(É o personagem no qual jogamos com ele)
Add Event -> Colision (obj_life) -> Execute code "(with (other) instance_destroy();" Para o obj_life ser destruído ao colidir com o herói.

obj_life
Add Event -> Colision (obj_heroi) -> Set The Health Relative To 100 (Para encher o life do personagem, é aqui que está o problema, pois está acrescentando 100 pontos ao life ao invés de encher o life)

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Naut2006 em Qua 02 Dez 2009, 11:45

Tente isso no step do obj_heroi:
Código:
if health>=100 then
  {health=100}

Goodbye Happy

Naut2006

Número de Mensagens : 213
Idade : 20
Data de inscrição : 11/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por dungeon333 em Qua 02 Dez 2009, 11:50

Viper7 escreveu:upar uma amostra do meu projeto agora será complicado porque eu estou sem internet em casa e aqui na empresa o servidor não deixa upar nada pra fora da empresa Razz
===
Mas o meu problema é básico:
Eu preciso fazer meu personagem pegar um objeto para a energia dele encher, mas ao invés de apenas encher o life, está varando o limite máximo permitido do life.
===
Eu vou tentar explicar aqui o que eu fiz:

obj_barradevida
(É o objeto que fica fixo em cima da tela mostrando o life do personagem)
Add Event -> No More Health ->
- Destroy The Instance (Para destruir o personagem principal)
- Display A Message (Aparece escrito "Game Over" na tela)
- Go To Room Highscore (Teleporta o herói para a tela de Highscores)

obj_heroi
(É o personagem no qual jogamos com ele)
Add Event -> Colision (obj_life) -> Execute code "(with (other) instance_destroy();" Para o obj_life ser destruído ao colidir com o herói.

obj_life
Add Event -> Colision (obj_heroi) -> Set The Health Relative To 100 (Para encher o life do personagem, é aqui que está o problema, pois está acrescentando 100 pontos ao life ao invés de encher o life)
no obj_life vc colocou 'Set The Health Relative To 100'
coloca só Set The Health To 100
desmarca a opçao relative

dungeon333

Número de Mensagens : 351
Data de inscrição : 29/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Viper7 em Qua 02 Dez 2009, 11:53

Naut2006 escreveu:Tente isso no step do obj_heroi:
Código:
if health>=100 then
  {health=100}

Goodbye Happy

Consegui!!! cheers
Obrigado Naut2006!!!
Obrigado pela ajuda também dungeon333, mas o código do Naut2006 funcionou.

Viper7

Número de Mensagens : 82
Data de inscrição : 20/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Naut2006 em Qua 02 Dez 2009, 12:31

Só explicando o erro:

Health é uma variável "automática" do Game Maker. Mas life não. Veja que a única diferença dos códigos é que eu troquei life por health. Para que aquele código funcionasse, você teria que usar sempre life =D

Goodbye Happy

Naut2006

Número de Mensagens : 213
Idade : 20
Data de inscrição : 11/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Como fazer um item que recupere energia sem varar o limite máximo da energia?

Mensagem por Conteúdo patrocinado Hoje à(s) 12:31


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