public async Task LSPDAppSearchVehiclePlate(IPlayer player, string targetPlate) { try { if (player == null || !player.Exists || targetPlate == "") { return; } int charId = User.GetPlayerOnline(player); if (charId <= 0) { return; } if (player.HasPlayerHandcuffs() || player.HasPlayerRopeCuffs()) { HUDHandler.SendNotification(player, 4, 5000, "Wie willst du das mit Handschellen/Fesseln machen?"); return; } if (!ServerFactions.IsCharacterInAnyFaction(charId)) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Du bist in keiner Fraktion."); return; } if (ServerFactions.GetCharacterFactionId(charId) != 2 && ServerFactions.GetCharacterFactionId(charId) != 1) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Du bist nicht im L.S.P.D. oder der Justiz angestellt."); return; } if (!ServerFactions.IsCharacterInFactionDuty(charId)) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Du bist nicht im Dienst."); return; } if (!ServerVehicles.ExistServerVehiclePlate(targetPlate)) { HUDHandler.SendNotification(player, 3, 5000, "Fehler: Das angegebene Kennzeichen wurde nicht gefunden."); return; } int vehicleId = ServerVehicles.GetVehicleIdByPlate(targetPlate); if (vehicleId <= 0) { return; } int ownerId = ServerVehicles.GetVehicleOwnerById(vehicleId); if (ownerId <= 0) { return; } string owner = Characters.GetCharacterName(ownerId); string vehName = ServerVehicles.GetVehicleNameOnHash(ServerVehicles.GetVehicleHashById(vehicleId)); string manufactor = ServerVehicles.GetVehicleManufactorOnHash(ServerVehicles.GetVehicleHashById(vehicleId)); string buyDate = $"{ServerVehicles.GetVehicleBuyDate(vehicleId).ToString("d", CultureInfo.CreateSpecificCulture("de-DE"))}"; string trunk = $"{ServerVehicles.GetVehicleTrunkCapacityOnHash(ServerVehicles.GetVehicleHashById(vehicleId))}kg"; string tax = $"{ServerAllVehicles.GetVehicleTaxes(ServerVehicles.GetVehicleHashById(vehicleId))}$"; string maxfuel = $"{ServerVehicles.GetVehicleFuelLimitOnHash(ServerVehicles.GetVehicleHashById(vehicleId))}"; string fuelType = ServerVehicles.GetVehicleFuelTypeOnHash(ServerVehicles.GetVehicleHashById(vehicleId)); player.EmitLocked("Client:Tablet:SetLSPDAppSearchVehiclePlateData", owner, vehName, manufactor, buyDate, trunk, maxfuel, tax, fuelType); HUDHandler.SendNotification(player, 2, 1500, $"Fahrzeugabfrage durchgeführt: {targetPlate}"); } catch (Exception e) { Alt.Log($"{e}"); } }
public static string GetTabletVehicleStoreItems() { var items = ServerVehicleShopsItems_.Where(x => x.isOnlyOnlineAvailable == true).Select(x => new { x.shopId, name = ServerVehicles.GetVehicleNameOnHash(x.hash), manufactor = ServerVehicles.GetVehicleManufactorOnHash(x.hash), fueltype = ServerVehicles.GetVehicleFuelTypeOnHash(x.hash), fuellimit = ServerVehicles.GetVehicleFuelLimitOnHash(x.hash), storage = ServerVehicles.GetVehicleTrunkCapacityOnHash(x.hash), seats = ServerVehicles.GetVehicleMaxSeatsOnHash(x.hash), hash = x.hash.ToString(), x.price, }).OrderBy(x => x.name).ToList(); return(JsonConvert.SerializeObject(items)); }
public static string GetVehicleShopItems(int vehShopId) { if (vehShopId <= 0) { return("undefined"); } var items = ServerVehicleShopsItems_.Where(x => x.shopId == vehShopId && x.isOnlyOnlineAvailable == false).Select(x => new { name = ServerVehicles.GetVehicleNameOnHash(x.hash), manufactor = ServerVehicles.GetVehicleManufactorOnHash(x.hash), fueltype = ServerVehicles.GetVehicleFuelTypeOnHash(x.hash), maxfuel = ServerVehicles.GetVehicleFuelLimitOnHash(x.hash), trunkcapacity = ServerVehicles.GetVehicleTrunkCapacityOnHash(x.hash), seats = ServerVehicles.GetVehicleMaxSeatsOnHash(x.hash), hash = x.hash.ToString(), price = x.price, }).ToList(); return(JsonConvert.SerializeObject(items)); }
public async Task VehicleTrunkStorageItem(ClassicPlayer player, int vehId, int charId, string itemName, int itemAmount, string fromContainer, string type) { try { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); if (player == null || !player.Exists || vehId <= 0 || charId <= 0 || itemName == "" || itemAmount <= 0 || fromContainer == "none" || fromContainer == "") { return; } if (player.HasPlayerHandcuffs() || player.HasPlayerRopeCuffs()) { HUDHandler.SendNotification(player, 3, 5000, "Wie willst du das mit Handschellen/Fesseln machen?"); return; } if (type != "trunk" && type != "glovebox") { return; } int cCharId = player.CharacterId; if (cCharId != charId) { return; } var targetVehicle = Alt.Server.GetVehicles().ToList().FirstOrDefault(x => x.GetVehicleId() == (ulong)vehId); if (targetVehicle == null || !targetVehicle.Exists) { return; } if (!player.Position.IsInRange(targetVehicle.Position, 5f)) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Du bist zu weit entfernt."); return; } if (type == "trunk") { if (player.IsInVehicle) { HUDHandler.SendNotification(player, 3, 5000, "Wie willst du von Innen an den Kofferraum kommen?"); return; } if (!targetVehicle.GetVehicleTrunkState()) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Der Kofferraum ist nicht geöffnet."); return; } } else if (type == "glovebox") { if (!player.IsInVehicle) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Du bist in keinem Fahrzeug."); return; } } if (!CharactersInventory.ExistCharacterItem(charId, itemName, fromContainer)) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Diesen Gegenstand besitzt du nicht."); return; } if (CharactersInventory.GetCharacterItemAmount(charId, itemName, fromContainer) < itemAmount) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Du hast nicht genügend Gegenstände davon dabei."); return; } if (CharactersInventory.IsItemActive(player, itemName)) { HUDHandler.SendNotification(player, 4, 5000, "Fehler: Ausgerüstete Gegenstände können nicht umgelagert werden."); return; } float itemWeight = ServerItems.GetItemWeight(itemName) * itemAmount; float curVehWeight = 0f; float maxVehWeight = 0f; if (type == "trunk") { curVehWeight = ServerVehicles.GetVehicleVehicleTrunkWeight(vehId, false); maxVehWeight = ServerVehicles.GetVehicleTrunkCapacityOnHash(targetVehicle.Model); } else if (type == "glovebox") { curVehWeight = ServerVehicles.GetVehicleVehicleTrunkWeight(vehId, true); maxVehWeight = 5f; } if (curVehWeight + itemWeight > maxVehWeight) { HUDHandler.SendNotification(player, 3, 5000, $"Fehler: Soviel passt hier nicht rein (Aktuell: {curVehWeight} | Maximum: {maxVehWeight})."); return; } CharactersInventory.RemoveCharacterItemAmount(charId, itemName, itemAmount, fromContainer); if (type == "trunk") { ServerVehicles.AddVehicleTrunkItem(vehId, itemName, itemAmount, false); HUDHandler.SendNotification(player, 2, 2500, $"Du hast den Gegenstand '{itemName} ({itemAmount}x)' in den Kofferraum gelegt."); stopwatch.Stop(); Alt.Log($"{charId} - VehicleTrunkStorageItem benötigte {stopwatch.Elapsed.Milliseconds}ms"); return; } else if (type == "glovebox") { ServerVehicles.AddVehicleTrunkItem(vehId, itemName, itemAmount, true); HUDHandler.SendNotification(player, 2, 2500, $"Du hast den Gegenstand '{itemName} ({itemAmount}x)' in das Handschuhfach gelegt."); stopwatch.Stop(); Alt.Log($"{charId} - VehicleTrunkStorageItem benötigte {stopwatch.Elapsed.Milliseconds}ms"); return; } } catch (Exception e) { Alt.Log($"{e}"); } }