diff --git a/Client/Tuning/main.js b/Client/Tuning/main.js index c0d4927a..185df4a1 100644 --- a/Client/Tuning/main.js +++ b/Client/Tuning/main.js @@ -156,6 +156,31 @@ mp.events.add("showTuningMenu", () => { mainMenu = new Menu("Fahrzeugwerkstatt", carName, new Point(50, 50)); + if (localVehicle.getBodyHealth() !== 1000) { + + var repairItem = new UIMenuItem("Fahrzeug reparieren"); + mainMenu.AddItem(repairItem); + + mainMenu.ItemSelect.on((selectedItem, index) => { + if (selectedItem === repairItem) { + mp.events.callRemote("repairVehicle"); + mainMenu.Close(); + setTimeout(() => { + mp.events.call("showTuningMenu"); + }, 500); + } + }); + + mainMenu.MenuClose.on(() => { + globalData.InTuning = false; + mp.events.call("hideTuningInfo", false); + }); + + mainMenu.Open(); + + return; + } + carModTypes.forEach((modType) => { if (localVehicle.getModSlotName(modType) !== "undefined") { var slotName = mp.game.ui.getLabelText(localVehicle.getModSlotName(modType)); diff --git a/Server/Entities/ServerVehicle.cs b/Server/Entities/ServerVehicle.cs index 5c58010c..ce4ba97f 100644 --- a/Server/Entities/ServerVehicle.cs +++ b/Server/Entities/ServerVehicle.cs @@ -36,11 +36,20 @@ namespace reallife_gamemode.Server.Entities Vehicle veh = NAPI.Vehicle.CreateVehicle(this.Model, this.Position, this.Heading, this.PrimaryColor, this.SecondaryColor, this.NumberPlate, locked: this.Locked, engine: false); VehicleManager.AddVehicle(this, veh); + string numberplate = $"{this.Id}"; + if(this is FactionVehicle fV) { - veh.NumberPlate = fV.GetFaction().Name; + numberplate = $"F{fV.FactionId} " + numberplate; } + if (this is UserVehicle uV) + { + numberplate = $"U{uV.UserId} " + numberplate; + } + + veh.NumberPlate = numberplate; + return veh; } } diff --git a/Server/Managers/TuningManager.cs b/Server/Managers/TuningManager.cs index 3f45c37e..af14867c 100644 --- a/Server/Managers/TuningManager.cs +++ b/Server/Managers/TuningManager.cs @@ -62,6 +62,13 @@ namespace reallife_gamemode.Server.Managers player.TriggerEvent("showTuningMenu"); } + [RemoteEvent("repairVehicle")] + public void RepairVehicle(Client player) + { + if (!player.IsInVehicle) return; + player.Vehicle.Repair(); + } + [RemoteEvent("setVehicleMod")] public void SetVehicleMod(Client player, int slot, int index) {