From 589ca803560b7a7f654de9e848fefa56b6b3ace9 Mon Sep 17 00:00:00 2001 From: kookroach <62265045+kookroach@users.noreply.github.com> Date: Sun, 4 Apr 2021 15:39:54 +0200 Subject: [PATCH] Change Clothe and RefuseCollector --- .../Interaction/clothes/ClotheShop.ts | 4 +- .../Job/RefuseCollectorJob.cs | 171 ++++++------------ 2 files changed, 57 insertions(+), 118 deletions(-) diff --git a/ReallifeGamemode.Client/Interaction/clothes/ClotheShop.ts b/ReallifeGamemode.Client/Interaction/clothes/ClotheShop.ts index b112c072..8212aa2e 100644 --- a/ReallifeGamemode.Client/Interaction/clothes/ClotheShop.ts +++ b/ReallifeGamemode.Client/Interaction/clothes/ClotheShop.ts @@ -177,7 +177,8 @@ export default function clotheShopList(globalData: IGlobalData) { if (item.ComponentId == key) { var txData = getClothingName(key, item.ClotheId, gender); - let clotheUpperMenu = new UIMenu(mp.game.ui.getLabelText(txData[0].data[0].GXT), " ", new Point(0, 0), bannerSprite.library, bannerSprite.texture); + categoryMenu.AddItem(new UIMenuItem(mp.game.ui.getLabelText(txData[0].data[0].GXT), "")); + let clotheUpperMenu = new UIMenu(" ", mp.game.ui.getLabelText(txData[0].data[0].GXT), new Point(0, 0), bannerSprite.library, bannerSprite.texture); clotheUpperMenu.Visible = false; for (const x of txData) { @@ -196,7 +197,6 @@ export default function clotheShopList(globalData: IGlobalData) { cloth.push(item); tx.push(x); } - categoryMenu.AddItem(clotheUpperMenu); } } diff --git a/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs b/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs index 7a2aab4a..8cdeed57 100644 --- a/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs +++ b/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs @@ -182,6 +182,7 @@ namespace ReallifeGamemode.Server.Job ChatService.SendMessage((Player)player, $"~y~Job: ~s~Du hast deinen Job (~o~{job.Name}~s~) beendet."); player.TriggerEvent("SERVER:MuellmannStatusFalse"); player.TriggerEvent("SERVER:MuellmannBCSEntfernen"); + job.StopJob(player, true); foreach (var data in muellmanData) { @@ -189,8 +190,9 @@ namespace ReallifeGamemode.Server.Job if (data.hasFreePlace()) { + if(data.vehicle != null) + data.vehicle.GetServerVehicle().Spawn(data.vehicle); muellmanData.Remove(data); - //müllwagen respawnen return; } @@ -220,95 +222,54 @@ namespace ReallifeGamemode.Server.Job { return; } - using (var dbContext = new DatabaseContext()) + + using var dbContext = new DatabaseContext(); + + foreach (var data in muellmanData) { - foreach (var data in muellmanData) - { - if (data.getDataFromClient(player) == null) continue; - Player target = data.getPartnerClient(player); - User user1 = player.GetUser(dbContext); - User user2 = target.GetUser(dbContext); + if (data.getDataFromClient(player) == null) continue; + Player target = data.getPartnerClient(player); + User user1 = player.GetUser(dbContext); + User user2 = target.GetUser(dbContext); - //user1 = player.GetUser(dbContext); - //user2 = target.GetUser(dbContext); - /*user1.trashcount += 1; - if (user1.trashcount == 20) - { - player.SendChatMessage("~y~Dies ist dein 20ter Müllsack."); - } - - player.SendNotification("Müllsack: " + user1.trashcount + " von 20."); + data.setTrashCount(data.getTrashCount() + 1); + player.SendNotification("Müllsack: " + data.getTrashCount() + " von 20."); if (target != null) { - target.SendNotification("Müllsack: " + user2.trashcount + " von 20."); - user2.trashcount += 1; - - if (user2.trashcount == 20) - { - target.SendChatMessage("~y~Dies ist dein 20ter Müllsack."); - } + target.SendNotification("Müllsack: " + data.getTrashCount() + " von 20."); } - dbContext.SaveChanges(); - player.AddAttachment("binbag", true); - */ + + // player.AddAttachment("binbag", true); - if (player.GetUser(dbContext).trashcount >= 20) + if (data.getTrashCount() >= 20) + { + ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!"); + if (target != null) { - ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!"); - if (target != null) - { - ChatService.SendMessage((Player)target, "~y~Job: ~s~Der Müllwagen ist voll! Er muss entleert werden."); - target.TriggerEvent("SERVER:MuellmannZuBase"); - } - player.TriggerEvent("SERVER:MuellmannZuBase"); - } - else - { - //user1 = player.GetUser(dbContext); - //user2 = target.GetUser(dbContext); - user1.trashcount += 1; - player.SendNotification("Müllsack: " + user1.trashcount + " von 20."); - if (target != null) - { - target.SendNotification("Müllsack: " + user2.trashcount + " von 20."); - user2.trashcount += 1; - } - dbContext.SaveChanges(); - } - // player.AddAttachment("binbag", true); - - if (player.GetUser(dbContext).trashcount >= 20) - { - ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!"); - if (target != null) - { - ChatService.SendMessage((Player)target, "~y~Job: ~s~Der Müllwagen ist voll! Er muss entleert werden."); - target.TriggerEvent("SERVER:MuellmannZuBase"); - } - player.TriggerEvent("SERVER:MuellmannZuBase"); - } - else - { - //user1 = player.GetUser(dbContext); - //user2 = target.GetUser(dbContext); - - if (target != null) - { - user1.Wage += 25; - user2.Wage += 25; - - } - else - { - user1.Wage += 50; - } - dbContext.SaveChanges(); + ChatService.SendMessage((Player)target, "~y~Job: ~s~Der Müllwagen ist voll! Er muss entleert werden."); + target.TriggerEvent("SERVER:MuellmannZuBase"); } + player.TriggerEvent("SERVER:MuellmannZuBase"); + } + else + { + + if (target != null) + { + user1.Wage += 25; + user2.Wage += 25; + + } + else + { + user1.Wage += 50; + } + dbContext.SaveChanges(); } - return; } + return; } [RemoteEvent("CLIENT:MuellmannBaseSack")] @@ -321,26 +282,27 @@ namespace ReallifeGamemode.Server.Job if (data.getDataFromClient(player) == null) continue; Player target = data.getPartnerClient(player); - if (target != null) ChatService.SendMessage((Player)target, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {target.GetUser().trashcount}"); - ChatService.SendMessage((Player)player, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {player.GetUser().trashcount}"); + if (target != null) ChatService.SendMessage((Player)target, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {data.getTrashCount()}"); + ChatService.SendMessage((Player)player, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {data.getTrashCount()}"); //bonus pro sack using (var dbContext = new DatabaseContext()) { User user1 = player.GetUser(dbContext); User user2 = target.GetUser(dbContext); + int bonus = 25 * data.getTrashCount(); + if (target != null) { - user1.Wage += 250; - user2.Wage += 250; + user1.Wage += (int)(bonus / 2); + user2.Wage += (int)(bonus / 2); } else { - user1.Wage += 500; + user1.Wage += bonus; } - user1.trashcount -= user1.trashcount; - if (target != null) user2.trashcount -= user2.trashcount; + data.setTrashCount(0); dbContext.SaveChanges(); } @@ -353,38 +315,12 @@ namespace ReallifeGamemode.Server.Job public void MuellmannOnPlayerDc(Player player) { - foreach (var data in muellmanData) - { - if (data.getDataFromClient(player) == null) continue; - - if (data.hasFreePlace()) - { - muellmanData.Remove(data); - //müllwagen respawnen - return; - } - - data.removeClientFromData(player); - return; - } + MuellmannJobBeenden(player); } public void MuellmannOnPlayerDeath(Player player) { - foreach (var data in muellmanData) - { - if (data.getDataFromClient(player) == null) continue; - - if (data.hasFreePlace()) - { - muellmanData.Remove(data); - //müllwagen respawnen - return; - } - - data.removeClientFromData(player); - return; - } + MuellmannJobBeenden(player); } [ServerEvent(Event.VehicleDeath)] @@ -396,10 +332,13 @@ namespace ReallifeGamemode.Server.Job { if (data.vehicle == veh) { - //müllfahrzeug respawnen + veh.GetServerVehicle().Spawn(veh); List clients = data.getClientsFromData(); - foreach (var c in clients) { RefuseCollectorJobJobStop(c); } + foreach (var c in clients) + { + MuellmannJobBeenden(c); + } muellmanData.Remove(data); return; @@ -426,7 +365,7 @@ namespace ReallifeGamemode.Server.Job } CheckDataForDuplicatePlayer(player, data); data.setClientToData(player); - //destroy veh + MuellmannJobStarten(player, vehicle); target = data.getPartnerClient(player);