Пример #1
0
 private void ReloadInfoPanel()
 {
     if (InfoPanel)
     {
         DynamicConfigFile dataFile = Interface.Oxide.DataFileSystem.GetDatafile("MarkedForDeathData");
         InfoPanel.Call("SetPanelAttribute", "MarkedForDeath", "CurrentMarkPanelText", "Content", $"'{dataFile["MarkedPlayerName"]}' is marked for death. Last seen near {dataFile["MarkedPlayerLocation"]}.");
         InfoPanel.Call("RefreshPanel", "MarkedForDeath", "CurrentMarkPanel");
     }
 }
Пример #2
0
        void OnServerInitialized()
        {
            if (!ImageLibrary)
            {
                PrintError("Please setup ImageLibrary plugin!");
                Interface.Oxide.UnloadPlugin(Title);
                return;
            }
            else if (config.economy.display && !plugins.Find(config.economy.plugin))
            {
                PrintError("Please setup Economy plugin!");
                Interface.Oxide.UnloadPlugin(Title);
                return;
            }
            else
            {
                instance  = this;
                MenuUsers = new List <BasePlayer>();
                for (int i = 0; i < config.BTN.btns.Count; i++)
                {
                    ImageLibrary.Call("AddImage", config.BTN.btns[i].URL, config.BTN.btns[i].URL);
                }
                if (config.logosettings.display)
                {
                    ImageLibrary.Call("AddImage", config.logosettings.icon, config.logosettings.icon);
                }
                if (config.UsersIcon.display)
                {
                    ImageLibrary.Call("AddImage", config.UsersIcon.icon, config.UsersIcon.icon);
                }
                if (config.TimeIcon.display)
                {
                    ImageLibrary.Call("AddImage", config.TimeIcon.icon, config.TimeIcon.icon);
                }
                if (config.SleepersIcon.display)
                {
                    ImageLibrary.Call("AddImage", config.SleepersIcon.icon, config.SleepersIcon.icon);
                }
                if (config.CoordsPanel.display)
                {
                    ImageLibrary.Call("AddImage", config.CoordsPanel.icon, config.CoordsPanel.icon);
                }
                if (config.eventsettings.EventAirdrop.display)
                {
                    ImageLibrary.Call("AddImage", config.eventsettings.EventAirdrop.icon, config.eventsettings.EventAirdrop.icon);
                }
                if (config.eventsettings.EventBradley.display)
                {
                    ImageLibrary.Call("AddImage", config.eventsettings.EventBradley.icon, config.eventsettings.EventBradley.icon);
                }
                if (config.eventsettings.EventCargoship.display)
                {
                    ImageLibrary.Call("AddImage", config.eventsettings.EventCargoship.icon, config.eventsettings.EventCargoship.icon);
                }
                if (config.eventsettings.EventHelicopter.display)
                {
                    ImageLibrary.Call("AddImage", config.eventsettings.EventHelicopter.icon, config.eventsettings.EventHelicopter.icon);
                }
                if (config.eventsettings.EventCH47.display)
                {
                    ImageLibrary.Call("AddImage", config.eventsettings.EventCH47.icon, config.eventsettings.EventCH47.icon);
                }
                if (config.economy.display)
                {
                    ImageLibrary.Call("AddImage", config.economy.icon, config.economy.icon);
                }

                for (int i = 0; i < BasePlayer.activePlayerList.Count; i++)
                {
                    InitializeUI(BasePlayer.activePlayerList[i]);
                }

                timer.In(3, () =>
                {
                    foreach (var entity in BaseNetworkable.serverEntities)
                    {
                        if (entity is CargoPlane && config.eventsettings.EventAirdrop.display)
                        {
                            BasePlayer.activePlayerList.ForEach(player => RefreshUI(player, "air", config.eventsettings.EventAirdrop.OnColor));
                        }
                        if (entity is BradleyAPC && config.eventsettings.EventBradley.display)
                        {
                            BasePlayer.activePlayerList.ForEach(player => RefreshUI(player, "bradley", config.eventsettings.EventBradley.OnColor));
                        }
                        if (entity is BaseHelicopter && config.eventsettings.EventHelicopter.display)
                        {
                            BasePlayer.activePlayerList.ForEach(player => RefreshUI(player, "heli", config.eventsettings.EventHelicopter.OnColor));
                        }
                        if (entity is CargoShip && config.eventsettings.EventCargoship.display)
                        {
                            BasePlayer.activePlayerList.ForEach(player => RefreshUI(player, "cargo", config.eventsettings.EventCargoship.OnColor));
                        }
                        if (entity is CH47Helicopter && config.eventsettings.EventCH47.display)
                        {
                            BasePlayer.activePlayerList.ForEach(player => RefreshUI(player, "ch47", config.eventsettings.EventCH47.OnColor));
                        }
                    }
                });

                timer.Every(5, () =>
                {
                    for (int i = 0; i < BasePlayer.activePlayerList.Count; i++)
                    {
                        var player = BasePlayer.activePlayerList[i];
                        if (player.IsNpc || player.IsSleeping() || player.IsReceivingSnapshot)
                        {
                            return;
                        }
                        if (config.TimeIcon.display)
                        {
                            RefreshUI(BasePlayer.activePlayerList[i], "time");
                        }
                        if (config.economy.display)
                        {
                            RefreshUI(BasePlayer.activePlayerList[i], "balance");
                        }
                        if (config.CoordsPanel.display)
                        {
                            RefreshUI(BasePlayer.activePlayerList[i], "coords");
                        }
                    }
                });
            }
        }