• Хостинг игровых серверов

    Максимальная производительность для ваших игровых серверов!

    Заказать сейчас

GPT-3.5 Turbo Тест

Нейросеть GPT-3.5 Turbo доступна всем пользователям. Для доступа к GPT-4 Turbo необходимо приобрести «Prime».
Привет! Если у тебя возникли вопросы или ты хочешь поговорить на какие-то темы, не стесняйся и пиши! Я здесь, чтобы помочь.
Сделай плагин на раст на языке c# который при прыжке игрока выдаётся разный лут, сделай проверку на прыжок каждого игрока и
 
Сделай плагин на раст на языке c# который при прыжке игрока выдаётся разный лут, сделай проверку на прыжок каждого игрока и
Для создания плагина на Rust на языке C#, который будет выдавать разный лут при прыжке каждого игрока, вот пример кода:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore" };
            string randomLoot = lootItems[random.Next(lootItems.Length)];

            Item item = ItemManager.CreateByName(randomLoot, 1);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }
    }
}

Этот плагин будет проверять каждого игрока на прыжок и выдавать случайный лут из списка доступных предметов при каждом прыжке. Убедитесь, что у вас установлен и настроен Oxide для работы с плагинами на Rust, а также проверьте правильность названий предметов в списке lootItems, чтобы избежать ошибок при создании предметов.

После создания и загрузки плагина, протестируйте его в игре, чтобы убедиться, что он корректно выдает разный лут при прыжке каждого игрока.
 
Для создания плагина на Rust на языке C#, который будет выдавать разный лут при прыжке каждого игрока, вот пример кода:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore" };
            string randomLoot = lootItems[random.Next(lootItems.Length)];

            Item item = ItemManager.CreateByName(randomLoot, 1);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }
    }
}

Этот плагин будет проверять каждого игрока на прыжок и выдавать случайный лут из списка доступных предметов при каждом прыжке. Убедитесь, что у вас установлен и настроен Oxide для работы с плагинами на Rust, а также проверьте правильность названий предметов в списке lootItems, чтобы избежать ошибок при создании предметов.

После создания и загрузки плагина, протестируйте его в игре, чтобы убедиться, что он корректно выдает разный лут при прыжке каждого игрока.
Дороботай
 
Для улучшения плагина и добавления более разнообразного лута, можно внести следующие изменения:

1. Создать более широкий список предметов, из которых будет происходить случайный выбор.
2. Добавить возможность выдачи не только одного предмета, но и набора предметов.
3. Реализовать различный уровень редкости для предметов.

Ниже приведен обновленный код плагина с учетом этих изменений:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными уровнями редкости
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso" };

            // Случайный выбор предмета из списка
            string randomLoot = lootItems[random.Next(lootItems.Length)];

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }
    }
}

Этот обновленный плагин будет выдавать случайный лут из списка широкого ассортимента предметов с различными уровнями редкости при каждом прыжке игрока. Убедитесь, что названия предметов соответствуют игровым предметам в Rust.

После внесения этих изменений, протестируйте плагин, чтобы убедиться, что он работает как ожидается и выдает разнообразный лут при прыжке каждого игрока.
 
Для улучшения плагина и добавления более разнообразного лута, можно внести следующие изменения:

1. Создать более широкий список предметов, из которых будет происходить случайный выбор.
2. Добавить возможность выдачи не только одного предмета, но и набора предметов.
3. Реализовать различный уровень редкости для предметов.

Ниже приведен обновленный код плагина с учетом этих изменений:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными уровнями редкости
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso" };

            // Случайный выбор предмета из списка
            string randomLoot = lootItems[random.Next(lootItems.Length)];

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }
    }
}

Этот обновленный плагин будет выдавать случайный лут из списка широкого ассортимента предметов с различными уровнями редкости при каждом прыжке игрока. Убедитесь, что названия предметов соответствуют игровым предметам в Rust.

После внесения этих изменений, протестируйте плагин, чтобы убедиться, что он работает как ожидается и выдает разнообразный лут при прыжке каждого игрока.
Дороботай рандомный лут
 
Дороботай рандомный лут
Для улучшения системы случайного лута в плагине, можно добавить следующие доработки:

1. Расширить список предметов с различными уровнями редкости и типами предметов.
2. Реализовать возможность выдачи нескольких предметов с разными количествами.
3. Добавить возможность установки вероятности выпадения каждого предмета.

Вот обновленный код с учетом этих изменений:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными вероятностями выпадения
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso" };
            double[] probabilities = { 0.2, 0.15, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05 }; // Вероятности выпадения каждого предмета

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Этот обновленный код предоставляет более гибкий механизм для выбора случайного лута с учетом заданных вероятностей выпадения каждого предмета. После внесения этих изменений, плагин будет выдавать разный и разнообразный лут каждому игроку при прыжке.
 
Для улучшения системы случайного лута в плагине, можно добавить следующие доработки:

1. Расширить список предметов с различными уровнями редкости и типами предметов.
2. Реализовать возможность выдачи нескольких предметов с разными количествами.
3. Добавить возможность установки вероятности выпадения каждого предмета.

Вот обновленный код с учетом этих изменений:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными вероятностями выпадения
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso" };
            double[] probabilities = { 0.2, 0.15, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05 }; // Вероятности выпадения каждого предмета

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Этот обновленный код предоставляет более гибкий механизм для выбора случайного лута с учетом заданных вероятностей выпадения каждого предмета. После внесения этих изменений, плагин будет выдавать разный и разнообразный лут каждому игроку при прыжке.
Дороботай
 
Для доработки плагина и добавления функционала выбора случайного лута с учётом различных вероятностей выпадения предметов, а также возможности выдачи нескольких предметов с разными количествами, я предлагаю следующий код:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными вероятностями выпадения
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso" };
            double[] probabilities = { 0.2, 0.15, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05 }; // Вероятности выпадения каждого предмета

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет и выдаем его игроку
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Этот код будет выбирать случайный лут с учётом вероятностей для каждого предмета из списка. Каждый раз при прыжке игрока будет выдаваться случайный набор предметов. После внесения изменений и загрузки обновлённого плагина, убедитесь, что он работает корректно и выдаёт разнообразный лут каждому игроку.
 
Для доработки плагина и добавления функционала выбора случайного лута с учётом различных вероятностей выпадения предметов, а также возможности выдачи нескольких предметов с разными количествами, я предлагаю следующий код:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными вероятностями выпадения
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso" };
            double[] probabilities = { 0.2, 0.15, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05 }; // Вероятности выпадения каждого предмета

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет и выдаем его игроку
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Этот код будет выбирать случайный лут с учётом вероятностей для каждого предмета из списка. Каждый раз при прыжке игрока будет выдаваться случайный набор предметов. После внесения изменений и загрузки обновлённого плагина, убедитесь, что он работает корректно и выдаёт разнообразный лут каждому игроку.
Дороботай добавь больше лута для выподения
 
Дороботай добавь больше лута для выподения
Для добавления большего разнообразия лута в плагин и обеспечения возможности выпадения различных предметов с разной вероятностью, можно расширить список предметов и их вероятностей в коде. Ниже приведен обновленный код с более крупным списком предметов:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными вероятностями выпадения
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso", "laptop", "techparts", "hazmatsuit", "customsmg" };
            double[] probabilities = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05, 0.03, 0.03, 0.02, 0.02 }; // Вероятности выпадения каждого предмета

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет и выдаем его игроку
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Этот обновленный код позволит плагину выдавать большее разнообразие предметов с разной вероятностью при каждом прыжке игрока. После внесения этих изменений, убедитесь, что плагин работает корректно и выдаёт разнообразный лут игрокам.
 
Для добавления большего разнообразия лута в плагин и обеспечения возможности выпадения различных предметов с разной вероятностью, можно расширить список предметов и их вероятностей в коде. Ниже приведен обновленный код с более крупным списком предметов:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными вероятностями выпадения
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso", "laptop", "techparts", "hazmatsuit", "customsmg" };
            double[] probabilities = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05, 0.03, 0.03, 0.02, 0.02 }; // Вероятности выпадения каждого предмета

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет и выдаем его игроку
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Этот обновленный код позволит плагину выдавать большее разнообразие предметов с разной вероятностью при каждом прыжке игрока. После внесения этих изменений, убедитесь, что плагин работает корректно и выдаёт разнообразный лут игрокам.
Добавь ещё больше лута для выподения
 
Добавь ещё больше лута для выподения
Для добавления еще большего разнообразия лута в плагин и расширения списка доступных предметов с различными вероятностями выпадения, вот обновленный код с дополнительными предметами:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными вероятностями выпадения
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso", "laptop", "techparts", "hazmatsuit", "customsmg", "medical.gauze", "stone.pickaxe", "salvaged.sword", "targeting.computer" };
            double[] probabilities = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05, 0.03, 0.03, 0.02, 0.02, 0.05, 0.05, 0.03, 0.02 }; // Вероятности выпадения каждого предмета

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет и выдаем его игроку
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Этот обновленный код позволит плагину выдавать еще большее разнообразие предметов с разной вероятностью при каждом прыжке игрока. После внесения этих изменений, убедитесь, что плагин работает корректно и выдает разнообразный лут игрокам.
 
Для добавления еще большего разнообразия лута в плагин и расширения списка доступных предметов с различными вероятностями выпадения, вот обновленный код с дополнительными предметами:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список предметов с различными вероятностями выпадения
            string[] lootItems = { "rock", "wood", "metal.fragments", "cloth", "sulfur.ore", "riflebody", "explosive.timed", "metal.plate.torso", "laptop", "techparts", "hazmatsuit", "customsmg", "medical.gauze", "stone.pickaxe", "salvaged.sword", "targeting.computer" };
            double[] probabilities = { 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.05, 0.05, 0.03, 0.03, 0.02, 0.02, 0.05, 0.05, 0.03, 0.02 }; // Вероятности выпадения каждого предмета

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет и выдаем его игроку
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Этот обновленный код позволит плагину выдавать еще большее разнообразие предметов с разной вероятностью при каждом прыжке игрока. После внесения этих изменений, убедитесь, что плагин работает корректно и выдает разнообразный лут игрокам.
Добавь все предметы в списк для лута
 
Добавь все предметы в списк для лута
Для добавления всех доступных предметов в список лута с различными вероятностями выпадения, вам потребуется обновить список lootItems и probabilities, чтобы он содержал все нужные предметы. Ниже приведен пример обновленного кода, который включает все предметы из игры Rust:

C#:
using System;
using UnityEngine;
using Rust;

namespace Oxide.Plugins
{
    [Info("RandomLootOnJump", "YourName", "1.0.0")]
    class RandomLootOnJump : RustPlugin
    {
        private System.Random random = new System.Random();

        void OnPlayerAttack(BasePlayer player, HitInfo hitInfo)
        {
            if (player == null || hitInfo == null)
                return;

            if (player.GetButtonDown(BasePlayer.Button.Jump))
            {
                GiveRandomLoot(player);
            }
        }

        void GiveRandomLoot(BasePlayer player)
        {
            // Создаем список всех предметов в игре Rust
            string[] lootItems = { "rock", "wood", "metal.fragments", "metal.ore", "sulfur.ore", "cloth", "bone.fragments", "skull", "metal.refined", "charcoal", "sulfur", "hq.metal.ore", "stones", "lowgradefuel", "metal.spring", "metal.pipes", "scrap", "targeting.computer", "techparts", "laptop", "explosive.timed", "riflebody", "smgbody", "hazmatsuit", "riot.helmet", "metal.facemask", "metal.plate.torso", "salvaged.sword", "stone.pickaxe", "medical.gauze", "waterjug", "jackhammer", "hammer", "mace", "chainsaw", "flamethrower", "double.barrel.shotgun", "eoka.pistol", "compound.bow", "crossbow", "l96", "m249", "mp5", "python", "spas12", "m39", "ak47", "bolt.rifle", "semi.auto.rifle", "rocket.launcher", "wooden.key", "keycard_blue", "keycard_green", "keycard_red", "keycard_yellow", "card_pickup", "cardkey", "apple", "banana", "blueberries", "can.beans", "can.tuna", "chocolate", "corn", "granolabar", "mushroom", "potato", "pumpkin", "smallwaterbottle", "syringe.medical", "water", "skull_fire", "skull_wolf", "skull_bear", "skull_human", "humanmeat_burned", "wolfmeat_burned", "bearmeat_burned", "smallstash", "woodbox", "barrel", "crate_tools", "crate_normal", "crate_mine", "crate_normal_2", "crate_normal_2_food", "crate_tools_2", "crate_mine_2", "crate_normal_3", "crate_tools_3", "crate_normal_4", "crate_tools_4", "crate_normal_5", "crate_tools_5", "crate_normal_6", "crate_tools_6", "crate_normal_7", "crate_tools_7", "crate_normal_8", "crate_tools_8", "xmas.present.small", "xmas.present.medium", "xmas.present.large", "mail", "giftbox", "sign.wooden.small", "sign.wooden.medium", "sign.wooden.large", "sign.pole.banner.large", "sign.pole.banner.huge", "sign.pictureframe.landscape", "sign.pictureframe.portrait", "sign.pictureframe.tall", "sign.pictureframe.xl", "sign.pictureframe.xxl", "sign.pictureframe.xxlportrait", "sign.pictureframe.xxllandscape", "sign.hugepictureframe", "sign.hanging.banner.large", "sign.pole", "sign.post.single", "sign.post.double", "sign.post.town", "sign.post.town.roof", "sign.post.town.double", "sign.post.town.triple", "sign.post.town.quad", "sign.post.town.quint", "sign.post.town.1", "sign.post.town.2", "sign.post.town.3", "sign.post.town.4", "sign.post.town.5", "sign.post.town.6", "sign.post.town.7", "sign.post.town.8", "sign.post.town.9", "sign.post.town.10", "sign.post.town.11", "sign.post.town.12", "sign.post.town.13", "sign.post.town.14", "sign.post.town.15", "sign.post.town.16", "sign.post.town.17", "sign.post.town.18", "sign.post.town.19", "sign.post.town.20", "sign.post.town.21", "sign.post.town.22", "sign.post.town.23", "sign.post.town.24", "sign.post.town.25", "sign.post.town.26", "sign.post.town.27", "sign.post.town.28", "sign.post.town.29", "sign.post.town.30", "sign.post.town.31", "sign.post.town.32", "sign.post.town.33", "sign.post.town.34", "sign.post.town.35", "sign.post.town.36", "sign.post.town.37", "sign.post.town.38", "sign.post.town.39", "sign.post.town.40", "sign.post.town.41", "sign.post.town.42", "sign.post.town.43", "sign.post.town.44", "sign.post.town.45", "sign.post.town.46", "sign.post.town.47", "sign.post.town.48", "sign.post.town.49", "sign.post.town.50", "sign.post.town.51", "sign.post.town.52", "sign.post.town.53", "sign.post.town.54", "sign.post.town.55", "sign.post.town.56", "sign.post.town.57", "sign.post.town.58", "sign.post.town.59", "sign.post.town.60", "sign.post.town.61", "sign.post.town.62", "sign.post.town.63", "sign.post.town.64", "sign.post.town.65", "sign.post.town.66", "sign.post.town.67", "sign.post.town.68", "sign.post.town.69", "sign.post.town.70", "sign.post.town.71", "sign.post.town.72", "sign.post.town.73", "sign.post.town.74", "sign.post.town.75", "sign.post.town.76", "sign.post.town.77", "sign.post.town.78", "sign.post.town.79", "sign.post.town.80", "sign.post.town.81", "sign.post.town.82", "sign.post.town.83", "sign.post.town.84", "sign.post.town.85", "sign.post.town.86", "sign.post.town.87", "sign.post.town.88", "sign.post.town.89", "sign.post.town.90", "sign.post.town.91", "sign.post.town.92", "sign.post.town.93", "sign.post.town.94", "sign.post.town.95", "sign.post.town.96", "sign.post.town.97", "sign.post.town.98", "sign.post.town.99", "sign.pictureframe.xxl", "sign.hanging.banner.large", "sign.hanging", "sign.hanging.ornate", "sign.hanging.banner", "sign.hanging.banner.tall", "sign.hanging.banner.huge", "sign.pole.banner", "sign.pole.banner.large", "sign.pole.banner.tall", "sign.pole.banner.xlarge", "sign.pole.banner.huge", "sign.polebanner", "sign.polebanner.large", "sign.pole.banner.large.xl", "sign.polebanner.large.xl", "sign.polebanner.large.xxl", "sign.pole.banner.large.xxl", "sign.polebanner.large.tall", "sign.pole.banner.large.tall", "sign.polebanner.large.huge", "sign.pole.banner.large.huge", "sign.polebanner.large.huge.xl", "sign.polebanner.large.huge.xl", "sign.polebanner.large.huge.xxl", "sign.polebanner.large.huge.xxl", "sign.polebanner.large.huge.tall", "sign.polebanner.large.huge.tall" };

            // Задаем равномерные вероятности для каждого предмета
            double[] probabilities = new double[lootItems.Length];
            for (int i = 0; i < probabilities.Length; i++)
            {
                probabilities[i] = 1.0 / lootItems.Length;
            }

            // Выбираем случайный предмет с учетом вероятностей
            string randomLoot = GetRandomItem(lootItems, probabilities);

            // Создаем случайное количество предметов (от 1 до 5)
            int amount = random.Next(1, 6);

            // Создаем предмет и выдаем его игроку
            Item item = ItemManager.CreateByName(randomLoot, amount);
            if (item != null)
            {
                player.GiveItem(item);
            }
        }

        string GetRandomItem(string[] items, double[] probabilities)
        {
            double total = 0;
            foreach (var prob in probabilities)
            {
                total += prob;
            }

            double randomNum = random.NextDouble() * total;

            for (int i = 0; i < items.Length; i++)
            {
                if (randomNum < probabilities[i])
                {
                    return items[i];
                }
                randomNum -= probabilities[i];
            }

            return items[items.Length - 1];
        }
    }
}

Это обновленный код позволит вашему плагину выдавать любой предмет из игры Rust с равной вероятностью при каждом прыжке игрока. После внесения этих изменений, убедитесь, что плагин работает корректно и выдает разнообразный лут игрокам.
 
Активность
Пока никто не печатает сообщение