Перейти к содержанию
ToxaSM

Вопросы по созданию МП-миссий

Рекомендуемые сообщения

Как можно убрать барахло из рюкзака медика, которое появляется там, как я понял, из-за самого факта, что юнит - медик?

Хочу, чтобы в рюкзаке было только то, что я положил, но не получается. Моё содержимое плюсуется к десяткам бинтов, медкитов и жгутов.

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


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

@crabe, значит в юнитпрцессоре это и прописано, может ты это где-нибудь и пропускаешь, первый раз про такое слышу 

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


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

@crabe, у миба вот так:

       

case "M" : {// Санитарный инструктор.
            _unit setVariable ["ace_w_ismedic", true];

              ...всякое барахло...
            _unit setVariable ["ACE_weapononback", "ACE_Rucksack_MOLLE_Green_Medic"];
            _unit setVariable ["ACE_RuckMagContents", [["ACE_LargeBandage", 6, [1, 1, 1, 1, 1, 1]], ["ACE_Bandage", 8, [1, 1, 1, 1, 1, 1, 1, 1]], ["ACE_Morphine", 8, [1, 1, 1, 1, 1, 1, 1, 1]], ["ACE_Epinephrine", 8, [1, 1, 1, 1, 1, 1, 1, 1]], ["ACE_MedKit", 10, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]]];
        };

 

А в модуле "Ранения: Включить систему ранений" в ините прописано следующее:

if (isServer) then { ace_sys_wounds_no_medical_gear = true; publicVariable "ace_sys_wounds_no_medical_gear" };

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


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

@ToxaSM,

вот процессор

 

case "MEDIC" : {//Медик
{_unit addMagazine "30Rnd_762x39_AK47"} forEach [0,0,0,0,0,0,0,0];
{_unit addMagazine "HandGrenade_East"} forEach [0,0];
{_unit addMagazine "ACE_Morphine"} forEach [0];
{_unit addMagazine "ACE_Epinephrine"} forEach [0];
_unit addWeapon "ACE_AKMS";
_unit addWeapon "ItemCompass";
_unit addWeapon "ItemWatch";
_unit addWeapon "ItemRadio";
_unit addWeapon "ACE_Map";
_unit addWeapon "ACE_Rucksack_EAST";

_unit setVariable ["ACE_RuckMagContents",[["ACE_Bandage",6],["ACE_LargeBandage",3],["ACE_Morphine",4],["ACE_Epinephrine",3],["ACE_Medkit",2]]]; 

 

а вот что получилось

 

http://prntscr.com/5ixdx9

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


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

ACE пихает медицинским юнитам барахло. Cайт http://wiki.ace-mod.net их не работает, поэтому ссылку дать не могу.

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


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

@Randy,

Ну да, я собсна попытался какие-то команды по очистке снаряги в рюкзаке измыслить и применить, но ничего не вышло.

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


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

@crabe, ты пробовал в модуле "Ранения: Включить систему ранений" в ините прописать:

if (isServer) then { ace_sys_wounds_no_medical_gear = true; publicVariable "ace_sys_wounds_no_medical_gear" }; ?

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


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

@DeFeNDeR,

 

Сделал попроще:

в _unitprocessor.sqf воткнул строку

 

_unit setVariable ["ace_sys_wounds_no_medical_gear", true]; 

 

и всё запахало, как родное. Спасибо.

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


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

Как можно понять какие юниты и техника имеют теплокарты, а какие нет?

Всё OAшное имеет, а остальное без них? Или есть исключения?

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


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

Некоторые бойцы из добавленных  аддонов имеют теплокарты. Поэтому берешь тепловизор, ставишь бойцов и смотришь.

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


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

А можно ботов посадить на броню? (чтобы в момент старта они были на броне, а не внутри)

Изменено пользователем DeFeNDeR

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


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

по теплокартам тушек

Хочешь сказать, по теплокартам коробок есть? Мне именно оно надо.

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


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

@crabe, вот тут все еще туманнее. Ванильная и АСЕсовская должны иметь. А вот из других аддонов - надо смотреть. В свое время смотрел тушки и там были только одни морпехи с теплокартами. У них еще штаны убогие, таких только ночью ставить, чтоб не позориться.

Изменено пользователем TRUE

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


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

Подскажите пожалуйста у нас миску, где радар техники закрывается какой то картинкой.

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

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


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

Может кто сталкивался - как можно в ините артиллерии ограничить дальность стрельбы? Имеется ввиду ванильная артиллерия с арт компьютером. Хочу чтобы она покрывала не весь остров, а только часть. Можно ли это увязать с отключением режимов стрельбы "Далеко" и "Очень далеко" и оставить только "Близко" и "Средний"?

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


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

В теории можно убрать режимы, для этого нужно:

1. Узнать IDD дисплея с арт компьютером
2. Узнать IDC листбокса c режимами
3. И удалить из списка не нужный режим https://community.bistudio.com/wiki/lbDelete
 

// код примерный прямиком с коленки

[] swapn {
   while {true} do {
      _disp = findDisplay <IDD>;
      if (isNil "_disp") then {     
         _ctrl = _disp displayCtrl <IDC>;
         if (<условие что бы повторно не удалять) then {
            _control lbDelete <индекс режима в списке>;
         };
      };
      sleep 0.1; 
   };   
};

Если получиться, то потом можно оптимизировать, что бы цикл не крутился.

 

Не зная первые два пункта не проверить, а узнать затратно или в pbo копаться или https://community.bistudio.com/wiki/allDisplays https://community.bistudio.com/wiki/allControls

 

Есть еще способы но это вроде самый адекватный и более менее простой, а так что бы просто скриптом настройки компьютера сменить - не видел.

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


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

@Ezhuk, спасибо за ценную наводку :) Полчаса свободного времени и я нашел значения нужных элементов


Display #-1


Control #510

Вот рабочий скрипт (удаляются два последних пункта режима стрельбы):

_art1 = _this; //Object-caller

disableSerialization;
while {true} do {
waitUntil {(not (isNull (gunner _art1))) && (not (isNull (findDisplay -1)))}; //Ждать пока кто-то сядет на стрелка и включит арткомпьютер
_disp = findDisplay -1; //ID of Display
_ctrl = _disp displayCtrl 510; //ID of Cotrols; _ctrl type - Control
_ctrl lbDelete 4; //Индексы режимов, которые надо выключить
_ctrl lbDelete 3;
_ctrl lbDelete 2;
waitUntil {isNull (findDisplay -1)}; //ждать пока арткомпьютер будет выключен

sleep 0.1;
};

Я по оптимизации в этом огороде еще новичек, но вроде здоровых альтернатив waitUntil не нашел.

Эта штука локально выполняется? Или этот скрипт крутится на сервере, если он вызывается из инита арты?

 

UPD: Дорисовал немного. Теперь точно работает как надо. Только вот по умолчанию включен режим самый первый и убирание этого режима из списка проблему не решает - выбрать его повторно нельзя, но при каждом новом включении арткомпьютера режим по умолчанию включается. В моем случае это не смертельно.

Изменено пользователем Nickorr

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


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

https://community.bistudio.com/wiki/lbSetCurSel - на счет выбора режима

_ctrl lbSetCurSel 1; 
waitUntil {(not (isNull (gunner _art1))) && (not (isNull (findDisplay -1)))};

лучше заменить на 

waitUntil {sleep 0.5; (player in crew _art1) && (not (isNull (findDisplay -1)))};

И в начало скрипта надо добавить, что бы на сервере не выполнялось 

if (isDedicated) exitWith {};

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


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

@Ezhuk, спасибо за советы, сейчас подправлю.

 


И в начало скрипта надо добавить, что бы на сервере не выполнялось  if (isDedicated) exitWith {};

А если допустим скрипт (другой для другой миссии), который заряжает арту - он же должен быть серверным и на клиентах вообще пройдет вхолостую? Или в нем стоит прописать, соответственно:

if !(isDedicated) exitWith {}; 

?

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.