[Resolvido]Ajuda com sistema de armas!

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

Resolvido [Resolvido]Ajuda com sistema de armas!

Mensagem por DVictorPS em Sex 14 Ago 2015, 13:30

Olá, pessoal, tudo bem? alguém poderia me ajudar com um sistema de armas?

Eu estou trabalhando num jogo de tiro top view, porém, só tem um tipo de arma, e eu queria colocar armas variadas, porém, eu não faço a mínima ideia de como eu faço isso. Usei o buscador e não encontrei nada, poderiam me ajudar?


Última edição por DVictorPS em Sab 15 Ago 2015, 14:17, editado 1 vez(es)

DVictorPS

Ranking : Nota D
Número de Mensagens : 100
Idade : 14
Data de inscrição : 23/01/2012
Notas recebidas : D+E+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por Willy em Sex 14 Ago 2015, 13:41

Isso depende muito do tipo de arma que você quer fazer. Por exemplo, um fuzil tem uma frequência de tiro bem maior que uma pistola e também tem menos precisão. Ou então uma escopeta que tem uma precisão baixa e dispara vários projéteis ao mesmo tempo.

Além disso, informe se você usa o mouse para mirar ou não. Quanto mais detalhes sobre a mecânica você passar, mais fácil será de te ajudar.
Flws... blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por DVictorPS em Sex 14 Ago 2015, 13:55

Ok, eu postei um jogo chamado zombies - elimination, a mecânica do game é aquela, o sprite do personagem se move na direção do mouse e você se movimenta com o W A S D, eu queria um sistema que eu pude-se alternar entre outras armas que eu acha-se no chão, não um sistema de inventário que eu pude-se escolher, mas sim um sistema de que se eu tenho uma arma, e eu pego outra, eu jogo a minha outra arma no chão e fico com a que eu peguei, assim sucessivamente, caso ainda não tenha entendido como a mecânica funciona, aqui está o tópico do game:

http://gmbr.forumeiros.com/t32356-zombies-elimination#234715

DVictorPS

Ranking : Nota D
Número de Mensagens : 100
Idade : 14
Data de inscrição : 23/01/2012
Notas recebidas : D+E+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por Witen em Sex 14 Ago 2015, 14:39

Com uma logica simples você mata a questão. Quando o player colidir com o item, o item se destrói e o player muda a sprite de acordo com a arma adquirida, em seguida criar o um novo item no chão de acordo com a arma que estava "segurando".

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por DVictorPS em Sex 14 Ago 2015, 14:50

mas aí está o negocio: o player muda o sprite, mas se a arma tiver mais dano, mais cadência, ou for devagar, como eu vou mudar um status do mesmo obj?

DVictorPS

Ranking : Nota D
Número de Mensagens : 100
Idade : 14
Data de inscrição : 23/01/2012
Notas recebidas : D+E+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por First and Last em Sex 14 Ago 2015, 15:08

Usando variáveis, simples! Aí vai um pequeno exemplo:
Código:

arma = "AK-47";
bonus_de_dano = 20;
velocidade = 15;
Na hora de descontar a vida do inimigo basta apenas calcular com a variável:
Código:

vida -= 10 + bonus_de_dano;
Isso é só um pequeno exemplo.

First and Last

Ranking : Sem avaliações
Número de Mensagens : 30
Idade : 16
Data de inscrição : 16/06/2015
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por DVictorPS em Sex 14 Ago 2015, 15:19

mas não é o fato da velocidade da bala, é da velocidade da arma, a velocidade de tiros por segundo da arma , é isto que eu estou querendo dizer, por exemplo, se eu pegar uma AK-47, eu quero que ela atire mais rapido, como eu poderia fazer isso em variáveis , ou usando uma lógica?

A questão é o seguinte, se eu usa-se esse sistema de variável, eu poderia mudar o sprite, e talz, mas a minha dúvida, é como fazer para a arma atirar mais devagar ou mais rápido, assim sucessivamente de acordo com a arma que estiver e minhas mãos, já tentei de várias formas, mas todas as vezes o tiro sai bugado ou então a arma não fica com os status que eu queria que ela ficasse

DVictorPS

Ranking : Nota D
Número de Mensagens : 100
Idade : 14
Data de inscrição : 23/01/2012
Notas recebidas : D+E+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por First and Last em Sex 14 Ago 2015, 15:29

Tempo = alarmes, quer ver?
Evento create:

Código:

Velocidade = 4;
municao = 10;
Evento mouse_left:

Código:

if(municao > 0 and alarm[0] == -1){
alarm[0] = room_speed / Velocidade;
}
alarm[0]:

Código:

var bala = instance_create(x,y,obj_bala);
municao -= 1;
with(bala){
direction = other.direction;
speed = 10;
}
Basicamente se a room speed for 60, serão disparados 4 balas por segundo, acredito eu.
Edit: Foi mal ae , errei os calculos kkkkk


Última edição por First and Last em Sex 14 Ago 2015, 15:36, editado 1 vez(es) (Razão : Burrice minha kkk)

First and Last

Ranking : Sem avaliações
Número de Mensagens : 30
Idade : 16
Data de inscrição : 16/06/2015
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por DVictorPS em Sex 14 Ago 2015, 16:03

eu só queria um código para trocar as armas, eu não entendi este raciocínio que você colocou aí, poderia explicar?

Se isto aí for o sistema de tiro, eu já tenho, eu só preciso de acrescentar mais armas,só que eu não faço ideia como mudar os status da bala e etc quando isto acontecer!

DVictorPS

Ranking : Nota D
Número de Mensagens : 100
Idade : 14
Data de inscrição : 23/01/2012
Notas recebidas : D+E+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por First and Last em Sex 14 Ago 2015, 16:29

Vou prestar mais atenção no que eu posto, estou me confundindo muito. Enfim, olha só, o que eu disse ali em cima é um sistema de velocidade de disparo(talvez esteja errado, mas ngm liga mesmo...). Bom, existem várias formas de fazer isso, uma simples forma seria criar uma var que armazene o nome da arma atual e mude a sprite e os status(Eu realmente não levo jeito pra explicar  Zangado ) . Então vou fazer um exemplo simples:

Vc tem uma arma, e ao colidir com outra arma, vc troca sua arma. A primeira coisa a fazer é trocar a sua sprite...
parte que vem antes da 1º parte:
Código:

///finja que isso é um evento create
arma_anterior = obj_pistola;
velocidade = 2;
precisao = 1;
1º parte:
Código:

/// no evento de colisão com o obj_ak47
sprite_index = spr_soldado_ak47; /*Aqui mudei minha sprite, agora estou segurando a nova arma*/

Mas aí vc lembra que a sua nova arma possui caracteristicas diferentes, velocidade, precisao, etc.
Então devemos atualizar os status da nossa arma atual
2º parte:
Código:

sprite_index = spr_soldado_ak47; /*Aqui mudei minha sprite, agora estou segurando a nova arma*/
Vel = 4; // velocidade da arma
precisao = 5; // precisao da arma

Mas aí vc lembra que só pode ter uma arma , e que a outra arma vc deve jogar fora.

3º parte:
vamos dizer que a nossa arma anterior era um obj_pistola e ela está salva na variavel arma_anterior.
Código:


instance_create(x + 5,y,arma_anterior); /* Jogo minha arma fora(criando uma nova arma igual a antiga) */
sprite_index = spr_soldado_ak47; /*Aqui mudei minha sprite, agora estou segurando a nova arma*/
Vel = 4; // velocidade da arma
precisao = 5; // precisão da arma
arma_anterior = obj_ak47; /* agora que já joguei fora , na próxima vez que pegar numa arma irei jogar fora a arma atual(por isso defino a variavel "arma_anterior"  com o nome da minha arma atual.)*/

Essa é a lógica, agora vou explicar como funcionaria. Ao colidir com uma arma, no evento de colisão do jogador com essa arma, ele iria jogar sua arma anterior fora, mudar sua sprite para uma sprite com sua nova arma, mudar os status da arma, e definir nossa arma anterior com o nome do objeto da nossa nova arma(pq quando a gente for jogar a arma fora, iremos criar uma copia da nossa arma atual que deixará de existir.). Esse foi o exemplo mais simples que eu pensei, se vc não me entendeu, então...... eu vou me matar irei fazer uma engine pra vc, é só falar aí nos comentários. Com certeza vai aparecer alguém que vai dá um exemplo  mil vezes melhor que o meu, e depois eu vou me perguntar como eu não pensei nisso antes, aí.. deixa pra lá :/ ... espero ter te ajudado pelo menos de alguma forma, e sim, eu realmente não vou trabalhar como professor.

Edit: Vc também pode usar arrays para guardar os status da arma, só que nesse exemplo eu não usei pq queria deixar o mais básico possível

First and Last

Ranking : Sem avaliações
Número de Mensagens : 30
Idade : 16
Data de inscrição : 16/06/2015
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por DVictorPS em Sex 14 Ago 2015, 17:14

acho que agora eu entendi. Vou fazer uns experimentos aqui (peço a staff que ainda não feche este tópico pois estou testando ainda os códigos e ainda preciso tirar dúvidas)

Caso dê certo eu posto alguma coisa a respeito, caso de errado eu volto aqui mais tarde para postar o erro

EDIT: Acho que eu não especifiquei direito, eu tenho apenas um sistema de player com uma pistola que atira, mais nada, eu não tenho um sistema de armas já pronto, eu queria ajuda para criar um do zero, já que eu ja tenho as sprites etc..

DVictorPS

Ranking : Nota D
Número de Mensagens : 100
Idade : 14
Data de inscrição : 23/01/2012
Notas recebidas : D+E+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por LightSpeedy em Sab 15 Ago 2015, 00:56

DVictorPS

Eae Skay,td bem
eu faço milhares de jogos com armas,então posso tentar te ajudar,vou tentar explicar um pouco os codigos Very Happy

Bem,como você ja disse,vc tem as sprites,vou so fazer 3 armas para você ter uma ideia de como fazer o sistema:

Create:

Código:

///Armas
//
cooldown=false
arma_selecionada=1 //1=Pistola 2=AK47 3=Uzi
todas_armas=3 /*Numero de armas que tem,por enquanto so tem pistola,ak47 e Uzi então são 3*/
ArmaStat[1,1]="Pistola" /*Este é o nome da Arma,usei um Array para facilitar a criação*/
ArmaStat[1,2]=16 //Numero de Balas da Arma
ArmaStat[1,3]=15 //Dano a cada Tiro
ArmaStat[1,4]=10 //Cadencia de tiro em Milisegundos
ArmaStat[2,1]="AK47"
ArmaStat[2,2]=60
ArmaStat[2,3]=4
ArmaStat[2,4]=3
ArmaStat[3,1]="Uzi"
ArmaStat[3,2]=45
ArmaStat[3,3]=2
ArmaStat[3,4]=2
Bem,isso foi somente as variaveis e arrays das armas,para criar uma nova é só por "ArmaStat[4,1]" "ArmaStat[5,1]" e quantas quizer,agora vamos por para funcionar,no evento Step

Código:

//Isso é so para arrumar as armas
if arma_selecionada<1{arma_selecionada=todas_armas}
if arma_selecionada>todas_armas{arma_selecionada=1}
if arma_selecionada=1{sprite_index=sprite_da_pistola}
if arma_selecionada=2{sprite_index=sprite_da_ak47}
if arma_selecionada=3{sprite_index=sprite_da_uzi}

Agora nas colisões com as armas vc poem para mudar a variavel arma selecionada,por exemplo:

Colisão com AK47:

Código:

arma_selecionada=2

agora,no Evento que faz ele Atirar,ponha

Código:

if ArmaStat[arma_selecionada,2]>0 and cooldown=false{
Tiro=instance_create(x,y,OBJETO DO TIRO)
var O_MOUSE;
O_MOUSE=point_direction(x,y,mouse_x,mouse_y) //vai dizer onde ta o mouse
Tiro.direction=O_MOUSE //vai fazer o tiro ir no mouse
ArmaStat[arma_selecionada,2]-=1
cooldown=true
Tiro.speed=8 //Velocidade do Tiro
alarm[2]=ArmaStat[arma_selecionada,4]//tem de esperar para poder atirar dnv
Tiro.Dano=ArmaStat[arma_selecionada,3]//faz o dano do tiro,ser o dano da arma
}

e no Evento Alarm 2

Código:

cooldown=false //acabou a espera,pode atirar dnv

agora no Objeto do Tiro ponha no create

Código:

Dano=1
e na Colisão com o Zombi

Código:

other.VARIAVEL_DA_VIDA_DO_ZUMBI-=Dano //tira a vida do zumbi,baseado no Dano da arma

não testei ainda,mas usei esse code no meu jogo de tiro,se não funcionar apenas o ignore :v

LightSpeedy

Ranking : Nota C
Número de Mensagens : 354
Data de inscrição : 24/04/2013
Notas recebidas : C
Reputação : 40
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por DVictorPS em Sab 15 Ago 2015, 10:30

obrigado pela ajudo, Light, não consegui fazer com o esquema do First, vou testar o seu, se der certo eu dou um edit, obrigado pela ajuda Happy

EDIT: Light, eu uso uma variável chamada global.municao para poder contar minhas balas, como cada arma tinha seu numero de balas, eu troquei o valor para global.municao:
Código:
///Armas
//
cooldown=false
arma_selecionada=1 //1=Pistola 2=AK47 3=Uzi
todas_armas=4 /*Numero de armas que tem,por enquanto so tem pistola,ak47 e Uzi então são 3*/
ArmaStat[1,1]="Pistola" /*Este é o nome da Arma,usei um Array para facilitar a criação*/
ArmaStat[1,2]=global.municao //Numero de Balas da Arma
ArmaStat[1,3]=15 //Dano a cada Tiro
ArmaStat[1,4]=10 //Cadencia de tiro em Milisegundos
ArmaStat[2,1]="AK47"
ArmaStat[2,2]=global.municao
ArmaStat[2,3]=4
ArmaStat[2,4]=3
ArmaStat[3,1]="Uzi"
ArmaStat[3,2]=global.municao
ArmaStat[3,3]=2
ArmaStat[3,4]=2
ArmaStat[4,1]="goldpistol"
ArmaStat[4,2]=global.municao
ArmaStat[4,3]=10
ArmaStat[4,4]=30
Porém eu to com um problema, eu estou utilizando o global lefft button do mouse, então as balas saem de acordo com a cadencia, porém a municao vai descendo adoidamente, como resolver?

EDIT 2: Obrigado, Light, eu consegui fazer meu sistema de armas! a unica coisa que não consegui foi para quando o player pegar a outra arma, a que estava na mão dele volta-se, mas isto não é problema, porque de resto ficou tudo ótimo! Retirei uma série de dúvidas e consegui resolver alguns problemas!

Ainda consegui fazer para que as vezes as armas falhem, para representar como se elas estivesse velhas, obrigando o personagem a procurar outra diferente!

Obrigado a quem tentou me ajudar, mas minha duvida foi terminada^^

RESOLVIDO

DVictorPS

Ranking : Nota D
Número de Mensagens : 100
Idade : 14
Data de inscrição : 23/01/2012
Notas recebidas : D+E+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Ajuda com sistema de armas!

Mensagem por Conteúdo patrocinado Hoje à(s) 19:49


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