Скрипт запускает миномётный или артиллерийский обстрел позиции указанного юнита. Для работы скрипта нет необходимости расставлять пушки или миномёты. Основное назначение скрипта: создание фоновых арт-обстрелов, не убивающих игрока. Скрипт так построен, что снаряды ложатся в определённом радиусе вокруг указанного юнита, при этом вокруг юнита создаётся мёртвая зона, куда снаряды не попадают, т.е. от такого обстрела указанный юнит погибнуть не может.
Пример использования: массовое наступление войск, среди которых есть игрок. Данным скриптом запускаем обстрел позиции игрока, в итоге движение войск будет подвергаться обстрелу, будут гибнуть солдаты и гореть техника, но игрок гарантированно добежит до цели невредимым. Т.е. создаётся некий фон боевых действий.
Сам скрипт:
Quote
Скрипт минометного обстрела
; Параметры:
; 1. Указатель на игрока-мишень
; 2. Тип снарядов ("ARTY" - артиллерия, "MINES" - миномет)
; 3. Среднее время между выстрелами (сек)
; 4. Количество выстреливаемых мин _count = 0
_type = "";
? (_this select 1 == "ARTY") or (_this select 1 == "arty") : _type="SH_85_HE"; _far = 50
? (_this select 1 == "MINES") or (_this select 1 == "mines") : _type="G_40mm_HE"; _far = 25
? _type == "" : hint "Ошибка: Неизвестный тип снарядов"; exit
#fire
_delay = _this select 2
_defl = _delay / 4
_delay = _delay + random _defl - random _defl
~_delay
;hint format["FIRE: %1", _count]
_kx = random 150 + _far
_ky = random 150 + _far
? floor (random 2) == 0 : _kx = -_kx
? floor (random 2) == 0 : _ky = -_ky
_cx = (getpos (_this select 0) select 0) + _kx
_cy = (getpos (_this select 0) select 1) + _ky
_bomb = _type createvehicle [_cx, _cy, 200]
_bomb setvelocity [0, 0, -100]
_count = _count + 1
? _count < _this select 3 : goto "fire"
Сохраняем скрипт в файл mines.sqs и кидаем в папку с миссией.
В скрипт передаются параметры: имя юнита, тип огня (ARTY - артиллерия, MINES - миномёт), среднее время между выстрелами (сек), кол-во выстрелов).
Пример запуска (прописываем на инициализацию игрока):
[this, "ARTY", 10, 20] exec "mines.sqs" - обстрел артиллерией.
[this, "MINES", 5, 20] exec "mines.sqs" - обстрел миномётом.
[this, "ARTY", 10, 20] exec "mines.sqs"; [this, "MINES", 5, 20] exec "mines.sqs" - сразу и миномёт и артиллерия, причём миномёт стреляет в 2 раза чаще.
Автор:Arigato