- Home /
Photon Is mine
I am working on a racing game and I have a problem, when i enters a room and spawn to the ground it works fine but when another player enters he turns his camera into my camera and he can control my vehicle
(CSharp):
void Awake()
{
SpawnPlayer();
}
public void SpawnPlayer()
{
Vector3 p = Vector3.zero;
Quaternion r = Quaternion.identity;
//Get Position and rotation from a spawnPoint
GetSpawnPoint(out p, out r);
SpawnPlayer(p, r);
}
public void SpawnPlayer(Vector3 Position, Quaternion Rotation)
{
if (PlayerPrefab == null)
{
Debug.Log("Player Prefabs I was not assigned yet!");
return;
}
//Sure of have just only player on room
if (m_Player != null)
{
if (m_Player.GetComponent<bl_PlayerCar>().isPlayerInsideVehicle)
{
m_Player.GetComponent<bl_PlayerCar>().ExitVehicle();
}
NetworkDestroy(m_Player);
}
StartCoroutine(CountStart());
Vector3 fp = Position + Vector3.up;
m_Player = PhotonNetwork.Instantiate(PlayerPrefab.name, fp, Rotation, 0);
if (photonView.IsMine)
{
SkyCamera.SetActive(false);
((MonoBehaviour)m_Player.GetComponent("CarController")).enabled = true;
((MonoBehaviour)m_Player.GetComponent("CarUserControl")).enabled = true;
m_Player.transform.Find("VehicleCamera").gameObject.SetActive(true);
}
else
{
SkyCamera.SetActive(false);
((MonoBehaviour)m_Player.GetComponent("CarController")).enabled = true;
((MonoBehaviour)m_Player.GetComponent("CarUserControl")).enabled = true;
m_Player.transform.Find("VehicleCamera").gameObject.SetActive(true);
}
Answer by waseemriaztanha590 · Feb 17 at 08:57 AM
Create empty GameObject and add script on it
using System.Collections; using System.Collections.Generic; using UnityEngine; using Photon.Pun; using Photon.Realtime;
public class PixelGunGameManager : MonoBehaviourPunCallbacks { [SerializeField] GameObject PlayerPrefabs; // Start is called before the first frame update void Start() { if (PhotonNetwork.IsConnected) { if (PlayerPrefabs != null) { int randomPoint = Random.Range(-20, 20); PhotonNetwork.Instantiate(PlayerPrefabs.name, new Vector3(randomPoint, 0, randomPoint), Quaternion.identity); }
}
}
// Update is called once per frame
void Update()
{
}
public override void OnJoinedRoom()
{
Debug.Log(PhotonNetwork.NickName + "Joined to " + PhotonNetwork.CurrentRoom.Name);
}
public override void OnPlayerEnteredRoom(Player newPlayer)
{
Debug.Log(newPlayer.NickName + "Joined to " + PhotonNetwork.CurrentRoom.Name+""+PhotonNetwork.CurrentRoom.PlayerCount);
}
}
Check it
Your answer
Follow this Question
Related Questions
Player dies when it Hits/crushes a block 2 Answers
variable from another script doesn't update 0 Answers
I want to move the camera by swiping horizontaly (Mobile Input). 1 Answer
How do I change the camera automatically after a set timer? 1 Answer
Load different render textures into Raw image object 0 Answers