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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Callback do Admob Vídeo Premiado ...
Problema com mutiplayer
Qual o melhor lugar para vender o jogo de PC e ganhar dinheiro sem ser a STEAM?
[____SUGESTÕES PARA O FÓRUM____]
Simples Corredores Hotel | Speed Level Design (Unity 2017)
Jogo
[TUTORIAL] Camera que segue o Player ( estilo GTA )
Script De Seleção de Objetos
SpaceInvaders - Android
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
[____NOVA ÁREA____] Projetos em andamento
[DEVLOG] Projeto Coming Back(AHOWNN town) um MMO RPG 3D Game(Protótipo)
(DUVIDA) Acessar um valor de outro Script em c#
Videos Recompensados AdMob
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[TUTORIAL] Mensagem aparecer na tela conforme a distância do jogador (Unity 5)
Direitos autorais de personagens.
Pegar item...
Fazer 4 Objetos receberem cada um uma Tag aleatoriamente
Acessar funçoes de outro script?
Criar os scrips no Android ?????
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
como Desativar do inspector no script ?
Tem um modo facil para esperar tanto tempo e ocorrer uma açao?
Mudar de scene multiplayer?
Raycast em circulos(point to ckick)
Script LUZ PISCANDO
(duvida) porque esse erro estranho acontece com o modelo do scketchup
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Como tira aquele caixinha que aparece erros ou avisos no jogo depois de fazer a build?
problema com ADMOB
Problema em dedectar a TAG
[DUVIDA] Da para colocar anúncios em jogos para PC ?
Lookat para o mais próximo
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Dano no inimigo
[Jogo] Flap OCO (Android & PC)
Como eu faço sprites ficarem escuras anoite?
Object Pooling
Como faz aparecer uma mensagem quando o jogador sair do jogo?
Inventario e craft estilo ark
como fazer o player aparecer do outro lado da porta quando muda de cena?
Quando fizer a build e recomendado deixar o architeture no x86 ou x86_64?
Como Chamar o Audio
Cenário
Unity não reconhece meu celular
Textos de UI ficão com qualidade ruim
Como faço para a musica continuar tocando quando muda de cena?
Meu script de ser morto atropelado não funciona
[RESOLVIDO] Arrumar erros
[Asset] Simple Unity Assets - Pacote de assets para Unity.
Mostrar Pontuação No Game Over
Como eu faço um ontrigger "invertido"?
[RESOLVIDO] COMO FAZ PARA FAZER 2 TERRAINS TOTALMENTE DIFERENTES DO OUTRO?
MultiPlayer Unity Para Android!
Props Animations Asset
Mostrar Pontuação no game over
Terminei o meu jogo, mas algo deu errado.
[ASSET] Facilitação de controle de objetos
Problema em listar salas
Ranking com nome
Novo jogo - Stackx
Segurança no Unity
[TUTORIAL] Entrar no carro estilo GTA
[RESOLVIDO] Tem como melhorar a colisao? os objetos entram nos outros, caem do chao ,etc..
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
DÚVIDA RECRIAR EFEITO NA UNITY
Me ofereço como escritor
Como adicionar uma força oposta a colisão no rigidbody?
Ajuda com script
[Dúvida]Erro error CS1525: Unexpected symbol 'u' em script
[Resolvido] É possível usar a unity com outros programas ? (config do pc na dúvida ;-; )
[Dúvida]Erro "UnityEngine.AI.NavMeshAgent.Stop()' is obsolete" como resolver ?
[Dúvida]Erro "Building to the assets folder is not allowed" ao tentar fazer build
[Equipe]Preciso de ajuda de um programador
CAMERA ENTRANDO NA PAREDE
como posso fazer um corpo perder a animação
Teste De Multiplayer
Como adicionar uma força oposta a colisão no rigidbody?
Usar o unity sem internet
Cenário jogo Endless Running
Photon Unity como funcina?
UM FANTASMA APARECEU NO MEU JOGO.
Como mudar cor do botao UI
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Como sincronizar objetos do client para o host
Em breve EDU_animal-controle
Preciso de level designers com conhecimento avançado no Blender
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[Duvida] Script pegar itens
Um processador de 2 nucleos versus um de 8 nucleos tem diferença na Unity?
[TUTORIAL] SALVAR JOGO AUTOMATICAMENTE
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Como faço para deixar o objeto transparente ao passar atraz?
Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Existe Alguma VOID que atualize menos que a update
Movimento dos seios e cabelo
[TUTORIAL] Barra de VIDA / HP contínua
[Modelo]Modelo Com osso[Modelo]
Hoje à(s) 1:13 am
Hoje à(s) 12:58 am
Ontem à(s) 11:46 pm
Ontem à(s) 11:27 pm
Ontem à(s) 11:27 pm
Ontem à(s) 11:26 pm
Ontem à(s) 8:48 pm
Ontem à(s) 7:57 pm
Ontem à(s) 6:24 pm
Ontem à(s) 6:08 pm
Ontem à(s) 5:41 pm
Ontem à(s) 5:35 pm
Ontem à(s) 5:32 pm
Ontem à(s) 4:17 pm
Ontem à(s) 3:51 pm
Ontem à(s) 3:47 pm
Ontem à(s) 1:06 pm
Ontem à(s) 11:15 am
Ontem à(s) 10:44 am
Ontem à(s) 7:27 am
Ontem à(s) 7:20 am
Ontem à(s) 3:46 am
Seg Nov 20, 2017 11:22 pm
Seg Nov 20, 2017 9:49 pm
Seg Nov 20, 2017 7:48 pm
Seg Nov 20, 2017 7:16 pm
Seg Nov 20, 2017 6:41 pm
Seg Nov 20, 2017 6:41 pm
Seg Nov 20, 2017 6:06 pm
Seg Nov 20, 2017 2:31 pm
Seg Nov 20, 2017 1:23 pm
Seg Nov 20, 2017 1:18 pm
Seg Nov 20, 2017 1:00 pm
Seg Nov 20, 2017 10:54 am
Seg Nov 20, 2017 5:59 am
Seg Nov 20, 2017 12:55 am
Dom Nov 19, 2017 10:05 pm
Dom Nov 19, 2017 9:52 pm
Dom Nov 19, 2017 8:15 pm
Dom Nov 19, 2017 8:07 pm
Dom Nov 19, 2017 7:13 pm
Dom Nov 19, 2017 7:01 pm
Dom Nov 19, 2017 6:43 pm
Dom Nov 19, 2017 6:15 pm
Dom Nov 19, 2017 5:23 pm
Dom Nov 19, 2017 5:13 pm
Dom Nov 19, 2017 4:21 pm
Dom Nov 19, 2017 2:43 pm
Dom Nov 19, 2017 1:26 pm
Dom Nov 19, 2017 4:10 am
Dom Nov 19, 2017 2:00 am
Sab Nov 18, 2017 10:35 pm
Sab Nov 18, 2017 5:50 pm
Sab Nov 18, 2017 1:30 pm
Sab Nov 18, 2017 10:30 am
Sab Nov 18, 2017 7:29 am
Sex Nov 17, 2017 10:05 pm
Sex Nov 17, 2017 5:10 pm
Sex Nov 17, 2017 4:43 pm
Sex Nov 17, 2017 3:20 pm
Sex Nov 17, 2017 2:01 pm
Sex Nov 17, 2017 11:46 am
Sex Nov 17, 2017 8:33 am
Sex Nov 17, 2017 12:31 am
Qui Nov 16, 2017 11:18 pm
Qui Nov 16, 2017 11:12 pm
Qui Nov 16, 2017 10:48 pm
Qui Nov 16, 2017 10:47 pm
Qui Nov 16, 2017 10:46 pm
Qui Nov 16, 2017 10:20 pm
Qui Nov 16, 2017 10:15 pm
Qui Nov 16, 2017 10:09 pm
Qui Nov 16, 2017 8:13 pm
Qui Nov 16, 2017 8:10 pm
Qui Nov 16, 2017 8:07 pm
Qui Nov 16, 2017 7:56 pm
Qui Nov 16, 2017 5:39 pm
Qui Nov 16, 2017 5:21 pm
Qui Nov 16, 2017 3:33 pm
Qui Nov 16, 2017 2:56 pm
Qui Nov 16, 2017 1:37 pm
Qui Nov 16, 2017 1:20 pm
Qui Nov 16, 2017 11:24 am
Qua Nov 15, 2017 9:32 pm
Qua Nov 15, 2017 9:00 pm
Qua Nov 15, 2017 7:05 pm
Qua Nov 15, 2017 6:05 pm
Qua Nov 15, 2017 2:09 pm
Qua Nov 15, 2017 10:35 am
Qua Nov 15, 2017 2:24 am
Ter Nov 14, 2017 9:54 pm
Ter Nov 14, 2017 9:53 pm
Ter Nov 14, 2017 6:41 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 12:00 pm
Seg Nov 13, 2017 3:12 pm
Seg Nov 13, 2017 8:27 am
Dom Nov 12, 2017 10:09 pm
Felipe Costa
dazentt55
John Rambo
MarcosSchultz
rafaelllsd
John Rambo
Phph09
recagonlei
junkflash30
glauco
recagonlei
recagonlei
recagonlei
Duarte
MarcosSchultz
MarcosSchultz
Callyde Jr
Ronnisz
googolepton
Callyde Jr
Phph09
rafaelllsd
RW.
recagonlei
Phph09
recagonlei
dimmuo
glauco
Phph09
DUT
junkflash30
DUT
ronito
recagonlei
glauco
recagonlei
DUT
DUT
Phph09
Phph09
rafaelllsd
glauco
DUT
RW.
googolepton
otavio00augusto
DUT
DUT
DUT
jamaisfiih
dimmuo
jamaisfiih
Zecandy
DUT
Phph09
Phph09
jamaisfiih
Josivaldo Augusto
BRGC
MRX
recagonlei
recagonlei
sabbath
recagonlei
luiz12345
dstaroski
rafaelllsd
recagonlei
rafaelllsd
recagonlei
recagonlei
recagonlei
PauloFR
PauloFR
PauloFR
Diego Felix
ronito
ronito
Phph09
recagonlei
jamaisfiih
MRX
dstaroski
rafaelllsd
ronito
Phph09
Unidade3d5
AnderGames
Phph09
Giwn
DUT
Zecandy
Callyde Jr
natanael.olimpio
natanael.olimpio
recagonlei
stratengine
Phph09
felipehobs1

[Ajuda] Erro ao instanciar personagems (photon)

Ver o tópico anterior Ver o tópico seguinte 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 Like a Star @ heaven

Sshisbachza
Iniciante
Iniciante

PONTOS : 397
REPUTAÇÃO : 2
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 : 397
REPUTAÇÃO : 2
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 : 858
REPUTAÇÃO : 102
Á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

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