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
Koms

Велосипед и PBX только из тулбокса (ПКМ опции у предмета. Maca_rc)

Recommended Posts

Всем привет.

Нашел на просторах сети такой скрипт, опробовал, допилил и решил поделиться со всеми.

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Позволяет создать из тулбокса (ItemToolbox)  велосипед и резиновую лодку. Он не такой гибкий и универсальный, как EVD, но проще и не требует больше ничего, кроме самих инструментов. 

При  нажатии ПКМ на тулбокс появляется меню "Собрать велосипед" и "Собрать PBX" (для крафта лодки необходимо находиться возле воды и смотреть на неё). Данная техника сохраняется только до рестарта - поэтому разберите её перед ним. При разборке тулбокс возвращается обратно в инвентарь.

 

Итак, нам понадобятся 4 файла - код приведу ниже, кастомные файлы variables.sqf и fn_selfaction.sqf и сам файл extra_rc.hpp: 

Как сделать кастомные файлыhttp://s-platoon.ru/index.php?/topic/3235-sozdaem-kastomnye-faily/

Как сделать extra_rc.hpphttp://s-platoon.ru/index.php?/topic/1794-rbm-option-on-objects-pkm-optcii-u-predmeta-maca-rc/  

 

У меня скрипты находятся в папке custom, поэтому пути привожу свои. Создаём файлы:

 

deploybike.sqf

private ["_itemsPlayer","_hasToolBox","_dis","_sfx","_object","_objectID","_objectUID"];
_itemsPlayer = items player;
_hasToolBox = 	"ItemToolbox" in _itemsPlayer;
if !(_hasToolBox) exitWith {cutText [format["Вам необходим ToolBox для создания BPX"], "PLAIN DOWN"]; };
if (dayz_combat == 1) then { 
    cutText [format["Вы не можете собирать велосипед, находясь в бою."], "PLAIN DOWN"];
} else {
	player removeAction s_player_deploybike;
	player playActionNow "Medic";
	closeDialog 602;
	r_interrupt = false;
	player removeWeapon "ItemToolbox";
	_dis=2;
	_sfx = "repair";
	[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
	[player,_dis,true,(getPosATL player)] spawn player_alertZombies;	
	sleep 6;
	
	_object = "MMT_Civ" createVehicle (position player);
	_objectID = str(round(random 999999));
	_ObjectUID = str(round(random 999999));
	_object setVariable ["ObjectID", _objectID, true];
	_object setVariable ["ObjectUID", _ObjectUID, true];	
	clearWeaponCargoGlobal _object;
	clearMagazineCargoGlobal _object;
	_object setVehicleAmmo 0;	
	_object attachto [player,[0.0,3.0,0.5]];
	sleep 3;
	detach _object;
	player reveal _object;
	cutText [format["Ваш ToolBox использован для сборки велосипеда."], "PLAIN DOWN"];
	
	r_interrupt = false;
	player switchMove "";
	player playActionNow "stop";
	
	sleep 10;
	
	cutText [format["Внимание! Данный велосипед пропадёт после рестарта!"], "PLAIN DOWN"];	
};

 

deployPBX.sqf

private ["_itemsPlayer","_hasToolBox","_position","_dis","_sfx","_object","_objectID","_objectUID"];
_itemsPlayer = items player;
_hasToolBox = 	"ItemToolbox" in _itemsPlayer;
// find position 1m in front of player
_position = player modeltoworld [0,1,0];
if !(surfaceIsWater _position) exitWith {cutText [format["Необходимо быть рядом с водой, чтобы собрать BPX"] , "PLAIN DOWN"]; };
if !(_hasToolBox) exitWith {cutText [format["Вам необходим ToolBox для создания BPX"], "PLAIN DOWN"]; };
if (dayz_combat == 1) then {cutText [format["Вы не можете собрать PBX, находясь в бою."], "PLAIN DOWN"];
} else {
	player removeAction s_player_deployPBX;
	player playActionNow "Medic";
	closeDialog 602;
	r_interrupt = false;
	player removeWeapon "ItemToolbox";
	_dis=2;
	_sfx = "repair";
	[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
	[player,_dis,true,(getPosATL player)] spawn player_alertZombies;	
	sleep 6;
	
	_object = "PBX" createVehicle (position player);
	_objectID = str(round(random 999999));
	_ObjectUID = str(round(random 999999));
	_object setVariable ["ObjectID", _objectID, true];
	_object setVariable ["ObjectUID", _ObjectUID, true];	
	clearWeaponCargoGlobal _object;
	clearMagazineCargoGlobal _object;
	_object setVehicleAmmo 0;	
	_object attachto [player,[0.0,3.0,0.5]];
	sleep 3;
	detach _object;
	player reveal _object;
	cutText [format["Ваш ToolBox был использован для сборки PBX."], "PLAIN DOWN"];
	
	r_interrupt = false;
	player switchMove "";
	player playActionNow "stop";
	
	sleep 10;
	
	cutText [format["Внимание! Данная лодка пропадёт после рестарта!"], "PLAIN DOWN"];
};

 

packbike.sqf

private ["_nearbybikes","_x","_dis","_sfx"];
if (dayz_combat == 1) then { 
    cutText [format["Вы не можете разобрать велосипед, находясь в бою."], "PLAIN DOWN"];
} else {
	player removeAction s_player_packvehicle;
	player playActionNow "Medic";
	r_interrupt = false;
	player addWeapon "ItemToolbox";
	_nearbybikes = (getPosATL player) nearObjects ["MMT_Civ", 5];
	{deletevehicle _x;} forEach _nearbybikes;
	_dis=2;
	_sfx = "repair";
	[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
	[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
	
	sleep 6;
	
	cutText [format["Вы разобрали велосипед, ToolBox возвращён в инвентарь."], "PLAIN DOWN"];
	
	r_interrupt = false;
	player switchMove "";
	player playActionNow "stop";
};

 

packPBX.sqf

private ["_nearbyPBX","_x","_dis","_sfx"];
if (dayz_combat == 1) then { 
    cutText [format["Вы не можете упаковать PBX, находясь в бою."], "PLAIN DOWN"];
} else {
	player removeAction s_player_packPBX;
	player playActionNow "Medic";
	r_interrupt = false;
	player addWeapon "ItemToolbox";
	_nearbyPBX = (getPosATL player) nearObjects ["PBX", 5];
	{deletevehicle _x;} forEach _nearbyPBX;
	_dis=2;
	_sfx = "repair";
	[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
	[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
	
	sleep 6;
	
	cutText [format["PBX упакован, ToolBox возвращён в инвентарь."], "PLAIN DOWN"];
	
	r_interrupt = false;
	player switchMove "";
	player playActionNow "stop";
};

 

Сохраняем их в папку custom\deploy

 

Следующий шаг - добавление записей в кастомные файлы variables.sqf и fn_selfaction.sqf:

 

variables.sqf

Находим:

dayz_resetSelfActions = {

и вставляем в эту секцию (вверх или вниз-как вам удобнее):

//deploy
s_player_deploybike = -1;
s_player_packvehicle = -1;
s_player_deployPBX = -1;
s_player_packPBX = -1;

 

Далее там-же ищем:

DZE_safeVehicle = ["ParachuteWest","ParachuteC"];

и приодим к виду:

DZE_safeVehicle = ["MMT_Civ","PBX","ParachuteWest","ParachuteC"];

ПРИМЕЧАНИЕ: Данная строка у вас может быть уже изменена-просто допишите недостающее: "MMT_Civ","PBX"

 

 

fn_selfaction.sqf:

Находим:

// All Traders

Выше вставляем:

//Pack Bike
	if (_cursorTarget isKindOf "MMT_Civ" && !(locked _cursorTarget) && (damage _cursorTarget < 1) && (speed player <= 1) && (_cursorTarget distance player <= 3)) then {
	if (s_player_packvehicle < 0) then {
			s_player_packvehicle = player addAction ["Разобрать велосипед", "custom\deploy\packbike.sqf",_cursorTarget, 0, false, true, "",""];
		};
	} else {
		player removeAction s_player_packvehicle;
		s_player_packvehicle = -1;
	};
//Pack PBX
	if (_cursorTarget isKindOf "PBX" && !(locked _cursorTarget) && (damage _cursorTarget < 1) && (speed player <= 1) && (_cursorTarget distance player <= 3)) then {
	if (s_player_packPBX < 0) then {
			s_player_packPBX = player addAction ["Упаковать PBX", "custom\deploy\packPBX.sqf",_cursorTarget, 0, false, true, "",""];
		};
	} else {
		player removeAction s_player_packPBX;
		s_player_packPBX = -1;
	};

Далее там-же (внизу!) находим:

	player removeAction s_player_downgrade_build;
	s_player_downgrade_build = -1; 

Под ним вставляем:

//deploy
player removeAction s_player_packvehicle;
s_player_packvehicle = -1;
player removeAction s_player_packPBX;
s_player_packPBX = -1; 

 

Добавление записей в сам файл extra_rc.hpp  (вы же его уже создали по ссылке с инструкцией вверху?):

	class ItemToolbox {
	   class BuildBike {
			text = "Собрать велосипед";
			script = "execVM 'custom\deploy\deploybike.sqf'";
		};
	   class BuildPBX {
			text = "Собрать PBX";
			script = "execVM 'custom\deploy\deployPBX.sqf'";
		};	

Добавление исключений в античит infiSTAR:

 

Добавьте:

"s_player_deploybike","s_player_packVehicle","s_player_deployPBX","s_player_packPBX",

в секцию: 

_dayzActions =
[

Часть уже может быть вписана-поэтому допишите только недостающее.

ГОТОВО!

 

Файлы крафта и extra_rc.hpp прикрепил к сообщению.  

Скрипты полностью рабочие, не блокируются, техника не исчезает и не убивает. Серверный и клиентский логи чисты.


 

deploy.zip

extra_rc.zip

Edited by Koms (see edit history)

Share this post


Link to post
Share on other sites





эмм, какой это уже по счету скрипт крафта велика???

Share this post


Link to post
Share on other sites

Понятия не имею-просто показался самым простым и самым рабочим, после EVD. Поэтому поделился.

Share this post


Link to post
Share on other sites

Понятия не имею-просто показался самым простым и самым рабочим, после EVD. Поэтому поделился.

EVD явно проще

Edited by Linux (see edit history)

Share this post


Link to post
Share on other sites

В EVD тулбокс остаётся, если делать только из него. Встал возле торговца и штампуй велики на продажу)) Ну или совсем всё изымать.  В общем, решил на этом остановиться.

 

Почему не могу теме поставить префикс СКРИПТ?

Edited by Koms (see edit history)

Share this post


Link to post
Share on other sites

В EVD тулбокс остаётся, если делать только из него. Встал возле торговца и штампуй велики на продажу)) Ну или совсем всё изымать.  В общем, решил на этом остановиться.

 

Почему не могу теме поставить префикс СКРИПТ?

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

 

 По поводу префикса не знаю

Share this post


Link to post
Share on other sites

Каждому своё. Повторюсь-мне так показалось удобнее, хотя больше года стоял EVD.

Share this post


Link to post
Share on other sites

Всем привет.

Нашел на просторах сети такой скрипт, опробовал, допилил и решил поделиться со всеми.

attachicon.gifdeploy.png

Позволяет создать из тулбокса (ItemToolbox)  велосипед и резиновую лодку. Он не такой гибкий и универсальный, как EVD, но проще и не требует больше ничего, кроме самих инструментов. 

При  нажатии ПКМ на тулбокс появляется меню "Собрать велосипед" и "Собрать PBX" (для крафта лодки необходимо находиться возле воды и смотреть на неё). Данная техника сохраняется только до рестарта - поэтому разберите её перед ним. При разборке тулбокс возвращается обратно в инвентарь.

 

Итак, нам понадобятся 4 файла - код приведу ниже, кастомные файлы variables.sqf и fn_selfaction.sqf и сам файл extra_rc.hpp: 

Как сделать кастомные файлыhttp://s-platoon.ru/index.php?/topic/3235-sozdaem-kastomnye-faily/

Как сделать extra_rc.hpphttp://s-platoon.ru/index.php?/topic/1794-rbm-option-on-objects-pkm-optcii-u-predmeta-maca-rc/  

 

У меня скрипты находятся в папке custom, поэтому пути привожу свои. Создаём файлы:

 

deploybike.sqf

private ["_itemsPlayer","_hasToolBox","_dis","_sfx","_object","_objectID","_objectUID"];
_itemsPlayer = items player;
_hasToolBox = 	"ItemToolbox" in _itemsPlayer;
if !(_hasToolBox) exitWith {cutText [format["Вам необходим ToolBox для создания BPX"], "PLAIN DOWN"]; };
if (dayz_combat == 1) then { 
    cutText [format["Вы не можете собирать велосипед, находясь в бою."], "PLAIN DOWN"];
} else {
	player removeAction s_player_deploybike;
	player playActionNow "Medic";
	closeDialog 602;
	r_interrupt = false;
	player removeWeapon "ItemToolbox";
	_dis=2;
	_sfx = "repair";
	[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
	[player,_dis,true,(getPosATL player)] spawn player_alertZombies;	
	sleep 6;
	
	_object = "MMT_Civ" createVehicle (position player);
	_objectID = str(round(random 999999));
	_ObjectUID = str(round(random 999999));
	_object setVariable ["ObjectID", _objectID, true];
	_object setVariable ["ObjectUID", _ObjectUID, true];	
	clearWeaponCargoGlobal _object;
	clearMagazineCargoGlobal _object;
	_object setVehicleAmmo 0;	
	_object attachto [player,[0.0,3.0,0.5]];
	sleep 3;
	detach _object;
	player reveal _object;
	cutText [format["Ваш ToolBox использован для сборки велосипеда."], "PLAIN DOWN"];
	
	r_interrupt = false;
	player switchMove "";
	player playActionNow "stop";
	
	sleep 10;
	
	cutText [format["Внимание! Данный велосипед пропадёт после рестарта!"], "PLAIN DOWN"];	
};

 

deployPBX.sqf

private ["_itemsPlayer","_hasToolBox","_position","_dis","_sfx","_object","_objectID","_objectUID"];
_itemsPlayer = items player;
_hasToolBox = 	"ItemToolbox" in _itemsPlayer;
// find position 1m in front of player
_position = player modeltoworld [0,1,0];
if !(surfaceIsWater _position) exitWith {cutText [format["Необходимо быть рядом с водой, чтобы собрать BPX"] , "PLAIN DOWN"]; };
if !(_hasToolBox) exitWith {cutText [format["Вам необходим ToolBox для создания BPX"], "PLAIN DOWN"]; };
if (dayz_combat == 1) then {cutText [format["Вы не можете собрать PBX, находясь в бою."], "PLAIN DOWN"];
} else {
	player removeAction s_player_deployPBX;
	player playActionNow "Medic";
	closeDialog 602;
	r_interrupt = false;
	player removeWeapon "ItemToolbox";
	_dis=2;
	_sfx = "repair";
	[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
	[player,_dis,true,(getPosATL player)] spawn player_alertZombies;	
	sleep 6;
	
	_object = "PBX" createVehicle (position player);
	_objectID = str(round(random 999999));
	_ObjectUID = str(round(random 999999));
	_object setVariable ["ObjectID", _objectID, true];
	_object setVariable ["ObjectUID", _ObjectUID, true];	
	clearWeaponCargoGlobal _object;
	clearMagazineCargoGlobal _object;
	_object setVehicleAmmo 0;	
	_object attachto [player,[0.0,3.0,0.5]];
	sleep 3;
	detach _object;
	player reveal _object;
	cutText [format["Ваш ToolBox был использован для сборки PBX."], "PLAIN DOWN"];
	
	r_interrupt = false;
	player switchMove "";
	player playActionNow "stop";
	
	sleep 10;
	
	cutText [format["Внимание! Данная лодка пропадёт после рестарта!"], "PLAIN DOWN"];
};

 

packbike.sqf

private ["_nearbybikes","_x","_dis","_sfx"];
if (dayz_combat == 1) then { 
    cutText [format["Вы не можете разобрать велосипед, находясь в бою."], "PLAIN DOWN"];
} else {
	player removeAction s_player_packvehicle;
	player playActionNow "Medic";
	r_interrupt = false;
	player addWeapon "ItemToolbox";
	_nearbybikes = (getPosATL player) nearObjects ["MMT_Civ", 5];
	{deletevehicle _x;} forEach _nearbybikes;
	_dis=2;
	_sfx = "repair";
	[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
	[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
	
	sleep 6;
	
	cutText [format["Вы разобрали велосипед, ToolBox возвращён в инвентарь."], "PLAIN DOWN"];
	
	r_interrupt = false;
	player switchMove "";
	player playActionNow "stop";
};

 

packPBX.sqf

private ["_nearbyPBX","_x","_dis","_sfx"];
if (dayz_combat == 1) then { 
    cutText [format["Вы не можете упаковать PBX, находясь в бою."], "PLAIN DOWN"];
} else {
	player removeAction s_player_packPBX;
	player playActionNow "Medic";
	r_interrupt = false;
	player addWeapon "ItemToolbox";
	_nearbyPBX = (getPosATL player) nearObjects ["PBX", 5];
	{deletevehicle _x;} forEach _nearbyPBX;
	_dis=2;
	_sfx = "repair";
	[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
	[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
	
	sleep 6;
	
	cutText [format["PBX упакован, ToolBox возвращён в инвентарь."], "PLAIN DOWN"];
	
	r_interrupt = false;
	player switchMove "";
	player playActionNow "stop";
};

 

Сохраняем их в папку custom\deploy

 

Следующий шаг - добавление записей в кастомные файлы variables.sqf и fn_selfaction.sqf:

 

variables.sqf

Находим:

dayz_resetSelfActions = {

и вставляем в эту секцию (вверх или вниз-как вам удобнее):

//deploy
s_player_deploybike = -1;
s_player_packvehicle = -1;
s_player_deployPBX = -1;
s_player_packPBX = -1;

 

Далее там-же ищем:

DZE_safeVehicle = ["ParachuteWest","ParachuteC"];

и приодим к виду:

DZE_safeVehicle = ["MMT_Civ","PBX","ParachuteWest","ParachuteC"];

ПРИМЕЧАНИЕ: Данная строка у вас может быть уже изменена-просто допишите недостающее: "MMT_Civ","PBX"

 

 

fn_selfaction.sqf:

Находим:

// All Traders

Выше вставляем:

//Pack Bike
	if (_cursorTarget isKindOf "MMT_Civ" && !(locked _cursorTarget) && (damage _cursorTarget < 1) && (speed player <= 1) && (_cursorTarget distance player <= 3)) then {
	if (s_player_packvehicle < 0) then {
			s_player_packvehicle = player addAction ["Разобрать велосипед", "custom\deploy\packbike.sqf",_cursorTarget, 0, false, true, "",""];
		};
	} else {
		player removeAction s_player_packvehicle;
		s_player_packvehicle = -1;
	};
//Pack PBX
	if (_cursorTarget isKindOf "PBX" && !(locked _cursorTarget) && (damage _cursorTarget < 1) && (speed player <= 1) && (_cursorTarget distance player <= 3)) then {
	if (s_player_packPBX < 0) then {
			s_player_packPBX = player addAction ["Упаковать PBX", "custom\deploy\packPBX.sqf",_cursorTarget, 0, false, true, "",""];
		};
	} else {
		player removeAction s_player_packPBX;
		s_player_packPBX = -1;
	};

Далее там-же (внизу!) находим:

	player removeAction s_player_downgrade_build;
	s_player_downgrade_build = -1; 

Под ним вставляем:

//deploy
player removeAction s_player_packvehicle;
s_player_packvehicle = -1;
player removeAction s_player_packPBX;
s_player_packPBX = -1; 

 

Добавление записей в сам файл extra_rc.hpp  (вы же его уже создали по ссылке с инструкцией вверху?):

	class ItemToolbox {
	   class BuildBike {
			text = "Собрать велосипед";
			script = "execVM 'custom\deploy\deploybike.sqf'";
		};
	   class BuildPBX {
			text = "Собрать PBX";
			script = "execVM 'custom\deploy\deployPBX.sqf'";
		};	

Добавление исключений в античит infiSTAR:

 

Добавьте:

"s_player_deploybike","s_player_packVehicle","s_player_deployPBX","s_player_packPBX",

в секцию: 

_dayzActions =
[

Часть уже может быть вписана-поэтому допишите только недостающее.

ГОТОВО!

 

Файлы крафта и extra_rc.hpp прикрепил к сообщению.  

Скрипты полностью рабочие, не блокируются, техника не исчезает и не убивает. Серверный и клиентский логи чисты.

 

 

Не работает, поставил всё по инструкции

Share this post


Link to post
Share on other sites

Взял себе, спасибо, всё отлично работает! +

Share this post


Link to post
Share on other sites

Поставил, работает.

Но только собирается, а разобрать при нажатии почему-то нет взаимодействия!

Share this post


Link to post
Share on other sites

fn_selfaction не правил-вот и не разбирается.

Share this post


Link to post
Share on other sites

когда игру запускаеш - крашится, выскакивает окно с ошибкой, ошибка из rpt - ErrorMessage: File mpmissions\DayZ_Epoch_11.Chernarus\description.ext, line 159: /ExtraRc/: Missing '}'

 на 159 строке у меня закрывающаяса скобка и дальше подключения скриптов идут -    

class RscTitles
    {
    #include "ZSC\config\ZSChud.hpp"
    #include "dzgm\icons.hpp"
    };

Share this post


Link to post
Share on other sites

После сборки велосипеда, сажусь на него, начинаю ехать и умираю. Почему?

Share this post


Link to post
Share on other sites

Далее там-же ищем:



  •  
  •  
  •  
  1. DZE_safeVehicle = ["ParachuteWest","ParachuteC"];

и приодим к виду:



  •  
  •  
  •  
  1. DZE_safeVehicle = ["MMT_Civ","PBX","ParachuteWest","ParachuteC"];

ПРИМЕЧАНИЕ: Данная строка у вас может быть уже изменена-просто допишите недостающее: "MMT_Civ","PBX"


Share this post


Link to post
Share on other sites

 

  1. DZE_safeVehicle = ["MMT_Civ","PBX","ParachuteWest","ParachuteC"];

Это у меня есть, но всё-равно умираю.

 

Кстати, эта строка так и должна быть в блоке "if (isServer) then {" ?

Share this post


Link to post
Share on other sites

Я лошара. Кастомный variables.sqf создал, а подключить его забыл. Гы.  :biggrin:

Share this post


Link to post
Share on other sites

У меня что то меню появляется но не крафтит, а лодку пишет что у воды должны , но когда подхожу к воде вообще тишина даже не пишет не чего. и AH отрубал уже

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 Venom21
      Появилась такая проблема, нужно закрыть некоторые слоты под одежду, когда на определённый слот одет предмет…
      пример: возьмём экзоскелет от Фидова, там есть две версии которая одеваеться как на тело и ноги, и есть которая одеваться на разгрузку и пояс, так вот, нужно например чтобы при одетом экзаче на тело и ноги слоты под пояс и разгрузку блокировались, либо только под определенные предметы, если есть интерес то цену можем в личке обсудить…
      P.S. Разрешение от Фидова на переделку и переупаковку есть)
    • By CubeIn
      Здарова, уважаемые знатоки, вопрос.
      Мне скриптер скинул скрипт и сказал закинуть её в северную часть, но не указал куда именно. Подскажите пожалуйста, куда мне её деть? 
    • By CubeIn
      Здарова всем!
      У меня срочный вопрос опытным хозяинам серверостроения. Есть ли возможность настроить холод на карте Namalsk? А то слишком холодновато игрокам, а где это настраивать...
    • By BorizzK
      Накатал по быстрому для себя и своих ребят от нефиг делать, тк в командировке и дейзить возможности нет, только удаленно ковырять сервер
      Внутри настройки через переменные
      путь к базе сервера и инстанс ид берет из конфига сервера (нужно настроить имя файла и путь в файле)
      Мониторит сервер по названию окна, сохранив pid
      При вылете в 90% случаев корректно убивает процесс
      При перезапуске так же
      При каждом старте с 0 и при перезапусках делает бэкапы баз/настроек/
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By BorizzK
      В эксперементалке 1.08 если сбросить предмет находясь на машине (крыше, багажнике, капоте в кузове) предмет проваливается сквозь машину на землю или оказывается в ее текстурах
       
      Тикет
      https://feedback.bistudio.com/T152071
       
      ответ богемии поразителен - сейчас нет простого решения
       
      А ниже что? Проще не бывает...
       
      Собственно код фикса (Автор Я)
       
      Code ``` modded class ItemBase extends InventoryItem { override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc) { super.EEItemLocationChanged(oldLoc,newLoc); if (newLoc.GetType() == InventoryLocationType.GROUND) { if (oldLoc.GetParent()) { PlayerBase player = PlayerBase.Cast(oldLoc.GetParent()); if (player) { FixPositionIfDropOnCar(player); } } } } void FixPositionIfDropOnCar(PlayerBase player) { vector m_RayStart; vector m_RayEnd; m_RayStart = player.GetPosition(); m_RayStart[1] = m_RayStart[1] + 0.5; m_RayEnd = m_RayStart; m_RayEnd[1] = m_RayEnd[1] - 1; RaycastRVParams m_RayCastInput = new RaycastRVParams(m_RayStart, m_RayEnd, this, 0.05); array<ref RaycastRVResult> m_RayCastResults = new array<ref RaycastRVResult>; m_RayCastInput.with = player; m_RayCastInput.flags = CollisionFlags.FIRSTCONTACT; if (DayZPhysics.RaycastRVProxy(m_RayCastInput, m_RayCastResults)) { if (m_RayCastResults.Count() > 0) { Car car; if (Class.CastTo(car, m_RayCastResults[0].obj) || Class.CastTo(car, m_RayCastResults[0].parent)) { this.SetPosition(m_RayCastResults[0].pos + (player.GetDirection() * 0.1)); } } } } } ``` Наверное имеет смысл чуть приподнять предмет над поверхностью, но необходимость этого зависит от типа предмета, потому не стал этого делать
       
      чуть откорректировал код
  • 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.