simplify invinte / add uninvite
This commit is contained in:
@@ -113,10 +113,16 @@ export default function (globalData: GlobalData) {
|
||||
var input = new InputHelper("Welchen Spieler möchtest du inviten (Name / ID)?", globalData);
|
||||
input.show();
|
||||
input.getValue(name => {
|
||||
mp.events.callRemote("CLIENT:InteractionMenu_InviteFaction", name);
|
||||
mp.events.callRemote("CLIENT:InteractionMenu_Invite", "Fraktion", name);
|
||||
parentMenu.Close();
|
||||
});
|
||||
} else if (index === 1) { // Uninviten
|
||||
var input = new InputHelper("Welchen Spieler möchtest du uninviten (Name / ID)?", globalData);
|
||||
input.show();
|
||||
input.getValue(name => {
|
||||
mp.events.callRemote("CLIENT:InteractionMenu_Uninvite", "Fraktion", name);
|
||||
parentMenu.Close();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -134,10 +140,16 @@ export default function (globalData: GlobalData) {
|
||||
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);
|
||||
mp.events.callRemote("CLIENT:InteractionMenu_Invite", "Gruppe", name);
|
||||
parentMenu.Close();
|
||||
});
|
||||
} else if (index === 1) { // Uninviten
|
||||
var input = new InputHelper("Welchen Spieler möchtest du uninviten (Name / ID)?", globalData);
|
||||
input.show();
|
||||
input.getValue(name => {
|
||||
mp.events.callRemote("CLIENT:InteractionMenu_Uninvite", "Gruppe", name);
|
||||
parentMenu.Close();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -71,12 +71,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
#endregion
|
||||
#region Leader Commands
|
||||
[Command("invite", "~m~Benutzung: ~s~/invite [Name]")]
|
||||
public void CmdFactionInvite(Client player, string name)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
|
||||
public void CmdFactionGiverank(Client player, string name, string rank)
|
||||
{
|
||||
@@ -120,48 +114,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
[Command("uninvite", "~m~Benutzung: ~s~/uninvite [Name]")]
|
||||
public void CmdFactionUninvite(Client player, string name)
|
||||
{
|
||||
if (player.GetUser()?.FactionId == null || player.GetUser().FactionLeader == false)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
Client target = ClientService.GetClientByNameOrId(name);
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
}
|
||||
|
||||
if (target.GetUser()?.FactionId != player.GetUser()?.FactionId)
|
||||
{
|
||||
ChatService.Error(player, "Dieser Spieler ist nicht in deiner Fraktion");
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.Handle == target.Handle)
|
||||
{
|
||||
ChatService.Error(player, "Du kannst dich nicht selber uninviten");
|
||||
return;
|
||||
}
|
||||
|
||||
if (target.GetUser()?.FactionLeader ?? false)
|
||||
{
|
||||
ChatService.Error(player, "Du kannst keinen Leader uninviten");
|
||||
return;
|
||||
}
|
||||
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
|
||||
target.GetUser(dbContext).FactionRankId = null;
|
||||
target.GetUser(dbContext).FactionId = null;
|
||||
|
||||
player.SendChatMessage("!{02FCFF}Du hast " + target.Name + " aus der Fraktion geworfen.");
|
||||
target.SendChatMessage("!{02FCFF}Du wurdest von " + player.Name + " aus der Fraktion geworfen.");
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Command("lc", "~m~Benutzung: ~s~/lc [Nachricht]", GreedyArg = true)]
|
||||
|
||||
@@ -26,7 +26,6 @@ namespace ReallifeGamemode.Server.Managers
|
||||
[RemoteEvent("CLIENT:InteractionMenu_AcceptInvite")]
|
||||
public void InteractionMenuAcceptInvite(Client player, string type)
|
||||
{
|
||||
|
||||
if (type != "Fraktion" && type != "Gruppe") return;
|
||||
|
||||
if (type == "Fraktion") // Fraktions Invite annehmen
|
||||
@@ -102,14 +101,10 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
}
|
||||
|
||||
[RemoteEvent("CLIENT:InteractionMenu_InviteFaction")]
|
||||
public void InteractionMenuInviteFaction(Client player, string nameOrId)
|
||||
[RemoteEvent("CLIENT:InteractionMenu_Invite")]
|
||||
public void InteractionMenuInviteFaction(Client player, string type, string nameOrId)
|
||||
{
|
||||
if (player.GetUser()?.FactionId == null || player.GetUser().FactionLeader == false)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
if (type != "Fraktion" && type != "Gruppe") return;
|
||||
|
||||
Client target = ClientService.GetClientByNameOrId(nameOrId);
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
@@ -118,46 +113,142 @@ namespace ReallifeGamemode.Server.Managers
|
||||
return;
|
||||
}
|
||||
|
||||
if (target.GetUser()?.FactionId != null)
|
||||
User targetUser = target.GetUser();
|
||||
User playerUser = player.GetUser();
|
||||
|
||||
if (type == "Fraktion")
|
||||
{
|
||||
ChatService.Error(player, "Dieser Spieler ist schon in einer Fraktion");
|
||||
return;
|
||||
if (playerUser?.FactionId == null || playerUser?.FactionLeader == false)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
if (targetUser?.FactionId != null)
|
||||
{
|
||||
ChatService.Error(player, "Dieser Spieler ist schon in einer Fraktion");
|
||||
return;
|
||||
}
|
||||
|
||||
target.SetData("accept_faction_invite", player.Handle);
|
||||
|
||||
player.SendChatMessage("!{02FCFF}Du hast dem Spieler " + target.Name + " eine Einladung in deine Fraktion gesendet.");
|
||||
target.SendChatMessage("!{02FCFF}Du hast von " + player.Name + " eine Einladung in die Fraktion \"" + playerUser.Faction.Name + "\" erhalten.");
|
||||
target.SendChatMessage("!{02FCFF}Benutze das Interaktionsmenü, um die Einladung anzunehmen");
|
||||
}
|
||||
else if (type == "Gruppe")
|
||||
{
|
||||
if (playerUser?.Group == null || playerUser.GroupRank < GroupRank.MANAGER)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
target.SetData("accept_faction_invite", player.Handle);
|
||||
if (targetUser?.Group != null)
|
||||
{
|
||||
ChatService.Error(player, "Dieser Spieler ist schon in einer Gruppe");
|
||||
return;
|
||||
}
|
||||
|
||||
player.SendChatMessage("!{02FCFF}Du hast dem Spieler " + target.Name + " eine Einladung in deine Fraktion gesendet.");
|
||||
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.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 \"" + playerUser.Group.Name + "\" erhalten.");
|
||||
target.SendChatMessage("!{02FCFF}Benutze das Interaktionsmenü, um die Einladung anzunehmen");
|
||||
}
|
||||
}
|
||||
|
||||
[RemoteEvent("CLIENT:InteractionMenu_InviteGroup")]
|
||||
public void InteractionMenuInviteGroup(Client player, string nameOrId)
|
||||
[RemoteEvent("CLIENT:InteractionMenu_Uninvite")]
|
||||
public void InteractionMenuInviteGroup(Client player, string type, string name)
|
||||
{
|
||||
if (player.GetUser()?.Group == null || player.GetUser().GroupRank < GroupRank.MANAGER)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
if (type != "Fraktion" && type != "Gruppe") return;
|
||||
|
||||
Client target = ClientService.GetClientByNameOrId(nameOrId);
|
||||
Client target = ClientService.GetClientByNameOrId(name);
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
}
|
||||
|
||||
if (target.GetUser()?.Group != null)
|
||||
User targetUser = target.GetUser();
|
||||
User playerUser = player.GetUser();
|
||||
|
||||
if (type == "Fraktion")
|
||||
{
|
||||
ChatService.Error(player, "Dieser Spieler ist schon in einer Gruppe");
|
||||
return;
|
||||
if (playerUser?.FactionId == null || playerUser.FactionLeader == false)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
if (targetUser?.FactionId != playerUser?.FactionId)
|
||||
{
|
||||
ChatService.Error(player, "Dieser Spieler ist nicht in deiner Fraktion");
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.Handle == target.Handle)
|
||||
{
|
||||
ChatService.Error(player, "Du kannst dich nicht selber uninviten");
|
||||
return;
|
||||
}
|
||||
|
||||
if (targetUser?.FactionLeader ?? false)
|
||||
{
|
||||
ChatService.Error(player, "Du kannst keinen Leader uninviten");
|
||||
return;
|
||||
}
|
||||
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
|
||||
target.GetUser(dbContext).FactionRankId = null;
|
||||
target.GetUser(dbContext).FactionId = null;
|
||||
|
||||
player.SendChatMessage("!{02FCFF}Du hast " + target.Name + " aus der Fraktion geworfen.");
|
||||
target.SendChatMessage("!{02FCFF}Du wurdest von " + player.Name + " aus der Fraktion geworfen.");
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
else if (type == "Gruppe")
|
||||
{
|
||||
if (playerUser?.Group == null || playerUser.GroupRank < GroupRank.MANAGER)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
target.SetData("accept_group_invite", player.Handle);
|
||||
if (targetUser?.Group.Id != playerUser?.Group.Id)
|
||||
{
|
||||
ChatService.Error(player, "Dieser Spieler ist nicht in deiner Fraktion");
|
||||
return;
|
||||
}
|
||||
|
||||
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");
|
||||
if (player.Handle == target.Handle)
|
||||
{
|
||||
ChatService.Error(player, "Du kannst dich nicht selber uninviten");
|
||||
return;
|
||||
}
|
||||
|
||||
if (targetUser?.GroupRank >= GroupRank.MANAGER && playerUser?.GroupRank != GroupRank.OWNER)
|
||||
{
|
||||
ChatService.Error(player, "Du kannst keinen Leader uninviten");
|
||||
return;
|
||||
}
|
||||
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
|
||||
target.GetUser(dbContext).FactionRankId = null;
|
||||
target.GetUser(dbContext).FactionId = null;
|
||||
|
||||
player.SendChatMessage("!{02FCFF}Du hast " + target.Name + " aus der Gruppe geworfen.");
|
||||
target.SendChatMessage("!{02FCFF}Du wurdest von " + player.Name + " aus der Gruppe geworfen.");
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Spielerinteraktionen PFEILTASTE-LINKS
|
||||
@@ -185,7 +276,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
Client tradeRequester = ClientService.GetClientByNameOrId(tradeRequesterName);
|
||||
if (tradeSelection == "accept")
|
||||
{
|
||||
if(player.GetUser().Handmoney < tradePrize)
|
||||
if (player.GetUser().Handmoney < tradePrize)
|
||||
{
|
||||
tradeRequester.TriggerEvent("unlockTradeItems");
|
||||
tradeRequester.SendNotification("~y~" + player.Name + " ~r~hat nicht genügend Bargeld! ~s~Handel abgebrochen.");
|
||||
@@ -212,7 +303,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user