From 0839e2255aae358977794757ec390eea1c737642 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sat, 29 May 2021 02:50:20 +0200 Subject: [PATCH 1/9] samen preise hoch + mehr hanf logs --- ReallifeGamemode.Server/Managers/HanfManager.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ReallifeGamemode.Server/Managers/HanfManager.cs b/ReallifeGamemode.Server/Managers/HanfManager.cs index 3edd2d54..d2a21bc9 100644 --- a/ReallifeGamemode.Server/Managers/HanfManager.cs +++ b/ReallifeGamemode.Server/Managers/HanfManager.cs @@ -32,8 +32,8 @@ namespace ReallifeGamemode.Server.Managers /// public static int SEED_PRICE = 0; - private const int SEED_PRICE_MIN = 40; - private const int SEED_PRICE_MAX = 75; + private const int SEED_PRICE_MIN = 175; + private const int SEED_PRICE_MAX = 225; /// /// Aktueller Hanf-Verkaufspreis @@ -416,6 +416,7 @@ namespace ReallifeGamemode.Server.Managers if (user.FactionId != 3 && user.FactionId != 1) // Zivi / Gangmember erntet ab { + logger.LogInformation("Player {0} harvested the cannabis plant {1} from {2}", player.Name, plant.Id, plant.PlantedBy.Name); player.SyncAnimation("harvestPlant"); plant.Harvested = true; bool isPlantRotten = DateTime.Now - plant.PlantDate > MAX_PLANT_TIME; @@ -468,6 +469,7 @@ namespace ReallifeGamemode.Server.Managers { if (!(player.HasData("IsCarryingPlant") || player.GetData("IsCarryingPlant"))) { + logger.LogInformation("Cop {0} harvested the cannabis plant {1} from {2}", player.Name, plant.Id, plant.PlantedBy.Name); player.SetData("IsCarryingPlant", true); player.SendNotification($"Du hast eine Pflanze von ~y~{plant.PlantedBy.Name}~s~ ausgegraben"); @@ -536,6 +538,8 @@ namespace ReallifeGamemode.Server.Managers InventoryManager.RemoveUserItem(user, userCannabisItem, CANNABIS_NEEDED_FOR_JOINT); InventoryManager.AddItemToInventory(player, jointItem.Id, 1); + logger.LogInformation("Player {0} used the joint manufacturer to build {1} cannabis to 1 joint", player.Name, CANNABIS_NEEDED_FOR_JOINT); + player.SendNotification($"Du hast {CANNABIS_NEEDED_FOR_JOINT} Hanfblüten in einen Joint verarbeitet"); NAPI.ClientEvent.TriggerClientEventInRange(player.Position, 100.0f, "SERVER:Hanf_PlayManufacturerAnim", _manufacturerAnim); From 02e4e5773f1b78e195e8696612d6662a2d6fae6f Mon Sep 17 00:00:00 2001 From: hydrant Date: Sat, 29 May 2021 02:52:07 +0200 Subject: [PATCH 2/9] mehr inventar logs --- .../Managers/InventoryManager.cs | 16 +++++++++++++--- .../Managers/VehicleManager.cs | 9 ++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/ReallifeGamemode.Server/Managers/InventoryManager.cs b/ReallifeGamemode.Server/Managers/InventoryManager.cs index a2ff976f..6bebc678 100644 --- a/ReallifeGamemode.Server/Managers/InventoryManager.cs +++ b/ReallifeGamemode.Server/Managers/InventoryManager.cs @@ -341,15 +341,24 @@ namespace ReallifeGamemode.Server.Managers veh = new NetHandle(vehicleItems[player].FirstOrDefault().vehicle, EntityType.Vehicle).Entity(); ServerVehicle serverVehicle = VehicleManager.GetServerVehicleFromVehicle(veh, context); - VehicleItem vehItem = context.VehicleItems.Where(v => v.VehicleId == serverVehicle.Id && v.ItemId == itemID).FirstOrDefault(); + + if (serverVehicle.Locked || VehicleStreaming.GetLockState(veh)) + { + player.TriggerEvent("Error", "Transfer nicht möglich."); + return; + } + + VehicleItem vehItem = context.VehicleItems.Where(v => v.VehicleId == serverVehicle.Id && v.ItemId == itemID && v.Amount >= itemAmount).FirstOrDefault(); if (vehItem == null) { player.TriggerEvent("Error", "Transfer nicht möglich."); return; } + + IItem item = GetItemById(itemID); + if (serverVehicle is FactionVehicle factionVehicle) { - IItem item = GetItemById(itemID); if (factionVehicle.Model == VehicleHash.Riot && user.Faction?.StateOwned == true) { player.TriggerEvent("Error", "Transfer nicht möglich."); @@ -357,6 +366,8 @@ namespace ReallifeGamemode.Server.Managers } } + logger.LogInformation("Player {0} transferred the item {1} ({2}, amount: {3}) from vehicle {4} to his inventory", player.Name, item.Name, item.Id, itemAmount, serverVehicle.Id); + RemoveVehicleItem(serverVehicle, vehItem, itemAmount, player); SetVehicleItems(player); @@ -364,7 +375,6 @@ namespace ReallifeGamemode.Server.Managers SetBackpackItems(player); context.SaveChanges(); - IItem iItem = GetItemById(vehItem.ItemId); } } diff --git a/ReallifeGamemode.Server/Managers/VehicleManager.cs b/ReallifeGamemode.Server/Managers/VehicleManager.cs index b7ae3bb5..4ed7b84e 100644 --- a/ReallifeGamemode.Server/Managers/VehicleManager.cs +++ b/ReallifeGamemode.Server/Managers/VehicleManager.cs @@ -1154,7 +1154,14 @@ namespace ReallifeGamemode.Server.Managers Vehicle newVeh = sV.Spawn(vehicle); newVeh.Repair(); } - InventoryManager.RemoveAllItemsfromVehicleInventory(vehicle); + + var items = InventoryManager.GetVehicleItems(vehicle); + if (items.Any()) + { + string itemsStr = string.Join(", ", items.Select(i => $"{i.ItemId} (amount: {i.Amount})")); + logger.LogInformation("Vehicle {0} died and lost the items: {1}", sV.Id, itemsStr); + InventoryManager.RemoveAllItemsfromVehicleInventory(vehicle); + } } } From 8f23ecb7fefa9ef9a338279b4ca2a60b6ec656ff Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 29 May 2021 03:01:50 +0200 Subject: [PATCH 3/9] chat fix --- ReallifeGamemode.Client/Gui/deathscreen.ts | 34 ++++++++----------- ReallifeGamemode.Server/Events/Death.cs | 10 +----- ReallifeGamemode.Server/Events/Login.cs | 9 +---- .../Services/ChatService.cs | 1 - 4 files changed, 17 insertions(+), 37 deletions(-) diff --git a/ReallifeGamemode.Client/Gui/deathscreen.ts b/ReallifeGamemode.Client/Gui/deathscreen.ts index 5aeb9d91..904af4c4 100644 --- a/ReallifeGamemode.Client/Gui/deathscreen.ts +++ b/ReallifeGamemode.Client/Gui/deathscreen.ts @@ -6,46 +6,39 @@ export default function deathScreen() { - var playerName; - var playerId; - var playerMoney; var dutyMedics = 0; - var isDeath = false; - var deathTime; - var respawnTime; + var isDead = false; var deathSeconds; - var fade; var deathDate: Date; - var taskTimeout = false; const maxDeathTime = 120; - const medicJobTime = maxDeathTime * -1; + var respawnTime; + var fade; mp.game.gameplay.setFadeOutAfterDeath(false); - mp.events.add("startDeathTimer", (isAdmin) => { - if (isDeath === false) { - isDeath = true; - mp.gui.chat.activate(true); + mp.events.add("startDeathTimer", (isSupporter) => { + if (isDead === false) { + isDead = true; + mp.gui.chat.activate(isSupporter); mp.game.audio.playSoundFrontend(-1, "Bed", "WastedSounds", true); deathDate = new Date(); respawnTime = Math.floor(deathDate.getTime() / 1000 + maxDeathTime); fade = 255 - maxDeathTime; mp.game.graphics.requestStreamedTextureDict("Mptattoos", true); mp.events.call("GetDutyMedics"); - taskTimeout = false; } }); mp.events.add("onPlayerRevived", () => { - isDeath = false; + isDead = false; mp.gui.chat.activate(true); mp.game.gameplay.setFadeOutAfterDeath(false); mp.game.graphics.setStreamedTextureDictAsNoLongerNeeded("Mptattoos"); }); mp.events.add("respawnDeathPlayer", () => { - isDeath = false; + isDead = false; mp.gui.chat.activate(true); mp.game.gameplay.setFadeOutAfterDeath(false); mp.events.callRemote('RespawnPlayerAtHospital'); @@ -59,23 +52,24 @@ export default function deathScreen() { mp.events.add("render", () => { var currentDate = new Date(); - if (isDeath === true) { - + if (isDead === true) { var medicString; + if (dutyMedics > 0) { medicString = "Das L.S.E.D. wurde benachrichtigt\nDerzeit "; + if (dutyMedics === 1) { medicString += "befindet sich ~g~" + dutyMedics + " Mitglied"; } else { medicString += "befinden sich ~g~" + dutyMedics + " Mitglieder"; } + medicString += " ~s~im Dienst"; } else { medicString = "Derzeit befinden sich ~r~keine Einsatzkräfte ~s~im Dienst"; } deathSeconds = respawnTime - Math.floor(currentDate.getTime() / 1000); - var alpha = fade + Math.floor(currentDate.getTime() / 1000 - deathDate.getTime() / 1000); if (deathSeconds >= 0) { mp.game.graphics.set2dLayer(2); mp.game.graphics.drawSprite("Mptattoos", "clearout", 0.625, 0.5, 0.1, 0.1, 0, 255, 255, 255, 236); @@ -95,6 +89,8 @@ export default function deathScreen() { outline: true, centre: false }); + + var alpha = fade + Math.floor(currentDate.getTime() / 1000 - deathDate.getTime() / 1000); mp.game.graphics.set2dLayer(1); mp.game.graphics.drawRect(0.5, 0.5, 1, 1, 0, 0, 0, alpha); diff --git a/ReallifeGamemode.Server/Events/Death.cs b/ReallifeGamemode.Server/Events/Death.cs index 63568241..0d8b87c2 100644 --- a/ReallifeGamemode.Server/Events/Death.cs +++ b/ReallifeGamemode.Server/Events/Death.cs @@ -197,15 +197,7 @@ namespace ReallifeGamemode.Server.Events } player.SetData("isDead", true); - - if (player.GetUser().IsAdmin(AdminLevel.ADMIN) == true) - { - player.TriggerEvent("startDeathTimer", true); - } - else - { - player.TriggerEvent("startDeathTimer", false); - } + player.TriggerEvent("startDeathTimer", user.IsAdmin(AdminLevel.SUPPORTER)); //TODO PICTURE NOTIFICATION + SOUND für Medics } diff --git a/ReallifeGamemode.Server/Events/Login.cs b/ReallifeGamemode.Server/Events/Login.cs index a7c1c4d5..7f771e97 100644 --- a/ReallifeGamemode.Server/Events/Login.cs +++ b/ReallifeGamemode.Server/Events/Login.cs @@ -194,14 +194,7 @@ namespace ReallifeGamemode.Server.Events { if (user.Dead == true) { - if (user.IsAdmin(AdminLevel.ADMIN) == true) - { - player.TriggerEvent("startDeathTimer", true); - } - else - { - player.TriggerEvent("startDeathTimer", false); - } + player.TriggerEvent("startDeathTimer", user.IsAdmin(AdminLevel.SUPPORTER)); player.SafeSetHealth(0); player.SetData("isDead", true); } diff --git a/ReallifeGamemode.Server/Services/ChatService.cs b/ReallifeGamemode.Server/Services/ChatService.cs index fa3b1165..6f5cda7d 100644 --- a/ReallifeGamemode.Server/Services/ChatService.cs +++ b/ReallifeGamemode.Server/Services/ChatService.cs @@ -42,7 +42,6 @@ namespace ReallifeGamemode.Server.Services public static void SendMessage(Player player, string message) { if (player == null) return; - if (player.GetData("isDead") == true && (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true)) return; player.SendChatMessage(message); } From 89280e1f857c89e6386f3e3ada3c1e0e907376a1 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sat, 29 May 2021 03:15:58 +0200 Subject: [PATCH 4/9] fix vehicle death inventory clear --- .../Managers/VehicleManager.cs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/ReallifeGamemode.Server/Managers/VehicleManager.cs b/ReallifeGamemode.Server/Managers/VehicleManager.cs index 4ed7b84e..b3939ebc 100644 --- a/ReallifeGamemode.Server/Managers/VehicleManager.cs +++ b/ReallifeGamemode.Server/Managers/VehicleManager.cs @@ -1122,10 +1122,17 @@ namespace ReallifeGamemode.Server.Managers { using (var dbContext = new DatabaseContext()) { - Vehicle vehicle = NAPI.Pools.GetAllVehicles().Find(v => v.Id == id); ServerVehicle sV = vehicle.GetServerVehicle(dbContext); + var items = InventoryManager.GetVehicleItems(vehicle); + if (items.Any()) + { + string itemsStr = string.Join(", ", items.Select(i => $"{i.ItemId} (amount: {i.Amount})")); + logger.LogInformation("Vehicle {0} died and lost the items: {1}", sV.Id, itemsStr); + InventoryManager.RemoveAllItemsfromVehicleInventory(vehicle); + } + if (sV is UserVehicle uV) { @@ -1154,14 +1161,6 @@ namespace ReallifeGamemode.Server.Managers Vehicle newVeh = sV.Spawn(vehicle); newVeh.Repair(); } - - var items = InventoryManager.GetVehicleItems(vehicle); - if (items.Any()) - { - string itemsStr = string.Join(", ", items.Select(i => $"{i.ItemId} (amount: {i.Amount})")); - logger.LogInformation("Vehicle {0} died and lost the items: {1}", sV.Id, itemsStr); - InventoryManager.RemoveAllItemsfromVehicleInventory(vehicle); - } } } From c975b744c2c2d987bd1d13dfcad4f367467a74c0 Mon Sep 17 00:00:00 2001 From: hydrant Date: Sat, 29 May 2021 03:19:54 +0200 Subject: [PATCH 5/9] add hanf log for admin remove --- ReallifeGamemode.Server/Managers/HanfManager.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/ReallifeGamemode.Server/Managers/HanfManager.cs b/ReallifeGamemode.Server/Managers/HanfManager.cs index d2a21bc9..b262638c 100644 --- a/ReallifeGamemode.Server/Managers/HanfManager.cs +++ b/ReallifeGamemode.Server/Managers/HanfManager.cs @@ -394,6 +394,7 @@ namespace ReallifeGamemode.Server.Managers if (player.IsAdminDuty() && player.IsTSupport() && user.IsAdmin(AdminLevel.ADMIN)) { + logger.LogInformation("Admin {0} removed the cannabis plant {1} from {2}", player.Name, plant.Id, plant.PlantedBy.Name); player.SendNotification($"Du hast die Hanf-Pflanze von ~y~{plant.PlantedBy.Name}~s~ entfernt"); plant.Harvested = true; dbContext.SaveChanges(); From 093ceecf5ca372f104ac446832db89f5ba165a66 Mon Sep 17 00:00:00 2001 From: CroniX Date: Sat, 29 May 2021 09:47:53 +0200 Subject: [PATCH 6/9] Try fix saving money Hanfverkauf --- ReallifeGamemode.Server/Managers/HanfManager.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/ReallifeGamemode.Server/Managers/HanfManager.cs b/ReallifeGamemode.Server/Managers/HanfManager.cs index b262638c..9f7e5f7a 100644 --- a/ReallifeGamemode.Server/Managers/HanfManager.cs +++ b/ReallifeGamemode.Server/Managers/HanfManager.cs @@ -646,6 +646,7 @@ namespace ReallifeGamemode.Server.Managers var price = amount * CANNABIS_PRICE; user.Handmoney += price; InventoryManager.RemoveUserItem(user, cannabisUserItem, amount); + dbContext.SaveChanges(); logger.LogInformation("Player {0} sold {1} cannabis to the server for {2} dollars", player.Name, amount, price); From d1f1d862efd2f61e1d8a9bb5b6935cf337f2ff35 Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 29 May 2021 16:03:47 +0000 Subject: [PATCH 7/9] chat nachrichten bei rveh und rrveh angepasst --- ReallifeGamemode.Server/Commands/AdminCommands.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index 3ee952f5..2d8a13e6 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; @@ -1240,7 +1240,7 @@ namespace ReallifeGamemode.Server.Commands return; } - ChatService.SendMessage(player, $"~b~[AMDIN]~s~ Das Fahrzeug ~y~{serverVehicle.Id}~s~ wurde respawnt"); + ChatService.SendMessage(player, $"~b~[ADMIN]~s~ Du hast das Fahrzeug ~b~#{serverVehicle.Id} ~s~respawnt."); Vehicle newVeh = serverVehicle.Spawn(veh); newVeh.Repair(); @@ -1258,7 +1258,7 @@ namespace ReallifeGamemode.Server.Commands if (radius > 500) { - ChatService.ErrorMessage(player, $"Der angegebene Radius ist zu hoch (Maximum: 500)"); + ChatService.ErrorMessage(player, $"Der angegebene Radius ist zu hoch (Maximum: 500 SE)"); return; } @@ -1285,7 +1285,7 @@ namespace ReallifeGamemode.Server.Commands respawnedVehicleCount++; } - ChatService.BroadcastAdmin($"~g~Fahrzeug(e) respawnt: ~s~{player.Name} hat {respawnedVehicleCount} Fahrzeuge respawnt (Radius: {radius} SE).", AdminLevel.ADMIN); + ChatService.BroadcastAdmin($"~g~Fahrzeug(e) respawnt: ~s~{player.Name} hat {respawnedVehicleCount} Fahrzeug(e) respawnt (Radius: {radius} SE).", AdminLevel.ADMIN); } [Command("sethp", "~m~Benutzung: ~s~/sethp [Spieler] (HP)")] From d26eabdbc871f73a527d6c3f828dbc3a879aa9be Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 29 May 2021 16:07:47 +0000 Subject: [PATCH 8/9] rrveh nochmal --- ReallifeGamemode.Server/Commands/AdminCommands.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index 2d8a13e6..40675252 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -1240,7 +1240,7 @@ namespace ReallifeGamemode.Server.Commands return; } - ChatService.SendMessage(player, $"~b~[ADMIN]~s~ Du hast das Fahrzeug ~b~#{serverVehicle.Id} ~s~respawnt."); + ChatService.SendMessage(player, $"~b~[ADMIN] ~s~Du hast das Fahrzeug ~b~#{serverVehicle.Id} ~s~respawnt."); Vehicle newVeh = serverVehicle.Spawn(veh); newVeh.Repair(); @@ -1285,7 +1285,7 @@ namespace ReallifeGamemode.Server.Commands respawnedVehicleCount++; } - ChatService.BroadcastAdmin($"~g~Fahrzeug(e) respawnt: ~s~{player.Name} hat {respawnedVehicleCount} Fahrzeug(e) respawnt (Radius: {radius} SE).", AdminLevel.ADMIN); + ChatService.BroadcastAdmin($"~b~[ADMIN] {player.Name} ~s~hat ~b~{respawnedVehicleCount} Fahrzeug(e) ~s~respawnt (Radius: {radius} SE).", AdminLevel.ADMIN); } [Command("sethp", "~m~Benutzung: ~s~/sethp [Spieler] (HP)")] From ee62d6bf24ccd89ab4f5fbcb7417d3269134b48b Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 29 May 2021 23:16:59 +0000 Subject: [PATCH 9/9] =?UTF-8?q?bisschen=20mehr=20g=C3=B6nnen=20(hanf=20ank?= =?UTF-8?q?aufpreis=20minimal=20den=20angehobenen=20samenpreisen=20angepas?= =?UTF-8?q?st)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReallifeGamemode.Server/Managers/HanfManager.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ReallifeGamemode.Server/Managers/HanfManager.cs b/ReallifeGamemode.Server/Managers/HanfManager.cs index 9f7e5f7a..30cff510 100644 --- a/ReallifeGamemode.Server/Managers/HanfManager.cs +++ b/ReallifeGamemode.Server/Managers/HanfManager.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -40,8 +40,8 @@ namespace ReallifeGamemode.Server.Managers /// public static int CANNABIS_PRICE = 0; - private const int CANNABIS_PRICE_MIN = 50; - private const int CANNABIS_PRICE_MAX = 125; + private const int CANNABIS_PRICE_MIN = 80; + private const int CANNABIS_PRICE_MAX = 140; /// /// Wie viele Samen ein Spieler pro Tag maximal kaufen darf