• Страница 1 из 1
  • 1
Форум » Мастерская » В помощь картоделу » Скрипты » Useless scripts (Некоторые бес_полезные скрипты)
Useless scripts
BendeR
Вторник, 26.03.2019, 23:44
1
Оффлайн
Участник сообщества
Тут постепенно буду выкладывать свои говноскрипты. Мало ли какому ракоделу это окажется полезно

Скрипт удаления у бпла тепловизоров/меток тепловых целей на радаре/лцу

Полезно, если в сборке нет переопределенных классов БПЛА, тк простое удаление сенсоров у них можно обойти сборкой-разборкой и функцией "hack".

Код
if(!isServer) exitWith {};
//uav_param.sqf
//by [STELS]BendeR 03.2019

_g=[] spawn {
    private _bpla=[];
    while{true} do {
        {
            if (!(_x in _bpla))then{
                //Сюда вписываем-убираем типы бпла. Сейчас вписаны дартеры всех сторон+стационарный лцу CSAT
                if((typeOf _x) in ["O_UAV_01_F", "I_UAV_01_F", "B_UAV_01_F","O_Static_Designator_02_F"])then{
                    //Строчки ниже коментим по вкусу
                    //_x disableTIEquipment true; //Тепловизор
                    _x enableVehicleSensor ["IRSensorComponent",false];//Отметки больших тепловых целей
                    _x enableVehicleSensor ["ManSensorComponent",false];//Отметки малых тепловых целей   
                    _x removeWeaponTurret ["Laserdesignator_mounted",[0]];//ЛЦУ
                    _bpla pushBackUnique _x;
                };
            };
        } forEach allUnitsUAV;
        uiSleep(10);   
    };
};




warn! версия скрипта ниже требует доработки. возможное решение-каждый раз отключать аи после освобождения управления турелью игроком
версия для любителей использовать ванильные БПА и БПЛА с вооружением. Отключаем АИ ботов, позволяющий им при включение в терминале галки "Автономный режим" самостоятельно находить цели и вести огонь


Код

  if(!isServer) exitWith {};

_g=[] spawn {
   private _bpla=[];
   while{true} do {
      //Отключаем тпв и радар для дартеров и прочих
      {
         if (!(_x in _bpla))then{
            if((typeOf _x) in ["O_UAV_01_F", "I_UAV_01_F", "B_UAV_01_F"])then{      
               //Дартеры и им подобные
               _x disableTIEquipment true;
               _x enableVehicleSensor ["IRSensorComponent",false];
               _x enableVehicleSensor ["ManSensorComponent",false];         
               _bpla pushBackUnique _x;
            };
            if((typeOf _x) in ["O_T_UGV_01_ghex_F", "O_T_UGV_01_rcws_ghex_F"])then{               
               //Стомперы и им подобные
               _x disableTIEquipment true;
               _x enableVehicleSensor ["IRSensorComponent",false];
               _x enableVehicleSensor ["ManSensorComponent",false];   

               _x disableAI "AUTOTARGET";
               _x disableAI "TARGET";
               _x disableAI "WEAPONAIM";
               _x disableAI "AUTOCOMBAT";
               _x disableAI "COVER";
               _x disableAI "CHECKVISIBLE";
               _x disableAI "AIMINGERROR";
               _x disableAI "SUPPRESSION";
                           
               _bpla pushBackUnique _x;
            };
         };
      } forEach allUnitsUAV;
      uiSleep(10);   
   };
};
Сообщение отредактировал BendeR - Вторник, 30.04.2019, 17:55

 
BendeR
Вторник, 26.03.2019, 23:48
2
Оффлайн
Участник сообщества
Еще один скрипт радара. Точнее сонара (который показывает SDV на карте). Легко переделывается в любой другой радар, отдельно коментировать не буду-подобных скриптов сотни. Единственное "но"-нет проверки на захват техники врагом

Код
//[unit, side, types, distance, ["marker_icon","color"]] execVM local_radar.sqf;
//example for init.sqf: [boat01, OPFOR, ["B_SDV_01_F"], 100,["o_naval","ColorRed"]] execVM local_radar.sqf;
//v2 shitty script by [STELS]BendeR

if (isDedicated||((side player)!=(_this select 1))) exitWith {};

   _g=[(_this select 0), (_this select 2),(_this select 3),(_this select 4)] spawn {
         private _unit       = _this select 0;
         private _classnames = _this select 1;
         private _dist       = _this select 2;
         private _m_icon      = (_this select 3) select 0;
         private _m_color      = (_this select 3) select 1;
               
         while{alive _unit} do {
               private _Pos = getPosASL _unit;
               private _objs = _Pos nearEntities [_classnames,_dist];
               private _markers = [];
               {
                  private _str = format ["mrk_%2_%1", _forEachIndex, _unit];
                  private _mkr = createMarkerlocal [_str, getPos _x];
                  _mkr setMarkerShape "ICON";
                  _mkr setMarkerTypeLocal _m_icon;
                  _mkr setMarkerColorLocal _m_color;
                  _markers pushBackUnique _mkr;
               }foreach _objs;
            uiSleep(1);
            {
               deleteMarkerLocal _x;
            }foreach _markers;         
         };
      };
Сообщение отредактировал BendeR - Среда, 27.03.2019, 00:30

 
BendeR
Среда, 27.03.2019, 00:12
3
Оффлайн
Участник сообщества
Томагавки
Чтобы ебануть по Тбилиси объекту с именем TARGET1 ванильной установкой Mk41 VLS с именем VLS создадим триггер (Активация "Кто угодно", Тип активации "Присутствует", "Только сервер") с телом "При активации" вида
Код
west reportRemoteTarget [TARGET1, 3600];
TARGET1 confirmSensorTarget [west, true];
VLS fireAtTarget [TARGET1, "weapon_vls_01"];


В условие зададим например нечто вида

Код
wmt_pub_frzState>=3//Срабатывание сразу после окончания фризтайма


Отмечу что в качестве цели лучше все же использовать объект. Если вам надо чтобы ракет прилетела в пустое определенное место-используйте объект-пустышку типа "Land_HelipadEmpty_F"

Ну и отмечу что 1 установка-одна ракета. Так что следующую лучше всего запустить другим тригером с условием вида

Код
!alive TARGET1//Работает только для уничножимой техники бтв. "Land_HelipadEmpty_F" не уничтожим


Ну и чтобы не дать игрокам доступа к лакомым ракетам, убивающим все в радиусе 200м, в активацию последнего тригера стоит добавить еще пару строк вида
Код
VLS removeMagazinesTurret["magazine_Missiles_Cruise_01_x18",[0]];
VLS removeMagazinesTurret["magazine_Missiles_Cruise_01_Cluster_x18",[0]];


+Стоит дописать соответствующие условности чтобы зрители феерверка не пострадали, а сторона которой принадлежит установка не использовала ее
Сообщение отредактировал BendeR - Среда, 27.03.2019, 09:50

 
BendeR
Воскресенье, 12.05.2019, 15:24
4
Оффлайн
Участник сообщества
Действительно бесполезный скрипт морских мин из миссии Lost Cargo. Полезно для решения проблем с плавающей техникой. Мины разминируются через ACE-меню, как и обычные



Код

  if(isServer) then {
   plant_mine=0;
   mine_count=4;
   
   publicVariable "plant_mine";
   publicVariable "mine_count";

   _g=[] spawn {
      while{true} do {
         if(plant_mine==1) then {
            if (mine_count>0) then {
               mine_count=mine_count-1;
               publicVariable "mine_count";
               private _Pos = getPosASL sonar01;
               uiSleep(5);
               _mine = createMine ["UnderwaterMine", [ASLToAGL _Pos select 0,ASLToAGL _Pos select 1], [], 0];
               _mine setPosASL [_Pos select 0,_Pos select 1,(getPosASL _mine select 2) - 2];
            };
            plant_mine=0;
            publicVariable "plant_mine";
         };
         uiSleep(1);   
      };
   };
};

waitUntil {(!isNil("plant_mine"))&&(!isNil("mine_count"))};
player addAction ["<t color='#ff0000'>Установить мину</t>",{plant_mine=1;publicVariable "plant_mine";hintsilent format ["Мина сброшена. Активация через 5 секунд. Осталось %1", (mine_count-1)];},[],1.5,true,false,"","(player==(driver sonar01))&&(plant_mine==0)&&(mine_count>0)&&(wmt_pub_frzState>=3)"];
Сообщение отредактировал BendeR - Воскресенье, 12.05.2019, 15:30

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


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