• Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Форум » Мастерская » В помощь картоделу » Скрипты » Useless scripts (Некоторые бес_полезные скрипты)
Useless scripts
BendeR
Пятница, 14.05.2021, 19:12
Оффлайн
Пользователь
небольшая тулза для скрипта выбора техники из этого поста

АРХИВ с ПБОшкой



добавляет в эден эдиторе в меню "Tool" ("Инструменты") опцию Export vehicle setup

Используется для быстрого экспорта в виде скрипта сетапов техники и ее основных настроек (лок, топливо, хп, аммо). Для использования расставить то что будет спавнить в сетапе, выделить и нажать на пункт меню. В буфер обмена будет скопирован код вида:


Код
//
_veh=createVehicle["B_Boat_Armed_01_minigun_F",[1694.57,5949.27,-0.0854356],[],0,"CAN_COLLIDE"];
vehicle_list pushBack _veh;
_veh setDir 82.5019;
clearItemCargoGlobal _veh;
clearMagazineCargoGlobal  _veh;
clearWeaponCargoGlobal  _veh;
clearBackpackCargoGlobal  _veh;

_veh lock 1;
_veh setDamage 1;
_veh setFuel 1;
_veh setVehicleAmmo 1;

//AFV-4 Gorgon
_veh=createVehicle["B_APC_Wheeled_03_cannon_F",[1751.64,5917.95,0],[],0,"CAN_COLLIDE"];
vehicle_list pushBack _veh;
_veh setDir 0;
clearItemCargoGlobal _veh;
clearMagazineCargoGlobal  _veh;
clearWeaponCargoGlobal  _veh;
clearBackpackCargoGlobal  _veh;

_veh lock 0;
_veh setDamage 0.783802;
_veh setFuel 0.415283;
_veh setVehicleAmmo 0.529651;

(в целом работает на любые объекты кроме ботов-те на укрепления и тп. в примере выше-лодка и горгона)

!Важно: не экспортится инвентарь, сетапы пилонов и не создается бот для беспилотников. Это пока нужно дописывать в получившийся файл самому (про то как-в оригинальном посте)

Проверить получившийся код можно выполнив его из консоли отладки запустив миссию
Сообщение отредактировал BendeR - Суббота, 15.05.2021, 14:48

 
BendeR
Суббота, 15.05.2021, 14:45
Оффлайн
Пользователь
маленький апдейт тулзы из предыдущего поста:
ССЫЛКА

-пофикшен экспорт хп
-добавлено автоматическое создание ботов для бпа
-добавлен экспорт инвентаря
-добавлен экспорт пилонов

известные баги и недоработки:
-не перекодируются русские названия техники в комментарии в начале каждого "блока" (удалите кракозябры и живите спокойно)
-не экпортятся ace-настройки и содержимое инита (просто перенесите код в блок соответствующей техники заменив все ваши this на _veh подумав о локальности: код будет выполнен только на сервере)

например задержка доступа к бпла или заправке самолетов/другой техники:
Сообщение отредактировал BendeR - Суббота, 15.05.2021, 15:50

 
BendeR
Пятница, 27.08.2021, 19:47
Оффлайн
Пользователь
Продолжение развития темы с томагавкми. Теперь оживляем корабельную и любую другую арту (те можно повтыкать условных нейтральных градов и тп)
Скрипт брать ТУТ
примеры вызова:

Код
[[arty1, arty2, arty3],target1] execVM "artillery.sqf";
[[arty1, arty2],target2,2,10,"magazine_ShipCannon_120mm_HE_cluster_shells_x2",0.5,4] execVM "artillery.sqf";

spawn {
   [[arty1],target1] call compile preprocessfilelinenumbers "artillery.sqf";
   [[arty1],target1] call compile preprocessfilelinenumbers "artillery.sqf";
};
(3й пример чисто чтобы показать как последовательно вызвать 2 и больше залпов)
Селить можно в тригеры, единственное но-выполнять на стороне сервера (в тригере галочка "только сервер"), в иниты со всякими "waituntil" и тд

По параметрам:
Два обязательных:
1) Массив арт (каждой арте присвоили имя, если надо в инит поставили this setVariable ["WMT_Side", sideLogic];  чтоб не отображалась в списках техники). Можно в теории использовать любую арту-минометы, самоходки, рсзо и тп
2) Цель. одна цель, можно пустой тригер, любой объект и тп у которого можно вернуть положение функцией position

Опциональные:
1) Количество залпов. По умолчанию каждая арта стрельнет по разу и успокоится
2) Дополнительный разлет (в десятках метров. те ставим 10-получаем сто). По-дефолту многая ванильная арта ужасно точная. Позволяет решить эту проблему или создать вид обстрела большой области
3) класснейм снаряда.  У каждого свои. По-умолчанию-ХЕ-шки от ванильных корабельных орудий, в примере выше-касеты от них же
разные классы снарядом (магазинов если быть точным, количество указано) для той же корабельной арты:

Код
"magazine_ShipCannon_120mm_HE_shells_x32","magazine_ShipCannon_120mm_HE_guided_shells_x2","magazine_ShipCannon_120mm_HE_LG_shells_x2","magazine_ShipCannon_120mm_HE_cluster_shells_x2","magazine_ShipCannon_120mm_mine_shells_x6","magazine_ShipCannon_120mm_smoke_shells_x6","magazine_ShipCannon_120mm_AT_mine_shells_x6"

4) задержка между выстрелами отдельных орудий, с
5) задержка между залпами, с

Общий принцип работы:
создать в арте ботов-экипажников, отстреляться, удалить ботов. Так что перезарядка между длительными залпами или при стрельбе "штучными" зарядами типа тех же касет на совести картодела
Сообщение отредактировал BendeR - Суббота, 28.08.2021, 11:40

 
BendeR
Вторник, 31.08.2021, 13:36
Оффлайн
Пользователь

Стрельба из VLS (ПУ крылатых ракет Venator) с простым указанием цели на карте



LINK (сам скрипт)

демо-миска

Недостатки скрипта:
1) не выбирает типа ракет для стрельбы, по-умолчанию заряжены HE. Переключить на кластеры можно самому скриптом
2) не следит за оставшимся бк в ПУ. Количество доступных пусков задается внутри скрипта переменной VLS_MISSILE_CNT

Как все это "приготовить"
поселить в init.sqf традиционным способом:

Код
[] execVM "vls.sqf";
и отредактировать в vls.sqf строки

Код
if (isNil "VLS_USERS") then { VLS_USERS = [b_ks]; };
(список тех кто может использовать)

Код
if (isNil "VLS_LAUNCHER") then { VLS_LAUNCHER = VLS; };
(имя переменной пусковой установки)

Код
if (isNil "VLS_MISSILE_CNT") then { VLS_MISSILE_CNT = 3; publicVariable "VLS_MISSILE_CNT";};
(начальное значение количества пусков. Рекомендую выставить в 0 и выдавать вручную скриптами или тригерами когда нужно)

и если планируется время полета ракет больше 30с (вообще можно использовать как "ограничитель" дальности)

Код
private _dummy_ttl=30;


небольшой пример "ручной" раздачи ракет для init.sqf, о которой я писал выше, используя переменные wmt:

Код
[] spawn {
   if (!isServer) exitWith{};
   waitUntil {uisleep 0.5;!isNil("WMT_pub_frzState")};//Все почему-то забывают
   waitUntil {uisleep 1;WMT_pub_frzState>=3};//Ждать окончания фриза
    VLS_MISSILE_CNT = VLS_MISSILE_CNT+1; publicVariable "VLS_MISSILE_CNT";//Выдаем
    waitUntil {uisleep 0.5;!isNil("WMT_Global_LeftTime")};//Вроде бесполезно, но на всякий случай
    waitUntil {uisleep 1;((WMT_Global_LeftTime select 0)<=4800)};//За 80 минут до окончания миссии
    VLS_MISSILE_CNT = VLS_MISSILE_CNT+1; publicVariable "VLS_MISSILE_CNT";//Выдаем
    waitUntil {uisleep 1;((WMT_Global_LeftTime select 0)<=600)};//За 10 минут до окончания миссии
    VLS_MISSILE_CNT = VLS_MISSILE_CNT+2; publicVariable "VLS_MISSILE_CNT";//Выдаем
};

Updt:
фикс для исправления пропадания функции огибания рельефа местности у ракет на больших дистанциях
-убрано удаление ботов в ПУ,  теперь просто при попытке подключения терминалом-юзера выкидывает и возможность подключения блочится. 
-обновлена тестовая миссия, теперь можно "пощупать" дамаг и точность по пехоте и ванильной технике
Сообщение отредактировал BendeR - Вторник, 31.08.2021, 17:52

 
BendeR
Среда, 01.09.2021, 15:47
Оффлайн
Пользователь
v1.2 скрипта пуска крылатых тактических ракет (ссылки в предыдущем посте)
-добавлена возможность создавать ограничения для стрельбы в виде зон разрешения и запрета
-добавлено настраеваемое и отключаемое оповещение о пуске

HowTo зоны стрельбы
Если на миссии не присутствует зон разрешения стрельбы-вся карта доступна для стрельбы, за исключением зон запрета
1) Простой метод: создать их на карте маркерами с названиями начинающимися на vls_ex для зон запрета стрельбы и vls_in для зон разрешения стрельбы. При старте скрипт сам их найдет и начнет использовать
2) Сложный метод (подходит для созданий динамических зон, их удалению и добавлению по ходу миссии): редактировать значения переменных VLS_EXCLUSION_ZONES и VLS_ALLOW_FIRE_ZONES (можно на сервере с отправкой через publicVariable). Можно использовать не только маркера, но и все возможные типы, поддерживаемые функцией inArea

HowTo сообщения о пуске
Выключить полностью: в скрипте в строке с
Код
#define SHOW_NOTIFICATION
заменить true на false

Выбрать стороны для которых сообщение отбражается: в скрипте отредактировать массив в строчке 
Код
if (isNil "VLS_NOTIFICATION_SIDES") then { VLS_NOTIFICATION_SIDES = [blufor]; };
(его так же можно менять как переменную по ходу миссии, например при выполнение сторонами каких-то целей)

Ну а ниже этой строчки-настройки самого сообщения. Все так же как в функции BIS_fnc_showNotification. Про нее проще почитать в вики и создать внешний вид сообщение под себя в description.ext

Ах да-все есть в миске доступной по ссылке в предыдущем посте. Распакуйте и переносите к себе. Там же можно оценить урон по технике и пехоте
Сообщение отредактировал BendeR - Среда, 01.09.2021, 15:54

 
BendeR
Четверг, 09.09.2021, 23:18
Оффлайн
Пользователь
v1.3 скрипта пуска крылатых тактических ракет (ссылки в предыдущем посте)
-фикс стрельбы на выделенном сервере (локальность пустышки-цели)
-добавлена возможности изменения списка игроков, управляющих ПУ из сторонних скриптов

known bugs (не работают оповещания если сервер-игрок)

HowTO: Изменение списка использующих VLS
общий список по прежнему живет в VLS_USERS. Все кто может (или будет мочь использовать ПУ вписываются туда)
Следующая за ним строчка VLS_CURRENT_USERS. По дефолту значение равно VLS_USERS (те все кто в первом списке могут стрелять если кол-во ракет в переменной VLS_MISSILE_CNT>0). Вот ее и надо менять (на сервере. те если засунули в какой нить addAction, который вызывается локально-не забудьте publicVariable)
Сообщение отредактировал BendeR - Четверг, 09.09.2021, 23:23

 
Morkontar
Суббота, 11.09.2021, 10:56
Оффлайн
Руководитель RBC
Командир отряда
а для работы скрипта необходим Аегис?
 
BendeR
Суббота, 11.09.2021, 11:08
Оффлайн
Пользователь
Если ты про ракеты-все ванильное, модов не требует-даже вмт

ПСы: Матвеин пожаловался что задержка между пусками маловата и лаунчер не успевает перезарядиться. (странно. вроде даже 12с хватало)

HowTO: делей между пусками
в начале скрипта поправить значение переменной VLS_LAUNCH_PRE (задержка в секундах)

HowTO: кассетный ракеты
Честно-лучше не надо. У пехоты и легкой техники шансов выжить в радиусе 120 метров почти нет
Команда на переключение:
Код
VLS_LAUNCHER loadMagazine [[0],"weapon_VLS_01","magazine_Missiles_Cruise_01_Cluster_x18"];
А потом перезарядка аж 5 минут. Так что до следующего патча армы (где добавят ряд новых команд управления и контроля времени перезарядки) вам придется отключить возможность стрелять и сделать задержку на перезарядку самим, скриптом
Сообщение отредактировал BendeR - Суббота, 11.09.2021, 11:15

 
Morkontar
Суббота, 11.09.2021, 11:14
Оффлайн
Руководитель RBC
Командир отряда
Миска просто не открывается без АЕГИСа, пишет что необходим.
Хотел просто на втн пихнуть. У нас есть ВМТ, но нет Аегиса.


 
BendeR
Суббота, 11.09.2021, 11:22
Оффлайн
Пользователь
Ну это уж сама миска. Возьми скрипт отдельно по ссылке, посели в инит вызов, создай ПУ с именем VLS и бота с именем b_ks, все заработает по идеи. Дальше уже по гайдику настраивай
Сообщение отредактировал BendeR - Суббота, 11.09.2021, 11:47

 
BendeR
Воскресенье, 19.09.2021, 15:27
Оффлайн
Пользователь
Обновленный скрипт для ванильных БПА и БПЛА

фиксит:
-баг с дисконектом подключенного (после которого нельзя повторно подключиться к беспилотнику)
-фары у стомперов и их аналогов (теперь можно юзать их ночью без тупого бота постоянно включающего весь свет)

отключает:
-сенсоры ("точки" на радаре) у всех
-лцу у дартеров
-мозги аи (автоматическую стрельбу турели по видимым целям)  у стомперов и тп (маршрутный автопилот оставлен)

LINK

вызывать из init.sqf
если надо добавить другие беспилотники-редактируете списки классов в самом скрипте
Сообщение отредактировал BendeR - Воскресенье, 19.09.2021, 15:30

 
Форум » Мастерская » В помощь картоделу » Скрипты » Useless scripts (Некоторые бес_полезные скрипты)
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:


Правила чата
Мини-чат
+Мини-чат
0