GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


Atacando sem parar

5 participantes

Ir para baixo

Atacando sem parar Empty Atacando sem parar

Mensagem por jailson_dante Qui 11 Dez 2014, 19:43

Olá pessoal! Eu sou novo por aqui e não sou bom em GML e nem em Lógica, mas, to fazendo o impossível para aprender, então peço ajuda a todos. O jogo vai ser feito em TopDown e como na descrição diz, eu quero q o inimigo quando perto do player ataque de maneira pausada o meu código é esse:

no step do inimigo:

if (distance_to_object(ob_player)>15 and distance_to_object(ob_player)<150){
i_parado=false;
mp_potential_step(ob_player.x,ob_player.y,2,false);}
else{
i_parado=true;
speed=0;}
if (i_atacando=false and distance_to_object(ob_player)<=16){
image_index=0;
i_atacando=true;
alarm[0]=25}

no alarm0 do inimigo:

i_atacando=false;

como vocês podem ver eu uso um alarm mas, mesmo assim, quando o inimigo fica perto do player ele fica atacando sem parar, e só para quando o player se afasta dele.
jailson_dante
jailson_dante

Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Wendryos Qui 11 Dez 2014, 19:56

Eu não sei como ta no seu jogo, mas nos meus eu uso mais ou menos isso, espero que te ajude.


No create
Código:
paralisado = false

Na colisão dele com o player ou no ato de mudar a sprite para o ataque.

Código:
if paralisado = false
{
sprite_index = //Sua sprite de ataque ou do hp no players diminuindo Ex.: obj_player.hp -=5
alarm[0] = 5
}

no alarm[0]

Código:
paralisado = true;
alarm[1] = //Voce decide quando ele volta a atacar.

E finalmente no alarm[1]

Código:
paralisado = false;



Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Sewer Crawler Qui 11 Dez 2014, 20:03

Não sei se entendi bem, mas no Evento Alarm vc pôs outro  
Código:
alarm[0]=25
?


Última edição por Sewer Crawler em Qui 11 Dez 2014, 20:15, editado 1 vez(es)
Sewer Crawler
Sewer Crawler

Data de inscrição : 08/10/2014
Reputação : 27
Número de Mensagens : 236
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por WellingtonBecker Qui 11 Dez 2014, 20:08

No alarme cada segundo é equivalente a 30 steps. Aumente para 120 e veja oque acontece.
WellingtonBecker
WellingtonBecker

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Wendryos Qui 11 Dez 2014, 20:49

Não tem erro isso, é só fazer do jeito que mostrei a ele, colocar uma variável para controlar o ataque, e utilizar dois alarms para alterar essa variável.

O inimigo só vai atacar se a variável estiver em false, então ele controla o tempo Ex: A cada 30 steps ele ataca.
Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por jailson_dante Qui 11 Dez 2014, 21:32

Wendryos - Black Horn, obrigado por ajudar e desculpa pela falta de coerência. Eu tentei a adaptar o seu condigo no meu mas não deu certo. Vou mostrar o condigo completo:

no creat do inimigo ta assim:

i_parado=true; // controla a animação e o estado do inimigo se ele esta parado ou nao.
i_atacando=false; // controla a animaçao e o estado do inimigo se ele esta atacando ou nao,

no step eu coloquei assim: obs o step quase completo.

i_angulo=round(point_direction(x,y,ob_player.x,ob_player.y)/45)*45; // faz com que o inimigo fique olhando para o player

switch (i_angulo){ // controla a troca de sprites
case(0):
if (i_atacando=false){
if (i_parado=false){
sprite_index=sp_inim_a_d;}
else{
sprite_index=sp_inim_p_d;}}
else{
sprite_index=sp_inim_at_d;
instance_create(x+22,y,ob_hit);}
break;

case(45):
if (i_atacando=false){
if (i_parado=false){
sprite_index=sp_inim_dia_c_d_a;}
else{
sprite_index=sp_inim_dia_c_d_p;}}
else{
sprite_index=sp_inim_dia_c_d_at;
instance_create(x+22,y-16,ob_hit);}
break; // e assim vai até completar os 360º

if (distance_to_object(ob_player)>15 and distance_to_object(ob_player)<150){
i_parado=false;
mp_potential_step(ob_player.x,ob_player.y,2,false);}
else{
i_parado=true;
speed=0;}// quando o player estiver numa certa distancia entre 15 e 150 pixels o inimigo o segue se nao ele para de seguir.

if (i_atacando=false and distance_to_object(ob_player)<=16){
image_index=0;
i_atacando=true;
alarm[0]=25}// aqui é onde acho q ta o erro. Repetindo: "eu acho" kkk

e no alarm0:

i_atacando=false; // torna a variavel de true para false.

Por favor, mim ajudem ainda sou leigo.
jailson_dante
jailson_dante

Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Sewer Crawler Qui 11 Dez 2014, 22:37

Quando for postar código, clique nesse ícone.
Mais fácil de analisar.
Atacando sem parar 2hwhgyb
Sewer Crawler
Sewer Crawler

Data de inscrição : 08/10/2014
Reputação : 27
Número de Mensagens : 236
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Wendryos Qui 11 Dez 2014, 22:40

Me envia seu GMK caso se usa o GM8, posso tentar resolver isso, porque ta meio confuso(pra min).



Espera, Ne cada movimentação dele ele ataca?(obj_hit)

Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por jailson_dante Qui 11 Dez 2014, 22:51

esse "obj_hit" é uma caixa de colisâo q futuramente sera usada para tirar o hp do player.

vou te enviar o gmk por favor nao olhe pra bagunca de sprites.
jailson_dante
jailson_dante

Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Wendryos Qui 11 Dez 2014, 22:56

Ok Jailson.
Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por jailson_dante Qui 11 Dez 2014, 22:58

http://www.4shared.com/rar/eaJ9YqD-ce/rpgteste01gmx.html
jailson_dante
jailson_dante

Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Wendryos Qui 11 Dez 2014, 23:02

Eu não tenho o Studio, só o GM8, não vai dar de baixar.

Mas já me adianta uma coisa, esse código ai é do personagem(player) ou do inimigo?
Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por jailson_dante Qui 11 Dez 2014, 23:05

é do inimigo.
jailson_dante
jailson_dante

Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Wendryos Qui 11 Dez 2014, 23:11

No create

Código:
paralisado = false

No Step

Código:
if (i_atacando=false and paralisado=false and distance_to_object(ob_player)<=16){
image_index=0;
i_atacando=true;
alarm[0]=25}

No alarm[0]

Coloca

Código:
paralisado=true
alarm[1] = 25


No alarm[1]

Código:
paralisado=false



Com isso ele só vai fazer o ataque se a variavel paralisado estiver false, oque ocorre a cada 25 steps.
Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por jailson_dante Qui 11 Dez 2014, 23:27

Wendryos - Black Horn o seu código pra mim esta muito certo, e agradeço muito pela sua paciencia, mas não sei porque não funcionou, não surtiu efeito nenhum (q estranho). vou dormir agora e deixo o tópico em aberto.
Obrigado a todos e boa noite!
jailson_dante
jailson_dante

Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Wendryos Qui 11 Dez 2014, 23:29

Creio que seja pelo seu código do step, mas preciso dormir também, amanha trabalho cedo, caso ninguém tiver resolvido, amanha eu volto a tentar te ajudar. Boa noite.
Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por makgamer Sex 12 Dez 2014, 01:40

Seu erro está no script de sprites para ângulo...
Basicamente você programou pra caso o player estiver perto a variável atacando ficar True, mas no script de sprites você disse que caso ela esteja True o sprite mude pro de ataque e crie o objeto de colisão do ataque, o problema é que durante os 25 steps que o alarme é chamado a variável fica positiva, o que faz com que o objeto fique sendo criado e o sprite fique repetindo até que o alarme negativa a variável e isso para, mas aí o step deixa positivo de novo e gera um ciclo vicioso. Estou com sono então amanhã explico como resolve isso...
makgamer
makgamer

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 2.0
  • Unity
  • Java
  • C#
  • Javascript
  • RPG Maker
  • C ou C++
  • Outros


Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por jailson_dante Sex 12 Dez 2014, 10:37

Bom dia pessoal! Eu consegui resolver o problema com a ajuda de todos e principalmente do nosso amigo Wendryos - Black Horn. vou explicar como:

no creat do inimigo:

Código:
i_parado=true;
i_atacando=false;
pode_atacar=true;

no step do inimigo (aquela linha que eu achava q estava errada):

Código:
if (pode_atacar=true){
if (distance_to_object(ob_player)<=16){
image_index=0;
i_atacando=true;
pode_atacar=false;
alarm[0]=5;}} // coloquei esse valor no alarm0 pq se eu colocar um valor maior o inimigo executa mais de um ataque.

e no alarm0 do inimigo:

Código:
i_atacando=false;
alarm[1]=30;//Faz com que a variavel q controla o tempo da pausa entre ataques "pode_atacar" mude o seu valor a cada 30 steps.

e no alarm1 do inimigo:

Código:
pode_atacar=true;// onde o valor de false passa a ser true para da o comando do proximo ataque.

Então por enquanto é isso pessoal, mais uma vez agradeço a todos. Tópico resolvido
jailson_dante
jailson_dante

Data de inscrição : 10/11/2014
Reputação : 0
Número de Mensagens : 15
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Sewer Crawler Sex 12 Dez 2014, 13:35

Tenho umas engines nos quais os inimigos agem parecido. Se quiser te passo os links.


Última edição por Sewer Crawler em Sex 12 Dez 2014, 13:54, editado 1 vez(es)
Sewer Crawler
Sewer Crawler

Data de inscrição : 08/10/2014
Reputação : 27
Número de Mensagens : 236
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Wendryos Sex 12 Dez 2014, 13:38

Que bom Jailson que conseguimos te ajudar, se precisar é só postar sua duvida que tentaremos saná-las.
Wendryos
Wendryos

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 21/04/2014
Reputação : 12
Número de Mensagens : 194
Prêmios : Atacando sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Atacando sem parar Empty Re: Atacando sem parar

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos