[RESOLVIDO] Recarregar arma.
4 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Recarregar arma.
Estou criando um sistema de Balas/Pent estilo fps eu atiro normal, mais quando Balas = 0 e clico no "R" ele não recarrega a arma, e nem tira o Desconta o ValorRetirado do ValorPente, nao sei se este é o modo mais eficiente de fazer isso mais, qual erro?
- Código:
public BulletBehaviour Bullet; //Bala.
public Transform CanoArma; // De Onde Vai Sair o Tiro.
public ParticleSystem FireParticle; // Particula de Fogo.
public float FireRate = 0.1f; //Tempo Para Arma ATIRAR.
private float currentTimeToFire = 0; //Cronometro.
private bool canFire = true; //Poder ou Nao Atirar.
public UnityEngine.UI.Text Texto;
public UnityEngine.UI.Text TextoPente;
public UnityEngine.UI.Text Balas;
// Variaveis de recarregar
public int ValorPente;
public int ValorBalas;
public int ValorRetirado;
// Animator
public Animator Player;
void Start () {
ValorPente = 120;
ValorBalas = 30;
ValorRetirado = 0;
}
void Update () {
TextoPente.text = ""+ValorPente;
Balas.text = "/"+ValorBalas;
if (canFire == false) { //Se Pode Atirar for Falso.
currentTimeToFire += Time.deltaTime; //Cronometro Começa A contar.
if((currentTimeToFire > FireRate) && (ValorBalas > 0)){ // Se Cronometro For Maior que Tempo para Atira.
currentTimeToFire = 0; //Cronometro vai Zerar.
canFire = true; //Pode Atirar Fica True.
}
}
if (Input.GetButton ("Fire1") && canFire == true){
if (Input.GetButton ("Fire1") && ValorBalas >= 1){
Instantiate(Bullet, CanoArma.position,CanoArma.rotation); //A Bala vai Sair do CanoArma.
canFire = false; // E Pode Atirar fica False.
FireParticle.Emit (1); //E A Particula Aparece.
GetComponent<AudioSource>().Play(); // E Solta um Audio
ValorRetirado += 1;
ValorBalas -= 1;
}
if(Input.GetKeyDown("r")) {
ValorRetirado -= ValorPente;
ValorRetirado = 0;
ValorBalas = 5;
}
}
}
}
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: [RESOLVIDO] Recarregar arma.
N consegui entender bem seu script
Tenta alternar esse pra ver
Tenta alternar esse pra ver
- Código:
ValorPente-= ValorRetirado;
hellkiller- Mestre
- PONTOS : 4053
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [RESOLVIDO] Recarregar arma.
Cara, lógica de pente é um pouco complicado e depende muito do sistema que você quer fazer, exemplo, estilo swat 4, onde os pentes são mantidos (é fácil até), também tem estilo CS, onde você desconta de um total de balas, o que dificulta um pouco na hora de checar as balas finais, dentre outros estilos...
Re: [RESOLVIDO] Recarregar arma.
É estilo CS mesmo, eu comecei a fazer deste geito, por que é oque veio na minha cabeça mais caso se tiver outro geito, fala a logica do geito diferente e eu tento repassa para o script :D
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: [RESOLVIDO] Recarregar arma.
Este script é da série do Paulo... ele tem o sistema pronto mais para frente na série
Re: [RESOLVIDO] Recarregar arma.
Sei que faz tempo, mas isso pode ajudar alguém... bom, para resolver este problema, eu coloquei o seguinte código dentro do if de apertar o botão "r":rafaelllsd escreveu:Estou criando um sistema de Balas/Pent estilo fps eu atiro normal, mais quando Balas = 0 e clico no "R" ele não recarrega a arma, e nem tira o Desconta o ValorRetirado do ValorPente, nao sei se este é o modo mais eficiente de fazer isso mais, qual erro?
- Código:
public BulletBehaviour Bullet; //Bala.
public Transform CanoArma; // De Onde Vai Sair o Tiro.
public ParticleSystem FireParticle; // Particula de Fogo.
public float FireRate = 0.1f; //Tempo Para Arma ATIRAR.
private float currentTimeToFire = 0; //Cronometro.
private bool canFire = true; //Poder ou Nao Atirar.
public UnityEngine.UI.Text Texto;
public UnityEngine.UI.Text TextoPente;
public UnityEngine.UI.Text Balas;
// Variaveis de recarregar
public int ValorPente;
public int ValorBalas;
public int ValorRetirado;
// Animator
public Animator Player;
void Start () {
ValorPente = 120;
ValorBalas = 30;
ValorRetirado = 0;
}
void Update () {
TextoPente.text = ""+ValorPente;
Balas.text = "/"+ValorBalas;
if (canFire == false) { //Se Pode Atirar for Falso.
currentTimeToFire += Time.deltaTime; //Cronometro Começa A contar.
if((currentTimeToFire > FireRate) && (ValorBalas > 0)){ // Se Cronometro For Maior que Tempo para Atira.
currentTimeToFire = 0; //Cronometro vai Zerar.
canFire = true; //Pode Atirar Fica True.
}
}
if (Input.GetButton ("Fire1") && canFire == true){
if (Input.GetButton ("Fire1") && ValorBalas >= 1){
Instantiate(Bullet, CanoArma.position,CanoArma.rotation); //A Bala vai Sair do CanoArma.
canFire = false; // E Pode Atirar fica False.
FireParticle.Emit (1); //E A Particula Aparece.
GetComponent<AudioSource>().Play(); // E Solta um Audio
ValorRetirado += 1;
ValorBalas -= 1;
}
if(Input.GetKeyDown("r")) {
ValorRetirado -= ValorPente;
ValorRetirado = 0;
ValorBalas = 5;
}
}
}
}
Neste código, é basicamente dito que, se apertarmos "r" e haver munição dentro do magazine, ele executará a função "Reload()" e poderá atirar.
- Código:
if (Input.GetKey(KeyCode.R) && chargerAmmoQuantity < 16) //chargerAmmoQuantity seria a munição que já está na arma, pronta para ser disparada
{
if(magazine > 0) //magazine = a munição que o personagem possui, sem ser a que já está na arma
{
Reload(); //método utilizado para recarregar a arma
canFire = true;
}
}
LucasBR- Iniciante
- PONTOS : 1230
REPUTAÇÃO : 1
Áreas de atuação : C#, Unity
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] arma não poder atirar e recarregar
» [RESOLVIDO] Arma entrando na parede
» [RESOLVIDO] Como colocar som na arma quando eu disparo?
» Como faço para Alternar audio do tiro para o de recarregar a arma
» [RESOLVIDO] Recarregar cena mantem dados.
» [RESOLVIDO] Arma entrando na parede
» [RESOLVIDO] Como colocar som na arma quando eu disparo?
» Como faço para Alternar audio do tiro para o de recarregar a arma
» [RESOLVIDO] Recarregar cena mantem dados.
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos