Помогите ImageLibrary загрузка картинки из data

london12312121

21 Май 2023
63
1
5
17
пытаюсь найти пример на добавление картинки в дату, а также получение этой картинки и запихивания в UI
 
Код:
        void OnServerInitialized()
        {
            if (!ImageLibrary.Call<bool>("HasImage", "name"))
                ImageLibrary.Call("AddImage", "https://i.imgur.com/4EE4F6E.png", "name");
        }

new CuiRawImageComponent {Png = (string)ImageLibrary.Call("GetImage", "name") },
 
  • Мне нравится
Реакции: london12312121
C#:
void OnServerInitialized()
{
    if (!ImageLibrary.Call<bool>("HasImage", "name"))
    {
        ImageLibrary.Call("AddImage", "https://i.imgur.com/4EE4F6E.png", "name");
    };
    

}



[ChatCommand("gay")]
void gay(BasePlayer player)
{
    CuiHelper.DestroyUi(player, "test");
    var elements = new CuiElementContainer();
    elements.Add(new CuiPanel
    {
        Image =
        {
            Color = "0 0 0 0.5"
        },
        RectTransform =
        {
            AnchorMin = "0 0",
            AnchorMax = "1 1"
        },
        CursorEnabled = true,
    }, "Overlay", "test");// на весь экран херня
    elements.Add(new CuiButton
    {
        Button = { Color = "0 0 0 0", Close = "test" },
        RectTransform = { AnchorMin = "0 0", AnchorMax = "1 1" }
    }, "test");// кнопка за основным окном на закрытие
    elements.Add(new CuiPanel
    {
        Image = { Color = "0.17 0.17 0.2 1" }, // 43 43 50
        RectTransform =
        {
            AnchorMin = "0.211 0.208",
            AnchorMax = "0.789 0.792"
        }
    }, "test");// основное окно
    var comp = new CuiRawImageComponent { Png = (string)ImageLibrary.Call("GetImage", "name") };
    elements.Add(new CuiElement
    {
        Parent = "test",
        Components =
        {
            comp,
            new CuiRectTransformComponent {AnchorMin = "0.211 0.208", AnchorMax = "0.7 0.7" }
        }
    });
    CuiHelper.AddUi(player, elements);
}
вот такой код, по твоему примеру, выдает ошибку "NullReferenceException: Object reference not set to an instance of an object", уже третий день пытаюсь пофиксить и не получается
 
C#:
void OnServerInitialized()
{
    if (!ImageLibrary.Call<bool>("HasImage", "name"))
    {
        ImageLibrary.Call("AddImage", "https://i.imgur.com/4EE4F6E.png", "name");
    };
 

}



[ChatCommand("gay")]
void gay(BasePlayer player)
{
    CuiHelper.DestroyUi(player, "test");
    var elements = new CuiElementContainer();
    elements.Add(new CuiPanel
    {
        Image =
        {
            Color = "0 0 0 0.5"
        },
        RectTransform =
        {
            AnchorMin = "0 0",
            AnchorMax = "1 1"
        },
        CursorEnabled = true,
    }, "Overlay", "test");// на весь экран херня
    elements.Add(new CuiButton
    {
        Button = { Color = "0 0 0 0", Close = "test" },
        RectTransform = { AnchorMin = "0 0", AnchorMax = "1 1" }
    }, "test");// кнопка за основным окном на закрытие
    elements.Add(new CuiPanel
    {
        Image = { Color = "0.17 0.17 0.2 1" }, // 43 43 50
        RectTransform =
        {
            AnchorMin = "0.211 0.208",
            AnchorMax = "0.789 0.792"
        }
    }, "test");// основное окно
    var comp = new CuiRawImageComponent { Png = (string)ImageLibrary.Call("GetImage", "name") };
    elements.Add(new CuiElement
    {
        Parent = "test",
        Components =
        {
            comp,
            new CuiRectTransformComponent {AnchorMin = "0.211 0.208", AnchorMax = "0.7 0.7" }
        }
    });
    CuiHelper.AddUi(player, elements);
}
вот такой код, по твоему примеру, выдает ошибку "NullReferenceException: Object reference not set to an instance of an object", уже третий день пытаюсь пофиксить и не получается
я смог пофиксить проблему в начале пишем static ulong ImageId = unchecked((ulong)nameof(TheUI).GetHashCode() + 13);
далее в addimage пишем
if (!ImageLibrary.Call<bool>("HasImage", "name", ImageId))
{
ImageLibrary.Call("AddImage", "ссылка", "name", ImageId);
};
и когда добавляем в ui var comp = new CuiRawImageComponent { Png = (string)ImageLibrary.Call("GetImage", "name", ImageId) };
и все начинает работать
 
я смог пофиксить проблему в начале пишем static ulong ImageId = unchecked((ulong)nameof(TheUI).GetHashCode() + 13);
далее в addimage пишем
if (!ImageLibrary.Call<bool>("HasImage", "name", ImageId))
{
ImageLibrary.Call("AddImage", "ссылка", "name", ImageId);
};
и когда добавляем в ui var comp = new CuiRawImageComponent { Png = (string)ImageLibrary.Call("GetImage", "name", ImageId) };
и все начинает работать
1693936142146.png
 
  • Мне нравится
Реакции: london12312121 и Drop Dead
Активность
Пока никто не печатает сообщение