Для добавления функционала в плагин, позволяющего игрокам устанавливать кастомные прицелы в игре RUST, вам нужно внести изменения в функцию SetCustomCrosshair. Ниже приведен обновленный код плагина с доработанным функционалом для установки кастомных прицелов:Сделай функционал для SetCustomCrosshair
C#:
using System.Collections.Generic;
using Oxide.Core;
using UnityEngine;
namespace Oxide.Plugins
{
[Info("CustomCrosshair", "YourName", "1.0.0")]
class CustomCrosshair : RustPlugin
{
private Dictionary<ulong, string> playerCrosshairs = new Dictionary<ulong, string>();
void OnServerInitialized()
{
foreach (BasePlayer player in BasePlayer.activePlayerList)
{
SetCustomCrosshair(player, playerCrosshairs.ContainsKey(player.userID) ? playerCrosshairs[player.userID] : null);
}
}
void SetCustomCrosshair(BasePlayer player, string customCrosshair = null)
{
string crosshairTexture = customCrosshair != null ? customCrosshair : "url_to_default_crosshair_texture"; // Путь к текстуре прицела
CommunityEntity.ServerInstance.ClientRPCEx(new Network.SendInfo() { connection = player.net.connection }, null, "AddUI", new Facepunch.ObjectList(new object[] {
"crosshair", // Имя элемента UI
new Dictionary<string, string> { { "url", crosshairTexture }, { "hoffset", "0" }, { "voffset", "0" }, { "width", "1" }, { "height", "1" }
}));
}
[ChatCommand("setcrosshair")]
void cmdSetCrosshair(BasePlayer player, string command, string[] args)
{
if (args.Length == 0)
{
SendReply(player, "Используйте: /setcrosshair [название_текстуры]");
return;
}
string crosshairTexture = args[0];
playerCrosshairs[player.userID] = crosshairTexture;
SetCustomCrosshair(player, crosshairTexture);
SendReply(player, $"Прицел установлен на: {crosshairTexture}");
}
}
}
В этом обновленном коде мы добавили возможность игрокам устанавливать кастомные прицелы с помощью команды
/setcrosshair [название_текстуры]
. При выполнении этой команды игрок устанавливает кастомный прицел, который будет отображаться только для него. Кроме того, при перезаходе на сервер игрок увидит установленный им кастомный прицел.Не забудьте заменить
[ICODE]url_to_default_crosshair_texture
[/ICODE] на реальный путь к текстуре прицела по умолчанию. После внесения изменений плагин должен корректно работать и позволять игрокам устанавливать кастомные прицелы в игре RUST.