From 3edd6b5560e87700c258f33ff205f347e09fd758 Mon Sep 17 00:00:00 2001 From: Fabian Date: Wed, 21 Apr 2021 22:35:58 +0200 Subject: [PATCH] nodmzone, COMMIT NUR ZUM TESTEN --- ReallifeGamemode.Client/Gui/infobox.ts | 16 ++++++++++++++ ReallifeGamemode.Client/Player/position.ts | 22 +++++++++++++++++++ ReallifeGamemode.Client/Player/reportmenu.ts | 1 - ReallifeGamemode.Client/index.ts | 3 +++ ReallifeGamemode.Client/util/weapondamage.ts | 6 +++++ .../Commands/UserCommands.cs | 7 ++++++ ReallifeGamemode.Server/Events/PlayerEvent.cs | 5 +++++ 7 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 ReallifeGamemode.Client/Player/position.ts diff --git a/ReallifeGamemode.Client/Gui/infobox.ts b/ReallifeGamemode.Client/Gui/infobox.ts index 5e53bb15..87bbf472 100644 --- a/ReallifeGamemode.Client/Gui/infobox.ts +++ b/ReallifeGamemode.Client/Gui/infobox.ts @@ -16,6 +16,7 @@ export default function (globalData: IGlobalData): void { var adutyMode = false; var adminUnshow = false; var adminTSupport = false; + var noDmZone = false; var dutyMode = false; let jailTime = 0; let att_score = 0; @@ -84,6 +85,10 @@ export default function (globalData: IGlobalData): void { blackScreenMode = toggle; }); + mp.events.add("toggleNoDmZone", (toggle) => { + noDmZone = toggle; + }); + mp.events.add("jailTime", (time) => { jailTime = JSON.parse(time); }); @@ -345,6 +350,17 @@ export default function (globalData: IGlobalData): void { }) } + if (noDmZone) { + mp.game.graphics.drawText("~r~NoDM Zone", [0.907, 0.741], + { + font: 4, + color: [255, 255, 255, 255], + scale: [0.8, 0.8], + outline: true, + centre: false + }) + } + if (countdown > 0) { var now = Date.now(); var diff = Math.trunc((now - cdTimestamp) / 1000); diff --git a/ReallifeGamemode.Client/Player/position.ts b/ReallifeGamemode.Client/Player/position.ts new file mode 100644 index 00000000..f6830796 --- /dev/null +++ b/ReallifeGamemode.Client/Player/position.ts @@ -0,0 +1,22 @@ + +export function isPlayerInNoDMZone(pos) { + if (pos.x >= -540 && pos.x <= -531 + && pos.y >= -2151 && pos.y <= -2139) { + return true; + } + return false; +} + +export default function positionHandler() { + + mp.events.add("checkPosition", (targetEntity) => { + + if (isPlayerInNoDMZone(mp.players.local.position) || isPlayerInNoDMZone(targetEntity.position)) { + mp.gui.chat.push("Kein DM in NODM!"); + } + }); + + setInterval(() => { + mp.events.call('toggleNoDmZone', isPlayerInNoDMZone(mp.players.local.position)); + }, 200); +} \ No newline at end of file diff --git a/ReallifeGamemode.Client/Player/reportmenu.ts b/ReallifeGamemode.Client/Player/reportmenu.ts index bee77944..8e47ac8d 100644 --- a/ReallifeGamemode.Client/Player/reportmenu.ts +++ b/ReallifeGamemode.Client/Player/reportmenu.ts @@ -39,7 +39,6 @@ export default function reportList(globalData: IGlobalData) { //Weapon Menu - mp.events.add('showReportMenu', (userTickets, TicketsArr) => { if (!globalData.InMenu) { diff --git a/ReallifeGamemode.Client/index.ts b/ReallifeGamemode.Client/index.ts index abcbd11e..71a5b13b 100644 --- a/ReallifeGamemode.Client/index.ts +++ b/ReallifeGamemode.Client/index.ts @@ -186,6 +186,9 @@ ped(); import reportList from './Player/reportmenu'; reportList(globalData); +import positionHandler from './Player/position'; +positionHandler(); + import checkpointHandle from './util/checkpoint'; checkpointHandle(globalData); diff --git a/ReallifeGamemode.Client/util/weapondamage.ts b/ReallifeGamemode.Client/util/weapondamage.ts index 1907a03a..830722ad 100644 --- a/ReallifeGamemode.Client/util/weapondamage.ts +++ b/ReallifeGamemode.Client/util/weapondamage.ts @@ -7,6 +7,12 @@ player.setSuffersCriticalHits(false); }); + mp.events.add('outgoingDamage', (sourceEntity, targetEntity, sourcePlayer, weapon, boneIndex, damage) => { + + + mp.events.call('checkPosition', targetEntity); + }); + mp.events.add("render", () => { if (blockInput) { mp.game.controls.disableControlAction(32, 142, true); diff --git a/ReallifeGamemode.Server/Commands/UserCommands.cs b/ReallifeGamemode.Server/Commands/UserCommands.cs index 15d159a7..479b939a 100644 --- a/ReallifeGamemode.Server/Commands/UserCommands.cs +++ b/ReallifeGamemode.Server/Commands/UserCommands.cs @@ -17,6 +17,13 @@ namespace ReallifeGamemode.Server.Commands { internal class UserCommands : Script { + [Command("nodm", "~m~nodm")] + public void CmdUserNoDm(Player player) + { + ChatService.Broadcast("ss"); + player.TriggerEvent("toggleNoDmZone", true); + } + [Command("look", "~m~look")] public void CmdUserLook(Player player) { diff --git a/ReallifeGamemode.Server/Events/PlayerEvent.cs b/ReallifeGamemode.Server/Events/PlayerEvent.cs index 2aba02d8..c504344d 100644 --- a/ReallifeGamemode.Server/Events/PlayerEvent.cs +++ b/ReallifeGamemode.Server/Events/PlayerEvent.cs @@ -9,6 +9,11 @@ namespace ReallifeGamemode.Server.Events { internal class PlayerEvent : Script { + [ServerEvent(Event.PlayerDamage)] + public void OnPlayerDamage(Player player, float healthLoss, float armorLoss) { + ChatService.Broadcast("dmg"); + } + [RemoteEvent("CLIENT:SET_InFrontOfPos")] public void SetFrontOfPos(Player player, Vector3 pos) {