– Учитель, двигать камни это одно, а тут… совсем другое дело.
– Нет, не другое. Другое в голове лишь. Разучиться должен ты, чему учился.
– Хорошо, я попробую.
– Нет, не пробуй. Делай! Или нет. Никаких попыток.
Разговор Йоды и Люка Скайокера во время его тренировок на планете Дагоба





Сколько глобус ни крути, там Fess-Style не найти...
Сайт Fess'a » Несколько вопросов - Форум
[ Новые сообщения · Участники · Правила форума · Поиск ]
Страница 1 из 11
Форум » Форум Редакторов » Редактор ARMA » Несколько вопросов
Несколько вопросов
SS_Panzer_DivisionДата: Среда, 12.02.2014, 16:27 | Сообщение # 1

Сообщений: 28
Статус:
1. Fess, подскажи пожалуйста, что прописывать, что бы триггер срабатывал когда:
1)Юнит садится в технику?
2)Когда миссия просто начинается (триггер должен переключиться с самого начала игры)?
3)Происходит взрыв мины?
4)Две группы объединяются в одну по средствам маршрутных точек?
5)Парашютист приземляется?

2. Что прописать или поставить в маршрутной точке, что бы у группы было задание уничтожить объект? Это достаточно примитивная основа простой миссии, но я так и не смог это реализовать. То есть у группы задание: "подорвать вражеский танк" (с помощью взрывчатки). Сапер должен подойти к танку и заложить взрывпакет, после чего отойти с группой на безопасное расстояние и взорвать его, миссия выполнена! Если этого нельзя сделать без длинных скриптов и т.д., то я вообще не понимаю зачем в некоторых отрядах есть саперы с множеством мин и взрывчатки в снаряжении, если они не могут ими пользоваться!?

3. В ArmA III есть модуль "случайный патруль", если тебе не сложно, то пожалуйста объясни как им пользоваться?! Там в описании сказано что то о синхронизации гражданских и командиров групп с контрольными точками и т.д., я вообще ничего не понял из того, что там написано =D

4. Как заставить артиллерийскую установку имитировать обстрел вражеских позиций? То есть стоит пушка с поднятым стволом и стреляет по городу (или по чему то еще, не важно). Мне нужно это для миссии: "вражеская артиллерия обстреливает позиции союзников. Задача отряда проникнуть на территорию противника, обнаружить артиллерийскую позицию и уничтожить ее".

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

6. И последний вопрос smile Едет колонна из нескольких грузовиков с пехотой, первая машина подрывается на мине (взорвалась она или просто повредилась не должно влиять на суть), после чего все остальные машины останавливаются и из них выгружается пехота, и начинает вести бой. Как это реализовать?

P. S. Fess, если ты почитаешь всю эту мою писанину, то можешь мне сразу ответить и сказать: потрудишься ты над ответами к моим вопросам или нет? Просто ответы мне реально важны, а я не хочу изменять твоему форуму и писать где либо еще =D
Заранее спасибо!
 
FessДата: Среда, 12.02.2014, 19:55 | Сообщение # 2

Добрый админ
Сообщений: 2338
Статус:
Цитата SS_Panzer_Division ()
1)Юнит садится в технику?

В условие < unitname in vehiclename >

Цитата SS_Panzer_Division ()
2)Когда миссия просто начинается (триггер должен переключиться с самого начала игры)?

В условие просто < true > или < time > 0 >

Цитата SS_Panzer_Division ()
3)Происходит взрыв мины?

В условие < !alive minaname >, minaname - переменная, в которой находится твоя мина. Недавно в соседней теме я уже приводил пример, как можно забить в переменную целое здание, после чего его можно, например, сносить командой dom setDamage 1.

Цитата SS_Panzer_Division ()
4)Две группы объединяются в одну по средствам маршрутных точек?

В поле активации (не в условие!) марш.точки с типом "Присоединиться"\"Присоединиться и возглавить" напиши что-нибудь вроде < groupjoined = true >, а в условие активации триггера напиши < groupjoined >

Цитата SS_Panzer_Division ()
5)Парашютист приземляется?

Я не уверен, но можешь попробовать в поле активации < getPos parashytist select 2 < 5 >. Есть вероятность, что getPos вернет не высоту над землей, а высоту над уровнем моря. Мне сейчас не на чем проверять, так что тебе придется это проверять самому). Чтобы триггер не срабатывал, когда от парашютиста до земли будет 5 метров (например, если ты будешь сохранять игру, то будет некрасиво сохранять игрока перед приземлением, лучше сделать это после), можешь поставить триггер на задержку. В низу там есть 0, 0, 0 - замени на 20, 20, 20 (или на сколько тебе надо секунд).

Цитата SS_Panzer_Division ()
2. Что прописать или поставить в маршрутной точке, что бы у группы было задание уничтожить объект? Это достаточно примитивная основа простой миссии, но я так и не смог это реализовать. То есть у группы задание: "подорвать вражеский танк" (с помощью взрывчатки). Сапер должен подойти к танку и заложить взрывпакет, после чего отойти с группой на безопасное расстояние и взорвать его, миссия выполнена! Если этого нельзя сделать без длинных скриптов и т.д., то я вообще не понимаю зачем в некоторых отрядах есть саперы с множеством мин и взрывчатки в снаряжении, если они не могут ими пользоваться!?

Сделать задание - просто.

[group player, "nazvanieZadaniaNaLatinice",["Это описание твоей супер опупенной задачи","Имя задачи","Имя задачи"], getMarkerPos "названиемаркеранакартеанглбуквами_тутбудетстрелочкакудаидти", false, 10] call BIS_fnc_taskCreate;

Чтобы выполнить\провалить, создаешь триггер и в активацию < ["nazvanieZadaniaNaLatinice","Succeeded"] call BIS_fnc_taskSetState; >. Вместо succeeded можно писать Failed.

Заставить бота поставить мину под танк - занятие скорее для мазохистов. И черт возьми, я этим занимался biggrin В идеале, чтобы бот поставил мину в нужную точку, вокруг не должно быть врагов. А то он начинает бояться и прятаться, а потом может поставить бомбу себе под ноги, вместо того, чтобы лезть под пули. Стандартный мозг у ботов слишком маленький, чтобы обдуманно подползти, заложить мину, уползти, взорвать. Поэтому без скриптов тут никак.

1) В папке с миссией создай файл init.sqf
2) Вставь туда это

Код
FESS_fnc_SetBomb = {
   /*
   Описание
    soldier устанавливает С4 в позиции placepos
   Использование
    [soldier, placepos] spawn FESS_fnc_SetBomb;
    для взрыва в нужный момент используем soldier action ["TOUCHOFF", soldier]
   */
   _man = _this select 0;
   _pos = _this select 1;
   _man doMove _pos;
     
   waitUntil{!alive _man || _man distance _pos < 3}; // Дистанция для закладки С4 - 3 метра
   if(alive _man) then {   
    _man action ["SETTIMER", "DemoCharge_Remote_Mag"];
    sleep 0.5;
    _man Fire ["DemoChargeMuzzle", "DemoChargeMuzzle", "DemoCharge_Remote_Mag"];
      
    // Раскомментировать строку для превращения сапера в солдата-смертника :DDD
    // _man action ["TOUCHOFF", _man];
    };
   };

3) Поставь в игре триггер, в описание триггера напиши "Приказать взорвать танк", активация Радио Альфа.
4) В поле активации пишешь < [soldiername, getPos tankname] spawn FESS_fnc_SetBomb; >

Теперь в нужный момент нажимаешь 0-0-1, и твой бот бежит бежит закладывать бомбу.

5) Создаешь триггер, который будет подрывать, в активацию пишешь < soldiername action ["TOUCHOFF", soldiername]; >, Радио Бета (или как там), описание : "Взорвать заряд".

Тут есть небольшая вероятность, что взорвать заряд можно будет только с дистанции, не превышающей 100 метров.
Такая дистанция была установлена в А2 для игрока. Как это сработает с ботами - не знаю, проверь.
Возможно, они смогут подрывать заряд с какой угодно дистанции.

Если не хочешь подрывать самостоятельно, можно поставить таймер. Тогда раскомментируй те две строчки и после < _man Fire [...]; > напиши < sleep 30; >. Это установит таймер в 30 секунд. НО если сапер погибнет раньше срока, то бомбу уже никак не взорвать.

Цитата SS_Panzer_Division ()
3. В ArmA III есть модуль "случайный патруль", если тебе не сложно, то пожалуйста объясни как им пользоваться?! Там в описании сказано что то о синхронизации гражданских и командиров групп с контрольными точками и т.д., я вообще ничего не понял из того, что там написано =D

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

Цитата SS_Panzer_Division ()
4. Как заставить артиллерийскую установку имитировать обстрел вражеских позиций? То есть стоит пушка с поднятым стволом и стреляет по городу (или по чему то еще, не важно). Мне нужно это для миссии: "вражеская артиллерия обстреливает позиции союзников. Задача отряда проникнуть на территорию противника, обнаружить артиллерийскую позицию и уничтожить ее".



Цитата SS_Panzer_Division ()
5. Что прописать, что бы после переключения триггера начиналась вторая часть миссии? Например группа подходит на место встречи с остальными бойцами, потом идет затемнение экрана и вы уже едите на машине или сидите в засаде в другой точке на карте.

http://fess-style.ucoz.ru/forum/78-9046-1

Цитата SS_Panzer_Division ()
6. И последний вопрос Едет колонна из нескольких грузовиков с пехотой, первая машина подрывается на мине (взорвалась она или просто повредилась не должно влиять на суть), после чего все остальные машины останавливаются и из них выгружается пехота, и начинает вести бой. Как это реализовать?

http://fess-style.ucoz.ru/forum/78-9048-1
 
SS_Panzer_DivisionДата: Суббота, 15.02.2014, 08:18 | Сообщение # 3

Сообщений: 28
Статус:
Уважаемый Fess, спасибо тебе большое за такой быстрый ответ))) а как "добавить ссылку на тему в шапке"? (Я тогда просто создам 2 новые темы)

Добавлено (13.02.2014, 00:46)
---------------------------------------------
Уважаемый Fess, на счет вопроса 2. (Про взрывчатку), у меня скрипт отказывается работать =( сделал все в точности как ты написал, но бот просто подбегает к точке, проигрывается анимация закладывания взрывпакета, после чего он стоит на месте (взрывчатки нет)...

Добавлено (15.02.2014, 08:18)
---------------------------------------------
Уважаемый Fess, за скрипт стрельбы техники по точке я тебе бесконечно благодарен!!!!!!! Но что значит строчка _ob = nearestObject [ _strelok, "R_GRAD"]; ??? И почему там "R_GRAD"? Видимо нужно вписать другое название?


Сообщение отредактировал SS_Panzer_Division - Суббота, 15.02.2014, 08:36
 
FessДата: Суббота, 15.02.2014, 15:21 | Сообщение # 4

Добрый админ
Сообщений: 2338
Статус:
Цитата SS_Panzer_Division ()
сделал все в точности как ты написал, но бот просто подбегает к точке, проигрывается анимация закладывания взрывпакета, после чего он стоит на месте (взрывчатки нет)...

Раньше эта команда работала (и то, подбирал я ее чередой проб и ошибок, долго мучился), сейчас перестала. Возможно что-то попутали BIS'ы [бесы :D]. Проблема возникает именно с командой < botname Fire ["DemoChargeMuzzle", "DemoChargeMuzzle", "DemoCharge_Remote_Mag"]; >

Я НЕ знаю, как можно по-другому заставить бота положить С4.

Цитата SS_Panzer_Division ()
Уважаемый Fess, за скрипт стрельбы техники по точке я тебе бесконечно благодарен!!!!!!! Но что значит строчка _ob = nearestObject [ _strelok, "R_GRAD"]; ??? И почему там "R_GRAD"? Видимо нужно вписать другое название?

Вероятно, эта штука удаляет вылетевший снаряд. Я думаю, в данном случае строчки

Код
_ob = nearestObject  [ _strelok, "R_GRAD"];  
sleep 0.5;  
deleteVehicle _ob;

можно удалить совсем)
 
Graf2013Дата: Четверг, 27.02.2014, 22:54 | Сообщение # 5

Авы нет

Сообщений: 3
Статус:
Уважаемый Fess, ты заметил?
 
FessДата: Пятница, 28.02.2014, 17:27 | Сообщение # 6

Добрый админ
Сообщений: 2338
Статус:
Цитата Graf2013 ()
Уважаемый Fess, ты заметил?

Что?)
 
Форум » Форум Редакторов » Редактор ARMA » Несколько вопросов
Страница 1 из 11
Поиск: