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

FREE NoDistanceLoot : 0.1.1 0.1.1

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


namespace Oxide.Plugins
{
    [Info("NoDistanceLoot", "4seti [Lunatiq] for Rust Planet", "0.1.1", ResourceId = 000)]
    public class NoDistanceLoot : RustPlugin
    {

        #region Utility Methods

        private void Log(string message)
        {
            Puts("{0}: {1}", Title, message);
        }

        private void Warn(string message)
        {
            PrintWarning("{0}: {1}", Title, message);
        }

        private void Error(string message)
        {
            PrintError("{0}: {1}", Title, message);
        }

        #endregion


        void Loaded()
        {
            Log("Loaded");
        }

        Dictionary<BasePlayer, string> looters = new Dictionary<BasePlayer, string>();

        [HookMethod("OnPlayerLoot")]
        void OnPlayerLoot(PlayerLoot lootInventory, UnityEngine.Object entry)
        {
            BasePlayer looter = lootInventory.GetComponent("BasePlayer") as BasePlayer;
            if (looters.ContainsKey(looter))            
                looters.Remove(looter);
            
            if (entry is BasePlayer)
            {
                BasePlayer target = entry as BasePlayer;              
                if (target.IsAlive() && !target.IsSleeping())
                {
                    looter.ChatMessage("Finish him before loot!");
                    looter.SendConsoleCommand("inventory.endloot");
                    looter.UpdateNetworkGroup();
                    looter.SendFullSnapshot();
                }
                else if (target.IsSleeping())
                {
                    looters.Add(looter, target.userID.ToString());
                }
            }

        }
        [HookMethod("OnPlayerSleepEnded")]
        void OnPlayerSleepEnded(BasePlayer player)
        {
			if (player != null)
			{
				if (looters.ContainsValue(player.userID.ToString()))
				{
					var looter = looters.FirstOrDefault(x => x.Value == player.userID.ToString()).Key;		
					if(looter.IsConnected()){					
						looter.SendConsoleCommand("inventory.endloot");
						looter.UpdateNetworkGroup();
						looter.SendFullSnapshot();
					}					
						looters.Remove(looter);					
				}
			}
        }
    }
}

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