I am using Unity3D and I have a problem. I have a script which instantiates the player gameobject once you are connected to the server. I also have an attack script. When there is only 1 player on, everything works fine. When the second player comes on, the attack doesn't work! I did Debug.Log and I found out that when you clicked the other player to attack instead of attacking him, you are attacking the terrain below it.
Here is my code. Instantiate Code:
GameObject myPlayer = PhotonNetwork.Instantiate (
character,
mySpawn.transform.position,
mySpawn.transform.rotation, 0) as GameObject;
Attack code:
using UnityEngine;
using System.Collections;
public class SendAttackInfo : Photon.MonoBehaviour
{
public float damage = 100;
// Use this for initialization
void Start()
{
}
void Update()
{
bool RMB = Input.GetMouseButtonDown(0);
if (RMB)
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit, 100))
{
Debug.Log("We arm-hit: " + hit.collider.name);
hit.collider.transform.gameObject.GetComponent<PhotonView>().RPC(
"ApplyDamage",
PhotonTargets.AllBuffered,
damage);
hit.collider.transform.FindChild("Cube").GetComponent<PhotonView>().RPC(
"ApplyDamage",
PhotonTargets.AllBuffered,
damage);
}
}
}
}