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);
Fixed CanEnterVehicle not working
Discussion in 'Hurtworld Development' started by sjsoft, Jan 17, 2017.
-
Wulf Community Admin
Fixed in the next snapshot, thanks!
-
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" }
-
Wulf Community Admin