W0LF

переменные в hpp?

Вопрос

Всем привет!

Разве нельзя использовать переменные в классах в hpp-файлах?

class TestDialog
{
	idd = -1;
	movingenable = 0;
	enableSimulation = true;
	
	posX = 0.35; posY = 0.244;			// <<<<<<<<<<<<<<<<<<<<

	class controlsBackground {

		class MainBackground:ZSC_RscText {
			colorBackground[] = {0, 0, 0, 0.7};
			idc = -1;
			x = posX;					// <<<<<<<<<<<<<<<<<<<<
			y = posY;					// <<<<<<<<<<<<<<<<<<<<
			w = 0.4;
			h = 0.512;
		};
	};
};

Если вместо переменных использую числа - всё работает, если переменные - не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 ответа на этот вопрос

W0LF Наглядный пример как использовать "одинаковые значения" в hpp или делать "Псевдо-переменные"
https://community.bistudio.com/wiki/Arma_3_Mission_Parameters#Predefined_Params

Это лишь пример. В интернете по запросу HPP (Для изучения, ознакомления и т.п.) для Арма имеется много тем и подтем, которые ответят частично на ваш вопрос. Проще говоря чтобы использовать именно переменные, но нужен нативный (полный) С++ для использования, а не псевдо С+ от sqf
https://forums.bohemia.net/forums/topic/191460-what-is-faster-hpp-or-sqf/
https://ru.wikipedia.org/wiki/Заголовочный_файл
https://stackoverflow.com/questions/20023610/when-to-use-hpp-files
https://www.online-convert.com/ru/file-format/hpp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


55 минут назад, TheFirstNoob сказал:

Наглядный пример как использовать "одинаковые значения" в hpp или делать "Псевдо-переменные"

Да, я уже догадался использовать #define'ы.

Ещё бы кто-нить объяснил про safeZoneX, safeZoneY и т.д. На BIS-wiki читал, но нифига не понял. Мне бы кто-нить по-русски объяснил, а то в моём примере, если я ставлю x=0, y=0, w=1, h=1 то закрашивается только часть экрана, причём не по центру, хотя я ожидал, что закрасится весь экран.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

W0LF 0 - min, 1 - max (0.5 - середина соответственно).

xy - позиция.
wh - высоты и направления. (размер)

Скриншотная информация и размерности.
https://community.bistudio.com/wiki/File:UI_Size.jpg
https://community.bistudio.com/wiki/safeZoneX
https://community.bistudio.com/wiki/getResolution

По GUI для большего понимания и тестов:
https://community.bistudio.com/wiki/User_Interface_Editor_(Arma_2)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: Дмитрий8087
      Подскажите пожалуйста, вопрос такой постоянно спамило в логи самозаливка крови и снятие скинов,добавил переменую в кастомный вариэйблс
      s_player_clothes = -1; s_player_selfBloodbag = -1; s_player_deploybike = -1; Спам прекратился теперь спамит другое анти зомби эмитер и вело мото гиро
       
      ,"
      подскажите как в этом случае правильно добавить переменную? вот мой fn_selfActions
       
       
    • Автор: AlexanderKilovat
         
      spawnShoremode   = 0;   // Возрождение на берегу или нет - 1 на берегу. 0 - в любом месте(для статика).
      spawnArea = 500;  // Зона возрождения игрока.
      MaxHeliCrashes = 5; // Максимум зон крушений вертолетов.
      MaxVehicleLimit = 550;// Максимум пораждаемой техники.
      MaxDynamicDebris = 5; // Максимум пораждаемых куч мусора.
      MaxMineVeins = 20; // Максимум порождаемых рудников.
      MaxAmmoBoxes = 3; // Максимум порождаемых ящиков с патронами.
      dayz_MapArea = 24000; // Площадь, возрождения транспорта, дропа и т.п.
      dayz_maxLocalZombies = 7; // Максимум пораждаемых зомби, для одного игрока.
      dayz_paraSpawn = false; // Возрождение игрока в небе с парашютом.(игрок разбивается при статик спавне)
      dayz_minpos = -1000; // Координаты за пределами которых игрока сбросит на реконнект?
      dayz_maxpos = 26000; // Координаты за пределами которых игрока сбросит на реконнект?
      dayz_sellDistance_vehicle = 10; // Дистанция продажи наземной техники.
      dayz_sellDistance_boat = 30; // Дистанция продажи морской техники.
      dayz_sellDistance_air = 40; // Дистанция продажи воздушной техники.
      dayz_maxAnimals = 5; // Максимум животных порождаемых для одного игрока.
      dayz_tameDogs = true; // Можно ли приручить животное?
      DynamicVehicleDamageLow = 30; // Минимальный порог возможных повреждений техники при респе(0  - возможно респ целая)
      DynamicVehicleDamageHigh = 80; // Максимальный порог возможных повреждений техники при респе(100 - полностью сломанная)
      DZE_BuildingLimit = 600;// Максимальное кол-во разрешенных построек, вокруг PlotPole(базы).
      DZE_PlotPole = [60,45];  //  размер территории PlotPole
      DZE_MissionLootTable = true;  // Своя конфигурация возрождения лута.
      DZE_LootSpawnTimer = 10; // Таймер для спавна лута - не проверял.
      DZE_BuildOnRoads = false; // Можно ли строить на дорогах. По умолчанию: нет.
      DZE_HeliLift = true; // Можно ли поднимать машины в Chinook - вертушку.
      DZE_PlayerZed = false; // Если игрок умер инфицированным, - возраждать в виде зомби. По умолчанию: да.
      DZE_ConfigTrader = false; // Свои конфиги для торговцев(требуется переносить все файлы торговли из dayz_code)
      DZE_StaticConstructionCount = 2; // Кол-во анимаций-действий, при разборе и строительстве конструкций.
      DZE_GodModeBase = false; // Объекты построенные игроками - базы, не уничтожаются.
      DZE_ForceNameTagsInTrader = true; // Отображать имена торговцев
      DZE_selfTransfuse = false; // Самозаливка крови Эпохи
      DZE_selfTransfuse_Values = [14000, 0.3, 10]; // Настройка самозаливки крови Эпохи: Сколько крови, шанс заражения, снижение температуры? (в секундах)
      dayz_fullMoonNights = true; // Ночь с полной луной - светлая, или без луны - темная.
      DZE_ForceNameTags      = false; // Принудительно отображать имена игроков.  p.s если уже выкладывалось, я ее немного дополнил.
    • Автор: BigCrazyCat
      1. Где хранятся переменны килов различных обьектов?
      К примеру:
      humanKills , banditKills , zombieKills , headShots Нужно добавить на подобии их свою переменную-счетчик.
      2. Как отдельным игрокам реализовать показ диалога?
      Знаю,как сделать при помощи уида в ините,но не уверен,что так можно и в других файла с иным расширением. Заковырка еще в том,что тот диалог засунул в hud,так как без него не работало.
       
      В общем идея моя заключается в том,чтобы сделать для отдельных игроков счетчик по убийству снова же отдельных игроков.Может кто подсказать где мне это искать?