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

FREE XChatMessage : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using System.Collections.Generic;
using Newtonsoft.Json; 

namespace Oxide.Plugins 
{ 
    [Info("XChatMessage", "Monster.", "1.0.0")] 
    class XChatMessage : RustPlugin 
    { 
	    public int _message;
		
		#region Configuration  
   
        private ChatMessageConfig config; 
 
        private class ChatMessageConfig
        {		  
		    internal class GeneralSetting
			{
				[JsonProperty("Интервал сообщений в чат")] public float TimeMessage;
				[JsonProperty("SteamID профиля для кастомной аватарки")] public ulong SteamID;
			}	 						
			
			[JsonProperty("Общие настройки")]
            public GeneralSetting Setting;			
			[JsonProperty("Ключи сообщений для ленгов")]
            public List<string> Messages;	          	
			
			public static ChatMessageConfig GetNewConfiguration()
            {
                return new ChatMessageConfig  
                {
					Setting = new GeneralSetting      
					{
						TimeMessage = 300.0f,
						SteamID = 0
					},
					Messages = new List<string>
					{
						"MESSAGE_1",
						"MESSAGE_2",
						"MESSAGE_3"
					}   
				};
			}
        }
  
        protected override void LoadConfig()
        {
            base.LoadConfig();
			
			try
			{
				config = Config.ReadObject<ChatMessageConfig>(); 
			}
			catch
			{
				PrintWarning("Ошибка чтения конфигурации! Создание дефолтной конфигурации!");
				LoadDefaultConfig();
			}
			
			SaveConfig();
        }
		protected override void LoadDefaultConfig() => config = ChatMessageConfig.GetNewConfiguration();
        protected override void SaveConfig() => Config.WriteObject(config);

        #endregion
		
		#region Hooks
		
		private void OnServerInitialized()
		{
			PrintWarning("\n-----------------------------\n" +
            "     Author - Monster\n" +
            "     VK - vk.com/idannopol\n" +
            "     Discord - Monster#4837\n" +
            "     Config - v.3699\n" +
            "-----------------------------");
			
			InitializeLang();
			Broadcast();
		}
		
		private void Broadcast()       
		{
			int count = config.Messages.Count;
			
			if(count == 0)
			{
				PrintWarning("У вас нет сообщений!!!");
				return;
			}
			
			foreach (BasePlayer player in BasePlayer.activePlayerList)
			    Player.Reply(player, lang.GetMessage(config.Messages[_message], this, player.UserIDString), config.Setting.SteamID); 
			
			_message++;
			if(_message >= count--)
				_message = 0;
			
			timer.Once(config.Setting.TimeMessage, Broadcast); 
		}
		
		#endregion
		
		#region Lang
 
        private void InitializeLang()
        {
			Dictionary<string, string> llang = new Dictionary<string, string>();		
				
			foreach(var message in config.Messages)
			    llang.Add(message, "MESSAGE MESSAGE MESSAGE");			
			 
            lang.RegisterMessages(llang, this);
            lang.RegisterMessages(llang, this, "ru");
        }

        #endregion
	}
}

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