C#:
using Oxide.Core;
using UnityEngine;
namespace Oxide.Plugins
{
[Info("RandomVeinResource", "YourName", "1.0.0")]
[Description("Adds random resource veins upon throwing geology charge")]
public class RandomVeinResource : RustPlugin
{
// Массив возможных ресурсов для жилы
private string[] veinResources = { "metal.ore", "sulfur.ore", "hq.metal.ore" };
// Обработчик события броска геологического заряда
private void OnThrownGeologyCharge(BasePlayer player, BaseEntity entity)
{
// Проверяем, что бросили геологический заряд
if (entity?.ShortPrefabName == "geologycharge.deployed")
{
// Получаем случайный ресурс из массива
string randomResource = veinResources[Random.Range(0, veinResources.Length)];
// Создаем жилу с случайным ресурсом
CreateVein(entity.transform.position, randomResource);
}
}
// Метод для создания жилы с указанным ресурсом
private void CreateVein(Vector3 position, string resourceType)
{
// Создаем жилу по указанным параметрам
BaseEntity veinEntity = GameManager.server.CreateEntity("assets/bundled/prefabs/resource/ores/" + resourceType + ".prefab", position);
if (veinEntity != null)
{
// Активируем жилу
veinEntity.Spawn();
}
else
{
PrintError("Failed to create vein entity");
}
}
}
}
Спасибо!