Added vehicle door menu
This commit is contained in:
@@ -1,5 +1,17 @@
|
|||||||
let menuBrowser = null;
|
let menuBrowser = null;
|
||||||
|
|
||||||
|
const NativeUI = require('nativeui');
|
||||||
|
const Menu = NativeUI.Menu;
|
||||||
|
const UIMenuItem = NativeUI.UIMenuItem;
|
||||||
|
const UIMenuListItem = NativeUI.UIMenuListItem;
|
||||||
|
const UIMenuCheckboxItem = NativeUI.UIMenuCheckboxItem;
|
||||||
|
const UIMenuSliderItem = NativeUI.UIMenuSliderItem;
|
||||||
|
const BadgeStyle = NativeUI.BadgeStyle;
|
||||||
|
const Point = NativeUI.Point;
|
||||||
|
const ItemsCollection = NativeUI.ItemsCollection;
|
||||||
|
const Color = NativeUI.Color;
|
||||||
|
const ListItem = NativeUI.ListItem;
|
||||||
|
|
||||||
mp.events.add('ToggleVehicleMenu', () => {
|
mp.events.add('ToggleVehicleMenu', () => {
|
||||||
if (menuBrowser !== null) {
|
if (menuBrowser !== null) {
|
||||||
menuBrowser.destroy();
|
menuBrowser.destroy();
|
||||||
@@ -24,15 +36,68 @@ mp.events.add('doAction', (action) => {
|
|||||||
case 8: // Motor
|
case 8: // Motor
|
||||||
mp.events.callRemote("VehicleMenu_ToggleEngine");
|
mp.events.callRemote("VehicleMenu_ToggleEngine");
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5: // Auf -/ Abschließen
|
||||||
mp.events.callRemote("VehicleMenu_LockCar");
|
mp.events.callRemote("VehicleMenu_LockCar");
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3: // Türen
|
||||||
showDoorsMenu();
|
showDoorsMenu();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function showDoorsMenu() {
|
function showDoorsMenu() {
|
||||||
|
mp.gui.chat.show(false);
|
||||||
|
|
||||||
|
var doorMenu = new Menu("Türen", "Türen verwalten", new Point(50, 50));
|
||||||
|
|
||||||
|
doorMenu.AddItem(new UIMenuListItem("Tür", "Welche Tür darf's sein?", new ItemsCollection([
|
||||||
|
" Fahrertür",
|
||||||
|
" Beifahrertür",
|
||||||
|
"Hinten links",
|
||||||
|
"Hinten rechts",
|
||||||
|
"Motorhaube",
|
||||||
|
"Kofferraum"
|
||||||
|
])));
|
||||||
|
|
||||||
|
doorMenu.AddItem(new UIMenuItem("Alle öffnen", "Öffnet alle Türen"));
|
||||||
|
doorMenu.AddItem(new UIMenuItem("Alle schließen", "Schließt alle Türen"));
|
||||||
|
|
||||||
|
doorMenu.ItemSelect.on((item, index) => {
|
||||||
|
if (index === 0) {
|
||||||
|
var doorId = -1;
|
||||||
|
switch (item.SelectedItem.DisplayText) {
|
||||||
|
case " Fahrertür":
|
||||||
|
doorId = 0;
|
||||||
|
break;
|
||||||
|
case " Beifahrertür":
|
||||||
|
doorId = 1;
|
||||||
|
break;
|
||||||
|
case "Hinten links":
|
||||||
|
doorId = 2;
|
||||||
|
break;
|
||||||
|
case "Hinten rechts":
|
||||||
|
doorId = 3;
|
||||||
|
break;
|
||||||
|
case "Motorhaube":
|
||||||
|
doorId = 4;
|
||||||
|
break;
|
||||||
|
case "Kofferraum":
|
||||||
|
doorId = 5;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (doorId !== -1) {
|
||||||
|
mp.events.callRemote("VehicleMenu_ToggleSingleDoor", doorId);
|
||||||
|
}
|
||||||
|
} else if (index === 1) {
|
||||||
|
mp.events.callRemote("VehicleMenu_OpenAllDoors");
|
||||||
|
} else if (index === 2) {
|
||||||
|
mp.events.callRemote("VehicleMenu_CloseAllDoors");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
doorMenu.MenuClose.on(() => {
|
||||||
|
mp.gui.chat.show(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
doorMenu.Open();
|
||||||
}
|
}
|
||||||
@@ -88,5 +88,42 @@ namespace reallife_gamemode.Server.Events
|
|||||||
player.SendNotification(msg);
|
player.SendNotification(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[RemoteEvent("VehicleMenu_ToggleSingleDoor")]
|
||||||
|
public void VehicleMenuToggleSingleDoorEvent(Client player, int door)
|
||||||
|
{
|
||||||
|
if (!player.IsInVehicle) return;
|
||||||
|
Vehicle veh = player.Vehicle;
|
||||||
|
|
||||||
|
DoorID doorId = (DoorID)door;
|
||||||
|
|
||||||
|
DoorState state = VehicleStreaming.GetDoorState(veh, doorId);
|
||||||
|
|
||||||
|
VehicleStreaming.SetDoorState(veh, doorId, state == DoorState.DoorOpen ? DoorState.DoorClosed : DoorState.DoorOpen);
|
||||||
|
}
|
||||||
|
|
||||||
|
[RemoteEvent("VehicleMenu_OpenAllDoors")]
|
||||||
|
public void VehicleMenuOpenAllDoorsEvent(Client player)
|
||||||
|
{
|
||||||
|
if (!player.IsInVehicle) return;
|
||||||
|
Vehicle veh = player.Vehicle;
|
||||||
|
|
||||||
|
foreach (DoorID doorId in Enum.GetValues(typeof(DoorID)))
|
||||||
|
{
|
||||||
|
VehicleStreaming.SetDoorState(veh, doorId, DoorState.DoorOpen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[RemoteEvent("VehicleMenu_CloseAllDoors")]
|
||||||
|
public void VehicleMenuCloseAllDoorsEvent(Client player)
|
||||||
|
{
|
||||||
|
if (!player.IsInVehicle) return;
|
||||||
|
Vehicle veh = player.Vehicle;
|
||||||
|
|
||||||
|
foreach (DoorID doorId in Enum.GetValues(typeof(DoorID)))
|
||||||
|
{
|
||||||
|
VehicleStreaming.SetDoorState(veh, doorId, DoorState.DoorClosed);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user