fix invite
This commit is contained in:
@@ -37,7 +37,7 @@ export default function (globalData: GlobalData) {
|
|||||||
if (group) {
|
if (group) {
|
||||||
groupItem.SetRightLabel(group);
|
groupItem.SetRightLabel(group);
|
||||||
menu.AddItem(groupItem);
|
menu.AddItem(groupItem);
|
||||||
menu.BindMenuToItem(getGroupMenu(group), groupItem);
|
menu.BindMenuToItem(getGroupMenu(group, menu), groupItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
var items: Array<string> = new Array<string>();
|
var items: Array<string> = new Array<string>();
|
||||||
@@ -118,17 +118,29 @@ export default function (globalData: GlobalData) {
|
|||||||
});
|
});
|
||||||
} else if (index === 1) { // Uninviten
|
} else if (index === 1) { // Uninviten
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
return factionMenu;
|
return factionMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getGroupMenu(group: string): NativeUI.Menu {
|
function getGroupMenu(group: string, parentMenu: NativeUI.Menu): NativeUI.Menu {
|
||||||
var groupMenu = new NativeUI.Menu("Gruppe", group, new Point(50, 50), null, null);
|
var groupMenu = new NativeUI.Menu("Gruppe", group, new Point(50, 50), null, null);
|
||||||
groupMenu.AddItem(new UIMenuItem("Spieler einladen"));
|
groupMenu.AddItem(new UIMenuItem("Spieler einladen"));
|
||||||
groupMenu.AddItem(new UIMenuItem("Spieler rauswerfen"));
|
groupMenu.AddItem(new UIMenuItem("Spieler rauswerfen"));
|
||||||
groupMenu.Visible = false;
|
groupMenu.Visible = false;
|
||||||
|
|
||||||
|
groupMenu.ItemSelect.on((item, index) => {
|
||||||
|
if (index === 0) { // Inviten
|
||||||
|
var input = new InputHelper("Welchen Spieler möchtest du inviten (Name / ID)?", globalData);
|
||||||
|
input.show();
|
||||||
|
input.getValue(name => {
|
||||||
|
mp.events.callRemote("CLIENT:InteractionMenu_InviteGroup", name);
|
||||||
|
parentMenu.Close();
|
||||||
|
});
|
||||||
|
} else if (index === 1) { // Uninviten
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return groupMenu;
|
return groupMenu;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -45,7 +45,7 @@ export default function keys(globalData: GlobalData) {
|
|||||||
|
|
||||||
//DOWN ARROW (Eigeninteraktion)
|
//DOWN ARROW (Eigeninteraktion)
|
||||||
mp.keys.bind(0x28, false, function () {
|
mp.keys.bind(0x28, false, function () {
|
||||||
if (!globalData.InChat && !showInv && !globalData.InMenu && !globalData.InInput) {
|
if (!globalData.InChat && !showInv && !globalData.InMenu && !globalData.InInput && !globalData.InTuning) {
|
||||||
mp.events.callRemote("keyPress:DOWN_ARROW");
|
mp.events.callRemote("keyPress:DOWN_ARROW");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -26,16 +26,19 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")]
|
[RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")]
|
||||||
public void InteractionMenuAcceptInvite(Client player, string type)
|
public void InteractionMenuAcceptInvite(Client player, string type)
|
||||||
{
|
{
|
||||||
if (type != "Fraktion" || type != "Gruppe") return;
|
|
||||||
|
if (type != "Fraktion" && type != "Gruppe") return;
|
||||||
|
|
||||||
if (type == "Fraktion") // Fraktions Invite annehmen
|
if (type == "Fraktion") // Fraktions Invite annehmen
|
||||||
{
|
{
|
||||||
|
NAPI.Chat.SendChatMessageToAll("faction invite 1");
|
||||||
if (!player.HasData("accept_faction_invite"))
|
if (!player.HasData("accept_faction_invite"))
|
||||||
{
|
{
|
||||||
ChatService.Error(player, "Du hast keine Einladung in eine Fraktion erhalten");
|
ChatService.Error(player, "Du hast keine Einladung in eine Fraktion erhalten");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NAPI.Chat.SendChatMessageToAll("faction invite 2");
|
||||||
Client leader = NAPI.Player.GetPlayerFromHandle((NetHandle)player.GetData("accept_faction_invite"));
|
Client leader = NAPI.Player.GetPlayerFromHandle((NetHandle)player.GetData("accept_faction_invite"));
|
||||||
player.ResetData("accept_faction_invite");
|
player.ResetData("accept_faction_invite");
|
||||||
|
|
||||||
@@ -45,6 +48,8 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NAPI.Chat.SendChatMessageToAll("faction invite 3");
|
||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
using (var dbContext = new DatabaseContext())
|
||||||
{
|
{
|
||||||
User u = leader.GetUser(dbContext);
|
User u = leader.GetUser(dbContext);
|
||||||
@@ -125,6 +130,35 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
target.SendChatMessage("!{02FCFF}Du hast von " + player.Name + " eine Einladung in die Fraktion \"" + player.GetUser().Faction.Name + "\" erhalten.");
|
target.SendChatMessage("!{02FCFF}Du hast von " + player.Name + " eine Einladung in die Fraktion \"" + player.GetUser().Faction.Name + "\" erhalten.");
|
||||||
target.SendChatMessage("!{02FCFF}Benutze das Interaktionsmenü, um die Einladung anzunehmen");
|
target.SendChatMessage("!{02FCFF}Benutze das Interaktionsmenü, um die Einladung anzunehmen");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[RemoteEvent("CLIENT:InteractionMenu_InviteGroup")]
|
||||||
|
public void InteractionMenuInviteGroup(Client player, string nameOrId)
|
||||||
|
{
|
||||||
|
if (player.GetUser()?.Group == null || player.GetUser().GroupRank < GroupRank.MANAGER)
|
||||||
|
{
|
||||||
|
ChatService.NotAuthorized(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Client target = ClientService.GetClientByNameOrId(nameOrId);
|
||||||
|
if (target == null || !target.IsLoggedIn())
|
||||||
|
{
|
||||||
|
ChatService.PlayerNotFound(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target.GetUser()?.Group != null)
|
||||||
|
{
|
||||||
|
ChatService.Error(player, "Dieser Spieler ist schon in einer Gruppe");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
target.SetData("accept_group_invite", player.Handle);
|
||||||
|
|
||||||
|
player.SendChatMessage("!{02FCFF}Du hast dem Spieler " + target.Name + " eine Einladung in deine Gruppe gesendet.");
|
||||||
|
target.SendChatMessage("!{02FCFF}Du hast von " + player.Name + " eine Einladung in die Gruppe \"" + player.GetUser().Group.Name + "\" erhalten.");
|
||||||
|
target.SendChatMessage("!{02FCFF}Benutze das Interaktionsmenü, um die Einladung anzunehmen");
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Spielerinteraktionen PFEILTASTE-LINKS
|
#region Spielerinteraktionen PFEILTASTE-LINKS
|
||||||
[RemoteEvent("openTradeInventory")]
|
[RemoteEvent("openTradeInventory")]
|
||||||
|
|||||||
Reference in New Issue
Block a user