Информация на сайте есть и ее очень много,но вот как это реализовать я не умею. Выручайте , сам новичок, но не как не могу сделать арт удары миномета по координатам. Арта будет через триггер. Допустим надо 5 точек для арт. удара ( Пример. координаты 100, 200,150. и таких разных 5 шт) но что бы если это возможно было сделать рандомно. Если есть у вас есть скрип арт.обстрела. И если можно доходчиво объясните как этот скрипт, правильно сохранить в блокноте и как все это реализовать в игре .( где и какой текст именно прописывать в инициализации арты, триггера. ) Выручайте и заранее спасибо.

помогите с артиллерией
#1
OFFLINE
Отправлено 02 August 2018 - 16:48
#2
OFFLINE
Отправлено 03 August 2018 - 00:43
arbidol1983, вот кусок кода, выдранный из миссии "Побег с ...":
"DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 15; _target = selectRandom allPlayers; _null = [_target,"Sh_82mm_AMOS",200,18,2,nil,nil,nil,nil,["mortar1","mortar2"]] spawn BIS_fnc_fireSupportVirtual;
Насчёт остального, есть подходящий раздел
.
#3
OFFLINE
Отправлено 03 August 2018 - 11:14
Schatten спасибо. Разделы читал так и не понял там не чего.arbidol1983, вот кусок кода, выдранный из миссии "Побег с ...":
"DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 15; _target = selectRandom allPlayers; _null = [_target,"Sh_82mm_AMOS",200,18,2,nil,nil,nil,nil,["mortar1","mortar2"]] spawn BIS_fnc_fireSupportVirtual;Насчёт остального, есть подходящий раздел
.
#4
OFFLINE
Отправлено 03 August 2018 - 14:20
arbidol1983, вот кусок кода, выдранный из миссии "Побег с ...":
"DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 15; _target = selectRandom allPlayers; _null = [_target,"Sh_82mm_AMOS",200,18,2,nil,nil,nil,nil,["mortar1","mortar2"]] spawn BIS_fnc_fireSupportVirtual;Насчёт остального, есть подходящий раздел
.Schatten спасибо. Разделы читал так и не понял там не чего.
Постараюсь описать. Может кто поопытнее меня поправит.
На карте ставишь маркеры. Сколько угодно маркеров с любым названием (у меня это m_1,m_2,m_3).
Создаешь текстовый файл в папке с миссией с расширением sqf, например arta.sqf.
В него пишешь следующий код:
_pos = getMarkerPos (selectRandom ["m_1","m_2","m_3"]); [_pos, "Sh_82mm_AMOS", 100, 3, 10] spawn BIS_fnc_fireSupportVirtual;
в первой строчке в квадратных скобках перечисляешь все свои созданные маркеры.
"Sh_82mm_AMOS" - название снаряда
100 - радиус
3 - количество снарядов
10 - время артобстрела в секундах
Далее на карте создаешь в триггер с нужным условием и в его активацию пишешь
0 = execVM "arta.sqf";
Ну вот собственно и все
Сообщение отредактировал moroz89: 03 August 2018 - 15:03
#5
OFFLINE
Отправлено 03 August 2018 - 15:10
moroz89. Вот спасибо большое за подробное разъяснения. Проверю отпишусь.
arbidol1983, вот кусок кода, выдранный из миссии "Побег с ...":
"DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 2; "DistantMortar" remoteExec ["playSound"]; sleep 15; _target = selectRandom allPlayers; _null = [_target,"Sh_82mm_AMOS",200,18,2,nil,nil,nil,nil,["mortar1","mortar2"]] spawn BIS_fnc_fireSupportVirtual;Насчёт остального, есть подходящий раздел
.Schatten спасибо. Разделы читал так и не понял там не чего.
Постараюсь описать. Может кто поопытнее меня поправит.
На карте ставишь маркеры. Сколько угодно маркеров с любым названием (у меня это m_1,m_2,m_3).
Создаешь текстовый файл в папке с миссией с расширением sqf, например arta.sqf.
В него пишешь следующий код:
_pos = getMarkerPos (selectRandom ["m_1","m_2","m_3"]); [_pos, "Sh_82mm_AMOS", 100, 3, 10] spawn BIS_fnc_fireSupportVirtual;в первой строчке в квадратных скобках перечисляешь все свои созданные маркеры.
"Sh_82mm_AMOS" - название снаряда
100 - радиус
3 - количество снарядов
10 - время артобстрела в секундах
Далее на карте создаешь в триггер с нужным условием и в его активацию пишешь
0 = execVM "arta.sqf";Ну вот собственно и все
#8
OFFLINE
Отправлено 03 August 2018 - 22:24
Скрипт проверил работает, только к сожалению арта бьет только одна т.е m_2? других нет m_1,m_3 нет разрывов.
Не понимаю, что не так.
Допустим надо 5 точек для арт. удара ( Пример. координаты 100, 200,150. и таких разных 5 шт) но что бы если это возможно было сделать рандомно.
moroz89 предложил то, что и требовалось: выбирается случайная точка и по ней происходит отработка.
Или к текущему моменту хотелка поменялась, а изменения в исходные данные не были внесены?
Сообщение отредактировал Schatten: 03 August 2018 - 22:26
#9
OFFLINE
Отправлено 03 August 2018 - 23:27
Schatten. Как вы говорите хотелка у меня не поменялась, я может не правильно выразился или меня не так поняли. Попытаюсь еще раз написать нужен арт. обстел. Пример у меня будет не 3, а 20-30-40 точек,на примере было 3 , как на скипте выше от moroz89 Спасибо ему за это большое, это был пример что бы мне можно было дальше выставить то кол-во снаряда которые упадут., но рандом заключается не то что бы в одну из 20 точек упадет один снаряд, а есть 20 точек и рандом заключается в том что снаряд арты падает на m_1, потом допустим m_3, потом m_2 и.т.д, это примеры или m_3, потом m_1,потом m_2 и.т.д.Может так и нельзя так реализовать я не знаю.Если так нельзя, то можно 2 простых скрипта на арту 1.допустим на 3 точки на постоянной основе(арта будет бить на 20 точек постоянно с промежутком времени 1 минуту) или Как то маркер на карту поставлю и пусть рандомом на маркере в разные места арта будет бить) , если нет такого рандома. Я возможно не правильно что то объяснил вы не обессудьте. Спросите что не так или я возможно не прав.Просто карта большая и не хотелось что бы арта постоянно била по тем координатам что указал. Нужен антураж в городе и соответственно и урон от арты. Парни если бы я знал как правильно это сделать я бы здесь не писал, я не могу и очень многого не умею да и ресурсов где спросить можно по пальцем пересчитать а уж об помощи и практике и говорить не стоит, видео на ютубе очень мало по арме да еще и нормальной реализацией, может где то и не правильно ставлю вопрос уж извините. Но спросить мне не где. Т.ч спасибо большое за помощь.
Сообщение отредактировал arbidol1983: 03 August 2018 - 23:33
#10
OFFLINE
Отправлено 03 August 2018 - 23:47
Скорее первое, раз два человека не поняли, в чём проблема.я может не правильно выразился или меня не так поняли.
Вообще-то в примере на точку упадёт не один снаряд.но рандом заключается не то что бы в одну из 20 точек упадет один снаряд
То есть по снаряду на точку?есть 20 точек и рандом заключается в том что снаряд арты падает на m_1, потом допустим m_3, потом m_2 и.т.д
Количество регулируется 4-ым аргументом функции .
В общем, выкладываю такой вариант:
_markers = [ ... ] call BIS_fnc_arrayShuffle; { _scriptHandle = [getMarkerPos _x, "Sh_82mm_AMOS", 100, 3, 10] spawn BIS_fnc_fireSupportVirtual; waitUntil { sleep 1; scriptDone _scriptHandle }; } forEach _markers;В этом случае отработка произойдёт поочерёдно по всем точкам в произвольном порядке.
Сообщение отредактировал Schatten: 03 August 2018 - 23:50
#11
OFFLINE
Отправлено 04 August 2018 - 00:02
#12
OFFLINE
Отправлено 04 August 2018 - 00:16
arbidol1983, всё уже расписал moroz89 здесь. Разница лишь в том, что в arta.sqf нужно вставить мой код + вместо многоточия перечислить названия маркеров (опять же, как в примере moroz89).