- Home /
Transfering vars to RPCs?
In my script I am getting a null reference when I call the RPC MPPlayPistolSound. I'm not quite sure how to valuate the RPC's audio.clip. What I am trying to do is when the player switches weapons it chooses the correct fire sound. When he fires it sends the RPC. All is good until that point. Then the rpcs audio source is a null ref for some reason. The aS.clip assignment by gun sound is not transferring over to the rpc and I don't know why. Here is my code.
using UnityEngine;
using System.Collections;
public class GunfireSFX : MonoBehaviour
{
public AudioSource aS;
public AudioClip pistolShot;
public AudioClip revolverShot;
public AudioClip tommyGunShot;
public GameObject pistolActive;
public GameObject revolverActive;
public int index;
// public vp_FPPlayerEventHandler m_Player;
// Detemine which gun is equiped and change the sound source to that
void Awake()
{
if (networkView.isMine)
{
}
else
{
enabled = false;
}
}
void Update()
{
CheckEquipedGun();
GunFireSFXCallRPC();
}
public void CheckEquipedGun()
{
if (networkView.isMine)
{
if (pistolActive.activeInHierarchy == true)
{
aS.clip = pistolShot;
print(aS.clip.name);
}
if (revolverActive.activeInHierarchy == true)
{
aS.clip = revolverShot;
print(aS.clip.name);
}
}
}
public void GunFireSFXCallRPC()
{
if (Input.GetMouseButtonUp(0))
{
networkView.RPC("MPPlayPistolSound", RPCMode.Others);
}
}
// Play that soundsource as RPC.
[RPC]
public void MPPlayPistolSound()
{
// NULL REFERENCE HERE
AudioSource.PlayClipAtPoint(aS.clip, transform.position);
print(aS.clip.name);
print("RPC Played GunFire");
}
}
Comment
Your answer
Follow this Question
Related Questions
How to Network Sound? 1 Answer
RPC buffered calls 0 Answers
attching old script to Network game 0 Answers
RPC is called but it doesn't destroy some GameObject instances 1 Answer
Multiplayer Scoreboard Problem. 1 Answer