Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
KaJIbMaP

Хеликраш

На сервере отсутствуют хеликраши, подскажите пожалуйста, что и в какой конфиг вписать, что бы они снова спавнились.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

В init.sqf строка с EpochEvents, там цифра 30 в helicrash_spawner означает минуту работы сервера, когда спаунить краш. Вроде бы так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Suslikonator
      Доброго времени суток, господа, появилась задачка убрать с конкретных координат точку спавна хеликраша, где эти точки вообще настраиваются, в каком файле, ибо искал, но так и не нашел. И возможно ли подобное вообще.
    • Автор: Муха0в0Кедах
      Хеликраш нет на сервере вообще, подскажите как можно включить или что надо сделать чтобы они появились, спасибо заранее за помощь.
    • Автор: Alexandr116ru
      По сути, это всего лишь объединение двух скриптов в один. По мере сил и возможностей. Вероятно, тут всё грубо и далеко не идеально (ну не владею я такими навыками). Но скрипт работает 100% корректно.   Установка: 1. Создать файл с раширением ИМЯ_ФАЙЛА.sqf, скопировать в него содержимое кода:  
      private["_textPos","_rand_player","_playerpos","_randomLoot","_maxLootRadius","_playerPresent","_finder","_preWaypointPos","_startTime","_heliStart","_heliModel","_lootPos","_wp1","_wp2","_wp3","_landingzone","_aigroup","_wp","_helipilot","_crashwreck","_vel","_pos","_dir","_position","_num","_itemType","_CBLBase","_weights","_cntWeights","_index1","_index2","_crashName","_objectID","_marker_position","_marker","_mdot","_flyToPlayer","_dropPosition","_chute","_chutePos","_FlyingSupplyBox","_smoke","_var","_posATL","_SupplyBox","_mapLootPos"]; if ((count playableUnits) < 1) exitWith {diag_log("[ХЕЛИКРАШ ОТМЕНА]: Нет игроков на сервере");}; //СКРИПТ НЕ БУДЕТ ВЫПОЛНЯТЬСЯ, ЕСЛИ НА СЕРВЕРЕ НЕТ ИГРОКОВ _rand_player            = playableUnits call BIS_fnc_selectRandom; _playerpos                = [_rand_player] call FNC_GetPos; _heliModel                = ["Mi17_TK_EP1","Mi17_CDF","Mi17_Ins","Mi17_UN_CDF_EP1","Mi171Sh_CZ_EP1","AH6J_EP1","UH1H_TK_GUE_EP1","UH1H_TK_EP1","UH1Y","MH60S","UH60M_EP1","AH6X_EP1","MH6J_EP1","Mi17_Civilian","Mi17_medevac_Ins","Mi17_medevac_CDF","Mi17_medevac_RU","UH60M_MEV_EP1","BAF_Merlin_HC3_D","CH_47F_EP1","CH_47F_BAF","MV22","C130J"] call BIS_fnc_selectRandom; _heliStart                = [[1000.0,2.0],[3500.0,2.0],[5000.0,2.0],[7500.0,2.0],[9712.0,663.067],[12304.0,1175.07]] call BIS_fnc_selectRandom; //КООРДИНАТЫ, ОТКУДА БУДЕТ ВЫЛЕТАТЬ БОРТ. ДЛЯ ЧЕРНО _crashName                = getText (configFile >> "CfgVehicles" >> _heliModel >> "displayName"); _finder                    = ""; _randomLoot                = ["HeliCrash","Hospital","Military","MilitaryIndustrial","MilitarySpecial"] call BIS_fnc_selectRandom; //СПИСОК, ОТКУДА БУДЕТ БРАТЬСЯ ЛУТ ДЛЯ ПРИЗЕМЛИВШЕЙСЯ КОРОБКИ     //ЗДЕСЬ МОЖНО РАЗМЕСТИТЬ ОПОВЕЩЕНИЕ ИГРОКАМ О СТАРТЕ ИВЕНТА          _position = [getMarkerPos "center",0,5000,10,0,2000,0] call BIS_fnc_findSafePos;     diag_log(format["[ХЕЛИКРАШ НАЧАЛО]: %1 вылетел с позиции %2 к позиции %3!", _crashName,  str(_heliStart), str(_position)]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT          _startTime = time;     _crashwreck = createVehicle [_heliModel,_heliStart, [], 0, "FLY"];     _objectID = str(round(random 999999));     _crashwreck setVariable ["ObjectID", _objectID, true];     _crashwreck setVariable ["ObjectUID", _objectID, true];     PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_crashwreck];     waitUntil {(!isNull _crashwreck)};     _crashwreck setCombatMode "BLUE";     _crashwreck engineOn true;     _crashwreck flyInHeight 200; //ВЫСОТА ПОЛЁТА. ЕСЛИ НОВИЧОК, ЛУЧШЕ НЕ ТРОГАЙ. ИНАЧЕ БУДЕТ СБОИТЬ СБРОС КОРОБКИ. БОРТ БУДЕТ КРУЖИТЬ НАД ИГРОКОМ, ТЕМ САМЫМ, ДЕМОРАЛИЗУЯ И НАРУШАЯ ЕГО ПСИХИКУ     _crashwreck forceSpeed 150;     _crashwreck setspeedmode "NORMAL";          _landingzone = createVehicle ["HeliHEmpty", [_position select 0, _position select 1,0], [], 0, "CAN_COLLIDE"];     _aigroup = creategroup civilian;     _helipilot = _aigroup createUnit ["SurvivorW2_DZ",getPos _crashwreck,[],0,"FORM"];     _helipilot setCombatMode "BLUE";     _helipilot moveindriver _crashwreck;     _helipilot assignAsDriver _crashwreck;     uiSleep 0.5;          if ((isPlayer _rand_player) && (alive _rand_player)) then { //ЕСЛИ ВЫБРАННАЯ ЦЕЛЬ - ИГРОК И ЕСЛИ ИГРОК ЖИВ, ТО ПОЛЕТИТ НА ЕГО ПОЗИЦИЮ         _wp1 = _aigroup addWaypoint [[(_playerpos select 0),(_playerpos select 1),200],0];         _wp1 setWaypointType "MOVE";         _wp1 setWaypointBehaviour "CARELESS";         _flyToPlayer = true;         for "_x" from 1 to 5 do         {             _preWaypointPos = [getMarkerPos "center", 0, 5000, 10, 0, 2000, 0] call BIS_fnc_findSafePos;             _wp = _aigroup addWaypoint [_preWaypointPos, 0];             _wp setWaypointType "MOVE";             _wp setWaypointBehaviour "CARELESS";         };         diag_log(format["[ХЕЛИКРАШ]: %1 полетел к игроку %2", _crashName, (name _rand_player)]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT     } else {  //ЕСЛИ ПОЛЕТЕЛ НЕ К ИГРОКУ, БУДЕТ ПРОСТО ЛЕТАТЬ ПО ТОЧКАМ, ПОКА НЕ СОБЬЮТ ИЛИ ПОКА НЕ ДОЛЕТИТ ДО ФИНАЛЬНОЙ         for "_x" from 1 to 10 do         {             _preWaypointPos = [getMarkerPos "center", 0, 5000, 10, 0, 2000, 0] call BIS_fnc_findSafePos;             _wp = _aigroup addWaypoint [_preWaypointPos, 0];             _wp setWaypointType "MOVE";             _wp setWaypointBehaviour "CARELESS";         };         diag_log(format["[ХЕЛИКРАШ]: %1 полетел кружить по карте", _crashName]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT     };     _dropPosition = [(_playerpos select 0),(_playerpos select 1),200];     if (_flyToPlayer) then {  //ЕСЛИ ИЗНАЧАЛЬНО ЛЕТЕЛ К ИГРОКУ - НИЖЕ ОЖИДАНИЕ, КОГДА ПРИБЛИЗИТСЯ К ЕГО ПОЗИЦИИ. НУ И ДРУГИЕ ЧРЕЗВЫЧАЙНЫЕ СИТУАЦИИ. ЧТОБЫ ПРОДОЛЖИЛОСЬ ВЫПОЛНЕНИЕ СКРИПТА         waitUntil {(_crashwreck distance _dropPosition < 50) || !alive _crashwreck || (getPosATL _crashwreck select 2) < 5 || (damage _crashwreck) >= 1};         diag_log(format["[ХЕЛИКРАШ]: %1 долетел до игрока или был сбит", _crashName]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT     };     if ((_flyToPlayer) && (alive _crashwreck)) then { //ЕСЛИ ИЗНАЧАЛЬНО ЛЕТЕЛ К ИГРОКУ И НЕ СБИЛИ, ТО СБРОСИТ КОРОБКУ ПОЧТИ НА ГОЛОВУ БЕДНОЙ КЕПКИ, В ДРУГОМ СЛУЧАЕ, КУСОК СКРИПТА ПРОПУСКАЕТСЯ И СБРОСА НЕ БУДЕТ         diag_log(format["[ХЕЛИКРАШ]: %1 сбросил груз. Значит долетел", _crashName]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT         _aircraftpos = [_crashwreck] call FNC_GetPos;         _chute = createVehicle ["ParachuteMediumEast", _aircraftpos, [], 0, "FLY"];         _chutePos = getPos _chute;         _FlyingSupplyBox = createVehicle ["Supply_Crate_DZE", _chutePos, [], 0, "FLY"];         _FlyingSupplyBox attachTo [_chute, [0,0,0]];         _FlyingSupplyBox setVariable ["permaLoot",true];         _FlyingSupplyBox setVariable ["ObjectID", ""];         _FlyingSupplyBox addEventHandler ["handleDamage", {false}];         _chute setVariable ["ObjectID", ""];         _smoke = "SmokeShellGreen" createVehicle (getPos _FlyingSupplyBox);         _smoke attachTo [_FlyingSupplyBox, [0,0,1]];         _var = floor((random 2) + 1);         while {getPos _FlyingSupplyBox select 2 > 4} do         {             _chute SetVelocity [0,0,-5];             uiSleep 0.1;         };         detach _FlyingSupplyBox;         while {getPos _FlyingSupplyBox select 2 > 0} do {             _FlyingSupplyBox setPos [getPos _FlyingSupplyBox select 0, getPos _FlyingSupplyBox select 1, (getPos _FlyingSupplyBox select 2) - .25]         };         deleteVehicle _chute;         _posATL = getPosATL _FlyingSupplyBox;         _mapLootPos = mapGridPosition getPos _FlyingSupplyBox;         deleteVehicle _FlyingSupplyBox;         _SupplyBox = "Supply_Crate_DZE" createVehicle _posATL;         _SupplyBox setVariable ["permaLoot",true];         _SupplyBox enableSimulation false;         if (DZE_MissionLootTable) then {             dgx_itemTypes = [] + getArray (missionConfigFile >> "CfgBuildingLoot" >> _randomLoot >> "lootType");         } else {             dgx_itemTypes = [] + getArray (configFile >> "CfgBuildingLoot" >> _randomLoot >> "lootType");         };         _CBLBase = dayz_CBLBase find (toLower(_randomLoot));         _weights = dayz_CBLChances select _CBLBase;         _cntWeights = count _weights;         _num = (round(random 12)) + 12;         for "_x" from 1 to _num do {             _maxLootRadius = (random 4) + 4;             _lootPos = [_posATL, _maxLootRadius, random 360] call BIS_fnc_relPos;             _index1 = floor(random _cntWeights);             _index2 = _weights select _index1;             _itemType = dgx_itemTypes select _index2;             [_itemType select 0, _itemType select 1, _lootPos, 5] call spawn_loot;             diag_log(format["[ХЕЛИКРАШ СБРОС КОРОБКИ]: %1 сбросил груз из %2 на позиции @%3", _crashName, _randomLoot, _mapLootPos]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT         };         _nearby = _dropPosition nearObjects ["ReammoBox", sizeOf("Supply_Crate_DZE")];         {             _x setVariable ["permaLoot",true];         } count _nearBy;         //_textPos = format ["Воздушный транспорт сбросил груз на координтах %1.", _mapLootPos];         //RemoteMessage = ["radio",_textPos];         //publicVariable "RemoteMessage";         //ЗДЕСЬ МОЖНО РАЗМЕСТИТЬ ОПОВЕЩЕНИЕ ИГРОКАМ О СБРОСЕ ГРУЗА, В КАЧЕСТВЕ ПРИМЕРА, ПРИВЕДЕНО СООБЩЕНИЕ, ВЫВОДЯЩЕЕСЯ ПРИ ПОМОЩИ REMOTE MESSAGE ИЗ МОДА WAI 2.2.0         //_mapLootPos - ПОКАЖЕТ КВАДРАТ, В КОТОРОМ СБРОШЕНА КОРОБКА.          };     _wp2 = _aigroup addWaypoint [position _landingzone, 0];     _wp2 setWaypointType "MOVE";     _wp2 setWaypointBehaviour "CARELESS";     _wp2 setWaypointStatements ["true", "_crashwreck setdamage 1;"];          _wp3 = _aigroup addWaypoint [[0,16000,0], 0];     _wp3 setWaypointType "CYCLE";     _wp3 setWaypointBehaviour "CARELESS";          waitUntil {(_crashwreck distance _position) <= 1000 || !alive _crashwreck || (getPosATL _crashwreck select 2) < 5 || (damage _crashwreck) >= 1};          _crashwreck flyInHeight 100;     _crashwreck forceSpeed 100;     _crashwreck setspeedmode "NORMAL";          waitUntil {(_crashwreck distance _position) <= 500 || !alive _crashwreck || (getPosATL _crashwreck select 2) < 5 || (damage _crashwreck) >= 1};     deletevehicle _helipilot;          _crashwreck setHit ["mala vrtule", 1];     _ran15 = random 15;     _crashwreck setVelocity [_ran15,_ran15,-25];     _crashwreck setdamage .9;     waitUntil{uiSleep 1; getpos _crashwreck select 2 <= 30};     _helipilot setdamage 1;     _crashwreck setVelocity [_ran15,_ran15,-20];     waitUntil{uiSleep 1; getpos _crashwreck select 2 <= 10};     _crashwreck setdamage 1;          waitUntil{uiSleep 1; getpos _crashwreck select 2 <= 5};          diag_log(format["[ХЕЛИКРАШ ПАДЕНИЕ]: %1 упал на позиции %2!", _crashName, getpos _crashwreck]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT          _pos = [getpos _crashwreck select 0, getpos _crashwreck select 1,0];     _dir = getdir _crashwreck;     deletevehicle _landingzone;          _isWater = surfaceIsWater [getpos _crashwreck select 0, getpos _crashwreck select 1];     if(_isWater) then {     //ЗДЕСЬ МОЖНО РАЗМЕСТИТЬ ОПОВЕЩЕНИЕ, ЧТО ВОЗДУШНЫЙ ТРАНСПОРТ УПАЛ В ВОДУ. И НА ЭТОМ СКРИПТ ЗАКОНЧИТ СВОЮ РАБОТУ.     } else { //ЕСЛИ ВСЁ ХОРОШО, ТО НА МЕСТЕ КРУШЕНИЯ СПАВНИТСЯ ЛУТ ИЗ ТАБЛИЦЫ "HeliCrash". ЕСЛИ ХОЧЕТСЯ РАНДОМА, МОЖНО НИЖЕ ВСЕ ТРИ "HeliCrash" ЗАМЕНИТЬ НА _randomLoot         _num = round(random 12) + 12;         if (DZE_MissionLootTable) then {             dgx_itemTypes = [] + getArray(missionConfigFile >> "CfgBuildingLoot" >> "HeliCrash" >> "lootType");         } else {             dgx_itemTypes = [] + getArray(configFile >> "CfgBuildingLoot" >> "HeliCrash" >> "lootType");         };         _CBLBase = dayz_CBLBase find(toLower("HeliCrash"));         _weights = dayz_CBLChances select _CBLBase;         _cntWeights = count _weights;         for "_x" from 1 to _num do         {             _maxLootRadius     = (random 20) + 10;             _lootPos = [_pos, _maxLootRadius, random 360] call BIS_fnc_relPos;             _index1 = floor(random _cntWeights);             _index2 = _weights select _index1;             _itemType = dgx_itemTypes select _index2;             [_itemType select 0, _itemType select 1, _lootPos, 5] call spawn_loot;                          diag_log(format["[ХЕЛИКРАШ СПАВН ЛУТА]: %1 упал на позиции %2", _crashName, _lootPos]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT                          _nearby = _pos nearObjects ["ReammoBox", 20];             {                 _x setVariable ["permaLoot",true];             } forEach _nearBy;         };                  //ЗДЕСЬ МОЖНО РАЗМЕСТИТЬ ОПОВЕЩЕНИЕ ИГРОКАМ, О ТОМ, ЧТО БОРТ УПАЛ. ДАЛЕЕ ПОЯВИТСЯ МАРКЕР, НО ОСТАТКИ СГОРЕВШЕГО БОРТА, БУДУТ РАСПОЛАГАТЬСЯ НЕ ТОЧНО ПО ЦЕНТРУ МАРКЕРА, ИБО ПУСТЬ ИЩУТ         _marker_position = [_pos,0,400,0,1,2000,0] call BIS_fnc_findSafePos;         waitUntil         {             _marker = createMarker [ format ["loot_event_marker_%1", _startTime], _marker_position];             _marker setMarkerColor "ColorRed";             _marker setMarkerShape "ELLIPSE";             _marker setMarkerAlpha 0.5;             _marker setMarkerSize [400,400];             _marker setMarkerText _crashName;             _mdot = createMarker [format ["dot_%1", _startTime], _marker_position];             _mdot setMarkerColor "ColorBlack";             _mdot setMarkerType "hd_destroy";             _mdot setMarkerText (format["Место крушения: %1", _crashName]); //ТЕКСТ КОТОРЫЙ БУДЕТ ОТОБРАЖАТЬСЯ НА МАРКЕРЕ, С НАЗВАНИЕМ УПАВШЕГО БОРТА             uiSleep 10;             deleteMarker _marker;             deleteMarker _mdot;             _playerPresent = false;             {                 if((isPlayer _x) && (_x distance _pos <= 25)) then {                     _playerPresent = true;                     _finder = name _x;                 };             } foreach playableUnits;             (_playerPresent)         };         deleteMarker _marker; //НЕ УВЕРЕН, НАДО ЛИ ДУБЛИРОВАТЬ УДАЛЕНИЕ МАРКЕРОВ, ИБО НЕ СПЕЦ. НЕ ЗНАЮ. НО НЕ МЕШАЕТ (ЭТА СТРОКА И НИЖЕ).         deleteMarker _mdot;         //МАРКЕР БУДЕТ ПЕРЕСОЗДАВАТЬСЯ КАЖДЫЕ 10 СЕКУНД, ЧТОБЫ ВСЕ ИГРОКИ ЕГО ВИДЕЛИ, ДАЖЕ ПОСЛЕ ПЕРЕЗАХОДА. БУДЕТ ОТОБРАЖАТЬСЯ ДО ТЕХ ПОР, ПОКА К СГОРЕВШЕМУ БОРТУ НЕ ПОДОЙДЁТ ИГРОК         //ЗДЕСЬ МОЖНО РАЗМЕСТИТЬ ОПОВЕЩЕНИЕ ИГРОКАМ, О ТОМ ЧТО ХЕЛИКРАШ НАЙДЕН         diag_log(format["[ХЕЛИКРАШ КОНЕЦ]: Обнаружен игроком %1. Ивент выполнен!" , _finder]); //ЭТУ СТРОКУ МОЖНО УДАЛИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ЛОГГИРОВАНИЕ В СЕРВЕРНЫЙ RPT     };    
      2. Закинуть файл ИМЯ_ФАЙЛА.sqf в папку @DayZ_Epoch_Server\addons\dayz_server\modules\ 3. Добавить в init.sqf в EpochEvents, внутри [], код ["any","any","any","any",30,"ИМЯ_ФАЙЛА"], не забыв поставить запятую после предыдущего ивента. Пример: EpochEvents = [["any","any","any","any",10,"другой_ивент"],["any","any","any","any",30,"ИМЯ_ФАЙЛА"]];   Что происходит и как это работает: - По заданному в init.sqf промежутку времени, вылетает вертолёт/самолёт; - Если есть игроки и выбранная цель из всех юнитов игрок, то воздушный транспорт направляется к его позиции; - Долетев до позиции игрока, "сбрасывает" ящик на парашюте и продолжает свой маршрут по точкам; - После приземления, вокруг ящика спавнится лут. Да и сам ящик можно разобрать; - Если изначально цель не игрок, то борт сразу полетит кружить по карте; - Отлетав определённое количество точек, пойдёт на финальную, разобьётся и вокруг него отспавнится лут, с отображением информации на карте маркером; - Маркер будет отображаться до тех пор, пока кто либо из игроков не подойдёт к крашу; В принципе, функционал двух скриптов в одном, как оно и было, ничего экстраординарного.   Я лишь внёс пару проверок и поправок: - Если игроков нет на сервере, то работа скрипта прекращается; - Скрипт отработает всегда (в оригинале, только если выбранная цель - игрок). В моём случае, он стартанёт всегда, но если выбранная цель не игрок, то просто отработает, как анимированный хеликраш, без сброса груза; - Маркер будет отображаться даже после перезахода игрока на сервер. Пересоздаётся раз в 10 секунд. Увы, более ювелирных способов не нашёл. В миссиях WAI, маркеры вообще раз в секунду пересоздаются. Тут работает по тому же принципу; - Если борт сбить, на любом этапе, он упадёт и лут отспавнится вокруг него, с отображением маркера; - Читайте комментарии в скрипте, если хотите добавить оповещения игрокам о старте, сбросе груза, падении борта.
    • Автор: TheFirstNoob
      В Epoch 1.0.5.1 стандартный HeliCrash не работает толком, точнее работает, но без лута.
      Не беда. Откапал как-то на Epochmod.com скрипт на анимированный HeliCrash. Чуток переделал и русифицировал и вуаля.

      Скрипт очень прост. Летит самолет/вертолет/истрибитель и "О нет! Говорит пилот Вася! Я падаю хрен знает где!" и бабах.
      Взрыв, огонь, дым и... Лут :)

      Что я изменил так это:
      - Добавил C-130
      - Убрал сообщения при падении, появлении и тп, но при желании их можно вернуть просто раскомментировать пару строчек.

      Скрипт легко отслеживается через InfiSTAR. Вы увидете :)

      Установка:

      1) Скачать скрипт: Нажми на меня :3

      2) Закинуть файл по пути dayz_server.pbo/modules и перепаковываем PBO.

      3) Идем в MPMissions и открываем init.sqf.

      4) Находим EpochEvents и дописываем активацию. (Я лично использую сразу 2-3 в разное время).
      ["any","any","any","any",7,"HeliCrashSpawner"], // ХелиКрашы ["any","any","any","any",15,"HeliCrashSpawner"] Число 7 и 15. Время задержки от старта сервера. В минутах!

      5) Открываем сам файл и находим
      _heliStart = [[3458.7625, 2924.917],[11147.994, 1516.9348],[14464.443, 2533.0981],[18155.545, 1416.5674],[16951.584, 5436.3516],[16140.807, 12714.08],[14576.426, 14440.467],[8341.2383, 15756.525],[2070.4771, 8910.4111],[16316.533, 17309.357]] call BIS_fnc_selectRandom;  
      Заменяем на нужный вам старт:

      Для Chernarus:
      _heliStart = [[1000.0,2.0],[3500.0,2.0],[5000.0,2.0],[7500.0,2.0],[9712.0,663.067],[12304.0,1175.07],[14736.0,2500.0],[16240.0,5000.0],[16240.0,7500.0],[16240.0,10000.0]] call BIS_fnc_selectRandom; Для Napf:
      _heliStart = [[3458.7625, 2924.917],[11147.994, 1516.9348],[14464.443, 2533.0981],[18155.545, 1416.5674],[16951.584, 5436.3516],[16140.807, 12714.08],[14576.426, 14440.467],[8341.2383, 15756.525],[2070.4771, 8910.4111],[16316.533, 17309.357]] call BIS_fnc_selectRandom;  Для Taviana (Origins):
       
      _heliStart = [[7637.1768, 4182.0859],[2154.2883, 17062.283],[8839.4092, 10396.975],[8821.5313, 19403.178],[15097.905, 15839.728],[17291.035, 7203.6821],[18815.258, 2757.0435],[13402.826, 12238.75],[12001.367, 15047.333],[5200.9824, 8429.251],[9564.2949, 5238.4321]] call BIS_fnc_selectRandom;  Для Taviana 2.0:
      _heliStart = [[11558.516, -56.829834],[7787.207, 3972.2046],[2279.2651, 6822.7891],[5548.9434, 8449.1914],[9465.4697, 7223.2925],[17441.467, 5454.5791],[13474.444, 11853.039],[8848.6611, 18823.994],[16224.908, 13310.733],[15171.845, 7629.0879]] call BIS_fnc_selectRandom;  Для Sauerland:
      _heliStart = [[3143.7053, 519.72656],[14047.064, 736.25336],[19551.301, 1638.9634],[22871.928, 3194.9937],[3216.1506, 8066.9844],[15430.821, 7462.8496],[22722.418, 8578.207],[3399.9622, 13945.776],[16220.508, 14363.767],[10220.176, 18679.586]] call BIS_fnc_selectRandom;  Для Pantera: 
      _heliStart = [[2354.8118, 2898.7732],[6441.2544, 604.39148],[5837.6265, 3852.1699],[3434.9966, 7324.9521],[1250.1727, 8301.4199],[6353.0869, 5563.6592],[3011.1584, 4440.96],[4967.9551, 6376.479],[8340.8125, 4563.1436],[4582.7534, 2080.5737]] call BIS_fnc_selectRandom;  Для Namalsk:
       
      _heliStart = [[5046.9678, 5943.2656],[6360.792, 6582.0723],[3544.4153, 6451.7793],[7504.9102, 5786.3271],[7752.436, 7067.6895],[3920.3354, 7530.4941],[6448.9805, 8406.374],[6098.7876, 10094.43],[4745.8853, 10273.457],[8271.7441, 10356.828]] call BIS_fnc_selectRandom;   Для Takistan:
       
      _heliStart = [[2877.6855, 703.94592],[7118.8374, 10659.661],[7281.5488, 690.51361],[9251.5283, 2722.7166],[3742.7253, 3439.4333],[1300.1748, 3303.4463],[6000.7114, 5670.394],[9339.2139, 6650.0625],[11687.854, 9396.415],[3025.9387, 9983.293]] call BIS_fnc_selectRandom;   Для Lingor:
      _heliStart = [[862.89911, 816.75781],[2884.9204, 1093.1793],[3923.7927, 1078.5016],[6571.9326, 1575.0684],[3046.9241, 2413.4119],[5652.1348, 2944.7871],[1866.0063, 4954.5566],[3748.3994, 5456.0498],[6348.8232, 4448.1694],[8368.7148, 7673.5293]] call BIS_fnc_selectRandom;   
       

      6) По сути все. Запускаем сервер и радуемся.

      Настройка:

      Все просто. Открываем сам файл и там все написано. Но выпишу и сюда.
      _spawnChance = 100; // Процент спавна ХелиКраша (От 1 до 100%). _guaranteedLoot = 12; // Количество лута которое точно отспавниться. _randomizedLoot = 12; // Насколько рандомно класс лута будет спавниться за каждый итем. _spawnFire = true; // После падения оставить Огонь и Дым на месте ХелиКраша. _fadeFire = false; // Спустя некоторое время пропадет Огонь и Дым. _preWaypoints = 15; // Количество точек через которые пройдет ХелиКраш перед тем как упасть. _crashDamage = 1; // Какое количество урона нанести вертолету в момент падения (0.1 - Минимальный урон, тогда придется 1 раз выстрелить в ХелиКраш. 1 - Максимальный урон, ХелиКраш сразу падает). _exploRange = 500; // Радиус получаемого урона при падении вертолета (В метрах). _minLootRadius = 7; // Минимальная дистанция спавна лута от ХелиКраша (В метрах). _maxLootRadius = 50; // Максимальная дистанция спавна лута от ХелиКраша (В метрах). _lootTable = "HeliCrash"; // Название таблицы откуда берется лут (НЕ ТРОГАЙ ЕСЛИ НЕ ЗНАЕШЬ!). _show_marker = true; // Показывать место падения ХелиКраша маркером. _show_name = false; // Добавить в центре точку и подписывает что упало. _markerRadius = 400; // Радиус маркера (В метрах). Количество выпадаемых вещей настраивается тут: (На двух примерах)
      if(_heliModel == "Mi24_D") then { _lootTable = "MilitarySpecial"; _crashModel = "Mi24Wreck"; _guaranteedLoot = 5; }; if(_heliModel == "Ka52Black") then { _lootTable = "MilitarySpecial"; _crashModel = "Ka52Wreck"; _guaranteedLoot = 3; }; Вот _guaranteedLoot    = Х отвечает за то, сколько предметов будет 100% валяться.
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.