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

FREE CustomTownVending : 1.1.1 1.1.1

Нет прав для скачивания
C#:
using System.Collections;
using System.Collections.Generic;
using System;
using System.Linq;
using System.Collections;
using Oxide.Core.Plugins;
using Oxide.Core;
using UnityEngine;
using Newtonsoft.Json;
using ProtoBuf;
namespace Oxide.Plugins {
    [Info("CustomTownVending", "Nimant", "1.1.1")]
    class CustomTownVending : RustPlugin {
        private static readonly List<string> xgsjgDpcxQWQJZ = new List<string>() {
            "Outpost", "Bandit Camp"
        }
        ;
        private static readonly Vector3 snMSASKnNJNkreSFqNpdJXyLc = new Vector3(-208.7f, 103.6f, -433.6f);
        private static bool NEKdcDCfMGhStftSurLdlagUTZVOX = false;
        private void Init() {
            UdQRiKAFuc();
            vVEUplJGvSNTlBUGlRBQfGWmnwL();
            if (kfoTixKdQrDKtTCUhvxcMHXNCqG.eFYSZWnllvfofymqFPXX <= 0) {
                kfoTixKdQrDKtTCUhvxcMHXNCqG.eFYSZWnllvfofymqFPXX = 15;
                yMNDObWaMnhBEkiunVrD(kfoTixKdQrDKtTCUhvxcMHXNCqG);
            }
            LoadDefaultMessages();
        }
        private void OnServerInitialized() {
            NEKdcDCfMGhStftSurLdlagUTZVOX = ConVar.Server.level == "HapisIsland";
            var aSfQcIKBGQ = vQkUcPgfRW.HFwpocIJYKaNWhnwvZViVURE();
            QCmMAeFDHIBES();
            pxrbEeIHgYiVpiDKUXCMdycau();
            if (kfoTixKdQrDKtTCUhvxcMHXNCqG.SUdvApRPzox) ZPSrQiPnORonGRo(aSfQcIKBGQ);
            timer.Once(kfoTixKdQrDKtTCUhvxcMHXNCqG.eFYSZWnllvfofymqFPXX, zQxagvFOcG);
        }
        private static Dictionary<string, List<NPCVendingMachine>> PKfiNJvRoTYnRrDtjXjYuFX() {
            var PrYrMzzjOGTDkDHuckaGZpJksRkeG = BaseNetworkable.serverEntities.OfType<NPCVendingMachine>().Where(x=> x != null && !string.IsNullOrEmpty(x.shopName)).ToList();
            var kXEsvYXKOnhqkTU = new Dictionary<string, List<NPCVendingMachine>>();
            foreach(var EGYokUTELS in PrYrMzzjOGTDkDHuckaGZpJksRkeG) {
                var TcfGMOFXTmRjOHvwkLETiY = OqqHOBhgxIznj(EGYokUTELS.transform.position)?.Replace("\n", "");
                if (string.IsNullOrEmpty(TcfGMOFXTmRjOHvwkLETiY) || !itoaeQdtQB(TcfGMOFXTmRjOHvwkLETiY)) continue;
                TcfGMOFXTmRjOHvwkLETiY = NEKdcDCfMGhStftSurLdlagUTZVOX ? "HapisIsland " + TcfGMOFXTmRjOHvwkLETiY : TcfGMOFXTmRjOHvwkLETiY;
                if (!kXEsvYXKOnhqkTU.ContainsKey(TcfGMOFXTmRjOHvwkLETiY)) kXEsvYXKOnhqkTU.Add(TcfGMOFXTmRjOHvwkLETiY, new List<NPCVendingMachine>());
                kXEsvYXKOnhqkTU[TcfGMOFXTmRjOHvwkLETiY].Add(EGYokUTELS);
            }
            return kXEsvYXKOnhqkTU;
        }
        private static RTQuvUyrIxdqC ynCcIwULeCZEzJDnAsPQhpm(NPCVendingMachine EGYokUTELS) {
            var kXEsvYXKOnhqkTU = new RTQuvUyrIxdqC();
            kXEsvYXKOnhqkTU.WWwmurpPcfSuhyEDGy = NEKdcDCfMGhStftSurLdlagUTZVOX ? EGYokUTELS.shopName + $" {EGYokUTELS.transform.position}" : EGYokUTELS.shopName;
            foreach(var tAdOqqPIAEMmjeFTnugRITUOKHt in EGYokUTELS.vendingOrders.orders) {
                var IsRVyliZcoQWQImnqloamVigLffd = new RkvqcDmRvMgTzYNIJm();
                IsRVyliZcoQWQImnqloamVigLffd.HeWGjDXRKrZhdHiExnHjmQVQry = tAdOqqPIAEMmjeFTnugRITUOKHt.sellItem.shortname;
                IsRVyliZcoQWQImnqloamVigLffd.DWTATqCOdhnbOHzEItROjSAtbnR = tAdOqqPIAEMmjeFTnugRITUOKHt.sellItemAmount;
                IsRVyliZcoQWQImnqloamVigLffd.yBcUYVvakZViMGtmoVQlOuEXbD = tAdOqqPIAEMmjeFTnugRITUOKHt.sellItemAsBP;
                IsRVyliZcoQWQImnqloamVigLffd.BmgFrQRXgXerOUFwpmijFXdmAUgm = tAdOqqPIAEMmjeFTnugRITUOKHt.currencyItem.shortname;
                IsRVyliZcoQWQImnqloamVigLffd.UQFoMFkYeqhHwLtEOOtZirhPVCwMq = tAdOqqPIAEMmjeFTnugRITUOKHt.currencyAmount;
                IsRVyliZcoQWQImnqloamVigLffd.gGoGSnKdWXGnaXxiFTCc = tAdOqqPIAEMmjeFTnugRITUOKHt.currencyAsBP;
                kXEsvYXKOnhqkTU.NIcMXoALVmOOqUDeXOxpiJje.Add(IsRVyliZcoQWQImnqloamVigLffd);
            }
            return kXEsvYXKOnhqkTU;
        }
        private static void pibYakMHgGLvJxuzCUvmBsfezIgrm(NPCVendingMachine eunOAVRBMuRgMZhkukFYghK, int TfCuYdRKVlOhQnIMd, int anbPtetSmPl, int cVenOHoyuWSyTKhWDLfKgpLenVot, int CoNZMyNzMnGhgtPtVDwTPz, byte hISctUcaGgDaqT) {
            (eunOAVRBMuRgMZhkukFYghK as VendingMachine).AddSellOrder(TfCuYdRKVlOhQnIMd, anbPtetSmPl, cVenOHoyuWSyTKhWDLfKgpLenVot, CoNZMyNzMnGhgtPtVDwTPz, hISctUcaGgDaqT);
            eunOAVRBMuRgMZhkukFYghK.transactionActive = true;
            int GigNyEPufIRxSgGzomlvm = 10;
            var ewAsyuxpeOuWiIDWftW = "16";
            if (hISctUcaGgDaqT == 1 || hISctUcaGgDaqT == 3) {
                var tSwAERUHGtlVaOwYPuBAh = ItemManager.CreateByItemID(eunOAVRBMuRgMZhkukFYghK.blueprintBaseDef.itemid, anbPtetSmPl * GigNyEPufIRxSgGzomlvm, (ulong)0);
                tSwAERUHGtlVaOwYPuBAh.blueprintTarget = TfCuYdRKVlOhQnIMd;
                tSwAERUHGtlVaOwYPuBAh.MoveToContainer(eunOAVRBMuRgMZhkukFYghK.inventory, -1, true);
            }
            else {
                var tSwAERUHGtlVaOwYPuBAh = ItemManager.CreateByItemID(TfCuYdRKVlOhQnIMd, anbPtetSmPl * GigNyEPufIRxSgGzomlvm, (ulong)0);
                tSwAERUHGtlVaOwYPuBAh.MoveToContainer(eunOAVRBMuRgMZhkukFYghK.inventory, -1, true);
            }
            eunOAVRBMuRgMZhkukFYghK.transactionActive = false;
            (eunOAVRBMuRgMZhkukFYghK as VendingMachine).RefreshSellOrderStockLevel(null);
        }
        private void TNquyWGkEjDkcovHKsO(RTQuvUyrIxdqC bghNmjVKhyPDirklMTUGilgZQSjoit, NPCVendingMachine EGYokUTELS) {
            EGYokUTELS.ClearSellOrders();
            EGYokUTELS.inventory.Clear();
            foreach(var tAdOqqPIAEMmjeFTnugRITUOKHt in bghNmjVKhyPDirklMTUGilgZQSjoit.NIcMXoALVmOOqUDeXOxpiJje) {
                var aiLcPuVosQsN = ItemManager.FindItemDefinition(tAdOqqPIAEMmjeFTnugRITUOKHt.HeWGjDXRKrZhdHiExnHjmQVQry);
                if (aiLcPuVosQsN == null) {
                    PrintWarning(kWEnKyYsqxWcavyYCiWg("WARNING.ITEM").Replace("{ITEM}", tAdOqqPIAEMmjeFTnugRITUOKHt.HeWGjDXRKrZhdHiExnHjmQVQry));
                    continue;
                }
                var oeNTvzvJYqCVtJyEVxx = ItemManager.FindItemDefinition(tAdOqqPIAEMmjeFTnugRITUOKHt.BmgFrQRXgXerOUFwpmijFXdmAUgm);
                if (oeNTvzvJYqCVtJyEVxx == null) {
                    PrintWarning(kWEnKyYsqxWcavyYCiWg("WARNING.ITEM").Replace("{ITEM}", tAdOqqPIAEMmjeFTnugRITUOKHt.BmgFrQRXgXerOUFwpmijFXdmAUgm));
                    continue;
                }
                if (tAdOqqPIAEMmjeFTnugRITUOKHt.DWTATqCOdhnbOHzEItROjSAtbnR <= 0 || tAdOqqPIAEMmjeFTnugRITUOKHt.UQFoMFkYeqhHwLtEOOtZirhPVCwMq <= 0) continue;
                pibYakMHgGLvJxuzCUvmBsfezIgrm(EGYokUTELS, aiLcPuVosQsN.itemid, tAdOqqPIAEMmjeFTnugRITUOKHt.DWTATqCOdhnbOHzEItROjSAtbnR, oeNTvzvJYqCVtJyEVxx.itemid, tAdOqqPIAEMmjeFTnugRITUOKHt.UQFoMFkYeqhHwLtEOOtZirhPVCwMq, EGYokUTELS.GetBPState(tAdOqqPIAEMmjeFTnugRITUOKHt.yBcUYVvakZViMGtmoVQlOuEXbD, tAdOqqPIAEMmjeFTnugRITUOKHt.gGoGSnKdWXGnaXxiFTCc));
            }
        }
        private static bool itoaeQdtQB(string TcfGMOFXTmRjOHvwkLETiY) {
            foreach(var qwCHBiVOaeXqhkoIOZ in xgsjgDpcxQWQJZ) if (TcfGMOFXTmRjOHvwkLETiY.Contains(qwCHBiVOaeXqhkoIOZ)) return true;
            return false;
        }
        private static string OqqHOBhgxIznj(Vector3 nLswUrzQPlsYzeJvSnTfUNSpszN) {
            var VGjxoTYyGOEfzDdbhrN = TerrainMeta.Path.Monuments.Where(x=> x != null).ToDictionary(x=> Vector3.Distance(x.transform.position, nLswUrzQPlsYzeJvSnTfUNSpszN), x=> x).OrderBy(x=> x.Key);
            if (VGjxoTYyGOEfzDdbhrN.Count() == 0) return null;
            var SGFMQGVUrUQrijmAiwYzmnwFmzsf = VGjxoTYyGOEfzDdbhrN.FirstOrDefault();
            if (SGFMQGVUrUQrijmAiwYzmnwFmzsf.Key > 75f) return null;
            return !string.IsNullOrEmpty(SGFMQGVUrUQrijmAiwYzmnwFmzsf.Value.displayPhrase.english) ? SGFMQGVUrUQrijmAiwYzmnwFmzsf.Value.displayPhrase.english : null;
        }
        private void QCmMAeFDHIBES() {
            string dTFyVrzlImFvyJSYEVFHOBnm = Rust.Protocol.printable;
            bool RjEWMKGCtJXmMLrQsbozYTwh = false, RIbHQfRsccUNSDIHRaIqTyUhAt = false, vvjlQTOKuYokO = false;
            if (vQkUcPgfRW.jYWzQaewyqNofXQ.Count == 0 || string.IsNullOrEmpty(vQkUcPgfRW.dLmDlamtDDtHXZdV) || vQkUcPgfRW.dLmDlamtDDtHXZdV != dTFyVrzlImFvyJSYEVFHOBnm) RjEWMKGCtJXmMLrQsbozYTwh = true;
            else if (NEKdcDCfMGhStftSurLdlagUTZVOX) {
                if (vQkUcPgfRW.jYWzQaewyqNofXQ.Where(x=> x.Key.Contains("HapisIsland")).Count() == 0) RIbHQfRsccUNSDIHRaIqTyUhAt = true;
            }
            else {
                if ((vQkUcPgfRW.jYWzQaewyqNofXQ.Where(x=> x.Key == xgsjgDpcxQWQJZ[0]).Count() == 0) || (vQkUcPgfRW.jYWzQaewyqNofXQ.Where(x=> x.Key == xgsjgDpcxQWQJZ[1]).Count() == 0) ) vvjlQTOKuYokO = true;
            }
            if (RjEWMKGCtJXmMLrQsbozYTwh || RIbHQfRsccUNSDIHRaIqTyUhAt || vvjlQTOKuYokO) {
                if (RjEWMKGCtJXmMLrQsbozYTwh) vQkUcPgfRW.jYWzQaewyqNofXQ.Clear();
                if (RIbHQfRsccUNSDIHRaIqTyUhAt) foreach(var TcfGMOFXTmRjOHvwkLETiY in vQkUcPgfRW.jYWzQaewyqNofXQ.Where(x=> x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) vQkUcPgfRW.jYWzQaewyqNofXQ.Remove(TcfGMOFXTmRjOHvwkLETiY);
                if (vvjlQTOKuYokO) foreach(var TcfGMOFXTmRjOHvwkLETiY in vQkUcPgfRW.jYWzQaewyqNofXQ.Where(x=> !x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) vQkUcPgfRW.jYWzQaewyqNofXQ.Remove(TcfGMOFXTmRjOHvwkLETiY);
                if (string.IsNullOrEmpty(vQkUcPgfRW.dLmDlamtDDtHXZdV) || vQkUcPgfRW.dLmDlamtDDtHXZdV != dTFyVrzlImFvyJSYEVFHOBnm) vQkUcPgfRW.dLmDlamtDDtHXZdV = dTFyVrzlImFvyJSYEVFHOBnm;
                var PrYrMzzjOGTDkDHuckaGZpJksRkeG = PKfiNJvRoTYnRrDtjXjYuFX();
                if (PrYrMzzjOGTDkDHuckaGZpJksRkeG.Count > 0) {
                    if (NEKdcDCfMGhStftSurLdlagUTZVOX) {
                        foreach(var IQdlCsTavagMkS in PrYrMzzjOGTDkDHuckaGZpJksRkeG) foreach(var EGYokUTELS in IQdlCsTavagMkS.Value) {
                            if (Vector3.Distance(EGYokUTELS.transform.position, snMSASKnNJNkreSFqNpdJXyLc) > 75f) continue;
                            if (!vQkUcPgfRW.jYWzQaewyqNofXQ.ContainsKey(IQdlCsTavagMkS.Key)) vQkUcPgfRW.jYWzQaewyqNofXQ.Add(IQdlCsTavagMkS.Key, new List<RTQuvUyrIxdqC>());
                            vQkUcPgfRW.jYWzQaewyqNofXQ[IQdlCsTavagMkS.Key].Add(ynCcIwULeCZEzJDnAsPQhpm(EGYokUTELS));
                        }
                    }
                    else {
                        foreach(var IQdlCsTavagMkS in PrYrMzzjOGTDkDHuckaGZpJksRkeG) {
                            var USwzKWbxtgASZlkIuizWakE = default(Vector3);
                            foreach(var EGYokUTELS in IQdlCsTavagMkS.Value) {
                                if (USwzKWbxtgASZlkIuizWakE == default(Vector3)) USwzKWbxtgASZlkIuizWakE = EGYokUTELS.transform.position;
                                if (Vector3.Distance(EGYokUTELS.transform.position, USwzKWbxtgASZlkIuizWakE) > 100f) continue;
                                if (!vQkUcPgfRW.jYWzQaewyqNofXQ.ContainsKey(IQdlCsTavagMkS.Key)) vQkUcPgfRW.jYWzQaewyqNofXQ.Add(IQdlCsTavagMkS.Key, new List<RTQuvUyrIxdqC>());
                                if (vQkUcPgfRW.jYWzQaewyqNofXQ[IQdlCsTavagMkS.Key].Exists(x=> x.WWwmurpPcfSuhyEDGy == EGYokUTELS.shopName)) continue;
                                vQkUcPgfRW.jYWzQaewyqNofXQ[IQdlCsTavagMkS.Key].Add(ynCcIwULeCZEzJDnAsPQhpm(EGYokUTELS));
                            }
                        }
                    }
                }
                BInbqfqshpY();
            }
        }
        private void pxrbEeIHgYiVpiDKUXCMdycau() {
            bool RjEWMKGCtJXmMLrQsbozYTwh = false, RIbHQfRsccUNSDIHRaIqTyUhAt = false, vvjlQTOKuYokO = false;
            if (kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Count == 0) RjEWMKGCtJXmMLrQsbozYTwh = true;
            else if (NEKdcDCfMGhStftSurLdlagUTZVOX) {
                if (kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Where(x=> x.Key.Contains("HapisIsland")).Count() == 0) RIbHQfRsccUNSDIHRaIqTyUhAt = true;
            }
            else {
                if ((kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Where(x=> x.Key == xgsjgDpcxQWQJZ[0]).Count() == 0) || (kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Where(x=> x.Key == xgsjgDpcxQWQJZ[1]).Count() == 0) ) vvjlQTOKuYokO = true;
            }
            if (RjEWMKGCtJXmMLrQsbozYTwh || RIbHQfRsccUNSDIHRaIqTyUhAt || vvjlQTOKuYokO) {
                if (RjEWMKGCtJXmMLrQsbozYTwh) kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ = vQkUcPgfRW.HFwpocIJYKaNWhnwvZViVURE();
                if (RIbHQfRsccUNSDIHRaIqTyUhAt) foreach(var IQdlCsTavagMkS in vQkUcPgfRW.HFwpocIJYKaNWhnwvZViVURE().Where(x=> x.Key.Contains("HapisIsland"))) if (!kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.ContainsKey(IQdlCsTavagMkS.Key)) kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Add(IQdlCsTavagMkS.Key, IQdlCsTavagMkS.Value);
                if (vvjlQTOKuYokO) foreach(var IQdlCsTavagMkS in vQkUcPgfRW.HFwpocIJYKaNWhnwvZViVURE().Where(x=> !x.Key.Contains("HapisIsland"))) if (!kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.ContainsKey(IQdlCsTavagMkS.Key)) kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Add(IQdlCsTavagMkS.Key, IQdlCsTavagMkS.Value);
                yMNDObWaMnhBEkiunVrD(kfoTixKdQrDKtTCUhvxcMHXNCqG);
            }
        }
        private void ZPSrQiPnORonGRo(Dictionary<string, List<RTQuvUyrIxdqC>> aSfQcIKBGQ) {
            bool pEQcFeoYPmwP = false;
            foreach(var IQdlCsTavagMkS in vQkUcPgfRW.HFwpocIJYKaNWhnwvZViVURE()) {
                if (NEKdcDCfMGhStftSurLdlagUTZVOX && !IQdlCsTavagMkS.Key.Contains("HapisIsland")) continue;
                if (!NEKdcDCfMGhStftSurLdlagUTZVOX && IQdlCsTavagMkS.Key.Contains("HapisIsland")) continue;
                if (!aSfQcIKBGQ.ContainsKey(IQdlCsTavagMkS.Key)) {
                    if (!itoaeQdtQB(IQdlCsTavagMkS.Key)) PrintWarning(kWEnKyYsqxWcavyYCiWg("WARNING.NEW.RADTOWN").Replace("{RADTOWN}", IQdlCsTavagMkS.Key));
                    continue;
                }
                if (!kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.ContainsKey(IQdlCsTavagMkS.Key)) continue;
                foreach(var EGYokUTELS in IQdlCsTavagMkS.Value) {
                    if (!aSfQcIKBGQ[IQdlCsTavagMkS.Key].Exists(x=> x.WWwmurpPcfSuhyEDGy == EGYokUTELS.WWwmurpPcfSuhyEDGy)) {
                        if (!kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ[IQdlCsTavagMkS.Key].Exists(x=> x.WWwmurpPcfSuhyEDGy == EGYokUTELS.WWwmurpPcfSuhyEDGy)) {
                            PrintWarning(kWEnKyYsqxWcavyYCiWg("WARNING.NEW.SHOP").Replace("{SHOP}", EGYokUTELS.WWwmurpPcfSuhyEDGy).Replace("{RADTOWN}", IQdlCsTavagMkS.Key));
                            var InEjCMdXPeOm = new RTQuvUyrIxdqC();
                            InEjCMdXPeOm.WWwmurpPcfSuhyEDGy = EGYokUTELS.WWwmurpPcfSuhyEDGy;
                            kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ[IQdlCsTavagMkS.Key].Add(InEjCMdXPeOm);
                            pEQcFeoYPmwP = true;
                        }
                        var UsJZriSaJuj = new RTQuvUyrIxdqC();
                        UsJZriSaJuj.WWwmurpPcfSuhyEDGy = EGYokUTELS.WWwmurpPcfSuhyEDGy;
                        aSfQcIKBGQ[IQdlCsTavagMkS.Key].Add(UsJZriSaJuj);
                    }
                    var OHLlRivAFejCCzxPiDbN = aSfQcIKBGQ[IQdlCsTavagMkS.Key].FirstOrDefault(x=> x.WWwmurpPcfSuhyEDGy == EGYokUTELS.WWwmurpPcfSuhyEDGy);
                    var iDrerZazKIgzEdWLKbYkVGqIdR = kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ[IQdlCsTavagMkS.Key].FirstOrDefault(x=> x.WWwmurpPcfSuhyEDGy == EGYokUTELS.WWwmurpPcfSuhyEDGy);
                    foreach(var mgHrqzaTcXk in EGYokUTELS.NIcMXoALVmOOqUDeXOxpiJje) {
                        if (!OHLlRivAFejCCzxPiDbN.NIcMXoALVmOOqUDeXOxpiJje.Exists(x=> x.HeWGjDXRKrZhdHiExnHjmQVQry == mgHrqzaTcXk.HeWGjDXRKrZhdHiExnHjmQVQry && x.BmgFrQRXgXerOUFwpmijFXdmAUgm == mgHrqzaTcXk.BmgFrQRXgXerOUFwpmijFXdmAUgm && x.yBcUYVvakZViMGtmoVQlOuEXbD == mgHrqzaTcXk.yBcUYVvakZViMGtmoVQlOuEXbD && x.gGoGSnKdWXGnaXxiFTCc == mgHrqzaTcXk.gGoGSnKdWXGnaXxiFTCc)) {
                            if (!iDrerZazKIgzEdWLKbYkVGqIdR.NIcMXoALVmOOqUDeXOxpiJje.Exists(x=> x.HeWGjDXRKrZhdHiExnHjmQVQry == mgHrqzaTcXk.HeWGjDXRKrZhdHiExnHjmQVQry && x.BmgFrQRXgXerOUFwpmijFXdmAUgm == mgHrqzaTcXk.BmgFrQRXgXerOUFwpmijFXdmAUgm && x.yBcUYVvakZViMGtmoVQlOuEXbD == mgHrqzaTcXk.yBcUYVvakZViMGtmoVQlOuEXbD && x.gGoGSnKdWXGnaXxiFTCc == mgHrqzaTcXk.gGoGSnKdWXGnaXxiFTCc)) {
                                PrintWarning(kWEnKyYsqxWcavyYCiWg("WARNING.NEW.ITEM").Replace("{SHOP}", EGYokUTELS.WWwmurpPcfSuhyEDGy).Replace("{RADTOWN}", IQdlCsTavagMkS.Key).Replace("{ITEM}", mgHrqzaTcXk.HeWGjDXRKrZhdHiExnHjmQVQry));
                                iDrerZazKIgzEdWLKbYkVGqIdR.NIcMXoALVmOOqUDeXOxpiJje.Add(mgHrqzaTcXk);
                                pEQcFeoYPmwP = true;
                            }
                            OHLlRivAFejCCzxPiDbN.NIcMXoALVmOOqUDeXOxpiJje.Add(mgHrqzaTcXk);
                        }
                    }
                }
            }
            if (pEQcFeoYPmwP) yMNDObWaMnhBEkiunVrD(kfoTixKdQrDKtTCUhvxcMHXNCqG);
        }
        private void zQxagvFOcG() {
            var PrYrMzzjOGTDkDHuckaGZpJksRkeG = PKfiNJvRoTYnRrDtjXjYuFX();
            foreach(var IQdlCsTavagMkS in kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ) {
                if (NEKdcDCfMGhStftSurLdlagUTZVOX && !IQdlCsTavagMkS.Key.Contains("HapisIsland")) continue;
                if (!NEKdcDCfMGhStftSurLdlagUTZVOX && IQdlCsTavagMkS.Key.Contains("HapisIsland")) continue;
                foreach(var iDrerZazKIgzEdWLKbYkVGqIdR in IQdlCsTavagMkS.Value) {
                    if (PrYrMzzjOGTDkDHuckaGZpJksRkeG.ContainsKey(IQdlCsTavagMkS.Key)) {
                        foreach(var EGYokUTELS in PrYrMzzjOGTDkDHuckaGZpJksRkeG[IQdlCsTavagMkS.Key]) {
                            var shopName = NEKdcDCfMGhStftSurLdlagUTZVOX ? EGYokUTELS.shopName + $" {EGYokUTELS.transform.position}" : EGYokUTELS.shopName;
                            if (!(iDrerZazKIgzEdWLKbYkVGqIdR.WWwmurpPcfSuhyEDGy == shopName)) continue;
                            TNquyWGkEjDkcovHKsO(iDrerZazKIgzEdWLKbYkVGqIdR, EGYokUTELS);
                        }
                    }
                }
            }
        }
        [ConsoleCommand("ctv.reset")]
        private void cjFNRIXrQQSsLdPNnwGR(ConsoleSystem.Arg wFsKauGFHVkaEHzSAKC) {
            var LfTwKZPHPQdihZPjHJEhixadsVmWxR = wFsKauGFHVkaEHzSAKC?.Player();
            if (LfTwKZPHPQdihZPjHJEhixadsVmWxR != null && !LfTwKZPHPQdihZPjHJEhixadsVmWxR.IsAdmin) return;
            kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ = vQkUcPgfRW.HFwpocIJYKaNWhnwvZViVURE();
            if (NEKdcDCfMGhStftSurLdlagUTZVOX) foreach(var TcfGMOFXTmRjOHvwkLETiY in kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Where(x=> !x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Remove(TcfGMOFXTmRjOHvwkLETiY);
            else foreach(var TcfGMOFXTmRjOHvwkLETiY in kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Where(x=> x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ.Remove(TcfGMOFXTmRjOHvwkLETiY);
            yMNDObWaMnhBEkiunVrD(kfoTixKdQrDKtTCUhvxcMHXNCqG);
            zQxagvFOcG();
            var yAlviGGBddU = kWEnKyYsqxWcavyYCiWg("INFO.RESET");
            if (LfTwKZPHPQdihZPjHJEhixadsVmWxR != null) PrintToConsole(LfTwKZPHPQdihZPjHJEhixadsVmWxR, yAlviGGBddU);
            else Puts(yAlviGGBddU);
        }
        private void LoadDefaultMessages() {
            lang.RegisterMessages(new Dictionary<string, string> {
                {
                    "INFO.RESET", "Товары из магазинов в NPC городах были востановлены до значений по умолчанию."
                }
                , {
                    "WARNING.ITEM", "Указанный в конфигурационном файле предмет не существует: '{ITEM}'."
                }
                , {
                    "WARNING.NEW.SHOP", "Обнаружен новый магазин '{SHOP}' в городе '{RADTOWN}'."
                }
                , {
                    "WARNING.NEW.ITEM", "Добавлен новый товар '{ITEM}' в магазин '{SHOP}' города '{RADTOWN}'."
                }
                , {
                    "WARNING.NEW.RADTOWN", "Обнаружен новый город '{RADTOWN}'.Если это не кастомная карта, то сообщите разработчику, что бы он добавил новый город в плагин."
                }
            }
            , this);
        }
        private string kWEnKyYsqxWcavyYCiWg(string OcxaqddTVyvOgR, string NLXdzZpHiOreVaWdFcRFpvyfGy = null) => lang.GetMessage(OcxaqddTVyvOgR, this, NLXdzZpHiOreVaWdFcRFpvyfGy);
        private static wPcBTJRVttCNSugOGJYywdZ kfoTixKdQrDKtTCUhvxcMHXNCqG;
        private class RTQuvUyrIxdqC {
            [JsonProperty(PropertyName = "Игровое название магазина (не менять)")]
            public string WWwmurpPcfSuhyEDGy;
            [JsonProperty(PropertyName = "Список товаров")]
            public List<RkvqcDmRvMgTzYNIJm> NIcMXoALVmOOqUDeXOxpiJje = new List<RkvqcDmRvMgTzYNIJm>();
        }
        private class RkvqcDmRvMgTzYNIJm {
            [JsonProperty(PropertyName = "Название покупаемого товара")]
            public string HeWGjDXRKrZhdHiExnHjmQVQry;
            [JsonProperty(PropertyName = "Количество покупаемого товара за раз")]
            public int DWTATqCOdhnbOHzEItROjSAtbnR;
            [JsonProperty(PropertyName = "Покупаемый товар это чертёж")]
            public bool yBcUYVvakZViMGtmoVQlOuEXbD;
            [JsonProperty(PropertyName = "Название платёжного товара")]
            public string BmgFrQRXgXerOUFwpmijFXdmAUgm;
            [JsonProperty(PropertyName = "Количество платёжного товара за раз")]
            public int UQFoMFkYeqhHwLtEOOtZirhPVCwMq;
            [JsonProperty(PropertyName = "Платёжный товар это чертёж")]
            public bool gGoGSnKdWXGnaXxiFTCc;
        }
        private class wPcBTJRVttCNSugOGJYywdZ {
            [JsonProperty(PropertyName = "Добавлять новые предметы в магазины")]
            public bool SUdvApRPzox;
            [JsonProperty(PropertyName = "Задержка инициализации магазинов (секунды)")]
            public int eFYSZWnllvfofymqFPXX;
            [JsonProperty(PropertyName = "Торговые автоматы в NPC городах")]
            public Dictionary<string, List<RTQuvUyrIxdqC>> jYWzQaewyqNofXQ = new Dictionary<string, List<RTQuvUyrIxdqC>>();
        }
        private void UdQRiKAFuc() {
            kfoTixKdQrDKtTCUhvxcMHXNCqG = Config.ReadObject<wPcBTJRVttCNSugOGJYywdZ>();
            if (kfoTixKdQrDKtTCUhvxcMHXNCqG == null) kfoTixKdQrDKtTCUhvxcMHXNCqG = new wPcBTJRVttCNSugOGJYywdZ();
            if (kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ == null) kfoTixKdQrDKtTCUhvxcMHXNCqG.jYWzQaewyqNofXQ = new Dictionary<string, List<RTQuvUyrIxdqC>>();
        }
        protected override void LoadDefaultConfig() {
            kfoTixKdQrDKtTCUhvxcMHXNCqG = new wPcBTJRVttCNSugOGJYywdZ {
                SUdvApRPzox = true, eFYSZWnllvfofymqFPXX = 30, jYWzQaewyqNofXQ = new Dictionary<string, List<RTQuvUyrIxdqC>>()
            }
            ;
            yMNDObWaMnhBEkiunVrD(kfoTixKdQrDKtTCUhvxcMHXNCqG);
            timer.Once(0.1f, ()=> yMNDObWaMnhBEkiunVrD(kfoTixKdQrDKtTCUhvxcMHXNCqG));
        }
        private void yMNDObWaMnhBEkiunVrD(wPcBTJRVttCNSugOGJYywdZ NASLgQHPnUJmWyAdCmddm) => Config.WriteObject(NASLgQHPnUJmWyAdCmddm, true);
        private static uUCxpmwYtZscciGsR vQkUcPgfRW = new uUCxpmwYtZscciGsR();
        private class uUCxpmwYtZscciGsR {
            [JsonProperty(PropertyName = "Протокол")]
            public string dLmDlamtDDtHXZdV;
            [JsonProperty(PropertyName = "Торговые автоматы в NPC городах")]
            public Dictionary<string, List<RTQuvUyrIxdqC>> jYWzQaewyqNofXQ = new Dictionary<string, List<RTQuvUyrIxdqC>>();
            public Dictionary<string, List<RTQuvUyrIxdqC>> HFwpocIJYKaNWhnwvZViVURE() => JsonConvert.DeserializeObject<Dictionary<string, List<RTQuvUyrIxdqC>>>(JsonConvert.SerializeObject(jYWzQaewyqNofXQ));
        }
        private void vVEUplJGvSNTlBUGlRBQfGWmnwL() {
            vQkUcPgfRW = Interface.GetMod().DataFileSystem.ReadObject<uUCxpmwYtZscciGsR>("CustomTownVendingData");
            if (vQkUcPgfRW == null) vQkUcPgfRW = new uUCxpmwYtZscciGsR();
            if (vQkUcPgfRW.jYWzQaewyqNofXQ == null) vQkUcPgfRW.jYWzQaewyqNofXQ = new Dictionary<string, List<RTQuvUyrIxdqC>>();
        }
        private void BInbqfqshpY() => Interface.GetMod().DataFileSystem.WriteObject("CustomTownVendingData", vQkUcPgfRW);
    }
}

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