fix privatcar sell & and make something smarter
This commit is contained in:
@@ -288,7 +288,7 @@ export default function (globalData: IGlobalData) {
|
||||
if (vehData.length > 0) {
|
||||
var factionVehicleItem = new UIMenuItem("Fahrzeuge Finden", "Finden");
|
||||
factionMenu.AddItem(factionVehicleItem);
|
||||
factionMenu.BindMenuToItem(getVehiclesMenu(vehData, "CLIENT:InteractionMenu_FactionVehicleInteraction", !stateFaction, parentMenu), factionVehicleItem);
|
||||
factionMenu.BindMenuToItem(getVehiclesMenuFaction(vehData, "CLIENT:InteractionMenu_FactionVehicleInteraction", !stateFaction, parentMenu), factionVehicleItem);
|
||||
}
|
||||
|
||||
return factionMenu;
|
||||
@@ -302,17 +302,11 @@ export default function (globalData: IGlobalData) {
|
||||
factionMenu.Visible = false;
|
||||
|
||||
if (vehData.length > 0) {
|
||||
var factionVehicleItem = new UIMenuItem("Fahrzeuge Finden", "Finden");
|
||||
var factionVehicleItem = new UIMenuItem("Fahrzeuge", "Finden oder Verkaufen");
|
||||
factionMenu.AddItem(factionVehicleItem);
|
||||
factionMenu.BindMenuToItem(getVehiclesMenu(vehData, "CLIENT:InteractionMenu_FactionVehicleInteraction", !stateFaction, parentMenu), factionVehicleItem);
|
||||
}
|
||||
|
||||
if (vehData.length > 0) {
|
||||
var factionVehicleItem2 = new UIMenuItem("Fahrzeuge Verkaufen", "Verkaufen");
|
||||
factionMenu.AddItem(factionVehicleItem2);
|
||||
factionMenu.BindMenuToItem(getVehiclesMenu2(vehData, "CLIENT:InteractionMenu_FactionVehicleInteractionSell", !stateFaction, parentMenu), factionVehicleItem2);
|
||||
}
|
||||
|
||||
|
||||
factionMenu.ItemSelect.on((item, index) => {
|
||||
if (index === 0) { // Inviten
|
||||
@@ -380,12 +374,43 @@ export default function (globalData: IGlobalData) {
|
||||
|
||||
function getVehiclesMenu(vehicles: VehicleData[], eventName: string, allowSell: boolean, parentMenu: NativeUI.Menu): NativeUI.Menu {
|
||||
var desc = "Finden";
|
||||
if (allowSell) {
|
||||
desc += " oder Verkaufen";
|
||||
}
|
||||
|
||||
var menu = new Menu("Fahrzeuge", desc, new Point(50, 50), null, null);
|
||||
|
||||
var items: string[] = ["Finden", "Verkaufen"];
|
||||
|
||||
var collection = new ItemsCollection(items);
|
||||
|
||||
vehicles.forEach(veh => {
|
||||
var name: string = mp.game.ui.getLabelText(mp.game.vehicle.getDisplayNameFromVehicleModel(veh.Model));
|
||||
|
||||
var item = new UIMenuListItem(`${veh.Id.toString().padEnd(5)} | ${name}`, "", collection, null, { id: veh.Id });
|
||||
|
||||
menu.AddItem(item);
|
||||
});
|
||||
|
||||
menu.ItemSelect.on((item: NativeUI.UIMenuListItem, index: number) => {
|
||||
var id = item.Data.id;
|
||||
var selection = item.SelectedValue;
|
||||
|
||||
mp.events.callRemote(eventName, id, selection);
|
||||
|
||||
parentMenu.Close(true);
|
||||
});
|
||||
|
||||
return menu;
|
||||
}
|
||||
function getVehiclesMenuFaction(vehicles: VehicleData[], eventName: string, allowSell: boolean, parentMenu: NativeUI.Menu): NativeUI.Menu {
|
||||
var desc = "Finden";
|
||||
|
||||
|
||||
var menu = new Menu("Fahrzeuge", desc, new Point(50, 50), null, null);
|
||||
|
||||
var items: string[] = ["Finden"];
|
||||
|
||||
|
||||
var collection = new ItemsCollection(items);
|
||||
|
||||
vehicles.forEach(veh => {
|
||||
@@ -408,92 +433,6 @@ export default function (globalData: IGlobalData) {
|
||||
return menu;
|
||||
}
|
||||
|
||||
function getVehiclesMenu2(vehicles: VehicleData[], eventName: string, allowSell: boolean, parentMenu: NativeUI.Menu): NativeUI.Menu {
|
||||
var desc = "Verkaufen";
|
||||
if (allowSell) {
|
||||
desc;
|
||||
}
|
||||
var menu = new Menu("Fahrzeuge", desc, new Point(50, 50), null, null);
|
||||
|
||||
var items: string[] = ["Verkaufen"];
|
||||
|
||||
var collection = new ItemsCollection(items);
|
||||
|
||||
vehicles.forEach(veh => {
|
||||
var name: string = mp.game.ui.getLabelText(mp.game.vehicle.getDisplayNameFromVehicleModel(veh.Model));
|
||||
|
||||
var item = new UIMenuListItem(`${veh.Id.toString().padEnd(5)} | ${name}`, "", collection, null, { id: veh.Id });
|
||||
|
||||
menu.AddItem(item);
|
||||
});
|
||||
|
||||
menu.ItemSelect.on((item: NativeUI.UIMenuListItem, index: number) => {
|
||||
var id = item.Data.id;
|
||||
var selection = item.SelectedValue;
|
||||
|
||||
if (selection === "Verkaufen") {
|
||||
var confirmMenu = new Menu("Fahrzeug verkaufen", "Bist du sicher?", new Point(50, 50));
|
||||
|
||||
menu.Visible = false;
|
||||
|
||||
var descItem = new UIMenuItem("Willst du das Auto wirklich verkaufen?");
|
||||
confirmMenu.AddItem(descItem);
|
||||
|
||||
var priceItem = new UIMenuItem("Verkaufspreis");
|
||||
priceItem.SetRightLabel("~g~$ " + moneyFormat(vehicles.find(x => x.Id == id).Price));
|
||||
confirmMenu.AddItem(priceItem);
|
||||
|
||||
var yesItem = new UIMenuItem("Verkaufen");
|
||||
yesItem.BackColor = new Color(0, 100, 0);
|
||||
yesItem.HighlightedBackColor = new Color(0, 150, 0);
|
||||
confirmMenu.AddItem(yesItem);
|
||||
|
||||
var cancelItem = new UIMenuItem("Abbrechen");
|
||||
cancelItem.BackColor = new Color(213, 0, 0);
|
||||
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
|
||||
confirmMenu.AddItem(cancelItem);
|
||||
|
||||
confirmMenu.Open();
|
||||
|
||||
var closing = false;
|
||||
|
||||
confirmMenu.ItemSelect.on((item, index) => {
|
||||
if (item != yesItem && item != cancelItem) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (item == yesItem) {
|
||||
mp.events.callRemote(eventName, id, selection);
|
||||
confirmMenu.Close();
|
||||
parentMenu.Close(true);
|
||||
closing = true;
|
||||
return;
|
||||
}
|
||||
|
||||
confirmMenu.Close();
|
||||
menu.Visible = true;
|
||||
});
|
||||
|
||||
confirmMenu.MenuClose.on(() => {
|
||||
if (closing) {
|
||||
return;
|
||||
}
|
||||
|
||||
menu.Visible = true;
|
||||
})
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
mp.events.callRemote(eventName, id, selection);
|
||||
|
||||
parentMenu.Close(true);
|
||||
});
|
||||
|
||||
return menu;
|
||||
}
|
||||
|
||||
|
||||
function getTicketMenu(ticket_amount: number, parentMenu: NativeUI.Menu): NativeUI.Menu {
|
||||
var ticketMenu = new NativeUI.Menu("Ticket", `Ticket in Höhe von ${ticket_amount}$`, new Point(50, 50), null, null);
|
||||
ticketMenu.AddItem(new UIMenuItem("Ticket annehmen"));
|
||||
|
||||
@@ -610,8 +610,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
string nameOrId = (string)JsonConvert.DeserializeObject(jsonNameOrId);
|
||||
int amount = Int32.Parse(stringAmount);
|
||||
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
||||
string playername = NAPI.Player.GetPlayerName(player);
|
||||
string targetname = NAPI.Player.GetPlayerName(target);
|
||||
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
@@ -623,6 +622,9 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
else
|
||||
{
|
||||
string playername = NAPI.Player.GetPlayerName(player);
|
||||
string targetname = NAPI.Player.GetPlayerName(target);
|
||||
|
||||
if (amount > 0 && amount <= 5000)
|
||||
{
|
||||
player.SendNotification($"~w~Du hast ~y~{targetname} ~w~ ${amount} gegeben.");
|
||||
|
||||
Reference in New Issue
Block a user