|
|
Модератор форума: Slon |
Форум » РЕДАКТОР - ArmA 2 » Скрипты » Использование функций и формул в конфиге |
Использование функций и формул в конфиге |
› Четверг
› 28.08.2014
› 17:06
› Сообщение #
подскажите возможно ли использовать формулы в конфиге и как именно?
Вот пример: class test {idc = 1; style = "значение"; text = "значение"; x = "значение"; y = "значение"; z = "значение"; }; class test1 : test { idc = 2; }; class test2 : test { idc = 3; }; Я хочу что бы idc вбивать не вручную а как то типо так: class test1 : test {idc = idc + 1; }; или class test1 : test { idc = + 1; }; И еще вопрос может как то и название можно так же сделать в конфиге? в смысле как в скриптах в цикле: for "_i" from 0 to 100 do {class test+_i : test { idc = _i; }; }; Вот как правильно это сделать и можно ли такое делать в конфиге? |
› Четверг
› 28.08.2014
› 17:19
› Сообщение #
ka3ant1p, тебе сюда
http://arma.at.ua/forum/76-1375-1 с сложными вопросами можно в скайп такое можно сделать спец системой подстановки текста. например так в начале описывается какой текст на какой будет меняться, с указанием переменных (в скобках) #define idn(a) idc = a теперь если мы напишем idn(1); препроцессор заменит на idc = 1 ; можно делать сложней и много строк #define idn(a) class test##a## : test { \ - одна наклонная означает перевод строки idc = a; \ }; \ записываем это так idn(1); idn(2); итд. получаем class test1 : test { idc = 1; }; class test2 : test { idc = 2; }; больше тут http://www.cplusplus.com/doc/tutorial/preprocessor/ Сообщение отредактировал Slon - Четверг, 28.08.2014, 19:21
|
› Пятница
› 29.08.2014
› 09:51
› Сообщение #
Спасибо =) буду пробовать =)
Добавлено (29.08.2014, 09:51) |
› Пятница
› 29.08.2014
› 15:30
› Сообщение #
ka3ant1p, скрипт покажи
|
› Пятница
› 29.08.2014
› 17:53
› Сообщение #
Вот тестовый скрипт - сперва выводит индикатор и потом уменьшает:
Код disableSerialization; r_player_health = 100; r_player_health_total = 100; _animspeed = 0; _icon = "st_goncharov_misc\Icons\hud\h_indikator_01_one.paa"; _icon2 = "st_goncharov_misc\Icons\hud\indikator_one_gray.paa"; _ctrlid = 1095; 1014 cutRsc ["DHUDINDICATORS", "PLAIN"]; ((uiNamespace getVariable "DHUDINDICATORS_DISPLAY") displayCtrl 1054) ctrlsetTextColor [1, 1, 1, 1]; 1024 cutRsc ["H_INDICATORS", "PLAIN"]; _displayHealth = uiNamespace getVariable "H_INDICATOR_DISPLAY"; _ctrlHealth = _displayHealth displayCtrl _ctrlid; _ctrlHealthpos = ctrlPosition _ctrlHealth; while {true} do { for "_i" from 0 to r_plyaer_health do { _ctrlHealth = _displayHealth displayCtrl (_ctrlid + _i); _ctrlHealth ctrlSetPosition [(((0.8183 * safezoneH) + safezoneY) + (_i / 1000)),(_ctrlHealthpos select 1),(_ctrlHealthpos select 2),(_ctrlHealthpos select 3)]; _ctrlHealth ctrlCommit _animspeed; _ctrlHealth ctrlSetTextColor [1, 1, 1, 1]; _ctrlHealth ctrlSetText _icon; }; _result = r_plyaer_health - 1; if (_result <= 0) then { r_plyaer_health = 0; } else { r_plyaer_health = _result; }; for "_i" from (r_player_health_total - (r_player_health_total - r_plyaer_health)) to r_player_health_total do { _ctrlHealth = _displayHealth displayCtrl (_ctrlid + _i); _ctrlHealth ctrlSetText _icon2; }; sleep 5; }; |
› Суббота
› 30.08.2014
› 10:26
› Сообщение #
ka3ant1p, Полоски надо расставить один раз, а не в цикле while {true} do {
|
› Суббота
› 30.08.2014
› 11:00
› Сообщение #
Slon, в цикле сделал потому что проверял как отображается убывание.
Скрипт player_updateGui хоть работает не в цикле, но вызывается каждую вроде секунду, то есть фактически тот же цикл со слипом 1. А если их каждый раз сперва удалять а потом рисовать то там вроде будет мерцание. Там скорее всего дело в том что размер полоски неправильно расчитан, я где то видел формулу как правильно расчитывать размер, но не могу найти, потому делал на глаз, а ширина же выводится в формуле (число * safezoneW). При изменении этого значения по разному полосит |
› Суббота
› 30.08.2014
› 13:03
› Сообщение #
не надо удалять,
ненужные элементы надо делать невидимыми. это четвёртая цифра 0 - полная прозрачность _control ctrlSetTextColor [1, 0, 0, 1] |
› Суббота
› 30.08.2014
› 14:24
› Сообщение #
Slon, пробовал выводить не в цикле, все так же полосит... а вот при изменении ширины полосение меняется, но добился прикольного эффекта, но все же хотелось бы знать как расчитать размер изображения *.paa что бы его нормально отображало.
Я так понимаю полосить начало из за несовпадения указаной ширины с размером картинки и получается меняется разрешение и потом в некоторых местах идет накладка пикселей |
| |||
| |||
Чат сайта |