Jump to content


Photo

Добавление изображений в StructuredText через массив


Best Answer Dispite , 10 March 2021 - 13:22

Schatten, Понял свою ошибку. Изначально пытался складывать скомпонованные изображения в массив, после чего выводить их (где массивы не допускались). После были попытки компоновать массив, ComposeText поддерживает массивы, но с параметром image так не получится. 
Решение: Скомпоновал изображения по одному и сложил в массив, после чего скомпоновал массив


 

Textovik = [];
_Assault = ["Weapon_arifle_Mk20C_plain_F", "Weapon_arifle_AK12_F", "Weapon_arifle_AKM_F", "Weapon_arifle_AKS_F", "Weapon_arifle_AK12U_F", "Weapon_arifle_CTAR_blk_F", "Weapon_arifle_Katiba_C_F", "Weapon_sgun_HunterShotgun_01_F", "Weapon_arifle_MX_F", "Weapon_arifle_MSBS65_black_F", "Weapon_arifle_MSBS65_Mark_F", "Weapon_arifle_SDAR_F", "Weapon_arifle_SPAR_01_blk_F", "Weapon_arifle_SPAR_03_blk_F", "Weapon_arifle_ARX_blk_F"];
{
_displayName = getText(configFile >> "CfgVehicles" >> _x >> "displayName");
_TypeConfig = _x;
_TypeSplit = _TypeConfig splitString "_";
_TypeAt1 = _TypeSplit deleteAt 0;
_TypeJoin = _TypeSplit joinString "_";
_Pitcture2 = getText(configFile >> "CfgWeapons" >> _TypeJoin >> "Picture");

_image = composeText [image _Pitcture2];
_image setAttributes ["size", "8"];
_imagecompose = composeText [_image];
Textovik = Textovik + [_image];


}foreach _Assault;




_composeImageArray = composeText Textovik; 
_ctrlSpisok ctrlSetStructuredText _composeImageArray;
Go to the full post


  • Please log in to reply
4 replies to this topic

#1 OFFLINE   Dispite

Dispite

    Ефрейтор

  • Пользователи
  • 94 posts
  • Откуда:Не помню

Posted 09 March 2021 - 16:32

Здравствуйте! Есть ли возможность через цикл добавлять изображения в StructuredText?
Суть проблемы:
Количество изображений велико, чтобы прописывать их в ручную. ctrlSetStructuredText заменяет текст полностью.
Пытался вводить через цикл (извиняюсь за небрежность кода - тестовый вариант)

_Assault = ["Weapon_arifle_Mk20C_plain_F", "Weapon_arifle_AK12_F", "Weapon_arifle_AKM_F", "Weapon_arifle_AKS_F", "Weapon_arifle_AK12U_F", "Weapon_arifle_CTAR_blk_F", "Weapon_arifle_Katiba_C_F", "Weapon_sgun_HunterShotgun_01_F", "Weapon_arifle_MX_F", "Weapon_arifle_MSBS65_black_F", "Weapon_arifle_MSBS65_Mark_F", "Weapon_arifle_SDAR_F", "Weapon_arifle_SPAR_01_blk_F", "Weapon_arifle_SPAR_03_blk_F", "Weapon_arifle_ARX_blk_F"];
{
_displayName = getText(configFile >> "CfgVehicles" >> _x >> "displayName");
_TypeConfig = _x;
_TypeSplit = _TypeConfig splitString "_";
_TypeAt1 = _TypeSplit deleteAt 0;
_TypeJoin = _TypeSplit joinString "_";
_Pitcture2 = getText(configFile >> "CfgWeapons" >> _TypeJoin >> "Picture");


Textovik = Textovik + [_Pitcture2]


}foreach _Assault;


_image = composeText [image Textovik];
_image setAttributes ["size", "8"];
_imagecompose = composeText [_image];
_ctrlSpisok ctrlSetStructuredText _imagecompose;

Были попытки сначала выполнять composeText на каждое изображение, после чего добавлять в массив


Edited by Dispite, 09 March 2021 - 16:33.

  • 0

#2 OFFLINE   Schatten

Schatten

    Ст. лейтенант

  • Пользователи
  • 1565 posts
  • Откуда:Минск, Беларусь

Posted 09 March 2021 - 18:14

Dispite, изменить в строке что-то конкретное может быть проблематично, так что

выполнять composeText на каждое изображение, после чего добавлять в массив

-- не вижу в этом ничего плохого.


Edited by Schatten, 09 March 2021 - 18:26.

  • 1

#3 OFFLINE   Dispite

Dispite

    Ефрейтор

  • Пользователи
  • 94 posts
  • Откуда:Не помню

Posted 10 March 2021 - 13:01


-- не вижу в этом ничего плохого.

 

Я пробовал делать так, но не получается. Может ошибки допускаю.

 

_Assault = ["Weapon_arifle_Mk20C_plain_F", "Weapon_arifle_AK12_F", "Weapon_arifle_AKM_F", "Weapon_arifle_AKS_F", "Weapon_arifle_AK12U_F", "Weapon_arifle_CTAR_blk_F", "Weapon_arifle_Katiba_C_F", "Weapon_sgun_HunterShotgun_01_F", "Weapon_arifle_MX_F", "Weapon_arifle_MSBS65_black_F", "Weapon_arifle_MSBS65_Mark_F", "Weapon_arifle_SDAR_F", "Weapon_arifle_SPAR_01_blk_F", "Weapon_arifle_SPAR_03_blk_F", "Weapon_arifle_ARX_blk_F"];
{
_displayName = getText(configFile >> "CfgVehicles" >> _x >> "displayName");
_TypeConfig = _x;
_TypeSplit = _TypeConfig splitString "_";
_TypeAt1 = _TypeSplit deleteAt 0;
_TypeJoin = _TypeSplit joinString "_";
_Pitcture2 = getText(configFile >> "CfgWeapons" >> _TypeJoin >> "Picture");

_image = composeText [image _Pitcture2];
_image setAttributes ["size", "8"];
_imagecompose = composeText [_image];
Textovik = Textovik + [_image];


}foreach _Assault;





_ctrlSpisok ctrlSetStructuredText Textovik;

Edited by Dispite, 10 March 2021 - 13:02.

  • 0

#4 OFFLINE   Schatten

Schatten

    Ст. лейтенант

  • Пользователи
  • 1565 posts
  • Откуда:Минск, Беларусь

Posted 10 March 2021 - 13:09

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

не принимает массив.


  • 1

#5 OFFLINE   Dispite

Dispite

    Ефрейтор

  • Пользователи
  • 94 posts
  • Откуда:Не помню

Posted 10 March 2021 - 13:22   Best Answer

Schatten, Понял свою ошибку. Изначально пытался складывать скомпонованные изображения в массив, после чего выводить их (где массивы не допускались). После были попытки компоновать массив, ComposeText поддерживает массивы, но с параметром image так не получится. 
Решение: Скомпоновал изображения по одному и сложил в массив, после чего скомпоновал массив


 

Textovik = [];
_Assault = ["Weapon_arifle_Mk20C_plain_F", "Weapon_arifle_AK12_F", "Weapon_arifle_AKM_F", "Weapon_arifle_AKS_F", "Weapon_arifle_AK12U_F", "Weapon_arifle_CTAR_blk_F", "Weapon_arifle_Katiba_C_F", "Weapon_sgun_HunterShotgun_01_F", "Weapon_arifle_MX_F", "Weapon_arifle_MSBS65_black_F", "Weapon_arifle_MSBS65_Mark_F", "Weapon_arifle_SDAR_F", "Weapon_arifle_SPAR_01_blk_F", "Weapon_arifle_SPAR_03_blk_F", "Weapon_arifle_ARX_blk_F"];
{
_displayName = getText(configFile >> "CfgVehicles" >> _x >> "displayName");
_TypeConfig = _x;
_TypeSplit = _TypeConfig splitString "_";
_TypeAt1 = _TypeSplit deleteAt 0;
_TypeJoin = _TypeSplit joinString "_";
_Pitcture2 = getText(configFile >> "CfgWeapons" >> _TypeJoin >> "Picture");

_image = composeText [image _Pitcture2];
_image setAttributes ["size", "8"];
_imagecompose = composeText [_image];
Textovik = Textovik + [_image];


}foreach _Assault;




_composeImageArray = composeText Textovik; 
_ctrlSpisok ctrlSetStructuredText _composeImageArray;

  • 0




Яндекс.Метрика