简体   繁体   中英

Unity networking, make player disappear for all clients

I need to make the player disappear when he gets in car. Right now, it works as a single-player, but since I am new to "Unet" I don't really know how to achieve this, I tried some ways, but they didn't work. Here is script:

    [Client]
  void OnControllerColliderHit(ControllerColliderHit hit)
 {
 //so if we hit car
 if(hit.collider.tag == "Vehicle")
 {
     //if we pressed "E"
     if (Input.GetKeyDown(KeyCode.E))
     {
         //call method to disable some stuff taht should be disabled, like: controller, shoot, weapons etc.
         if (isServer)
             CmdCall(inVehicle, hit);
         else
             RpcCall(inVehicle, hit);
     }
 }
 }
[Command]
 void CmdCall(bool invehicle, ControllerColliderHit hit){

 RpcCall(inVehicle, hit);
 }
 [ClientRpc]
 void RpcCall(bool invehicle, ControllerColliderHit hit)
 {

 disable(inVehicle, hit);
 }

I can't see any errors in console but I cant enter play mode cause there are some compiler errors, which again i cant see in console. thank you for any tip, comment, downvote, upvote, or hint :)

尝试使用NetworkServer.UnSpawn ()NetworkServer.Spawn ()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM