Перейти к содержимому


Фотография

Как посчитать количество оставшихся магазинов в технике?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 OFFLINE   _den_

_den_

    Рядовой

  • Пользователи
  • 14 сообщений

Отправлено 18 September 2018 - 14:12

Здравствуйте форумчане!

 

Помогите решить, возможно банальный для кого то вопрос, всю голову поломал :)

 

Работаю над GUI в котором отображается основная информация об текущем вооружении игрока:

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

Выглядит это дело примерно так: название оружия, режим стрельбы, тип патронов их количество,

количество запасных обойм, на картинке они отображены белой цифрой 3, рядом с 30. 

 

Однако когда игрок садится в транспорт, танк например, у меня не получается вывести сюда

количество запасных обойм\снарядов которые есть у транспорта в текущем орудии.

 

Гуглив наткнулся на такие команды magazinesAmmo и magazinesAmmoСargo.

 

Подозреваю что возможно они мне помогут, тк выдают такой результат.

[
	["250Rnd_30mm_APDS_shells",250],
	["250Rnd_30mm_HE_shells",250],
	["8Rnd_LG_scalpel",8],
	["38Rnd_80mm_rockets",38]
]

Нужно только как то посчитать конкретно выбранный-текущий класс боеприпасов и полученное число отправить в GUI.

Быть может я вообще не правильно себе все представляю, я в этом деле новичок :)))

 

В общем нужно узнать как считать количество оставшихся ( не гипотетически возможное количество ) снарядов\ракет\магазинов в текущем орудии за которым игрок сидит в данный момент.

 

Заранее благодарю всех откликнувшихся, да прибудет с вами сила  :dycros_01:

 

 

 

PS - На всякий пожарный выложу кусочек моего горе скрипта, который запускается когда игрок садится в транспорт :)

/// ВРЕМЕННОЕ.
_A3WD_CURRENT_TURRET_STAT = [];
( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 1 ) ctrlSetText "A3WD_Media\images\gui\A3WD_HUD_WEAPON.paa";

/// ОПРЕДЕЛЕНИЕ ТЕКУЩЕГО ОРУДИЯ В ТЕХНИКЕ.
if ( player isEqualTo driver vehicle player ) then { _A3WD_CURRENT_TURRET_STAT = weaponState [ vehicle player, [ -1 ] ]; };
if ( player isEqualTo gunner vehicle player ) then { _A3WD_CURRENT_TURRET_STAT = weaponState [ vehicle player, [ 0 ] ]; };
if ( player isEqualTo commander vehicle player ) then { _A3WD_CURRENT_TURRET_STAT = weaponState [ vehicle player, [ 0,0 ] ]; };

/// ОПРЕДЕЛЕНИЕ НАЗВАНИЯ ОРУДИЯ.
_A3WD_CURRENT_TURRET_SELECT = ( _A3WD_CURRENT_TURRET_STAT select 0 );
_A3WD_CURRENT_TURRET_NAME = getText ( configFile >> "cfgWeapons" >> _A3WD_CURRENT_TURRET_SELECT >> "DisplayName" );
( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 3 ) ctrlSetText _A3WD_CURRENT_TURRET_NAME;

/// ОПРЕДЕЛЕНИЕ РЕЖИМА СТРЕЛЬБЫ.
_A3WD_CURRENT_TURRET_FIREMODE = ( _A3WD_CURRENT_TURRET_STAT select 2 );
if ( _A3WD_CURRENT_TURRET_FIREMODE == "FullAuto" ) then { ( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 2 ) ctrlSetText "АВТОМАТ"; };
if ( _A3WD_CURRENT_TURRET_FIREMODE == "Single" ) then { ( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 2 ) ctrlSetText "ОДИНОЧНЫЙ"; };
if ( _A3WD_CURRENT_TURRET_FIREMODE == "Burst" ) then { ( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 2 ) ctrlSetText "ВЗРЫВЧАТКА"; };
if ( _A3WD_CURRENT_TURRET_FIREMODE == "Manual" ) then { ( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 2 ) ctrlSetText "РУЧНОЙ"; };
if ( _A3WD_CURRENT_TURRET_FIREMODE == "Player" ) then { ( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 2 ) ctrlSetText "УПРАВЛЯЕТ ИГРОК"; };

/// ОПРЕДЕЛЕНИЕ НАЗВАНИЯ МАГАЗИНОВ ОРУДИЯ.
_A3WD_CURRENT_TURRET_MAGAZINE = ( _A3WD_CURRENT_TURRET_STAT select 3 );
_A3WD_CURRENT_TURRET_MAGAZINE_NAME = getText ( configFile >> "cfgMagazines" >> _A3WD_CURRENT_TURRET_MAGAZINE >> "DisplayName" );
( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 4 ) ctrlSetText _A3WD_CURRENT_TURRET_MAGAZINE_NAME;

/// ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА СНАРЯДОВ В ОРУДИИ.
_A3WD_CURRENT_TURRET_BULLETS = ( _A3WD_CURRENT_TURRET_STAT select 4 );
_A3WD_CURRENT_TURRET_BULLETS_COUNT = format ["%1", _A3WD_CURRENT_TURRET_BULLETS ];
( ( uiNameSpace getVariable "A3WD_HUD_WEAPONS" ) displayCtrl 6 ) ctrlSetText _A3WD_CURRENT_TURRET_BULLETS_COUNT;
			
/// ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА ЗАПАСНЫХ СНАРЯДОВ.
???

Сообщение отредактировал _den_: 18 September 2018 - 14:28

  • 0

#2 OFFLINE   Schatten

Schatten

    Лейтенант

  • Пользователи
  • 1184 сообщений
  • Откуда:Минск, Беларусь

Отправлено 18 September 2018 - 15:44

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

.


  • 0

#3 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3126 сообщений
  • Откуда:Кострома

Отправлено 18 September 2018 - 15:55

_den_,
0. Любым способом определяете то, что игрок сидит в технике
1. С помощью команды

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

узнаете "путь турели" в технике
2. Далее имеющийся путь используете в командах:
2.1.

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

- текущий магазин
2.2.

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

- все магазины
2.3.

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

- текущее оружие
2.4.

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

- все оружие
3. Дальше как и обычно - ищите эти классы в конфиге и выводите нужную информацию
  • 0

#4 OFFLINE   _den_

_den_

    Рядовой

  • Пользователи
  • 14 сообщений

Отправлено 18 September 2018 - 16:14

Благодарю за советы, буду пробовать :)


  • 0




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