(search the error at the end of the code) code:
[Command]
void CmdOnShoot()
{
RpcDoShootEffect();
}
[ClientRpc]
void RpcDoShootEffect()
{
weaponManager.GetCurrentGraphics().muzzleFlash.Play();
}
[Command]
void CmdOnHit(Vector3 _pos, Vector3 _normal)
{
RpcDoHitEffect(_pos, _normal);
}
[ClientRpc]
void RpcDoHitEffect(Vector3 _pos, Vector3 _normal)
{
GameObject _hitEffect = (GameObject)Instantiate(weaponManager.GetCurrentGraphics().hitEffectPrefab, _pos, Quaternion.LookRotation(_normal));
Destroy(_hitEffect, 2f);
}
[Client]
void Shoot (){
if (!isLocalPlayer)
{
return;
}
CmdOnShoot();
Debug.Log("Shoot.");
RaycastHit _hit;
if (Physics.Raycast(cam.transform.position, cam.transform.forward, out _hit, currentWeapon.range, mask)) {
if (_hit.collider.tag == PLAYER_TAG) {
CmdPlayerShot (_hit.collider.name, currentWeapon.damage);
}
CmdOnHit(_hit.point, _hit.normal);
}
}
[Command]
void CmdPlayerShot(string _playerID, int _damage)
{
Debug.Log (_playerID + " has been shot.");
Player _player = GameManagerOnline.GetPlayer (_playerID);
_player.RpcTakeDamage(_damage); **<-------- (error here)
}
}
error code: Assets/OnlineScripts/PlayerShoot.cs(99,11): error CS1501: No overload for method RpcTakeDamage' takes
1’ arguments