Иконка ресурса

FREE HitMarker : 1.0.7 1.0.7

Нет прав для скачивания
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oxide.Core;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using Random = System.Random;
using UnityEngine;
using Newtonsoft.Json;
namespace Oxide.Plugins {
    [Info("HitMarker", "Nimant", "1.0.7")]
    class HitMarker : RustPlugin {
        private const string cIHLGWrLFxHwfqf = "hitmarker.allow";
        private const float mxSuIPPsnMZma = 0.1f;
        private const float TxstyHOpBCa = 0.05f;
        private const float CsEpOEiiXZOfDmmVGUzo = 0.475f;
        private const float bCjfVjsxVU = 0.515f;
        private const float fVuPXiKnoBsTxJPxDwhpPYBiJGSK = 0.51f;
        private const float JgstOELKoXAvrXDnHxIxe = 0.54f;
        private const int loccnjUtnC = 50;
        [PluginReference]
        private Plugin Friends, Clans;
        private static string gcWPwWAbDvoj = "<size={size}>УБИТ!</size>";
        private static string xVvoWCQbVHiJkArYT = "<size={size}>УПАЛ!</size>";
        private static string HUbywDLYQxZpcfyIZtBGjNg = "<size={size}>{AMOUNT}</size>";
        private static Random OGrRDtPrfHJdAU = new Random();
        private static bool FXQkzpxAbGxwagXDyRrEfXHILoey = false;
        private static HashSet<ulong> ruWNKAcPrAOrSmQwcMZteU = new HashSet<ulong>();
        private static Dictionary<ulong, List<kEwbIDIJsgSgnwKOIUXgLbcW>> YGkVETxGqglqHoPn = new Dictionary<ulong, List<kEwbIDIJsgSgnwKOIUXgLbcW>>();
        private static Dictionary<ulong, Timer> FcdNjGetaY = new Dictionary<ulong, Timer>();
        private static Dictionary<ulong, int> laSBwzRkumLxBDBBjzOJBqj = new Dictionary<ulong, int>();
        private static Dictionary<ulong, HitTempData> flHeXIVrydYisoPBSMBiReddBgrjY = new Dictionary<ulong, HitTempData>();
        private class HitTempData {
            public HitInfo MUAUkIaqFvTuA;
            public float timeSS;
        }
        private class kEwbIDIJsgSgnwKOIUXgLbcW {
            public int ggZIuTgSovSrpkdyfeiIMdmf;
            public int uEuAZsimMxlqwonGsJUkDIQDQ;
            public int HhUBjxgQqThGu;
            public bool LhMtUuVAmozivZQacqbkMWwx;
            public bool pApKUPbssTybVBiMNazM;
            public bool jnKoqwkpEzGepPl;
            public bool AwTAeBMWepLNXcoHFv;
            public ulong SEzGtVTwQnXQuIjeFMKLGEg;
            public string LvWrAscAHbEHzVCFiwOH;
            public double WjHeyYyMjWxNnbFkqiX;
            public double RNqzlriyIJfnrtYzqFJwOPnbR;
            public double pPkndKdmLcxqOGpzO;
            public double rjRXEgwnOCoYSBSM;
            public BasePlayer bxYoZcnQuNDxFdiwLtmkMR;
        }
        private void Init() {
            FXQkzpxAbGxwagXDyRrEfXHILoey = false;
            YGkVETxGqglqHoPn.Clear();
            FcdNjGetaY.Clear();
            laSBwzRkumLxBDBBjzOJBqj.Clear();
            flHeXIVrydYisoPBSMBiReddBgrjY.Clear();
            permission.RegisterPermission(cIHLGWrLFxHwfqf, this);
            gQjYpZeIwRXoXxB();
            LoadDefaultMessages();
            NLIwDoolziFSj();
            if (KqRadQfSsRBYpaxKJADK.IsLtYqAGrSuGcZ == null) {
                KqRadQfSsRBYpaxKJADK.IsLtYqAGrSuGcZ = true;
                GGmOSrMUWVzsYdaef(KqRadQfSsRBYpaxKJADK);
            }
            if (KqRadQfSsRBYpaxKJADK.jLsSmWFTRcJMfO == null) {
                KqRadQfSsRBYpaxKJADK.jLsSmWFTRcJMfO = 0.1f;
                GGmOSrMUWVzsYdaef(KqRadQfSsRBYpaxKJADK);
            }
            gcWPwWAbDvoj = gcWPwWAbDvoj.Replace("{size}", $"{KqRadQfSsRBYpaxKJADK.iwNKLuHFjfeIvGGcZVBLuRbgWe}");
            xVvoWCQbVHiJkArYT = xVvoWCQbVHiJkArYT.Replace("{size}", $"{KqRadQfSsRBYpaxKJADK.iwNKLuHFjfeIvGGcZVBLuRbgWe}");
            HUbywDLYQxZpcfyIZtBGjNg = HUbywDLYQxZpcfyIZtBGjNg.Replace("{size}", $"{KqRadQfSsRBYpaxKJADK.iwNKLuHFjfeIvGGcZVBLuRbgWe}");
        }
        private void OnServerSave() => zGogzytbIaCBaLphnXxAHLAOEk();
        private void Unload() {
            FXQkzpxAbGxwagXDyRrEfXHILoey = true;
            foreach(var ANjkhmglvjfUktZpJVaFsgmLPXcq in BasePlayer.activePlayerList.Where(x=> x != null && x.userID.IsSteamId())) if (YGkVETxGqglqHoPn.ContainsKey(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID)) foreach(var zGtimTCZwTeZWPVBlfCjW in YGkVETxGqglqHoPn[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID]) CuiHelper.DestroyUi(ANjkhmglvjfUktZpJVaFsgmLPXcq, zGtimTCZwTeZWPVBlfCjW.LvWrAscAHbEHzVCFiwOH);
            zGogzytbIaCBaLphnXxAHLAOEk();
        }
        [ChatCommand("hitmarker")]
        private void mSJMEETrZGx(BasePlayer ANjkhmglvjfUktZpJVaFsgmLPXcq, string LGPgUREhgDKUGd, string[] oYHWLaoSYuZRq) {
            if (KqRadQfSsRBYpaxKJADK.XPXjPERWqFsnXIVDxdIsriFRdn && !IpIkVfHmlVWzrluxOmgK(ANjkhmglvjfUktZpJVaFsgmLPXcq, cIHLGWrLFxHwfqf)) {
                SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.NO.PERM"));
                return;
            }
            if (oYHWLaoSYuZRq.Length == 0) {
                SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("CMD.HM.HELP"));
                return;
            }
            var XLxlaZMfQnWxtoslSYaDCR = oYHWLaoSYuZRq[0].ToLower();
            if (XLxlaZMfQnWxtoslSYaDCR != "on" && XLxlaZMfQnWxtoslSYaDCR != "off") {
                SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, string.Format(NjXYwhBoXJnIJIyBcyS("CMD.HM.UNKNOWN.ARG"), oYHWLaoSYuZRq[0]));
                return;
            }
            switch (XLxlaZMfQnWxtoslSYaDCR) {
                case "on" : if (KqRadQfSsRBYpaxKJADK.IsLtYqAGrSuGcZ == true) {
                    if (!ruWNKAcPrAOrSmQwcMZteU.Contains(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID)) SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.ALREADY.ON"));
                    else {
                        ruWNKAcPrAOrSmQwcMZteU.Remove(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID);
                        SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.ON"));
                    }
                }
                else {
                    if (ruWNKAcPrAOrSmQwcMZteU.Contains(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID)) SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.ALREADY.ON"));
                    else {
                        ruWNKAcPrAOrSmQwcMZteU.Add(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID);
                        SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.ON"));
                    }
                }
                break;
                case "off" : if (KqRadQfSsRBYpaxKJADK.IsLtYqAGrSuGcZ == true) {
                    if (ruWNKAcPrAOrSmQwcMZteU.Contains(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID)) SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.ALREADY.OFF"));
                    else {
                        ruWNKAcPrAOrSmQwcMZteU.Add(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID);
                        SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.OFF"));
                    }
                }
                else {
                    if (!ruWNKAcPrAOrSmQwcMZteU.Contains(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID)) SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.ALREADY.OFF"));
                    else {
                        ruWNKAcPrAOrSmQwcMZteU.Remove(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID);
                        SendReply(ANjkhmglvjfUktZpJVaFsgmLPXcq, NjXYwhBoXJnIJIyBcyS("HM.OFF"));
                    }
                }
                break;
            }
        }
        private void OnEntityDeath(BasePlayer ANjkhmglvjfUktZpJVaFsgmLPXcq, HitInfo info) => fjAqTTlTtNhhmhwfNiNWjOsoVl(ANjkhmglvjfUktZpJVaFsgmLPXcq, info, true);
        private void OnEntityTakeDamage(BasePlayer bxYoZcnQuNDxFdiwLtmkMR, HitInfo MUAUkIaqFvTuA) {
            if (bxYoZcnQuNDxFdiwLtmkMR == null || MUAUkIaqFvTuA == null || (!KqRadQfSsRBYpaxKJADK.sLaArqRLFndkwbcKmerhszr && !bxYoZcnQuNDxFdiwLtmkMR.UserIDString.IsSteamId())) return;
            if (!flHeXIVrydYisoPBSMBiReddBgrjY.ContainsKey(bxYoZcnQuNDxFdiwLtmkMR.userID)) flHeXIVrydYisoPBSMBiReddBgrjY.Add(bxYoZcnQuNDxFdiwLtmkMR.userID, new HitTempData());
            flHeXIVrydYisoPBSMBiReddBgrjY[bxYoZcnQuNDxFdiwLtmkMR.userID].MUAUkIaqFvTuA = MUAUkIaqFvTuA;
            flHeXIVrydYisoPBSMBiReddBgrjY[bxYoZcnQuNDxFdiwLtmkMR.userID].timeSS = UnityEngine.Time.realtimeSinceStartup;
        }
        private void OnPlayerHealthChange(BasePlayer bxYoZcnQuNDxFdiwLtmkMR, float oldvalue, float newvalue) {
            var doYZQWsbYOxiDGibhqz = oldvalue - newvalue;
            if (bxYoZcnQuNDxFdiwLtmkMR == null || doYZQWsbYOxiDGibhqz <= 0f) return;
            if (flHeXIVrydYisoPBSMBiReddBgrjY.ContainsKey(bxYoZcnQuNDxFdiwLtmkMR.userID) && UnityEngine.Time.realtimeSinceStartup - flHeXIVrydYisoPBSMBiReddBgrjY[bxYoZcnQuNDxFdiwLtmkMR.userID].timeSS < 0.1f) fjAqTTlTtNhhmhwfNiNWjOsoVl(bxYoZcnQuNDxFdiwLtmkMR, flHeXIVrydYisoPBSMBiReddBgrjY[bxYoZcnQuNDxFdiwLtmkMR.userID].MUAUkIaqFvTuA, false, doYZQWsbYOxiDGibhqz);
        }
        private void fjAqTTlTtNhhmhwfNiNWjOsoVl(BasePlayer bxYoZcnQuNDxFdiwLtmkMR, HitInfo MUAUkIaqFvTuA, bool AwTAeBMWepLNXcoHFv = false, float doYZQWsbYOxiDGibhqz = -1f) {
            if (bxYoZcnQuNDxFdiwLtmkMR == null || MUAUkIaqFvTuA == null || (!KqRadQfSsRBYpaxKJADK.sLaArqRLFndkwbcKmerhszr && !bxYoZcnQuNDxFdiwLtmkMR.UserIDString.IsSteamId())) return;
            var sbtdBqjUoyeJiSul = MUAUkIaqFvTuA.InitiatorPlayer;
            if (sbtdBqjUoyeJiSul == null || sbtdBqjUoyeJiSul == bxYoZcnQuNDxFdiwLtmkMR) return;
            if (KqRadQfSsRBYpaxKJADK.IsLtYqAGrSuGcZ == true && ruWNKAcPrAOrSmQwcMZteU.Contains(sbtdBqjUoyeJiSul.userID)) return;
            if (KqRadQfSsRBYpaxKJADK.IsLtYqAGrSuGcZ == false && !ruWNKAcPrAOrSmQwcMZteU.Contains(sbtdBqjUoyeJiSul.userID)) return;
            if (KqRadQfSsRBYpaxKJADK.XPXjPERWqFsnXIVDxdIsriFRdn && !IpIkVfHmlVWzrluxOmgK(sbtdBqjUoyeJiSul, cIHLGWrLFxHwfqf)) return;
            var MwxZKxfmLIWUVVtAYWxqYUMc = MUAUkIaqFvTuA.isHeadshot;
            var ucyOYcSqcqjGoFfsAzyZIyNgEj = false;
            if (bxYoZcnQuNDxFdiwLtmkMR.UserIDString.IsSteamId()) {
                if (KqRadQfSsRBYpaxKJADK.MNviJyUDUjbj) ucyOYcSqcqjGoFfsAzyZIyNgEj = tHbVwsIGuSBLt(sbtdBqjUoyeJiSul, bxYoZcnQuNDxFdiwLtmkMR);
                if (!ucyOYcSqcqjGoFfsAzyZIyNgEj && Friends != null) ucyOYcSqcqjGoFfsAzyZIyNgEj = (Friends?.Call("AreFriends", sbtdBqjUoyeJiSul.userID, bxYoZcnQuNDxFdiwLtmkMR.userID) as bool?) ?? false;
                if (!ucyOYcSqcqjGoFfsAzyZIyNgEj && Clans != null) {
                    var oBuElMKRfk = Clans?.Call("GetClanOf", sbtdBqjUoyeJiSul) as string;
                    if (!string.IsNullOrEmpty(oBuElMKRfk)) {
                        var XUuOYCGeJbJW = Clans?.Call("GetClanOf", bxYoZcnQuNDxFdiwLtmkMR) as string;
                        ucyOYcSqcqjGoFfsAzyZIyNgEj = oBuElMKRfk == XUuOYCGeJbJW;
                    }
                }
            }
            doYZQWsbYOxiDGibhqz = doYZQWsbYOxiDGibhqz < 0f ? (float)(Math.Round(BEEoMRsGINcMfW(MUAUkIaqFvTuA.damageTypes.types), 0, MidpointRounding.AwayFromZero)) : doYZQWsbYOxiDGibhqz;
            ZrGhMoTDeEHLrf(sbtdBqjUoyeJiSul, bxYoZcnQuNDxFdiwLtmkMR, (int)Math.Round(doYZQWsbYOxiDGibhqz), MwxZKxfmLIWUVVtAYWxqYUMc, ucyOYcSqcqjGoFfsAzyZIyNgEj, AwTAeBMWepLNXcoHFv);
        }
        private static string KyFwiLxHZACkCcNMMDjHZbDU(ulong userID) {
            if (!laSBwzRkumLxBDBBjzOJBqj.ContainsKey(userID)) laSBwzRkumLxBDBBjzOJBqj.Add(userID, loccnjUtnC);
            if (laSBwzRkumLxBDBBjzOJBqj[userID] >= loccnjUtnC) laSBwzRkumLxBDBBjzOJBqj[userID] = 0;
            else laSBwzRkumLxBDBBjzOJBqj[userID]++;
            return laSBwzRkumLxBDBBjzOJBqj[userID].ToString();
        }
        private static float BEEoMRsGINcMfW(float[] DuVqDfjbyBcQETStZKcNnccrGRxwMk) {
            var RUnvUjwXhdXDJM = 0f;
            for (int i = 0; i < (int)DuVqDfjbyBcQETStZKcNnccrGRxwMk.Length;
            i++) {
                float UErGcPYgznBthXCUFaeeqfN = DuVqDfjbyBcQETStZKcNnccrGRxwMk[i];
                if (!float.IsNaN(UErGcPYgznBthXCUFaeeqfN)) {
                    if (!float.IsInfinity(UErGcPYgznBthXCUFaeeqfN)) RUnvUjwXhdXDJM = RUnvUjwXhdXDJM + UErGcPYgznBthXCUFaeeqfN;
                }
            }
            return RUnvUjwXhdXDJM;
        }
        private static bool tHbVwsIGuSBLt(BasePlayer ANjkhmglvjfUktZpJVaFsgmLPXcq, BasePlayer HJsROxBLeRY) => ANjkhmglvjfUktZpJVaFsgmLPXcq.currentTeam != (long)0 && ANjkhmglvjfUktZpJVaFsgmLPXcq.currentTeam == HJsROxBLeRY.currentTeam;
        private bool IpIkVfHmlVWzrluxOmgK(BasePlayer ANjkhmglvjfUktZpJVaFsgmLPXcq, string DWjATqYNzEjdezbLwfw) => permission.UserHasGroup(ANjkhmglvjfUktZpJVaFsgmLPXcq.UserIDString, DWjATqYNzEjdezbLwfw);
        private void ZrGhMoTDeEHLrf(BasePlayer ANjkhmglvjfUktZpJVaFsgmLPXcq, BasePlayer bxYoZcnQuNDxFdiwLtmkMR, int doYZQWsbYOxiDGibhqz, bool isHeadshot, bool ucyOYcSqcqjGoFfsAzyZIyNgEj, bool AwTAeBMWepLNXcoHFv) {
            if (ANjkhmglvjfUktZpJVaFsgmLPXcq == null || bxYoZcnQuNDxFdiwLtmkMR == null) return;
            if (!YGkVETxGqglqHoPn.ContainsKey(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID)) YGkVETxGqglqHoPn.Add(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID, new List<kEwbIDIJsgSgnwKOIUXgLbcW>());
            if (AwTAeBMWepLNXcoHFv && YGkVETxGqglqHoPn[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID].Count > 0) YGkVETxGqglqHoPn[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID].RemoveAt(YGkVETxGqglqHoPn[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID].Count-1);
            var zGtimTCZwTeZWPVBlfCjW = new kEwbIDIJsgSgnwKOIUXgLbcW();
            zGtimTCZwTeZWPVBlfCjW.ggZIuTgSovSrpkdyfeiIMdmf = 0;
            zGtimTCZwTeZWPVBlfCjW.uEuAZsimMxlqwonGsJUkDIQDQ = doYZQWsbYOxiDGibhqz;
            zGtimTCZwTeZWPVBlfCjW.HhUBjxgQqThGu = 0;
            zGtimTCZwTeZWPVBlfCjW.LhMtUuVAmozivZQacqbkMWwx = isHeadshot;
            zGtimTCZwTeZWPVBlfCjW.pApKUPbssTybVBiMNazM = ucyOYcSqcqjGoFfsAzyZIyNgEj;
            zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl = bxYoZcnQuNDxFdiwLtmkMR.IsWounded();
            zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv = AwTAeBMWepLNXcoHFv;
            zGtimTCZwTeZWPVBlfCjW.SEzGtVTwQnXQuIjeFMKLGEg = bxYoZcnQuNDxFdiwLtmkMR.userID;
            zGtimTCZwTeZWPVBlfCjW.bxYoZcnQuNDxFdiwLtmkMR = bxYoZcnQuNDxFdiwLtmkMR;
            zGtimTCZwTeZWPVBlfCjW.LvWrAscAHbEHzVCFiwOH = KyFwiLxHZACkCcNMMDjHZbDU(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID);
            zGtimTCZwTeZWPVBlfCjW.WjHeyYyMjWxNnbFkqiX = (OGrRDtPrfHJdAU.Next((int)Math.Round(CsEpOEiiXZOfDmmVGUzo*1000f), (int)Math.Round(bCjfVjsxVU*1000f))/1000f);
            zGtimTCZwTeZWPVBlfCjW.pPkndKdmLcxqOGpzO = zGtimTCZwTeZWPVBlfCjW.WjHeyYyMjWxNnbFkqiX + mxSuIPPsnMZma;
            zGtimTCZwTeZWPVBlfCjW.rjRXEgwnOCoYSBSM = (OGrRDtPrfHJdAU.Next((int)Math.Round((1f-JgstOELKoXAvrXDnHxIxe)*1000f), (int)Math.Round((1f-fVuPXiKnoBsTxJPxDwhpPYBiJGSK)*1000f))/1000f);
            zGtimTCZwTeZWPVBlfCjW.RNqzlriyIJfnrtYzqFJwOPnbR = zGtimTCZwTeZWPVBlfCjW.rjRXEgwnOCoYSBSM - TxstyHOpBCa;
            YGkVETxGqglqHoPn[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID].Add(zGtimTCZwTeZWPVBlfCjW);
            if (!FcdNjGetaY.ContainsKey(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID)) FcdNjGetaY.Add(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID, null);
            if (FcdNjGetaY[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID] == null) FcdNjGetaY[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID] = timer.Once(0.1f, ()=> eKVVvtokqLwugBFDihdxHIKTBbtPy(ANjkhmglvjfUktZpJVaFsgmLPXcq));
        }
        private void eKVVvtokqLwugBFDihdxHIKTBbtPy(BasePlayer ANjkhmglvjfUktZpJVaFsgmLPXcq) {
            if (ANjkhmglvjfUktZpJVaFsgmLPXcq == null) return;
            FcdNjGetaY[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID] = null;
            if (FXQkzpxAbGxwagXDyRrEfXHILoey || !YGkVETxGqglqHoPn.ContainsKey(ANjkhmglvjfUktZpJVaFsgmLPXcq.userID)) return;
            var JehSsibLzOYOwCuamqriCidd = YGkVETxGqglqHoPn[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID].ToList();
            if (JehSsibLzOYOwCuamqriCidd.Count == 0) return;
            ulong SEzGtVTwQnXQuIjeFMKLGEg = 0;
            var UxaTYsKIyRYNRTmt = new List<kEwbIDIJsgSgnwKOIUXgLbcW>();
            foreach(var zGtimTCZwTeZWPVBlfCjW in JehSsibLzOYOwCuamqriCidd.Where(x=> x.ggZIuTgSovSrpkdyfeiIMdmf == 0).OrderBy(x=> x.SEzGtVTwQnXQuIjeFMKLGEg)) {
                if (SEzGtVTwQnXQuIjeFMKLGEg != zGtimTCZwTeZWPVBlfCjW.SEzGtVTwQnXQuIjeFMKLGEg) {
                    SEzGtVTwQnXQuIjeFMKLGEg = zGtimTCZwTeZWPVBlfCjW.SEzGtVTwQnXQuIjeFMKLGEg;
                    zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl = !zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl ? zGtimTCZwTeZWPVBlfCjW.bxYoZcnQuNDxFdiwLtmkMR?.IsWounded() == true : zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl;
                    zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv = !zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv ? zGtimTCZwTeZWPVBlfCjW.bxYoZcnQuNDxFdiwLtmkMR?.IsDead() == true : zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv;
                    UxaTYsKIyRYNRTmt.Add(zGtimTCZwTeZWPVBlfCjW);
                }
                else {
                    UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].uEuAZsimMxlqwonGsJUkDIQDQ += zGtimTCZwTeZWPVBlfCjW.uEuAZsimMxlqwonGsJUkDIQDQ;
                    UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].LhMtUuVAmozivZQacqbkMWwx = false;
                    UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].jnKoqwkpEzGepPl = zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl ? zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl : UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].jnKoqwkpEzGepPl;
                    UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].jnKoqwkpEzGepPl = !UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].jnKoqwkpEzGepPl ? UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].bxYoZcnQuNDxFdiwLtmkMR?.IsWounded() == true : UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].jnKoqwkpEzGepPl;
                    UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].AwTAeBMWepLNXcoHFv = zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv ? zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv : UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].AwTAeBMWepLNXcoHFv;
                    UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].AwTAeBMWepLNXcoHFv = !UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].AwTAeBMWepLNXcoHFv ? UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].bxYoZcnQuNDxFdiwLtmkMR?.IsDead() == true : UxaTYsKIyRYNRTmt[UxaTYsKIyRYNRTmt.Count - 1].AwTAeBMWepLNXcoHFv;
                }
            }
            UxaTYsKIyRYNRTmt.AddRange(JehSsibLzOYOwCuamqriCidd.Where(x=> x.ggZIuTgSovSrpkdyfeiIMdmf > 0));
            foreach(var zGtimTCZwTeZWPVBlfCjW in UxaTYsKIyRYNRTmt) {
                if (zGtimTCZwTeZWPVBlfCjW.ggZIuTgSovSrpkdyfeiIMdmf == 1) {
                    if (zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv || zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl) {
                        if (zGtimTCZwTeZWPVBlfCjW.HhUBjxgQqThGu < KqRadQfSsRBYpaxKJADK.cvlVWvwXOUeYyfCVOCOr) {
                            zGtimTCZwTeZWPVBlfCjW.HhUBjxgQqThGu += 1;
                            continue;
                        }
                    }
                    else {
                        if (zGtimTCZwTeZWPVBlfCjW.HhUBjxgQqThGu < KqRadQfSsRBYpaxKJADK.WsHjhhrVDEkZWJDgbEKDcxkPwwm) {
                            zGtimTCZwTeZWPVBlfCjW.HhUBjxgQqThGu += 1;
                            continue;
                        }
                    }
                    var hbLAHhCIFnikHYGNevzPJSGgSlwU = "1723";
                    CuiHelper.DestroyUi(ANjkhmglvjfUktZpJVaFsgmLPXcq, zGtimTCZwTeZWPVBlfCjW.LvWrAscAHbEHzVCFiwOH);
                    zGtimTCZwTeZWPVBlfCjW.ggZIuTgSovSrpkdyfeiIMdmf = 2;
                }
                else if (zGtimTCZwTeZWPVBlfCjW.ggZIuTgSovSrpkdyfeiIMdmf == 0) {
                    fWyoLcjQyGJLCW(ANjkhmglvjfUktZpJVaFsgmLPXcq, zGtimTCZwTeZWPVBlfCjW);
                    zGtimTCZwTeZWPVBlfCjW.HhUBjxgQqThGu += 1;
                    zGtimTCZwTeZWPVBlfCjW.ggZIuTgSovSrpkdyfeiIMdmf = 1;
                }
            }
            UxaTYsKIyRYNRTmt.RemoveAll(x=> x.ggZIuTgSovSrpkdyfeiIMdmf == 2);
            YGkVETxGqglqHoPn[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID] = UxaTYsKIyRYNRTmt;
            if (UxaTYsKIyRYNRTmt.Count == 0) return;
            if (FcdNjGetaY[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID] == null) FcdNjGetaY[ANjkhmglvjfUktZpJVaFsgmLPXcq.userID] = timer.Once(0.1f, ()=> eKVVvtokqLwugBFDihdxHIKTBbtPy(ANjkhmglvjfUktZpJVaFsgmLPXcq));
        }
        private void fWyoLcjQyGJLCW(BasePlayer ANjkhmglvjfUktZpJVaFsgmLPXcq, kEwbIDIJsgSgnwKOIUXgLbcW zGtimTCZwTeZWPVBlfCjW) {
            if (ANjkhmglvjfUktZpJVaFsgmLPXcq == null) return;
            var QabvTZDQalkEKLMvIU = "[{\"name\":\"{name}\",\"parent\":\"Hud\",\"fadeOut\":\"{fadeOut}\",\"components\":[{\"type\":\"UnityEngine.UI.Text\",\"text\":\"{text}\",\"font\":\"{font}\"},{\"type\":\"UnityEngine.UI.Outline\",\"color\":\"0 0 0 1\",\"distance\":\"0.3 -0.3\"},{\"type\":\"RectTransform\",\"anchormin\":\"{xmin} {ymin}\",\"anchormax\":\"{xmax} {ymax}\",\"offsetmin\":\"0 0\",\"offsetmax\":\"1 1\"}]}]";
            QabvTZDQalkEKLMvIU = QabvTZDQalkEKLMvIU.Replace("{name}", zGtimTCZwTeZWPVBlfCjW.LvWrAscAHbEHzVCFiwOH);
            QabvTZDQalkEKLMvIU = QabvTZDQalkEKLMvIU.Replace("{xmin}", $"{zGtimTCZwTeZWPVBlfCjW.WjHeyYyMjWxNnbFkqiX}");
            QabvTZDQalkEKLMvIU = QabvTZDQalkEKLMvIU.Replace("{xmax}", $"{zGtimTCZwTeZWPVBlfCjW.pPkndKdmLcxqOGpzO}");
            QabvTZDQalkEKLMvIU = QabvTZDQalkEKLMvIU.Replace("{ymin}", $"{zGtimTCZwTeZWPVBlfCjW.RNqzlriyIJfnrtYzqFJwOPnbR}");
            QabvTZDQalkEKLMvIU = QabvTZDQalkEKLMvIU.Replace("{ymax}", $"{zGtimTCZwTeZWPVBlfCjW.rjRXEgwnOCoYSBSM}");
            QabvTZDQalkEKLMvIU = QabvTZDQalkEKLMvIU.Replace("{font}", $"{KqRadQfSsRBYpaxKJADK.ioOQsKvJinSMapPYT}");
            QabvTZDQalkEKLMvIU = QabvTZDQalkEKLMvIU.Replace("{fadeOut}", $"{KqRadQfSsRBYpaxKJADK.jLsSmWFTRcJMfO}");
            var yFAwXWfyyxEJalGeCBgJH = KqRadQfSsRBYpaxKJADK.VeCAzcnMBQSLHaXNhnDKS;
            var dSvKoReFQXqxmshj = (KqRadQfSsRBYpaxKJADK.dDcbNjKgYHxPnhXItSFHWguJDC ? "-" : "") + HUbywDLYQxZpcfyIZtBGjNg.Replace("{AMOUNT}", zGtimTCZwTeZWPVBlfCjW.uEuAZsimMxlqwonGsJUkDIQDQ.ToString());
            if (zGtimTCZwTeZWPVBlfCjW.pApKUPbssTybVBiMNazM) {
                yFAwXWfyyxEJalGeCBgJH = KqRadQfSsRBYpaxKJADK.oscuUAeDyIcKJilBpccNXpzZIIBh;
                if (zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv) dSvKoReFQXqxmshj = gcWPwWAbDvoj;
                else if (zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl) dSvKoReFQXqxmshj = xVvoWCQbVHiJkArYT;
            }
            else if (zGtimTCZwTeZWPVBlfCjW.AwTAeBMWepLNXcoHFv) {
                dSvKoReFQXqxmshj = gcWPwWAbDvoj;
                yFAwXWfyyxEJalGeCBgJH = KqRadQfSsRBYpaxKJADK.bKtNRuPrjZDLGK;
            }
            else if (zGtimTCZwTeZWPVBlfCjW.jnKoqwkpEzGepPl) {
                dSvKoReFQXqxmshj = xVvoWCQbVHiJkArYT;
                yFAwXWfyyxEJalGeCBgJH = KqRadQfSsRBYpaxKJADK.jdaNdIbdKuYvCuviKghpUQvOcxw;
            }
            else if (zGtimTCZwTeZWPVBlfCjW.LhMtUuVAmozivZQacqbkMWwx) yFAwXWfyyxEJalGeCBgJH = KqRadQfSsRBYpaxKJADK.VBtgFvFNyDfQLqhtEpGhR;
            QabvTZDQalkEKLMvIU = QabvTZDQalkEKLMvIU.Replace("{text}", $"<color={yFAwXWfyyxEJalGeCBgJH}>{dSvKoReFQXqxmshj}</color>");
            CuiHelper.AddUi(ANjkhmglvjfUktZpJVaFsgmLPXcq, QabvTZDQalkEKLMvIU);
        }
        private void LoadDefaultMessages() {
            lang.RegisterMessages(new Dictionary<string, string> {
                {
                    "CMD.HM.HELP", "ДОСТУПНЫЕ КОМАНДЫ:\n/hitmarker on - включить отображение урона по игрокам.\n/hitmarker off - выключить отображение урона по игрокам."
                }
                , {
                    "HM.ON", "Вы включили отображение урона по игрокам."
                }
                , {
                    "HM.OFF", "Вы выключили отображение урона по игрокам."
                }
                , {
                    "HM.ALREADY.ON", "У вас уже включено отображение урона по игрокам."
                }
                , {
                    "HM.ALREADY.OFF", "У вас уже выключено отображение урона по игрокам."
                }
                , {
                    "CMD.HM.UNKNOWN.ARG", "Неизвестный параметр \"{0}\".\nИспользуйте /hitmarker чтобы посмотреть список доступных команд."
                }
                , {
                    "HM.NO.PERM", "У вас нет прав на эту команду."
                }
            }
            , this);
        }
        private string NjXYwhBoXJnIJIyBcyS(string HkdCXBqSwUaVRLinDxunv, string SQNAiEMsJyUnjLkqPd = null) => lang.GetMessage(HkdCXBqSwUaVRLinDxunv, this, SQNAiEMsJyUnjLkqPd);
        private static xEryKxvyXPinTcPlwLucOzNprRo KqRadQfSsRBYpaxKJADK;
        private class xEryKxvyXPinTcPlwLucOzNprRo {
            [JsonProperty(PropertyName = "Разрешать видеть урон только тем, у кого есть привилегия")]
            public bool XPXjPERWqFsnXIVDxdIsriFRdn;
            [JsonProperty(PropertyName = "Отображать урон по учёным")]
            public bool sLaArqRLFndkwbcKmerhszr;
            [JsonProperty(PropertyName = "Использовать встроенные в игру кланы для подсветки их как друзей")]
            public bool MNviJyUDUjbj;
            [JsonProperty(PropertyName = "Отображать урон со знаком минус")]
            public bool dDcbNjKgYHxPnhXItSFHWguJDC;
            [JsonProperty(PropertyName = "Время отображения текста с величиной урона (в разах, где раз = 0.1 секунда)")]
            public int WsHjhhrVDEkZWJDgbEKDcxkPwwm;
            [JsonProperty(PropertyName = "Время отображения текста о убийстве или падении (в разах, где раз = 0.1 секунда)")]
            public int cvlVWvwXOUeYyfCVOCOr;
            [JsonProperty(PropertyName = "Размер текста")]
            public int iwNKLuHFjfeIvGGcZVBLuRbgWe;
            [JsonProperty(PropertyName = "Шрифт текста")]
            public string ioOQsKvJinSMapPYT;
            [JsonProperty(PropertyName = "Цвет текста при попадании в тело")]
            public string VeCAzcnMBQSLHaXNhnDKS;
            [JsonProperty(PropertyName = "Цвет текста при попадании в голову")]
            public string VBtgFvFNyDfQLqhtEpGhR;
            [JsonProperty(PropertyName = "Цвет текста при убийстве противника")]
            public string jdaNdIbdKuYvCuviKghpUQvOcxw;
            [JsonProperty(PropertyName = "Цвет текста при падении противника")]
            public string bKtNRuPrjZDLGK;
            [JsonProperty(PropertyName = "Цвет текста при попадании в друга")]
            public string oscuUAeDyIcKJilBpccNXpzZIIBh;
            [JsonProperty(PropertyName = "Плавное пропадание текста")]
            public float? jLsSmWFTRcJMfO;
            [JsonProperty(PropertyName = "Отображение урона включено по умолчанию")]
            public bool? IsLtYqAGrSuGcZ;
        }
        private void gQjYpZeIwRXoXxB() => KqRadQfSsRBYpaxKJADK = Config.ReadObject<xEryKxvyXPinTcPlwLucOzNprRo>();
        protected override void LoadDefaultConfig() {
            KqRadQfSsRBYpaxKJADK = new xEryKxvyXPinTcPlwLucOzNprRo {
                XPXjPERWqFsnXIVDxdIsriFRdn = false, sLaArqRLFndkwbcKmerhszr = true, WsHjhhrVDEkZWJDgbEKDcxkPwwm = 4, cvlVWvwXOUeYyfCVOCOr = 12, MNviJyUDUjbj = true, dDcbNjKgYHxPnhXItSFHWguJDC = false, iwNKLuHFjfeIvGGcZVBLuRbgWe = 14, ioOQsKvJinSMapPYT = "robotocondensed-bold.ttf", VeCAzcnMBQSLHaXNhnDKS = "white", VBtgFvFNyDfQLqhtEpGhR = "red", jdaNdIbdKuYvCuviKghpUQvOcxw = "red", bKtNRuPrjZDLGK = "white", oscuUAeDyIcKJilBpccNXpzZIIBh = "lime", IsLtYqAGrSuGcZ = true, jLsSmWFTRcJMfO = 0.1f
            }
            ;
            GGmOSrMUWVzsYdaef(KqRadQfSsRBYpaxKJADK);
            timer.Once(0.1f, ()=> GGmOSrMUWVzsYdaef(KqRadQfSsRBYpaxKJADK));
        }
        private void GGmOSrMUWVzsYdaef(xEryKxvyXPinTcPlwLucOzNprRo VWOvPXXGmPK) => Config.WriteObject(VWOvPXXGmPK, true);
        private void NLIwDoolziFSj() => ruWNKAcPrAOrSmQwcMZteU = Interface.GetMod().DataFileSystem.ReadObject<HashSet<ulong>>("HitMarkerData");
        private static void zGogzytbIaCBaLphnXxAHLAOEk() => Interface.GetMod().DataFileSystem.WriteObject("HitMarkerData", ruWNKAcPrAOrSmQwcMZteU);
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху