Перейти к содержанию

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

Virtual Garage, это не далеко от полного переписывания, но включает в себя некоторые из исходного кода, что автор способствовал.

 

Устраняет множество проблем и добавляет много новых функций:

  • Единый пользовательский интерфейс для хранения / извлечения транспортных средств
  • Динамическое ценообразование на основе типа транспортного средства / имя класса
  • Динамические пределы, основанные на типе транспортного средства / имя класса
  • Добавляет поддержку для удаления вертолетной площадки поблизости
  • Возможность хранения на хранящихся транспортных средствах
  • Протоколирование RPT для хранения / извлечения транспортных средств
  • Исправляет ошибки для более чем двух человек, сдающих одно и то же транспортное средство
  • Поддержка рюкзаков и монет
  • Поддержка локализации (в настоящее время немецкая и русская)
  • Удаляет информацию для предыдущей версии

ВАЖНЫЙ!! Если вы обновляете версию OLD (то есть выпустил TheDuke77). Я рекомендую вам полностью удалить его!

 

Спойлер

1. Удалите следующие строки из description.ext:


#include "scripts\garage\common.hpp"
#include "scripts\garage\vehicle_garage.hpp"

2. Удалите эти строки из fn_selfActions.sqf:


if((_typeOfCursorTarget in DZE_garagist) && (player distance _cursorTarget < 5)) then {
	if (s_garage_dialog2 < 0) then {
		s_garage_dialog2 = player addAction ["Vehicle Garage", "scripts\garage\vehicle_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
	};
	if (s_garage_dialog < 0) then {
		s_garage_dialog = player addAction ["Store Vehicle in Garage", "scripts\garage\vehicle_store_list.sqf",_cursorTarget, 3, true, true, "", ""];
	};
} else {
	player removeAction s_garage_dialog2;
	s_garage_dialog2 = -1;
	player removeAction s_garage_dialog;
	s_garage_dialog = -1;
};

И эту строку:


player removeAction s_garage_dialog2;
s_garage_dialog2 = -1;

3. Удалите эту строку из кастомного файла variables.sqf:


s_garage_dialog2 = -1;

4. Удалите эти строки из кастомного файла compiles.sqf:


player_getVehicle = 			compile preprocessFileLineNumbers "scripts\garage\getvehicle.sqf";
player_storeVehicle = 			compile preprocessFileLineNumbers "scripts\garage\player_storeVehicle.sqf";
vehicle_info = compile preprocessFileLineNumbers "scripts\garage\vehicle_info.sqf";

Удалите эту функцию из кастомного файла compiles.sqf:


vehicle_gear_count = {
	private["_counter"];
	_counter = 0;
	{
		_counter = _counter + _x;
	} count _this;
	_counter
};

(ДОПОЛНИТЕЛЬНО) Следующие функции, если для них не требуются другие сценарии (SC_fnc_removeCoins и SC_fnc_addCoins) :


SC_fnc_removeCoins=
{
	private ["_player","_amount","_wealth","_newwealth", "_result"];
	_player = _this select 0;
	_amount = _this select 1;
	_result = false;
	_wealth = _player getVariable[Z_MoneyVariable,0];  
	if(_amount > 0)then{
	if (_wealth < _amount) then {
	_result = false;
	} else {                         
	_newwealth = _wealth - _amount;
	_player setVariable[Z_MoneyVariable,_newwealth, true];
	_player setVariable ["moneychanged",1,true];    
	_result = true;
	call player_forceSave;        
	};
	}else{
	_result = true;
	};
	_result
};

SC_fnc_addCoins = 
{
	private ["_player","_amount","_wealth","_newwealth", "_result"];			
	_player =  _this select  0;
	_amount =  _this select  1;
	_result = false;	
	_wealth = _player getVariable[Z_MoneyVariable,0];
	_player setVariable[Z_MoneyVariable,_wealth + _amount, true];
	call player_forceSave;
	_player setVariable ["moneychanged",1,true];					
	_newwealth = _player getVariable[Z_MoneyVariable,0];		
	if (_newwealth >= _wealth) then { _result = true; };			
	_result
};

5. Если никакие другие моды не используют пользовательский publicEH.sqf (что им не нужно, это плохо), вы можете удалить его из своего файла миссии.

6. Удалите из строки init.sqf следующую строку:


call compile preprocessFileLineNumbers "scripts\garage\publicEH.sqf";

И замените его на это:


call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";

7. Удалите следующие строки из вашего dayz_server\init\server_functions.sqf:


"extDB" callExtension "9:DATABASE:Database2";
"extDB" callExtension format["9:ADD:DB_RAW_V2:%1",1];
"extDB" callExtension "9:LOCK";

server_queryGarageVehicle = 	compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\server_queryGarageVehicle.sqf";
server_spawnVehicle = 	compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\server_spawnVehicle.sqf";
server_storeVehicle = 	compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\server_storeVehicle.sqf";
fn_asyncCall = 	compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\fn_async.sqf";

8. Удалите из publicvariable.txt следующие фильтры:


!="PVDZE_queryGarageVehicle" !="PVDZE_storeVehicle" !="PVDZE_spawnVehicle"

9. Удалите следующий номер из infistar\AHconfig.sqf из строки _ALLOWED_Dialogs:


3800

 

Установка папки:

1. Скачать файл

2. Скопируйте папку dayz_code и scripts в папку своей миссии, сохранив структуру каталогов.

3. В миссии\init.sqf найдите:

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";

и добавить ниже:

call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf";

4. В миссии\init.sqf найдите:

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";

и добавить ниже:

call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf";

5. Замените исходное description.ext на предоставленное или слияние содержимого, если вы изменили свою собственную версию.

6. Замените измененный файл dayz_code\compiles\fn_selfActions.sqf на тот, который был предоставлен или объединен с содержимым, если вы изменили свою версию.

7. Загрузите файл stringTable.xml и скопируйте его в папку своей миссии, это файл локализации на основе сообщества и содержит переводы для основных модов сообщества, включая этот.

 

Установка Actions:

1. Если вы хотите использовать HeliPads на основе, в вашем развертываемом файле конфигурации (addons\bike\config.sqf) найдите эту строку:

["ItemToolbox",[0,6,1],5,0.1,false,false,false,false,false,true,true,["MMT_Civ"],[],["ItemToolbox"],"true"],

Добавьте следующую строку:

["ItemToolbox",[0,9,2],5,0.9,true,true,false,true,true,false,true,["HeliHCivil"],[],[],"true"],

Вы можете заменить ItemToolBox тем, что вы хотели бы, чтобы игрок мог его развернуть, например, ItemEtool. Если вы используете гаражи в трейдерах, этот шаг не требуется.

2. (необязательно) Добавьте расходуемые затраты на развертывание панели heli:

["ItemToolbox",[0,9,2],5,0.9,true,true,false,true,true,false,true,["HeliHCivil"],[],["ItemRuby"],"true"],

Это заставит игрока потратить «ItemRuby» как на стоимость развертывания heli pad. Очевидно, вы можете его подписать (VaultStorage, ItemBriefcase100oz и т.д.).

 

Установка в папку dayz_server:

1. В dayz_server\init\server_functions.sqf найдите эту строку:

spawn_vehicles = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\spawn_vehicles.sqf";

Добавьте следующую строку:

call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\init.sqf";

Скопируйте папку dayz_server\compile\garage в каталог dayz_server, чтобы он стал dayz_server\compile\garage

 

Удаление extDB:

1. Удалите @extDB из вашей линии мод. Например: "-mod=@extDB;@DayZ_Epoch;@DayZ_Epoch_Server" становится

"-mod=@DayZ_Epoch;@DayZ_Epoch_Server"

2. При желании также удалите свою папку @extDB (при необходимости резервную копию)

3. В вашей папке DayZ_Server\Compiles\garage удалите fn_async.sqf, перезапишите другие файлы.

 

MYSQL установка:

1. Если вам разрешен доступ к основной базе данных, вы можете импортировать файл SQL\virtualGarage.sql без его редактирования.

2. Virtual Garage включает в себя customHiveExt.dll с настраиваемым именем таблицы и днями очистки транспортных средств, это должно заменить вашу текущую/официальную Epoch HiveExt.dll скопируйте поставляемый файл HiveExt.dll из @DayZ_Epoch_Server в папку Arma2 OA@DayZ_Epoch_Server.

3. Откройте HiveExt.ini и отредактируйте раздел [Objects], добавьте или измените следующий код в этом разделе. При необходимости настройте раздел [ObjectDB] для параметров базы данных внешних объектов

; Table name for the virtual garage data to be stored in, default table is 'garage'
;VGTable = garage
; Days for a stored vehicle to be cleaned up after, if set to -1 this feature is disabled. Default 35 days
;CleanupVehStoredDays = 35
; Log object cleanup DELETE statements (per object), including virtual garage. Default is false
;LogObjectCleanup = false

 

MYSQL обновление от предыдущего Virtual Garage:

1. Если вы обновляете версию предыдущего автора (например, TheDuke), удалите комментарии (/ * * /) в строке 5 и 8 в SQL \ virtualGarageUpdate.sql, чтобы она выглядела так:

ALTER TABLE `garage` ADD `Name` VARCHAR(50) NOT NULL DEFAULT '' AFTER `PlayerUID`;
ALTER TABLE `garage` ADD `displayName` VARCHAR(50) NOT NULL DEFAULT '' AFTER `Name`;

2. Импортируйте файл SQL\virtualGarageUpdate.sql поверх вашей базы данных гаража, это обновит его до последней версии.

3. Virtual Garage включает в себя customHiveExt.dll с настраиваемым именем таблицы и днями очистки транспортных средств, это должно заменить вашу текущую/официальную Epoch HiveExt.dll скопируйте поставляемый файл HiveExt.dll из @DayZ_Epoch_Server в папку Arma2 OA@DayZ_Epoch_Server.

4. Удалите процедуру очистки из вашей БД, выполнив этот оператор SQL:

DROP EVENT IF EXISTS `RemoveOldVG`;

5. Откройте HiveExt.ini и отредактируйте раздел [Objects], добавьте или измените следующий код в этом разделе. При необходимости настройте раздел [ObjectDB] для параметров базы данных внешних объектов:

; Table name for the virtual garage data to be stored in, default table is 'garage'
;VGTable = garage
; Days for a stored vehicle to be cleaned up after, if set to -1 this feature is disabled. Default 35 days
;CleanupVehStoredDays = 35
; Log object cleanup DELETE statements (per object), including virtual garage. Default is false
;LogObjectCleanup = false

 

Настройка Infistar:

1. Если у вас _CSA = true; в вашем AHconfig.sqf: добавьте 2800 в конец массива _ALLOWED_Dialogs, то есть:

_ALLOWED_Dialogs = _ALLOWED_Dialogs + [81000,88890,20001,20002,20003,20004,20005,20006,55510,55511,55514,55515,55516,55517,55518,55519,555120,118338,118339,571113,2800]; // adding some others from community addons

2. Если у вас _CUD = true; в вашем AHconfig.sqf: добавьте "s_garage_dialog" в конец вашего массива _dayzActions, то есть:

"Tow_settings_dlg_CV_btn_fermer","Tow_settings_dlg_CV_titre","unpackRavenAct","vectorActions","wardrobe","s_garage_dialog"

 

Добавление HeliPad в массив:

1. Если вы используете helipads на игровых базах, вам нужно будет добавить helipad в массив, чтобы игроки могли его поддерживать, а сервер не удалял его. В пользовательских variables.sqf найдите эту строку:

//Player self-action handles

Добавьте следующую строку:

DZE_maintainClasses = DZE_maintainClasses + ["HeliHCivil"];

 

Установка Battleye filter:

1. Предполагается, что вы используете фильтры Epoch по умолчанию.

2. В строке 2 config<yourServerName>\Battleye\createVehicle.txt добавить !="HeliHCivil" в конец строки, чтобы она выглядела так:

5 !(^DZ_|^z_|^pz_|^WeaponHolder|Box|dog|PZombie_VB|^Smoke|^Chem|^._40mm|_DZ$|^Trap) <REMOVED SOME FILTERS TO MAKE SMALLER> !="Fin" !="Pastor" !="HeliHCivil"

3. В строке 2 config<yourServerName>\Battleye\publicVariable.txt добавить !="PVDZE_(query|store|spawn)Vehicle" до конца строки, чтобы он выглядел так:

5 !=(remExField|remExFP) <REMOVED SOME FILTERS TO MAKE SMALLER> !="PVDZE_(query|store|spawn)Vehicle"

4. В строке 12 config<yourServerName>\Battleye\scripts.txt: 5 createDialog добавьте это к концу:

!="createDialog \"virtualGarage\";"

Таким образом, он будет выглядеть следующим образом:

5 createDialog <CUT> !="createDialog \"virtualGarage\";"

5. В строке 51 config<yourServerName>\Battleye\scripts.txt: 5 toString добавьте это к концу:

!"_input = parseNumber (toString (_input));"

Таким образом, он будет выглядеть следующим образом:

5 toString <CUT> !"_input = parseNumber (toString (_input));"

Статья взята с сайта: epochmod.com

Понравилась статья? Поставь +

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


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

доброго дня, вы от пишете заменить эти файлы, но ведь они уже как то редактированы 

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


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

@DIas Привет, куда пропал?) Такс, можешь написать какой именно пункт?

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


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

Да дела.. служба..все пункты в которых есть замена, начиная со второго

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


Ссылка на сообщение
Поделиться на другие сайты
В 11.07.2018 в 13:41, ZizionarD сказал:

5. Замените исходное description.ext на предоставленное или слияние содержимого, если вы изменили свою собственную версию.

6. Замените измененный файл dayz_code\compiles\fn_selfActions.sqf на тот, который был предоставлен или объединен с содержимым, если вы изменили свою версию.

@DIas Вот про это ты имел ввиду? Просто этот гайд написан под оба варианта, либо ты его ставишь на чистый сервер или же на уже готовый

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×