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

FREE WGet : 1.0.1 1.0.1

Нет прав для скачивания
C#:
using Oxide.Core;
using System.IO;
using Oxide.Core.Libraries.Covalence;
using System;
using UnityEngine.Networking;
using System.Collections;


namespace Oxide.Plugins
{
    [Info("WGet", "done6666", "1.0.1")]
    class WGet : CovalencePlugin
    {
        #region globals
        private static string rootDirectory = Interface.Oxide.RootDirectory;
        #endregion
        #region commands
        [Command("wget")]
        private void WgetCommand(IPlayer player, string command, string[] args)
        {
            if (player.Id != "server_console")
                return;
            switch (args.Length)
            {
                case 0:
                    Puts("Expecting URL and PATH");
                    return;
                case 1:
                    Puts("Expecting PATH");
                    return;
            }
            var url = args[0];
            var path = args[1];
            if (!validateURL(url))
            {
                Puts("url must be in url format");
                return;
            }
            ServerMgr.Instance.StartCoroutine(Download(url, path));
        }
        #endregion
        #region handlers
        public IEnumerator Download(string url, string path)
        {
            Puts("Downloading started.");

            UnityWebRequest www = UnityWebRequest.Get(url);

            www.downloadHandler = new DownloadHandlerBuffer();

            yield return www.SendWebRequest();

            if (www.downloadHandler is DownloadHandlerFile downloadHandlerFile && downloadHandlerFile.data == null)
            {
                PrintWarning("Download handler not set up correctly. Check the path and file permissions.");
                www.Dispose();
                yield break;
            }

            if (www.result != UnityWebRequest.Result.Success)
            {
                PrintWarning($"Failed to download from {url}. Reason: {www.error}");
            }
            else
            {
                File.WriteAllBytes(withRoot(path), www.downloadHandler.data);
                Puts("Download completed!");
            }

            www.Dispose();
        }
        #endregion
        #region validation
        static bool validateURL(string url)
        {
            return url.StartsWith("http://", StringComparison.OrdinalIgnoreCase) ||
                url.StartsWith("https://", StringComparison.OrdinalIgnoreCase);
        }
        static string withRoot(string path)
        {
            return rootDirectory + path;
        }
        #endregion
    }
}

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