public static void VehicleStorage(Client player) { AccountController account = API.shared.getEntityData(player, "ACCOUNT"); if (account == null) { return; } if (account.CharacterController.Character.Vehicle == null) { API.shared.sendChatMessageToPlayer(account.Client, "You have no vehicles."); return; } else if (account.CharacterController.Character.Vehicle.Count == 0) { API.shared.sendChatMessageToPlayer(account.Client, "You have no vehicles."); } else { List <string> VehicleNames = new List <string>(); List <int> VehicleIDs = new List <int>(); foreach (var VehicleData in account.CharacterController.Character.Vehicle) { VehicleController _VehicleController = EntityManager.GetVehicle(VehicleData); string isSpawned = (_VehicleController == null ? " (stored)" : " (spawned)"); VehicleNames.Add(API.shared.getVehicleDisplayName((VehicleHash)VehicleData.Model) + isSpawned); VehicleIDs.Add(VehicleData.Id); } player.setData("VSTORAGE", VehicleIDs); API.shared.triggerClientEvent(account.Client, "create_menu", 1, null, "Vehicles", false, VehicleNames.ToArray()); } }
public static void LoadVehicle(AccountController account, int id) { Data.Vehicle VM = ContextFactory.Instance.Vehicle.Where(x => x.Id == id).FirstOrDefault(); if (VM != null) { VehicleController _vehicle = new VehicleController(VM, API.shared.createVehicle((VehicleHash)VM.Model, new Vector3(VM.PosX, VM.PosY, VM.PosZ), new Vector3(0.0f, 0.0f, VM.Rot), VM.Color1, VM.Color2)); API.shared.sendNotificationToPlayer(account.Client, "You spawned your " + API.shared.getVehicleDisplayName((VehicleHash)VM.Model)); } }
public static void LoadVehicles() { foreach (var vehicle in ContextFactory.Instance.Vehicle.Where(x => x.Group != null).ToList()) { VehicleController VehicleController = new VehicleController(vehicle, API.shared.createVehicle((VehicleHash)vehicle.Model, new Vector3(vehicle.PosX, vehicle.PosY, vehicle.PosZ), new Vector3(0.0f, 0.0f, vehicle.Rot), vehicle.Color1, vehicle.Color2)); if (vehicle.Group != null) // -1 is reserved for non-group job vehicles. { VehicleController.Group = EntityManager.GetGroup(vehicle.Group.Id); } } API.shared.consoleOutput("[GM] Loaded vehicles: " + ContextFactory.Instance.Vehicle.Count()); }
private void OnPlayerEnterVehicle(Client player, NetHandle vehicle, int seat) { AccountController account = player.getData("ACCOUNT"); if (account == null) { return; } VehicleController _VehicleController = EntityManager.GetVehicle(vehicle); if (_VehicleController != null) { if (_VehicleController.VehicleData.Character == account.CharacterController.Character) { API.sendNotificationToPlayer(player, "You have entered your car."); } else if (account.CharacterController.IsInGroup(_VehicleController.Group.Group.Id)) { API.sendNotificationToPlayer(player, "You have entered a vehicle of your organization."); } } API.triggerClientEvent(player, "show_vehicle_hud"); }
public void car(Client player, string Choice) { AccountController account = player.getData("ACCOUNT"); if (account == null) { return; } if (Choice == "engine") { VehicleController VehicleController = EntityManager.GetVehicle(player.vehicle); if (VehicleController == null || player.vehicleSeat != -1) { API.sendChatMessageToPlayer(player, "~r~ERROR: ~w~You are not in a vehicle or on the driver's seat."); return; } if (!VehicleController.CheckAccess(account)) { API.sendNotificationToPlayer(player, "You cannot operate this vehicle."); return; } else { if (API.getVehicleEngineStatus(VehicleController.Vehicle)) { VehicleController.Vehicle.engineStatus = false; ChatController.sendProxMessage(player, 15.0f, "~#C2A2DA~", account.CharacterController.FormatName + " turns the key in the ignition and the engine stops."); } else { VehicleController.Vehicle.engineStatus = true; ChatController.sendProxMessage(player, 15.0f, "~#C2A2DA~", account.CharacterController.FormatName + " turns the key in the ignition and the engine starts."); } } } else if (Choice == "park") { VehicleController VehicleController = EntityManager.GetVehicle(player.vehicle); Data.Vehicle VM = VehicleController.VehicleData; if (VM == null || player.vehicleSeat != -1) { API.sendNotificationToPlayer(player, "~r~ERROR: ~w~You are not in a vehicle or on the driver's seat."); return; } if (VehicleController.CheckAccess(account, account.CharacterController)) { VehicleController.ParkVehicle(player); } else { API.sendNotificationToPlayer(player, "~r~ERROR: ~w~You cannot park this car."); } } else if (Choice == "hood" || Choice == "trunk") { VehicleController VehicleController = null; if (player.isInVehicle) { VehicleController = EntityManager.GetVehicle(player.vehicle); } else { VehicleController = EntityManager.GetVehicleControllers().Find(x => x.Vehicle.position.DistanceTo(player.position) < 3.0f); } if (VehicleController == null) { API.sendNotificationToPlayer(player, "You are not near a vehicle."); return; } if (VehicleController.CheckAccess(account)) { if (Choice == "hood") { VehicleController.TriggerDoor(VehicleController.Vehicle, 4); } else { VehicleController.TriggerDoor(VehicleController.Vehicle, 5); } } else { API.sendNotificationToPlayer(player, "~r~ERROR: ~w~You cannot park this car."); } } }