Здравствуйте форумчане!
Помогите решить, возможно банальный для кого то вопрос, всю голову поломал
Работаю над 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.
Быть может я вообще не правильно себе все представляю, я в этом деле новичок ))
В общем нужно узнать как считать количество оставшихся ( не гипотетически возможное количество ) снарядов\ракет\магазинов в текущем орудии за которым игрок сидит в данный момент.
Заранее благодарю всех откликнувшихся, да прибудет с вами сила
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