Строку BTN пути иконки предмета я могу получить используя BlzGetItemIconPath
Для фреймов мне нужна ещё версия DISBTN строки, как получить / преобразовать это отталкиваясь от вышеуказанной функции или ID предмета.
Зная ReplaceableTextures\\CommandButtons\\BTNSlippersOfAgility.blp
из этого замутить ReplaceableTextures\\CommandButtonsDisabled\\DISBTNSlippersOfAgility.blp
Это я делаю для того что бы вручную не вбивать по сто раз строки при добавлении в датабазу нового предмета.

Принятый ответ

Есть ли функция которая изменяет (отрезает) определенные символы в строке например строка длинной 15 символов мы можем обрезать с 1 по 10 символ, это бы решило мою проблему т.к ReplaceableTextures\\CommandButtons\\BTN в строке иконки неизменна, то вырезав её и оставив "SlippersOfAgility.blp" решило бы мой вопрос.

Разобрался сам
set text_length = StringLength(BlzGetItemIconPath(item_preload)) общая длина текста BTN пути
set item_icon_path = SubString(BlzGetItemIconPath(item_preload),38, text_length) Берём текст с 38 символа до " общей длины текста BTN пути " , где 38 это сколько занимает начальные ReplaceableTextures\\CommandButtons\\BTN. Получил что хотел SlippersOfAgility.blp
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
10
2 года назад
Отредактирован EviLInside
0
Есть ли функция которая изменяет (отрезает) определенные символы в строке например строка длинной 15 символов мы можем обрезать с 1 по 10 символ, это бы решило мою проблему т.к ReplaceableTextures\\CommandButtons\\BTN в строке иконки неизменна, то вырезав её и оставив "SlippersOfAgility.blp" решило бы мой вопрос.

Разобрался сам
set text_length = StringLength(BlzGetItemIconPath(item_preload)) общая длина текста BTN пути
set item_icon_path = SubString(BlzGetItemIconPath(item_preload),38, text_length) Берём текст с 38 символа до " общей длины текста BTN пути " , где 38 это сколько занимает начальные ReplaceableTextures\\CommandButtons\\BTN. Получил что хотел SlippersOfAgility.blp
Принятый ответ
2
23
2 года назад
2
set text_length = StringLength(BlzGetItemIconPath(item_preload)) общая длина текста BTN пути
set item_icon_path = SubString(BlzGetItemIconPath(item_preload),38, text_length) Берём текст с 38 символа до " общей длины текста BTN пути " , где 38 это сколько занимает начальные ReplaceableTextures\\CommandButtons\\BTN. Получил что хотел SlippersOfAgility.blp
Хз, есть ли аналог в джассе, но в луа можно получить более универсальное решение, используя string.gsub
BTNPath = BlzGetItemIconPath(myitem)
DISBTNPath = string.gsub(BTNPath, "\\BTN", "\\DISBTN")
--Находим в строке "\BTN" и меняем на "\DISBTN"
1
32
2 года назад
1
BTNPath = BlzGetItemIconPath(myitem)
DISBTNPath = string.gsub(BTNPath, "\\BTN", "\\DISBTN")
--Находим в строке "\BTN" и меняем на "\DISBTN"
function GetDisabledIcon(s)
    return string.gsub(s, "CommandButtons\\BTN", "CommandButtonsDisabled\\DISBTN")
end
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.