[RESOLVIDO] ESTOU PRECISANDO DE UMA AJUDA COM UM SCRIPT
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] ESTOU PRECISANDO DE UMA AJUDA COM UM SCRIPT
Eu estou com um erro que não consigo resolver, parece bem simples mas eu sou bem iniciando ainda em C#.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Gun : MonoBehaviour {
[Header("Gun Configuration")]
public float damage;
public float range;
public float firerate;
public float waittofirerate;
public Camera cam;
public ParticleSystem ammoParticle;
public ParticleSystem impact;
public bool hold = false;
[Space]
[Header("Ammo")]
public int maxAmmoInPaint;
public int AmmoInPaint;
public int Ammo;
public int TimeToRecharge;
private bool Rechargeb = false;
private int timetr;
void Update () {
if (Input.GetButtonDown ("Fire1"))
hold = true;
if (Input.GetButtonUp ("Fire1"))
hold = false;
if (hold == true)
waittofirerate += 1;
if (waittofirerate > firerate && AmmoInPaint > 0)
Shoot ();
if(Input.GetButtonDown("Recharge")&& AmmoInPaint != maxAmmoInPaint && Ammo != 0 && Rechargeb == false)
{
Rechargeb = true;
}
if(Rechargeb == true)
{
if(timetr > TimeToRecharge)
{
for(int i = 0; i<maxAmmoInPaint; i++)
{
if(AmmoInPaint < maxAmmoInPaint && Ammo > 0)
{
Ammo -= 1;
AmmoInPaint += 1;
}
else
{
break;
}
}
Rechargeb = false;
timetr = TimeToRecharge;
}
else
{
}
timetr += 1;
}
}
}
void Shoot ()
{
waittofirerate = 0;
ammoParticle.Play ();
RaycastHit hit;
if(Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, range))
{
Debug.Log ("mirando em: " + hit.transform.name);
ObjectDestroyabke ob = hit.transform.GetComponent<ObjectDestroyabke>();
if(ob != null)
ob.takeDamage(damage);
GameObject impactGO = Instantiate(impact, hit.point, Quaternion.LookRotation(hit.normal));
}
}
Este é o Erro: Assets\Scripts\Gun.cs(74,7): error CS0116: A namespace cannot directly contain members such as
fields or methods
é neste local que esta constando o erro:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Gun : MonoBehaviour {
[Header("Gun Configuration")]
public float damage;
public float range;
public float firerate;
public float waittofirerate;
public Camera cam;
public ParticleSystem ammoParticle;
public ParticleSystem impact;
public bool hold = false;
[Space]
[Header("Ammo")]
public int maxAmmoInPaint;
public int AmmoInPaint;
public int Ammo;
public int TimeToRecharge;
private bool Rechargeb = false;
private int timetr;
void Update () {
if (Input.GetButtonDown ("Fire1"))
hold = true;
if (Input.GetButtonUp ("Fire1"))
hold = false;
if (hold == true)
waittofirerate += 1;
if (waittofirerate > firerate && AmmoInPaint > 0)
Shoot ();
if(Input.GetButtonDown("Recharge")&& AmmoInPaint != maxAmmoInPaint && Ammo != 0 && Rechargeb == false)
{
Rechargeb = true;
}
if(Rechargeb == true)
{
if(timetr > TimeToRecharge)
{
for(int i = 0; i<maxAmmoInPaint; i++)
{
if(AmmoInPaint < maxAmmoInPaint && Ammo > 0)
{
Ammo -= 1;
AmmoInPaint += 1;
}
else
{
break;
}
}
Rechargeb = false;
timetr = TimeToRecharge;
}
else
{
}
timetr += 1;
}
}
}
void Shoot ()
{
waittofirerate = 0;
ammoParticle.Play ();
RaycastHit hit;
if(Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, range))
{
Debug.Log ("mirando em: " + hit.transform.name);
ObjectDestroyabke ob = hit.transform.GetComponent<ObjectDestroyabke>();
if(ob != null)
ob.takeDamage(damage);
GameObject impactGO = Instantiate(impact, hit.point, Quaternion.LookRotation(hit.normal));
}
}
Este é o Erro: Assets\Scripts\Gun.cs(74,7): error CS0116: A namespace cannot directly contain members such as
fields or methods
é neste local que esta constando o erro:
- Código:
[size=14] void Shoot ()
{
waittofirerate = 0;
ammoParticle.Play ();
RaycastHit hit;
if(Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, range))
{
Debug.Log ("mirando em: " + hit.transform.name);
ObjectDestroyabke ob = hit.transform.GetComponent<ObjectDestroyabke>();
if(ob != null)
ob.takeDamage(damage);
GameObject impactGO = Instantiate(impact, hit.point, Quaternion.LookRotation(hit.normal));
}
}[/size]
gutovic29- Iniciante
- PONTOS : 2103
REPUTAÇÃO : 1
Respeito as regras :
Re: [RESOLVIDO] ESTOU PRECISANDO DE UMA AJUDA COM UM SCRIPT
Porque Não Acessa Diretamente a Void takeDamage() ? (claro que a void precisa se public).
Ou já deixa Criada a Variável ObjectDestroyabke ob Logo no Inicio.
Acessar Diretamente:
OBS: Coloque Scripts Na Área de Scripts, pois Facilita o Entendimento.
Ou já deixa Criada a Variável ObjectDestroyabke ob Logo no Inicio.
Acessar Diretamente:
- Código:
hit.transform.GetComponent<ObjectDestroyabke>().takeDamage(damage);
OBS: Coloque Scripts Na Área de Scripts, pois Facilita o Entendimento.
Magnatah- Instrutor
- PONTOS : 3548
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] ESTOU PRECISANDO DE UMA AJUDA COM UM SCRIPT
Ja tinha Resolvido o problema, mas msm assim vlw por tentar ajudar !
gutovic29- Iniciante
- PONTOS : 2103
REPUTAÇÃO : 1
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] To precisando de ajuda em um script pra fazer uma malha dinamica
» [RESOLVIDO] Ajuda com Script de Mensagem
» [RESOLVIDO] Estou com um problema no script de animação
» [RESOLVIDO] Ajuda com script simples
» [RESOLVIDO] ajuda no script
» [RESOLVIDO] Ajuda com Script de Mensagem
» [RESOLVIDO] Estou com um problema no script de animação
» [RESOLVIDO] Ajuda com script simples
» [RESOLVIDO] ajuda no script
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos