SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Emulador em seu jogo como Descobrir
criar um app que atende a vários produtos.
Diferentes tamanhos de Textura afeta o desempenho do jogo?
Textura em 3 dimensões na Unity 2018.2??????
como atualizar o status do perfil na conta unity
[ AJUDA] Estou com problemas para acessar índice de uma Lista e realizar uma acao
Script que ao clicar em um objeto, abra um formulário
Quando a porta estiver trancada dar tipo uma tremedeira
[Projeto] Line Battle
Como Posso editar Animação Generic mixamo ?
[TUTORIAL] Sistema de EXP, upar níveis, entre outros
[AULA] Estrutura de repetição while e do while
Formação de Equipe - programadores de C# na unity
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Como fazer um analogico para rotaciona a camera do jogador? android
Como mudar de Scene sem perder os valores das variáveis
Como mudar alguma configuração de acordo com a resolução da tela?
Timer
Precisa-se de Criador de sprites.
Como criar um Reflexo falso como do Sonic Adventure?
[ FIND ME ] Game em Desenvolvimento
Compilando pra android
[AULA] Estrutura de repetição for
[AULA] Listas (List)
Como encurtar e melhorar meu código, elevador(+ dúvida sobre programação em unity)
GetActiveScene
[TUTORIAL] C# .NET | Visual Studio - conexão com banco de dados MySQL
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
(dúvida) fazer o player cair de paraquedas estilo pubg
[TUTORIAL] Como criar cénarios 2D muito rapido e facil.
Porta "bugada"
[TUTORIAL] C# .NET | Cores aleatorias RGB
RECRUTA-SE DESIGNER PARA JOGO ONLINE..
[PROJETO MOBILE] Defeat the Illuminatis
Script de porta trancada com audio
Animation Fps
[RESOLVIDO] Problema com StartCoroutine
[RESOLVIDO] Erro ao usar DLL/Biblioteca do Mysql
R7 - GOOH (resident evil 7)
[ NONAME ] Procura de pessoas interessadas
FPS - Armas e balas
Voice Chat
Jogo - Board Challenge Free
[RESOLVIDO] Gerenciador de arquivos CSV
Editor de vídeo gratuito.
Erro ao usar WWW na unity
[RESOLVIDO] color.a diminuir gradualmente
Pack de áudio/ efeitos sonoros gratuitos.
[TUTORIAL] Cursor do mouse não aparecer durante o jogo
Se eu fazer uma animação diferente pra cada personagem,vai pesar ?
Como fazer um sistema de se esconder?
Dragon Bones [software]
Auto-Update de forma rápida, simples e barata.
Como fazer um botão Joystick que controle o First Person Controller?
Cloud Save por arquivo binario no google play services
[RESOLVIDO] Como editar o texto que eu selecionar ? - (InputField)
Como verificar uma colisão constante ?
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Como fazer ótimo FPSController com full body?
onde publicar os trabalhos prontos.
[RESOLVIDO] Como usar "?" e ":" ?
[RESOLVIDO] Detectar colisão usando if em C#?
[ENQUETE OFICIAL] Você está vendo o CHAT DO FÓRUM?????
SCRIPT LANTERNA
Como desenvolver uma CALCULADORA
Diferença entre Dictionary e Classes[]
[TUTORIAL] Banco de dados || MySQL
Corrida infinita
DESIGN PATTERN MVC - DÚVIDA SOBRE UNITYACTION E UNITYEVENT
Transformar modelos reais(pessoas) em modelos 3D
carregar nova cena java script e multiplayer
[AULA] Programação orientada a objetos: Classes e instâncias
[Em Desenvolvimento] Battles of Worlds
Baixe grátis modelos 3D - Hospital + objetos e personagens equipados com ossos
[TUTORIAL] Sistema de carro complexo.
[AULA] O que é programação orientada a objetos? POO
[TUTORIAL] Criar efeito Paralláx com UI
[Dica] Como estudar as Classe ou Funçoes da Unity no VS
FPSController é possível usa-lo com o Photon?
Alguém para testar alguns jogos meus (Saber se estão legais, se tem bugs e tals)
Unity Ads / Admob
Script para login na Google Play Games não funciona
[FORMAÇÃO DE EQUIPE] Degubel Team
Transição suave
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[RESOLVIDO] Script individual
Desenvolvimento Mobile (Resolução e Google Play Games)
Cursor não apareçe
[Projeto]Simples The Dolls Battle
Duvidas com Unet Criando um Servidor Online
Ajuda com Historia
Problemas com resolução da tela do Android.
[TUTORIAL] Sistema de Oficina de Carros
[TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D
(Dúvida) Adicionar variavel do CustomEditor em classe.
Bug textura, SketchUp para Unity 3d
Como receber a avaliação dos jogadores?
Ontem à(s) 10:11 pm
Ontem à(s) 9:32 pm
Ontem à(s) 9:21 pm
Ontem à(s) 8:50 pm
Ontem à(s) 8:15 pm
Ontem à(s) 7:47 pm
Ontem à(s) 7:43 pm
Ontem à(s) 6:40 pm
Ontem à(s) 5:01 pm
Ontem à(s) 4:01 pm
Ontem à(s) 3:08 pm
Ontem à(s) 2:11 pm
Ontem à(s) 2:11 pm
Ontem à(s) 2:08 pm
Ontem à(s) 1:32 pm
Ontem à(s) 9:55 am
Dom Jul 15, 2018 11:46 pm
Dom Jul 15, 2018 10:34 pm
Dom Jul 15, 2018 10:32 pm
Dom Jul 15, 2018 10:03 pm
Dom Jul 15, 2018 9:15 pm
Dom Jul 15, 2018 2:05 pm
Dom Jul 15, 2018 12:42 am
Dom Jul 15, 2018 12:35 am
Sab Jul 14, 2018 11:38 pm
Sab Jul 14, 2018 8:06 pm
Sab Jul 14, 2018 6:54 pm
Sab Jul 14, 2018 4:24 pm
Sab Jul 14, 2018 4:23 pm
Sab Jul 14, 2018 9:44 am
Sab Jul 14, 2018 9:42 am
Sab Jul 14, 2018 12:58 am
Sex Jul 13, 2018 11:09 pm
Sex Jul 13, 2018 10:20 pm
Sex Jul 13, 2018 8:28 pm
Sex Jul 13, 2018 2:50 pm
Sex Jul 13, 2018 2:13 pm
Sex Jul 13, 2018 12:39 pm
Sex Jul 13, 2018 11:01 am
Sex Jul 13, 2018 10:31 am
Sex Jul 13, 2018 8:53 am
Qui Jul 12, 2018 11:07 pm
Qui Jul 12, 2018 10:52 pm
Qui Jul 12, 2018 10:14 pm
Qui Jul 12, 2018 9:27 pm
Qui Jul 12, 2018 8:05 pm
Qui Jul 12, 2018 7:33 pm
Qui Jul 12, 2018 7:12 pm
Qui Jul 12, 2018 6:29 pm
Qui Jul 12, 2018 6:11 pm
Qui Jul 12, 2018 5:04 pm
Qui Jul 12, 2018 4:10 pm
Qui Jul 12, 2018 3:41 pm
Qui Jul 12, 2018 3:05 pm
Qui Jul 12, 2018 11:38 am
Qui Jul 12, 2018 10:27 am
Qui Jul 12, 2018 10:27 am
Qui Jul 12, 2018 10:05 am
Qui Jul 12, 2018 9:51 am
Qui Jul 12, 2018 1:16 am
Qua Jul 11, 2018 7:25 pm
Qua Jul 11, 2018 6:33 pm
Qua Jul 11, 2018 5:24 pm
Qua Jul 11, 2018 1:44 pm
Ter Jul 10, 2018 7:54 pm
Ter Jul 10, 2018 6:23 pm
Ter Jul 10, 2018 5:37 pm
Ter Jul 10, 2018 2:14 pm
Ter Jul 10, 2018 1:09 pm
Ter Jul 10, 2018 11:48 am
Ter Jul 10, 2018 10:02 am
Ter Jul 10, 2018 9:56 am
Ter Jul 10, 2018 3:01 am
Seg Jul 09, 2018 5:45 pm
Seg Jul 09, 2018 5:26 pm
Seg Jul 09, 2018 4:00 pm
Seg Jul 09, 2018 2:16 pm
Seg Jul 09, 2018 9:33 am
Seg Jul 09, 2018 9:28 am
Dom Jul 08, 2018 11:15 pm
Dom Jul 08, 2018 1:38 pm
Dom Jul 08, 2018 12:25 pm
Dom Jul 08, 2018 10:27 am
Dom Jul 08, 2018 9:00 am
Dom Jul 08, 2018 12:37 am
Sab Jul 07, 2018 10:27 pm
Sab Jul 07, 2018 10:07 pm
Sab Jul 07, 2018 9:50 pm
Sab Jul 07, 2018 9:16 pm
Sab Jul 07, 2018 9:16 pm
Sab Jul 07, 2018 1:22 pm
Sab Jul 07, 2018 12:25 pm
Sab Jul 07, 2018 11:22 am
Sab Jul 07, 2018 10:04 am
Sab Jul 07, 2018 8:30 am
Sab Jul 07, 2018 1:02 am
Sex Jul 06, 2018 5:41 pm
Sex Jul 06, 2018 5:03 pm
Sex Jul 06, 2018 5:03 pm
fabriciorsz34
Isabela
Isabela
LucioHenrique890
marciosilva
Tiago95
MayLeone
LucioHenrique890
MRX
natanael.olimpio
andradetd
NKKF
NKKF
NKKF
FelipeSouza11
dstaroski
Nalfam
hetrodo
LucioHenrique890
dkrazor
dstaroski
NKKF
Tegh
Tegh
AprDev
NKKF
Tegh
dstaroski
dstaroski
gcs13
gcs13
LucioHenrique890
Nalfam
Tegh
Picode
dstaroski
dstaroski
FelipeGD
igorobm
igorobm
RafaelSquid1
Locodapraça
LucioHenrique890
FelipeGD
FelipeGD
NKKF
Nalfam
NKKF
Eduardoro39
FelipeGD
FelipeGD
FelipeGD
RafaelSquid1
Zack2
NKKF
RafaelSquid1
jhobert77
Tiago95
NKKF
FelipeGD
FelipeGD
marciosilva
PauloFR
Lorena Martins
zZAndersonZz
Phph09
EduFall
MayLeone
kaique2346
passarinho69
NKKF
Isabela
LucioHenrique890
NKKF
Dom3000
MrTFGamer1
LucioHenrique890
Tegh
Tegh
Tegh
loganout
GamersBR
artplayer
marcos4503
Santos
NKKF
dstaroski
Priste_Hell
NKKF
NKKF
FelipeSouza11
fecirineu
julioou
NKKF
jeffinho17
MarcosSchultz
rafaelllsd
MarcosSchultz
Phph09

[Ajuda] Erro ao instanciar personagems (photon)

Ir em baixo

DÚVIDA [Ajuda] Erro ao instanciar personagems (photon)

Mensagem por Sshisbachza em Sex Jul 07, 2017 1:45 pm

Olá, Tenho um sistema de escolha de times,quando seleciono o time e logo na scene do jogo os personagems não se instanciam e da erro na linha photon view. o jogo é um moba onde você controla 3 personagems



Script SelecionarTime;
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class SelecionarTime : MonoBehaviour {

   public static int team = -1;
   //0 = blue
   //1 = red
   public GameObject ButtonRed;
   public GameObject ButtonBlue;

   public void Update(){

   }

   public void SelectTeamS(int teams){
      if (teams == 0) {
         team = 0;
      }
      if (teams == 1) {
         team = 1;
      }
   }

   public void Hide(){
   }
   public void ClickButtonRed(){
      ButtonRed.SetActive (false);
      team = 1;
      Application.LoadLevel ("GamePlay");
   }
   public void ClickButtonBlue(){
      ButtonBlue.SetActive (false);
      team = 0;
      Application.LoadLevel ("GamePlay");
   }
}

Script SpawnPlayers:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SpawnPlayers : Photon.MonoBehaviour {

   public GameObject spawnteamblue;
   public GameObject spawnteamred;


   void Start () {
      PhotonNetwork.ConnectUsingSettings("0.9");
   }
   
   // Update is called once per frame
   void Update () {
      Debug.Log (SelecionarTime.team);
      if (SelecionarTime.team == 0) {
         if (photonView.isMine) {
            PhotonNetwork.Instantiate ("Player_Healer", spawnteamred.transform.position, Quaternion.identity, 0);
            PhotonNetwork.Instantiate ("Player_Magic", spawnteamred.transform.position, Quaternion.identity, 0);
            PhotonNetwork.Instantiate ("Player_Knight", spawnteamred.transform.position, Quaternion.identity, 0);
         }
      }
      if (SelecionarTime.team == 1) {
         if (photonView.isMine) {
            PhotonNetwork.Instantiate ("Player_Healer", spawnteamblue.transform.position, Quaternion.identity, 0);
            PhotonNetwork.Instantiate ("Player_Magic", spawnteamblue.transform.position, Quaternion.identity, 0);
            PhotonNetwork.Instantiate ("Player_Knight", spawnteamblue.transform.position, Quaternion.identity, 0);
         }
      }
   }

}


Agradeço desde já quem puder ajudar.

Obrigado! :bounce: ⭐

Sshisbachza
Iniciante
Iniciante

PONTOS : 640
REPUTAÇÃO : 3
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Ajuda] Erro ao instanciar personagems (photon)

Mensagem por Sshisbachza em Sex Jul 07, 2017 1:52 pm

Esqueci de uma coisinha kkk, se eu tiro o if do photon view, ele me retorna outro erro



Script do erro: (Linha 87)
Código:
/// <summary>
/// This script use for control state of character.
/// </summary>

using UnityEngine;
using System.Collections;

public class Controller : MonoBehaviour {

   public enum TypeChatacter{ //Type of character
      Melee, Range, Healer   
   }
   
   public enum ActionStat{ //State of character
      Idle, Move, Action, Skill, Dead
   }
   
   public TypeChatacter typeCharacter;
   public AnimationClip idle, walk, action, cast_1, cast_2, skill_1, skill_2, dead; //animation character
   public GameObject[] objMeshAndSkinMesh; //Gameobject Mesh use for change color material when taking attack
   public Texture2D icon_Skill_1, icon_Skill_2; //Icon skill
   public Texture2D textureHpFull, textureHpEmpty; //hp bar
   public Color colorTakeDamage; //color when character take damage
   
   //Status Character
   public float maxhp; //Max hp
   public float def; //Defend
   public float speedMove; //Speed movement
   public float actionValue; //If character is Melee,Range it mean Attack , If character is Healer it mean Healing power
   public float skill_1_Value; //Skill 1 Damage
   public float skill_2_Value; //Skill 2 Damage
   public float actionSpeed; //If character is Melee,Range it mean AttackSpeed , If character is Healer it mean Healing speed
   public float distanceAction; //Distance attack , Distance heal
   public float deley_Cast_Skill_1; //Cast skill timer
   public float deley_Cast_Skill_2; //Cast skill timer
   public float coolDown_Skill_1; //Cooldown to use skill 1 again
   public float coolDown_Skill_2; //Cooldown to use skill 2 again
   
   
   //Variable private field
   private float countCastSkill_1;
   private float countCastSkill_2;
   private float countAction;
   private float checkDistance;
   private Vector3 pointHp;
    private Rect rectHp;
   
   //Delegate update function
   public delegate void FunctionHandle();
   public FunctionHandle ActionHandle;
   public FunctionHandle SkillHandle;
   
   [HideInInspector]
   public GameObject target;
   
   [HideInInspector]
   public float damageGet;
   
   [HideInInspector]
   public Vector3 positionWay;
   [HideInInspector]
   public ActionStat actionStat;
   [HideInInspector]
   public bool active;
   [HideInInspector]
   public float value_CoolDown_Skill_1,value_CoolDown_Skill_2;
   [HideInInspector]
   public float hp;
   [HideInInspector]
   public Transform pointSpell;
   
   void Start(){
      ActionHandle = Action_1;
      hp = maxhp;
   }
   
   void Update(){
      UpdateActionStat();   
   }
   
   void OnGUI(){
      //Draw hp GUI on character
      Vector3 pointTransform = Vector3.zero;
      pointTransform.x = transform.position.x;
      pointTransform.y = transform.position.y+1.5f;
      pointTransform.z = transform.position.z;
      pointHp = TouchController.instance.cameraTarget.WorldToScreenPoint(pointTransform);
      rectHp.width = 100;
      rectHp.height = 10;
      rectHp.x = pointHp.x-(rectHp.width/2);
      rectHp.y = Screen.height-pointHp.y-(rectHp.height/2);
      GUI.DrawTexture(rectHp,textureHpEmpty);
      GUI.BeginGroup(rectHp,"");
      GUI.DrawTexture(new Rect(0,0,100*(hp/maxhp),rectHp.height),textureHpFull);
      GUI.EndGroup();
   }
   
   void UpdateActionStat(){
      
      //Hero State animation
      switch(actionStat){
         case ActionStat.Idle:{
            if(actionStat != ActionStat.Dead){
               GetComponent<Animation>().CrossFade(idle.name);
            }
         }
         break;
         
         case ActionStat.Move:{
            if(actionStat != ActionStat.Dead){
               checkDistance = Vector3.Distance(transform.position, LookAtTo(positionWay));
               if(checkDistance >= 1){
                  GetComponent<Animation>().CrossFade(walk.name);
                  transform.Translate(Vector3.forward*speedMove*Time.deltaTime);
               }else{
                  actionStat = ActionStat.Idle;
               }
            }
         }
         break;
         
         case ActionStat.Action:{
            if(actionStat != ActionStat.Dead){
               if(target != null){
                  checkDistance = (transform.position - LookAtTo(target.transform.position)).magnitude;
                  if(checkDistance >= distanceAction){
                     if(GetComponent<Animation>()[action.name].normalizedTime <= 0){
                        GetComponent<Animation>().CrossFade(walk.name);
                        transform.Translate(Vector3.forward*speedMove*Time.deltaTime);
                     }
                  }else{
                     ActionHandle();
                     if(target.GetComponent<Enemy>() != null && target.GetComponent<Enemy>().hp <= 0){
                           target = null;
                     }
                  }
               }else{
                  actionStat = ActionStat.Idle;
               }
            }
         }
         break;
         
         case ActionStat.Skill:{
            if(actionStat != ActionStat.Dead){
               if(SkillHandle != null){
                  SkillHandle();
               }
            }
         }
         break;
         
         case ActionStat.Dead:{
            GetComponent<Animation>().CrossFade(dead.name);
            Destroy(gameObject,4);
         }
         break;
      }
   }
   
   private Vector3 LookAtTo(Vector3 pos){
      //Lookat Monster
      Vector3 look = Vector3.zero;
      look.x = pos.x;
      look.y = transform.position.y;
      look.z = pos.z;
      try{
         this.transform.LookAt(look);
      }catch{
         Debug.Log("None Look");   
      }
      return look;
   }
   
   private void Action_1(){
      //Wait delay attack
      GetComponent<Animation>().CrossFade(idle.name);
      countAction += actionSpeed * Time.smoothDeltaTime;
      if(countAction >= 100){
         countAction = 0;
         ActionHandle = Action_2;   
      }
   }
   
   private void Action_2(){
      //Attack
      GetComponent<Animation>().Play(action.name);
      if(GetComponent<Animation>()[action.name].normalizedTime > 0.9f){
         ActionHandle = Action_1;   
      }
   }
   
   public void Skill_1_Cast(){
      //Cast Skill 1
      GetComponent<Animation>().Play(cast_1.name);
      countCastSkill_1 += 1 * Time.smoothDeltaTime;
      if(countCastSkill_1 >= deley_Cast_Skill_1){
         SkillHandle = Skill_1_Action;
         countCastSkill_1 = 0;
      }
   }
   
   public void Skill_1_Action(){
      //Skill 1
      GetComponent<Animation>().CrossFade(skill_1.name);
      Debug.Log("Skill_1");
      if(GetComponent<Animation>()[skill_1.name].normalizedTime > 0.9f){
         if(target != null){
            actionStat = ActionStat.Action;
         }else{
            actionStat = ActionStat.Idle;
         }
         SkillHandle = null;
      }
   }
   
   public void Skill_2_Cast(){
      //Cast Skill 2
      GetComponent<Animation>().Play(cast_2.name);
      countCastSkill_2 += 1 * Time.smoothDeltaTime;
      if(countCastSkill_2 >= deley_Cast_Skill_2){
         SkillHandle = Skill_2_Action;
         countCastSkill_2 = 0;
      }
   }
   
   public void Skill_2_Action(){
      //Skill 2
      GetComponent<Animation>().CrossFade(skill_2.name);
      if(GetComponent<Animation>()[skill_2.name].normalizedTime > 0.9f){
         if(target != null){
            actionStat = ActionStat.Action;
         }else{
            actionStat = ActionStat.Idle;
         }
         SkillHandle = null;
      }
   }
   
   public void TakingDamage(){
      //if take damage material monster will change to white color
      int index = 0;
      while(index < objMeshAndSkinMesh.Length){
         objMeshAndSkinMesh[index].GetComponent<Renderer>().material.color = Color.white;
         index++;
      }
      
      StartCoroutine(TakeDamage(0.1f));
   }
   
   public void InitTextDamage(Color colorText){
      // Init text damage
      GameObject loadPref = (GameObject)Resources.Load("TextDamage");
      GameObject go = (GameObject)Instantiate(loadPref, transform.position, Quaternion.identity);
      go.GetComponentInChildren<TextDamage>().SetDamage(damageGet, colorText);
   }
   
   public void AddBuff(float buffValue, float time){
      // Buff value
      actionValue += buffValue;
      skill_1_Value += buffValue;
      skill_2_Value += buffValue;
      StartCoroutine(BuffCount(buffValue, time));
   }
   
   private IEnumerator BuffCount(float buffValue ,float time){
      // Buff duration
      yield return new WaitForSeconds(time);
      actionValue -= buffValue;
      skill_1_Value -= buffValue;
      skill_2_Value -= buffValue;
   }
   
   private IEnumerator TakeDamage(float time){
      //if take damage material monster will change to setting color
      int index = 0;
      Color[] colorDef = new Color[objMeshAndSkinMesh.Length];
      while(index < objMeshAndSkinMesh.Length){
         colorDef[index] = objMeshAndSkinMesh[index].GetComponent<Renderer>().material.color;
         objMeshAndSkinMesh[index].GetComponent<Renderer>().material.color = colorTakeDamage;
         index++;
      }
      yield return new WaitForSeconds(time);
      index = 0;
      while(index < objMeshAndSkinMesh.Length){
         objMeshAndSkinMesh[index].GetComponent<Renderer>().material.color = colorDef[index];
         index++;
      }
      yield return 0;
      StopCoroutine("TakeDamage");
   }
   
   private IEnumerator CalCoolDownSkill_1(){
      //Cooldown skill 1
      float countCoolDown = coolDown_Skill_1;
      while(countCoolDown > 0){
         countCoolDown -= 1 * Time.smoothDeltaTime;
         value_CoolDown_Skill_1 = countCoolDown/coolDown_Skill_1;
         yield return 0;
      }
      yield return 0;
   }
   
   private IEnumerator CalCoolDownSkill_2(){
      //Cooldown skill 2
      float countCoolDown = coolDown_Skill_2;
      while(countCoolDown > 0){
         countCoolDown -= 1 * Time.smoothDeltaTime;
         value_CoolDown_Skill_2 = countCoolDown/coolDown_Skill_2;
         yield return 0;
      }
      yield return 0;
   }
}

Sshisbachza
Iniciante
Iniciante

PONTOS : 640
REPUTAÇÃO : 3
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Ajuda] Erro ao instanciar personagems (photon)

Mensagem por fecirineu em Sex Jul 07, 2017 2:59 pm

@Sshisbachza escreveu:Esqueci de uma coisinha kkk, se eu tiro o if do photon view, ele me retorna outro erro



Script do erro: (Linha 87)
Código:
/// <summary>
/// This script use for control state of character.
/// </summary>

using UnityEngine;
using System.Collections;

public class Controller : MonoBehaviour {

 public enum TypeChatacter{ //Type of character
 Melee, Range, Healer
 }
 
 public enum ActionStat{ //State of character
 Idle, Move, Action, Skill, Dead
 }
 
 public TypeChatacter typeCharacter;
 public AnimationClip idle, walk, action, cast_1, cast_2, skill_1, skill_2, dead; //animation character
 public GameObject[] objMeshAndSkinMesh; //Gameobject Mesh use for change color material when taking attack
 public Texture2D icon_Skill_1, icon_Skill_2; //Icon skill
 public Texture2D textureHpFull, textureHpEmpty; //hp bar
 public Color colorTakeDamage; //color when character take damage
 
 //Status Character
 public float maxhp; //Max hp
 public float def; //Defend
 public float speedMove; //Speed movement
 public float actionValue; //If character is Melee,Range it mean Attack , If character is Healer it mean Healing power
 public float skill_1_Value; //Skill 1 Damage
 public float skill_2_Value; //Skill 2 Damage
 public float actionSpeed; //If character is Melee,Range it mean AttackSpeed , If character is Healer it mean Healing speed
 public float distanceAction; //Distance attack , Distance heal
 public float deley_Cast_Skill_1; //Cast skill timer
 public float deley_Cast_Skill_2; //Cast skill timer
 public float coolDown_Skill_1; //Cooldown to use skill 1 again
 public float coolDown_Skill_2; //Cooldown to use skill 2 again
 
 
 //Variable private field
 private float countCastSkill_1;
 private float countCastSkill_2;
 private float countAction;
 private float checkDistance;
 private Vector3 pointHp;
    private Rect rectHp;
 
 //Delegate update function
 public delegate void FunctionHandle();
 public FunctionHandle ActionHandle;
 public FunctionHandle SkillHandle;
 
 [HideInInspector]
 public GameObject target;
 
 [HideInInspector]
 public float damageGet;
 
 [HideInInspector]
 public Vector3 positionWay;
 [HideInInspector]
 public ActionStat actionStat;
 [HideInInspector]
 public bool active;
 [HideInInspector]
 public float value_CoolDown_Skill_1,value_CoolDown_Skill_2;
 [HideInInspector]
 public float hp;
 [HideInInspector]
 public Transform pointSpell;
 
 void Start(){
 ActionHandle = Action_1;
 hp = maxhp;
 }
 
 void Update(){
 UpdateActionStat();
 }
 
 void OnGUI(){
 //Draw hp GUI on character
 Vector3 pointTransform = Vector3.zero;
 pointTransform.x = transform.position.x;
 pointTransform.y = transform.position.y+1.5f;
 pointTransform.z = transform.position.z;
 pointHp = TouchController.instance.cameraTarget.WorldToScreenPoint(pointTransform);
 rectHp.width = 100;
 rectHp.height = 10;
 rectHp.x = pointHp.x-(rectHp.width/2);
 rectHp.y = Screen.height-pointHp.y-(rectHp.height/2);
 GUI.DrawTexture(rectHp,textureHpEmpty);
 GUI.BeginGroup(rectHp,"");
 GUI.DrawTexture(new Rect(0,0,100*(hp/maxhp),rectHp.height),textureHpFull);
 GUI.EndGroup();
 }
 
 void UpdateActionStat(){
 
 //Hero State animation
 switch(actionStat){
 case ActionStat.Idle:{
 if(actionStat != ActionStat.Dead){
 GetComponent<Animation>().CrossFade(idle.name);
 }
 }
 break;
 
 case ActionStat.Move:{
 if(actionStat != ActionStat.Dead){
 checkDistance = Vector3.Distance(transform.position, LookAtTo(positionWay));
 if(checkDistance >= 1){
 GetComponent<Animation>().CrossFade(walk.name);
 transform.Translate(Vector3.forward*speedMove*Time.deltaTime);
 }else{
 actionStat = ActionStat.Idle;
 }
 }
 }
 break;
 
 case ActionStat.Action:{
 if(actionStat != ActionStat.Dead){
 if(target != null){
 checkDistance = (transform.position - LookAtTo(target.transform.position)).magnitude;
 if(checkDistance >= distanceAction){
 if(GetComponent<Animation>()[action.name].normalizedTime <= 0){
 GetComponent<Animation>().CrossFade(walk.name);
 transform.Translate(Vector3.forward*speedMove*Time.deltaTime);
 }
 }else{
 ActionHandle();
 if(target.GetComponent<Enemy>() != null && target.GetComponent<Enemy>().hp <= 0){
 target = null;
 }
 }
 }else{
 actionStat = ActionStat.Idle;
 }
 }
 }
 break;
 
 case ActionStat.Skill:{
 if(actionStat != ActionStat.Dead){
 if(SkillHandle != null){
 SkillHandle();
 }
 }
 }
 break;
 
 case ActionStat.Dead:{
 GetComponent<Animation>().CrossFade(dead.name);
 Destroy(gameObject,4);
 }
 break;
 }
 }
 
 private Vector3 LookAtTo(Vector3 pos){
 //Lookat Monster
 Vector3 look = Vector3.zero;
 look.x = pos.x;
 look.y = transform.position.y;
 look.z = pos.z;
 try{
 this.transform.LookAt(look);
 }catch{
 Debug.Log("None Look");
 }
 return look;
 }
 
 private void Action_1(){
 //Wait delay attack
 GetComponent<Animation>().CrossFade(idle.name);
 countAction += actionSpeed * Time.smoothDeltaTime;
 if(countAction >= 100){
 countAction = 0;
 ActionHandle = Action_2;
 }
 }
 
 private void Action_2(){
 //Attack
 GetComponent<Animation>().Play(action.name);
 if(GetComponent<Animation>()[action.name].normalizedTime > 0.9f){
 ActionHandle = Action_1;
 }
 }
 
 public void Skill_1_Cast(){
 //Cast Skill 1
 GetComponent<Animation>().Play(cast_1.name);
 countCastSkill_1 += 1 * Time.smoothDeltaTime;
 if(countCastSkill_1 >= deley_Cast_Skill_1){
 SkillHandle = Skill_1_Action;
 countCastSkill_1 = 0;
 }
 }
 
 public void Skill_1_Action(){
 //Skill 1
 GetComponent<Animation>().CrossFade(skill_1.name);
 Debug.Log("Skill_1");
 if(GetComponent<Animation>()[skill_1.name].normalizedTime > 0.9f){
 if(target != null){
 actionStat = ActionStat.Action;
 }else{
 actionStat = ActionStat.Idle;
 }
 SkillHandle = null;
 }
 }
 
 public void Skill_2_Cast(){
 //Cast Skill 2
 GetComponent<Animation>().Play(cast_2.name);
 countCastSkill_2 += 1 * Time.smoothDeltaTime;
 if(countCastSkill_2 >= deley_Cast_Skill_2){
 SkillHandle = Skill_2_Action;
 countCastSkill_2 = 0;
 }
 }
 
 public void Skill_2_Action(){
 //Skill 2
 GetComponent<Animation>().CrossFade(skill_2.name);
 if(GetComponent<Animation>()[skill_2.name].normalizedTime > 0.9f){
 if(target != null){
 actionStat = ActionStat.Action;
 }else{
 actionStat = ActionStat.Idle;
 }
 SkillHandle = null;
 }
 }
 
 public void TakingDamage(){
 //if take damage material monster will change to white color
 int index = 0;
 while(index < objMeshAndSkinMesh.Length){
 objMeshAndSkinMesh[index].GetComponent<Renderer>().material.color = Color.white;
 index++;
 }
 
 StartCoroutine(TakeDamage(0.1f));
 }
 
 public void InitTextDamage(Color colorText){
 // Init text damage
 GameObject loadPref = (GameObject)Resources.Load("TextDamage");
 GameObject go = (GameObject)Instantiate(loadPref, transform.position, Quaternion.identity);
 go.GetComponentInChildren<TextDamage>().SetDamage(damageGet, colorText);
 }
 
 public void AddBuff(float buffValue, float time){
 // Buff value
 actionValue += buffValue;
 skill_1_Value += buffValue;
 skill_2_Value += buffValue;
 StartCoroutine(BuffCount(buffValue, time));
 }
 
 private IEnumerator BuffCount(float buffValue ,float time){
 // Buff duration
 yield return new WaitForSeconds(time);
 actionValue -= buffValue;
 skill_1_Value -= buffValue;
 skill_2_Value -= buffValue;
 }
 
 private IEnumerator TakeDamage(float time){
 //if take damage material monster will change to setting color
 int index = 0;
 Color[] colorDef = new Color[objMeshAndSkinMesh.Length];
 while(index < objMeshAndSkinMesh.Length){
 colorDef[index] = objMeshAndSkinMesh[index].GetComponent<Renderer>().material.color;
 objMeshAndSkinMesh[index].GetComponent<Renderer>().material.color = colorTakeDamage;
 index++;
 }
 yield return new WaitForSeconds(time);
 index = 0;
 while(index < objMeshAndSkinMesh.Length){
 objMeshAndSkinMesh[index].GetComponent<Renderer>().material.color = colorDef[index];
 index++;
 }
 yield return 0;
 StopCoroutine("TakeDamage");
 }
 
 private IEnumerator CalCoolDownSkill_1(){
 //Cooldown skill 1
 float countCoolDown = coolDown_Skill_1;
 while(countCoolDown > 0){
 countCoolDown -= 1 * Time.smoothDeltaTime;
 value_CoolDown_Skill_1 = countCoolDown/coolDown_Skill_1;
 yield return 0;
 }
 yield return 0;
 }
 
 private IEnumerator CalCoolDownSkill_2(){
 //Cooldown skill 2
 float countCoolDown = coolDown_Skill_2;
 while(countCoolDown > 0){
 countCoolDown -= 1 * Time.smoothDeltaTime;
 value_CoolDown_Skill_2 = countCoolDown/coolDown_Skill_2;
 yield return 0;
 }
 yield return 0;
 }
}
este  erro não tem nada a ver com photon, este erro, estar no  pointHp vector3. ele não está achando a referencia do objeto.. verifique se esta tudo linkado corretamente no inspector..
avatar
fecirineu
ProgramadorMaster

Masculino PONTOS : 1153
REPUTAÇÃO : 119
Áreas de atuação : Programação C#,VB,VBNET,MySQL,HTML,CSS,PHP.

Respeito as regras :

Ver perfil do usuário http://gamesbr.cf/

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum