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

FREE GatherPlus : 1.0.10 1.0.10

Нет прав для скачивания
C#:
using System;
using System.Collections.Generic;
using Oxide.Core;
using Oxide.Core.Plugins;
using UnityEngine;
using System.Linq;
using Newtonsoft.Json;
namespace Oxide.Plugins {
    [Info("GatherPlus", "Nimant", "1.0.10")]
    class GatherPlus : RustPlugin {
        private Dictionary<ulong, List<string>> nbhrOgQsRRCRiFPZL = new Dictionary<ulong, List<string>>();
        private bool YubyraOygYBPlPCQWBGeZolnbT = false;
        private void Init() {
            uUupCFJPSDCTQ();
            var tRrsiygaBneRRBCEFWHbts = false;
            if (xANunHtjymHnZbqC.yfVUMbVPZUIxRgLtFIcMTrUUdxxbDF == null) {
                xANunHtjymHnZbqC.fBfttvRfaXLraBvTClqkjixCDe = 1f;
                xANunHtjymHnZbqC.gVxosyvFFpufhiIOEWQSwr = 1f;
                xANunHtjymHnZbqC.yfVUMbVPZUIxRgLtFIcMTrUUdxxbDF = new Dictionary<string, float>() {
                    {
                        "High Quality Metal Ore", 1f
                    }
                    , {
                        "Metal Fragments", 1f
                    }
                    , {
                        "Metal Ore", 1f
                    }
                    , {
                        "Stones", 1f
                    }
                    , {
                        "Sulfur Ore", 1f
                    }
                }
                ;
                tRrsiygaBneRRBCEFWHbts = true;
            }
            if (tRrsiygaBneRRBCEFWHbts) TYrihtiPPSSNTPvEL(xANunHtjymHnZbqC);
            LoadDefaultMessages();
            foreach(var cFulCyCQdEFVk in xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Keys) permission.RegisterPermission(cFulCyCQdEFVk.ToLower(), this);
        }
        private void OnPlayerConnected(BasePlayer cuzkBJbXXMnVVMjcfJhyr) => CcJVEbLORcazCnFamSaO(cuzkBJbXXMnVVMjcfJhyr.UserIDString);
        private void OnPlayerDisconnected(BasePlayer cuzkBJbXXMnVVMjcfJhyr, string NNzvMFFWkDzIgnUFPhhnopzeKNoPM) => nbhrOgQsRRCRiFPZL.Remove(cuzkBJbXXMnVVMjcfJhyr.userID);
        private void OnServerInitialized() {
            QFGoONRBaj(true);
            foreach (var cuzkBJbXXMnVVMjcfJhyr in BasePlayer.activePlayerList) OnPlayerConnected(cuzkBJbXXMnVVMjcfJhyr);
        }
        private bool? OnDispenserGather(ResourceDispenser QFuOzsydWggrcybM, BaseEntity pGaJwoOVrSbMzpLhBjWWwJDO, Item ryLZezpuTMfDKgnMyTJqksw) {
            if (pGaJwoOVrSbMzpLhBjWWwJDO == null || ryLZezpuTMfDKgnMyTJqksw == null) return null;
            BasePlayer cuzkBJbXXMnVVMjcfJhyr = pGaJwoOVrSbMzpLhBjWWwJDO.ToPlayer();
            if (cuzkBJbXXMnVVMjcfJhyr == null) return null;
            var oldAmount = ryLZezpuTMfDKgnMyTJqksw.amount;
            var HuvRgmpIHDhRPCHzgwZhe = jCGHSAOnjxgHz(QFuOzsydWggrcybM, cuzkBJbXXMnVVMjcfJhyr, ryLZezpuTMfDKgnMyTJqksw);
            DRnfOgxGJSv(ryLZezpuTMfDKgnMyTJqksw);
            var BxqSGYiMlZikstxbw = AhSwmEREvNTaCFlfIpHaVBPYRJXbEL(cuzkBJbXXMnVVMjcfJhyr);
            var uBxlDbbRGNz = CFUEciBCNYO(cuzkBJbXXMnVVMjcfJhyr.userID);
            if (uBxlDbbRGNz < 0) return null;
            var OccMsDwixUrwLVsmqEpOPyfjGBqYnq = FXhGhhchoXBeKHfh(ryLZezpuTMfDKgnMyTJqksw, uBxlDbbRGNz * xANunHtjymHnZbqC.pblyhiYDSCUPU[ryLZezpuTMfDKgnMyTJqksw.info.displayName.english] * (BxqSGYiMlZikstxbw != null ? xANunHtjymHnZbqC.RhHWNHjxcBBRIhCN[BxqSGYiMlZikstxbw.info.displayName.english] : 1f), SjHSGHhqDR() * HuvRgmpIHDhRPCHzgwZhe);
            if (!OccMsDwixUrwLVsmqEpOPyfjGBqYnq) return false;
            Interface.CallHook("GP_OnDispenserGather", QFuOzsydWggrcybM, pGaJwoOVrSbMzpLhBjWWwJDO, ryLZezpuTMfDKgnMyTJqksw, oldAmount);
            return null;
        }
        private void OnDispenserBonus(ResourceDispenser QFuOzsydWggrcybM, BasePlayer cuzkBJbXXMnVVMjcfJhyr, Item ryLZezpuTMfDKgnMyTJqksw) {
            if (cuzkBJbXXMnVVMjcfJhyr == null || ryLZezpuTMfDKgnMyTJqksw == null) return;
            var oldAmount = ryLZezpuTMfDKgnMyTJqksw.amount;
            var HuvRgmpIHDhRPCHzgwZhe = jCGHSAOnjxgHz(QFuOzsydWggrcybM, cuzkBJbXXMnVVMjcfJhyr, ryLZezpuTMfDKgnMyTJqksw);
            DRnfOgxGJSv(ryLZezpuTMfDKgnMyTJqksw);
            var BxqSGYiMlZikstxbw = AhSwmEREvNTaCFlfIpHaVBPYRJXbEL(cuzkBJbXXMnVVMjcfJhyr);
            var uBxlDbbRGNz = CFUEciBCNYO(cuzkBJbXXMnVVMjcfJhyr.userID);
            if (uBxlDbbRGNz < 0) return;
            var OccMsDwixUrwLVsmqEpOPyfjGBqYnq = FXhGhhchoXBeKHfh(ryLZezpuTMfDKgnMyTJqksw, uBxlDbbRGNz * xANunHtjymHnZbqC.pblyhiYDSCUPU[ryLZezpuTMfDKgnMyTJqksw.info.displayName.english] * (BxqSGYiMlZikstxbw != null ? xANunHtjymHnZbqC.RhHWNHjxcBBRIhCN[BxqSGYiMlZikstxbw.info.displayName.english] : 1f), SjHSGHhqDR() * HuvRgmpIHDhRPCHzgwZhe);
            if (!OccMsDwixUrwLVsmqEpOPyfjGBqYnq) return;
            Interface.CallHook("GP_OnDispenserBonus", QFuOzsydWggrcybM, cuzkBJbXXMnVVMjcfJhyr, ryLZezpuTMfDKgnMyTJqksw, oldAmount);
        }
        private bool? OnCollectiblePickup(CollectibleEntity pGaJwoOVrSbMzpLhBjWWwJDO, BasePlayer cuzkBJbXXMnVVMjcfJhyr, bool eat) {
            if (cuzkBJbXXMnVVMjcfJhyr == null || pGaJwoOVrSbMzpLhBjWWwJDO == null || pGaJwoOVrSbMzpLhBjWWwJDO.itemList == null) return null;
            var zmDWKFxXzmiMiPdsWRPzHVRKEt = pGaJwoOVrSbMzpLhBjWWwJDO.itemList;
            for (var i = 0; i < zmDWKFxXzmiMiPdsWRPzHVRKEt.Length; i++) {
                var itemAmount = zmDWKFxXzmiMiPdsWRPzHVRKEt[i];
                int pZBqwXjdEYpNrUtDHG = (int)itemAmount.amount;
                var ryLZezpuTMfDKgnMyTJqksw = ItemManager.Create(itemAmount.itemDef, pZBqwXjdEYpNrUtDHG);
                if (ryLZezpuTMfDKgnMyTJqksw != null) {
                    if (!cuzkBJbXXMnVVMjcfJhyr) ryLZezpuTMfDKgnMyTJqksw.Drop(pGaJwoOVrSbMzpLhBjWWwJDO.transform.position + (Vector3.up * 0.5f), Vector3.up, new Quaternion());
                    else {
                        var oldAmount = ryLZezpuTMfDKgnMyTJqksw.amount;
                        oQmyAghslglVWYAXGdXsPGqZQhPX(ryLZezpuTMfDKgnMyTJqksw);
                        var uBxlDbbRGNz = TbGvfjOjUMEBwnFcpMTxg(cuzkBJbXXMnVVMjcfJhyr.userID);
                        if (uBxlDbbRGNz < 0) {
                            cuzkBJbXXMnVVMjcfJhyr.GiveItem(ryLZezpuTMfDKgnMyTJqksw, BaseEntity.GiveItemReason.ResourceHarvested);
                            continue;
                        }
                        var OccMsDwixUrwLVsmqEpOPyfjGBqYnq = FXhGhhchoXBeKHfh(ryLZezpuTMfDKgnMyTJqksw, uBxlDbbRGNz * xANunHtjymHnZbqC.jBMXkUejLmg[ryLZezpuTMfDKgnMyTJqksw.info.displayName.english]);
                        if (!OccMsDwixUrwLVsmqEpOPyfjGBqYnq) continue;
                        Interface.CallHook("GP_OnCollectiblePickup", ryLZezpuTMfDKgnMyTJqksw, cuzkBJbXXMnVVMjcfJhyr, oldAmount);
                        if (eat && ryLZezpuTMfDKgnMyTJqksw.info.category == ItemCategory.Food && ryLZezpuTMfDKgnMyTJqksw.info.GetComponent<ItemModConsume>() != null) {
                            var needGive = ryLZezpuTMfDKgnMyTJqksw.amount > 1;
                            var component = ryLZezpuTMfDKgnMyTJqksw.info.GetComponent<ItemModConsume>();
                            component.DoAction(ryLZezpuTMfDKgnMyTJqksw, cuzkBJbXXMnVVMjcfJhyr);
                            if (needGive) cuzkBJbXXMnVVMjcfJhyr.GiveItem(ryLZezpuTMfDKgnMyTJqksw, BaseEntity.GiveItemReason.ResourceHarvested);
                        }
                        else cuzkBJbXXMnVVMjcfJhyr.GiveItem(ryLZezpuTMfDKgnMyTJqksw, BaseEntity.GiveItemReason.ResourceHarvested);
                    }
                }
            }
            pGaJwoOVrSbMzpLhBjWWwJDO.itemList = null;
            if (pGaJwoOVrSbMzpLhBjWWwJDO.pickupEffect.isValid) Effect.server.Run(pGaJwoOVrSbMzpLhBjWWwJDO.pickupEffect.resourcePath, pGaJwoOVrSbMzpLhBjWWwJDO.transform.position, pGaJwoOVrSbMzpLhBjWWwJDO.transform.up, null, false);
            var randomItemDispenser = PrefabAttribute.server.Find<RandomItemDispenser>(pGaJwoOVrSbMzpLhBjWWwJDO.prefabID);
            if (randomItemDispenser != null) randomItemDispenser.DistributeItems(cuzkBJbXXMnVVMjcfJhyr, pGaJwoOVrSbMzpLhBjWWwJDO.transform.position);
            pGaJwoOVrSbMzpLhBjWWwJDO.Kill(BaseNetworkable.DestroyMode.None);
            return false;
        }
        private void OnGrowableGathered(GrowableEntity nAvVAdsnKSKqKIi, Item ryLZezpuTMfDKgnMyTJqksw, BasePlayer cuzkBJbXXMnVVMjcfJhyr) {
            if (nAvVAdsnKSKqKIi == null || cuzkBJbXXMnVVMjcfJhyr == null || ryLZezpuTMfDKgnMyTJqksw == null) return;
            var oldAmount = ryLZezpuTMfDKgnMyTJqksw.amount;
            oQmyAghslglVWYAXGdXsPGqZQhPX(ryLZezpuTMfDKgnMyTJqksw);
            var uBxlDbbRGNz = TbGvfjOjUMEBwnFcpMTxg(cuzkBJbXXMnVVMjcfJhyr.userID);
            if (uBxlDbbRGNz < 0) return;
            var OccMsDwixUrwLVsmqEpOPyfjGBqYnq = FXhGhhchoXBeKHfh(ryLZezpuTMfDKgnMyTJqksw, uBxlDbbRGNz * xANunHtjymHnZbqC.jBMXkUejLmg[ryLZezpuTMfDKgnMyTJqksw.info.displayName.english]);
            if (!OccMsDwixUrwLVsmqEpOPyfjGBqYnq) return;
            Interface.CallHook("GP_OnGrowableGathered", nAvVAdsnKSKqKIi, ryLZezpuTMfDKgnMyTJqksw, cuzkBJbXXMnVVMjcfJhyr, oldAmount);
        }
        private void OnQuarryGather(MiningQuarry GLRTXibGLHtrFlCJ, Item ryLZezpuTMfDKgnMyTJqksw) {
            if (GLRTXibGLHtrFlCJ == null || ryLZezpuTMfDKgnMyTJqksw == null) return;
            var oldAmount = ryLZezpuTMfDKgnMyTJqksw.amount;
            TqaMjCyaMV(ryLZezpuTMfDKgnMyTJqksw);
            var uBxlDbbRGNz = pWSdfoXSCDWfxSpGGMZVCxaOBVDgm(GLRTXibGLHtrFlCJ.OwnerID);
            if (uBxlDbbRGNz < 0) return;
            var OccMsDwixUrwLVsmqEpOPyfjGBqYnq = FXhGhhchoXBeKHfh(ryLZezpuTMfDKgnMyTJqksw, uBxlDbbRGNz * xANunHtjymHnZbqC.ZipSiwImTrWLSvoqocdhsmHBYto[ryLZezpuTMfDKgnMyTJqksw.info.displayName.english]);
            if (!OccMsDwixUrwLVsmqEpOPyfjGBqYnq) return;
            Interface.CallHook("GP_OnQuarryGather", GLRTXibGLHtrFlCJ, ryLZezpuTMfDKgnMyTJqksw, oldAmount);
        }
        private void OnExcavatorGather(ExcavatorArm aSdShJefWXRSQdcSuiez, Item ryLZezpuTMfDKgnMyTJqksw) {
            if (aSdShJefWXRSQdcSuiez == null || ryLZezpuTMfDKgnMyTJqksw == null) return;
            var oldAmount = ryLZezpuTMfDKgnMyTJqksw.amount;
            NXAalWAuGgrvRfEqicifoCrRH(ryLZezpuTMfDKgnMyTJqksw);
            var uBxlDbbRGNz = GetExcavRate();
            if (uBxlDbbRGNz < 0) return;
            var OccMsDwixUrwLVsmqEpOPyfjGBqYnq = FXhGhhchoXBeKHfh(ryLZezpuTMfDKgnMyTJqksw, uBxlDbbRGNz * xANunHtjymHnZbqC.yfVUMbVPZUIxRgLtFIcMTrUUdxxbDF[ryLZezpuTMfDKgnMyTJqksw.info.displayName.english]);
            if (!OccMsDwixUrwLVsmqEpOPyfjGBqYnq) return;
            Interface.CallHook("GP_OnExcavatorGather", aSdShJefWXRSQdcSuiez, ryLZezpuTMfDKgnMyTJqksw, oldAmount);
        }
        private void OnUserPermissionGranted(string OYxRXHhQtUezSovGSmiOPv, string cFulCyCQdEFVk) {
            if (xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Where(x=> x.Key.ToLower() == cFulCyCQdEFVk.ToLower()).Count() > 0) timer.Once(0.1f, ()=> CcJVEbLORcazCnFamSaO(OYxRXHhQtUezSovGSmiOPv));
        }
        private void OnUserPermissionRevoked(string OYxRXHhQtUezSovGSmiOPv, string cFulCyCQdEFVk) {
            if (xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Where(x=> x.Key.ToLower() == cFulCyCQdEFVk.ToLower()).Count() > 0) timer.Once(0.1f, ()=> CcJVEbLORcazCnFamSaO(OYxRXHhQtUezSovGSmiOPv));
        }
        private void OnUserGroupAdded(string OYxRXHhQtUezSovGSmiOPv, string qNUtONCPfKIzpBysnbb) => timer.Once(0.1f, ()=> CcJVEbLORcazCnFamSaO(OYxRXHhQtUezSovGSmiOPv));
        private void OnUserGroupRemoved(string OYxRXHhQtUezSovGSmiOPv, string qNUtONCPfKIzpBysnbb) => timer.Once(0.1f, ()=> CcJVEbLORcazCnFamSaO(OYxRXHhQtUezSovGSmiOPv));
        private void OnGroupPermissionGranted(string qNUtONCPfKIzpBysnbb, string cFulCyCQdEFVk) {
            if (xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Where(x=> x.Key.ToLower() == cFulCyCQdEFVk.ToLower()).Count() > 0) timer.Once(0.1f, ()=> jgUaEGdBcjgrxlLB(qNUtONCPfKIzpBysnbb));
        }
        private void OnGroupPermissionRevoked(string qNUtONCPfKIzpBysnbb, string cFulCyCQdEFVk) {
            if (xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Where(x=> x.Key.ToLower() == cFulCyCQdEFVk.ToLower()).Count() > 0) timer.Once(0.1f, ()=> jgUaEGdBcjgrxlLB(qNUtONCPfKIzpBysnbb));
        }
        private void DRnfOgxGJSv(Item ryLZezpuTMfDKgnMyTJqksw) {
            if (!xANunHtjymHnZbqC.pblyhiYDSCUPU.ContainsKey(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english)) {
                xANunHtjymHnZbqC.pblyhiYDSCUPU.Add(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english, 1f);
                TYrihtiPPSSNTPvEL(xANunHtjymHnZbqC);
                PrintWarning(string.Format("В конфигурационный файл, в раздел добываемых ресурсов добавлен новый ресурс '{0}'", ryLZezpuTMfDKgnMyTJqksw.info.displayName.english));
            }
        }
        private Item AhSwmEREvNTaCFlfIpHaVBPYRJXbEL(BasePlayer cuzkBJbXXMnVVMjcfJhyr) {
            if (cuzkBJbXXMnVVMjcfJhyr == null) return null;
            var ryLZezpuTMfDKgnMyTJqksw = cuzkBJbXXMnVVMjcfJhyr.GetActiveItem();
            if (ryLZezpuTMfDKgnMyTJqksw == null) return null;
            if (xANunHtjymHnZbqC.RhHWNHjxcBBRIhCN == null) xANunHtjymHnZbqC.RhHWNHjxcBBRIhCN = new Dictionary<string, float>();
            if (!xANunHtjymHnZbqC.RhHWNHjxcBBRIhCN.ContainsKey(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english)) {
                xANunHtjymHnZbqC.RhHWNHjxcBBRIhCN.Add(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english, 1f);
                TYrihtiPPSSNTPvEL(xANunHtjymHnZbqC);
                PrintWarning(string.Format("В конфигурационный файл, в раздел инструментов добычи добавлен новый ресурс '{0}'", ryLZezpuTMfDKgnMyTJqksw.info.displayName.english));
            }
            return ryLZezpuTMfDKgnMyTJqksw;
        }
        private void oQmyAghslglVWYAXGdXsPGqZQhPX(Item ryLZezpuTMfDKgnMyTJqksw) {
            if (!xANunHtjymHnZbqC.jBMXkUejLmg.ContainsKey(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english)) {
                xANunHtjymHnZbqC.jBMXkUejLmg.Add(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english, 1f);
                TYrihtiPPSSNTPvEL(xANunHtjymHnZbqC);
                PrintWarning(string.Format("В конфигурационный файл, в раздел поднимаемых ресурсов добавлен новый ресурс '{0}'", ryLZezpuTMfDKgnMyTJqksw.info.displayName.english));
            }
        }
        private void TqaMjCyaMV(Item ryLZezpuTMfDKgnMyTJqksw) {
            if (!xANunHtjymHnZbqC.ZipSiwImTrWLSvoqocdhsmHBYto.ContainsKey(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english)) {
                xANunHtjymHnZbqC.ZipSiwImTrWLSvoqocdhsmHBYto.Add(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english, 1f);
                TYrihtiPPSSNTPvEL(xANunHtjymHnZbqC);
                PrintWarning(string.Format("В конфигурационный файл, в раздел добываемых ресурсов в карьере добавлен новый ресурс '{0}'", ryLZezpuTMfDKgnMyTJqksw.info.displayName.english));
            }
        }
        private void NXAalWAuGgrvRfEqicifoCrRH(Item ryLZezpuTMfDKgnMyTJqksw) {
            if (!xANunHtjymHnZbqC.yfVUMbVPZUIxRgLtFIcMTrUUdxxbDF.ContainsKey(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english)) {
                xANunHtjymHnZbqC.yfVUMbVPZUIxRgLtFIcMTrUUdxxbDF.Add(ryLZezpuTMfDKgnMyTJqksw.info.displayName.english, 1f);
                TYrihtiPPSSNTPvEL(xANunHtjymHnZbqC);
                PrintWarning(string.Format("В конфигурационный файл, в раздел добываемых ресурсов экскаватором добавлен новый ресурс '{0}'", ryLZezpuTMfDKgnMyTJqksw.info.displayName.english));
            }
        }
        private bool FXhGhhchoXBeKHfh(Item ryLZezpuTMfDKgnMyTJqksw, float uBxlDbbRGNz, float teaAmount = 0f) {
            if (uBxlDbbRGNz <= 0) {
                ryLZezpuTMfDKgnMyTJqksw.RemoveFromContainer();
                ryLZezpuTMfDKgnMyTJqksw.Remove(0f);
                return false;
            }
            else {
                var qLRuJnEbyqDBBU = (int)Math.Round(uBxlDbbRGNz * ryLZezpuTMfDKgnMyTJqksw.amount + teaAmount);
                if (qLRuJnEbyqDBBU <= 0) {
                    ryLZezpuTMfDKgnMyTJqksw.RemoveFromContainer();
                    ryLZezpuTMfDKgnMyTJqksw.Remove(0f);
                    return false;
                }
                else ryLZezpuTMfDKgnMyTJqksw.amount = qLRuJnEbyqDBBU;
            }
            return true;
        }
        private float SjHSGHhqDR() => (xANunHtjymHnZbqC.CkEoBTgcHMq && YubyraOygYBPlPCQWBGeZolnbT) ? xANunHtjymHnZbqC.NtllKCpUWDAlLpHUkEWQvpdHelBy : xANunHtjymHnZbqC.VJSUWwbCVQzSLBzhRBH;
        private int jCGHSAOnjxgHz(ResourceDispenser QFuOzsydWggrcybM, BasePlayer cuzkBJbXXMnVVMjcfJhyr, Item ryLZezpuTMfDKgnMyTJqksw) {
            int HuvRgmpIHDhRPCHzgwZhe = 0;
            if (SjHSGHhqDR() > 0) {
                var OccMsDwixUrwLVsmqEpOPyfjGBqYnq = false;
                Modifier.ModifierType modifierType = 0;
                if (QFuOzsydWggrcybM.gatherType == ResourceDispenser.GatherType.Tree) modifierType = Modifier.ModifierType.Wood_Yield;
                else if (QFuOzsydWggrcybM.gatherType == ResourceDispenser.GatherType.Ore) modifierType = Modifier.ModifierType.Ore_Yield;
                else OccMsDwixUrwLVsmqEpOPyfjGBqYnq = true;
                if (!OccMsDwixUrwLVsmqEpOPyfjGBqYnq) {
                    float value = 1f + cuzkBJbXXMnVVMjcfJhyr.modifiers.GetValue(modifierType, 0f);
                    if (value > 1f) {
                        HuvRgmpIHDhRPCHzgwZhe = ryLZezpuTMfDKgnMyTJqksw.amount - (int)Math.Round(ryLZezpuTMfDKgnMyTJqksw.amount / value);
                        int amount = ryLZezpuTMfDKgnMyTJqksw.amount - HuvRgmpIHDhRPCHzgwZhe;
                        ryLZezpuTMfDKgnMyTJqksw.amount = amount > 0 ? amount : 1;
                    }
                }
            }
            return HuvRgmpIHDhRPCHzgwZhe;
        }
        private float CFUEciBCNYO(ulong eaODDfxtDjM) {
            float NbPOqLtEGUYmnbMm = (xANunHtjymHnZbqC.CkEoBTgcHMq && YubyraOygYBPlPCQWBGeZolnbT) ? xANunHtjymHnZbqC.UveqsCURUvItigMgNYZYLfD : xANunHtjymHnZbqC.CKhpyGNQuVKkdPEDsVDBXGvXtD;
            if (!nbhrOgQsRRCRiFPZL.ContainsKey(eaODDfxtDjM)) return NbPOqLtEGUYmnbMm;
            else {
                float uBxlDbbRGNz = -1;
                foreach(var TjwBYPyFKqNCvgQFpaujtaWPwBv in xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Where(x=> nbhrOgQsRRCRiFPZL[eaODDfxtDjM].Contains(x.Key.ToLower()))) {
                    if (xANunHtjymHnZbqC.CkEoBTgcHMq && YubyraOygYBPlPCQWBGeZolnbT) {
                        if (uBxlDbbRGNz < TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.UveqsCURUvItigMgNYZYLfD) uBxlDbbRGNz = TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.UveqsCURUvItigMgNYZYLfD;
                    }
                    else {
                        if (uBxlDbbRGNz < TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.CKhpyGNQuVKkdPEDsVDBXGvXtD) uBxlDbbRGNz = TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.CKhpyGNQuVKkdPEDsVDBXGvXtD;
                    }
                }
                return uBxlDbbRGNz >= 0 ? uBxlDbbRGNz : NbPOqLtEGUYmnbMm;
            }
            return NbPOqLtEGUYmnbMm;
        }
        private float TbGvfjOjUMEBwnFcpMTxg(ulong eaODDfxtDjM) {
            float NbPOqLtEGUYmnbMm = (xANunHtjymHnZbqC.CkEoBTgcHMq && YubyraOygYBPlPCQWBGeZolnbT) ? xANunHtjymHnZbqC.wxiodkdiwbBA : xANunHtjymHnZbqC.zgWbSuTVPJdZCy;
            if (!nbhrOgQsRRCRiFPZL.ContainsKey(eaODDfxtDjM)) return NbPOqLtEGUYmnbMm;
            else {
                float uBxlDbbRGNz = -1;
                foreach(var TjwBYPyFKqNCvgQFpaujtaWPwBv in xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Where(x=> nbhrOgQsRRCRiFPZL[eaODDfxtDjM].Contains(x.Key.ToLower()))) {
                    if (xANunHtjymHnZbqC.CkEoBTgcHMq && YubyraOygYBPlPCQWBGeZolnbT) {
                        if (uBxlDbbRGNz < TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.wxiodkdiwbBA) uBxlDbbRGNz = TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.wxiodkdiwbBA;
                    }
                    else {
                        if (uBxlDbbRGNz < TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.zgWbSuTVPJdZCy) uBxlDbbRGNz = TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.zgWbSuTVPJdZCy;
                    }
                }
                return uBxlDbbRGNz >= 0 ? uBxlDbbRGNz : NbPOqLtEGUYmnbMm;
            }
            return NbPOqLtEGUYmnbMm;
        }
        private float pWSdfoXSCDWfxSpGGMZVCxaOBVDgm(ulong eaODDfxtDjM) {
            float NbPOqLtEGUYmnbMm = (xANunHtjymHnZbqC.CkEoBTgcHMq && YubyraOygYBPlPCQWBGeZolnbT) ? xANunHtjymHnZbqC.UXqSNaGLjYrL : xANunHtjymHnZbqC.YgxKGHSpuhYtRwOhdkiFAwadLh;
            if (eaODDfxtDjM == 0) return NbPOqLtEGUYmnbMm;
            List<string> cjKmGkPFhGGGa = new List<string>();
            foreach(var SPIzQlDjLyKUQFlfNurCqpVDWUCN in xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Keys) if (permission.UserHasPermission(eaODDfxtDjM.ToString(), SPIzQlDjLyKUQFlfNurCqpVDWUCN.ToLower())) cjKmGkPFhGGGa.Add(SPIzQlDjLyKUQFlfNurCqpVDWUCN.ToLower());
            if (cjKmGkPFhGGGa.Count == 0) return NbPOqLtEGUYmnbMm;
            float uBxlDbbRGNz = -1;
            foreach(var TjwBYPyFKqNCvgQFpaujtaWPwBv in xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Where(x=> cjKmGkPFhGGGa.Contains(x.Key.ToLower()))) {
                if (xANunHtjymHnZbqC.CkEoBTgcHMq && YubyraOygYBPlPCQWBGeZolnbT) {
                    if (uBxlDbbRGNz < TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.UXqSNaGLjYrL) uBxlDbbRGNz = TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.UXqSNaGLjYrL;
                }
                else {
                    if (uBxlDbbRGNz < TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.YgxKGHSpuhYtRwOhdkiFAwadLh) uBxlDbbRGNz = TjwBYPyFKqNCvgQFpaujtaWPwBv.Value.YgxKGHSpuhYtRwOhdkiFAwadLh;
                }
            }
            return uBxlDbbRGNz >= 0 ? uBxlDbbRGNz : NbPOqLtEGUYmnbMm;
        }
        private float GetExcavRate() {
            float NbPOqLtEGUYmnbMm = (xANunHtjymHnZbqC.CkEoBTgcHMq && YubyraOygYBPlPCQWBGeZolnbT) ? xANunHtjymHnZbqC.gVxosyvFFpufhiIOEWQSwr : xANunHtjymHnZbqC.fBfttvRfaXLraBvTClqkjixCDe;
            return NbPOqLtEGUYmnbMm;
        }
        private void CcJVEbLORcazCnFamSaO(string userIdString) {
            List<string> UtwmvtDynic = new List<string>();
            var OccMsDwixUrwLVsmqEpOPyfjGBqYnq = "{DarkPluginsID}";
            foreach(var SPIzQlDjLyKUQFlfNurCqpVDWUCN in xANunHtjymHnZbqC.gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc.Keys) if (permission.UserHasPermission(userIdString, SPIzQlDjLyKUQFlfNurCqpVDWUCN.ToLower())) UtwmvtDynic.Add(SPIzQlDjLyKUQFlfNurCqpVDWUCN.ToLower());
            ulong eaODDfxtDjM = (ulong)Convert.ToInt64(userIdString);
            if (UtwmvtDynic.Count == 0) {
                if (nbhrOgQsRRCRiFPZL.ContainsKey(eaODDfxtDjM)) nbhrOgQsRRCRiFPZL.Remove(eaODDfxtDjM);
            }
            else {
                if (!nbhrOgQsRRCRiFPZL.ContainsKey(eaODDfxtDjM)) nbhrOgQsRRCRiFPZL.Add(eaODDfxtDjM, UtwmvtDynic);
                else nbhrOgQsRRCRiFPZL[eaODDfxtDjM] = UtwmvtDynic;
            }
        }
        private void jgUaEGdBcjgrxlLB(string MGJnWIHePlIeUJOaVhQCHWVqjTQOkS) {
            List<string> zrNynqrNJOiacvFcpIEi = permission.GetUsersInGroup(MGJnWIHePlIeUJOaVhQCHWVqjTQOkS).Select(x=>x.Substring(0, x.IndexOf(" "))).ToList();
            foreach(var cuzkBJbXXMnVVMjcfJhyr in BasePlayer.activePlayerList.Where(x=> zrNynqrNJOiacvFcpIEi.Contains(x.UserIDString))) CcJVEbLORcazCnFamSaO(cuzkBJbXXMnVVMjcfJhyr.UserIDString);
        }
        private void QFGoONRBaj(bool IpoiIfUFBwTNACINY = false) {
            var uvKjKrgnbvkPasr = TOD_Sky.Instance.Cycle.Hour;
            bool pKnrdawfOIvgBoEBsBWAjRJT = YubyraOygYBPlPCQWBGeZolnbT;
            if ((xANunHtjymHnZbqC.QjfnofjXflaNPNqbrt <= xANunHtjymHnZbqC.XnLodZqwzCPJAMzaN && uvKjKrgnbvkPasr >= xANunHtjymHnZbqC.QjfnofjXflaNPNqbrt && uvKjKrgnbvkPasr < xANunHtjymHnZbqC.XnLodZqwzCPJAMzaN) || (xANunHtjymHnZbqC.QjfnofjXflaNPNqbrt > xANunHtjymHnZbqC.XnLodZqwzCPJAMzaN && uvKjKrgnbvkPasr >= xANunHtjymHnZbqC.QjfnofjXflaNPNqbrt && uvKjKrgnbvkPasr < xANunHtjymHnZbqC.XnLodZqwzCPJAMzaN + 24) || (xANunHtjymHnZbqC.QjfnofjXflaNPNqbrt > xANunHtjymHnZbqC.XnLodZqwzCPJAMzaN && uvKjKrgnbvkPasr + 24 >= xANunHtjymHnZbqC.QjfnofjXflaNPNqbrt && uvKjKrgnbvkPasr < xANunHtjymHnZbqC.XnLodZqwzCPJAMzaN) ) YubyraOygYBPlPCQWBGeZolnbT = true;
            else YubyraOygYBPlPCQWBGeZolnbT = false;
            if (!IpoiIfUFBwTNACINY && pKnrdawfOIvgBoEBsBWAjRJT != YubyraOygYBPlPCQWBGeZolnbT) fpzlpKLUEGmXLbQfAEnDDhWemL();
            timer.Once(3f, ()=>QFGoONRBaj());
        }
        private void fpzlpKLUEGmXLbQfAEnDDhWemL() {
            if (xANunHtjymHnZbqC.vXJTdCVbRSkTuEvAH) {
                foreach(var cuzkBJbXXMnVVMjcfJhyr in BasePlayer.activePlayerList) SendReply(cuzkBJbXXMnVVMjcfJhyr, string.Format(YubyraOygYBPlPCQWBGeZolnbT?qYsZIDlSlWGEMXaEPqs("INFO.NIGHT.START") : qYsZIDlSlWGEMXaEPqs("INFO.NIGHT.END"), CFUEciBCNYO(cuzkBJbXXMnVVMjcfJhyr.userID), TbGvfjOjUMEBwnFcpMTxg(cuzkBJbXXMnVVMjcfJhyr.userID), pWSdfoXSCDWfxSpGGMZVCxaOBVDgm(cuzkBJbXXMnVVMjcfJhyr.userID)));
            }
        }
        private void LoadDefaultMessages() {
            lang.RegisterMessages(new Dictionary<string, string> {
                {
                    "INFO.NIGHT.START", "Наступает ночь\nРейты добываемых ресурсов: X{0}\nРейты поднимаемых ресурсов: X{1}\nРейты ресурсов в карьере: X{2}"
                }
                , {
                    "INFO.NIGHT.END", "Наступает день\nРейты добываемых ресурсов: X{0}\nРейты поднимаемых ресурсов: X{1}\nРейты ресурсов в карьере: X{2}"
                }
            }
            , this);
        }
        private string qYsZIDlSlWGEMXaEPqs(string dbCLcwXKWPRUhFAMuJmEmiKSk, string PWLxgPooEczEgwTwewXxOXWtWNI = null) => lang.GetMessage(dbCLcwXKWPRUhFAMuJmEmiKSk, this, PWLxgPooEczEgwTwewXxOXWtWNI);
        private static AmcEDDOwzFLJWYEZrwlV xANunHtjymHnZbqC;
        private class KWtkwCAKdmqlgJnyojMFcKKyr {
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов")]
            public float CKhpyGNQuVKkdPEDsVDBXGvXtD;
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов ночью")]
            public float UveqsCURUvItigMgNYZYLfD;
            [JsonProperty(PropertyName = "Общий рейт поднимаемых ресурсов")]
            public float zgWbSuTVPJdZCy;
            [JsonProperty(PropertyName = "Общий рейт поднимаемых ресурсов ночью")]
            public float wxiodkdiwbBA;
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов в карьере")]
            public float YgxKGHSpuhYtRwOhdkiFAwadLh;
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов в карьере ночью")]
            public float UXqSNaGLjYrL;
        }
        private class AmcEDDOwzFLJWYEZrwlV {
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов")]
            public float CKhpyGNQuVKkdPEDsVDBXGvXtD;
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов ночью")]
            public float UveqsCURUvItigMgNYZYLfD;
            [JsonProperty(PropertyName = "Стандартные рейты добываемых ресурсов")]
            public Dictionary<string, float> pblyhiYDSCUPU;
            [JsonProperty(PropertyName = "Стандартные рейты инструментов добычи")]
            public Dictionary<string, float> RhHWNHjxcBBRIhCN;
            [JsonProperty(PropertyName = "Общий рейт поднимаемых ресурсов")]
            public float zgWbSuTVPJdZCy;
            [JsonProperty(PropertyName = "Общий рейт поднимаемых ресурсов ночью")]
            public float wxiodkdiwbBA;
            [JsonProperty(PropertyName = "Стандартные рейты поднимаемых ресурсов")]
            public Dictionary<string, float> jBMXkUejLmg;
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов в карьере")]
            public float YgxKGHSpuhYtRwOhdkiFAwadLh;
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов в карьере ночью")]
            public float UXqSNaGLjYrL;
            [JsonProperty(PropertyName = "Стандартные рейты добываемых ресурсов в карьере")]
            public Dictionary<string, float> ZipSiwImTrWLSvoqocdhsmHBYto;
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов экскаватором")]
            public float fBfttvRfaXLraBvTClqkjixCDe;
            [JsonProperty(PropertyName = "Общий рейт добываемых ресурсов экскаватором ночью")]
            public float gVxosyvFFpufhiIOEWQSwr;
            [JsonProperty(PropertyName = "Стандартные рейты добываемых ресурсов экскаватором")]
            public Dictionary<string, float> yfVUMbVPZUIxRgLtFIcMTrUUdxxbDF;
            [JsonProperty(PropertyName = "Общий рейт рудного и древесного чая")]
            public float VJSUWwbCVQzSLBzhRBH;
            [JsonProperty(PropertyName = "Общий рейт рудного и древесного чая ночью")]
            public float NtllKCpUWDAlLpHUkEWQvpdHelBy;
            [JsonProperty(PropertyName = "Включить разделение рейтов на ночной и дневной режим")]
            public bool CkEoBTgcHMq;
            [JsonProperty(PropertyName = "Час игрового времени с которого включается ночной режим")]
            public int QjfnofjXflaNPNqbrt;
            [JsonProperty(PropertyName = "Час игрового времени с которого выключается ночной режим")]
            public int XnLodZqwzCPJAMzaN;
            [JsonProperty(PropertyName = "Выводить оповещение в чат при смене ночного и дневного режима")]
            public bool vXJTdCVbRSkTuEvAH;
            [JsonProperty(PropertyName = "Изменение рейтов для игроков с привилегиями")]
            public Dictionary<string, KWtkwCAKdmqlgJnyojMFcKKyr> gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc;
        }
        private void uUupCFJPSDCTQ() => xANunHtjymHnZbqC = Config.ReadObject<AmcEDDOwzFLJWYEZrwlV>();
        protected override void LoadDefaultConfig() {
            xANunHtjymHnZbqC = new AmcEDDOwzFLJWYEZrwlV {
                CKhpyGNQuVKkdPEDsVDBXGvXtD = 1f, UveqsCURUvItigMgNYZYLfD = 1f, pblyhiYDSCUPU = new Dictionary<string, float>() {
                    {
                        "Animal Fat", 1f
                    }
                    , {
                        "Bear Meat", 1f
                    }
                    , {
                        "Bone Fragments", 1f
                    }
                    , {
                        "Cloth", 1f
                    }
                    , {
                        "High Quality Metal Ore", 1f
                    }
                    , {
                        "Human Skull", 1f
                    }
                    , {
                        "Leather", 1f
                    }
                    , {
                        "Metal Ore", 1f
                    }
                    , {
                        "Pork", 1f
                    }
                    , {
                        "Raw Bear Meat", 1f
                    }
                    , {
                        "Raw Chicken Breast", 1f
                    }
                    , {
                        "Raw Human Meat", 1f
                    }
                    , {
                        "Raw Wolf Meat", 1f
                    }
                    , {
                        "Stones", 1f
                    }
                    , {
                        "Sulfur Ore", 1f
                    }
                    , {
                        "Wolf Skull", 1f
                    }
                    , {
                        "Wood", 1f
                    }
                }
                , RhHWNHjxcBBRIhCN = new Dictionary<string, float>() {
                    {
                        "Bone Club", 1f
                    }
                    , {
                        "Candy Cane Club", 1f
                    }
                    , {
                        "Chainsaw", 1f
                    }
                    , {
                        "Hatchet", 1f
                    }
                    , {
                        "Pickaxe", 1f
                    }
                    , {
                        "Rock", 1f
                    }
                    , {
                        "Salvaged Axe", 1f
                    }
                    , {
                        "Salvaged Hammer", 1f
                    }
                    , {
                        "Salvaged Icepick", 1f
                    }
                    , {
                        "Stone Hatchet", 1f
                    }
                    , {
                        "Stone Pickaxe", 1f
                    }
                    , {
                        "Jackhammer", 1f
                    }
                }
                , zgWbSuTVPJdZCy = 1f, wxiodkdiwbBA = 1f, jBMXkUejLmg = new Dictionary<string, float>() {
                    {
                        "Metal Ore", 1f
                    }
                    , {
                        "Stones", 1f
                    }
                    , {
                        "Sulfur Ore", 1f
                    }
                    , {
                        "Wood", 1f
                    }
                    , {
                        "Hemp Seed", 1f
                    }
                    , {
                        "Corn Seed", 1f
                    }
                    , {
                        "Pumpkin Seed", 1f
                    }
                    , {
                        "Cloth", 1f
                    }
                    , {
                        "Pumpkin", 1f
                    }
                    , {
                        "Corn", 1f
                    }
                }
                , YgxKGHSpuhYtRwOhdkiFAwadLh = 1f, UXqSNaGLjYrL = 1f, ZipSiwImTrWLSvoqocdhsmHBYto = new Dictionary<string, float>() {
                    {
                        "High Quality Metal Ore", 1f
                    }
                    , {
                        "Metal Fragments", 1f
                    }
                    , {
                        "Metal Ore", 1f
                    }
                    , {
                        "Stones", 1f
                    }
                    , {
                        "Sulfur Ore", 1f
                    }
                }
                , fBfttvRfaXLraBvTClqkjixCDe = 1f, gVxosyvFFpufhiIOEWQSwr = 1f, yfVUMbVPZUIxRgLtFIcMTrUUdxxbDF = new Dictionary<string, float>() {
                    {
                        "High Quality Metal Ore", 1f
                    }
                    , {
                        "Metal Fragments", 1f
                    }
                    , {
                        "Metal Ore", 1f
                    }
                    , {
                        "Stones", 1f
                    }
                    , {
                        "Sulfur Ore", 1f
                    }
                }
                , VJSUWwbCVQzSLBzhRBH = 0f, NtllKCpUWDAlLpHUkEWQvpdHelBy = 0f, CkEoBTgcHMq = false, QjfnofjXflaNPNqbrt = 19, XnLodZqwzCPJAMzaN = 8, vXJTdCVbRSkTuEvAH = true, gbTBfQFPiEWkRRLGWuQYiNEzfrdeqc = new Dictionary<string, KWtkwCAKdmqlgJnyojMFcKKyr>() {
                    {
                        "gatherplus.vip", new KWtkwCAKdmqlgJnyojMFcKKyr() {
                            CKhpyGNQuVKkdPEDsVDBXGvXtD = 2f, UveqsCURUvItigMgNYZYLfD = 2f, zgWbSuTVPJdZCy = 2f, wxiodkdiwbBA = 2f, YgxKGHSpuhYtRwOhdkiFAwadLh = 2f, UXqSNaGLjYrL = 2f
                        }
                    }
                    , {
                        "gatherplus.premium", new KWtkwCAKdmqlgJnyojMFcKKyr() {
                            CKhpyGNQuVKkdPEDsVDBXGvXtD = 3f, UveqsCURUvItigMgNYZYLfD = 3f, zgWbSuTVPJdZCy = 3f, wxiodkdiwbBA = 3f, YgxKGHSpuhYtRwOhdkiFAwadLh = 3f, UXqSNaGLjYrL = 3f
                        }
                    }
                }
            }
            ;
            TYrihtiPPSSNTPvEL(xANunHtjymHnZbqC);
            timer.Once(0.1f, ()=> TYrihtiPPSSNTPvEL(xANunHtjymHnZbqC));
        }
        private void TYrihtiPPSSNTPvEL(AmcEDDOwzFLJWYEZrwlV lRYByLVEVPNbEVTjYxVGxhFhzuMrtM) => Config.WriteObject(lRYByLVEVPNbEVTjYxVGxhFhzuMrtM, true);
    }
}

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