Модератор форума: GUNNER161, Panikaha |
Форум » РЕДАКТОР - ArmA 3 » Скрипты » Скрипт обороны (Взаимодействие нескольких групп в обороне) |
Скрипт обороны |
› Воскресенье
› 03.11.2013
› 21:12
› Сообщение #
Накопилось много вопросов, так что решил создать новую тему.
Суть такова: пытаюсь создать скрипт взаимодействия бойцов, согласно принятым в ВС действиям. Вычитал, что оборона мотострелкового отделения состоит из трех групп. Построение групп - в линию, уступами и т.д. Еще нужно ковырять но для начала принял построение групп: резерв (охрана штаба) - в середине, еще две группы - по краям, немного (на 100м) впереди. Между группами - 300м. И началось. Каждый боец все видимые цели передает командиру и др. бойцам группы. Все цели группируются по трем категориям: люди, танки, машины. За каждой группой закреплен один миномет, который при достижении противником радиуса поражения (450м) начинает обстрел. И вот тут я уперся. Массивы целей имеют в составе ID объектов, по которым можно узнать все: от позиции бойца до количества патронов в текущей обойме. Т.е. если убить всех бойцов группы (или все бойцы отвернутся), миномет все равно будет стрелять, а это как-то не естественно. Скрипт минометного обстрела имеет периодичность - 6 с на перезарядку. Можно создать цикличность создания массивов целей - 6 с. с последующим удалением массива. Но массивы имеют вид глобальной переменной, чтобы было удобнее передавать их. В общем как-то коряво по логике. Нужна помощь. Есть еще несколько не реализованных моментов: Все видимые группами цели передаются офицеру, который: -назначает стрельбу гаубиц с закрытых позиций по танкам в зависимости от опасности(?); -в случае больших потерь (50%) в смежных группах, направляет резерв в помощь; Прикрепления:
mortar_82.sqf
(2.0 Kb)
·
info_group.sqf
(2.3 Kb)
·
antitank_group.sqf
(0.9 Kb)
·
oborona_v_okope.sqf
(0.7 Kb)
|
› Воскресенье
› 03.11.2013
› 21:20
› Сообщение #
|
› Воскресенье
› 03.11.2013
› 23:10
› Сообщение #
Окопный скрипт еще делать и делать. Хочу добавить принудительное перемещение медика к раненому, главное навять целераспределение. Т.е. определить важность цели (может через рейтинг?). Времени нет. Да и ручки кривенькие, нужно по 10 раз все проверять. А по поводу удержания позиции - хочу через офицерский скрипт реализовать.
|
› Пятница
› 15.11.2013
› 17:18
› Сообщение #
Добавил скрипт пополнения боезапаса. Боец группы, при использовании всех магазинов, двигается к ящику с боеприпасами в радиусе 100 м. Есть идеи по улучшению - подсказывайте.
Прикрепления:
perezaryadka.sqf
(0.8 Kb)
|
› Пятница
› 15.11.2013
› 19:32
› Сообщение #
Обновленный antitank_group.
Прикрепления:
4939903.sqf
(2.2 Kb)
|
› Среда
› 20.11.2013
› 12:41
› Сообщение #
Скрипт упреждающего огня по движущейся цели САУ Cokop.
Описание внутри скрипта. Прикрепления:
cokop_upr.sqf
(2.3 Kb)
|
› Среда
› 20.11.2013
› 12:48
› Сообщение #
Офицерский скрипт.
Работает пока жив офицер (центральная фигура организации обороны). Активирует готовность обороны групп, получает и классифицирует информацию о известных целях, назначает уничтожение целей САУ Cokop. Прикрепления:
oficer.sqf
(3.6 Kb)
|
› Среда
› 20.11.2013
› 12:56
› Сообщение #
Скрипт обороны группы.
Работает пока жив лидер группы. Каждый боец группы сообщает информацию о видимых целях лидеру группы, информация классифицируется, активируется миномет, бойцы противотанковой группы получают цели для уничтожения, при использовании боезапаса к стрелковому оружию бойцы ищут ящики для пополнения боезапаса. Прикрепления:
group.sqf
(2.0 Kb)
|
› Среда
› 20.11.2013
› 12:59
› Сообщение #
Подправленный скрипт упреждающего огня миномета Mk6.
Прикрепления:
5503174.sqf
(2.0 Kb)
|
› Среда
› 27.11.2013
› 20:27
› Сообщение #
Добавил скрипт пополнения боезапаса. Боец группы, при использовании всех магазинов, двигается к ящику с боеприпасами в радиусе 100 м. Есть идеи по улучшению - подсказывайте. Я бы такое с удовольствием использовал бы |
› Пятница
› 29.11.2013
› 12:35
› Сообщение #
andrucio, сейчас работаю над скриптом помощника. По замыслу при использовании боезапаса, помощники (гранатометчика или пулеметчика) двигаются к стрелку и передают ему содержимое своих рюкзаков.
|
› Суббота
› 30.11.2013
› 01:20
› Сообщение #
Пока есть вот это:
Прикрепления:
peredacha.sqf
(0.9 Kb)
|
› Среда
› 04.12.2013
› 22:16
› Сообщение #
Сварганил скрипт, по которому если у бойца закончились обоймы к основному оружию, то он пополняет боезапас от погибшего солдата. Пополнение происходит от ближайшего погибшего вне зависимости от количества нужных обойм у него. Делал как составную часть скрипта отделения, но можно использовать и отдельно. На тесте работал ровно, но если кто предложит исправления - буду благодарен.
Прикрепления:
maroder.sqf
(1.8 Kb)
|
› Четверг
› 05.12.2013
› 00:33
› Сообщение #
Понял, наконец, что меня смущало в выложенном скрипте перезарядки..
Код // добавить бойцу 3 обоймы _un addMagazines [_mg, 3]; А здесь.. обязательно после action ["TakeMagazine" добавлять addMagazines? Он и так берет, правда, одну штуку.. а остальные из невидимых "закромов родины" |
› Четверг
› 05.12.2013
› 13:57
› Сообщение #
andrucio, вот я и поймался. Кстати, действительно спасибо за замечание.
По логике если в одном месте прибыло, то в другом месте должно убыть. Т.е. в maroder нужно у мертвого удалить все нужные обоймы строкой _dead_0 removeMagazines _mg;, все равно боец забирает все обоймы. Можно, конечно, набирать обоймы через _un action ["TakeMagazine", (_dead_0),_mg];, но, во-первых на это уходит время, и бойца могут убить, пока он будет старательно изображать пополнение; во-вторых, в игре контролируемый машиной юнит, легко взмахнув один раз ручкой, набирает патронов во все карманы; в-третьих пока не знаю как прописать _un action... столько раз, сколько останется обойм у погибшего. С ящиком в perezaryadka еще сложнее. Все обоймы после одной перезарядки удалять глупо, значит нужно удалять по одной обойме _box removeMagazine _mg; столько раз, сколько боец забирает за один визит, а значит набирать он должен такое кол-во обойм, чтобы начальное кол-во обойм в ящике делилось на кол-во визитов без остатка. |
| |||
Чат сайта |