Hello there, I have been having some problems with RPC and variables…
Its simple, in my game a player can create a server for 2 persons, and 1 person can connect to that server and play, the game its played by two persons, no more.
So, for putting it simple, I have an Object (Lets call it OBJECTA) that holds variables trough a script, here it is the script:
public class ADVOnline : MonoBehaviour {
public string ForOnline1;
public string ForOnline2;
[RPC]
public void LlenarFor1(string X) {
ForOnline1 = X;
}
[RPC]
public void LlenarFor2(string X) {
ForOnline2 = X;
}
}
As you can see I have put two RPC functions in the script, so I can fill up those variables with a string that each player is going to pass to the function, that string are like this:
“4,3,4,4,4,4,4,2,2,3,4,4,1,1,2,3,3” etc… the thing is that they are saved in PlayerPrefs with the name “SaveData1” (Obviusly, each player will have his own, and unique string, since each one has his save.
So in the script that connects server and client I have this:
When I create a server:
Network.InitializeServer(2, connectPort);
Network.Instantiate(OBJETOA, transform.position, transform.rotation, 0);
networkView.RPC("LlenarFor1", RPCMode.AllBuffered, PlayerPrefs.GetString("SaveData1"));
The problem is that, the variables in the OBJETOA doesnt fill up with the data (I checked and the string isnt empty), can somebody explain me WHY it isnt working? I cant understand what im doing wrong…
I have this function for clients (Its all in the same script):
networkView.RPC("LlenarFor2", RPCMode.AllBuffered, PlayerPrefs.GetString("SaveData1"));
And this is the function in that script to combine with the another one:
[RPC]
void LlenarFor2(string X) {
}
[RPC]
void LlenarFor1(string X) {
}
So, anybody can help me or explain me what I am doing wrong?