Fraktionsmitgliederliste eingebaut inkl. uninvite für Leader
This commit is contained in:
@@ -135,6 +135,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
Price = f.BuyPrice
|
||||
});
|
||||
|
||||
|
||||
Paycheck paycheck = null;
|
||||
if (Economy.Paychecks.ContainsKey(u.Id)) paycheck = Economy.Paychecks[u.Id];
|
||||
|
||||
@@ -169,6 +170,15 @@ namespace ReallifeGamemode.Server.Events
|
||||
wage = u.Wage,
|
||||
};
|
||||
|
||||
var memberList = dbContext.Users.Where(f => f.FactionId == u.FactionId && u.FactionId != 0).OrderByDescending(f => f.FactionRank.Order).ThenBy(f => f.Name).Select(m => new
|
||||
{
|
||||
username = m.Name,
|
||||
factionRank = m.FactionRank.Order,
|
||||
factionRankName = m.FactionRank.RankName,
|
||||
isLeader = m.FactionLeader,
|
||||
isOnline = m.Player.IsLoggedIn(),
|
||||
});
|
||||
|
||||
string faction = u.Faction?.Name ?? "Zivilist";
|
||||
string factionleader = u.FactionLeader ? u.Faction.Name : null;
|
||||
string group = u.Group != null ? u.Group.Name : null;
|
||||
@@ -193,8 +203,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
pay_amount = player.GetData<int>("pay_amount");
|
||||
}
|
||||
|
||||
player.TriggerEvent("SERVER:InteractionMenu_OpenMenu", JsonConvert.SerializeObject(accountData), factionleader, JsonConvert.SerializeObject(jobData), faction, group, factionInvite, groupInvite, ticket_boolean, ticket_amount, pay_amount, house);
|
||||
player.TriggerEvent("SERVER:InteractionMenu_OpenMenu", JsonConvert.SerializeObject(accountData), factionleader, JsonConvert.SerializeObject(memberList), JsonConvert.SerializeObject(jobData), faction, group, factionInvite, groupInvite, ticket_boolean, ticket_amount, pay_amount, house);
|
||||
}
|
||||
|
||||
[RemoteEvent("keyPress:E")]
|
||||
|
||||
@@ -215,16 +215,16 @@ namespace ReallifeGamemode.Server.Managers
|
||||
{
|
||||
if (type != "Fraktion" && type != "Gruppe") return;
|
||||
|
||||
Player target = PlayerService.GetPlayerByNameOrId(name);
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
using var dbContext = new DatabaseContext();
|
||||
User targetUser = dbContext.Users.FirstOrDefault(u => u.Name == name);
|
||||
|
||||
if (targetUser == null)
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
}
|
||||
|
||||
using var dbContext = new DatabaseContext();
|
||||
|
||||
User targetUser = target.GetUser(dbContext);
|
||||
Player targetPlayer = PlayerService.GetPlayerByNameOrId(name);
|
||||
User playerUser = player.GetUser(dbContext);
|
||||
|
||||
if (type == "Fraktion")
|
||||
@@ -241,7 +241,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.Handle == target.Handle)
|
||||
if (player.Name == targetUser.Name)
|
||||
{
|
||||
ChatService.ErrorMessage(player, "Du kannst dich nicht selber uninviten");
|
||||
return;
|
||||
@@ -253,15 +253,19 @@ namespace ReallifeGamemode.Server.Managers
|
||||
return;
|
||||
}
|
||||
|
||||
target.SetData("duty", false);
|
||||
target.TriggerEvent("toggleDutyMode", false);
|
||||
if (targetPlayer != null)
|
||||
{
|
||||
targetPlayer.SetData("duty", false);
|
||||
targetPlayer.TriggerEvent("toggleDutyMode", false);
|
||||
UpdateCharacterCloth.LoadCharacterDefaults(targetPlayer);
|
||||
ChatService.SendMessage(targetPlayer, "!{02FCFF}Du wurdest von " + player.Name + " aus der Fraktion geworfen.");
|
||||
targetUser.SetBlipAndNametagColor();
|
||||
}
|
||||
Medic.UpdateDutyMedics();
|
||||
UpdateCharacterCloth.LoadCharacterDefaults(target);
|
||||
target.GetUser(dbContext).FactionRankId = null;
|
||||
target.GetUser(dbContext).FactionId = null;
|
||||
ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " aus der Fraktion geworfen.");
|
||||
ChatService.SendMessage(target, "!{02FCFF}Du wurdest von " + player.Name + " aus der Fraktion geworfen.");
|
||||
targetUser.SetBlipAndNametagColor();
|
||||
targetUser.FactionRankId = null;
|
||||
targetUser.FactionId = null;
|
||||
ChatService.SendMessage(player, "!{02FCFF}Du hast " + targetUser.Name + " aus der Fraktion geworfen.");
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
else if (type == "Gruppe")
|
||||
@@ -278,7 +282,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.Handle == target.Handle)
|
||||
if (player.Handle == targetPlayer.Handle)
|
||||
{
|
||||
ChatService.ErrorMessage(player, "Du kannst dich nicht selber uninviten");
|
||||
return;
|
||||
@@ -293,8 +297,8 @@ namespace ReallifeGamemode.Server.Managers
|
||||
targetUser.Group = null;
|
||||
targetUser.GroupRank = GroupRank.NONE;
|
||||
|
||||
ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " aus der Gruppe geworfen.");
|
||||
ChatService.SendMessage(target, "!{02FCFF}Du wurdest von " + player.Name + " aus der Gruppe geworfen.");
|
||||
ChatService.SendMessage(player, "!{02FCFF}Du hast " + targetPlayer.Name + " aus der Gruppe geworfen.");
|
||||
ChatService.SendMessage(targetPlayer, "!{02FCFF}Du wurdest von " + player.Name + " aus der Gruppe geworfen.");
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user