C#:
using System;
using System.Collections.Generic;
using Oxide.Core;
using Oxide.Core.Plugins;
using UnityEngine;
using System.Linq;
using Newtonsoft.Json;
namespace Oxide.Plugins {
[Info("GatherPlus", "TopPlugin.ru", "1.0.7")]
class GatherPlus : RustPlugin {
private Dictionary<ulong, List<string>> TYReHSqOfhKNYycZjKGW = new Dictionary<ulong, List<string>>();
private bool xMdWdaMcelnqZnUuvuOsHR = false;
private void Init() {
jZoFNoouxQhUThiNJqLltoHJD();
var yFGvmEQGvzngCm = false;
if (SPHgwVuINoiDcmDXsr.CqIOOIesPdbhnhrMuKHyq == null) {
SPHgwVuINoiDcmDXsr.YePbxylRVLx = 1f;
SPHgwVuINoiDcmDXsr.aiuVXFJwFIcdLiNxGeGGBAfI = 1f;
SPHgwVuINoiDcmDXsr.CqIOOIesPdbhnhrMuKHyq = new Dictionary<string, float>() {
{
"High Quality Metal Ore", 1f
}
, {
"Metal Fragments", 1f
}
, {
"Metal Ore", 1f
}
, {
"Stones", 1f
}
, {
"Sulfur Ore", 1f
}
}
;
yFGvmEQGvzngCm = true;
}
if (yFGvmEQGvzngCm) hjsHLbYXjEvKDwaSsfAyDa(SPHgwVuINoiDcmDXsr);
LoadDefaultMessages();
foreach(var TZFkeqqdgsaloEVqSgnOkQDyPaYSD in SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Keys) permission.RegisterPermission(TZFkeqqdgsaloEVqSgnOkQDyPaYSD.ToLower(), this);
}
private void OnPlayerConnected(BasePlayer ruBBmSHSLwcJlcApwXQPCmW) => yiVutxeRQI(ruBBmSHSLwcJlcApwXQPCmW.UserIDString);
private void OnPlayerDisconnected(BasePlayer ruBBmSHSLwcJlcApwXQPCmW, string TvglATzKckIYnDyotjfjlwWP) => TYReHSqOfhKNYycZjKGW.Remove(ruBBmSHSLwcJlcApwXQPCmW.userID);
private void OnServerInitialized() {
UTrMSfubwzyW(true);
foreach (var ruBBmSHSLwcJlcApwXQPCmW in BasePlayer.activePlayerList) OnPlayerConnected(ruBBmSHSLwcJlcApwXQPCmW);
}
private void OnDispenserGather(ResourceDispenser WmxvpKiWoq, BaseEntity CAjbiFlusXCJXaPjS, Item LbDHbbXgOVNBHbagtiQtViVd) {
if (CAjbiFlusXCJXaPjS == null || LbDHbbXgOVNBHbagtiQtViVd == null) return;
BasePlayer ruBBmSHSLwcJlcApwXQPCmW = CAjbiFlusXCJXaPjS.ToPlayer();
if (ruBBmSHSLwcJlcApwXQPCmW == null) return;
var qzaurjSwsgnPo = cIfJbJRDtwIgyvMifYLP(WmxvpKiWoq, ruBBmSHSLwcJlcApwXQPCmW, LbDHbbXgOVNBHbagtiQtViVd);
VAIOrIBMFBRDzWjWcreirermt(LbDHbbXgOVNBHbagtiQtViVd);
var AapKTgjGaklWxnyKU = PGrbPtTOXSARhfHLPNQjQdLhjfH(ruBBmSHSLwcJlcApwXQPCmW);
var lFUwovWtRpPgCfhBepAylcyZoDot = zFxEtHNxxGJUxewKBKvGvBFGvJqcw(ruBBmSHSLwcJlcApwXQPCmW.userID);
if (lFUwovWtRpPgCfhBepAylcyZoDot < 0) return;
kBDzvmUtgW(LbDHbbXgOVNBHbagtiQtViVd, lFUwovWtRpPgCfhBepAylcyZoDot * SPHgwVuINoiDcmDXsr.NFkuMJTnoGvVUuvZrXThjErqHaUBC[LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english] * (AapKTgjGaklWxnyKU != null ? SPHgwVuINoiDcmDXsr.wLlCIDXEeclqeiFSXKo[AapKTgjGaklWxnyKU.info.displayName.english] : 1f), uczyrWoSXbuADxECLN() * qzaurjSwsgnPo);
}
private void OnDispenserBonus(ResourceDispenser WmxvpKiWoq, BasePlayer ruBBmSHSLwcJlcApwXQPCmW, Item LbDHbbXgOVNBHbagtiQtViVd) {
if (ruBBmSHSLwcJlcApwXQPCmW == null || LbDHbbXgOVNBHbagtiQtViVd == null) return;
var qzaurjSwsgnPo = cIfJbJRDtwIgyvMifYLP(WmxvpKiWoq, ruBBmSHSLwcJlcApwXQPCmW, LbDHbbXgOVNBHbagtiQtViVd);
VAIOrIBMFBRDzWjWcreirermt(LbDHbbXgOVNBHbagtiQtViVd);
var AapKTgjGaklWxnyKU = PGrbPtTOXSARhfHLPNQjQdLhjfH(ruBBmSHSLwcJlcApwXQPCmW);
var lFUwovWtRpPgCfhBepAylcyZoDot = zFxEtHNxxGJUxewKBKvGvBFGvJqcw(ruBBmSHSLwcJlcApwXQPCmW.userID);
if (lFUwovWtRpPgCfhBepAylcyZoDot < 0) return;
kBDzvmUtgW(LbDHbbXgOVNBHbagtiQtViVd, lFUwovWtRpPgCfhBepAylcyZoDot * SPHgwVuINoiDcmDXsr.NFkuMJTnoGvVUuvZrXThjErqHaUBC[LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english] * (AapKTgjGaklWxnyKU != null ? SPHgwVuINoiDcmDXsr.wLlCIDXEeclqeiFSXKo[AapKTgjGaklWxnyKU.info.displayName.english] : 1f), uczyrWoSXbuADxECLN() * qzaurjSwsgnPo);
}
private void OnCollectiblePickup(Item LbDHbbXgOVNBHbagtiQtViVd, BasePlayer ruBBmSHSLwcJlcApwXQPCmW) {
if (ruBBmSHSLwcJlcApwXQPCmW == null || LbDHbbXgOVNBHbagtiQtViVd == null) return;
UzfOPDWISeexjvRnZ(LbDHbbXgOVNBHbagtiQtViVd);
var lFUwovWtRpPgCfhBepAylcyZoDot = mTAoUXIVPGCaZ(ruBBmSHSLwcJlcApwXQPCmW.userID);
if (lFUwovWtRpPgCfhBepAylcyZoDot < 0) return;
kBDzvmUtgW(LbDHbbXgOVNBHbagtiQtViVd, lFUwovWtRpPgCfhBepAylcyZoDot * SPHgwVuINoiDcmDXsr.HqoCWvBbWlkfIIU[LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english]);
}
private void OnGrowableGathered(GrowableEntity GSpwrTFFoifcdL, Item LbDHbbXgOVNBHbagtiQtViVd, BasePlayer ruBBmSHSLwcJlcApwXQPCmW) {
if (GSpwrTFFoifcdL == null || ruBBmSHSLwcJlcApwXQPCmW == null || LbDHbbXgOVNBHbagtiQtViVd == null) return;
UzfOPDWISeexjvRnZ(LbDHbbXgOVNBHbagtiQtViVd);
var lFUwovWtRpPgCfhBepAylcyZoDot = mTAoUXIVPGCaZ(ruBBmSHSLwcJlcApwXQPCmW.userID);
if (lFUwovWtRpPgCfhBepAylcyZoDot < 0) return;
kBDzvmUtgW(LbDHbbXgOVNBHbagtiQtViVd, lFUwovWtRpPgCfhBepAylcyZoDot * SPHgwVuINoiDcmDXsr.HqoCWvBbWlkfIIU[LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english]);
}
private void OnQuarryGather(MiningQuarry qizRzFxlkyVUceOYIblgn, Item LbDHbbXgOVNBHbagtiQtViVd) {
if (qizRzFxlkyVUceOYIblgn == null || LbDHbbXgOVNBHbagtiQtViVd == null) return;
oetGHOimIAMYUTjlYTNKYPuneezp(LbDHbbXgOVNBHbagtiQtViVd);
var lFUwovWtRpPgCfhBepAylcyZoDot = cQeERfeDlJmMbJiER(qizRzFxlkyVUceOYIblgn.OwnerID);
if (lFUwovWtRpPgCfhBepAylcyZoDot < 0) return;
kBDzvmUtgW(LbDHbbXgOVNBHbagtiQtViVd, lFUwovWtRpPgCfhBepAylcyZoDot * SPHgwVuINoiDcmDXsr.PxUYNMKyKGoBvuROafdhXXXUjYN[LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english]);
}
private void OnExcavatorGather(ExcavatorArm TzPOMJoGKgdmq, Item LbDHbbXgOVNBHbagtiQtViVd) {
if (TzPOMJoGKgdmq == null || LbDHbbXgOVNBHbagtiQtViVd == null) return;
sfqFhPZYku(LbDHbbXgOVNBHbagtiQtViVd);
var lFUwovWtRpPgCfhBepAylcyZoDot = GetExcavRate();
if (lFUwovWtRpPgCfhBepAylcyZoDot < 0) return;
kBDzvmUtgW(LbDHbbXgOVNBHbagtiQtViVd, lFUwovWtRpPgCfhBepAylcyZoDot * SPHgwVuINoiDcmDXsr.CqIOOIesPdbhnhrMuKHyq[LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english]);
}
private void OnUserPermissionGranted(string MxvYIoqwpZBPTyDwwifjqptLpQNnNN, string TZFkeqqdgsaloEVqSgnOkQDyPaYSD) {
if (SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Where(x=> x.Key.ToLower() == TZFkeqqdgsaloEVqSgnOkQDyPaYSD.ToLower()).Count() > 0) timer.Once(0.1f, ()=> yiVutxeRQI(MxvYIoqwpZBPTyDwwifjqptLpQNnNN));
}
private void OnUserPermissionRevoked(string MxvYIoqwpZBPTyDwwifjqptLpQNnNN, string TZFkeqqdgsaloEVqSgnOkQDyPaYSD) {
if (SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Where(x=> x.Key.ToLower() == TZFkeqqdgsaloEVqSgnOkQDyPaYSD.ToLower()).Count() > 0) timer.Once(0.1f, ()=> yiVutxeRQI(MxvYIoqwpZBPTyDwwifjqptLpQNnNN));
}
private void OnUserGroupAdded(string MxvYIoqwpZBPTyDwwifjqptLpQNnNN, string FGCfNoxvlvTdiPTFSlJQGcC) => timer.Once(0.1f, ()=> yiVutxeRQI(MxvYIoqwpZBPTyDwwifjqptLpQNnNN));
private void OnUserGroupRemoved(string MxvYIoqwpZBPTyDwwifjqptLpQNnNN, string FGCfNoxvlvTdiPTFSlJQGcC) => timer.Once(0.1f, ()=> yiVutxeRQI(MxvYIoqwpZBPTyDwwifjqptLpQNnNN));
private void OnGroupPermissionGranted(string FGCfNoxvlvTdiPTFSlJQGcC, string TZFkeqqdgsaloEVqSgnOkQDyPaYSD) {
if (SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Where(x=> x.Key.ToLower() == TZFkeqqdgsaloEVqSgnOkQDyPaYSD.ToLower()).Count() > 0) timer.Once(0.1f, ()=> hiIKXJeifXPCnjFYcqanjwOAIllrA(FGCfNoxvlvTdiPTFSlJQGcC));
}
private void OnGroupPermissionRevoked(string FGCfNoxvlvTdiPTFSlJQGcC, string TZFkeqqdgsaloEVqSgnOkQDyPaYSD) {
if (SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Where(x=> x.Key.ToLower() == TZFkeqqdgsaloEVqSgnOkQDyPaYSD.ToLower()).Count() > 0) timer.Once(0.1f, ()=> hiIKXJeifXPCnjFYcqanjwOAIllrA(FGCfNoxvlvTdiPTFSlJQGcC));
}
private void VAIOrIBMFBRDzWjWcreirermt(Item LbDHbbXgOVNBHbagtiQtViVd) {
if (!SPHgwVuINoiDcmDXsr.NFkuMJTnoGvVUuvZrXThjErqHaUBC.ContainsKey(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english)) {
SPHgwVuINoiDcmDXsr.NFkuMJTnoGvVUuvZrXThjErqHaUBC.Add(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english, 1f);
hjsHLbYXjEvKDwaSsfAyDa(SPHgwVuINoiDcmDXsr);
PrintWarning(string.Format("В конфигурационный файл, в раздел добываемых ресурсов добавлен новый ресурс '{0}'", LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english));
}
}
private Item PGrbPtTOXSARhfHLPNQjQdLhjfH(BasePlayer ruBBmSHSLwcJlcApwXQPCmW) {
if (ruBBmSHSLwcJlcApwXQPCmW == null) return null;
var LbDHbbXgOVNBHbagtiQtViVd = ruBBmSHSLwcJlcApwXQPCmW.GetActiveItem();
if (LbDHbbXgOVNBHbagtiQtViVd == null) return null;
if (SPHgwVuINoiDcmDXsr.wLlCIDXEeclqeiFSXKo == null) SPHgwVuINoiDcmDXsr.wLlCIDXEeclqeiFSXKo = new Dictionary<string, float>();
if (!SPHgwVuINoiDcmDXsr.wLlCIDXEeclqeiFSXKo.ContainsKey(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english)) {
SPHgwVuINoiDcmDXsr.wLlCIDXEeclqeiFSXKo.Add(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english, 1f);
hjsHLbYXjEvKDwaSsfAyDa(SPHgwVuINoiDcmDXsr);
PrintWarning(string.Format("В конфигурационный файл, в раздел инструментов добычи добавлен новый ресурс '{0}'", LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english));
}
return LbDHbbXgOVNBHbagtiQtViVd;
}
private void UzfOPDWISeexjvRnZ(Item LbDHbbXgOVNBHbagtiQtViVd) {
if (!SPHgwVuINoiDcmDXsr.HqoCWvBbWlkfIIU.ContainsKey(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english)) {
SPHgwVuINoiDcmDXsr.HqoCWvBbWlkfIIU.Add(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english, 1f);
hjsHLbYXjEvKDwaSsfAyDa(SPHgwVuINoiDcmDXsr);
PrintWarning(string.Format("В конфигурационный файл, в раздел поднимаемых ресурсов добавлен новый ресурс '{0}'", LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english));
}
}
private void oetGHOimIAMYUTjlYTNKYPuneezp(Item LbDHbbXgOVNBHbagtiQtViVd) {
if (!SPHgwVuINoiDcmDXsr.PxUYNMKyKGoBvuROafdhXXXUjYN.ContainsKey(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english)) {
SPHgwVuINoiDcmDXsr.PxUYNMKyKGoBvuROafdhXXXUjYN.Add(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english, 1f);
hjsHLbYXjEvKDwaSsfAyDa(SPHgwVuINoiDcmDXsr);
PrintWarning(string.Format("В конфигурационный файл, в раздел добываемых ресурсов в карьере добавлен новый ресурс '{0}'", LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english));
}
}
private void sfqFhPZYku(Item LbDHbbXgOVNBHbagtiQtViVd) {
if (!SPHgwVuINoiDcmDXsr.CqIOOIesPdbhnhrMuKHyq.ContainsKey(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english)) {
SPHgwVuINoiDcmDXsr.CqIOOIesPdbhnhrMuKHyq.Add(LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english, 1f);
hjsHLbYXjEvKDwaSsfAyDa(SPHgwVuINoiDcmDXsr);
PrintWarning(string.Format("В конфигурационный файл, в раздел добываемых ресурсов экскаватором добавлен новый ресурс '{0}'", LbDHbbXgOVNBHbagtiQtViVd.info.displayName.english));
}
}
private void kBDzvmUtgW(Item LbDHbbXgOVNBHbagtiQtViVd, float lFUwovWtRpPgCfhBepAylcyZoDot, float teaAmount = 0f) {
if (lFUwovWtRpPgCfhBepAylcyZoDot <= 0) {
LbDHbbXgOVNBHbagtiQtViVd.RemoveFromContainer();
LbDHbbXgOVNBHbagtiQtViVd.Remove(0f);
}
else {
var HrNsgkAmrheUphzz = (int)Math.Round(lFUwovWtRpPgCfhBepAylcyZoDot * LbDHbbXgOVNBHbagtiQtViVd.amount + teaAmount);
if (HrNsgkAmrheUphzz <= 0) {
LbDHbbXgOVNBHbagtiQtViVd.RemoveFromContainer();
LbDHbbXgOVNBHbagtiQtViVd.Remove(0f);
}
else LbDHbbXgOVNBHbagtiQtViVd.amount = HrNsgkAmrheUphzz;
}
}
private float uczyrWoSXbuADxECLN() => (SPHgwVuINoiDcmDXsr.zsoHZjExDiuKdluUKGKsqYO && xMdWdaMcelnqZnUuvuOsHR) ? SPHgwVuINoiDcmDXsr.WiWfZmecQrreCVAYHyiMnWgbl : SPHgwVuINoiDcmDXsr.XNtQFnLuUtBJXwyQhATerGZll;
private int cIfJbJRDtwIgyvMifYLP(ResourceDispenser WmxvpKiWoq, BasePlayer ruBBmSHSLwcJlcApwXQPCmW, Item LbDHbbXgOVNBHbagtiQtViVd) {
int qzaurjSwsgnPo = 0;
if (uczyrWoSXbuADxECLN() > 0) {
var DqOrnPPfbHySPYARnGwkgpJUf = false;
Modifier.ModifierType modifierType = 0;
if (WmxvpKiWoq.gatherType == ResourceDispenser.GatherType.Tree) modifierType = Modifier.ModifierType.Wood_Yield;
else if (WmxvpKiWoq.gatherType == ResourceDispenser.GatherType.Ore) modifierType = Modifier.ModifierType.Ore_Yield;
else DqOrnPPfbHySPYARnGwkgpJUf = true;
if (!DqOrnPPfbHySPYARnGwkgpJUf) {
float value = 1f + ruBBmSHSLwcJlcApwXQPCmW.modifiers.GetValue(modifierType, 0f);
if (value > 1f) {
qzaurjSwsgnPo = LbDHbbXgOVNBHbagtiQtViVd.amount - (int)Math.Round(LbDHbbXgOVNBHbagtiQtViVd.amount / value);
int amount = LbDHbbXgOVNBHbagtiQtViVd.amount - qzaurjSwsgnPo;
LbDHbbXgOVNBHbagtiQtViVd.amount = amount > 0 ? amount : 1;
}
}
}
return qzaurjSwsgnPo;
}
private float zFxEtHNxxGJUxewKBKvGvBFGvJqcw(ulong OYlWblKfCabL) {
float jxcAvsZrdojsjCY = (SPHgwVuINoiDcmDXsr.zsoHZjExDiuKdluUKGKsqYO && xMdWdaMcelnqZnUuvuOsHR) ? SPHgwVuINoiDcmDXsr.oaGDCSwHhwXSImaGtwdFTxVCo : SPHgwVuINoiDcmDXsr.sGegktmleMXZOZVqD;
if (!TYReHSqOfhKNYycZjKGW.ContainsKey(OYlWblKfCabL)) return jxcAvsZrdojsjCY;
else {
float lFUwovWtRpPgCfhBepAylcyZoDot = -1;
foreach(var DZbRMoVkbtPXdUgAaOZpmbUWYBF in SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Where(x=> TYReHSqOfhKNYycZjKGW[OYlWblKfCabL].Contains(x.Key.ToLower()))) {
if (SPHgwVuINoiDcmDXsr.zsoHZjExDiuKdluUKGKsqYO && xMdWdaMcelnqZnUuvuOsHR) {
if (lFUwovWtRpPgCfhBepAylcyZoDot < DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.oaGDCSwHhwXSImaGtwdFTxVCo) lFUwovWtRpPgCfhBepAylcyZoDot = DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.oaGDCSwHhwXSImaGtwdFTxVCo;
}
else {
if (lFUwovWtRpPgCfhBepAylcyZoDot < DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.sGegktmleMXZOZVqD) lFUwovWtRpPgCfhBepAylcyZoDot = DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.sGegktmleMXZOZVqD;
}
}
return lFUwovWtRpPgCfhBepAylcyZoDot >= 0 ? lFUwovWtRpPgCfhBepAylcyZoDot : jxcAvsZrdojsjCY;
}
return jxcAvsZrdojsjCY;
}
private float mTAoUXIVPGCaZ(ulong OYlWblKfCabL) {
float jxcAvsZrdojsjCY = (SPHgwVuINoiDcmDXsr.zsoHZjExDiuKdluUKGKsqYO && xMdWdaMcelnqZnUuvuOsHR) ? SPHgwVuINoiDcmDXsr.BxEvRbOqskmfFblXoZUJuDWuJY : SPHgwVuINoiDcmDXsr.efujbsOqvXjaRW;
if (!TYReHSqOfhKNYycZjKGW.ContainsKey(OYlWblKfCabL)) return jxcAvsZrdojsjCY;
else {
float lFUwovWtRpPgCfhBepAylcyZoDot = -1;
foreach(var DZbRMoVkbtPXdUgAaOZpmbUWYBF in SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Where(x=> TYReHSqOfhKNYycZjKGW[OYlWblKfCabL].Contains(x.Key.ToLower()))) {
if (SPHgwVuINoiDcmDXsr.zsoHZjExDiuKdluUKGKsqYO && xMdWdaMcelnqZnUuvuOsHR) {
if (lFUwovWtRpPgCfhBepAylcyZoDot < DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.BxEvRbOqskmfFblXoZUJuDWuJY) lFUwovWtRpPgCfhBepAylcyZoDot = DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.BxEvRbOqskmfFblXoZUJuDWuJY;
}
else {
if (lFUwovWtRpPgCfhBepAylcyZoDot < DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.efujbsOqvXjaRW) lFUwovWtRpPgCfhBepAylcyZoDot = DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.efujbsOqvXjaRW;
}
}
return lFUwovWtRpPgCfhBepAylcyZoDot >= 0 ? lFUwovWtRpPgCfhBepAylcyZoDot : jxcAvsZrdojsjCY;
}
return jxcAvsZrdojsjCY;
}
private float cQeERfeDlJmMbJiER(ulong OYlWblKfCabL) {
float jxcAvsZrdojsjCY = (SPHgwVuINoiDcmDXsr.zsoHZjExDiuKdluUKGKsqYO && xMdWdaMcelnqZnUuvuOsHR) ? SPHgwVuINoiDcmDXsr.rpbtmOeqLYReRbJVPb : SPHgwVuINoiDcmDXsr.pugEOypuxzZsmZdSKZFOf;
if (OYlWblKfCabL == 0) return jxcAvsZrdojsjCY;
List<string> gYGqTgFOyGkBnEoJcibjvhorJCYvs = new List<string>();
foreach(var iNcduNtyYQKlZLpYjAifkWvj in SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Keys) if (permission.UserHasPermission(OYlWblKfCabL.ToString(), iNcduNtyYQKlZLpYjAifkWvj.ToLower())) gYGqTgFOyGkBnEoJcibjvhorJCYvs.Add(iNcduNtyYQKlZLpYjAifkWvj.ToLower());
if (gYGqTgFOyGkBnEoJcibjvhorJCYvs.Count == 0) return jxcAvsZrdojsjCY;
float lFUwovWtRpPgCfhBepAylcyZoDot = -1;
foreach(var DZbRMoVkbtPXdUgAaOZpmbUWYBF in SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Where(x=> gYGqTgFOyGkBnEoJcibjvhorJCYvs.Contains(x.Key.ToLower()))) {
if (SPHgwVuINoiDcmDXsr.zsoHZjExDiuKdluUKGKsqYO && xMdWdaMcelnqZnUuvuOsHR) {
if (lFUwovWtRpPgCfhBepAylcyZoDot < DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.rpbtmOeqLYReRbJVPb) lFUwovWtRpPgCfhBepAylcyZoDot = DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.rpbtmOeqLYReRbJVPb;
}
else {
if (lFUwovWtRpPgCfhBepAylcyZoDot < DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.pugEOypuxzZsmZdSKZFOf) lFUwovWtRpPgCfhBepAylcyZoDot = DZbRMoVkbtPXdUgAaOZpmbUWYBF.Value.pugEOypuxzZsmZdSKZFOf;
}
}
return lFUwovWtRpPgCfhBepAylcyZoDot >= 0 ? lFUwovWtRpPgCfhBepAylcyZoDot : jxcAvsZrdojsjCY;
}
private float GetExcavRate() {
float jxcAvsZrdojsjCY = (SPHgwVuINoiDcmDXsr.zsoHZjExDiuKdluUKGKsqYO && xMdWdaMcelnqZnUuvuOsHR) ? SPHgwVuINoiDcmDXsr.aiuVXFJwFIcdLiNxGeGGBAfI : SPHgwVuINoiDcmDXsr.YePbxylRVLx;
return jxcAvsZrdojsjCY;
}
private void yiVutxeRQI(string userIdString) {
List<string> wWzbTnZFEZppgthOxtCjZ = new List<string>();
var DqOrnPPfbHySPYARnGwkgpJUf = "956";
foreach(var iNcduNtyYQKlZLpYjAifkWvj in SPHgwVuINoiDcmDXsr.pxFhJnupSKinwQZGDfugRjs.Keys) if (permission.UserHasPermission(userIdString, iNcduNtyYQKlZLpYjAifkWvj.ToLower())) wWzbTnZFEZppgthOxtCjZ.Add(iNcduNtyYQKlZLpYjAifkWvj.ToLower());
ulong OYlWblKfCabL = (ulong)Convert.ToInt64(userIdString);
if (wWzbTnZFEZppgthOxtCjZ.Count == 0) {
if (TYReHSqOfhKNYycZjKGW.ContainsKey(OYlWblKfCabL)) TYReHSqOfhKNYycZjKGW.Remove(OYlWblKfCabL);
}
else {
if (!TYReHSqOfhKNYycZjKGW.ContainsKey(OYlWblKfCabL)) TYReHSqOfhKNYycZjKGW.Add(OYlWblKfCabL, wWzbTnZFEZppgthOxtCjZ);
else TYReHSqOfhKNYycZjKGW[OYlWblKfCabL] = wWzbTnZFEZppgthOxtCjZ;
}
}
private void hiIKXJeifXPCnjFYcqanjwOAIllrA(string ETuMRfpoSrvIVoYhvLNZUxSDnr) {
List<string> oPcRyHvYYwxoNCEoWgW = permission.GetUsersInGroup(ETuMRfpoSrvIVoYhvLNZUxSDnr).Select(x=>x.Substring(0, x.IndexOf(" "))).ToList();
foreach(var ruBBmSHSLwcJlcApwXQPCmW in BasePlayer.activePlayerList.Where(x=> oPcRyHvYYwxoNCEoWgW.Contains(x.UserIDString))) yiVutxeRQI(ruBBmSHSLwcJlcApwXQPCmW.UserIDString);
}
private void UTrMSfubwzyW(bool IzXApdAULxQtJtU = false) {
var zeEWegDBpHrNeapLqDwpptKPidMRyr = TOD_Sky.Instance.Cycle.Hour;
bool MHVMSmeIXNUkTCVurCMPDPRiJbdtd = xMdWdaMcelnqZnUuvuOsHR;
if ((SPHgwVuINoiDcmDXsr.CbJjGmeaiukgaHAUDJSKaaYoPQtFgU <= SPHgwVuINoiDcmDXsr.RMtJfnKgpztlkNICsjOffkcI && zeEWegDBpHrNeapLqDwpptKPidMRyr >= SPHgwVuINoiDcmDXsr.CbJjGmeaiukgaHAUDJSKaaYoPQtFgU && zeEWegDBpHrNeapLqDwpptKPidMRyr < SPHgwVuINoiDcmDXsr.RMtJfnKgpztlkNICsjOffkcI) || (SPHgwVuINoiDcmDXsr.CbJjGmeaiukgaHAUDJSKaaYoPQtFgU > SPHgwVuINoiDcmDXsr.RMtJfnKgpztlkNICsjOffkcI && zeEWegDBpHrNeapLqDwpptKPidMRyr >= SPHgwVuINoiDcmDXsr.CbJjGmeaiukgaHAUDJSKaaYoPQtFgU && zeEWegDBpHrNeapLqDwpptKPidMRyr < SPHgwVuINoiDcmDXsr.RMtJfnKgpztlkNICsjOffkcI + 24) || (SPHgwVuINoiDcmDXsr.CbJjGmeaiukgaHAUDJSKaaYoPQtFgU > SPHgwVuINoiDcmDXsr.RMtJfnKgpztlkNICsjOffkcI && zeEWegDBpHrNeapLqDwpptKPidMRyr + 24 >= SPHgwVuINoiDcmDXsr.CbJjGmeaiukgaHAUDJSKaaYoPQtFgU && zeEWegDBpHrNeapLqDwpptKPidMRyr < SPHgwVuINoiDcmDXsr.RMtJfnKgpztlkNICsjOffkcI) ) xMdWdaMcelnqZnUuvuOsHR = true;
else xMdWdaMcelnqZnUuvuOsHR = false;
if (!IzXApdAULxQtJtU && MHVMSmeIXNUkTCVurCMPDPRiJbdtd != xMdWdaMcelnqZnUuvuOsHR) iJGFmNSmzpjUPoBfd();
timer.Once(3f, ()=>UTrMSfubwzyW());
}
private void iJGFmNSmzpjUPoBfd() {
if (SPHgwVuINoiDcmDXsr.AEOqiUuRmzSfvIIw) {
foreach(var ruBBmSHSLwcJlcApwXQPCmW in BasePlayer.activePlayerList) SendReply(ruBBmSHSLwcJlcApwXQPCmW, string.Format(xMdWdaMcelnqZnUuvuOsHR?WgbDnqHgVcxHNhYVbjUcAkzZbvyXeq("INFO.NIGHT.START") : WgbDnqHgVcxHNhYVbjUcAkzZbvyXeq("INFO.NIGHT.END"), zFxEtHNxxGJUxewKBKvGvBFGvJqcw(ruBBmSHSLwcJlcApwXQPCmW.userID), mTAoUXIVPGCaZ(ruBBmSHSLwcJlcApwXQPCmW.userID), cQeERfeDlJmMbJiER(ruBBmSHSLwcJlcApwXQPCmW.userID)));
}
}
private void LoadDefaultMessages() {
lang.RegisterMessages(new Dictionary<string, string> {
{
"INFO.NIGHT.START", "Наступает ночь\nРейты добываемых ресурсов: X{0}\nРейты поднимаемых ресурсов: X{1}\nРейты ресурсов в карьере: X{2}"
}
, {
"INFO.NIGHT.END", "Наступает день\nРейты добываемых ресурсов: X{0}\nРейты поднимаемых ресурсов: X{1}\nРейты ресурсов в карьере: X{2}"
}
}
, this);
}
private string WgbDnqHgVcxHNhYVbjUcAkzZbvyXeq(string XYhtZLHwaUvxZvIuoNLeQrMjTh, string OVLwWvZjBTWQaofxEAsAiu = null) => lang.GetMessage(XYhtZLHwaUvxZvIuoNLeQrMjTh, this, OVLwWvZjBTWQaofxEAsAiu);
private static YKvNVAlKVtyHgdQMSBDjkjAHqMbYf SPHgwVuINoiDcmDXsr;
private class NgMeCAQtKwjHNgNNmahvyzlMdIU {
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов")]
public float sGegktmleMXZOZVqD;
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов ночью")]
public float oaGDCSwHhwXSImaGtwdFTxVCo;
[JsonProperty(PropertyName = "Общий рейт поднимаемых ресурсов")]
public float efujbsOqvXjaRW;
[JsonProperty(PropertyName = "Общий рейт поднимаемых ресурсов ночью")]
public float BxEvRbOqskmfFblXoZUJuDWuJY;
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов в карьере")]
public float pugEOypuxzZsmZdSKZFOf;
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов в карьере ночью")]
public float rpbtmOeqLYReRbJVPb;
}
private class YKvNVAlKVtyHgdQMSBDjkjAHqMbYf {
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов")]
public float sGegktmleMXZOZVqD;
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов ночью")]
public float oaGDCSwHhwXSImaGtwdFTxVCo;
[JsonProperty(PropertyName = "Стандартные рейты добываемых ресурсов")]
public Dictionary<string, float> NFkuMJTnoGvVUuvZrXThjErqHaUBC;
[JsonProperty(PropertyName = "Стандартные рейты инструментов добычи")]
public Dictionary<string, float> wLlCIDXEeclqeiFSXKo;
[JsonProperty(PropertyName = "Общий рейт поднимаемых ресурсов")]
public float efujbsOqvXjaRW;
[JsonProperty(PropertyName = "Общий рейт поднимаемых ресурсов ночью")]
public float BxEvRbOqskmfFblXoZUJuDWuJY;
[JsonProperty(PropertyName = "Стандартные рейты поднимаемых ресурсов")]
public Dictionary<string, float> HqoCWvBbWlkfIIU;
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов в карьере")]
public float pugEOypuxzZsmZdSKZFOf;
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов в карьере ночью")]
public float rpbtmOeqLYReRbJVPb;
[JsonProperty(PropertyName = "Стандартные рейты добываемых ресурсов в карьере")]
public Dictionary<string, float> PxUYNMKyKGoBvuROafdhXXXUjYN;
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов экскаватором")]
public float YePbxylRVLx;
[JsonProperty(PropertyName = "Общий рейт добываемых ресурсов экскаватором ночью")]
public float aiuVXFJwFIcdLiNxGeGGBAfI;
[JsonProperty(PropertyName = "Стандартные рейты добываемых ресурсов экскаватором")]
public Dictionary<string, float> CqIOOIesPdbhnhrMuKHyq;
[JsonProperty(PropertyName = "Общий рейт рудного и древесного чая")]
public float XNtQFnLuUtBJXwyQhATerGZll;
[JsonProperty(PropertyName = "Общий рейт рудного и древесного чая ночью")]
public float WiWfZmecQrreCVAYHyiMnWgbl;
[JsonProperty(PropertyName = "Включить разделение рейтов на ночной и дневной режим")]
public bool zsoHZjExDiuKdluUKGKsqYO;
[JsonProperty(PropertyName = "Час игрового времени с которого включается ночной режим")]
public int CbJjGmeaiukgaHAUDJSKaaYoPQtFgU;
[JsonProperty(PropertyName = "Час игрового времени с которого выключается ночной режим")]
public int RMtJfnKgpztlkNICsjOffkcI;
[JsonProperty(PropertyName = "Выводить оповещение в чат при смене ночного и дневного режима")]
public bool AEOqiUuRmzSfvIIw;
[JsonProperty(PropertyName = "Изменение рейтов для игроков с привилегиями")]
public Dictionary<string, NgMeCAQtKwjHNgNNmahvyzlMdIU> pxFhJnupSKinwQZGDfugRjs;
}
private void jZoFNoouxQhUThiNJqLltoHJD() => SPHgwVuINoiDcmDXsr = Config.ReadObject<YKvNVAlKVtyHgdQMSBDjkjAHqMbYf>();
protected override void LoadDefaultConfig() {
SPHgwVuINoiDcmDXsr = new YKvNVAlKVtyHgdQMSBDjkjAHqMbYf {
sGegktmleMXZOZVqD = 1f, oaGDCSwHhwXSImaGtwdFTxVCo = 1f, NFkuMJTnoGvVUuvZrXThjErqHaUBC = new Dictionary<string, float>() {
{
"Animal Fat", 1f
}
, {
"Bear Meat", 1f
}
, {
"Bone Fragments", 1f
}
, {
"Cloth", 1f
}
, {
"High Quality Metal Ore", 1f
}
, {
"Human Skull", 1f
}
, {
"Leather", 1f
}
, {
"Metal Ore", 1f
}
, {
"Pork", 1f
}
, {
"Raw Bear Meat", 1f
}
, {
"Raw Chicken Breast", 1f
}
, {
"Raw Human Meat", 1f
}
, {
"Raw Wolf Meat", 1f
}
, {
"Stones", 1f
}
, {
"Sulfur Ore", 1f
}
, {
"Wolf Skull", 1f
}
, {
"Wood", 1f
}
}
, wLlCIDXEeclqeiFSXKo = new Dictionary<string, float>() {
{
"Bone Club", 1f
}
, {
"Candy Cane Club", 1f
}
, {
"Chainsaw", 1f
}
, {
"Hatchet", 1f
}
, {
"Pickaxe", 1f
}
, {
"Rock", 1f
}
, {
"Salvaged Axe", 1f
}
, {
"Salvaged Hammer", 1f
}
, {
"Salvaged Icepick", 1f
}
, {
"Stone Hatchet", 1f
}
, {
"Stone Pickaxe", 1f
}
, {
"Jackhammer", 1f
}
}
, efujbsOqvXjaRW = 1f, BxEvRbOqskmfFblXoZUJuDWuJY = 1f, HqoCWvBbWlkfIIU = new Dictionary<string, float>() {
{
"Metal Ore", 1f
}
, {
"Stones", 1f
}
, {
"Sulfur Ore", 1f
}
, {
"Wood", 1f
}
, {
"Hemp Seed", 1f
}
, {
"Corn Seed", 1f
}
, {
"Pumpkin Seed", 1f
}
, {
"Cloth", 1f
}
, {
"Pumpkin", 1f
}
, {
"Corn", 1f
}
}
, pugEOypuxzZsmZdSKZFOf = 1f, rpbtmOeqLYReRbJVPb = 1f, PxUYNMKyKGoBvuROafdhXXXUjYN = new Dictionary<string, float>() {
{
"High Quality Metal Ore", 1f
}
, {
"Metal Fragments", 1f
}
, {
"Metal Ore", 1f
}
, {
"Stones", 1f
}
, {
"Sulfur Ore", 1f
}
}
, YePbxylRVLx = 1f, aiuVXFJwFIcdLiNxGeGGBAfI = 1f, CqIOOIesPdbhnhrMuKHyq = new Dictionary<string, float>() {
{
"High Quality Metal Ore", 1f
}
, {
"Metal Fragments", 1f
}
, {
"Metal Ore", 1f
}
, {
"Stones", 1f
}
, {
"Sulfur Ore", 1f
}
}
, XNtQFnLuUtBJXwyQhATerGZll = 0f, WiWfZmecQrreCVAYHyiMnWgbl = 0f, zsoHZjExDiuKdluUKGKsqYO = false, CbJjGmeaiukgaHAUDJSKaaYoPQtFgU = 19, RMtJfnKgpztlkNICsjOffkcI = 8, AEOqiUuRmzSfvIIw = true, pxFhJnupSKinwQZGDfugRjs = new Dictionary<string, NgMeCAQtKwjHNgNNmahvyzlMdIU>() {
{
"gatherplus.vip", new NgMeCAQtKwjHNgNNmahvyzlMdIU() {
sGegktmleMXZOZVqD = 2f, oaGDCSwHhwXSImaGtwdFTxVCo = 2f, efujbsOqvXjaRW = 2f, BxEvRbOqskmfFblXoZUJuDWuJY = 2f, pugEOypuxzZsmZdSKZFOf = 2f, rpbtmOeqLYReRbJVPb = 2f
}
}
, {
"gatherplus.premium", new NgMeCAQtKwjHNgNNmahvyzlMdIU() {
sGegktmleMXZOZVqD = 3f, oaGDCSwHhwXSImaGtwdFTxVCo = 3f, efujbsOqvXjaRW = 3f, BxEvRbOqskmfFblXoZUJuDWuJY = 3f, pugEOypuxzZsmZdSKZFOf = 3f, rpbtmOeqLYReRbJVPb = 3f
}
}
}
}
;
hjsHLbYXjEvKDwaSsfAyDa(SPHgwVuINoiDcmDXsr);
timer.Once(0.1f, ()=> hjsHLbYXjEvKDwaSsfAyDa(SPHgwVuINoiDcmDXsr));
}
private void hjsHLbYXjEvKDwaSsfAyDa(YKvNVAlKVtyHgdQMSBDjkjAHqMbYf nYKhIMflMNqcGkCGZDbwWxIaGWeK) => Config.WriteObject(nYKhIMflMNqcGkCGZDbwWxIaGWeK, true);
}
}