Add LSPD Ticketsystem

This commit is contained in:
Mac_Slash
2020-04-11 13:55:39 +02:00
parent f0e4a7c170
commit 23d27c28e3
3 changed files with 93 additions and 5 deletions

View File

@@ -384,8 +384,12 @@ namespace ReallifeGamemode.Server.Managers
target.SendNotification($"~b~{player.GetUser().FactionRank.RankName} | {playername} ~w~hat dir ein Ticket in Höhe von ~y~{amount}$ ~w~gestellt.", true);
target.SendNotification($"~w~Grund: ~g~{reason}~w~. ~x~Strafticket im Interaktionsmenü annehmen.", true);
//target.SendChatMessage("Du kannst mit '/accept ticket' das Strafticket annehmen.");
target.SetData("ticket_boolean", true);
//target.SetData("ticket_amount", amount);
//target.SetSharedData("ticket_amount", amount);
NAPI.Data.SetEntityData(target, "ticket_amount", amount);
NAPI.Data.SetEntityData(target, "ticket_player", player);
}
[RemoteEvent("CLIENT:InteractionMenu_LSPD_Points3")]
public void InteractionMenu_LSPD_Points3(Player player, string jsonNameOrId, string jsoAmount, string jsonReason)
@@ -396,10 +400,19 @@ namespace ReallifeGamemode.Server.Managers
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
string playername = NAPI.Player.GetPlayerName(player);
string targetname = NAPI.Player.GetPlayerName(target);
if (target.GetUser().DriverLicenseVehicle == false && target.GetUser().DriverLicenseBike == false)
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
return;
}
else if (target.GetUser().DriverLicenseVehicle == false && target.GetUser().DriverLicenseBike == false)
{
player.SendNotification("~r~Spieler hat weder Auto- noch Motorradführerschein!");
}
else if(target == player)
{
player.SendNotification("~r~Du kannst dir selbst keine Punkte setzen!");
}
else
{
if (amount > -9 && amount < 9)
@@ -424,7 +437,18 @@ namespace ReallifeGamemode.Server.Managers
else if (target.GetUser().Points >= 8)
{
target.SendNotification($"~w~Grund: ~g~{reason}~w~. ~x~Du hast nun ~r~8/8 ~x~Strafpunkten.", true);
target.SendNotification($"~w~Dir wird ~r~Auo- ~w~und ~r~Motorradführerschein ~w~entzogen.", true);
target.SendNotification($"~w~Dir wird ~r~Auto- ~w~und ~r~Motorradführerschein ~w~entzogen.", true);
foreach (var copPlayer in NAPI.Pools.GetAllPlayers())
{
User copUser = copPlayer.GetUser();
if (copUser.FactionId == 1 || copUser.FactionId == 3)
{
if (copUser.GetData<bool>("duty") == true)
{
ChatService.SendMessage(copPlayer, "!{#8181E9}HQ: " + targetname + " besitzt nun keinen Führerschein mehr.");
}
}
}
using (var dbContext = new DatabaseContext())
{
User target2 = target.GetUser(dbContext);
@@ -446,6 +470,41 @@ namespace ReallifeGamemode.Server.Managers
}
}
}
[RemoteEvent("CLIENT:InteractionMenu_Ticket")]
public void InteractionMenuTicket(Player target, string type, int ticket_amount)
{
Player player = NAPI.Data.GetEntityData(target, "ticket_player");
string playername = NAPI.Player.GetPlayerName(player);
string targetname = NAPI.Player.GetPlayerName(target);
/*if (type != "Fraktion" && type != "Gruppe") return;
Player target = PlayerService.GetPlayerByNameOrId(nameOrId);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
return;
}*/
//User targetUser = target.GetUser();
//User playerUser = player.GetUser();
if (type == "Angenommen")
{
target.SendNotification($"~g~Du hast das Ticket über ~b~{ticket_amount}$ ~g~angenommen und bezahlt.", true);
player.SendNotification($"~y~{targetname} ~g~hat das Ticket über ~b~{ticket_amount}$ ~g~angenommen und bezahlt.", true);
target.ResetData("ticket_boolean");
NAPI.Data.ResetEntityData(target, "ticket_amount");
NAPI.Data.ResetEntityData(target, "ticket_player");
}
else if (type == "Abgelehnt")
{
target.SendNotification($"~r~Du hast das Ticket über ~b~{ticket_amount}$ ~r~abgelehnt.", true);
player.SendNotification($"~y~{targetname} ~r~hat das Ticket über ~b~{ticket_amount}$ ~r~abgelehnt.", true);
target.ResetData("ticket_boolean");
NAPI.Data.ResetEntityData(target, "ticket_amount");
NAPI.Data.ResetEntityData(target, "ticket_player");
}
}
#endregion
#region Spielerinteraktionen PFEILTASTE-LINKS
[RemoteEvent("openTradeInventory")]