Merge branch 'develop' of ssh://development.life-of-german.org:451/log-gtav/reallife-gamemode into develop

This commit is contained in:
2021-04-21 21:32:31 +02:00
47 changed files with 617 additions and 239 deletions

View File

@@ -240,6 +240,30 @@ namespace ReallifeGamemode.Server.Commands
player.SendNotification("~g~[Info]~w~ Connect-Logs werden nun angezeigt.");
}
break;
case "d":
if (player.HasData("togd"))
{
player.ResetData("togd");
player.SendNotification("~g~[Info]~w~ D-Chat wird nun ausgeblendet.");
}
else
{
player.SetData("togd", true);
player.SendNotification("~g~[Info]~w~ D-Chat wird nun angezeigt.");
}
break;
case "ga":
if (player.HasData("togga"))
{
player.ResetData("togga");
player.SendNotification("~g~[Info]~w~ GA-Chat wird nun ausgeblendet.");
}
else
{
player.SetData("togga", true);
player.SendNotification("~g~[Info]~w~ GA-Chat wird nun angezeigt.");
}
break;
}
}
@@ -259,11 +283,13 @@ namespace ReallifeGamemode.Server.Commands
}
if (player.GetData<bool>("SAdminduty") == false)
{
player.TriggerEvent("toggleTSupportMode", true);
player.SetData("SAdminduty", true);
ChatService.SendMessage(player, "~g~ ** " + "Du befindest dich im T-Support");
}
else
{
player.TriggerEvent("toggleTSupportMode", false);
player.SetData("SAdminduty", false);
ChatService.SendMessage(player, "!{#ee4d2e}** " + "Du befindest dich nicht mehr im T-Support");
}
@@ -1442,6 +1468,33 @@ namespace ReallifeGamemode.Server.Commands
Medic.delReviveTask(target);
}
[Command("aunshow", "~m~Benutzung:~s~ /aunshow")]
public void CmdAdminUnshow(Player player)
{
User user = player.GetUser();
if (!user.IsAdmin(AdminLevel.HEADADMIN))
{
ChatService.NotAuthorized(player);
return;
}
bool currentStatus = user.GetData<bool>("adminUnshow");
currentStatus = !currentStatus;
user.SetData("adminUnshow", currentStatus);
player.TriggerEvent("toggleAdminUnshowMode", currentStatus);
user.SetBlipAndNametagColor();
if(currentStatus)
{
ChatService.SendMessage(player, "~b~[ADMIN]~s~ Du bist nun Unshow");
}
else
{
ChatService.SendMessage(player, "~b~[ADMIN]~s~ Du bist nun nicht mehr Unshow");
}
}
[Command("setap", "~m~Benutzung: ~s~/setap [Spieler] (Armor)")]
public void CmdAdminSetAP(Player player, string name, int armor = 100)
{

View File

@@ -74,7 +74,7 @@ namespace ReallifeGamemode.Server.Commands
User user = player.GetUser(dbContext);
Faction f = user?.Faction;
if ((f == null || !f.GangOwned) && !user.IsAdmin(AdminLevel.ADMIN))
if ((f == null || !f.GangOwned) && (!user.IsAdmin(AdminLevel.ADMIN) || !player.HasData("togga")))
{
ChatService.NotAuthorized(player);
return;
@@ -105,7 +105,7 @@ namespace ReallifeGamemode.Server.Commands
string broadcastMessage = "!{FF0000}** " + rank + " " + player.Name + ": " + message + " **";
using (var context = new DatabaseContext())
{
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.GangOwned), true);
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.GangOwned), true, (admin) => admin.HasData("togga"));
}
}
@@ -154,7 +154,7 @@ namespace ReallifeGamemode.Server.Commands
User user = player.GetUser(dbContext);
Faction f = user?.Faction;
if ((f == null || !f.StateOwned) && !user.IsAdmin(AdminLevel.ADMIN))
if ((f == null || !f.StateOwned) && (!user.IsAdmin(AdminLevel.ADMIN) || !player.HasData("todg")))
{
ChatService.NotAuthorized(player);
return;
@@ -185,7 +185,7 @@ namespace ReallifeGamemode.Server.Commands
string broadcastMessage = "!{CC3333}** " + factionName + " " + player.Name + ": " + message + ", over **";
using (var context = new DatabaseContext())
{
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned), true);
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned), true, (admin) => admin.HasData("togd"));
}
}
@@ -312,7 +312,7 @@ namespace ReallifeGamemode.Server.Commands
NAPI.Pools.GetAllPlayers().ForEach(p =>
{
User pUser = p.GetUser();
if ((pUser?.FactionLeader ?? false) || (pUser.IsAdmin(AdminLevel.ADMIN) && !p.HasData("toglc")))
if ((pUser?.FactionLeader ?? false) || (pUser.IsAdmin(AdminLevel.ADMIN) && p.HasData("toglc")))
{
ChatService.SendMessage(p, broadcastMsg);
}

View File

@@ -625,6 +625,15 @@ namespace ReallifeGamemode.Server.Events
return;
}
if(player.GetData<bool>("SellVehicleDecision") == true && player.HasData("VehicleToSell"))
{
InteractionManager.SellPlayerVehicle(player, player.GetData<int>("VehicleToSell"));
player.ResetData("SellVehicleDecision");
player.ResetData("VehicleToSell");
player.SendNotification("~g~Du hast dein Fahrzeug verkauft");
return;
}
User u = player.GetUser();
if (u.JobId == null) return;
@@ -780,6 +789,13 @@ namespace ReallifeGamemode.Server.Events
Medic.MakeHealDecision(player, false);
return;
}
if (player.GetData<bool>("SellVehicleDecision") == true && player.HasData("VehicleToSell"))
{
player.ResetData("SellVehicleDecision");
player.ResetData("VehicleToSell");
player.SendNotification("~r~Du hast den Fahrzeugverkauf abgebrochen");
return;
}
if (!player.IsInVehicle) return;
if (player.VehicleSeat != 0) return;

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
namespace ReallifeGamemode.Server.Events
{

View File

@@ -345,8 +345,14 @@ namespace ReallifeGamemode.Server.Extensions
}
bool duty = user.GetData<bool>("duty");
bool adminUnshow = user.GetData<bool>("adminUnshow");
if (player.GetData<bool>("SAdminduty"))
if(adminUnshow)
{
blipColor = -1;
nameTagColor = -3;
}
else if (player.GetData<bool>("SAdminduty"))
{
blipColor = 30;
nameTagColor = -2;

View File

@@ -33,7 +33,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
}
else if (factionID == 5)
{
client.TriggerEvent("SERVER:Util_setWaypoint", 1157.56, -1518.56); // Terror
client.TriggerEvent("SERVER:Util_setWaypoint", -1082.29, -1655.07); // Terror
}
else if (factionID == 6)
{

View File

@@ -473,18 +473,30 @@ namespace ReallifeGamemode.Server.Managers
{
var vehPrice = userVehicle.Price;
var backPrice = (int)(vehPrice * 0.4);
user.BankAccount.Balance += backPrice;
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
dbContext.UserVehicles.Remove(userVehicle);
dbContext.SaveChanges();
veh?.Delete();
player.SetData<bool>("SellVehicleDecision", true);
player.SetData<int>("VehicleToSell", id);
ChatService.SendMessage(player,"~s~Möchtes du das Fahrzeug ~y~" + veh.DisplayName + " ~s~wirklich für ~g~$" + backPrice + " ~s~verkaufen? Drücke ~g~J~s~ zum Bestätigen oder ~r~N ~s~zum Abbrechen");
}
}
public static void SellPlayerVehicle(Player player, int id)
{
using var dbContext = new DatabaseContext();
var user = player.GetUser(dbContext);
var userVehicle = dbContext.UserVehicles.Where(v => v.Id == id && v.UserId == user.Id).FirstOrDefault();
var vehPrice = userVehicle.Price;
var backPrice = (int)(vehPrice * 0.4);
GTANetworkAPI.Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(userVehicle);
user.BankAccount.Balance += backPrice;
ChatService.SendMessage(player, $"~b~[INFO]~s~ Du hast durch den Autoverkauf ~g~{backPrice.ToMoneyString()}~s~ erhalten.");
dbContext.UserVehicles.Remove(userVehicle);
dbContext.SaveChanges();
veh?.Delete();
}
[RemoteEvent("CLIENT:InteractionMenu_FactionVehicleInteraction")]
public void FactionVehicleInteraction(Player player, int id, string selection)
{

View File

@@ -53,7 +53,7 @@ namespace ReallifeGamemode.Server.Services
/// </summary>
/// <param name="message">Die Nachricht, die gesendet werden soll</param>
/// <param name="factions">Die Liste an Fraktionen, die diese Nachricht bekommen sollen</param>
public static void BroadcastFaction(string message, List<Faction> factions, bool toAdmins = false)
public static void BroadcastFaction(string message, List<Faction> factions, bool toAdmins = false, Predicate<Player> shouldSendToAdmins = null)
{
foreach (Player c in NAPI.Pools.GetAllPlayers())
{
@@ -63,7 +63,7 @@ namespace ReallifeGamemode.Server.Services
{
ChatService.SendMessage(c, message);
}
else if (user.IsAdmin(AdminLevel.ADMIN) && toAdmins)
else if (user.IsAdmin(AdminLevel.ADMIN) && (toAdmins && (shouldSendToAdmins == null || shouldSendToAdmins(c))))
{
ChatService.SendMessage(c, message);
}

View File

@@ -17,7 +17,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
public static int[] WEAPON_DEAL_FACTIONS => WEAPON_DEAL_GANG_IDS.Concat(WEAPON_DEAL_STAATSFRAK_IDS).Distinct().ToArray();
public static readonly VehicleHash WEAPON_DEAL_GANG_VEHICLE_HASH = VehicleHash.Burrito3;
public static readonly VehicleHash WEAPON_DEAL_GANG_VEHICLE_HASH = VehicleHash.Gburrito2;
public static readonly VehicleHash WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH = VehicleHash.Policet;
private const int WEAPON_AMOUNT_GANG = 2;