Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
ZizionarD

Пункт технического обслуживания транспортных средств | Vehicle Service Point (Refuel, Repair, Rearm)

Recommended Posts

Эта версия добавляет поддержку как единой валюты, так и драгоценных камней (из обновления epoch 1.0.7), а также оригинальной валютной epoch.
Вместо того, чтобы оценивать вещи, как в оригинале, цены теперь делаются по "стоимости", аналогичной тому, как делаются монеты. Стоимость товаров указана ниже.
Если вы используете монеты, я бы рекомендовал использовать переменную _currencyModifier, поскольку монеты обычно в 10 раз превышают стоимость валюты на основе портфеля (1 бриф = 100 000 монет)
(Вы можете либо установить для этой переменной _currencyModifier значение 1, а затем установить правильное значение, либо использовать модификатор, модификатор в основном предназначен для серверов с двумя валютами)

 

1 серебро = 1 стоимость
10 унций серебра = 10 центов
1 золото = 100 долларов
10 унций золота = 1000 долларов
1 портфель = 10 000 долларов

 

Смотрите dayz_code\configVariables.sqf для получения стоимости драгоценных камней (DZE_GemWorthArray) и их соответствующей стоимости, если они включены.

 

Пример настроек конфигурации для _refuel_costs, _repair_costs и _rearm_costs:

Все 3 раздела могут быть либо бесплатными, либо отключенными, либо по определенной цене со следующими примерами:

["Air",_freeText] сделает класс конфигурации транспортного средства "Air" свободным для конкретного действия.
["Air",_disabledText] сделает класс конфигурации транспортного средства "Air" отключенным для конкретного действия.
["Air",2000] сделает автомобиль класса конфигурации "Air" стоимостью 2000 для конкретного действия.
["Armored_SUV_PMC",2000] сделает конкретное транспортное средство стоимостью 2000 для конкретного действия.
["Armored_SUV_PMC",_freeText] сделает конкретное транспортное средство свободным для конкретного действия.
["Armored_SUV_PMC",_disabledText] отключит конкретное транспортное средство для конкретного действия.

 

Допустимые классы конфигурации транспортных средств в качестве примера: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank"

 

Установка:

1. Скачиваем архив

2. Из архива папку scripts переносим в корень вашей миссии

3. Открываем файл init.sqf и находим строку:

execFSM "\z\addons\dayz_code\system\player_monitor.fsm";

под ней добавляем

execVM "scripts\servicePoints\init.sqf";

4. Настраиваем файл scripts\servicePoints\init.sqf под себя

5. Установка завершена

 

Battleye фильтры:

1. Открываем файл \Battleye\scripts.txt и находим строку:

5 addAction

и в самый конец добавляем

!"_costs] call _fnc_actionTitle;\nSP_refuel_action = _vehicle addAction [_actionTitle,_folder + \"servicePointActions.sqf\",[\"refuel\""

далее находим строку

1 nearestObjects

и в самый конец добавляем

!"player;\nif (_vehicle != player) then {\n_servicePoints = (nearestObjects [getPosATL _vehicle,_servicePointClasses,_maxDistance]) "

далее находим строку

5 title

и в самый конец добавляем

!"ate [\"_folder\",\"_servicePointClasses\",\"_maxDistance\",\"_actionTitleFormat\",\"_actionCostsFormat\",\"_message\",\"_messageShown\",\"_refu"

далее находим строку

5 addWeapon

и в самый конец добавляем

!"do {_vehicle addMagazineTurret [_ammo,_turret];};\n_vehicle addWeaponTurret [\"CMFlareLauncher\",_turret];\n} else {\n{_vehicle remov"

далее находим строку

5 setDamage

и в самый конец добавляем

!"Server \"PVDZ_veh_Save\";\n\nif (_allRepaired) then {\n_vehicle setDamage 0;\n_vehicle setVelocity [0,0,1];\n[format[localize \"STR_CL_S"

далее находим строку

5 cashMoney

и в самый конец добавляем

!"= [false, [], [], [], 0];\n_wealth = player getVariable [([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n\nif (Z_Single"

далее находим строку

5 globalMoney

и в самый конец добавляем

!" [], [], 0];\n_wealth = player getVariable [([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n\nif (Z_SingleCurrency) the"

2. Настройка фильтров завершена 

 

Оригинал статьи: epochmod.com

Share this post


Link to post
Share on other sites







Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By MrMiBl
      Всем привет! С наступающим!  
      Проблема такая: безсознанка очень долгая (от двух минут и больше от рандомной пульки...)
      Собственно вопрос: как её отключить либо сократить время?  
      покопавшись в файлах нашел такую тему: fn_unconscious.sqf
      // (c) facoptere@gmail.com, licensed to DayZMod for the community private ["_count","_anim","_weapon","_sprint","_stance","_transmove","_start","_timeout","_short","_sandLevel","_speed"]; if (r_player_unconsciousInProgress) exitWith {}; r_player_unconsciousInProgress = true; r_player_unconsciousInputDisabled = true; //this is like this in order to release the current user input disableUserInput true; disableUserInput true; disableUserInput false; disableUserInput false; disableUserInput true; disableUserInput true; _start = diag_tickTime; _timeout = abs r_player_timeout; _short = _timeout < 4; if (!_short) then { 4 cutRsc ["playerStatusWaiting", "PLAIN",1]; playSound "heartbeat_1"; }; _count = 0; // can be set to false by medEPI.sqf, during the 'while' loop r_player_unconscious = true; player setVariable ["NORRN_unconscious", r_player_unconscious, true]; _sandLevel = ctrlPosition ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400); //diag_log [(diag_tickTime - _start) < _timeout , !r_player_unconscious , alive player ]; dayz_autoRun = false; if (player == vehicle player) then { player playAction "CanNotMove"; }; "dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [2]; "dynamicBlur" ppEffectCommit 0; "colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit 0; if (dayz_soundMuted) then {call player_toggleSoundMute;}; // hide icon before fadeSound 0 fadeSound 0.05; while { (diag_tickTime - _start) < _timeout and r_player_unconscious and alive player } do { player setVariable ["unconsciousTime", _timeout - diag_tickTime + _start, (_count % 10) == 0]; if (!_short) then { _sandLevel set [ 3, 0.136829 * safezoneH * (diag_tickTime - _start) / _timeout ]; ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400) ctrlSetPosition _sandLevel; ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400) ctrlCommit 0.05; }; /*_veh = vehicle player; if ((player != _veh) and {(_veh iskindOf "LandVehicle")}) then { _speed = [0,0,0] distance velocity _veh; if (_speed > 10) then { _veh engineOn false; } else { player action ["eject", _veh]; player leaveVehicle _veh; [] spawn { uiSleep 0.1; player playMoveNow "amovppnemstpsnonwnondnon"; }; // instant prone }; }; if (player == _veh) then { player setVelocity [0,0,0]; }; */ uiSleep 0.1; _count = _count + 1; }; if (!_short) then{ 4 cutRsc ["default", "PLAIN",0]; }; r_player_unconscious = false; player setVariable ["NORRN_unconscious", r_player_unconscious, true]; r_player_timeout = 0; player setVariable ["unconsciousTime", r_player_timeout, true]; r_player_cardiac = false; player setVariable ["USEC_isCardiac",r_player_cardiac, true]; r_player_unconsciousInProgress = false; 4 cutRsc ["default", "PLAIN",1]; if (player == vehicle player) then { // "AinjPpneMstpSnonWnonDnon" rolls from back first (jarring transition if player was knocked out prone or fell to stomach) [nil, player, rSWITCHMOVE, "AmovPpneMstpSnonWnonDnon_healed"] call RE; player SWITCHMOVE "AmovPpneMstpSnonWnonDnon_healed"; PVDZ_plr_SwitchMove = [player,"AmovPpneMstpSnonWnonDnon_healed"]; publicVariableServer "PVDZ_plr_SwitchMove"; //Needed to execute switchMove on server machine. rSwitchMove only executes on other clients player playMoveNow "AmovPpneMstpSnonWnonDnon_healed"; }; 10 fadeSound 1; "dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; "colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5; if ({getNumber (configFile >> "CfgWeapons" >> _x >> "type") in [1,2]} count (weapons player) > 0) then { //Prevent firing while weapon is still shown on back or holstered. AmovPpneMstpSnonWnonDnon_healed has disableWeapons=0 in config (should be 1) waitUntil {uiSleep 1; !(animationState player in ["ainjppnemstpsnonwnondnon_rolltofront","amovppnemstpsnonwnondnon_healed","amovppnemstpsnonwnondnon"])}; }; //once more to be safe disableUserInput false; disableUserInput false; disableUserInput true; disableUserInput true; disableUserInput false; disableUserInput false; r_player_unconsciousInputDisabled = false; //diag_log [ __FILE__, diag_tickTime, "done" ]; Копать тут или где-то в другом месте?
    • By ZizionarD
      Это обновленная версия JAEM от OtterNas3 для DayZ Epoch 1.0.7. Обновлена версия до ZSC и развернул все совместимое. ZSC можно использовать в качестве опции для оплаты создания эвакуационного вертолета, а действия Мудзерели по щелчку правой кнопкой мыши можно использовать для вызова эвакуационного вертолета.
       
      Новые возможности:
      Поддержка ZSC - вы можете выбрать валюту эпохи или ZSC для оплаты вашего эвакуационного вертолета. Развертывание техники - вы можете использовать действия Mudzereli по щелчку правой кнопкой мыши для вызова эвакуационного вертолета вместо использования встроенного цикла самостоятельного действия. Plot pole и plot friends - чтобы игроки не могли размещать вертолетные площадки для эвакуации в запрещенных местах, они должны строить их на своих собственных участках или на участках своих друзей. Все переменные конфигурации размещены в файле variables.sqf. Все переменные имеют пояснительные комментарии. Настройте их в соответствии с вашими предпочтительными настройками:
      // Evac Chopper Config Variables evac_chopperPrice = 1; // This is the price players pay in full briefcases to set up an evac chopper (between 1-12 briefcases). Players must have the briefcases in their inventory. evac_chopperUseZSC = false; // If you have ZSC installed you can set this to true and have players pay the amount below to set up an evac chopper. evac_chopperPriceZSC = 100000; // Price for evac chopper if you have ZSC Installed and evac_chopperUseZSC set to true. evac_chopperMinDistance = 500; // Minimum distance for player to call evac chopper. Do not set this lower than 500. evac_chopperZoneMarker = 0; // Evac zone marker type (0 = Landingpad | 1 = Smoke). evac_chopperNeedRadio = 0; // 1 - Require player to have a radio in gear to call evac chopper | 0 - Doesn't require radio to call evac chopper. evac_chopperUseClickActions = false; // If you have Mudzereli's Deploy Anything installed and are going to use click actions to call the evac chopper, set this to true (disables call chopper self-action loop). Инструкции по функциональности:
      Если у вас есть какие-либо другие моды, которые сохраняют имя класса "HeliHRescue" в базе данных, имейте в виду, что это конкретное имя класса используется вместе с идентификатором владельца для работы этого мода. Если у вас уже есть экземпляр HeliHRescue, сохраненный в базе данных с вашим идентификатором игрока, вы получите сообщение о том, что вы не можете создать другой экземпляр при попытке установить вертолет эвакуации. Чтобы создать эвакуационный вертолет, вам нужен вертолет с ключом, столб для участка и деньги для покупки. У вас должен быть ключ в вашем инвентаре, чтобы установить и очистить поле эвакуационный вертолет. Подойдите к вертолету, и вы получите действия для настройки и очистки поля эвакуационного вертолета. Вам не обязательно иметь при себе ключ, чтобы вызвать эвакуационный вертолет. Существует монитор состояния полета, который отображается в том же месте, что и монитор отладки, поэтому для его просмотра вам потребуется отключить отладку. Если вы используете действия по щелчку правой кнопкой мыши Mudzereli, обязательно установите переменную evac_chopperUseClickActions в значение true, чтобы отключить встроенный цикл самостоятельных действий. Если ваш вертолет будет уничтожен, просто поместите новый на вертолетную площадку. Функция вызова эвакуационного вертолета находит ближайший вертолет (в пределах 10 метров) от вашей спасательной вертолетной площадки. Деньги не возвращаются, когда вы отключаете эвакуационный вертолет. Известные проблемы:
      На данный момент известна только одна проблема. Если игрок будет убит во время полета эвакуационного вертолета, вертолет не вернется на базу. Пилот приземляется в зоне эвакуации, выходит из вертолета и просто стоит там. Вертолет остается заблокированным.
       
      Установка:
      1. Скачать
      2. Разархивируйте архив
      3. Распакуйте свою миссию PBO
      4. Скопируйте папку scripts в корневую папку вашей миссии, если у вас уже есть папка scripts, скопируйте в нее папку JAEM.
      5. Скопируйте папку dayz_code в корневую папку вашей миссии, если у вас ее еще нет. Если у вас уже есть папка dayz_code и те же файлы из предыдущей установки, вы отредактируете существующие файлы на шаге 7.
      6. Откройте файл init.sqf и найдите строку:
      call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; Добавьте под ним следующую строку:
      call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; Найти строку:
      call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; Добавьте под ним следующую строку:
      call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; Найти строку:
      waitUntil {scriptDone progress_monitor}; Добавьте над ним следующие строки:
      execVM "scripts\JAEM\EvacChopper_init.sqf"; 7. Если у вас уже есть кастомный файл fn_selfActions.sqf в каталоге dayz_code\compile, откройте этот файл. Если нет, вы должны были скопировать его из загрузки на шаге 5.
      Найти код:
      if (_isPZombie) then { if (s_player_attack < 0) then { s_player_attack = player addAction [localize "STR_EPOCH_ACTIONS_ATTACK", "\z\addons\dayz_code\actions\pzombie\pz_attack.sqf", _cursorTarget, 6, false, true]; }; if (s_player_callzombies < 0) then { s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\pzombie\call_zombies.sqf",player, 5, true, false]; }; if (s_player_pzombiesvision < 0) then { s_player_pzombiesvision = player addAction [localize "STR_EPOCH_ACTIONS_NIGHTVIS", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"]; }; if (!isNull _cursorTarget && (player distance _cursorTarget < 3)) then { _isZombie = _cursorTarget isKindOf "zZombie_base"; _isHarvested = _cursorTarget getVariable["meatHarvested",false]; _isMan = _cursorTarget isKindOf "Man"; //includes animals and zombies if (!alive _cursorTarget && _isMan && !_isZombie && !_isHarvested) then { if (s_player_pzombiesfeed < 0) then { s_player_pzombiesfeed = player addAction [localize "STR_EPOCH_ACTIONS_FEED", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",_cursorTarget, 3, true, false]; }; } else { player removeAction s_player_pzombiesfeed; s_player_pzombiesfeed = -1; }; } else { player removeAction s_player_pzombiesfeed; s_player_pzombiesfeed = -1; }; }; Добавьте под ним следующий блок кода.
      Примечание: Если вы используете опцию Развертывание техники, вам не нужно использовать код, приведенный непосредственно ниже.
      // Call EvacChopper if (playerHasEvacField && {!evac_chopperUseClickActions}) then { if (player distance playersEvacField >= evac_chopperMinDistance && !evac_chopperInProgress && {isNull cursorTarget} && {speed player < 1} && {!_inVehicle}) then { if (evac_chopperNeedRadio == 1) then { if ("ItemRadio" in (items player)) then { if (s_player_evacCall < 0) then { s_player_evacCall = player addAction [("<t color=""#0000FF"">" + ("Call Evac-Chopper") + "</t>"),"scripts\JAEM\CallEvacChopper.sqf",[],-1000,false,false,"",""]; }; }; } else { if (s_player_evacCall < 0) then { s_player_evacCall = player addAction [("<t color=""#0000FF"">" + ("Call Evac-Chopper") + "</t>"),"scripts\JAEM\CallEvacChopper.sqf",[],-1000,false,false,"",""]; }; }; } else { player removeAction s_player_evacCall; s_player_evacCall = -1; }; }; Найдите блок кода:
      // Allow Owner to lock and unlock vehicle if (_player_lockUnlock_crtl) then { if (s_player_lockUnlock_crtl < 0) then { local _totalKeys = call epoch_tempKeys; local _temp_keys = _totalKeys select 0; local _temp_keys_names = _totalKeys select 1; local _hasKey = _characterID in _temp_keys; local _oldOwner = (_characterID == _uid); local _unlock = []; if (_isLocked) then { if (_hasKey || _oldOwner) then { _unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (_temp_keys find _characterID))], 2, true, true]; s_player_lockunlock set [count s_player_lockunlock,_unlock]; s_player_lockUnlock_crtl = 1; } else { if (_hasHotwireKit) then { _unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true]; } else { _unlock = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",_cursorTarget, 2, false, true]; }; s_player_lockunlock set [count s_player_lockunlock,_unlock]; s_player_lockUnlock_crtl = 1; }; } else { if (_hasKey || _oldOwner) then { _lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true]; s_player_lockunlock set [count s_player_lockunlock,_lock]; s_player_lockUnlock_crtl = 1; }; }; }; } else { {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = -1; }; Замените весь блок кода следующим:
      // Allow Owner to lock and unlock vehicle if (_player_lockUnlock_crtl) then { local _totalKeys = call epoch_tempKeys; local _temp_keys = _totalKeys select 0; local _temp_keys_names = _totalKeys select 1; local _hasKey = _characterID in _temp_keys; local _oldOwner = (_characterID == _uid); if (s_player_lockUnlock_crtl < 0) then { local _unlock = []; if (_isLocked) then { if (_hasKey || _oldOwner) then { _unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (_temp_keys find _characterID))], 2, true, true]; s_player_lockunlock set [count s_player_lockunlock,_unlock]; s_player_lockUnlock_crtl = 1; } else { if (_hasHotwireKit) then { _unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true]; } else { _unlock = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",_cursorTarget, 2, false, true]; }; s_player_lockunlock set [count s_player_lockunlock,_unlock]; s_player_lockUnlock_crtl = 1; }; } else { if (_hasKey || _oldOwner) then { _lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true]; s_player_lockunlock set [count s_player_lockunlock,_lock]; s_player_lockUnlock_crtl = 1; }; }; }; // EvacChopper if (s_player_evacChopper_ctrl < 0) then { if ((_cursorTarget isKindOf "Helicopter") && (_hasKey || _oldOwner) && !evac_chopperInProgress) then { if (!playerHasEvacField) then { local _setEvac = player addAction [("<t color=""#0000FF"">" + ("Set Evac-Chopper") + "</t>"),"scripts\JAEM\SetEvacChopper.sqf",_cursorTarget,3,false,true]; s_player_evacChopper set [count s_player_evacChopper,_setEvac]; s_player_evacChopper_ctrl = 1; }; if (playerHasEvacField && (player distance playersEvacField < 10)) then { local _clearEvac = player addAction [("<t color=""#0000FF"">" + ("Clear Evac-Chopper") + "</t>"),"scripts\JAEM\ClearEvacChopper.sqf",_cursorTarget,4,false,true]; s_player_evacChopper set [count s_player_evacChopper,_clearEvac]; s_player_evacChopper_ctrl = 1; }; }; }; } else { {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = -1; {player removeAction _x} count s_player_evacChopper;s_player_evacChopper = []; s_player_evacChopper_ctrl = -1; }; Найдите строку (около строки 1050):
      s_player_lockUnlock_crtl = -1; Добавьте под ним следующие строки:
      {player removeAction _x} count s_player_evacChopper;s_player_evacChopper = []; s_player_evacChopper_ctrl = -1; 8. Если у вас уже есть кастомный variables.sqf в каталоге dayz_code\init, откройте этот файл. Если нет, вы должны были скопировать его из загрузки на шаге 5.
      Откройте кастомный variables.sqf и найдите строку:
      //Player self-action handles под этой строкой добавьте:
      DayZ_SafeObjects set [count DayZ_SafeObjects, "HeliHRescue"]; // Evac Chopper Variables playerHasEvacField = false; // DO NOT CHANGE. playersEvacField = objNull; // DO NOT CHANGE. s_player_evacChopper = []; // DO NOT CHANGE. evac_chopperInProgress = false; //DO NOT CHANGE. // Evac Chopper Config Variables evac_chopperPrice = 1; // This is the price players pay in full briefcases to set up an evac chopper. evac_chopperPriceZSC = 10000; // Price for evac chopper if you have ZSC Installed and evac_chopperUseZSC set to true. evac_chopperAllowRefund = false; // Allow players to get their money back when they remove an evac-chopper field. evac_chopperMinDistance = 500; // Minimum distance for player to call evac chopper. Do not set this lower than 500. evac_chopperZoneMarker = 0; // Evac zone marker type (0 = Landingpad | 1 = Smoke). evac_chopperNeedRadio = 0; // 1 - Require player to have a radio in gear to call evac chopper | 0 - Doesn't require radio to call evac chopper. evac_chopperUseClickActions = false; // If you have Deploy Anything installed and are going to use click actions to call the evac chopper, set this to true (disables call chopper self-action loop). evac_ChopperDisabledMarker = true; // Place a private map marker of the evac chopper's location if (isServer) then {"CallEvacChopper" addPublicVariableEventHandler {(_this select 1) spawn server_callEvacChopper;};}; Если у вас уже есть этот раздел из предыдущей установки, просто добавьте следующие строки внизу над };
      s_player_evacChopper_ctrl = -1; s_player_evacCall = -1; Убедитесь, что вы сравниваете свой файл с файлом, указанным в загрузке, чтобы строки оказались в правильном месте.
      9. Если у вас уже есть кастомный compiles.sqf в каталоге dayz_code\init, откройте этот файл. Если нет, вы должны были скопировать его из загрузки на шаге 5.
      Скопируйте следующую строку в раздел !isDedicated, если у вас ее еще нет в предыдущей установке:
      fnc_usec_selfactions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; 10. Запакуйте свою миссию PBO
      11. Распакуйте PBO вашего сервера и откройте dayz_server\system\server_monitor.sqf
      Найдите эту строку:
      dayz_serverIDMonitor = []; Добавьте под ним следующую строку:
      PVDZE_EvacChopperFields = []; Найдите эту строку:
      if (_type == "Base_Fire_DZ") then {_object spawn base_fireMonitor;}; Добавьте под ним следующую строку:
      if (_type == "HeliHRescue") then {PVDZE_EvacChopperFields set [count PVDZE_EvacChopperFields, _object];}; Найдите эту строку:
      publicVariable "sm_done"; Добавьте под ним следующий блок кода:
      publicVariable "PVDZE_EvacChopperFields"; ON_fnc_evacChopperFieldsUpdate = { local _action = _this select 0; local _field = _this select 1; if (_action == "add") then {PVDZE_EvacChopperFields = PVDZE_EvacChopperFields + [_field];}; if (_action == "rem") then {PVDZE_EvacChopperFields = PVDZE_EvacChopperFields - [_field];}; publicVariable "PVDZE_EvacChopperFields"; }; "PVDZE_EvacChopperFieldsUpdate" addPublicVariableEventHandler {(_this select 1) call ON_fnc_evacChopperFieldsUpdate}; Сохраняем и закрываем
      12. Откройте dayz_server\init\server_functions.sqf
      Найдите эту строку:
      spawn_vehicles = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\spawn_vehicles.sqf"; Добавьте под ним следующую строку:
      server_callEvacChopper = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_callEvacChopper.sqf"; Сохраняем и закрываем
      13. Скопируйте файл dayz_server\compile\server_callEvacChopper.sqf в папку вашего сервера.
      14. Запаковать сервер PBO
      15. Полный набор необходимых файлов BattlEye был предоставлен в папке BattlEye. Если у вас новый сервер или вы предпочитаете диффмердж, вы можете использовать эти файлы. В противном случае следуйте приведенным ниже инструкциям.
       
      Настройка Battleye фильтров:
      1. Открыть файл publicvariable.txt
      Добавьте это в конец строки 2:
      !=PVDZE_EvacChopperFieldsUpdate !=CallEvacChopper 2. Открыть файл createvehicle.txt
      Добавьте это в конец строки 2:
      !="HeliHRescue" 3. Открыть файл scripts.txt
      Добавьте это в конец строки 17:
      !"\\dayz_code\\init\\compiles.sqf\"\nif (!isDedicated) then {\ndiag_log \"Loading custom client com" Добавьте это в конец строки 2:
      !=" (s_player_evacCall < 0) then {\ns_player_evacCall = player addAction [(\"<t color=\"\"#0000FF\"\">\" + (\"Call Evac-Chopper\") + \"</t>\")" Добавьте это в конец строки 21:
      !="time = time;\n_chopperPos = getPos _evacChopper;\n_marker = createMarkerLocal [\"EvacChopper\",_chopperPos];\n_marker setMarkerColorL" Добавьте это в конец строки 27:
      !="me) > evac_chopperMarkerTimeout) then {_recovered = true; deleteMarkerLocal _marker; \"EVAC Chopper map marker deleted\" call dayz" Добавьте это в конец строки 38:
      !="_this select 4;};\n\nif (_flightStatus == \"Arrived\") exitWith\n{\nhintSilent parseText format [\"\n <t size='1.15' font='Bitstream'a" Добавьте это в конец строки 58:
      !="= createMarkerLocal [\"EvacChopper\",_chopperPos];\n_marker setMarkerColorLocal \"ColorBlack\";\n_marker setMarkerTypeLocal \"mil_objec" Добавьте это в конец строки 63:
      !="ck\";\n_marker setMarkerTypeLocal \"mil_objective\";\n_marker setMarkerTextLocal \"EvacChopper\";\nwhile {!_recovered} do {\nif (!alive _" Добавьте это в конец строки 64:
      !="rPos];\n_marker setMarkerColorLocal \"ColorBlack\";\n_marker setMarkerTypeLocal \"mil_objective\";\n_marker setMarkerTextLocal \"EvacCho" Добавьте это в конец строки 72:
      !="FNC_GetPos;\n_canceled = false;\n\n\nfor \"_p\" from 1 to 5 do\n{\nsystemChat(format [\"Evac-Chopper get called in %1s - Move to cancel!\""  
      Настройка развертывание техники:
      1. Если вы хотите использовать действия по щелчку правой кнопкой мыши при развертывании чего-либо для вызова прерывателя эвакуации вместо встроенных самостоятельных действий, найдите эту переменную в кастомном variables.sqf:
      Найдите эту переменную
      evac_chopperUseClickActions = false; и измените на:
      evac_chopperUseClickActions = true; Откройте файл вашей миссии и найдите файл overwrites\click_actions\config.sqf.
      Добавьте это в нижнюю часть массива DZE_CLICK_ACTIONS:
      ["ItemGPS","Call Evac Chopper","execVM 'scripts\JAEM\callEvacChopper.sqf';","true"] Примечание: вы можете привязать действие щелчка правой кнопкой мыши к любому элементу ремня для инструментов. Я просто выбрал ItemGPS по умолчанию. Убедитесь, что вы поставили запятую на предпоследней.
       
      Так-же в файле scripts.txt в конец строки 32 добавить:
      !="execVM 'scripts\\JAEM\\callEvacChopper.sqf';"  
      Оригинал статьи: epochmod.com
    • By ZizionarD
      Простые сценарии, для того, чтобы склеить обоймы вместе, увеличивая количество патронов для установленных обойм. На основе
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      2. Из архива переместить файлы в папку scripts которая находится в корне вашей миссии
      3. Установить скрипт Click Actions, если установлен, пропускаем пункт
      4. Переходим в папку scripts\clickActions и открываем файл config.sqf и находим строки:
      DZE_CLICK_ACTIONS = [ ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] ]; внутри этого блока ниже вставляем
      ,["30Rnd_545x39_AK","Tape Mags","execVM 'scripts\AK.sqf';","true"], ["30Rnd_545x39_AKSD","Tape Mags","execVM 'scripts\AKSD.sqf';","true"], ["30Rnd_556x45_Stanag","Tape Mags","execVM 'scripts\Stanag.sqf';","true"], ["30Rnd_556x45_StanagSD","Tape Mags","execVM 'scripts\StanagSD.sqf';","true"], ["30Rnd_762x39_AK47","Tape Mags","execVM 'scripts\AK47.sqf';","true"] должно получиться примерно так
      DZE_CLICK_ACTIONS = [ ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] ,["30Rnd_545x39_AK","Tape Mags","execVM 'scripts\AK.sqf';","true"], ["30Rnd_545x39_AKSD","Tape Mags","execVM 'scripts\AKSD.sqf';","true"], ["30Rnd_556x45_Stanag","Tape Mags","execVM 'scripts\Stanag.sqf';","true"], ["30Rnd_556x45_StanagSD","Tape Mags","execVM 'scripts\StanagSD.sqf';","true"], ["30Rnd_762x39_AK47","Tape Mags","execVM 'scripts\AK47.sqf';","true"] ]; 5. Сохраняем, закрываем
      6. Готово
    • By ZizionarD
      Простой скрипт, который выводит ник владельца (или первого друга в списке), когда игрок входит в радиус плота. Это может быть полезно для серверов, которым нравится совершать набеги на базы, и в целом позволяет игрокам наносить на карту местоположения баз.
       
      Установка:
      1. Скачать архив
      2. Переходим в корень вашей миссии и в папку custom переносим файл plot_owner.sqf из архива
      3. В корне вашей миссии открываем файл init.sqf и находим троку:
      execVM "\z\addons\dayz_code\system\antihack.sqf"; ниже добавляем
      execVM "custom\plot_owner.sqf"; 4. Сохраняем, закрываем
      5. Установка завершена
       
      Оригинал статьи: epochmod.com
    • By ZizionarD
      Скрипт дает возможность дистанционно закрывать машину, проверить состояние двигателя или выгнать игроков из машины.
       
      Установка:
      1. Скачать архив
      2. Для создания кастомных файлов вам нужно посетить эту тему:
      3. Если у вас не установлен скрипт на "Действие на правую кнопку мыши" то посетите эту тему:
      4. Из архива папку scripts переносим в корень вашей миссии
      5. Открываем кастомный файл compiles.sqf и находим код:
      if (!isDedicated) then { в этот блок вставляем
      if (!isDedicated) then { remoteVehicle = compile preprocessFileLineNumbers "scripts\remoteVehicle\remoteVehicle.sqf"; }; 6. Сохраняем, закрываем
      7. Отредактируйте файл scripts\clickActions\config.sqf и добавьте эту строку в массив DZE_CLICK_ACTIONS:
      ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] Пример:
      DZE_CLICK_ACTIONS = [ ["ItemGPS","Scan Nearby","if(isNil 'DZE_CLICK_ACTIONS_GPS_RANGE') then {DZE_CLICK_ACTIONS_GPS_RANGE = 1500;};DZE_CLICK_ACTIONS_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',DZE_CLICK_ACTIONS_GPS_RANGE]); DZE_CLICK_ACTIONS_MAN_COUNT = count ((position player) nearEntities ['CAManBase',DZE_CLICK_ACTIONS_GPS_RANGE]); format['Within %1 Meters: %2 AI/players, %3 zombies, %4 vehicles',DZE_CLICK_ACTIONS_GPS_RANGE,DZE_CLICK_ACTIONS_MAN_COUNT - DZE_CLICK_ACTIONS_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',DZE_CLICK_ACTIONS_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',DZE_CLICK_ACTIONS_GPS_RANGE]) - DZE_CLICK_ACTIONS_MAN_COUNT] call dayz_rollingMessages;","true"], ["ItemGPS","Range Up" ,"if(isNil 'DZE_CLICK_ACTIONS_GPS_RANGE') then {DZE_CLICK_ACTIONS_GPS_RANGE = 1500;};DZE_CLICK_ACTIONS_GPS_RANGE = (DZE_CLICK_ACTIONS_GPS_RANGE + 100) min 2500; format['GPS RANGE: %1',DZE_CLICK_ACTIONS_GPS_RANGE] call dayz_rollingMessages;","true"], ["ItemGPS","Range Down" ,"if(isNil 'DZE_CLICK_ACTIONS_GPS_RANGE') then {DZE_CLICK_ACTIONS_GPS_RANGE = 1500;};DZE_CLICK_ACTIONS_GPS_RANGE = (DZE_CLICK_ACTIONS_GPS_RANGE - 100) max 1000; format['GPS RANGE: %1',DZE_CLICK_ACTIONS_GPS_RANGE] call dayz_rollingMessages;","true"], ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] ]; 8. Открываем файл description.ext и добавляем строку в самый конец:
      #include "scripts\remoteVehicle\remoteVehicle.hpp" 9. Сохраняем, закрываем
       
      Battleye фильтры:
      1. Открываем файл scripts.txt и находим строку:
      1 compile в самый конец вставляем
      !="ay\",\"_exit\"];\n\nif (isNil \"rv_init\") then {\nrv_vehicleInfo = compile preprocessFileLineNumbers \"scripts\\remoteVehicle\\vehicleInfo" далее находим строку
      5 createDialog в самый конец вставляем
      !=";\n\nif (count rv_vehicleList > 1) then {\nrv_isOk = false;\n\ncreateDialog \"remoteVehicle\";\n\n_display = uiNamespace getVariable[\"rv_" далее находим строку
      5 lbSet в самый конец вставляем
      !="ive DZE_myVehicle} && {DZE_myVehicle == _x}) then {\n_control lbSetColor [(lbSize _control)-1,[0, 1, 0, 1]];\n};\n} count rv_vehicl" далее находим строку
      5 title в самый конец вставляем
      !="play displayCtrl 8801 ctrlSetText(format[localize \"STR_CL_RV_TITLE\",_keyDisplay]);\n\n_control = ((findDisplay 8800) displayCtrl 8"  
      Оригинал статьи: epochmod.com
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.