ERRO SCRIPT
3 participantes
Página 1 de 1
ERRO SCRIPT
Ola pessoal queria saber qual é o erro que está dando aqui nesse Script ?
O que será que pode ser ?
Assets/SCRIPTESTE/AtirarScript.cs(110,55): error CS0118: `AtirarScript.TagInimigo' is a `field' but a `type' was expected
Linha 110,55
obrigado
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
[SerializeField]
public class LaserouMira{
public bool ativarLaser = false;
public Color corLaser = Color.red;
public bool AtivarMiraComum = true;
}
[SerializeField]
public class ArmaGlock{
[HideInInspector]
public int danoPorTiro = 20;
[Range(65,500)]
public int numeroDeBalas = 90;
[Range(1,50)]
public float tempoPorTiro = 0.3f;
[Range(0.01f, 5.0f)]
[Space(10)]
public LaserouMira Miras;
[Space(10)]
public GameObject objetoArma;
public GameObject LugarParticula;
public GameObject particulaFogo;
public AudioClip somTiro;
}
[RequireComponent(typeof(AudioSource))]
public class AtirarScript : MonoBehaviour {
public int armaInicial = 1;
public string TagInimigo = "inimigo";
public Text Balas;
public Material MaterialLasers;
public ArmaGlock[] armas;
int armaAtual;
AudioSource emissorSom;
bool atirando;
LineRenderer linhaDoLaser;
GameObject luzColisao;
void Start () {
//Laser das Armas
luzColisao = new GameObject ();
luzColisao.AddComponent<Light> ();
luzColisao.GetComponent<Light> ().intensity = 8;
luzColisao.GetComponent<Light> ().bounceIntensity = 8;
luzColisao.GetComponent<Light> ().range = 0.2f;
luzColisao.GetComponent<Light> ().color = Color.red;
LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer> ();
lineRenderer.material = MaterialLasers;
lineRenderer.SetColors (Color.white, Color.white);
lineRenderer.SetWidth (0.15f, 0.05f);
lineRenderer.SetVertexCount(2);
linhaDoLaser = GetComponent<LineRenderer>();
for (int x =0; x< armas.Length; x++) {
armas [x].objetoArma.SetActive(false);
armas [x].LugarParticula.SetActive(false);
armas [x].numeroDeBalas = armas [x].numeroDeBalas;
armas [x].Miras.corLaser.a = 1;
}
if(armaInicial > armas.Length-1) {
armaInicial = armas.Length-1;
}
armas [armaInicial].objetoArma.SetActive (true);
armas [armaInicial].LugarParticula.SetActive (true);
armaAtual = armaInicial;
emissorSom = GetComponent<AudioSource> ();
}
void Update () {
//UI
Balas.text = "Balas: "+ armas[armaAtual].numeroDeBalas;
//Troca de armas
if(Mathf.Abs(Input.GetAxis("Mouse ScrollWhell")) > 0 && atirando == false) {
if(Input.GetAxis ("Mouse ScrollWhell") > 0) {
armaAtual++;
}
if(Input.GetAxis ("Mouse ScrollWhell") < 0) {
armaAtual--;
}
if(armaAtual <0) {
armaAtual = armas.Length -1;
}
if(armaAtual > armas.Length -1) {
armaAtual = 0;
}
AtivarArmaAtual ();
}
//Atirar
if(Input.GetMouseButtonDown (0) && armas[armaAtual].numeroDeBalas > 0 && Balas == false && atirando == false) {
atirando = true;
StartCoroutine (TempoTiro (armas [armaAtual].tempoPorTiro));
emissorSom.clip = armas [armaAtual].somTiro;
emissorSom.PlayOneShot (emissorSom.clip);
armas [armaAtual].numeroDeBalas--;
GameObject balaTemp = Instantiate (armas [armaAtual].particulaFogo, armas [armaAtual].LugarParticula.transform.position,transform.rotation) as GameObject;
Destroy (balaTemp, 5.0f);
RaycastHit pontoDeColisao;
if(Physics.Raycast(transform.position, transform.forward, out pontoDeColisao)) {
if(pontoDeColisao.transform.gameObject.tag == TagInimigo) {
pontoDeColisao.transform.gameObject.GetComponent<TagInimigo> ().vida -= armas[armaAtual].danoPorTiro;
}
}
}
//Laser armas
if(armas[armaAtual].Miras.ativarLaser == true) {
linhaDoLaser.enabled = true;
linhaDoLaser.material.SetColor ("_TintColor", armas[armaAtual].Miras.corLaser);
luzColisao.SetActive(true);
Vector3 PontoFinalDoLaser = transform.position + (transform.forward * 500);
RaycastHit hitDoLaser;
if(Physics.Raycast (transform.position, transform.forward, out hitDoLaser, 500)) {
linhaDoLaser.SetPosition (0, armas [armaAtual].LugarParticula.transform.position);
linhaDoLaser.SetPosition (1, hitDoLaser.point);
float distancia = Vector3.Distance (transform.position, hitDoLaser.point) -0.03f;
luzColisao.transform.position = transform.position + transform.forward * distancia;
} else {
linhaDoLaser.SetPosition (0, armas[armaAtual].LugarParticula.transform.position);
linhaDoLaser.SetPosition (1, PontoFinalDoLaser);
luzColisao.transform.position = PontoFinalDoLaser;
}
} else {
linhaDoLaser.enabled = false;
luzColisao.SetActive (false);
}
//Checar limites de municao
if(armas[armaAtual].numeroDeBalas > armas [armaAtual].numeroDeBalas) {
armas [armaAtual].numeroDeBalas = armas [armaAtual].numeroDeBalas;
}else if (armas [armaAtual].numeroDeBalas < 0) {
armas [armaAtual].numeroDeBalas = 0;
}
//Numero de Balas Extras nao foi adicionado caso precise esse e o parametro
}
IEnumerator TempoTiro(float tempoDoTiro) {
yield return new WaitForSeconds (tempoDoTiro);
atirando = false;
}
void AtivarArmaAtual () {
for(int x = 0; x <armas.Length; x++) {
armas [x].objetoArma.SetActive (false);
armas [x].LugarParticula.SetActive (false);
}
armas [armaAtual].objetoArma.SetActive (true);
armas [armaAtual].LugarParticula.SetActive (true);
if(armas [armaAtual].Miras.ativarLaser == true) {
linhaDoLaser.material.color = armas [armaAtual].Miras.corLaser;
linhaDoLaser.enabled = true;
luzColisao.SetActive (true);
luzColisao.GetComponent<Light> ().color = armas [armaAtual].Miras.corLaser;
}else{
linhaDoLaser.enabled = false;
luzColisao.SetActive (false);
}
}
void OnGUI () {
if(armas [armaAtual].Miras.AtivarMiraComum == true) {
GUIStyle stylez = new GUIStyle();
stylez.alignment = TextAnchor.MiddleCenter;
GUI.skin.label.fontSize = 20;
GUI.Label (new Rect (Screen.width / 2-6, Screen.height / 2-12, 12, 22), "+");
}
}
}
O que será que pode ser ?
Assets/SCRIPTESTE/AtirarScript.cs(110,55): error CS0118: `AtirarScript.TagInimigo' is a `field' but a `type' was expected
Linha 110,55
obrigado
EvertonSantos- Iniciante
- PONTOS : 2631
REPUTAÇÃO : 1
Idade : 27
Áreas de atuação : Modelagem iniciante, programação iniciante e desenvolvedor iniciante.
Respeito as regras :
Re: ERRO SCRIPT
pelo meu conhecimento, vc esta tentando pegar um componente do tipo "TagInimigo" que esta declarada como uma String na classe,acho que nao e possivel pegar uma string como componente,
Re: ERRO SCRIPT
Verdade, acho que o erro tambem está aífelipehobs1 escreveu:pelo meu conhecimento, vc esta tentando pegar um componente do tipo "TagInimigo" que esta declarada como uma String na classe,acho que nao e possivel pegar uma string como componente,
endersoneneilsa- Membro
- PONTOS : 2759
REPUTAÇÃO : 4
Respeito as regras :
Tópicos semelhantes
» erro erro e mais erro script de craft
» erro no script PlanarReflection.cs
» Não Acho o Erro no Script - é um script para o player se mover
» erro no script
» Erro no Script- "The script needs to derived from MonoBehavior"
» erro no script PlanarReflection.cs
» Não Acho o Erro no Script - é um script para o player se mover
» erro no script
» Erro no Script- "The script needs to derived from MonoBehavior"
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos