Alright, so I’ve been trying to do this all day and no luck at all. I understood how the RPC and the network view components work. I followed the M2H tutorial and all became pretty clear to me. But there’s something I still can’t do and that is make the player rotate.
Here’s a little part of the code for you to see what I tried last (wasn’t working):
if(owner !=null Network.player == owner){
SpeedMod();
if(lastForward != moveForward || lastSideways != moveSideways)
{
lastForward = moveSideways;
lastSideways = moveForward;
if(Network.isServer){
SendMovementInput(moveSideways, moveForward, inputRotate);
}else if(Network.isClient){
transform.Rotate(0, Input.GetAxis ("Mouse X") *5, 0);
inputRotate = Input.GetAxis ("Mouse X");
networkView.RPC("SendMovementInput", RPCMode.Server,moveSideways, moveForward, inputRotate);
}
}
}
if(Network.isServer){
var moveDir = new Vector3(serverSideways, gravity, serverForward);
transform.Translate(moveDir*Time.deltaTime);
transform.Rotate(0, serverRotate * 5, 0);
}
}
@RPC
function SendMovementInput(moveSideways : float, moveForward : float, inputRotate : float){
serverSideways = moveSideways;
serverForward = moveForward;
serverRotate = inputRotate;
}
function OnSerializeNetworkView(stream : BitStream, info : NetworkMessageInfo)
{
if (stream.isWriting){
var pos : Vector3 = transform.position;
stream.Serialize(pos);
stream.Serialize(rot);
}else{
var posReceive : Vector3 = Vector3.zero;
stream.Serialize(posReceive);
transform.position = Vector3.Lerp(transform.position, posReceive, 0.9);
}
}
Can you help me out with this with some example code or give me a link to an existing topic about this, because I couldn’t find one for rotation.