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

FREE CustomTownVending : 1.1.14 1.1.14

Нет прав для скачивания
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.14")]
    class CustomTownVending : RustPlugin {
        private static readonly List<string> rsXocRllWoJhlHpbo = new List<string>() {
            "Outpost", "Bandit Camp", "Large Fishing Village", "Fishing Village"
        }
        ;
        private static Dictionary<string, int> pvFgYfWeFmuernITOaGLIsyIUlX = new Dictionary<string, int> {
            {
                "mixingtable", 6
            }
            , {
                "diving.mask", 20
            }
            , {
                "diving.tank", 30
            }
            , {
                "diving.fins", 25
            }
        }
        ;
        private static bool mmdZtSRFLXe = false;
        private static Dictionary<NPCVendingMachine, float[]> SdoitAWAsexHrX = new Dictionary<NPCVendingMachine, float[]>();
        private void Init() {
            ebnqPyNttrkDnrtIciiYVGlNZkzTaT.Clear();
            SdoitAWAsexHrX.Clear();
            lhlCyIkbvRM();
            XOcwCLJYpfUYCPuCGwTloK();
            foreach (var ZzteowTSZQ in FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX) {
                foreach (var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in ZzteowTSZQ.Value) {
                    foreach (var FQYFQkiySPuQgFsbkG in HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.EYLzypcHkeKGFeZtAmTk) {
                        if (FQYFQkiySPuQgFsbkG.ssdpbgGeVUCUibkJtkpCROreeZqj == null) FQYFQkiySPuQgFsbkG.ssdpbgGeVUCUibkJtkpCROreeZqj = "";
                    }
                }
            }
            mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
            if (FRLKNqkjDId.VIERMFXbIYMqWMbg <= 0) {
                FRLKNqkjDId.VIERMFXbIYMqWMbg = 30;
                mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
            }
            LoadDefaultMessages();
        }
        private void OnServerInitialized() {
            if (FRLKNqkjDId.dMbKykHxpfkeurUYKOjalVka == false) Unsubscribe(nameof(OnNpcGiveSoldItem));
            mmdZtSRFLXe = ConVar.Server.level == "HapisIsland";
            var intKgsZZeQYnLtOTcD = uNNsoclDdwOLPoEalRCHZn.wuiNkmTMHLS();
            DWXZMPPwEpoBOYMYHS();
            AXhlflxqZHEhEmUbjdsg();
            if (FRLKNqkjDId.qKZqlZnFdrkpjE) HinPgpuUAXOWdUePSwYrWN(intKgsZZeQYnLtOTcD);
            DlcyVBnzPEDxIjpSX();
            timer.Once(FRLKNqkjDId.VIERMFXbIYMqWMbg, wPuOuqdpJk);
        }
        private void Unload() {
            IUCCFKhcCnjofFjwwZEewv(null, null);
            eylXWiSHLf();
            ZuqghZhumlzXNaAHl();
        }
        private void OnNpcGiveSoldItem(NPCVendingMachine HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ, Item FQYFQkiySPuQgFsbkG, BasePlayer nXuFjhLLeLdnRxHFADrAHkrX) {
            if (HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ == null || FQYFQkiySPuQgFsbkG == null || nXuFjhLLeLdnRxHFADrAHkrX == null) return;
            var entity = FQYFQkiySPuQgFsbkG.IsBlueprint() ? "чертёж" : "предмет";
            var name = FQYFQkiySPuQgFsbkG.IsBlueprint() ? FQYFQkiySPuQgFsbkG.blueprintTargetDef.displayName.english : FQYFQkiySPuQgFsbkG.info.displayName.english;
            var ZzteowTSZQ = KJFZSwoWAtaWdOe(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position)?.Replace("\n", "");
            var vHgFdMIWoLBgnxBro = ssWKxCKZDmjcBaVxMsPgo("LOG.BUY.PLAYER").Replace("{PLAYER_NAME}", nXuFjhLLeLdnRxHFADrAHkrX.displayName).Replace("{PLAYER_ID}", nXuFjhLLeLdnRxHFADrAHkrX.UserIDString).Replace("{ENTITY_TYPE}", entity).Replace("{ENTITY_NAME}", name).Replace("{ENTITY_AMOUNT}", $"{FQYFQkiySPuQgFsbkG.amount}").Replace("{RADTOWN}", ZzteowTSZQ).Replace("{SHOP_NAME}", HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName).Replace("{SHOP_POS}", $"{HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position}");
            Puts(vHgFdMIWoLBgnxBro);
            IUCCFKhcCnjofFjwwZEewv("purchases", vHgFdMIWoLBgnxBro);
        }
        private Dictionary<string, List<NPCVendingMachine>> pCEQermlpnQEfxUQtFVfXFjZkUNuV() {
            var GlrfCxvLQDOnVOMEZXEhHiVsIMabsM = BaseNetworkable.serverEntities.OfType<NPCVendingMachine>().Where(x=> x != null && !string.IsNullOrEmpty(x.shopName)).ToList();
            var PjhiUfjoOs = new Dictionary<string, List<NPCVendingMachine>>();
            foreach(var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in GlrfCxvLQDOnVOMEZXEhHiVsIMabsM) {
                var ZzteowTSZQ = KJFZSwoWAtaWdOe(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position)?.Replace("\n", "");
                if (string.IsNullOrEmpty(ZzteowTSZQ) || !odgXuPnfpmHAFfDtJXiglP(ZzteowTSZQ)) continue;
                ZzteowTSZQ = mmdZtSRFLXe ? "HapisIsland " + ZzteowTSZQ : ZzteowTSZQ;
                if (!PjhiUfjoOs.ContainsKey(ZzteowTSZQ)) PjhiUfjoOs.Add(ZzteowTSZQ, new List<NPCVendingMachine>());
                PjhiUfjoOs[ZzteowTSZQ].Add(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ);
            }
            return PjhiUfjoOs;
        }
        private static boRrhXlgtSjkb dzGIyyIsUcIwxxLHWBXyaALlvAtzeS(NPCVendingMachine HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ) {
            var PjhiUfjoOs = new boRrhXlgtSjkb();
            PjhiUfjoOs.YwVfLBTBfZMRRvrdESKcg = mmdZtSRFLXe ? HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName + $" {HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position}" : HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName;
            foreach(var dmOrVIiLXs in HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.vendingOrders.orders) {
                var ZeXKMtUZmzN = new WrLIeAplkIanyblyNoOTVVTK();
                ZeXKMtUZmzN.jsnQIIIXFJXKtevJLCFZXF = dmOrVIiLXs.sellItem.shortname;
                ZeXKMtUZmzN.zEYAslSfgSqjZLVAA = dmOrVIiLXs.sellItemAmount;
                ZeXKMtUZmzN.UmCqUZLBADWpJkstDLuPAo = dmOrVIiLXs.sellItemAsBP;
                ZeXKMtUZmzN.LRYEwfyyXYXFFsfWyV = 0;
                ZeXKMtUZmzN.ssdpbgGeVUCUibkJtkpCROreeZqj = "";
                ZeXKMtUZmzN.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC = dmOrVIiLXs.currencyItem.shortname;
                ZeXKMtUZmzN.nGBzNzwKcinQgbQpAvhgx = dmOrVIiLXs.currencyAmount;
                ZeXKMtUZmzN.FPTRQCZxxilBnEvF = dmOrVIiLXs.currencyAsBP;
                ZeXKMtUZmzN.zLbeUkHCYyhZVZ = dmOrVIiLXs.refillAmount;
                ZeXKMtUZmzN.JowCFUPVRTqFVBMjlLwKaSdR = dmOrVIiLXs.refillDelay;
                PjhiUfjoOs.EYLzypcHkeKGFeZtAmTk.Add(ZeXKMtUZmzN);
            }
            return PjhiUfjoOs;
        }
        private static void JCtqedNSBbggApimoUw(VendingMachine NKhCxFgwIqlCXkzPgqmDjVpS, int FcWQXmitpdepTFSYlHExnSk, int KidoVGfVDhPtgwHOuvkUXlyrRoCzp, int VZdudKjNJMxIGv, int CvyGZbcQqeDVaEbZl, byte mFoagaDQYUNTaAAsOeKQc) {
            var gGgIEKfGmRB = ItemManager.FindItemDefinition(FcWQXmitpdepTFSYlHExnSk);
            var YYOjnQXSCCpzDQelx = ItemManager.FindItemDefinition(VZdudKjNJMxIGv);
            if (gGgIEKfGmRB == null || YYOjnQXSCCpzDQelx == null) return;
            var fvJMJGtBTIpzZXIiBmhtdpxxCRo = new ProtoBuf.VendingMachine.SellOrder() {
                ShouldPool = false, itemToSellID = FcWQXmitpdepTFSYlHExnSk, itemToSellAmount = KidoVGfVDhPtgwHOuvkUXlyrRoCzp, currencyID = VZdudKjNJMxIGv, currencyAmountPerItem = CvyGZbcQqeDVaEbZl, currencyIsBP = (mFoagaDQYUNTaAAsOeKQc == 3 ? true : mFoagaDQYUNTaAAsOeKQc == 2), itemToSellIsBP = (mFoagaDQYUNTaAAsOeKQc == 3 ? true : mFoagaDQYUNTaAAsOeKQc == 1)
            }
            ;
            Interface.CallHook("OnAddVendingOffer", NKhCxFgwIqlCXkzPgqmDjVpS, fvJMJGtBTIpzZXIiBmhtdpxxCRo);
            NKhCxFgwIqlCXkzPgqmDjVpS.sellOrders.sellOrders.Add(fvJMJGtBTIpzZXIiBmhtdpxxCRo);
            NKhCxFgwIqlCXkzPgqmDjVpS.RefreshSellOrderStockLevel(gGgIEKfGmRB);
            NKhCxFgwIqlCXkzPgqmDjVpS.UpdateMapMarker();
            NKhCxFgwIqlCXkzPgqmDjVpS.SendNetworkUpdate(BasePlayer.NetworkQueue.Update);
        }
        private void MFgJxOSUdSMw(NPCVendingMachine NKhCxFgwIqlCXkzPgqmDjVpS, int OGIyXvsEvVWti, int TYsucmBHLbDTTMKDIEZCxbjUOHGqgm, int AfyKNMbBTunvIaBUhwwLjaVFOMR, int vpPKaATAXLBxSmoaPbGVYAuL, byte UUyrvmzAGrDyqBuAVUgQJLI, ulong yrLkQjGBOJnTlEuK, string ssdpbgGeVUCUibkJtkpCROreeZqj, int vTvBQKPDIAufsJzYgAxDwILYIq) {
            JCtqedNSBbggApimoUw(NKhCxFgwIqlCXkzPgqmDjVpS, OGIyXvsEvVWti, TYsucmBHLbDTTMKDIEZCxbjUOHGqgm, AfyKNMbBTunvIaBUhwwLjaVFOMR, vpPKaATAXLBxSmoaPbGVYAuL, UUyrvmzAGrDyqBuAVUgQJLI);
            NKhCxFgwIqlCXkzPgqmDjVpS.transactionActive = true;
            int CIJVhQDnvvboSSobXYmrAmPMV = vTvBQKPDIAufsJzYgAxDwILYIq;
            var UMAtQiHVHjk = "{DarkPluginsID}";
            if (UUyrvmzAGrDyqBuAVUgQJLI == 1 || UUyrvmzAGrDyqBuAVUgQJLI == 3) {
                var FQYFQkiySPuQgFsbkG = ItemManager.CreateByItemID(NKhCxFgwIqlCXkzPgqmDjVpS.blueprintBaseDef.itemid, TYsucmBHLbDTTMKDIEZCxbjUOHGqgm * CIJVhQDnvvboSSobXYmrAmPMV, yrLkQjGBOJnTlEuK);
                FQYFQkiySPuQgFsbkG.blueprintTarget = OGIyXvsEvVWti;
                if (!string.IsNullOrEmpty(ssdpbgGeVUCUibkJtkpCROreeZqj)) FQYFQkiySPuQgFsbkG.name = ssdpbgGeVUCUibkJtkpCROreeZqj;
                FQYFQkiySPuQgFsbkG.MoveToContainer(NKhCxFgwIqlCXkzPgqmDjVpS.inventory, -1, true);
            }
            else {
                var FQYFQkiySPuQgFsbkG = ItemManager.CreateByItemID(OGIyXvsEvVWti, TYsucmBHLbDTTMKDIEZCxbjUOHGqgm * CIJVhQDnvvboSSobXYmrAmPMV, yrLkQjGBOJnTlEuK);
                if (!string.IsNullOrEmpty(ssdpbgGeVUCUibkJtkpCROreeZqj)) FQYFQkiySPuQgFsbkG.name = ssdpbgGeVUCUibkJtkpCROreeZqj;
                FQYFQkiySPuQgFsbkG.MoveToContainer(NKhCxFgwIqlCXkzPgqmDjVpS.inventory, -1, true);
            }
            NKhCxFgwIqlCXkzPgqmDjVpS.transactionActive = false;
            (NKhCxFgwIqlCXkzPgqmDjVpS as VendingMachine).RefreshSellOrderStockLevel(null);
        }
        private void YZPnOQRkfVxjayMmnijhBDdl(boRrhXlgtSjkb sBfJHGeIJoKeAdeT, NPCVendingMachine HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ) {
            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.ClearSellOrders();
            foreach (var FQYFQkiySPuQgFsbkG in HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.inventory.itemList.ToList()) {
                FQYFQkiySPuQgFsbkG.RemoveFromContainer();
                FQYFQkiySPuQgFsbkG.Remove(0f);
            }
            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.inventory.itemList.Clear();
            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.inventory.Clear();
            foreach(var dmOrVIiLXs in sBfJHGeIJoKeAdeT.EYLzypcHkeKGFeZtAmTk) {
                var OxPZiHWVLlKGN = ItemManager.FindItemDefinition(dmOrVIiLXs.jsnQIIIXFJXKtevJLCFZXF);
                if (OxPZiHWVLlKGN == null) {
                    PrintWarning(ssWKxCKZDmjcBaVxMsPgo("WARNING.ITEM").Replace("{ITEM}", dmOrVIiLXs.jsnQIIIXFJXKtevJLCFZXF));
                    continue;
                }
                var oRtsQgOQnPqsVlpGeLr = ItemManager.FindItemDefinition(dmOrVIiLXs.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC);
                if (oRtsQgOQnPqsVlpGeLr == null) {
                    PrintWarning(ssWKxCKZDmjcBaVxMsPgo("WARNING.ITEM").Replace("{ITEM}", dmOrVIiLXs.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC));
                    continue;
                }
                if (dmOrVIiLXs.zEYAslSfgSqjZLVAA <= 0 || dmOrVIiLXs.nGBzNzwKcinQgbQpAvhgx <= 0) continue;
                if (dmOrVIiLXs.zLbeUkHCYyhZVZ == -1) {
                    dmOrVIiLXs.zLbeUkHCYyhZVZ = 1;
                    dmOrVIiLXs.JowCFUPVRTqFVBMjlLwKaSdR = 10f;
                }
                if (dmOrVIiLXs.dTaJGounpYPBvRzxZWNlYM <= 0) dmOrVIiLXs.dTaJGounpYPBvRzxZWNlYM = 10;
                MFgJxOSUdSMw(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ, OxPZiHWVLlKGN.itemid, dmOrVIiLXs.zEYAslSfgSqjZLVAA, oRtsQgOQnPqsVlpGeLr.itemid, dmOrVIiLXs.nGBzNzwKcinQgbQpAvhgx, HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.GetBPState(dmOrVIiLXs.UmCqUZLBADWpJkstDLuPAo, dmOrVIiLXs.FPTRQCZxxilBnEvF), dmOrVIiLXs.LRYEwfyyXYXFFsfWyV, dmOrVIiLXs.ssdpbgGeVUCUibkJtkpCROreeZqj, dmOrVIiLXs.dTaJGounpYPBvRzxZWNlYM);
            }
            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.FullUpdate();
        }
        private static bool odgXuPnfpmHAFfDtJXiglP(string ZzteowTSZQ) {
            foreach(var WyhhEXUHgxLNWgAiztrkO in rsXocRllWoJhlHpbo) if (ZzteowTSZQ.Contains(WyhhEXUHgxLNWgAiztrkO)) return true;
            return false;
        }
        private class Sr {
            public float dist;
            public string name;
        }
        private string KJFZSwoWAtaWdOe(Vector3 lBdCaYgYbSAmKhDIabv) {
            var sYqhKTqPahyJexxRIZBwDXjrk = TerrainMeta.Path.Monuments.Where(x=> x != null && !string.IsNullOrEmpty(x.name) && !x.name.Contains("power_sub_") && !x.name.Contains("cave/cave")).Select(x=> new KeyValuePair<float, MonumentInfo>(Vector3.Distance(x.transform.position, lBdCaYgYbSAmKhDIabv), x)).OrderBy(x=> x.Key);
            if (sYqhKTqPahyJexxRIZBwDXjrk.Count() == 0) return null;
            var bSdXffWgvRy = sYqhKTqPahyJexxRIZBwDXjrk.FirstOrDefault();
            if (bSdXffWgvRy.Key > 75f) return null;
            return !string.IsNullOrEmpty(bSdXffWgvRy.Value.displayPhrase.english) ? bSdXffWgvRy.Value.displayPhrase.english : null;
        }
        private static Dictionary<string, List<NPCVendingMachine>> ebnqPyNttrkDnrtIciiYVGlNZkzTaT = new Dictionary<string, List<NPCVendingMachine>>();
        private void SiYryAugyN() {
            if (ebnqPyNttrkDnrtIciiYVGlNZkzTaT.Count() == 0) ebnqPyNttrkDnrtIciiYVGlNZkzTaT = pCEQermlpnQEfxUQtFVfXFjZkUNuV();
            foreach(var gTCKftiJTarGxwgs in FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX) {
                if (mmdZtSRFLXe && !gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                if (!mmdZtSRFLXe && gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                foreach(var KTYtOASySxRGxNLYMknmjlsHIQ in gTCKftiJTarGxwgs.Value) {
                    if (ebnqPyNttrkDnrtIciiYVGlNZkzTaT.ContainsKey(gTCKftiJTarGxwgs.Key)) {
                        foreach(var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in ebnqPyNttrkDnrtIciiYVGlNZkzTaT[gTCKftiJTarGxwgs.Key]) {
                            if (HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ == null) continue;
                            var shopName = mmdZtSRFLXe ? HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName + $" {HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position}" : HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName;
                            if (!(KTYtOASySxRGxNLYMknmjlsHIQ.YwVfLBTBfZMRRvrdESKcg == shopName)) continue;
                            NvtIDUpySjwOtBfI(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ, KTYtOASySxRGxNLYMknmjlsHIQ);
                        }
                    }
                }
            }
            timer.Once(1f, SiYryAugyN);
        }
        private static int GetAmount(ItemContainer cont, int itemid, bool isBP) {
            if (cont == null) return 0;
            int CIJVhQDnvvboSSobXYmrAmPMV = 0;
            foreach (Item FQYFQkiySPuQgFsbkG in cont.itemList) if (!isBP && FQYFQkiySPuQgFsbkG.info.itemid == itemid || isBP && FQYFQkiySPuQgFsbkG.IsBlueprint() && FQYFQkiySPuQgFsbkG.blueprintTarget == itemid) CIJVhQDnvvboSSobXYmrAmPMV += FQYFQkiySPuQgFsbkG.amount;
            return CIJVhQDnvvboSSobXYmrAmPMV;
        }
        private void NvtIDUpySjwOtBfI(NPCVendingMachine HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ, boRrhXlgtSjkb KTYtOASySxRGxNLYMknmjlsHIQ) {
            if (HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ == null || HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.vendingOrders == null || HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.vendingOrders.orders == null) return;
            if (HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.inventory == null) return;
            if (!SdoitAWAsexHrX.ContainsKey(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ)) SdoitAWAsexHrX.Add(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ, new float[(int)HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.vendingOrders.orders.Length]);
            for (int i = 0; i < (int)HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.vendingOrders.orders.Length;
            i++) {
                var UwNGYvIlNlQJzCtros = HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.vendingOrders.orders[i];
                var cfgEntry = KTYtOASySxRGxNLYMknmjlsHIQ.EYLzypcHkeKGFeZtAmTk.FirstOrDefault(x=> x.jsnQIIIXFJXKtevJLCFZXF == UwNGYvIlNlQJzCtros.sellItem.shortname && x.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC == UwNGYvIlNlQJzCtros.currencyItem.shortname && x.UmCqUZLBADWpJkstDLuPAo == UwNGYvIlNlQJzCtros.sellItemAsBP && x.FPTRQCZxxilBnEvF == UwNGYvIlNlQJzCtros.currencyAsBP);
                if (cfgEntry == null) continue;
                if (Time.realtimeSinceStartup > (SdoitAWAsexHrX[HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ])[i]) {
                    int CIJVhQDnvvboSSobXYmrAmPMV = GetAmount(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.inventory, UwNGYvIlNlQJzCtros.sellItem.itemid, UwNGYvIlNlQJzCtros.sellItemAsBP);
                    var VIsAspVleahMYHQdhfGqyKjUK = cfgEntry.zLbeUkHCYyhZVZ <= 0 ? 1 : cfgEntry.zLbeUkHCYyhZVZ;
                    int num1 = cfgEntry.dTaJGounpYPBvRzxZWNlYM * cfgEntry.zEYAslSfgSqjZLVAA;
                    var diff = num1 - CIJVhQDnvvboSSobXYmrAmPMV;
                    var amount = diff > VIsAspVleahMYHQdhfGqyKjUK * cfgEntry.zEYAslSfgSqjZLVAA ? VIsAspVleahMYHQdhfGqyKjUK * cfgEntry.zEYAslSfgSqjZLVAA : diff;
                    if (amount > 0) {
                        HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transactionActive = true;
                        Item FQYFQkiySPuQgFsbkG = null;
                        if (!cfgEntry.UmCqUZLBADWpJkstDLuPAo) FQYFQkiySPuQgFsbkG = ItemManager.Create(UwNGYvIlNlQJzCtros.sellItem, amount, cfgEntry.LRYEwfyyXYXFFsfWyV);
                        else {
                            FQYFQkiySPuQgFsbkG = ItemManager.Create(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.blueprintBaseDef, amount, (ulong)0);
                            FQYFQkiySPuQgFsbkG.blueprintTarget = UwNGYvIlNlQJzCtros.sellItem.itemid;
                        }
                        if (!string.IsNullOrEmpty(cfgEntry.ssdpbgGeVUCUibkJtkpCROreeZqj)) FQYFQkiySPuQgFsbkG.name = cfgEntry.ssdpbgGeVUCUibkJtkpCROreeZqj;
                        FQYFQkiySPuQgFsbkG.MoveToContainer(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.inventory, -1, true);
                        HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transactionActive = false;
                    }
                    var ApjYcYqWpc = cfgEntry.JowCFUPVRTqFVBMjlLwKaSdR < 0f ? 0f : cfgEntry.JowCFUPVRTqFVBMjlLwKaSdR;
                    (SdoitAWAsexHrX[HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ])[i] = Time.realtimeSinceStartup + ApjYcYqWpc;
                }
            }
        }
        private void DWXZMPPwEpoBOYMYHS() {
            string XsrTRMZQJzPBylIVr = $"{Rust.Protocol.printable} {Facepunch.BuildInfo.Current.BuildDate}";
            bool XfllTllzbTZrnwxjZTeOeiMAItyvTT = false, BSMpofpPZRflf = false, ZsdntSofJU = false;
            if (uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Count == 0 || string.IsNullOrEmpty(uNNsoclDdwOLPoEalRCHZn.mZzCcxDLxanGYTgDOBQpACG) || uNNsoclDdwOLPoEalRCHZn.mZzCcxDLxanGYTgDOBQpACG != XsrTRMZQJzPBylIVr) XfllTllzbTZrnwxjZTeOeiMAItyvTT = true;
            else if (mmdZtSRFLXe) {
                if (uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Where(x=> x.Key.Contains("HapisIsland")).Count() == 0) BSMpofpPZRflf = true;
            }
            else {
                foreach (var ZzteowTSZQ in rsXocRllWoJhlHpbo) if (uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Where(x=> x.Key == ZzteowTSZQ).Count() == 0) ZsdntSofJU = true;
            }
            if (XfllTllzbTZrnwxjZTeOeiMAItyvTT || BSMpofpPZRflf || ZsdntSofJU) {
                if (XfllTllzbTZrnwxjZTeOeiMAItyvTT) uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Clear();
                if (BSMpofpPZRflf) foreach(var ZzteowTSZQ in uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Where(x=> x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Remove(ZzteowTSZQ);
                if (ZsdntSofJU) foreach(var ZzteowTSZQ in uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Where(x=> !x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Remove(ZzteowTSZQ);
                if (string.IsNullOrEmpty(uNNsoclDdwOLPoEalRCHZn.mZzCcxDLxanGYTgDOBQpACG) || uNNsoclDdwOLPoEalRCHZn.mZzCcxDLxanGYTgDOBQpACG != XsrTRMZQJzPBylIVr) uNNsoclDdwOLPoEalRCHZn.mZzCcxDLxanGYTgDOBQpACG = XsrTRMZQJzPBylIVr;
                var GlrfCxvLQDOnVOMEZXEhHiVsIMabsM = pCEQermlpnQEfxUQtFVfXFjZkUNuV();
                if (GlrfCxvLQDOnVOMEZXEhHiVsIMabsM.Count > 0) {
                    if (mmdZtSRFLXe) {
                        foreach(var gTCKftiJTarGxwgs in GlrfCxvLQDOnVOMEZXEhHiVsIMabsM) foreach(var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in gTCKftiJTarGxwgs.Value) {
                            if (!uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.ContainsKey(gTCKftiJTarGxwgs.Key)) uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Add(gTCKftiJTarGxwgs.Key, new List<boRrhXlgtSjkb>());
                            uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX[gTCKftiJTarGxwgs.Key].Add(dzGIyyIsUcIwxxLHWBXyaALlvAtzeS(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ));
                        }
                    }
                    else {
                        foreach(var gTCKftiJTarGxwgs in GlrfCxvLQDOnVOMEZXEhHiVsIMabsM) {
                            var TGMmcENtYMGKMZkDIPC = default(Vector3);
                            foreach(var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in gTCKftiJTarGxwgs.Value) {
                                if (TGMmcENtYMGKMZkDIPC == default(Vector3)) TGMmcENtYMGKMZkDIPC = HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position;
                                if (Vector3.Distance(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position, TGMmcENtYMGKMZkDIPC) > 100f) continue;
                                if (!uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.ContainsKey(gTCKftiJTarGxwgs.Key)) uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Add(gTCKftiJTarGxwgs.Key, new List<boRrhXlgtSjkb>());
                                if (uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX[gTCKftiJTarGxwgs.Key].Exists(x=> x.YwVfLBTBfZMRRvrdESKcg == HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName)) continue;
                                uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX[gTCKftiJTarGxwgs.Key].Add(dzGIyyIsUcIwxxLHWBXyaALlvAtzeS(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ));
                            }
                        }
                    }
                }
                eylXWiSHLf();
            }
        }
        private void AXhlflxqZHEhEmUbjdsg() {
            bool XfllTllzbTZrnwxjZTeOeiMAItyvTT = false, BSMpofpPZRflf = false, ZsdntSofJU = false;
            if (FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Count == 0) XfllTllzbTZrnwxjZTeOeiMAItyvTT = true;
            else if (mmdZtSRFLXe) {
                if (FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Where(x=> x.Key.Contains("HapisIsland")).Count() == 0) BSMpofpPZRflf = true;
            }
            else {
                foreach (var ZzteowTSZQ in rsXocRllWoJhlHpbo) if (FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Where(x=> x.Key == ZzteowTSZQ).Count() == 0) ZsdntSofJU = true;
            }
            if (XfllTllzbTZrnwxjZTeOeiMAItyvTT || BSMpofpPZRflf || ZsdntSofJU) {
                if (XfllTllzbTZrnwxjZTeOeiMAItyvTT) FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX = uNNsoclDdwOLPoEalRCHZn.wuiNkmTMHLS();
                if (BSMpofpPZRflf) foreach(var gTCKftiJTarGxwgs in uNNsoclDdwOLPoEalRCHZn.wuiNkmTMHLS().Where(x=> x.Key.Contains("HapisIsland"))) if (!FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.ContainsKey(gTCKftiJTarGxwgs.Key)) FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Add(gTCKftiJTarGxwgs.Key, gTCKftiJTarGxwgs.Value);
                if (ZsdntSofJU) foreach(var gTCKftiJTarGxwgs in uNNsoclDdwOLPoEalRCHZn.wuiNkmTMHLS().Where(x=> !x.Key.Contains("HapisIsland"))) if (!FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.ContainsKey(gTCKftiJTarGxwgs.Key)) FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Add(gTCKftiJTarGxwgs.Key, gTCKftiJTarGxwgs.Value);
                mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
            }
            var GlrfCxvLQDOnVOMEZXEhHiVsIMabsM = pCEQermlpnQEfxUQtFVfXFjZkUNuV();
            var aYIivdmqesnlJkUXBmhcdEGqRkKt = false;
            foreach(var gTCKftiJTarGxwgs in FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX) {
                if (mmdZtSRFLXe && !gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                if (!mmdZtSRFLXe && gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                foreach(var KTYtOASySxRGxNLYMknmjlsHIQ in gTCKftiJTarGxwgs.Value) {
                    if (GlrfCxvLQDOnVOMEZXEhHiVsIMabsM.ContainsKey(gTCKftiJTarGxwgs.Key)) {
                        foreach(var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in GlrfCxvLQDOnVOMEZXEhHiVsIMabsM[gTCKftiJTarGxwgs.Key]) {
                            var shopName = mmdZtSRFLXe ? HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName + $" {HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position}" : HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName;
                            if (!(KTYtOASySxRGxNLYMknmjlsHIQ.YwVfLBTBfZMRRvrdESKcg == shopName)) continue;
                            for (int i = 0; i < (int)HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.vendingOrders.orders.Length;
                            i++) {
                                var UwNGYvIlNlQJzCtros = HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.vendingOrders.orders[i];
                                var cfgEntry = KTYtOASySxRGxNLYMknmjlsHIQ.EYLzypcHkeKGFeZtAmTk.FirstOrDefault(x=> x.jsnQIIIXFJXKtevJLCFZXF == UwNGYvIlNlQJzCtros.sellItem.shortname && x.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC == UwNGYvIlNlQJzCtros.currencyItem.shortname && x.UmCqUZLBADWpJkstDLuPAo == UwNGYvIlNlQJzCtros.sellItemAsBP && x.FPTRQCZxxilBnEvF == UwNGYvIlNlQJzCtros.currencyAsBP);
                                if (cfgEntry == null) continue;
                                if (cfgEntry.zLbeUkHCYyhZVZ == -1) {
                                    cfgEntry.zLbeUkHCYyhZVZ = UwNGYvIlNlQJzCtros.refillAmount;
                                    cfgEntry.JowCFUPVRTqFVBMjlLwKaSdR = UwNGYvIlNlQJzCtros.refillDelay;
                                    aYIivdmqesnlJkUXBmhcdEGqRkKt = true;
                                }
                                if (cfgEntry.dTaJGounpYPBvRzxZWNlYM <= 0) {
                                    cfgEntry.dTaJGounpYPBvRzxZWNlYM = 10;
                                    aYIivdmqesnlJkUXBmhcdEGqRkKt = true;
                                }
                            }
                        }
                    }
                }
            }
            if (aYIivdmqesnlJkUXBmhcdEGqRkKt) mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
        }
        private void HinPgpuUAXOWdUePSwYrWN(Dictionary<string, List<boRrhXlgtSjkb>> intKgsZZeQYnLtOTcD) {
            bool aYIivdmqesnlJkUXBmhcdEGqRkKt = false;
            foreach(var gTCKftiJTarGxwgs in uNNsoclDdwOLPoEalRCHZn.wuiNkmTMHLS()) {
                if (mmdZtSRFLXe && !gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                if (!mmdZtSRFLXe && gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                if (!intKgsZZeQYnLtOTcD.ContainsKey(gTCKftiJTarGxwgs.Key)) {
                    if (!odgXuPnfpmHAFfDtJXiglP(gTCKftiJTarGxwgs.Key)) PrintWarning(ssWKxCKZDmjcBaVxMsPgo("WARNING.NEW.RADTOWN").Replace("{RADTOWN}", gTCKftiJTarGxwgs.Key));
                    continue;
                }
                if (!FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.ContainsKey(gTCKftiJTarGxwgs.Key)) continue;
                foreach(var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in gTCKftiJTarGxwgs.Value) {
                    if (!intKgsZZeQYnLtOTcD[gTCKftiJTarGxwgs.Key].Exists(x=> x.YwVfLBTBfZMRRvrdESKcg == HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.YwVfLBTBfZMRRvrdESKcg)) {
                        if (!FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX[gTCKftiJTarGxwgs.Key].Exists(x=> x.YwVfLBTBfZMRRvrdESKcg == HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.YwVfLBTBfZMRRvrdESKcg)) {
                            PrintWarning(ssWKxCKZDmjcBaVxMsPgo("WARNING.NEW.SHOP").Replace("{SHOP}", HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.YwVfLBTBfZMRRvrdESKcg).Replace("{RADTOWN}", gTCKftiJTarGxwgs.Key));
                            var exSEkdKegyMYWMjpNcFLAVnHgdupGw = new boRrhXlgtSjkb();
                            exSEkdKegyMYWMjpNcFLAVnHgdupGw.YwVfLBTBfZMRRvrdESKcg = HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.YwVfLBTBfZMRRvrdESKcg;
                            FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX[gTCKftiJTarGxwgs.Key].Add(exSEkdKegyMYWMjpNcFLAVnHgdupGw);
                            aYIivdmqesnlJkUXBmhcdEGqRkKt = true;
                        }
                        var xCNfinZTTbJcmLLBQDSABxqvwN = new boRrhXlgtSjkb();
                        xCNfinZTTbJcmLLBQDSABxqvwN.YwVfLBTBfZMRRvrdESKcg = HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.YwVfLBTBfZMRRvrdESKcg;
                        intKgsZZeQYnLtOTcD[gTCKftiJTarGxwgs.Key].Add(xCNfinZTTbJcmLLBQDSABxqvwN);
                    }
                    var DWYsQUqcWGmIwGHMdnguhKdataGIL = intKgsZZeQYnLtOTcD[gTCKftiJTarGxwgs.Key].FirstOrDefault(x=> x.YwVfLBTBfZMRRvrdESKcg == HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.YwVfLBTBfZMRRvrdESKcg);
                    var KTYtOASySxRGxNLYMknmjlsHIQ = FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX[gTCKftiJTarGxwgs.Key].FirstOrDefault(x=> x.YwVfLBTBfZMRRvrdESKcg == HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.YwVfLBTBfZMRRvrdESKcg);
                    foreach(var UwNGYvIlNlQJzCtros in HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.EYLzypcHkeKGFeZtAmTk) {
                        if (!DWYsQUqcWGmIwGHMdnguhKdataGIL.EYLzypcHkeKGFeZtAmTk.Exists(x=> x.jsnQIIIXFJXKtevJLCFZXF == UwNGYvIlNlQJzCtros.jsnQIIIXFJXKtevJLCFZXF && x.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC == UwNGYvIlNlQJzCtros.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC && x.UmCqUZLBADWpJkstDLuPAo == UwNGYvIlNlQJzCtros.UmCqUZLBADWpJkstDLuPAo && x.FPTRQCZxxilBnEvF == UwNGYvIlNlQJzCtros.FPTRQCZxxilBnEvF && x.LRYEwfyyXYXFFsfWyV == UwNGYvIlNlQJzCtros.LRYEwfyyXYXFFsfWyV && x.ssdpbgGeVUCUibkJtkpCROreeZqj == UwNGYvIlNlQJzCtros.ssdpbgGeVUCUibkJtkpCROreeZqj)) {
                            if (!KTYtOASySxRGxNLYMknmjlsHIQ.EYLzypcHkeKGFeZtAmTk.Exists(x=> x.jsnQIIIXFJXKtevJLCFZXF == UwNGYvIlNlQJzCtros.jsnQIIIXFJXKtevJLCFZXF && x.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC == UwNGYvIlNlQJzCtros.BvJEVPnAKpCxpBFLQHoJoIWhoQzwC && x.UmCqUZLBADWpJkstDLuPAo == UwNGYvIlNlQJzCtros.UmCqUZLBADWpJkstDLuPAo && x.FPTRQCZxxilBnEvF == UwNGYvIlNlQJzCtros.FPTRQCZxxilBnEvF && x.LRYEwfyyXYXFFsfWyV == UwNGYvIlNlQJzCtros.LRYEwfyyXYXFFsfWyV && x.ssdpbgGeVUCUibkJtkpCROreeZqj == UwNGYvIlNlQJzCtros.ssdpbgGeVUCUibkJtkpCROreeZqj)) {
                                PrintWarning(ssWKxCKZDmjcBaVxMsPgo("WARNING.NEW.ITEM").Replace("{SHOP}", HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.YwVfLBTBfZMRRvrdESKcg).Replace("{RADTOWN}", gTCKftiJTarGxwgs.Key).Replace("{ITEM}", UwNGYvIlNlQJzCtros.jsnQIIIXFJXKtevJLCFZXF));
                                KTYtOASySxRGxNLYMknmjlsHIQ.EYLzypcHkeKGFeZtAmTk.Add(UwNGYvIlNlQJzCtros);
                                aYIivdmqesnlJkUXBmhcdEGqRkKt = true;
                            }
                            DWYsQUqcWGmIwGHMdnguhKdataGIL.EYLzypcHkeKGFeZtAmTk.Add(UwNGYvIlNlQJzCtros);
                        }
                    }
                }
            }
            if (aYIivdmqesnlJkUXBmhcdEGqRkKt) mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
        }
        private void wPuOuqdpJk() {
            var GlrfCxvLQDOnVOMEZXEhHiVsIMabsM = pCEQermlpnQEfxUQtFVfXFjZkUNuV();
            foreach(var gTCKftiJTarGxwgs in FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX) {
                if (mmdZtSRFLXe && !gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                if (!mmdZtSRFLXe && gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                foreach(var KTYtOASySxRGxNLYMknmjlsHIQ in gTCKftiJTarGxwgs.Value) {
                    if (GlrfCxvLQDOnVOMEZXEhHiVsIMabsM.ContainsKey(gTCKftiJTarGxwgs.Key)) {
                        foreach(var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in GlrfCxvLQDOnVOMEZXEhHiVsIMabsM[gTCKftiJTarGxwgs.Key]) {
                            var shopName = mmdZtSRFLXe ? HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName + $" {HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position}" : HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName;
                            if (!(KTYtOASySxRGxNLYMknmjlsHIQ.YwVfLBTBfZMRRvrdESKcg == shopName)) continue;
                            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.GetComponent<FacepunchBehaviour>().CancelInvoke(new Action(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.InstallFromVendingOrders));
                            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.CancelInvoke(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.InstallFromVendingOrders);
                            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.GetComponent<FacepunchBehaviour>().CancelInvoke(new Action(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.Refill));
                            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.CancelInvoke(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.Refill);
                            YZPnOQRkfVxjayMmnijhBDdl(KTYtOASySxRGxNLYMknmjlsHIQ, HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ);
                        }
                    }
                }
            }
            mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
            SiYryAugyN();
        }
        private void ZuqghZhumlzXNaAHl() {
            var GlrfCxvLQDOnVOMEZXEhHiVsIMabsM = pCEQermlpnQEfxUQtFVfXFjZkUNuV();
            foreach(var gTCKftiJTarGxwgs in FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX) {
                if (mmdZtSRFLXe && !gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                if (!mmdZtSRFLXe && gTCKftiJTarGxwgs.Key.Contains("HapisIsland")) continue;
                foreach(var KTYtOASySxRGxNLYMknmjlsHIQ in gTCKftiJTarGxwgs.Value) {
                    if (GlrfCxvLQDOnVOMEZXEhHiVsIMabsM.ContainsKey(gTCKftiJTarGxwgs.Key)) {
                        foreach(var HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ in GlrfCxvLQDOnVOMEZXEhHiVsIMabsM[gTCKftiJTarGxwgs.Key]) {
                            var shopName = mmdZtSRFLXe ? HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName + $" {HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.transform.position}" : HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.shopName;
                            if (!(KTYtOASySxRGxNLYMknmjlsHIQ.YwVfLBTBfZMRRvrdESKcg == shopName)) continue;
                            HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.InvokeRandomized(new Action(HHPLXYwOXPdKbCmoDiCsWxGNAQCMJ.Refill), 1f, 1f, 0.1f);
                        }
                    }
                }
            }
        }
        private void DlcyVBnzPEDxIjpSX() {
            var aYIivdmqesnlJkUXBmhcdEGqRkKt = false;
            foreach(var gTCKftiJTarGxwgs in FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX) foreach(var KTYtOASySxRGxNLYMknmjlsHIQ in gTCKftiJTarGxwgs.Value) foreach(var UwNGYvIlNlQJzCtros in KTYtOASySxRGxNLYMknmjlsHIQ.EYLzypcHkeKGFeZtAmTk) foreach(var pair2 in pvFgYfWeFmuernITOaGLIsyIUlX) if (UwNGYvIlNlQJzCtros.jsnQIIIXFJXKtevJLCFZXF == pair2.Key && UwNGYvIlNlQJzCtros.zEYAslSfgSqjZLVAA == pair2.Value) {
                UwNGYvIlNlQJzCtros.zEYAslSfgSqjZLVAA = 1;
                aYIivdmqesnlJkUXBmhcdEGqRkKt = true;
            }
            if (aYIivdmqesnlJkUXBmhcdEGqRkKt) mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
        }
        [ConsoleCommand("ctv.reset")]
        private void TQSExcSjwejBlAbLhCYBjxnKg(ConsoleSystem.Arg SQpvNtZIsEU) {
            var nXuFjhLLeLdnRxHFADrAHkrX = SQpvNtZIsEU?.Player();
            if (nXuFjhLLeLdnRxHFADrAHkrX != null && !nXuFjhLLeLdnRxHFADrAHkrX.IsAdmin) return;
            FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX = uNNsoclDdwOLPoEalRCHZn.wuiNkmTMHLS();
            if (mmdZtSRFLXe) foreach(var ZzteowTSZQ in FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Where(x=> !x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Remove(ZzteowTSZQ);
            else foreach(var ZzteowTSZQ in FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Where(x=> x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX.Remove(ZzteowTSZQ);
            mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
            wPuOuqdpJk();
            var vHgFdMIWoLBgnxBro = ssWKxCKZDmjcBaVxMsPgo("INFO.RESET");
            if (nXuFjhLLeLdnRxHFADrAHkrX != null) PrintToConsole(nXuFjhLLeLdnRxHFADrAHkrX, vHgFdMIWoLBgnxBro);
            else Puts(vHgFdMIWoLBgnxBro);
        }
        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}'.Если это не кастомная карта, то сообщите разработчику, что бы он добавил новый город в плагин."
                }
                , {
                    "LOG.BUY.PLAYER", "Игрок '{PLAYER_NAME}' ({PLAYER_ID}) купил {ENTITY_TYPE} '{ENTITY_NAME}' ({ENTITY_AMOUNT} шт) в городе '{RADTOWN}', в магазине '{SHOP_NAME}' {SHOP_POS}."
                }
            }
            , this);
        }
        private string ssWKxCKZDmjcBaVxMsPgo(string nJBCDCIIfslUCHbbrifkZCK, string JZyLtmBVavxcF = null) => lang.GetMessage(nJBCDCIIfslUCHbbrifkZCK, this, JZyLtmBVavxcF);
        private static vtKcIETZvsDpHxpVPdDNg FRLKNqkjDId;
        private class boRrhXlgtSjkb {
            [JsonProperty(PropertyName = "Игровое название магазина (не менять)")]
            public string YwVfLBTBfZMRRvrdESKcg;
            [JsonProperty(PropertyName = "Список товаров")]
            public List<WrLIeAplkIanyblyNoOTVVTK> EYLzypcHkeKGFeZtAmTk = new List<WrLIeAplkIanyblyNoOTVVTK>();
        }
        private class WrLIeAplkIanyblyNoOTVVTK {
            [JsonProperty(PropertyName = "Название покупаемого товара")]
            public string jsnQIIIXFJXKtevJLCFZXF;
            [JsonProperty(PropertyName = "Количество покупаемого товара за раз")]
            public int zEYAslSfgSqjZLVAA;
            [JsonProperty(PropertyName = "Покупаемый товар это чертёж")]
            public bool UmCqUZLBADWpJkstDLuPAo;
            [JsonProperty(PropertyName = "Скин покупаемого товара")]
            public ulong LRYEwfyyXYXFFsfWyV;
            [JsonProperty(PropertyName = "Свое название покупаемого товара")]
            public string ssdpbgGeVUCUibkJtkpCROreeZqj;
            [JsonProperty(PropertyName = "Название платёжного товара")]
            public string BvJEVPnAKpCxpBFLQHoJoIWhoQzwC;
            [JsonProperty(PropertyName = "Количество платёжного товара за раз")]
            public int nGBzNzwKcinQgbQpAvhgx;
            [JsonProperty(PropertyName = "Платёжный товар это чертёж")]
            public bool FPTRQCZxxilBnEvF;
            [JsonProperty(PropertyName = "Количество предметов для восполнения")]
            public int zLbeUkHCYyhZVZ = -1;
            [JsonProperty(PropertyName = "Задержка восполнения предметов")]
            public float JowCFUPVRTqFVBMjlLwKaSdR;
            [JsonProperty(PropertyName = "Максимальная порция предметов для восполнения")]
            public int dTaJGounpYPBvRzxZWNlYM = 10;
        }
        private class vtKcIETZvsDpHxpVPdDNg {
            [JsonProperty(PropertyName = "Добавлять новые предметы в магазины")]
            public bool qKZqlZnFdrkpjE;
            [JsonProperty(PropertyName = "Задержка инициализации магазинов (секунды)")]
            public int VIERMFXbIYMqWMbg;
            [JsonProperty(PropertyName = "Логировать покупки")]
            public bool? dMbKykHxpfkeurUYKOjalVka;
            [JsonProperty(PropertyName = "Торговые автоматы в NPC городах")]
            public Dictionary<string, List<boRrhXlgtSjkb>> bWCyLMjuTcklTmjCFWFFabDnsIeYFX = new Dictionary<string, List<boRrhXlgtSjkb>>();
        }
        private void lhlCyIkbvRM() {
            FRLKNqkjDId = Config.ReadObject<vtKcIETZvsDpHxpVPdDNg>();
            if (FRLKNqkjDId == null) FRLKNqkjDId = new vtKcIETZvsDpHxpVPdDNg();
            if (FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX == null) FRLKNqkjDId.bWCyLMjuTcklTmjCFWFFabDnsIeYFX = new Dictionary<string, List<boRrhXlgtSjkb>>();
            if (FRLKNqkjDId.dMbKykHxpfkeurUYKOjalVka == null) FRLKNqkjDId.dMbKykHxpfkeurUYKOjalVka = false;
            mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
        }
        protected override void LoadDefaultConfig() {
            FRLKNqkjDId = new vtKcIETZvsDpHxpVPdDNg {
                qKZqlZnFdrkpjE = true, VIERMFXbIYMqWMbg = 30, dMbKykHxpfkeurUYKOjalVka = false, bWCyLMjuTcklTmjCFWFFabDnsIeYFX = new Dictionary<string, List<boRrhXlgtSjkb>>()
            }
            ;
            mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId);
            timer.Once(0.1f, ()=> mwyxreJNEECwuPqMTupdbQGSI(FRLKNqkjDId));
        }
        private void mwyxreJNEECwuPqMTupdbQGSI(vtKcIETZvsDpHxpVPdDNg LpVsBtUbsR) => Config.WriteObject(LpVsBtUbsR, true);
        private static OrZNUDzdVbwVNhcFlAxENqOdEDlVNK uNNsoclDdwOLPoEalRCHZn = new OrZNUDzdVbwVNhcFlAxENqOdEDlVNK();
        private class OrZNUDzdVbwVNhcFlAxENqOdEDlVNK {
            [JsonProperty(PropertyName = "Протокол")]
            public string mZzCcxDLxanGYTgDOBQpACG;
            [JsonProperty(PropertyName = "Торговые автоматы в NPC городах")]
            public Dictionary<string, List<boRrhXlgtSjkb>> bWCyLMjuTcklTmjCFWFFabDnsIeYFX = new Dictionary<string, List<boRrhXlgtSjkb>>();
            public Dictionary<string, List<boRrhXlgtSjkb>> wuiNkmTMHLS() => JsonConvert.DeserializeObject<Dictionary<string, List<boRrhXlgtSjkb>>>(JsonConvert.SerializeObject(bWCyLMjuTcklTmjCFWFFabDnsIeYFX));
        }
        private void XOcwCLJYpfUYCPuCGwTloK() {
            uNNsoclDdwOLPoEalRCHZn = Interface.GetMod().DataFileSystem.ReadObject<OrZNUDzdVbwVNhcFlAxENqOdEDlVNK>("CustomTownVendingData");
            if (uNNsoclDdwOLPoEalRCHZn == null) uNNsoclDdwOLPoEalRCHZn = new OrZNUDzdVbwVNhcFlAxENqOdEDlVNK();
            if (uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX == null) uNNsoclDdwOLPoEalRCHZn.bWCyLMjuTcklTmjCFWFFabDnsIeYFX = new Dictionary<string, List<boRrhXlgtSjkb>>();
        }
        private void eylXWiSHLf() => Interface.GetMod().DataFileSystem.WriteObject("CustomTownVendingData", uNNsoclDdwOLPoEalRCHZn);
        private static List<string> kUpWtRDVUOpZ = new List<string>();
        private static string EfbgjvPzLrvmYPhGYUKcXn() => "["+DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss")+"] ";
        private bool qIVndYLigMhZhyaPZhGl(string SBZJUFafzvTlfBrVBWUUhjPt, string message) {
            try {
                LogToFile(SBZJUFafzvTlfBrVBWUUhjPt, $"{EfbgjvPzLrvmYPhGYUKcXn()}{message}", this, false);
            }
            catch {
                return false;
            }
            return true;
        }
        private void IUCCFKhcCnjofFjwwZEewv(string SBZJUFafzvTlfBrVBWUUhjPt, string message) {
            if (!string.IsNullOrEmpty(SBZJUFafzvTlfBrVBWUUhjPt)) {
                if (string.IsNullOrEmpty(message)) return;
                kUpWtRDVUOpZ.Add($"{SBZJUFafzvTlfBrVBWUUhjPt}Vbua762x{message}");
            }
            while (kUpWtRDVUOpZ.Count > 0) {
                var prefix_ = kUpWtRDVUOpZ[0].Split(new string[] {
                    "Vbua762x"
                }
                , 0)[0];
                var message_ = kUpWtRDVUOpZ[0].Split(new string[] {
                    "Vbua762x"
                }
                , 0)[1];
                if (qIVndYLigMhZhyaPZhGl(prefix_, message_)) kUpWtRDVUOpZ.RemoveAt(0);
                else break;
            }
        }
    }
}

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

Другие ресурсы пользователя 15FPS

Сверху