1. Dear Wulf!
    Can you fix this mistake? I really need working CanEnterVehicle hook.
    P.S. CanExitVehicle in ICanEnterVehicle method...
    Code:
            /// <summary>
            /// Called when a player tries to enter a vehicle
            /// </summary>
            /// <param name="session"></param>
            /// <param name="go"></param>
            /// <returns></returns>
            [HookMethod("ICanEnterVehicle")]
            private object ICanEnterVehicle(PlayerSession session, GameObject go) => Interface.Call("CanExitVehicle", session, go.GetComponent<VehiclePassenger>());        /// <summary>
            /// Called when a player tries to exit a vehicle
            /// </summary>
            /// <param name="vehicle"></param>
            /// <returns></returns>
            [HookMethod("ICanExitVehicle")]
            private object ICanExitVehicle(VehiclePassenger vehicle) => Interface.Call("CanExitVehicle", FindSessionByNetPlayer(vehicle.networkView.owner), vehicle);
    
     
  2. Wulf

    Wulf Community Admin

    Fixed in the next snapshot, thanks!
     
  3. Thank you!
    One more thing to do. In hook "ICanEnterVehicle [internal]", change inject index to 0. Because method "this._vehiclePosition.SetPassenger(usedBy.gameObject)" changes state of object and locks the passenger seats if for any reason the hook returns not null...

    Code:
            {
              "Type": "Simple",
              "Hook": {
                "InjectionIndex": 0,
                "ReturnBehavior": 1,
                "ArgumentBehavior": 4,
                "ArgumentString": "a0.OwnerIdentity.ConnectedSession, this.TargetObject.gameObject",
                "HookTypeName": "Simple",
                "Name": "ICanEnterVehicle [internal]",
                "HookName": "ICanEnterVehicle",
                "AssemblyName": "Assembly-CSharp.dll",
                "TypeName": "VehicleUsable",
                "Flagged": false,
                "Signature": {
                  "Exposure": 2,
                  "Name": "OnBeginUse",
                  "ReturnType": "System.Void",
                  "Parameters": [
                    "WorldItemInteractServer"
                  ]
                },
                "MSILHash": "qprYdPcBocdr/3O75XzaXV9VXboYHLfK1dYZyFpsxD0=",
                "BaseHookName": null,
                "HookCategory": "Vehicle"
              }
     
  4. Wulf

    Wulf Community Admin

    Changed. :)