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

FREE RocketPlugin : 0.0.1 0.0.1

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System;
using UnityEngine;
using Oxide.Ext.Rocket;
using Oxide.Ext.Rocket.WebSockets;
using ConVar;
using System.Linq;

namespace Oxide.Plugins
{
    [Info("Rocket", "Juliiian", "0.0.1")]
    [Description("Testing out my WebSocket.")]
    internal class RocketPlugin : RustPlugin
    {
        private Socket _socket;

        //BasePlayer.activePlayerList.AsEnumerable();

        #region Config
        private class PluginConfig
        {
            public string ApiToken;
            public string Url;
        }

        private PluginConfig config;

        protected override void LoadDefaultConfig()
        {
            Config.WriteObject(GetDefaultConfig(), true);
        }

        private PluginConfig GetDefaultConfig()
        {
            return new PluginConfig
            {
                ApiToken = "null",
                Url = "ws://127.0.0.1:3151"
            };
        }

        #endregion

        private void Init()
        {
            config = Config.ReadObject<PluginConfig>();
            try
            {
                SocketSettings conf = new SocketSettings(config.ApiToken, config.Url);
                _socket = new Socket(conf, RocketExtension.GlobalLogger);
                _socket.Connect();
               


                BaseAnimalNPC[] AnimalEnt = UnityEngine.Object.FindObjectsOfType<BaseAnimalNPC>();

                for (int i = 0; i < AnimalEnt.Length; i++)
                {
                    Puts(AnimalEnt[i].ShortPrefabName);
                    Puts(AnimalEnt[i].ServerPosition.ToString());
                }

                
                Timer GeneralUpdater = timer.Every(5f, () =>
                {

                    BasePlayer[] Players = UnityEngine.Object.FindObjectsOfType<BasePlayer>();

                    for (int i = 0; i < Players.Length; i++)
                    {
                        EventPayload<SocketToServerEvents> payload = new EventPayload<SocketToServerEvents>()
                        {
                            EventName = SocketToServerEvents.Ping,
                            Data = $"{Players[i].name}: {Players[i].ServerPosition.ToString()}"
                        };
                        _socket.Send(payload);
                    }
                });
                
            }
            catch (Exception ex)
            {
                Puts(ex.Message);
            }
        }

        private string FindGridPosition(Vector3 position) => PhoneController.PositionToGridCoord(position);
        
        private void Reload()
        {
            rust.RunServerCommand("oxide.reload RocketPlugin");
        }
       
    }
}

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