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.10")]
class CustomTownVending : RustPlugin {
private static readonly List<string> yqECoMEkDTP = new List<string>() {
"Outpost", "Bandit Camp", "Large Fishing Village", "Fishing Village"
}
;
private static Dictionary<string, int> XJqBMBefXZVnuzjT = new Dictionary<string, int> {
{
"mixingtable", 6
}
, {
"diving.mask", 20
}
, {
"diving.tank", 30
}
, {
"diving.fins", 25
}
}
;
private static bool GllmkWztCtA = false;
private static Dictionary<NPCVendingMachine, float[]> ClAkeprrDnoeIfborQFk = new Dictionary<NPCVendingMachine, float[]>();
private void Init() {
KpJMNQNuXIdUgdNUkI.Clear();
ClAkeprrDnoeIfborQFk.Clear();
KxgREuuDDpxe();
lkOvuVeEpvBsIJzSOcMm();
foreach (var cFUpQAuYvSe in AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD) {
foreach (var uRIZaEQmwvzp in cFUpQAuYvSe.Value) {
foreach (var UQwnXkPbyUiguDuNpMtz in uRIZaEQmwvzp.RklwFBEmkLLTSDBE) {
if (UQwnXkPbyUiguDuNpMtz.gUulCwjSUHIB == null) UQwnXkPbyUiguDuNpMtz.gUulCwjSUHIB = "";
}
}
}
ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
if (AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.MzdHdLRJClZtOJtFLc <= 0) {
AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.MzdHdLRJClZtOJtFLc = 30;
ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
}
LoadDefaultMessages();
}
private void OnServerInitialized() {
GllmkWztCtA = ConVar.Server.level == "HapisIsland";
var KTdDmNJMOESpRjj = KoCQTOeGwSzoCJZihAKzxX.OxbopHIDLl();
snswAkrXmwoLWMOchJq();
QZKhspEbyTuFoYXvRGOaPtzYgl();
if (AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.woccshLZSoQ) QWULnMxlkRAIVzwPJBj(KTdDmNJMOESpRjj);
UuKekHPfAUdlhagOtju();
timer.Once(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.MzdHdLRJClZtOJtFLc, HOwzlZLXAwOkz);
}
private void Unload() {
ARhfRXZzSpnehTLEYBBbDhUPduXF();
cQoNXCxFeOrlZukMXt();
}
private static Dictionary<string, List<NPCVendingMachine>> vCkoIWLStpnThhWpmIcNlM() {
var nNoCuinrsOhKieWwmaVYljJCzQVXPt = BaseNetworkable.serverEntities.OfType<NPCVendingMachine>().Where(x=> x != null && !string.IsNullOrEmpty(x.shopName)).ToList();
var NmgCdYKCvQBZFsJLMYW = new Dictionary<string, List<NPCVendingMachine>>();
foreach(var uRIZaEQmwvzp in nNoCuinrsOhKieWwmaVYljJCzQVXPt) {
var cFUpQAuYvSe = uBMAhsGxgvNMTCdFPPmedIf(uRIZaEQmwvzp.transform.position)?.Replace("\n", "");
if (string.IsNullOrEmpty(cFUpQAuYvSe) || !XYjEexbGJoqepXgyHB(cFUpQAuYvSe)) continue;
cFUpQAuYvSe = GllmkWztCtA ? "HapisIsland " + cFUpQAuYvSe : cFUpQAuYvSe;
if (!NmgCdYKCvQBZFsJLMYW.ContainsKey(cFUpQAuYvSe)) NmgCdYKCvQBZFsJLMYW.Add(cFUpQAuYvSe, new List<NPCVendingMachine>());
NmgCdYKCvQBZFsJLMYW[cFUpQAuYvSe].Add(uRIZaEQmwvzp);
}
return NmgCdYKCvQBZFsJLMYW;
}
private static UKdZTEaifk LscMnCqCpXvqmVD(NPCVendingMachine uRIZaEQmwvzp) {
var NmgCdYKCvQBZFsJLMYW = new UKdZTEaifk();
NmgCdYKCvQBZFsJLMYW.EyddtlETlTF = GllmkWztCtA ? uRIZaEQmwvzp.shopName + $" {uRIZaEQmwvzp.transform.position}" : uRIZaEQmwvzp.shopName;
foreach(var ZbaDKQtRlChcuZnWhfSpNqDeegC in uRIZaEQmwvzp.vendingOrders.orders) {
var NzdZnQRBJIAIIMCFMstLOcNNCX = new KxWQPtaPZcIYnWcOLUpnuw();
NzdZnQRBJIAIIMCFMstLOcNNCX.tBVhvVocJAYFKsZGMtv = ZbaDKQtRlChcuZnWhfSpNqDeegC.sellItem.shortname;
NzdZnQRBJIAIIMCFMstLOcNNCX.mtHXbhgUchlkwdFaqOfyMrsZS = ZbaDKQtRlChcuZnWhfSpNqDeegC.sellItemAmount;
NzdZnQRBJIAIIMCFMstLOcNNCX.POCRABOgRkAMCYjg = ZbaDKQtRlChcuZnWhfSpNqDeegC.sellItemAsBP;
NzdZnQRBJIAIIMCFMstLOcNNCX.ZisVuVxsWylpstGlLjZwai = 0;
NzdZnQRBJIAIIMCFMstLOcNNCX.gUulCwjSUHIB = "";
NzdZnQRBJIAIIMCFMstLOcNNCX.VmtnIZnbspmB = ZbaDKQtRlChcuZnWhfSpNqDeegC.currencyItem.shortname;
NzdZnQRBJIAIIMCFMstLOcNNCX.SxjOXZSVIPG = ZbaDKQtRlChcuZnWhfSpNqDeegC.currencyAmount;
NzdZnQRBJIAIIMCFMstLOcNNCX.XQQLjfaFFmJrJKxoDAtYm = ZbaDKQtRlChcuZnWhfSpNqDeegC.currencyAsBP;
NzdZnQRBJIAIIMCFMstLOcNNCX.EkBPOeHawx = ZbaDKQtRlChcuZnWhfSpNqDeegC.refillAmount;
NzdZnQRBJIAIIMCFMstLOcNNCX.hUsVSTNtQiPf = ZbaDKQtRlChcuZnWhfSpNqDeegC.refillDelay;
NmgCdYKCvQBZFsJLMYW.RklwFBEmkLLTSDBE.Add(NzdZnQRBJIAIIMCFMstLOcNNCX);
}
return NmgCdYKCvQBZFsJLMYW;
}
private static void KoqCZFiNuELinkEeHqmmFvkvg(VendingMachine HQBkzWTePTNUJtoEOfBRaogt, int VgEwlElvoTRgcfpLoluaSZP, int eBiDoyDlYsZTMZXsIaNdKxWwHb, int EpjOIgGcsqUpWCGwhDL, int oIfIASWmaxnRvaleAbmkocnZ, byte SmPYZxCuDWbYvHOXesrkdNMmhJd) {
var XCOFfNDHfNiRDRqezvQsFfW = ItemManager.FindItemDefinition(VgEwlElvoTRgcfpLoluaSZP);
var PEKFCFqXWjWLdscYdcLTuTLCHJmzCS = ItemManager.FindItemDefinition(EpjOIgGcsqUpWCGwhDL);
if (XCOFfNDHfNiRDRqezvQsFfW == null || PEKFCFqXWjWLdscYdcLTuTLCHJmzCS == null) return;
var zMdoEhAEpkuLoTh = new ProtoBuf.VendingMachine.SellOrder() {
ShouldPool = false, itemToSellID = VgEwlElvoTRgcfpLoluaSZP, itemToSellAmount = eBiDoyDlYsZTMZXsIaNdKxWwHb, currencyID = EpjOIgGcsqUpWCGwhDL, currencyAmountPerItem = oIfIASWmaxnRvaleAbmkocnZ, currencyIsBP = (SmPYZxCuDWbYvHOXesrkdNMmhJd == 3 ? true : SmPYZxCuDWbYvHOXesrkdNMmhJd == 2), itemToSellIsBP = (SmPYZxCuDWbYvHOXesrkdNMmhJd == 3 ? true : SmPYZxCuDWbYvHOXesrkdNMmhJd == 1)
}
;
Interface.CallHook("OnAddVendingOffer", HQBkzWTePTNUJtoEOfBRaogt, zMdoEhAEpkuLoTh);
HQBkzWTePTNUJtoEOfBRaogt.sellOrders.sellOrders.Add(zMdoEhAEpkuLoTh);
HQBkzWTePTNUJtoEOfBRaogt.RefreshSellOrderStockLevel(XCOFfNDHfNiRDRqezvQsFfW);
HQBkzWTePTNUJtoEOfBRaogt.UpdateMapMarker();
HQBkzWTePTNUJtoEOfBRaogt.SendNetworkUpdate(BasePlayer.NetworkQueue.Update);
}
private void GUYRUxVcdiZYFKCOWvWEYdy(NPCVendingMachine HQBkzWTePTNUJtoEOfBRaogt, int bEdiXqfBDrgWh, int kNRVjPuDjaKMjygCQyjz, int lUPJqAsXkOTsUSVYezSUpQbYazK, int EWVkwYhCuIuOFJ, byte VsUVWCrQmNZyePaZNBgngyGDXTwP, ulong iIOwdTngjf, string gUulCwjSUHIB) {
KoqCZFiNuELinkEeHqmmFvkvg(HQBkzWTePTNUJtoEOfBRaogt, bEdiXqfBDrgWh, kNRVjPuDjaKMjygCQyjz, lUPJqAsXkOTsUSVYezSUpQbYazK, EWVkwYhCuIuOFJ, VsUVWCrQmNZyePaZNBgngyGDXTwP);
HQBkzWTePTNUJtoEOfBRaogt.transactionActive = true;
int qXjIIXGInMbHTIUOkppXQYf = 10;
var VcgjvEvnktda = "675";
if (VsUVWCrQmNZyePaZNBgngyGDXTwP == 1 || VsUVWCrQmNZyePaZNBgngyGDXTwP == 3) {
var UQwnXkPbyUiguDuNpMtz = ItemManager.CreateByItemID(HQBkzWTePTNUJtoEOfBRaogt.blueprintBaseDef.itemid, kNRVjPuDjaKMjygCQyjz * qXjIIXGInMbHTIUOkppXQYf, iIOwdTngjf);
UQwnXkPbyUiguDuNpMtz.blueprintTarget = bEdiXqfBDrgWh;
if (!string.IsNullOrEmpty(gUulCwjSUHIB)) UQwnXkPbyUiguDuNpMtz.name = gUulCwjSUHIB;
UQwnXkPbyUiguDuNpMtz.MoveToContainer(HQBkzWTePTNUJtoEOfBRaogt.inventory, -1, true);
}
else {
var UQwnXkPbyUiguDuNpMtz = ItemManager.CreateByItemID(bEdiXqfBDrgWh, kNRVjPuDjaKMjygCQyjz * qXjIIXGInMbHTIUOkppXQYf, iIOwdTngjf);
if (!string.IsNullOrEmpty(gUulCwjSUHIB)) UQwnXkPbyUiguDuNpMtz.name = gUulCwjSUHIB;
UQwnXkPbyUiguDuNpMtz.MoveToContainer(HQBkzWTePTNUJtoEOfBRaogt.inventory, -1, true);
}
HQBkzWTePTNUJtoEOfBRaogt.transactionActive = false;
(HQBkzWTePTNUJtoEOfBRaogt as VendingMachine).RefreshSellOrderStockLevel(null);
}
private void AnNVSYFxZXjnGtU(UKdZTEaifk VAnUHocsNiCKZaSwHNfG, NPCVendingMachine uRIZaEQmwvzp) {
uRIZaEQmwvzp.ClearSellOrders();
foreach (var UQwnXkPbyUiguDuNpMtz in uRIZaEQmwvzp.inventory.itemList.ToList()) {
UQwnXkPbyUiguDuNpMtz.RemoveFromContainer();
UQwnXkPbyUiguDuNpMtz.Remove(0f);
}
uRIZaEQmwvzp.inventory.itemList.Clear();
uRIZaEQmwvzp.inventory.Clear();
foreach(var ZbaDKQtRlChcuZnWhfSpNqDeegC in VAnUHocsNiCKZaSwHNfG.RklwFBEmkLLTSDBE) {
var tHEEVtPYBmYzuIPpoJcVWxdsoE = ItemManager.FindItemDefinition(ZbaDKQtRlChcuZnWhfSpNqDeegC.tBVhvVocJAYFKsZGMtv);
if (tHEEVtPYBmYzuIPpoJcVWxdsoE == null) {
PrintWarning(lANgecOZcnjKY("WARNING.ITEM").Replace("{ITEM}", ZbaDKQtRlChcuZnWhfSpNqDeegC.tBVhvVocJAYFKsZGMtv));
continue;
}
var AtZggnRapdyXxrcztoqDPpKlrya = ItemManager.FindItemDefinition(ZbaDKQtRlChcuZnWhfSpNqDeegC.VmtnIZnbspmB);
if (AtZggnRapdyXxrcztoqDPpKlrya == null) {
PrintWarning(lANgecOZcnjKY("WARNING.ITEM").Replace("{ITEM}", ZbaDKQtRlChcuZnWhfSpNqDeegC.VmtnIZnbspmB));
continue;
}
if (ZbaDKQtRlChcuZnWhfSpNqDeegC.mtHXbhgUchlkwdFaqOfyMrsZS <= 0 || ZbaDKQtRlChcuZnWhfSpNqDeegC.SxjOXZSVIPG <= 0) continue;
if (ZbaDKQtRlChcuZnWhfSpNqDeegC.EkBPOeHawx == -1) {
ZbaDKQtRlChcuZnWhfSpNqDeegC.EkBPOeHawx = 1;
ZbaDKQtRlChcuZnWhfSpNqDeegC.hUsVSTNtQiPf = 10f;
}
GUYRUxVcdiZYFKCOWvWEYdy(uRIZaEQmwvzp, tHEEVtPYBmYzuIPpoJcVWxdsoE.itemid, ZbaDKQtRlChcuZnWhfSpNqDeegC.mtHXbhgUchlkwdFaqOfyMrsZS, AtZggnRapdyXxrcztoqDPpKlrya.itemid, ZbaDKQtRlChcuZnWhfSpNqDeegC.SxjOXZSVIPG, uRIZaEQmwvzp.GetBPState(ZbaDKQtRlChcuZnWhfSpNqDeegC.POCRABOgRkAMCYjg, ZbaDKQtRlChcuZnWhfSpNqDeegC.XQQLjfaFFmJrJKxoDAtYm), ZbaDKQtRlChcuZnWhfSpNqDeegC.ZisVuVxsWylpstGlLjZwai, ZbaDKQtRlChcuZnWhfSpNqDeegC.gUulCwjSUHIB);
}
uRIZaEQmwvzp.FullUpdate();
}
private static bool XYjEexbGJoqepXgyHB(string cFUpQAuYvSe) {
foreach(var CqTAxjJXTjPbLRCwhlAj in yqECoMEkDTP) if (cFUpQAuYvSe.Contains(CqTAxjJXTjPbLRCwhlAj)) return true;
return false;
}
private static string uBMAhsGxgvNMTCdFPPmedIf(Vector3 GRpmMvTvxaMMgYg) {
var ZeprRtGlEFzkghAjYVPFf = TerrainMeta.Path.Monuments.Where(x=> x != null).ToDictionary(x=> Vector3.Distance(x.transform.position, GRpmMvTvxaMMgYg), x=> x).OrderBy(x=> x.Key);
if (ZeprRtGlEFzkghAjYVPFf.Count() == 0) return null;
var rJiBMlQBkxNFQwHePs = ZeprRtGlEFzkghAjYVPFf.FirstOrDefault();
if (rJiBMlQBkxNFQwHePs.Key > 75f) return null;
return !string.IsNullOrEmpty(rJiBMlQBkxNFQwHePs.Value.displayPhrase.english) ? rJiBMlQBkxNFQwHePs.Value.displayPhrase.english : null;
}
private static Dictionary<string, List<NPCVendingMachine>> KpJMNQNuXIdUgdNUkI = new Dictionary<string, List<NPCVendingMachine>>();
private void vuyKFiXQInJiLCKAOImScH() {
if (KpJMNQNuXIdUgdNUkI.Count() == 0) KpJMNQNuXIdUgdNUkI = vCkoIWLStpnThhWpmIcNlM();
foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD) {
if (GllmkWztCtA && !avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
if (!GllmkWztCtA && avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
foreach(var UCUBFTWhnJMAkWDYJ in avFeqojOYmmWdXroSeIMGEeBReqS.Value) {
if (KpJMNQNuXIdUgdNUkI.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) {
foreach(var uRIZaEQmwvzp in KpJMNQNuXIdUgdNUkI[avFeqojOYmmWdXroSeIMGEeBReqS.Key]) {
if (uRIZaEQmwvzp == null) continue;
var shopName = GllmkWztCtA ? uRIZaEQmwvzp.shopName + $" {uRIZaEQmwvzp.transform.position}" : uRIZaEQmwvzp.shopName;
if (!(UCUBFTWhnJMAkWDYJ.EyddtlETlTF == shopName)) continue;
MSGkSJBHQouZeniVpYJEpWyLk(uRIZaEQmwvzp, UCUBFTWhnJMAkWDYJ);
}
}
}
}
timer.Once(1f, vuyKFiXQInJiLCKAOImScH);
}
private static int GetAmount(ItemContainer cont, int itemid, bool isBP) {
if (cont == null) return 0;
int qXjIIXGInMbHTIUOkppXQYf = 0;
foreach (Item UQwnXkPbyUiguDuNpMtz in cont.itemList) if (!isBP && UQwnXkPbyUiguDuNpMtz.info.itemid == itemid || isBP && UQwnXkPbyUiguDuNpMtz.IsBlueprint() && UQwnXkPbyUiguDuNpMtz.blueprintTarget == itemid) qXjIIXGInMbHTIUOkppXQYf += UQwnXkPbyUiguDuNpMtz.amount;
return qXjIIXGInMbHTIUOkppXQYf;
}
private void MSGkSJBHQouZeniVpYJEpWyLk(NPCVendingMachine uRIZaEQmwvzp, UKdZTEaifk UCUBFTWhnJMAkWDYJ) {
if (uRIZaEQmwvzp == null || uRIZaEQmwvzp.vendingOrders == null || uRIZaEQmwvzp.vendingOrders.orders == null) return;
if (uRIZaEQmwvzp.inventory == null) return;
if (!ClAkeprrDnoeIfborQFk.ContainsKey(uRIZaEQmwvzp)) ClAkeprrDnoeIfborQFk.Add(uRIZaEQmwvzp, new float[(int)uRIZaEQmwvzp.vendingOrders.orders.Length]);
for (int i = 0; i < (int)uRIZaEQmwvzp.vendingOrders.orders.Length;
i++) {
var xOghKsXQLnaRvHiWjjYC = uRIZaEQmwvzp.vendingOrders.orders[i];
var cfgEntry = UCUBFTWhnJMAkWDYJ.RklwFBEmkLLTSDBE.FirstOrDefault(x=> x.tBVhvVocJAYFKsZGMtv == xOghKsXQLnaRvHiWjjYC.sellItem.shortname && x.VmtnIZnbspmB == xOghKsXQLnaRvHiWjjYC.currencyItem.shortname && x.POCRABOgRkAMCYjg == xOghKsXQLnaRvHiWjjYC.sellItemAsBP && x.XQQLjfaFFmJrJKxoDAtYm == xOghKsXQLnaRvHiWjjYC.currencyAsBP);
if (cfgEntry == null) continue;
if (Time.realtimeSinceStartup > (ClAkeprrDnoeIfborQFk[uRIZaEQmwvzp])[i]) {
int qXjIIXGInMbHTIUOkppXQYf = GetAmount(uRIZaEQmwvzp.inventory, xOghKsXQLnaRvHiWjjYC.sellItem.itemid, xOghKsXQLnaRvHiWjjYC.sellItemAsBP);
var uFqvjaLJPtOMdqTxACXlarNvDL = cfgEntry.EkBPOeHawx <= 0 ? 1 : cfgEntry.EkBPOeHawx;
int num1 = 10 * cfgEntry.mtHXbhgUchlkwdFaqOfyMrsZS;
var diff = num1 - qXjIIXGInMbHTIUOkppXQYf;
var amount = diff > uFqvjaLJPtOMdqTxACXlarNvDL * cfgEntry.mtHXbhgUchlkwdFaqOfyMrsZS ? uFqvjaLJPtOMdqTxACXlarNvDL * cfgEntry.mtHXbhgUchlkwdFaqOfyMrsZS : diff;
if (amount > 0) {
uRIZaEQmwvzp.transactionActive = true;
Item UQwnXkPbyUiguDuNpMtz = null;
if (!cfgEntry.POCRABOgRkAMCYjg) UQwnXkPbyUiguDuNpMtz = ItemManager.Create(xOghKsXQLnaRvHiWjjYC.sellItem, amount, cfgEntry.ZisVuVxsWylpstGlLjZwai);
else {
UQwnXkPbyUiguDuNpMtz = ItemManager.Create(uRIZaEQmwvzp.blueprintBaseDef, amount, (ulong)0);
UQwnXkPbyUiguDuNpMtz.blueprintTarget = xOghKsXQLnaRvHiWjjYC.sellItem.itemid;
}
if (!string.IsNullOrEmpty(cfgEntry.gUulCwjSUHIB)) UQwnXkPbyUiguDuNpMtz.name = cfgEntry.gUulCwjSUHIB;
UQwnXkPbyUiguDuNpMtz.MoveToContainer(uRIZaEQmwvzp.inventory, -1, true);
uRIZaEQmwvzp.transactionActive = false;
}
var ecbXqkUCihkXzjEVWdBVBNHmAy = cfgEntry.hUsVSTNtQiPf < 0f ? 0f : cfgEntry.hUsVSTNtQiPf;
(ClAkeprrDnoeIfborQFk[uRIZaEQmwvzp])[i] = Time.realtimeSinceStartup + ecbXqkUCihkXzjEVWdBVBNHmAy;
}
}
}
private void snswAkrXmwoLWMOchJq() {
string YZJNbwUYpXSDCcOQs = $"{Rust.Protocol.printable} {Facepunch.BuildInfo.Current.BuildDate}";
bool cVxFZloofVhBXR = false, pUKKQwbxAQYfBgXbgkqEeoZGExaDq = false, gOJVoSbhSKKMRuhgSxPeDrlvSkfcd = false;
if (KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Count == 0 || string.IsNullOrEmpty(KoCQTOeGwSzoCJZihAKzxX.ZUsHpgsgPyYwRT) || KoCQTOeGwSzoCJZihAKzxX.ZUsHpgsgPyYwRT != YZJNbwUYpXSDCcOQs) cVxFZloofVhBXR = true;
else if (GllmkWztCtA) {
if (KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Where(x=> x.Key.Contains("HapisIsland")).Count() == 0) pUKKQwbxAQYfBgXbgkqEeoZGExaDq = true;
}
else {
foreach (var cFUpQAuYvSe in yqECoMEkDTP) if (KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Where(x=> x.Key == cFUpQAuYvSe).Count() == 0) gOJVoSbhSKKMRuhgSxPeDrlvSkfcd = true;
}
if (cVxFZloofVhBXR || pUKKQwbxAQYfBgXbgkqEeoZGExaDq || gOJVoSbhSKKMRuhgSxPeDrlvSkfcd) {
if (cVxFZloofVhBXR) KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Clear();
if (pUKKQwbxAQYfBgXbgkqEeoZGExaDq) foreach(var cFUpQAuYvSe in KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Where(x=> x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Remove(cFUpQAuYvSe);
if (gOJVoSbhSKKMRuhgSxPeDrlvSkfcd) foreach(var cFUpQAuYvSe in KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Where(x=> !x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Remove(cFUpQAuYvSe);
if (string.IsNullOrEmpty(KoCQTOeGwSzoCJZihAKzxX.ZUsHpgsgPyYwRT) || KoCQTOeGwSzoCJZihAKzxX.ZUsHpgsgPyYwRT != YZJNbwUYpXSDCcOQs) KoCQTOeGwSzoCJZihAKzxX.ZUsHpgsgPyYwRT = YZJNbwUYpXSDCcOQs;
var nNoCuinrsOhKieWwmaVYljJCzQVXPt = vCkoIWLStpnThhWpmIcNlM();
if (nNoCuinrsOhKieWwmaVYljJCzQVXPt.Count > 0) {
if (GllmkWztCtA) {
foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in nNoCuinrsOhKieWwmaVYljJCzQVXPt) foreach(var uRIZaEQmwvzp in avFeqojOYmmWdXroSeIMGEeBReqS.Value) {
if (!KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Add(avFeqojOYmmWdXroSeIMGEeBReqS.Key, new List<UKdZTEaifk>());
KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD[avFeqojOYmmWdXroSeIMGEeBReqS.Key].Add(LscMnCqCpXvqmVD(uRIZaEQmwvzp));
}
}
else {
foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in nNoCuinrsOhKieWwmaVYljJCzQVXPt) {
var nGVIYEwkYOkfGKlBtuF = default(Vector3);
foreach(var uRIZaEQmwvzp in avFeqojOYmmWdXroSeIMGEeBReqS.Value) {
if (nGVIYEwkYOkfGKlBtuF == default(Vector3)) nGVIYEwkYOkfGKlBtuF = uRIZaEQmwvzp.transform.position;
if (Vector3.Distance(uRIZaEQmwvzp.transform.position, nGVIYEwkYOkfGKlBtuF) > 100f) continue;
if (!KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD.Add(avFeqojOYmmWdXroSeIMGEeBReqS.Key, new List<UKdZTEaifk>());
if (KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD[avFeqojOYmmWdXroSeIMGEeBReqS.Key].Exists(x=> x.EyddtlETlTF == uRIZaEQmwvzp.shopName)) continue;
KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD[avFeqojOYmmWdXroSeIMGEeBReqS.Key].Add(LscMnCqCpXvqmVD(uRIZaEQmwvzp));
}
}
}
}
ARhfRXZzSpnehTLEYBBbDhUPduXF();
}
}
private void QZKhspEbyTuFoYXvRGOaPtzYgl() {
bool cVxFZloofVhBXR = false, pUKKQwbxAQYfBgXbgkqEeoZGExaDq = false, gOJVoSbhSKKMRuhgSxPeDrlvSkfcd = false;
if (AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Count == 0) cVxFZloofVhBXR = true;
else if (GllmkWztCtA) {
if (AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Where(x=> x.Key.Contains("HapisIsland")).Count() == 0) pUKKQwbxAQYfBgXbgkqEeoZGExaDq = true;
}
else {
foreach (var cFUpQAuYvSe in yqECoMEkDTP) if (AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Where(x=> x.Key == cFUpQAuYvSe).Count() == 0) gOJVoSbhSKKMRuhgSxPeDrlvSkfcd = true;
}
if (cVxFZloofVhBXR || pUKKQwbxAQYfBgXbgkqEeoZGExaDq || gOJVoSbhSKKMRuhgSxPeDrlvSkfcd) {
if (cVxFZloofVhBXR) AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD = KoCQTOeGwSzoCJZihAKzxX.OxbopHIDLl();
if (pUKKQwbxAQYfBgXbgkqEeoZGExaDq) foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in KoCQTOeGwSzoCJZihAKzxX.OxbopHIDLl().Where(x=> x.Key.Contains("HapisIsland"))) if (!AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Add(avFeqojOYmmWdXroSeIMGEeBReqS.Key, avFeqojOYmmWdXroSeIMGEeBReqS.Value);
if (gOJVoSbhSKKMRuhgSxPeDrlvSkfcd) foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in KoCQTOeGwSzoCJZihAKzxX.OxbopHIDLl().Where(x=> !x.Key.Contains("HapisIsland"))) if (!AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Add(avFeqojOYmmWdXroSeIMGEeBReqS.Key, avFeqojOYmmWdXroSeIMGEeBReqS.Value);
ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
}
var nNoCuinrsOhKieWwmaVYljJCzQVXPt = vCkoIWLStpnThhWpmIcNlM();
var hPkEVJQbKJdezsKRYGUUCPbkrKvHsg = false;
foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD) {
if (GllmkWztCtA && !avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
if (!GllmkWztCtA && avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
foreach(var UCUBFTWhnJMAkWDYJ in avFeqojOYmmWdXroSeIMGEeBReqS.Value) {
if (nNoCuinrsOhKieWwmaVYljJCzQVXPt.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) {
foreach(var uRIZaEQmwvzp in nNoCuinrsOhKieWwmaVYljJCzQVXPt[avFeqojOYmmWdXroSeIMGEeBReqS.Key]) {
var shopName = GllmkWztCtA ? uRIZaEQmwvzp.shopName + $" {uRIZaEQmwvzp.transform.position}" : uRIZaEQmwvzp.shopName;
if (!(UCUBFTWhnJMAkWDYJ.EyddtlETlTF == shopName)) continue;
for (int i = 0; i < (int)uRIZaEQmwvzp.vendingOrders.orders.Length;
i++) {
var xOghKsXQLnaRvHiWjjYC = uRIZaEQmwvzp.vendingOrders.orders[i];
var cfgEntry = UCUBFTWhnJMAkWDYJ.RklwFBEmkLLTSDBE.FirstOrDefault(x=> x.tBVhvVocJAYFKsZGMtv == xOghKsXQLnaRvHiWjjYC.sellItem.shortname && x.VmtnIZnbspmB == xOghKsXQLnaRvHiWjjYC.currencyItem.shortname && x.POCRABOgRkAMCYjg == xOghKsXQLnaRvHiWjjYC.sellItemAsBP && x.XQQLjfaFFmJrJKxoDAtYm == xOghKsXQLnaRvHiWjjYC.currencyAsBP);
if (cfgEntry == null) continue;
if (cfgEntry.EkBPOeHawx == -1) {
cfgEntry.EkBPOeHawx = xOghKsXQLnaRvHiWjjYC.refillAmount;
cfgEntry.hUsVSTNtQiPf = xOghKsXQLnaRvHiWjjYC.refillDelay;
hPkEVJQbKJdezsKRYGUUCPbkrKvHsg = true;
}
}
}
}
}
}
if (hPkEVJQbKJdezsKRYGUUCPbkrKvHsg) ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
}
private void QWULnMxlkRAIVzwPJBj(Dictionary<string, List<UKdZTEaifk>> KTdDmNJMOESpRjj) {
bool hPkEVJQbKJdezsKRYGUUCPbkrKvHsg = false;
foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in KoCQTOeGwSzoCJZihAKzxX.OxbopHIDLl()) {
if (GllmkWztCtA && !avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
if (!GllmkWztCtA && avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
if (!KTdDmNJMOESpRjj.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) {
if (!XYjEexbGJoqepXgyHB(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) PrintWarning(lANgecOZcnjKY("WARNING.NEW.RADTOWN").Replace("{RADTOWN}", avFeqojOYmmWdXroSeIMGEeBReqS.Key));
continue;
}
if (!AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) continue;
foreach(var uRIZaEQmwvzp in avFeqojOYmmWdXroSeIMGEeBReqS.Value) {
if (!KTdDmNJMOESpRjj[avFeqojOYmmWdXroSeIMGEeBReqS.Key].Exists(x=> x.EyddtlETlTF == uRIZaEQmwvzp.EyddtlETlTF)) {
if (!AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD[avFeqojOYmmWdXroSeIMGEeBReqS.Key].Exists(x=> x.EyddtlETlTF == uRIZaEQmwvzp.EyddtlETlTF)) {
PrintWarning(lANgecOZcnjKY("WARNING.NEW.SHOP").Replace("{SHOP}", uRIZaEQmwvzp.EyddtlETlTF).Replace("{RADTOWN}", avFeqojOYmmWdXroSeIMGEeBReqS.Key));
var leuCOnJhUsjwnGdPVRkhhdwlayNVnO = new UKdZTEaifk();
leuCOnJhUsjwnGdPVRkhhdwlayNVnO.EyddtlETlTF = uRIZaEQmwvzp.EyddtlETlTF;
AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD[avFeqojOYmmWdXroSeIMGEeBReqS.Key].Add(leuCOnJhUsjwnGdPVRkhhdwlayNVnO);
hPkEVJQbKJdezsKRYGUUCPbkrKvHsg = true;
}
var VSWOUmhYMft = new UKdZTEaifk();
VSWOUmhYMft.EyddtlETlTF = uRIZaEQmwvzp.EyddtlETlTF;
KTdDmNJMOESpRjj[avFeqojOYmmWdXroSeIMGEeBReqS.Key].Add(VSWOUmhYMft);
}
var WCAztxswjZgtdLo = KTdDmNJMOESpRjj[avFeqojOYmmWdXroSeIMGEeBReqS.Key].FirstOrDefault(x=> x.EyddtlETlTF == uRIZaEQmwvzp.EyddtlETlTF);
var UCUBFTWhnJMAkWDYJ = AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD[avFeqojOYmmWdXroSeIMGEeBReqS.Key].FirstOrDefault(x=> x.EyddtlETlTF == uRIZaEQmwvzp.EyddtlETlTF);
foreach(var xOghKsXQLnaRvHiWjjYC in uRIZaEQmwvzp.RklwFBEmkLLTSDBE) {
if (!WCAztxswjZgtdLo.RklwFBEmkLLTSDBE.Exists(x=> x.tBVhvVocJAYFKsZGMtv == xOghKsXQLnaRvHiWjjYC.tBVhvVocJAYFKsZGMtv && x.VmtnIZnbspmB == xOghKsXQLnaRvHiWjjYC.VmtnIZnbspmB && x.POCRABOgRkAMCYjg == xOghKsXQLnaRvHiWjjYC.POCRABOgRkAMCYjg && x.XQQLjfaFFmJrJKxoDAtYm == xOghKsXQLnaRvHiWjjYC.XQQLjfaFFmJrJKxoDAtYm && x.ZisVuVxsWylpstGlLjZwai == xOghKsXQLnaRvHiWjjYC.ZisVuVxsWylpstGlLjZwai && x.gUulCwjSUHIB == xOghKsXQLnaRvHiWjjYC.gUulCwjSUHIB)) {
if (!UCUBFTWhnJMAkWDYJ.RklwFBEmkLLTSDBE.Exists(x=> x.tBVhvVocJAYFKsZGMtv == xOghKsXQLnaRvHiWjjYC.tBVhvVocJAYFKsZGMtv && x.VmtnIZnbspmB == xOghKsXQLnaRvHiWjjYC.VmtnIZnbspmB && x.POCRABOgRkAMCYjg == xOghKsXQLnaRvHiWjjYC.POCRABOgRkAMCYjg && x.XQQLjfaFFmJrJKxoDAtYm == xOghKsXQLnaRvHiWjjYC.XQQLjfaFFmJrJKxoDAtYm && x.ZisVuVxsWylpstGlLjZwai == xOghKsXQLnaRvHiWjjYC.ZisVuVxsWylpstGlLjZwai && x.gUulCwjSUHIB == xOghKsXQLnaRvHiWjjYC.gUulCwjSUHIB)) {
PrintWarning(lANgecOZcnjKY("WARNING.NEW.ITEM").Replace("{SHOP}", uRIZaEQmwvzp.EyddtlETlTF).Replace("{RADTOWN}", avFeqojOYmmWdXroSeIMGEeBReqS.Key).Replace("{ITEM}", xOghKsXQLnaRvHiWjjYC.tBVhvVocJAYFKsZGMtv));
UCUBFTWhnJMAkWDYJ.RklwFBEmkLLTSDBE.Add(xOghKsXQLnaRvHiWjjYC);
hPkEVJQbKJdezsKRYGUUCPbkrKvHsg = true;
}
WCAztxswjZgtdLo.RklwFBEmkLLTSDBE.Add(xOghKsXQLnaRvHiWjjYC);
}
}
}
}
if (hPkEVJQbKJdezsKRYGUUCPbkrKvHsg) ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
}
private void HOwzlZLXAwOkz() {
var nNoCuinrsOhKieWwmaVYljJCzQVXPt = vCkoIWLStpnThhWpmIcNlM();
foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD) {
if (GllmkWztCtA && !avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
if (!GllmkWztCtA && avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
foreach(var UCUBFTWhnJMAkWDYJ in avFeqojOYmmWdXroSeIMGEeBReqS.Value) {
if (nNoCuinrsOhKieWwmaVYljJCzQVXPt.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) {
foreach(var uRIZaEQmwvzp in nNoCuinrsOhKieWwmaVYljJCzQVXPt[avFeqojOYmmWdXroSeIMGEeBReqS.Key]) {
var shopName = GllmkWztCtA ? uRIZaEQmwvzp.shopName + $" {uRIZaEQmwvzp.transform.position}" : uRIZaEQmwvzp.shopName;
if (!(UCUBFTWhnJMAkWDYJ.EyddtlETlTF == shopName)) continue;
uRIZaEQmwvzp.GetComponent<FacepunchBehaviour>().CancelInvoke(new Action(uRIZaEQmwvzp.InstallFromVendingOrders));
uRIZaEQmwvzp.CancelInvoke(uRIZaEQmwvzp.InstallFromVendingOrders);
uRIZaEQmwvzp.GetComponent<FacepunchBehaviour>().CancelInvoke(new Action(uRIZaEQmwvzp.Refill));
uRIZaEQmwvzp.CancelInvoke(uRIZaEQmwvzp.Refill);
AnNVSYFxZXjnGtU(UCUBFTWhnJMAkWDYJ, uRIZaEQmwvzp);
}
}
}
}
ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
vuyKFiXQInJiLCKAOImScH();
}
private void cQoNXCxFeOrlZukMXt() {
var nNoCuinrsOhKieWwmaVYljJCzQVXPt = vCkoIWLStpnThhWpmIcNlM();
foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD) {
if (GllmkWztCtA && !avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
if (!GllmkWztCtA && avFeqojOYmmWdXroSeIMGEeBReqS.Key.Contains("HapisIsland")) continue;
foreach(var UCUBFTWhnJMAkWDYJ in avFeqojOYmmWdXroSeIMGEeBReqS.Value) {
if (nNoCuinrsOhKieWwmaVYljJCzQVXPt.ContainsKey(avFeqojOYmmWdXroSeIMGEeBReqS.Key)) {
foreach(var uRIZaEQmwvzp in nNoCuinrsOhKieWwmaVYljJCzQVXPt[avFeqojOYmmWdXroSeIMGEeBReqS.Key]) {
var shopName = GllmkWztCtA ? uRIZaEQmwvzp.shopName + $" {uRIZaEQmwvzp.transform.position}" : uRIZaEQmwvzp.shopName;
if (!(UCUBFTWhnJMAkWDYJ.EyddtlETlTF == shopName)) continue;
uRIZaEQmwvzp.InvokeRandomized(new Action(uRIZaEQmwvzp.Refill), 1f, 1f, 0.1f);
}
}
}
}
}
private void UuKekHPfAUdlhagOtju() {
var hPkEVJQbKJdezsKRYGUUCPbkrKvHsg = false;
foreach(var avFeqojOYmmWdXroSeIMGEeBReqS in AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD) foreach(var UCUBFTWhnJMAkWDYJ in avFeqojOYmmWdXroSeIMGEeBReqS.Value) foreach(var xOghKsXQLnaRvHiWjjYC in UCUBFTWhnJMAkWDYJ.RklwFBEmkLLTSDBE) foreach(var pair2 in XJqBMBefXZVnuzjT) if (xOghKsXQLnaRvHiWjjYC.tBVhvVocJAYFKsZGMtv == pair2.Key && xOghKsXQLnaRvHiWjjYC.mtHXbhgUchlkwdFaqOfyMrsZS == pair2.Value) {
xOghKsXQLnaRvHiWjjYC.mtHXbhgUchlkwdFaqOfyMrsZS = 1;
hPkEVJQbKJdezsKRYGUUCPbkrKvHsg = true;
}
if (hPkEVJQbKJdezsKRYGUUCPbkrKvHsg) ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
}
[ConsoleCommand("ctv.reset")]
private void BctczntDNS(ConsoleSystem.Arg zXCXySFjDjvoIQAYzaUSJ) {
var jncRGOogpkyQDmkKWfuoIrkLOdYMNA = zXCXySFjDjvoIQAYzaUSJ?.Player();
if (jncRGOogpkyQDmkKWfuoIrkLOdYMNA != null && !jncRGOogpkyQDmkKWfuoIrkLOdYMNA.IsAdmin) return;
AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD = KoCQTOeGwSzoCJZihAKzxX.OxbopHIDLl();
if (GllmkWztCtA) foreach(var cFUpQAuYvSe in AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Where(x=> !x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Remove(cFUpQAuYvSe);
else foreach(var cFUpQAuYvSe in AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Where(x=> x.Key.Contains("HapisIsland")).Select(x=> x.Key).ToList()) AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD.Remove(cFUpQAuYvSe);
ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
HOwzlZLXAwOkz();
var OsxoTFXuHj = lANgecOZcnjKY("INFO.RESET");
if (jncRGOogpkyQDmkKWfuoIrkLOdYMNA != null) PrintToConsole(jncRGOogpkyQDmkKWfuoIrkLOdYMNA, OsxoTFXuHj);
else Puts(OsxoTFXuHj);
}
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 lANgecOZcnjKY(string OkRnziATZhZTWkXfIZhGatx, string JxzuUmPVURcLKf = null) => lang.GetMessage(OkRnziATZhZTWkXfIZhGatx, this, JxzuUmPVURcLKf);
private static IWHtcYvqWhxPFVnjuimDd AaEsWpGaQDyMaOGSXtLlDXBWLUCQ;
private class UKdZTEaifk {
[JsonProperty(PropertyName = "Игровое название магазина (не менять)")]
public string EyddtlETlTF;
[JsonProperty(PropertyName = "Список товаров")]
public List<KxWQPtaPZcIYnWcOLUpnuw> RklwFBEmkLLTSDBE = new List<KxWQPtaPZcIYnWcOLUpnuw>();
}
private class KxWQPtaPZcIYnWcOLUpnuw {
[JsonProperty(PropertyName = "Название покупаемого товара")]
public string tBVhvVocJAYFKsZGMtv;
[JsonProperty(PropertyName = "Количество покупаемого товара за раз")]
public int mtHXbhgUchlkwdFaqOfyMrsZS;
[JsonProperty(PropertyName = "Покупаемый товар это чертёж")]
public bool POCRABOgRkAMCYjg;
[JsonProperty(PropertyName = "Скин покупаемого товара")]
public ulong ZisVuVxsWylpstGlLjZwai;
[JsonProperty(PropertyName = "Свое название покупаемого товара")]
public string gUulCwjSUHIB;
[JsonProperty(PropertyName = "Название платёжного товара")]
public string VmtnIZnbspmB;
[JsonProperty(PropertyName = "Количество платёжного товара за раз")]
public int SxjOXZSVIPG;
[JsonProperty(PropertyName = "Платёжный товар это чертёж")]
public bool XQQLjfaFFmJrJKxoDAtYm;
[JsonProperty(PropertyName = "Количество предметов для восполнения")]
public int EkBPOeHawx = -1;
[JsonProperty(PropertyName = "Задержка восполнения предметов")]
public float hUsVSTNtQiPf;
}
private class IWHtcYvqWhxPFVnjuimDd {
[JsonProperty(PropertyName = "Добавлять новые предметы в магазины")]
public bool woccshLZSoQ;
[JsonProperty(PropertyName = "Задержка инициализации магазинов (секунды)")]
public int MzdHdLRJClZtOJtFLc;
[JsonProperty(PropertyName = "Торговые автоматы в NPC городах")]
public Dictionary<string, List<UKdZTEaifk>> yDxwEyomtZCQWOQgNEicwJkesSD = new Dictionary<string, List<UKdZTEaifk>>();
}
private void KxgREuuDDpxe() {
AaEsWpGaQDyMaOGSXtLlDXBWLUCQ = Config.ReadObject<IWHtcYvqWhxPFVnjuimDd>();
if (AaEsWpGaQDyMaOGSXtLlDXBWLUCQ == null) AaEsWpGaQDyMaOGSXtLlDXBWLUCQ = new IWHtcYvqWhxPFVnjuimDd();
if (AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD == null) AaEsWpGaQDyMaOGSXtLlDXBWLUCQ.yDxwEyomtZCQWOQgNEicwJkesSD = new Dictionary<string, List<UKdZTEaifk>>();
ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
}
protected override void LoadDefaultConfig() {
AaEsWpGaQDyMaOGSXtLlDXBWLUCQ = new IWHtcYvqWhxPFVnjuimDd {
woccshLZSoQ = true, MzdHdLRJClZtOJtFLc = 30, yDxwEyomtZCQWOQgNEicwJkesSD = new Dictionary<string, List<UKdZTEaifk>>()
}
;
ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ);
timer.Once(0.1f, ()=> ERNRqUxZIGyMbbzGlBa(AaEsWpGaQDyMaOGSXtLlDXBWLUCQ));
}
private void ERNRqUxZIGyMbbzGlBa(IWHtcYvqWhxPFVnjuimDd ioJGxkZbNQEkulB) => Config.WriteObject(ioJGxkZbNQEkulB, true);
private static SeEFlXSDwOh KoCQTOeGwSzoCJZihAKzxX = new SeEFlXSDwOh();
private class SeEFlXSDwOh {
[JsonProperty(PropertyName = "Протокол")]
public string ZUsHpgsgPyYwRT;
[JsonProperty(PropertyName = "Торговые автоматы в NPC городах")]
public Dictionary<string, List<UKdZTEaifk>> yDxwEyomtZCQWOQgNEicwJkesSD = new Dictionary<string, List<UKdZTEaifk>>();
public Dictionary<string, List<UKdZTEaifk>> OxbopHIDLl() => JsonConvert.DeserializeObject<Dictionary<string, List<UKdZTEaifk>>>(JsonConvert.SerializeObject(yDxwEyomtZCQWOQgNEicwJkesSD));
}
private void lkOvuVeEpvBsIJzSOcMm() {
KoCQTOeGwSzoCJZihAKzxX = Interface.GetMod().DataFileSystem.ReadObject<SeEFlXSDwOh>("CustomTownVendingData");
if (KoCQTOeGwSzoCJZihAKzxX == null) KoCQTOeGwSzoCJZihAKzxX = new SeEFlXSDwOh();
if (KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD == null) KoCQTOeGwSzoCJZihAKzxX.yDxwEyomtZCQWOQgNEicwJkesSD = new Dictionary<string, List<UKdZTEaifk>>();
}
private void ARhfRXZzSpnehTLEYBBbDhUPduXF() => Interface.GetMod().DataFileSystem.WriteObject("CustomTownVendingData", KoCQTOeGwSzoCJZihAKzxX);
}
}