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

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

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

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

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

Поиск по сайту

Результаты поиска по тегам '0.62]'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Основной раздел сайта
    • S-Platoon
    • Приватный раздел
    • Рынок
    • Комната отдыха и развлечений
  • Серверостроение - DayZ Standalone
    • Инструкции
    • Помощь
    • Прочее
    • English section
  • Серверостроение - Общий раздел
    • ARMA 3
    • DayZ мод
    • ARMA 2
    • CS: Global offensive
    • ARK: Survival Evolved
    • Minecraft
    • Rust
  • Темы поддержки товаров

Категории

  • DayZ
    • Сборки серверов
    • Скрипты, моды, карты и т.д.
    • Транспорт
    • Оружие, инструменты, предметы
    • Дополнения для карты
    • Модели
    • Программное обеспечение
    • Прочее
  • Arma 3
    • Сборки серверов
    • Скрипты, моды, карты и т.д.
    • Транспорт
    • Модели
    • Программное обеспечение
    • Прочее

Группы продуктов

  • Привилегии на форуме
  • Реклама на сайте

Искать результаты в...

Искать результаты, содержащие...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


Вконтакте


Steam


ICQ


Skype


Город


Сайт


Интересы

Найдено 2 результата

  1. В данной теме напишу простенький гайд о том, как самому на своем собственном сервере DayZ установить костомный (мой) скрипт на спавн, респавн и чистку хеликрашей. Гайд пригодится тем, кто сам делает свою сборку сервера, либо по каким-то причинам пользуется не моей сборкой сервера (где это уже сделано), а чьей-либо еще. Обращаю ваше внимание на тот факт, что часть файлов, описанных в гайде, у вас могут уже быть вынесены в другое место или названы несколько иначе (это зависит от сборки сервера, которую вы используете, например, в сборке dankdayz вся mpmissions вынесена в отдельный файл в addons сервера), гайд основывается на чистых серверных файлах игры и отталкивается от них. Гайд сделан для версий игры с серверной частью 0.60-0.62, но может быть совместим и с другими версиями игры, если файлы серверной части игры не поменяли своего текущего месторасположения и содержания. Гайд составлен по версии серверных файлов игры 0.62 чистой "девственной" и не правленой никем версии игры. Напоминаю заранее, в моих серверных файлах версий 0.60, 0.61 и 0.62 из моих гайдов на данном форуме это уже сделано и делать это не нужно!!! Нам понадобятся: 1. Notepad++ https://notepad-plus-plus.org/download/ 2. Ваши серверные файлы игры И так, приступим. 1. Первое, что нам понадобится - создать сам скрипт. Создаем по пути: "MPMissions\dayz_Auto.ChernarusPlus\" папку "scripts" , в ней папку "custom" , и в ней файл с именем "Helicarsh.sqf" . Если такие папки у вас уже имеются, просто не создавайте их, а перейдите в них. Если файл с там именем уже имеется у вас, задайте ему другое имя. 2. Вписываем в созданный файл код следующего содержания (либо скачайте его): Helicarsh.sqf diag_log format [" SpawnHeliCrashes: Reading Settings ..."]; /* Car Spawner for DayZ Standalone v 0.60.133.913 and high versions author: 123new Install: .\mpmissions\init.sqf Add in end file: init_spawn_cars = compile preprocessFileLineNumbers "scripts\custom\SpawnCars.sqf"; Call init_spawn_cars; and place this script file in: .\mpmissions\{your mission name}\scripts\custom\Helicarsh.sqf Settings: first massives: [count loot,type loot] end massive: [type car(classname), point car, selected first massive name] */ _zombs_heli_one = 15; // Maximum count zeds in one Heli _loot_heli_one = 15; // Maximum count loot in one Heli _max_distance_spawn_zeds = 25; // Maximum distance spawn zeds in one Heli _max_distance_spawn_loot = 10; // Maximum distance spawn loot in one Heli // Types HeliCrashes _HeliTypes = [ "Land_UH1Y_Wreck" ]; // SpawnPoints HeliCrashes _HeliPointsArray = [ [5738.4302,7605.0298], [6242.1201,8368.71], [4015.1001,7971.5698], [2320.3101,10217.8], [4506.8398,12748.3], [7121.3701,9646.6699], [1667.61,5293.3398], [1700.0699,2338.8501], [3563.6899,7537.1001], [4328.02,8489.7002], [5211.0698,7763.5498], [7455.7798,11574.3], [6119.3101,6631.1099], [5941.0601,6645.27], [5016.4302,6257.9199], [4781.8999,6270.2598], [4455.9302,6181.7202], [4074.98,6222.1802], [3622.3,6415.96], [3254.45,6682.6499], [2848.0601,6815.6401], [2572.1799,6781.1499], [2298.23,6513.3999], [2313.9299,6151.0498], [2461.02,5794.4102], [2028.4399,5166.5601], [1596.27,5234.5698], [3031.3401,10225.8], [3475.28,9765], [2863.99,9639.5195], [2067.3401,9272.2002], [1603.08,9231.04], [640.487,9119.4697], [4996.7798,9156.46], [5314.1802,9310.79], [5124.4502,9496.6504], [4847.1099,9867.2598], [4603.77,10245], [4454.6001,10666.2], [4696.3501,10736.4], [4174.2002,10879.6], [3904.0601,11112.5], [3453.49,10866.1], [2627.26,10443.4], [2243.21,10726.9], [1853.38,11309.6], [1949.3101,11759.8], [4832.6699,4767.9502], [3838.1101,4944.77], [3142.3401,4426.1899], [1263.8101,4081.76], [1371.08,4505.2598], [4712.8701,5869.5498], [5405.4502,5638.77], [3235.1799,8824.7598], [5928.0698,10975.5], [4661.25,11954.4] ]; // Classnames Loot HeliCrashes _arrayItemsHeli= [ ["food_canpeaches"], ["food_cansardines"], ["ghilliehood"], ["ghilliehoodtan"], ["ghilliehoodmossy"], ["ghilliehoodwoodland"], ["ghilliebushragwoodland"], ["ghilliebushragmossy"], ["ghillietoptan"], ["ghilliesuittan"], ["ghilliesuitmossy"], ["ghillietopwoodland"], ["ghilliebushragtan"], ["ttsko_pants_beige"], ["TTsKO_Jacket_Camo"], ["Ssh68Helmet"], ["tentmedium_packed"], ["tentlarge_backpack"], ["tentcar_packed"], ["Cultivation_CannabisSeeds"], ["Cultivation_CannabisSeedsPack"], ["BagAlice_Green"], ["BagAlice_Black"], ["BagAlice_Camo"], ["Fruit_Cannabis"], ["M249"], ["M_M249Box_200Rnd"], ["Ammo_556"], ["Saiga-12K"], ["Ammo_12ga_Pellets"], ["Ammo_12ga_Slug"], ["M_Saiga_5Rn"], ["M_Saiga_8Rnd"], ["M_SaigaDrum_20Rnd"], ["AKM"], ["M4A1"], ["Ammo_556_20Rnd"], ["Ammo_357_20Rnd"], ["ammo_762x39_20rnd"], ["ammo_762x39_20rnd"], ["CLIP_762_5Rnd"], ["Ammo_12ga_Pellets"], ["M_CMAG_10Rnd"], ["clip_762x39_10rnd"], ["Optics_Binoculars"], ["Optics_Rangefinder"], ["M_STANAG_30Rnd_COUPLED"], ["M_ak101_30Rnd"], ["M_Saiga_5Rnd"], ["M_ak74_30Rnd"], ["M_Vss_10Rnd"], ["M_svd_10Rnd"], ["Winchester70_Black"], ["M_Fal_20Rnd"], ["SKS"], ["b95"], ["AK101"], ["Att_Suppressor_AK"], ["Att_Optic_PSO1"], ["Att_Handguard_AK74_Camo"], ["Att_Buttstock_AK_Wood_Camo"], ["att_bayonet_ak"], ["ammobox_556_20rnd"], ["AmmoBox_9x39_20Rnd"], ["AmmoBox_308Win_20Rnd"], ["FAL"], ["Att_Optic_PUScope"], ["AmmoBox_762_20Rnd"], ["SVD"], ["Mosin9130_Green_Black"], ["CLIP_762_5Rnd"], ["magnum"], ["m_357_speedloader"], ["fnx45"], ["m_cz75_15rnd"], ["Att_Suppressor_Pistol"], ["1911_engraved"], ["cz75"], ["Att_Optic_FNP45_MRD"], ["m_fnx45_15rnd"], ["Glock19"], ["M_Glock_15Rnd"], ["MP5K"], ["Att_Optic_Reflex"], ["Att_Optic_ACOG"], ["Att_Optic_M4T3NRDS"], ["Att_Handguard_MP5_Rail"], ["Att_Buttstock_MP5_Stock"], ["M_MP5_30Rnd"], ["UMP45"], ["shotgunmp133"], ["Ammo_12ga_Pellets"], ["Ammo_556_20Rnd"], ["Ammo_357_20Rnd"], ["CLIP_762_5Rnd"], ["clip_762x39_10rnd"], ["M_STANAG_30Rnd_COUPLED"], ["vss"], ["m_ak74_30rnd_black"], ["M_Vss_10Rnd"], ["ak74"], ["m_ak74_30rnd_black"], ["m_ak74_30rnd_black"], ["m_ak74_30rnd_black"], ["m_ak74_30rnd_black"], ["M_Vss_10Rnd"], ["M_svd_10Rnd"], ["Winchester70_Black"], ["M_Fal_20Rnd"], ["SKS"], ["b95"], ["Att_Suppressor_AK"], ["Att_Handguard_AK74"], ["Att_Buttstock_AK_Wood"], ["ammobox_556_20rnd"], ["AmmoBox_9x39_20Rnd"], ["AmmoBox_308Win_20Rnd"], ["FAL"], ["Att_Optic_PUScope"], ["AmmoBox_762_20Rnd"], ["SVD"], ["Mosin9130_Black"], ["CLIP_762_5Rnd"], ["magnum"], ["m_357_speedloader"], ["b95_black"], ["sks_black"], ["ammo_762x39_20rnd"], ["m65_jacket_black"], ["att_optic_hunting"], ["m_cmag_30rnd"], ["m_cmag_40rnd"], ["m_cmag_40rnd"], ["m_cmag_40rnd"], ["attachment_optic_acog"], ["attachment_buttstock_m4oe"], ["attachment_handguard_m4ris"], ["attachment_bayonet_m9a1"], ["attachment_optic_m4t3nrds"], ["M_UMP_25Rnd"] ]; // Zombies HeliCrashes _arrayZedHeli= [ ["ZmbM_PatrolNormal_PautRev"], ["ZmbM_PatrolNormal_Autumn"], ["ZmbM_PatrolNormal_Flat"], ["ZmbM_PatrolNormal_Summer"], ["ZmbM_SoldierNormal"] ]; _Heli = DZ_COUNT_HELICRASHES; diag_log format [" SpawnHeliCrashes: Readed Settings! Start work script!"]; diag_log format [" SpawnHeliCrashes: Cleaning old HeliCrash!"]; _tmp_count_del_heli = 0; { if ((typeOf _x) in _HeliTypes) then { deleteVehicle _x; _tmp_count_del_heli = _tmp_count_del_heli + 1; }; } forEach (allMissionObjects ""); diag_log format [" SpawnHeliCrashes: Detected and deleted %1 HeliCrash",_tmp_count_del_heli]; diag_log format [" SpawnHeliCrashes: Start spawn new HeliCrash!"]; fnc_spawnHeli = { for "ii" from 1 to _Heli do { _thisHeli = _HeliPointsArray select floor(random(count _HeliPointsArray)); _thisTypeHeli = _HeliTypes select floor(random(count _HeliTypes)); _HeliCrach = NULL; _HeliCrach = createvehicle [_thisTypeHeli, _thisHeli, [], 0, "CAN_COLLIDE"]; if !(isNull _HeliCrach) then { _selected_name_heli = (typeOf _HeliCrach); _map_pos_heli = mapGridPosition _HeliCrach; // _HeliCrach setDir floor(random 360); _originalPos = getPosATL _HeliCrach; _Damage = random 0.7; _count_spawned_loot_heli = 0; _count_spawned_zed_heli = 0; for [{_j = 0}, {_j< _loot_heli_one}, {_j = _j + 1}] do { _loot_heli = NULL; _radius_heli_loot = random _max_distance_spawn_loot; _loot_heli = createvehicle [(_arrayItemsHeli select floor(random(count _arrayItemsHeli))) select 0, _originalPos, [], _radius_heli_loot, "CAN_COLLIDE"]; if !(isNull _loot_heli) then { if ((floor(random 4)) >= 2) then { _Damage_loot = random 0.7; _loot_heli setDamage _Damage_loot; }; _count_spawned_loot_heli = _count_spawned_loot_heli + 1; }; }; for [{_k = 0}, {_k < _zombs_heli_one}, {_k = _k + 1}] do { _Zomb_heli = NULL; _radius = random _max_distance_spawn_zeds; _Zomb_heli = createAgent [(_arrayZedHeli select floor(random(count _arrayZedHeli))) select 0, _originalPos, [], _radius, "CAN_COLLIDE"]; if !(isNull _Zomb_heli) then { // _Zomb_heli setDir floor(random 360); _count_spawned_zed_heli = _count_spawned_zed_heli + 1; }; }; diag_log format [" SpawnHeliCrashes: Spawned %1 in %2 with %3 loot around Heli and %4 Zeds around Heli!",_selected_name_heli,_map_pos_heli,_count_spawned_loot_heli,_count_spawned_zed_heli]; }; }; }; if (_Heli > 0) then { call fnc_spawnHeli; }; 3. Создаем по пути: "MPMissions\dayz_Auto.ChernarusPlus\" папку "scripts" , и в ней файл с именем "compiles.sqf" . Если такая папка у вас уже имеются, просто не создавайте ее, а перейдите в нее. Если файл с там именем уже имеется у вас, то не создавайте его, а допишите информацию со следующего пункта инструкции в конец файла! 4. Вставляем в файл следующую строку: init_spawn_Helicarshes = compile preprocessFileLineNumbers "scripts\custom\Helicarsh.sqf"; 5. Открываем по указанному далее пути файл в "Notepad++": "MPMissions\dayz_Auto.ChernarusPlus\init.sqf". Находим в файле строки с call compile preprocessFileLineNumbers 5. Вставляем после всех "call compile preprocessFileLineNumbers" следующее: call compile preprocessFileLineNumbers "scripts\compiles.sqf"; _Enable_SPAWNER_HELICRASHES = true; // Кастомный скрипт спавна хеликрашей (true - включить, false - выключить) DZ_COUNT_HELICRASHES = 12; // Максимальное кол-во хеликрашей при включенном кастомном скрипте их спавна 6. В этом же файле находим строки: simulWeatherSync; dbInitEconomy [true]; setTimeForScripts 0.03; 7. Добавляем после них: if (_Enable_SPAWNER_HELICRASHES) then { Call init_spawn_Helicarshes; }; Вот и все. ВАЖНО: Перед активацией скрипта отключите официальный спавнер хеликрашей сервера из официальной системы сервера игры. Инструкция есть тут: Как вы уже догадались, первой строкой мы можем включить или отключить сам скрипт без долгого копания в коде, а второй назначить нужное количество хеликрашей на сервере. _Enable_SPAWNER_HELICRASHES = true; // Кастомный скрипт спавна хеликрашей (true - включить, false - выключить) DZ_COUNT_HELICRASHES = 12; // Максимальное кол-во хеликрашей при включенном кастомном скрипте их спавна Все настройки по спавну хеликрашей есть в самом файле скрипта, который в п. 2 инструкции вы и создавали. Надеюсь, сложности с его настройкой не возникнет, пояснения там имеются.
  2. В данной теме напишу простенький гайд о том, как самому на своем собственном сервере DayZ установить костомный (мой) скрипт на спавн, респавн и чистку транспорта. Гайд пригодится тем, кто сам делает свою сборку сервера, либо по каким-то причинам пользуется не моей сборкой сервера (где это уже сделано), а чьей-либо еще. Обращаю ваше внимание на тот факт, что часть файлов, описанных в гайде, у вас могут уже быть вынесены в другое место или названы несколько иначе (это зависит от сборки сервера, которую вы используете, например, в сборке dankdayz вся mpmissions вынесена в отдельный файл в addons сервера), гайд основывается на чистых серверных файлах игры и отталкивается от них. Гайд сделан для версий игры с серверной частью 0.60-0.62, но может быть совместим и с другими версиями игры, если файлы серверной части игры не поменяли своего текущего месторасположения и содержания. Гайд составлен по версии серверных файлов игры 0.62 чистой "девственной" и не правленой никем версии игры. Напоминаю заранее, в моих серверных файлах версий 0.60, 0.61 и 0.62 из моих гайдов на данном форуме это уже сделано и делать это не нужно!!! Нам понадобятся: 1. Notepad++ https://notepad-plus-plus.org/download/ 2. Ваши серверные файлы игры И так, приступим. 1. Первое, что нам понадобится - создать сам скрипт. Создаем по пути: "MPMissions\dayz_Auto.ChernarusPlus\" папку "scripts" , в ней папку "custom" , и в ней файл с именем "SpawnCars.sqf" . Если такие папки у вас уже имеются, просто не создавайте их, а перейдите в них. Если файл с там именем уже имеется у вас, задайте ему другое имя. 2. Вписываем в созданный файл код следующего содержания (либо скачайте его): SpawnCars.sqf diag_log format [" SpawnCar: Reading Settings ..."]; /* Car Spawner for DayZ Standalone v 0.60.133.913 and high versions author: 123new Thanks for help: user BorizzK from s-platoon.ru for help and tests parts script and all community for this. Install: .\mpmissions\init.sqf Add in end file: init_spawn_cars = compile preprocessFileLineNumbers "scripts\custom\SpawnCars.sqf"; Call init_spawn_cars; and place this script file in: .\mpmissions\{your mission name}\scripts\custom\SpawnCars.sqf WARNING: add after string: dbInitEconomy CAUTION: When you are on the spawn cars in the game server with version 0.60 and higher (0.61 and 0.62 version it blocks events.xml) the transport can be re-spelled and re-spelled by the server itself, regardless of the script. For correct operation it is highly recommended to disable the official transport spawn! Info about script: This script will scan the server database for the specified transport types, push it to the server along with its parts in case of shortage, and clean the destroyed vehicles. A first massives - details for car (all details will be spawned) A second massives - possible spawn points of the technique (the spawn point will be selected randomly) A third (end) massive - configuration: specify the number of cars on writed type, a list of possible spawn points car for writed type and massive from first block with parts car. Settings format: A first massives: [count loot,type loot] A second massives: [(coordinate x),(coordinate y),(coordinate z)] A third (end) massive: [max count this type car, type car(classname) or massive types car for random select, selected second massive name, selected first massive name] If add after in 'A third (end) massive' 5 and more massives elements with details car, script will be select random details. */ // MAIN SETTINGS _enable_detect_old_ruined_cars = true; // Enable detect old ruined cars in server and delete him _enable_detect_old_cars_in_point_spawn_in_meters = true; // Enable detect old cars in point spawn in writed meters and secure him for spawn new car _meters_check_old_car_in_point_spawn = 10; // How many meters for chack old car in point spawn - wored only with _enable_detect_old_cars_in_point_spawn_in_meters = true - not recommend set up more 15 meters _check_damage_for_delete_ruined_car = 1; // How many damage for object car for delete him from server (for set up min 0.1 max 1) - wored only with _enable_detect_old_ruined_cars = true /////////////////////////// ---> A first massives <--- /////////////////////////// // (count this detail in vehicle),(type detail vehicle) _items_car_Volga = [ [4,"CivSedanWheel"], [1,"CivSedanDoors_Driver"], [1,"CivSedanDoors_CoDriver"], [1,"CivSedanDoors_BackLeft"], [1,"CivSedanDoors_BackRight"], [1,"CivSedanHood"], [1,"CivSedanTrunk"], [1,"CarRadiator"], [1,"CarBattery"], [1,"SparkPlug"], [2,"HeadlightH7"] ]; _items_car_Niva = [ [4,"HatchbackWheel"], [1,"HatchbackDoors_Driver"], [1,"HatchbackDoors_CoDriver"], [1,"HatchbackHood"], [1,"HatchbackTrunk"], [1,"CarRadiator"], [1,"CarBattery"], [1,"SparkPlug"], [1,"HeadlightH7"] ]; _items_car_Bus = [ [2,"TransitBusWheel"], [2,"TransitBusWheelDouble"], [1,"TruckBattery"], [1,"GlowPlug"], [1,"TruckRadiator"], [1,"LightBulb"], [1,"EngineBelt"] ]; _items_car_V3S = [ [4,"V3SWheel"], [4,"V3SWheelDouble"], [1,"V3SDoors_Driver"], [1,"V3SDoors_CoDriver"], [1,"V3SHood"], [1,"TruckBattery"], [2,"LightBulb"], [1,"EngineBelt"], [1,"HeadlightH7"] ]; _items_car_V3S_Blue = [ [4,"V3SWheel"], [4,"V3SWheelDouble"], [1,"V3SDoors_Driver_Blue"], [1,"V3SDoors_CoDriver_Blue"], [1,"V3SHood_Blue"], [1,"TruckBattery"], [2,"LightBulb"], [1,"EngineBelt"], [1,"HeadlightH7"] ]; _items_car_V3S_Grey = [ [4,"V3SWheel"], [4,"V3SWheelDouble"], [1,"V3SDoors_Driver_Grey"], [1,"V3SDoors_CoDriver_Grey"], [1,"V3SHood_Grey"], [1,"TruckBattery"], [2,"LightBulb"], [1,"EngineBelt"], [1,"HeadlightH7"] ]; _items_car_V3S_Orange = [ [4,"V3SWheel"], [4,"V3SWheelDouble"], [1,"V3SDoors_Driver_Orange"], [1,"V3SDoors_CoDriver_Orange"], [1,"V3SHood_Orange"], [1,"TruckBattery"], [2,"LightBulb"], [1,"EngineBelt"], [1,"HeadlightH7"] ]; /////////////////////////// ---> A second massives <--- /////////////////////////// // massives points spawn for vehicles _points_car_Volga = [ [10493.7,2348.17,0], [10150.7,1810.41,0], [11986.2,3839.67,0], [12883.2,6259.25,0], [12937.6,10185.7,0], [13845.8,13216.7,0], [4163.03,11104.75,0], [5954.25,10366.5,0], [3751.32,8858.37,0], [3048.92,7787.31,0], [2583.23,5073.8,0], [2654.09,5289.31,0] ]; _points_car_Niva = [ [13891.7,13425.6,0], [11262.4,12212.2,0], [4794.11,2539.87,0], [10740.4,10788.2,0], [10661.3,7994.43,0], [6063.77,7871.36,0], [4519.95,8291.32,0], [2182.85,3307.73,0], [3658.2,2194.58,0], [6855.9,2471.24,0], [6565.1,2547.52,0], [4262.06,11235,0], [6255.8,3256.48,0], [6682.32,3580.23,0], [13785.5,2930.17,0] ]; _points_car_Bus = [ [12275.8,9123.41,0], [11885.6,12469.2,0], [7185,7675.18,0], [4795.56,10250.1,0], [2716.53,10031.4,0], [2589.18,6355.03,0], [1672.24,3843.93,0], [1878.72,2254.03,0], [4334.19,2462.08,0], [5691.65,2579.14,0], [7805.4,3534.9,0], [12238.9,12635,0] ]; _points_car_V3S = [ [4767.29,9594.32,0], [13980.3,2931.02,0], [12238.9,12635,0], [12229.7,12590.2,0], [7216.52,7755.26,0], [3711.64,5969.98,0], [4392.4,10510.4,0], [1741.44,7930.12,0], [5590.24,2699.39,0] ]; /////////////////////////// ---> A third (end) massive <--- /////////////////////////// // (max count vehicles this type in server),(type vehicle or massive types for random select),(massive coords for spawn vehicle),(massive items for this car) // If add 5 and more massives elements with details car, script will be select random details. _types_car_V3S = ["V3S_Cargo_Orange","V3S_Cargo_Blue","V3S_Cargo_Grey","V3S_Cargo"]; /// massive types cars for random select _types_car_V3S_Chassis = ["V3S_Chassis_Orange","V3S_Chassis_Blue","V3S_Chassis_Grey","V3S_Chassis"]; /// massive types cars for random select _CarsSpawnConfig = [ [10,"CivilianSedan", _points_car_Volga, _items_car_Volga], [12,"TransitBus", _points_car_Bus, _items_car_Bus], [7,"OffroadHatchback", _points_car_Niva, _items_car_Niva], [4,_types_car_V3S, _points_car_V3S, _items_car_V3S,_items_car_V3S_Blue,_items_car_V3S_Grey,_items_car_V3S_Orange], [5,_types_car_V3S_Chassis, _points_car_V3S, _items_car_V3S,_items_car_V3S_Blue,_items_car_V3S_Grey,_items_car_V3S_Orange] ]; { if ((count _x) > 4) then { _rand = floor (random ((count _x) - 1)); while {(_rand < 4)} do { _rand = floor (random ((count _x) - 1)); }; _selected_items_car = _x select _rand; }; } foreach _CarsSpawnConfig; //////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////// ---> NEXT CODE DON'T EDIT <--- /////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// diag_log format [" SpawnCar: Readed Settings! Start spawn car!"]; fnc_random_int_select = { private["_min","_max","_rand"]; _min = _this select 0; _max = _this select 1; _rand = round (random _max); if ((_rand < _min) or (_rand > _max)) then { while {(_rand < _min) or (_rand > _max)} do { _rand = round (random _max); }; }; _rand }; _massive_writed_alltypes_cars = []; _massive_writed_allcoords_cars = []; fnc_spawnCar = { _SelectedLine = _this; _selected_count_car = _this select 0; _selected_type_car = _this select 1; _selected_points_car = _this select 2; _selected_items_car = _this select 3; _count_incar_loot = 0; _count_aroundcar_loot = 0; _count_selected_type_car_in_server = 0; _count_selected_type_car_in_server = 0; if((typeName _selected_type_car) == "ARRAY") then { { _count_selected_type_car_in_server = _count_selected_type_car_in_server + (count (allMissionObjects _x)); } forEach _selected_type_car; diag_log format [" SpawnCar: %2 old cars of types '%1' has been detected on the server",_selected_type_car,_count_selected_type_car_in_server]; } else { _count_selected_type_car_in_server = count (allMissionObjects _selected_type_car); diag_log format [" SpawnCar: %2 old cars of type '%1' has been detected on the server",_selected_type_car,_count_selected_type_car_in_server]; }; if (_enable_detect_old_cars_in_point_spawn_in_meters) then { _temp_selected_points_car = _selected_points_car; { _selected_point_car = _x; { if (((typeOf _x) in _massive_writed_alltypes_cars) && (_selected_point_car in _massive_writed_allcoords_cars)) then { if (count _selected_points_car > 0) then { _selected_points_car = _selected_points_car - [_selected_point_car]; diag_log format [" SpawnCar: Detected previously spawned car in server: type '%1' at position %2 - point spawn %3 deleted from list spawn this type!",(typeOf _x),(getPos _x),_selected_point_car]; } else { diag_log format [" SpawnCar: Detected previously spawned car in server: type '%1' at position %2 - point spawn %3 can't be deleted from list spawn this type because spawnpoints this type allready <= 0!",(typeOf _x),(getPos _x),_selected_point_car]; }; }; } forEach (_selected_point_car nearObjects _meters_check_old_car_in_point_spawn); } forEach _temp_selected_points_car; }; if (_count_selected_type_car_in_server < _selected_count_car) then { _selected_count_car = _selected_count_car - _count_selected_type_car_in_server; if((typeName _selected_type_car) == "ARRAY") then { diag_log format [" SpawnCar: Required spawn %2 cars of type list '%1'",_selected_type_car,_selected_count_car]; } else { diag_log format [" SpawnCar: Required spawn %2 cars of type '%1'",_selected_type_car,_selected_count_car]; }; if (count _selected_points_car > 0) then { for "_j" from 1 to _selected_count_car do { _car_in_server = NULL; if (count _selected_points_car > 0) then { _selected_type_car_for_spawn = ""; if((typeName _selected_type_car) == "ARRAY") then { _selected_type_car_for_spawn = _selected_type_car select ([0,(count _selected_type_car)-1] call fnc_random_int_select); } else { _selected_type_car_for_spawn = _selected_type_car; }; if ((count _SelectedLine) > 4) then { _selected_items_car = _SelectedLine select ([3,(count _SelectedLine)-1] call fnc_random_int_select); diag_log format [" SpawnCar: Selected for next car massive details: %1 ",_selected_items_car]; }; _selected_point_car = _selected_points_car select ([0,(count _selected_points_car)-1] call fnc_random_int_select); _car_in_server = createvehicle [_selected_type_car_for_spawn, _selected_point_car, [], 0, "CAN_COLLIDE"]; if !(isNull _car_in_server) then { _selected_points_car = _selected_points_car - [_selected_point_car]; _car_in_server setDir floor(random 360); _selected_name_car = (displayName _car_in_server); _originalPos = getPosATL _car_in_server; _Damage = random 0.7; _map_pos_car = mapGridPosition _car_in_server; { _count_sel_loot = _x select 0; _type_sel_loot = _x select 1; for [{_i = 0}, {_i < _count_sel_loot}, {_i = _i + 1}] do { _loot_car = NULL; _loot_car = _car_in_server createInInventory _type_sel_loot; if (isNull _loot_car) then { _loot_car = createvehicle [_type_sel_loot, _originalPos, [], 5, "CAN_COLLIDE"]; if ((floor(random 4)) >= 2) then { _Damage_loot = random 0.7; _loot_car setDamage _Damage_loot; }; _count_aroundcar_loot = _count_aroundcar_loot + 1; } else { _count_incar_loot = _count_incar_loot + 1; }; }; } foreach _selected_items_car; diag_log format [" SpawnCar: Spawned %1 in %2 with %3 loot in Car and %4 loot around car ",_selected_name_car,_map_pos_car,_count_incar_loot,_count_aroundcar_loot]; } else { diag_log format [" SpawnCar: Type car '%1' is not spawned in server, because when i try spawn car in point '%2' exist errors!",_selected_type_car_for_spawn,_selected_point_car]; }; } else { if((typeName _selected_type_car) == "ARRAY") then { diag_log format [" SpawnCar: Random type car from array '%1' is not can be spawned in server, because setuped count cars this types > possible count points spawn this type!",_selected_type_car]; } else { diag_log format [" SpawnCar: Type car '%1' is not can be spawned in server, because setuped count cars this type > possible count points spawn this type!",_selected_type_car]; }; }; }; } else { if((typeName _selected_type_car) == "ARRAY") then { diag_log format [" SpawnCar: Spawn car from type list '%1' is not possible because not have possible points to spawn.",_selected_type_car]; } else { diag_log format [" SpawnCar: Spawn car type(s) '%1' is not possible because not have possible points to spawn.",_selected_type_car]; }; }; } else { if((typeName _selected_type_car) == "ARRAY") then { diag_log format [" SpawnCar: Random type car from array '%1' is not need spawn in server, because cars this types allready is max (or more max) in server!",_selected_type_car]; } else { diag_log format [" SpawnCar: Type car '%1' is not need spawn in server, because this cars allready is max (or more max) in server!",_selected_type_car]; }; }; }; if (_enable_detect_old_ruined_cars) then { _deleted_ruined_Cars = 0; { if (damage _x == _check_damage_for_delete_ruined_car) then { deleteVehicle _x; _deleted_ruined_Cars = _deleted_ruined_Cars + 1; }; } forEach (allMissionObjects "Car"); if (_deleted_ruined_Cars > 0) then { diag_log format [" SpawnCar: Deleted %1 old ruined cars from server",_deleted_ruined_Cars]; }; }; if (_enable_detect_old_cars_in_point_spawn_in_meters) then { { if((typeName(_x select 1)) == "ARRAY") then { { if (!(_x in _massive_writed_alltypes_cars)) then { _massive_writed_alltypes_cars = _massive_writed_alltypes_cars + [_x]; }; } foreach (_x select 1); } else { if (!((_x select 1) in _massive_writed_alltypes_cars)) then { _massive_writed_alltypes_cars = _massive_writed_alltypes_cars + [(_x select 1)]; }; }; { if (!(_x in _massive_writed_allcoords_cars)) then { _massive_writed_allcoords_cars = _massive_writed_allcoords_cars + [_x]; }; } foreach (_x select 2); } foreach _CarsSpawnConfig; }; { _x call fnc_spawnCar; } foreach _CarsSpawnConfig; 3. Создаем по пути: "MPMissions\dayz_Auto.ChernarusPlus\" папку "scripts" , и в ней файл с именем "compiles.sqf" . Если такая папка у вас уже имеются, просто не создавайте ее, а перейдите в нее. Если файл с там именем уже имеется у вас, то не создавайте его, а допишите информацию со следующего пункта инструкции в конец файла! 4. Вставляем в файл следующую строку: init_spawn_cars = compile preprocessFileLineNumbers "scripts\custom\SpawnCars.sqf"; 5. Открываем по указанному далее пути файл в "Notepad++": "MPMissions\dayz_Auto.ChernarusPlus\init.sqf". Находим в файле строки с call compile preprocessFileLineNumbers 5. Вставляем после всех "call compile preprocessFileLineNumbers" следующее: call compile preprocessFileLineNumbers "scripts\compiles.sqf"; _Enable_SPAWNER_CARS = true; // Кастомный скрипт спавна транспорта (true - включить, false - выключить) 6. В этом же файле находим строки: simulWeatherSync; dbInitEconomy [true]; setTimeForScripts 0.03; 7. Добавляем после них: if (_Enable_SPAWNER_CARS) then { Call init_spawn_cars; }; Вот и все. ВАЖНО: Перед активацией скрипта отключите официальный спавнер транспорта сервера из официальной системы сервера игры. Инструкция есть тут: Как вы уже догадались, этой строкой мы можем включить или отключить сам кастомный скрипт без долгого копания в коде. _Enable_SPAWNER_CARS = false; // Кастомный скрипт спавна транспорта (true - включить, false - выключить) Все настройки по спавну транспорта есть в самом файле скрипта, который в п. 2 инструкции вы и создавали. Надеюсь, сложности с его настройкой не возникнет, пояснения там имеются.
×
×
  • Создать...

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

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