static void SetSkin(OakwoodPlayer player, object[] args) { if (args.Length == 0) { player.SendMessage("[USAGE] /skin <skinID>"); return; } int skinID = int.Parse(args[0].ToString()); OakwoodVehicle car = player.Vehicle; if (car == null) { if (skinID >= 0 && skinID < OakwoodResources.PlayerModels.Length - 1) { player.SetModel(OakwoodResources.PlayerModels[skinID].Modelname); player.HUD.Message("Skin successfully changed!", 0xFFFFFF); } else { player.HUD.Message("Skin ID you provided is wrong!", 0xFCB603); } } else { player.HUD.Message("You can't be inside the vehicle!", 0xFF0000); } }
/// <summary> /// Targets player's camera to vehicle /// </summary> /// <param name="spectatedVehicle">Vehicle to target</param> /// <returns>True if the function is successful</returns> public bool TargetVehicle(OakwoodVehicle spectatedVehicle) { int ret = int.Parse(Oakwood.CallFunction("oak_camera_target_vehicle", new object[] { player.ID, spectatedVehicle.ID })[1].ToString()); if (ret == 0) { return(true); } return(false); }
static void RepairCommand(OakwoodPlayer player, object[] args) { OakwoodVehicle car = player.Vehicle; if (car != null) { car.Repair(); player.HUD.Message("Vehicle successfully repaired.", 0xFFFFFF); } else { player.HUD.Message("You're not inside any vehicle!", 0xFF0000); } }
static void GetCurrentVehicle(OakwoodPlayer player, object[] args) { OakwoodVehicle vehicle = player.Vehicle; if (vehicle != null) { player.HUD.Message($"Vehicle ID: {vehicle.ID}", OakColor.White); player.HUD.Message($"{vehicle.Name}", OakColor.White); } else { player.HUD.Message("You're not inside any car!", OakColor.White); } }
static void DelCarCommand(OakwoodPlayer player, object[] args) { OakwoodVehicle car = player.Vehicle; if (car != null) { player.VehicleManipulation.Remove(car); car.Despawn(); player.HUD.Message("Vehicle successfully removed.", 0xFFFFFF); } else { player.HUD.Message("You're not inside any vehicle!", 0xFF0000); } }
internal static void OnPlVehicleUse(object[] args) { int vehID = int.Parse(args[0].ToString()); int plID = int.Parse(args[1].ToString()); bool success = Convert.ToBoolean(int.Parse(args[2].ToString())); int sID = int.Parse(args[3].ToString()); int e = int.Parse(args[4].ToString()); OakwoodPlayer player = null; OakwoodVehicle vehicle = null; foreach (OakwoodVehicle v in Oakwood.Vehicles) { if (v.ID == vehID) { vehicle = v; break; } } foreach (OakwoodPlayer p in Oakwood.Players) { if (p.ID == plID) { player = p; break; } } if ((VehicleEnterState)e == VehicleEnterState.Enter) { player.Vehicle = vehicle; } else { player.Vehicle = null; } if (OnPlayerVehicleUse != null) { OnPlayerVehicleUse(vehicle, player, success, (VehicleSeat)sID, (VehicleEnterState)e); } }
internal static void OnVehDestroy(object[] args) { int vehID = int.Parse(args[0].ToString()); OakwoodVehicle vehicle = null; foreach (OakwoodVehicle veh in Oakwood.Vehicles) { if (veh.ID == vehID) { vehicle = veh; } } vehicle.Despawn(); if (OnVehicleDestroy != null) { OnVehicleDestroy(vehicle); } }
static void SpawnCar(OakwoodPlayer player, object[] args) { if (args.Length == 0) { player.SendMessage("[USAGE] /car <carID>"); return; } int carID = int.Parse(args[0].ToString()); if (carID >= 0 && carID < OakwoodResources.VehicleModels.Length - 1) { OakVec3 plPos = player.Position; OakVec3 plDir = player.Direction; OakwoodVehicle sCar = OakwoodVehicle.Spawn(OakwoodResources.VehicleModels[carID], plPos, plDir.x / 360.0f); if (sCar != null) { player.VehicleManipulation.Put(sCar, VehicleSeat.FrontLeft); player.HUD.Message("Car successfully spawned!", 0xFFFFFF); return; } else { player.HUD.Message("Cannot spawn car!", 0xFF0000); return; } } else { player.HUD.Message("Car ID you provided is wrong!", 0xFCB603); return; } }