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) {
|
if (vehData.length > 0) {
|
||||||
var factionVehicleItem = new UIMenuItem("Fahrzeuge Finden", "Finden");
|
var factionVehicleItem = new UIMenuItem("Fahrzeuge Finden", "Finden");
|
||||||
factionMenu.AddItem(factionVehicleItem);
|
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;
|
return factionMenu;
|
||||||
@@ -302,17 +302,11 @@ export default function (globalData: IGlobalData) {
|
|||||||
factionMenu.Visible = false;
|
factionMenu.Visible = false;
|
||||||
|
|
||||||
if (vehData.length > 0) {
|
if (vehData.length > 0) {
|
||||||
var factionVehicleItem = new UIMenuItem("Fahrzeuge Finden", "Finden");
|
var factionVehicleItem = new UIMenuItem("Fahrzeuge", "Finden oder Verkaufen");
|
||||||
factionMenu.AddItem(factionVehicleItem);
|
factionMenu.AddItem(factionVehicleItem);
|
||||||
factionMenu.BindMenuToItem(getVehiclesMenu(vehData, "CLIENT:InteractionMenu_FactionVehicleInteraction", !stateFaction, parentMenu), 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) => {
|
factionMenu.ItemSelect.on((item, index) => {
|
||||||
if (index === 0) { // Inviten
|
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 {
|
function getVehiclesMenu(vehicles: VehicleData[], eventName: string, allowSell: boolean, parentMenu: NativeUI.Menu): NativeUI.Menu {
|
||||||
var desc = "Finden";
|
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 menu = new Menu("Fahrzeuge", desc, new Point(50, 50), null, null);
|
||||||
|
|
||||||
var items: string[] = ["Finden"];
|
var items: string[] = ["Finden"];
|
||||||
|
|
||||||
|
|
||||||
var collection = new ItemsCollection(items);
|
var collection = new ItemsCollection(items);
|
||||||
|
|
||||||
vehicles.forEach(veh => {
|
vehicles.forEach(veh => {
|
||||||
@@ -408,92 +433,6 @@ export default function (globalData: IGlobalData) {
|
|||||||
return menu;
|
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 {
|
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);
|
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"));
|
ticketMenu.AddItem(new UIMenuItem("Ticket annehmen"));
|
||||||
|
|||||||
@@ -610,8 +610,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
string nameOrId = (string)JsonConvert.DeserializeObject(jsonNameOrId);
|
string nameOrId = (string)JsonConvert.DeserializeObject(jsonNameOrId);
|
||||||
int amount = Int32.Parse(stringAmount);
|
int amount = Int32.Parse(stringAmount);
|
||||||
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
|
||||||
string playername = NAPI.Player.GetPlayerName(player);
|
|
||||||
string targetname = NAPI.Player.GetPlayerName(target);
|
|
||||||
if (target == null || !target.IsLoggedIn())
|
if (target == null || !target.IsLoggedIn())
|
||||||
{
|
{
|
||||||
ChatService.PlayerNotFound(player);
|
ChatService.PlayerNotFound(player);
|
||||||
@@ -623,6 +622,9 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
string playername = NAPI.Player.GetPlayerName(player);
|
||||||
|
string targetname = NAPI.Player.GetPlayerName(target);
|
||||||
|
|
||||||
if (amount > 0 && amount <= 5000)
|
if (amount > 0 && amount <= 5000)
|
||||||
{
|
{
|
||||||
player.SendNotification($"~w~Du hast ~y~{targetname} ~w~ ${amount} gegeben.");
|
player.SendNotification($"~w~Du hast ~y~{targetname} ~w~ ${amount} gegeben.");
|
||||||
|
|||||||
Reference in New Issue
Block a user