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


Фотография

Арта по триггеру.


Лучший Ответ kolyanya , 14 December 2014 - 11:22

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

Разобрался сам . Надо в триггере прописать   mortar1 doArtilleryFire [[3000, 120, 1000], "8Rnd_82mm_Mo_shells", 3]

Перейти к сообщению


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

#1 OFFLINE   kolyanya

kolyanya

    Мл.сержант

  • Пользователи
  • 107 сообщений
  • Откуда:улан-удэ

Отправлено 13 December 2014 - 19:41

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


  • 0

#2 OFFLINE   kolyanya

kolyanya

    Мл.сержант

  • Пользователи
  • 107 сообщений
  • Откуда:улан-удэ

Отправлено 14 December 2014 - 11:22   Лучший Ответ

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

Разобрался сам . Надо в триггере прописать   mortar1 doArtilleryFire [[3000, 120, 1000], "8Rnd_82mm_Mo_shells", 3]


  • 2

#3 OFFLINE   gizmo

gizmo

    Ефрейтор

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

Отправлено 16 December 2014 - 18:32

Отлично:) Но не проще ли поставить триггер на модуль "эффекты--40мм снаряд"??. Это так, для несведущих в скриптах типа меня


  • 0

#4 OFFLINE   Djon

Djon

    Старшина

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

Отправлено 16 December 2014 - 18:46

gizmo, Лучше разбираться) Попробуй сделать поочередный минометный удар по населенному пункту на протяжении 1 минуты в разные точки поселка и посмотри как захламлена карта всем этим безобразием))) А с помощью скрипта можно обойтись без помарок) 


  • 0

#5 OFFLINE   Afeallan

Afeallan

    Ефрейтор

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

Отправлено 03 January 2015 - 20:18

Я дурак и не понял.
Как заставить миномёт бить в конкретную нужную мне точку с конкретной периодичностью? "3000, 120, 1000" - это координаты?
  • 0

#6 OFFLINE   Djon

Djon

    Старшина

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

Отправлено 03 January 2015 - 21:26

Afeallan, Миномет с именем "mortar1" поставили? В этой команде кто то должен стрелять, она не спавнит снаряды.  

Тут описана данная команда

 

Можете прописать в триггере и так

mortar1 doArtilleryFire [getMarkerPos "123", "12Rnd_230mm_rockets", 12];

поставить на карте сэндсторми с именем "mortar1" тогда по маркеру с именем "123" лупанет сэндсторм 230мм снарядами 12 раз. Эффектно получается и радиус поражения приличный.


Сообщение отредактировал Djon: 03 January 2015 - 21:35

  • 1

#7 OFFLINE   Afeallan

Afeallan

    Ефрейтор

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

Отправлено 03 January 2015 - 21:59

Djon, вот, так уже понятнее, спасибо. Не ясно было, как заставить конкретную арту бить в конкретную точку.
Но в команде числится конкретный вид боеприпаса. А у меня, к примеру, артиллерия из мода какого-нибудь. Как узнать, как называются её боеприпасы, чтобы прописать в команду?

Сообщение отредактировал Afeallan: 03 January 2015 - 21:59

  • 0

#8 OFFLINE   Djon

Djon

    Старшина

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

Отправлено 04 January 2015 - 11:14

Afeallan, Не задавался такой целью, но я думаю в конфигах самого мода можно найти, там где описывается данная арта и снаряды к ней. Каким еще способом это сделать я не знаю. Все что имеется в Arma3 можете найти тут  

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


  • 1

#9 OFFLINE   Afeallan

Afeallan

    Ефрейтор

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

Отправлено 04 January 2015 - 15:19

Djon, ясно, спасибо, буду искать.
А задать радиус атаки как-то можно? Допустим, миномёт на ближайших сотнях метров бьёт довольно точно, парой снарядов можно гарантированно снести технику. Можно заставить его бить по площади метров в 150?
  • 0

#10 OFFLINE   Djon

Djon

    Старшина

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

Отправлено 05 January 2015 - 00:36

Ни чего более интересного че то в голову не приходит.

arta = "B_MBT_01_mlrs_F" createVehicle (getMarkerPos "m1");// создали арту на маркере "м1"
sleep 2;//подстраховались
_group = createGroup west; // создали группу из двоих бойцов
u1 = _group createUnit ["b_survivor_F",getMarkerPos "m1",[],0,"FORM"];
u1 moveInAny arta;// каждого посадили в арту
	 
u2 = _group createUnit ["b_survivor_F",getMarkerPos "m1",[],0,"FORM"];
u2 moveInAny arta;	 
sleep 5; 
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];// производим выстрел со смещением по х и y на рандом ста
sleep 8;// такой задержки достаточно для выполнения предыдущего задания для данной арты
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];
sleep 8;
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1];

Результат: на маркере "м1" спавним арту и двух ботов, после появления боты без анимации занимают места водителя и стрелка, выполняют 12 выстрелов по координатам [14727, 16282] с смещением по Х и Y на рандом ста плюс. Имей введу, что рандом выстрелов будет смещаться всегда в одну сторону, для того чтобы рассчитать позицию по которой должен вестись огонь к нужной точке прибавь X+50 и Y+50 вот вокруг этой точки и будут падать снаряды. В данном случае ориентироваться нужно на координаты  [14777, 16332]  На изображении видно, что танк остается в стороне, он и был [14727, 16282]. Надеюсь понятно объяснил.

 

P.S. Если команда будет прописана так

arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 12];

То будет выбрано одно рандомное число и получишь 12 выстрелов в одну точку. 

Прикрепленные файлы


Сообщение отредактировал Djon: 05 January 2015 - 00:40

  • 1

#11 OFFLINE   Afeallan

Afeallan

    Ефрейтор

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

Отправлено 05 January 2015 - 00:56

Djon, мощно получается с таким количеством строк, но если вариант работает, учту его, спасибо.)
  • 0

#12 OFFLINE   Djon

Djon

    Старшина

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

Отправлено 05 January 2015 - 08:17

Afeallan, Короче сделал маленько

arta = "B_MBT_01_mlrs_F" createVehicle (getMarkerPos "m1"); 
sleep 2;
_group = createGroup west; 
u1 = _group createUnit ["b_survivor_F",getMarkerPos "m1",[],0,"FORM"];
u1 moveInAny arta;
	 
u2 = _group createUnit ["b_survivor_F",getMarkerPos "m1",[],0,"FORM"];
u2 moveInAny arta;
_zalp = 12; // создаем переменную и присваиваем ей значение равное значению снарядов в арте
waitUntil {sleep 8; _zalp = (_zalp - 1); // в цикле прописываем при каждом повторении отнимать от _zalp единицу 
arta doArtilleryFire [[14727+(random 100), 16282+(random 100)], "12Rnd_230mm_rockets", 1]; // тут ни чего нового
_zalp < 0}; // пока _zalp < 0 цикл будет повторяться, если = или > цикл завершен и выполнение всего того что написано ниже
deleteVehicle u1; // удалить бота u1 (не обязательно)
deleteVehicle u2; // удалить бота u2 (не обязательно)
deleteVehicle arta; // удалить арту  (не обязательно)
_hndl = "" execVM "arta.sqf"; // запустить данный скрипт снова (не обязательно)

Получаете бесконечную стрельбу по одной позиции. Меняйте то что вам нужно и вперед. Возможно есть и более простые решения. 

Там где стоит (не обязательно) можно удалить эту строку по желанию.


  • 0

#13 OFFLINE   AvtoDen

AvtoDen

    Рядовой

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

Отправлено 06 March 2019 - 18:20

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


  • 0




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