Raycast Hit on a Server Object?
Basically I have a cube that spawns when the server is created using NetworkServer.SpawnObjects();. The shooting mechanic in my game is used with raycast shooting, but I cannot get it to register that it hit an object that belonged to the server. I seem to be only able to shoot it locally, I also do have a box collider on it, as well as the correct tag. Thanks for the help, and I did already check the unity site to see if I could try to figure out the problem.
using UnityEngine; using UnityEngine.Networking; using System.Collections; public class shoot : NetworkBehaviour {
private const string PLAYERTAG = "Player";
private const string HeadBlock = "HeadBlock";
private const string BLOCK = "Block";
public weapon weapon;
public BlockPhysics BP;
public GameObject hitEffect;
[SerializeField]
private Camera cam;
[SerializeField]
private LayerMask mask;
// Use this for initialization
void Start () {
if(cam == null)
{
this.enabled = false;
}
}
// Update is called once per frame
void Update () {
if(Input.GetButtonDown("Fire1"))
{
CmdShoot();
}
}
[Command]
void CmdShoot()
{
RaycastHit hit;
if(Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, weapon.range, mask ))
{
if(hit.collider.tag == PLAYERTAG)
{
CmdPlayerShot(hit.collider.name, weapon.damage);
}
if (hit.collider.tag == BLOCK)
{
Debug.Log ("blockShot");
CmdblockSot ();
}
}
}
void CmdPlayerShot(string _playerID, int _damage)
{
Debug.Log(_playerID + "has been shot");
Player _player = gameManager.GetPlayer(_playerID);
_player.RpcTakeDamage (_damage);
}
[Command]
void CmdblockSot()
{
Debug.Log ("hitBlock");
BP.GetComponent<BlockPhysics> ();
BP.RpcBreakBlock ();
}
}
Your answer
Follow this Question
Related Questions
issue with forcing spawn locations server controlling client spawn points 0 Answers
How do I sync Network-Server objects to clients? / Is my solution okay? 0 Answers
PLS recommend plugins for networking/sever which ONLY work for authentication + storing player info. 0 Answers
Unet: [Command] not running 1 Answer