Bug na munição?

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

Bug na munição?

Mensagem por lol xD em Ter 09 Jun 2009, 20:49

Faz alguns meses que eu vim aqui perguntando como fazer um contador de balas e tudo. Consegui criar o sistema e tudo mais, porém agora que percebi que ele está com um pequeno bugzinho.
Por exemplo:

A quantidade máxima de balas na arma é 10 e a quantidade máxima de pentes é 50.
Porém, quando eu estou com 4 balas na arma e 5 no pente, o jogador, em vez de carregar 9, carrega 10, e eu não sei como fazer para ele recarregar certinho.
Antes que perguntem, o jogador pode recarregar quando ele quiser, ou seja, se ele estiver com 2 balas e 48 pentes, ele irá carregar 8 balas, ficando com 40 pentes.
Não sei se deu pra entender muito bem, mas aqui vai os códigos que estou usando.

Evento Create do Jogador:
Código:
global.arma_balas = 10
global.arma_pentes = 50
global.arma_balas2 = global.arma_balas


Evento do Jogador de pressionar a tecla Ctrl:
Código:
if (global.arma_balas)
{
if global.armado = true
{
global.armado_atirando = true
global.armado_balas -= 1
if (global.armado_balas > 0)
{
global.armado_atirando = false
}
}
}

Evento do Jogador de pressionar a tecla R:
Código:
if global.armado = true
{
if (global.arma_balas >= 0)
{
if (global.arma_pentes > 1)
{
var a;
a = (global.arma_balas2 - global.arma_balas);
global.arma_pentes -= a;
global.arma_balas += a;
}
}
}

if (global.arma_pentes < 0)
global.arma_pentes = 0;

Eu só queria que tirasse a diferença certinha! =)

lol xD

Número de Mensagens : 40
Data de inscrição : 07/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por Kabeção em Ter 09 Jun 2009, 22:13

Código:
do
{
    global.arma_balas += 1;
    global.arma_pente -= 1;
} until global.arma_balas = 10;
Traduzindo:
Código:
faz
{
    adicionar mais 1 a global.armas_balas;
    diminuir 1 bala no pente;
} até que global.arma_balas seja igual a 10;

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por lol xD em Ter 09 Jun 2009, 22:27

Não deu certo. =//
Eu adicionei o código no Evento Key Press R, não sei se está correto:

Código:
if global.armado = true
{
if (global.arma_balas >= 0)
{
if (global.arma_pentes > 1)
{
do
{
global.arma_balas += 1;
global.arma_pente -= 1;
until global.arma_balas = 10;
}
}
}
}

if (global.arma_pentes < 0)
global.arma_pentes = 0;

lol xD

Número de Mensagens : 40
Data de inscrição : 07/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por Kabeção em Ter 09 Jun 2009, 22:34

Os parenteses estão erados.
do
{
// codigo
} until codigo;

until não fica dentro de do.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por lol xD em Ter 09 Jun 2009, 22:44

Arrumei aqui, mas mesmo assim não está dando certo, ele continua recarregando errado. >_<

lol xD

Número de Mensagens : 40
Data de inscrição : 07/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por Kabeção em Ter 09 Jun 2009, 22:50

Então o erro esta em outra parte do jogo.
Não a como a variavel das balas sair do codigo que passei sem ter o valor 10.

Porcure todas as linhas que mexem com a variavel no jogo inteiro.
Talvez ache o problema.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por lol xD em Ter 09 Jun 2009, 22:55

Será que o problema pode estar no evento Draw do contador de balas (esse é um objeto separado)?
Segue aqui o código:

Evento Draw:
Código:
if global.armado = true
{
draw_text(view_xview+400,view_yview+434,global.arma_municao)
draw_text(view_xview+500,view_yview+434,global.arma_pentes)
}

lol xD

Número de Mensagens : 40
Data de inscrição : 07/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por Kabeção em Ter 09 Jun 2009, 22:59

global.arma_municao?
De onde saiu isso? Suspect
Não era pra ser global.arma_balas?

Mas está bagunçado esse tanto de variaveis ai ein. Razz

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por lol xD em Ter 09 Jun 2009, 23:02

Arrumei já. xD
Mas continua dando erro. >_<
Eu pensei que poderia ser dai, visto que é à partir desse código que ele desenha os valores na tela. O que será que pode ser? D:

lol xD

Número de Mensagens : 40
Data de inscrição : 07/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por Kabeção em Ter 09 Jun 2009, 23:05

É como eu disse: "Porcure todas as linhas que mexem com a variavel no jogo inteiro.
Talvez ache o problema."

Em algum lugar ela está sendo diminuida.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por M.A.S. em Ter 09 Jun 2009, 23:25

A primeira linha de código do pressionar da tecla Ctrl está errada. Não há condição pra prosseguir. Não sei se você postou errado.

Vamos refazer o pressionar da tecla de recarregar porque o código está sem sintaxe nenhuma. A segunda condição do statment if deveria ser "if global.arma_balas < 10" porque assim ia justificar o recarregamento.

Além do que o código acima que usa o do-until pode deixar a munição do pente como negativa. Coloque no evento de recarregar:

Código:
repeat (10 - global.arma_balas)
{
    if global.arma_pentes > 0
    {
        global.arma_pentes -= 1;
        global.arma_balas +=1;
    }
}

M.A.S.

Número de Mensagens : 377
Data de inscrição : 03/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Bug na munição?

Mensagem por Conteúdo patrocinado Hoje à(s) 08:37


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