Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Variações de combos Tópico resolvido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Luxazx
Membro
Membro
Reações: 0
Mensagens: 21

Variações de combos

Mensagem por Luxazx » Qua Ago 31, 2022 9:12 pm

Olá eu estou com algumas duvidas. Eu estava tentando programar outros combos para o meu personagem, porém eu não sei como fazer esses tipos de combos
Combos que eu quero fazer

Combos com teclas diferentes: Eu tenho dois combos básicos um que é quatro vezes o "P" e quatro vezes o "O", eu queria que tivesse um combo que eu aperte outra tecla tipo: P, P, P, O;


Aqui o Código


CREATE

Código: Selecionar todos

combo = 0;
atace_mult = 1;
atace_buff = room_speed;
STEP

Código: Selecionar todos

var ataque, ataque2

ataque = keyboard_check_pressed(ord("P"));
ataque2 = keyboard_check_pressed(ord("O"));

	case "attack":
	{
			
			velh = 0;
			velv = 0;
			
			
			if (combo == 0)
			{
			   sprite_index = Soco_J1;
			}
			else if (combo == 1)
			{
			   sprite_index = Soco_J2;
			}
			else if (combo == 2)
			{
			   sprite_index = Soco_J3;	

			}
			else if (combo == 3)
			{
			   sprite_index = Soco_J4;	
			}
			
			if(image_index >= 4 && dano == noone && posso)
			{
				dano       = instance_create_layer(x + sprite_width/2, y - sprite_height/55, layer, Dano);
				dano.dano  = atace * atace_mult;
				dano.pai   = id;
				posso      = false;
			}
			
			if(ataque && combo < 3)
			{
				atace_buff = room_speed;
			}
			
			
			if (atace_buff && combo < 3 && image_index >= image_number-1)
			{
				combo ++;
				image_index = 0;
				posso = true;
				atace_mult += .5;
				if(dano)
				{
					instance_destroy(dano, false);
					dano = noone;
				}
				
				atace_buff = 0;
				
			}
			
			if (image_index >= image_number-1)
			{
				estado = "parado";
				 velh = 0;
				 combo = 0;
				 posso = true;
				 atace_mult = 1;
				 if(dano)
				{
					instance_destroy(dano, false);
					dano = noone;
				}
			}
			
			break;
		}
		
	case "attack2":
	{
			
			velh = 0;
			velv = 0;
			
			
			if (combo == 0)
			{
			   sprite_index = Soco2_J1;
			 if (xscale = 1)
			 {
			 velh = 1;
			 }
			 if (xscale = -1)
			 {
				 velh = -1;
			 }  
			}
			else if (combo == 1)
			{
			   sprite_index = Soco2_J2;
			 if (xscale = 1)
			 {
			 velh = 2;
			 }
			 if (xscale = -1)
			 {
				 velh = -2;
			 }  
			}
			else if (combo == 2)
			{
			   sprite_index = Soco2_J3;	
             if (xscale = 1)
			 {
			 velh = 2;
			 }
			 if (xscale = -1)
			 {
				 velh = -2;
			 }  
			}
			else if (combo == 3)
			{
			   sprite_index = Soco2_J4;	
			 if (xscale = 1)
			 {
			 velh = 3;
			 }
			 if (xscale = -1)
			 {
				 velh = -3;
			 }  
			}
			
			if(image_index >= 4 && dano == noone && posso)
			{
				dano       = instance_create_layer(x + sprite_width/2, y - sprite_height/55, layer, Dano);
				dano.dano  = atace * atace_mult;
				dano.pai   = id;
				posso      = false;
			}
			
			if(ataque2 && combo < 3)
			{
				atace_buff = room_speed;
			}
			
			
			if (atace_buff && combo < 3 && image_index >= image_number-1)
			{
				combo ++;
				image_index = 0;
				posso = true;
				atace_mult += .5;
				if(dano)
				{
					instance_destroy(dano, false);
					dano = noone;
				}
				
				atace_buff = 0;
				
			}
			
			if (image_index >= image_number-1)
			{
				estado = "parado";
				 velh = 0;
				 combo = 0;
				 posso = true;
				 atace_mult = 1;
				 if(dano)
				{
					instance_destroy(dano, false);
					dano = noone;
				}
			}
			
			break;
		}	

Obrigado
Editado pela última vez por Luxazx em Sáb Out 08, 2022 10:36 pm, em um total de 2 vezes.

Avatar do usuário
Luxazx
Membro
Membro
Reações: 0
Mensagens: 21

Re: Variações de combos  Tópico resolvido

Mensagem por Luxazx » Qui Set 22, 2022 8:55 pm

ok consegui fazer os combos alternativos o código aqui
Step

Código: Selecionar todos


else if (combo == 1)
			{
			   sprite_index = Soco_J2;
			   if(ataque2)
			   {
				   estado = "ataque_al";
				   combo = 0;
				   image_index = 0;
			   }
		
		case "ataque_al":
		{
			
			velh = 0;
			velv = 0;
			
			
			if (combo == 0)
			{
			   sprite_index = SocoA_1;
			}
			else if (combo == 1)
			{
			   sprite_index = SocoA_2;
			}
			else if (combo == 2)
			{
				sprite_index = SocoA_3;
			}
			
			if(image_index >= 4 && dano == noone && posso)
			{
				dano       = instance_create_layer(x + sprite_width/2, y - sprite_height/55, layer, Dano);
				dano.dano  = atace * atace_mult;
				dano.pai   = id;
				posso      = false;
			}
			
			if(ataque2 && combo < 2)
			{
				atace_buff = room_speed;
			}
			
			
			if (atace_buff && combo < 2 && image_index >= image_number-1)
			{
				combo ++;
				image_index = 0;
				posso = true;
				atace_mult += .5;
				if(dano)
				{
					instance_destroy(dano, false);
					dano = noone;
				}
				
				atace_buff = 0;
				
			}
			
			if (image_index >= image_number-1)
			{
				estado = "parado";
				 velh = 0;
				 combo = 0;
				 posso = true;
				 atace_mult = 1;
				 if(dano)
				{
					instance_destroy(dano, false);
					dano = noone;
				}
			}
			
			
			break;
		}
		

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes