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

FREE MoreResourcesTeam : 1.1.1 1.1.1

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using UnityEngine;
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using System.Collections.Generic;
using Oxide.Core.Libraries.Covalence;
using Oxide.Core;

namespace Oxide.Plugins
{
    [Info("More Resources Team", "Krungh Crow", "1.1.1")]
    [Description("Get more resources when you're farming close to a team member")]

    class MoreResourcesTeam : CovalencePlugin
    {
        #region Variables
        const string Use_Perm = "moreresourcesteam.use";
        const string Vip_Perm = "moreresourcesteam.vip";
        #endregion

        #region Configuration
        void Init()
        {
            if (!LoadConfigVariables())
            {
            Puts("Config file issue detected.Please delete file, or check syntax and fix.");
            return;
            }
            permission.RegisterPermission(Use_Perm, this);
            permission.RegisterPermission(Vip_Perm, this);
        }

        private ConfigData configData;

        class ConfigData
        {
            [JsonProperty("Distance between you and your mates (in feet)")]
            public float distanceMate = 32f;
            [JsonProperty("Bonus percentage Default")]
            public int bonusMate = 10;
            [JsonProperty("Bonus percentage Vip")]
            public int bonusMateVip = 50;
        }

        private bool LoadConfigVariables()
        {
            try
            {
            configData = Config.ReadObject<ConfigData>();
            }
            catch
            {
            return false;
            }
            SaveConf();
            return true;
        }

        protected override void LoadDefaultConfig()
        {
            Puts("Fresh install detected Creating a new config file.");
            configData = new ConfigData();
            SaveConf();
        }

        void SaveConf() => Config.WriteObject(configData, true);
        #endregion

        #region LanguageAPI
        protected override void LoadDefaultMessages()
        {
            lang.RegisterMessages(new Dictionary<string, string>
            {
                ["GatherMoreMessage"] = "You got {0}% more because you're close to a member of your team"
            }, this);

            lang.RegisterMessages(new Dictionary<string, string>
            {
                ["GatherMoreMessage"] = "Vous avez re�u {0}% de ressources en plus car vous �tes proche d'un membre de votre �quipe"
            }, this, "fr");
        }

        #endregion

        #region Helpers

        string GetMessage(string key, string steamId = null) => lang.GetMessage(key, this, steamId);

        private void notifyPlayer(IPlayer player, string text)
        {
            text = Formatter.ToPlaintext(text);
            player.Command("gametip.hidegametip");
            player.Command("gametip.showgametip", text);
            timer.In(5, () => player?.Command("gametip.hidegametip"));
        }
        #endregion

        #region Hooks

        void OnDispenserGather(ResourceDispenser dispenser, BasePlayer player, Item item)
        {
            if (!permission.UserHasPermission(player.UserIDString, Use_Perm))
            {

                var currentTeam = player.currentTeam;
                if (currentTeam != 0)
                {
                    RelationshipManager.PlayerTeam team = RelationshipManager.ServerInstance.FindTeam(currentTeam);
                    if (team != null)
                    {
                        var players = team.members;
                        if (team.members.Count > 1)
                        {
                            int totalPercentage = 0;
                            foreach (var teamMember in players)
                            {
                                if (teamMember != player.userID)
                                {
                                    BasePlayer member = RelationshipManager.FindByID(teamMember);
                                    if (member != null)
                                    {
                                        if (Vector3.Distance(player.transform.position, member.transform.position) <= configData.distanceMate)
                                        {
                                            if (permission.UserHasPermission(player.UserIDString, Vip_Perm))
                                            {
                                                totalPercentage = totalPercentage + configData.bonusMateVip;
                                                item.amount = item.amount + (item.amount * configData.bonusMateVip / 100);
                                            }
                                            else if (!permission.UserHasPermission(player.UserIDString, Vip_Perm))
                                            {
                                                totalPercentage = totalPercentage + configData.bonusMate;
                                                item.amount = item.amount + (item.amount * configData.bonusMate / 100);
                                            }
                                        }
                                    }
                                }
                            }
                            notifyPlayer(player.IPlayer, string.Format(GetMessage("GatherMoreMessage", player.UserIDString), totalPercentage.ToString()));
                        }
                    }
                }
            }
            return;
        }

        #endregion
    }
}

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