diff --git a/ReallifeGamemode.Client/Gui/ahelp.ts b/ReallifeGamemode.Client/Gui/ahelp.ts index 81d6720f..22025441 100644 --- a/ReallifeGamemode.Client/Gui/ahelp.ts +++ b/ReallifeGamemode.Client/Gui/ahelp.ts @@ -22,7 +22,6 @@ export default function ahelp(globalData: IGlobalData): void { ahelpBrowser = mp.browsers.new('package://assets/html/helpcommand/ahelp.html'); mp.gui.chat.activate(false); mp.gui.cursor.show(true, true); - } }); @@ -37,7 +36,6 @@ export default function ahelp(globalData: IGlobalData): void { globalData.InInput = false; mp.gui.cursor.show(false, false); mp.gui.chat.activate(true); - } }); diff --git a/ReallifeGamemode.Client/dlcpacks/Fahrstuhl/dlc.rpf b/ReallifeGamemode.Client/dlcpacks/Fahrstuhl/dlc.rpf new file mode 100644 index 00000000..ea2643a3 --- /dev/null +++ b/ReallifeGamemode.Client/dlcpacks/Fahrstuhl/dlc.rpf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f1478ada7534b954caaec991bb2a3a24767b978de82533965e0c21c3d02831f +size 8491 diff --git a/ReallifeGamemode.Client/index.ts b/ReallifeGamemode.Client/index.ts index 9f152c37..629d06df 100644 --- a/ReallifeGamemode.Client/index.ts +++ b/ReallifeGamemode.Client/index.ts @@ -234,12 +234,14 @@ import bankMenuHandle from './Interaction/bankmenu'; import InputHelper from './inputhelper'; bankMenuHandle(globalData); -import Introduction from './Gui/introduction'; -Introduction(globalData); import ahelp from './Gui/ahelp'; ahelp(globalData); +import Introduction from './Gui/introduction'; +Introduction(globalData); + + import userhelp from './Gui/userhelp'; userhelp(globalData); diff --git a/ReallifeGamemode.Client/util/Gangwar.ts b/ReallifeGamemode.Client/util/Gangwar.ts index ba7bd552..d0d49ff2 100644 --- a/ReallifeGamemode.Client/util/Gangwar.ts +++ b/ReallifeGamemode.Client/util/Gangwar.ts @@ -263,9 +263,9 @@ self.attacker = null; //self.blip.setFlashes(false); mp.game.invoke(Natives.SET_BLIP_FLASHES, self.blip, false); - self.blip.destroy(); + //self.blip.destroy(); self.setColor(self.owner); - self.blip.setColour(self.color); + //self.blip.setColour(self.color); mp.game.invoke(Natives.SET_BLIP_COLOUR, self.blip, self.color); self.setLeaderColShape(); return; diff --git a/ReallifeGamemode.Client/util/weapondamage.ts b/ReallifeGamemode.Client/util/weapondamage.ts index 49a7abe4..63877970 100644 --- a/ReallifeGamemode.Client/util/weapondamage.ts +++ b/ReallifeGamemode.Client/util/weapondamage.ts @@ -81,6 +81,14 @@ mp.game.invoke("0x4A3DC7ECCC321032", player, meelemodifier); //mp.gui.chat.push("Modifier: " + modifier + "MeeleModifier: " + meelemodifier); }); + + mp.events.add("entityStreamIn", (entity) => { + if (entity.type === "player") { + entity.setSuffersCriticalHits(false); + } + }); + + /*mp.events.add('playerWeaponShot', (targetPosition, targetEntity) => { for (var x in this.weaponAmmo) { if (this.weaponAmmo[x].id != this.currentWeapon) { diff --git a/ReallifeGamemode.Server/Business/AdminDealerBusiness.cs b/ReallifeGamemode.Server/Business/AdminDealerBusiness.cs new file mode 100644 index 00000000..1800af8a --- /dev/null +++ b/ReallifeGamemode.Server/Business/AdminDealerBusiness.cs @@ -0,0 +1,24 @@ +using GTANetworkAPI; + +namespace ReallifeGamemode.Server.Business +{ + internal class AdminDealerBusiness : CarDealerBusinessBase + { + public override int Id => 12; + + public override string Name => "Admin Carshop"; + + public override Vector3 Position => new Vector3(1295.3, 264.76,-49.05); + + public override Vector3 CarSpawnPositon => new Vector3(1266.38, 230.3, -48.67); + + public override float CarSpawnHeading => 176.6f; + + public override int? BlipSprite => 225; + + + public override void Load() + { + } + } +} diff --git a/ReallifeGamemode.Server/Commands/AdminCommands.cs b/ReallifeGamemode.Server/Commands/AdminCommands.cs index c8170a20..4f47f2b1 100644 --- a/ReallifeGamemode.Server/Commands/AdminCommands.cs +++ b/ReallifeGamemode.Server/Commands/AdminCommands.cs @@ -222,7 +222,7 @@ namespace ReallifeGamemode.Server.Commands #region Support - [Command("tog", "~m~Benutzung: ~s~/tog [Typ = ~g~ip~s~, ~g~deathlogs~s~, ~g~lc~s~", GreedyArg = true)] + [Command("tog", "~m~Benutzung: ~s~/tog [Typ = ~g~IP~s~, ~g~deathlogs~s~, ~g~LC~s~]", GreedyArg = true)] public void CmdTog(Player player, string typ, string option1 = null, string option2 = null) { if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true) diff --git a/ReallifeGamemode.Server/DrivingSchool/DrivingSchool.cs b/ReallifeGamemode.Server/DrivingSchool/DrivingSchool.cs index a3c4a794..d88b8ce9 100644 --- a/ReallifeGamemode.Server/DrivingSchool/DrivingSchool.cs +++ b/ReallifeGamemode.Server/DrivingSchool/DrivingSchool.cs @@ -190,7 +190,7 @@ namespace ReallifeGamemode.Server.DrivingSchool veh.Position = sVeh.Position; veh.Rotation = new Vector3(0, 0, sVeh.Heading); - user.Position = new Vector3(-813.17, -1354.5, 4.14); + user.Position = new Vector3(-814.39, -1336.76, 5.15); } [RemoteEvent("drivingSchoolEvent")] @@ -304,7 +304,7 @@ namespace ReallifeGamemode.Server.DrivingSchool veh.Position = sVeh.Position; veh.Rotation = new Vector3(0, 0, sVeh.Heading); - user.Position = new Vector3(-813.17, -1354.5, 4.14); + user.Position = new Vector3(-814.39, -1336.76, 5.15); } [RemoteEvent("bikeSchoolEvent")] diff --git a/ReallifeGamemode.Server/Events/Key.cs b/ReallifeGamemode.Server/Events/Key.cs index 97c73d91..cbc5e9e6 100644 --- a/ReallifeGamemode.Server/Events/Key.cs +++ b/ReallifeGamemode.Server/Events/Key.cs @@ -546,13 +546,7 @@ namespace ReallifeGamemode.Server.Events player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Fahrzeuge und starte den Motor mit der Taste 'N'."); return; } - }else - { - player.SendNotification("~r~[Fehler] ~w~ Du hast diesen Job nicht angenommen."); - return; - } - - if (nearestJobPoint.jobId == 3 && player.GetUser().JobId == 3) + } else if (nearestJobPoint.jobId == 3 && player.GetUser().JobId == 3) { if (nearestJobPoint.Skill < 300 && player.GetUser().PilotSkill >= 0) { @@ -569,13 +563,13 @@ namespace ReallifeGamemode.Server.Events player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Flugzeuge und starte den Motor mit der Taste 'N'."); return; } - }else - { - player.SendNotification("~r~[Fehler] ~w~ Du hast diesen Job nicht angenommen."); - return; - } - - if (nearestJobPoint.Skill >= 300 && player.GetUser().PilotSkill >= 300) + } + else + { + player.SendChatMessage("~y~[JOB] ~r~Dein Skilllevel ist noch zu niedrig."); + return; + } + if (nearestJobPoint.Skill >= 300 && player.GetUser().PilotSkill >= 300) { if (job.GetUsersInJob().Contains(player)) { @@ -590,13 +584,14 @@ namespace ReallifeGamemode.Server.Events player.TriggerEvent("renderTextOnScreen", "Steige nun in eines der Flugzeuge und starte den Motor mit der Taste 'N'."); return; } - } + } else { player.SendChatMessage("~y~[JOB] ~r~Dein Skilllevel ist noch zu niedrig."); return; } - }else + } + else { player.SendNotification("~r~[Fehler] ~w~ Du hast diesen Job nicht angenommen."); return; @@ -616,14 +611,15 @@ namespace ReallifeGamemode.Server.Events public void KeyPressO(Player player) { if (!player.IsLoggedIn()) return; - List players = NAPI.Pools.GetAllPlayers(); + List players = NAPI.Pools.GetAllPlayers().Where(p => p.IsLoggedIn() == true).ToList(); + var listPlayers = players.Select(p => new { Id = p.Handle.Value, p.Name, p.Ping, FactionName = p.GetUser().Faction?.Name ?? "Zivilist", - }) ; + }); player.TriggerEvent("showPlayerlist", JsonConvert.SerializeObject(listPlayers)); } diff --git a/ReallifeGamemode.Server/Events/Login.cs b/ReallifeGamemode.Server/Events/Login.cs index 7f4951a5..9db87c76 100644 --- a/ReallifeGamemode.Server/Events/Login.cs +++ b/ReallifeGamemode.Server/Events/Login.cs @@ -63,6 +63,7 @@ namespace ReallifeGamemode.Server.Events player.SetData("duty", false); player.SetData("Adminduty", false); player.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney, 0); + player.TriggerEvent("headshotoff"); Gangwar.Gangwar.loadPlayer(player); if (user.FactionLeader) { diff --git a/ReallifeGamemode.Server/Gangwar/Turf.cs b/ReallifeGamemode.Server/Gangwar/Turf.cs index bf6dd5cc..97850e87 100644 --- a/ReallifeGamemode.Server/Gangwar/Turf.cs +++ b/ReallifeGamemode.Server/Gangwar/Turf.cs @@ -288,9 +288,9 @@ namespace ReallifeGamemode.Server.Gangwar dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Name == getOwner()).First().BankAccount.Balance += 10000; Turfs turf = dbContext.Turfs.Where(t => t.Id == getId()).FirstOrDefault(); turf.Owner = this.Owner; - turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id; - dbContext.SaveChanges(); + turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id; } + dbContext.SaveChanges(); } this.Attacker = null; foreach (var c in playerInGangwar) diff --git a/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs b/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs index 10e3e038..8fab42e2 100644 --- a/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs +++ b/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs @@ -220,18 +220,18 @@ namespace ReallifeGamemode.Server.Job { return; } - - foreach (var data in muellmanData) + using (var dbContext = new DatabaseContext()) { - if (data.getDataFromClient(player) == null) continue; - Player target = data.getPartnerClient(player); - User user1 = player.GetUser(); - User user2 = target.GetUser(); - using (var dbContext = new DatabaseContext()) + foreach (var data in muellmanData) { - user1 = player.GetUser(dbContext); - user2 = target.GetUser(dbContext); - user1.trashcount += 1; + 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) { @@ -249,11 +249,12 @@ namespace ReallifeGamemode.Server.Job target.SendChatMessage("~y~Dies ist dein 20ter Müllsack."); } } + dbContext.SaveChanges(); - } - player.AddAttachment("binbag", true); - if (target != null) - if (player.GetUser().trashcount >= 20) + 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) @@ -265,23 +266,20 @@ namespace ReallifeGamemode.Server.Job } else { - using (var dbContext = new DatabaseContext()) + //user1 = player.GetUser(dbContext); + //user2 = target.GetUser(dbContext); + user1.trashcount += 1; + player.SendNotification("Müllsack: " + user1.trashcount + " von 20."); + if (target != null) { - 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(); + target.SendNotification("Müllsack: " + user2.trashcount + " von 20."); + user2.trashcount += 1; } + dbContext.SaveChanges(); } - player.AddAttachment("binbag", true); - if (target != null) - if (player.GetUser().trashcount >= 20) + 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) @@ -293,17 +291,22 @@ namespace ReallifeGamemode.Server.Job } else { + //user1 = player.GetUser(dbContext); + //user2 = target.GetUser(dbContext); + if (target != null) { - player.GetUser().Wage += 10; - target.GetUser().Wage += 10; + user1.Wage += 10; + user2.Wage += 10; } else { - player.GetUser().Wage += 20; + user1.Wage += 20; } + dbContext.SaveChanges(); } + } return; } } @@ -321,25 +324,24 @@ namespace ReallifeGamemode.Server.Job 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}"); //bonus pro sack - if (target != null) - { - player.GetUser().Wage += 100; - target.GetUser().Wage += 100; - } - else - { - player.GetUser().Wage += 200; - } - User user1 = player.GetUser(); - User user2 = target.GetUser(); using (var dbContext = new DatabaseContext()) { - user1 = player.GetUser(dbContext); - user2 = target.GetUser(dbContext); + User user1 = player.GetUser(dbContext); + User user2 = target.GetUser(dbContext); - user1.trashcount -= user1.trashcount; if (target != null) - user2.trashcount -= user2.trashcount; + { + user1.Wage += 100; + user2.Wage += 100; + } + else + { + user1.Wage += 200; + } + + user1.trashcount -= user1.trashcount; + if (target != null) user2.trashcount -= user2.trashcount; + dbContext.SaveChanges(); } Console.WriteLine($"[DATA DEBUG] vehicle: {data.vehicle.DisplayName} | Players: {data.getClientsFromData().Count} | Säcke: {data.getTrashCount()}"); diff --git a/ReallifeGamemode.Server/Main.cs b/ReallifeGamemode.Server/Main.cs index f21fe826..c77b5c36 100644 --- a/ReallifeGamemode.Server/Main.cs +++ b/ReallifeGamemode.Server/Main.cs @@ -164,11 +164,14 @@ namespace ReallifeGamemode.Server PlayerService.GetPlayerByNameOrId(user).TriggerEvent("updateMoney", account.Balance); } }; - + User.HandMoneyChanged += (user) => { user.Player.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney); }; + + //IPLS + NAPI.World.RequestIpl("vw_casino_garage"); } [RemoteEvent("CLIENT:Event")]