Conectar-se

Esqueci minha senha

Últimos assuntos
» colisão de queda após outra colisão dando problema
Ontem à(s) 20:18 por Willy

» [Duvida] O que aprender
Seg 26 Jun 2017, 15:32 por Markituh

» BUILD FAILED: Cannot find BUILD.xml
Seg 26 Jun 2017, 14:50 por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

Quem está conectado
30 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 28 Visitantes

Fubukki, ReisBlender

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

(Resolvido)Limite de tiros

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

(Resolvido)Limite de tiros

Mensagem por gabriel33245900 em Seg 08 Set 2014, 09:21

Então criei meu personagem para atirar só que queria saber como faz limite de atirar tipo quero que ele só pode atirar 3 tiro por distancia  tipo após os tiro ficar numa certa distancia que eu colocar eu possa continuar atirando tipo atirei 3 tiro depois que ele sair da minha tela eu posso atirar denovo =p
quero que ele tenha limite de atirar só ate 3 tiros e depois espere os tiro sair do mapa para atirar de novo
if keyboard_check_pressed(ord("A")){
if direita = false{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index=sprite14
motion_set(180,20)}}
if direita = true{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index= sprite13
motion_set(0,20)}}}

esse é o codigo das minhas bala o que preciso para fazer limite de tiros ate sair do mapa os tiro


Última edição por gabriel33245900 em Ter 09 Set 2014, 07:46, editado 1 vez(es)
avatar
gabriel33245900

Data de inscrição : 06/09/2014
Número de Mensagens : 361
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por Mateus O de Andrade em Seg 08 Set 2014, 09:54

Bom dia Colega,
Acho que primeiro você deve criar uma varável para iidentificar que ele está atirando (global.atirando=false seria bom)
Altere isso também.
if keyboard_check_pressed(ord("A")) && global.atirando=false
E quando você apertar a tecla de tiro coloque o seguinte
if direita = false{
global.atirando=true

Isso vai limitar seu tiro.
Para atirar novamente quando a bala for destruida:
No projétil coloque um evento outside room e nele coloque um destroy self e set variable "global.atirando=true"
Isso fara você atirar novamente.

OBSERVAÇÃO: Isso é apenas para ele ter um limite de tiro até o outro ser destruído. Para fazer o que você quer você deverá aprender a trabalhar com alarmes ou outra função, mas não tenho muito tempo para pensar em alguma outra solução. Desculpe, mas daqui a pouco surge uma outra dica para você.

Espero ter ajudado cara.
avatar
Mateus O de Andrade

Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por gabriel33245900 em Seg 08 Set 2014, 10:01

quero que o tiro seja 3 como fasso para ser 3 tiros amigo = alguem me ajuda ai Sad após os 3 tiro serem destruido posso atirar mais 3
avatar
gabriel33245900

Data de inscrição : 06/09/2014
Número de Mensagens : 361
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por GabrielXavier em Seg 08 Set 2014, 11:07

 if global.atirando<3{
//aqui você cria a instancia da bala
}

no "create" do obj_bala você adiciona mais um na variavel global.atirando

"global.atirando+=1;"

no no evento "outside room" do obj bala você usa o "instance_destroy();"

E no "evento destroy" do obj bala você diminui 1 da variavel 
global.atirando

"global.atirando-=1;"

Não sei se vai funcionar nem tive tempo de testar  pale
Mas tenta ai, vai que funciona  Laughing

Edit:
Dessa forma você vai poder ter 3 instancias do obj_bala na room por exemplo voce deu tres tiros, nao pode atira mais ate que pelo menos um obj_bala saia da room, assim que o primeiro tiro sair da room ainda vao restar dois obj_bala na room e voce ja podera atirar mais uma vez,
Assim serve ou você prefere que so seja possivel atirar denovo assim que as tres balas sairem da room?


Edit2: Sim Matheus O tem que ser <3, esperar ele vir pra ver oque ele quer kk


Última edição por GabrielXavier em Seg 08 Set 2014, 11:24, editado 1 vez(es)
avatar
GabrielXavier

Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 1
   : 1

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por Mateus O de Andrade em Seg 08 Set 2014, 11:23

A dica do Gabriel vai funcionar mas vai dar 4 tiros, só tem que ser if global.atirando<3{ para deixar com apenas 3 tiros. E mesmo assim, quando um tiro for destruído outro poderá ser disparado. Se você quer que somente depois que os 3 tiros sejam destruídos possa atirar novamente, ainda terá que fazer alterações. Não sei qual sua ideia, mas acho que do modo que o Gabriel propôs fica melhor.
Para fazer como você quer, a situação para alterar a variável atirando teria que ser
se atirando=3 e não existir nenhuma instancia "tiro" na room
{global.atirando=0}
Só testando para verificar se vai dar certo.
avatar
Mateus O de Andrade

Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por theguitarmester em Seg 08 Set 2014, 11:24

Não pude deixar de comentar este tópico, tamanha quantidade de erros ortográficos, é quase um assassinato dela.
Tente escrever melhor, use vírgulas(nos lugares certos), concordâncias, aplique algumas normas simples, não precisa ser um professor de português, mas escrever corretamente não faz mal a ninguém, pelo contrário, ajuda até em quem não te conhece formar um pré conceito positivo sobre você.


Sobre sua questão, tem vários jeitos de resolver, alguns mais "difíceis"(mas melhores) e outros mais fáceis, então dependerá de seu nível de conhecimento para eu poder lhe mostrar a melhor maneira(das que sei) para você. Mas para não ter que esperar você responder esta mensagem informando o seu conhecimento, vou fazer alguma suposição de o quanto você sabe através de sua dúvida, escrita e código. Julgando por estes 3 elementos anteriores, acredito que você seja iniciante, mas já sabe programar em GML, então não terá dificuldade para entender a ideia:

- Crie uma variável que cuidará da quantidade de tiros disponíveis.
- Se você tem tiros disponíveis, pode atirar.
- Cada vez que atira, abaixa um tiro disponível.
- cada vez que o tiro sai do campo de visão, aumenta um tiro disponível.

Aí está a lógica do que você quer, que vale para qualquer linguagem.


Aplicado em GML:
No objeto que vai atirar
CREATE:
Código:
globalvar tiro;tiro=3

NO EVENTO DO TIRO(no seu caso, após o keyboard_check_pressed(ord("A"))):
Código:
if tiro>0
{
tiro-=1
//Ação de atirar, criar projétil - no seu caso, o instance_create(x,y,tiro_de_fogo)
}
Objeto do tiro(tiro_de_fogo)

use o evento outside view, e dentro dele coloque:
Código:
instance_destroy
tiro+=1

Dúvidas? só escrever.

Editado: mensagem escrita antes de ver a do GabrielXavier.
avatar
theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por GabrielXavier em Seg 08 Set 2014, 11:33

O theguitar deu o exemplo mais certo da parada, ao colocar a bala para ser destruida ao sair da room se a room for grande o obj_Tiro_de_fogo vai sair da view e ainda demorara para ser destruido, e a ideia dele de atirar somente se tiver balas disponiveis é como funciona no mundo real então obviamente é a mais correta.
Então, ignore meu post e va pelo post do theguitar haha


So resta saber se ele quer que a prossima remessa de tiros podera vir somente depois que as tres instancias do obj_Tiro_de_fogo forem destruidas ou não.
avatar
GabrielXavier

Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 1
   : 1

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por gabriel33245900 em Seg 08 Set 2014, 18:39

guitar eu fiz isso
STEP:
Código:
if keyboard_check_pressed(ord("A")){
if tiro>0
{
tiro-=1
//Ação de atirar, criar projétil - no seu caso, o instance_create(x,y,tiro_de_fogo)
}
if direita = false{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index=sprite14
motion_set(180,20)}}
if direita = true{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index= sprite13
motion_set(0,20)}}}
eu deixei o step do personagem que atira assim

CREATE do personagem que atira
Código:
    globalvar tiro;tiro=3
create da bala:
    globalvar tiro;tiro=3

outside view 0
instance_destroy();
tiro+=1
botei o (); porque aqui não funciona intance_destroy só esse mesmo então meu personagem ainda continua atirando daquele geito :l não mudou nada
avatar
gabriel33245900

Data de inscrição : 06/09/2014
Número de Mensagens : 361
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por WellingtonBecker em Seg 08 Set 2014, 18:50

Amigo, o certo no create é globalvar tiro=3
avatar
WellingtonBecker

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 09/05/2013
Número de Mensagens : 820
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por gabriel33245900 em Seg 08 Set 2014, 18:53

wellington esse que tu colocou e 1 simbolo não reconhecido para meu game maker 8.0
avatar
gabriel33245900

Data de inscrição : 06/09/2014
Número de Mensagens : 361
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por WellingtonBecker em Seg 08 Set 2014, 18:58

Humm, coloque apenas tiro=3
avatar
WellingtonBecker

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 09/05/2013
Número de Mensagens : 820
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por DieBoy em Seg 08 Set 2014, 19:04

Isso é apenas um exemplo. Ajeite o código do jeito que deseja:

step do player:
Código:

if ( keyboard_check_pressed(ord("A")) && instance_number(Tiro_de_fogo) < 3){ //Se tiver menos de 3 balas, ele atira
    instance_create(x, y, Tiro_de_fogo);
}

Step do objeto Tiro_de_fogo:
Código:

if (x > room_width || x < 0 || y > room_height || y < 0){
    instance_destroy(); //Se sair da sala, ele se destrói
}
avatar
DieBoy

Data de inscrição : 22/08/2014
Número de Mensagens : 91
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por theguitarmester em Seg 08 Set 2014, 21:32

Não era para somente jogar o código que fiz em cima do seu, era para misturá-lo.

no espaço em que escrevi "//Ação de atirar, criar projétil - no seu caso... " era para colocar ali o seu código de tiro.

Mas isso se arruma facilmente, colocando seu código de tiro dentro do SE TIRO É MAIOR QUE 0, para assim, só atirar quando tiver tiro, ficando assim:
Código:
    if keyboard_check_pressed(ord("A")){
    if tiro>0
    {
    tiro-=1
    //Ação de atirar, criar projétil - no seu caso, o instance_create(x,y,tiro_de_fogo)
   
    if direita = false{
    with( instance_create(x,y,Tiro_de_fogo)){
    sprite_index=sprite14
    motion_set(180,20)}}
    if direita = true{
    with( instance_create(x,y,Tiro_de_fogo)){
    sprite_index= sprite13
    motion_set(0,20)}}}
}
avatar
theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por gabriel33245900 em Ter 09 Set 2014, 07:46

O dieboy já resolveu meu problema guitar =p Tópico resolvido!
avatar
gabriel33245900

Data de inscrição : 06/09/2014
Número de Mensagens : 361
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: (Resolvido)Limite de tiros

Mensagem por Conteúdo patrocinado


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