Jump to content

Recommended Posts

I was wondering if anyone has vehicle key changer working with the coin system? I've seen many posts asking about it on the thread for it but seems like everyone ignores it over there.

 

Here is a link to the version I'm looking for to be a little more specific.

Share this post


Link to post
Share on other sites

i have it working on my server... wasnt too difficult to do...

 

VehicleKeyChanger_init.sqf

/***********************************/ 	
/* Vehicle Key Changer v1.3        */
/* Written by OtterNas3            */
/* January, 11, 2014               */
/* Last update: 02/20/2014         */
/***********************************/


private ["_playerDollars","_itemsPlayer","_magazinesPlayer","_temp_Keys","_temp_keysDisplayName","_temp_keysDisplayNameParse","_key_colors","_ownerKeyId","_carKey","_hasKey","_cTarget","_keyName","_carKeyName","_targetVehicleKey","_temp_keysParse"];
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// Edit these settings to fit your needs/likes //
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/// Claim Vehicles that does not yet need Key ///
///////// 0 = Not allowed | 1 = Allowed /////////
vkc_claiming = 1;
/////////////////////////////////////////////////
//////// Claim Vehicles costs this Item /////////
/// Any Item can be used here, some examples: ///
//// ItemTinBar, ItemSilverBar, ItemGoldBar, ////
////// ItemSilverBar10oz, ItemGoldBar10oz, //////
///// ItemBriefcase20oz, ItemBriefcase100oz /////
//////// set to "0" to disable the costs ////////
vkc_claimingPrice = 5000;
/////////////////////////////////////////////////
////////// Change Key costs this Item// /////////
////////////// see above examples ///////////////
//////// set to "0" to disable the costs ////////
vkc_Price = 5000;
/////////////////////////////////////////////////
/////// Need KeyKit to use this function ////////
////////// 0 = Not needed | 1 = Needed //////////
vkc_needKeykit = 1;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////// DONT EDIT BELOW ! ///////////////
/////////////////////////////////////////////////

/* Reset variables function */
ON_fnc_vkc_reset = {
	_cTarget = objNull;
	_itemsPlayer = [];
	_temp_keys = [];
	_carKey = objNull;
	_hasKey = false;
	_temp_keysDisplayName = [];
	_temp_keysDisplayNameParse = [];
	_temp_keysParse = [];
	_targetVehicleKey = objNull;
	_carKeyName = "";
	player removeAction s_player_copyToKey;
	s_player_copyToKey = -1;
};

//Added for Fix
dayz_objectUID_vkc = {
	private["_position","_dir","_key","_object"];
	_object = _this;
	_position = getPosATL _object;
	_dir = direction _object;
	_key = [_dir,_position] call dayz_objectUID2_vkc;
    _key
};
 
dayz_objectUID2_vkc = {
	private["_position","_dir","_key"];
	_dir = _this select 0;
	_key = "";
	_position = _this select 1;
	{
		_x = _x * 10;
		if ( _x < 0 ) then { _x = _x * -10 };
		_key = _key + str(round(_x));
	} forEach _position;
	_key = _key + str(round(_dir));
	_key
};

/* Wait for player full ingame so we can access the action-menu */
waitUntil {!isNil "dayz_animalCheck"};

s_player_copyToKey=-1;
lastKeyChangeCursorTarget = [objNull,objNull,objNull,objNull,objNull];

/* Start the loop check */
while{true} do {
	sleep 3;
	_playerDollars = player getVariable['cashMoney', 0];
	if (!isNull cursorTarget && speed player <= 1 && (vehicle player) == player && !isEngineOn cursorTarget && (cursorTarget isKindOf "Motorcycle" || cursorTarget isKindOf "Car" || cursorTarget isKindOf "Air" || cursorTarget isKindOf "Ship" || cursorTarget isKindOf "Truck" || cursorTarget isKindOf "Tank") && (cursorTarget distance player) <= 10 && cursorTarget getVariable ["VKC_disabled", 0] == 0 && cursorTarget getVariable ["VKC_claiming_disabled",0] == 0) then {
		_cTarget = cursorTarget;
		_itemsPlayer = items player;
		_magazinesPlayer = magazines player;
		if ((lastKeyChangeCursorTarget select 0) != _cTarget) then {
			if (s_player_copyToKey >= 0) then {
				player removeAction s_player_copyToKey;
				s_player_copyToKey = -1;
			};
		};
		lastKeyChangeCursorTarget set [0,_cTarget];
		_carKey = _cTarget getVariable ["CharacterID","0"];
		if (("ItemKeyKit" in _itemsPlayer || vkc_needKeykit == 0) && ((_carKey == "0" && vkc_claiming == 1 && (vkc_claimingPrice == 0 || vkc_claimingPrice < _playerDollars)) || _carKey != "0") && (vkc_Price == 0 || vkc_Price < _playerDollars)) then {
			if (_carKey == "0") then {
				_temp_keys = [];
				_temp_keysDisplayName = [];
				_temp_keysDisplayNameParse = [];
				_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
				{
					if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
						_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
						_keyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
						_temp_keysDisplayName set [count _temp_keysDisplayName,_keyName];
						_temp_keys set [count _temp_keys,str(_ownerKeyId)];
					};
				} forEach _itemsPlayer;
				if ((count _temp_keys) > 0) then {
					if (s_player_copyToKey < 0) then {
						lastKeyChangeCursorTarget set [0,_cTarget];
						s_player_copyToKey = player addAction [("<t color=""#0000FF"">" + ("Claim Vehicle") + "</t>"),"custom\VehicleKeyChanger\VehicleKeyChanger.sqf",[_cTarget, _temp_keys, "0", _temp_keysDisplayName, "0", "0", vkc_Price, vkc_claimingPrice],-1,false,false,"",""];
					};
				} else {
					[] call ON_fnc_vkc_reset;
				};
			} else {
				_temp_keys = [];
				_temp_keysDisplayName = [];
				_temp_keysDisplayNameParse = [];
				_temp_keysParse = [];
				_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
				{
					if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
						_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
						_keyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
						_temp_keysDisplayName set [count _temp_keysDisplayName,_keyName];
						_temp_keysDisplayNameParse set [_ownerKeyId,_keyName];
						_temp_keys set [count _temp_keys,str(_ownerKeyId)];
						_temp_keysParse set [_ownerKeyId, _x];
					};
				} forEach _itemsPlayer;
				_hasKey = _carKey in _temp_keys;
				if (_hasKey && (count _temp_keys) > 1) then {
					_carKeyName = (_temp_keysDisplayNameParse select (parseNumber _carKey));
					_targetVehicleKey = (_temp_keysParse select (parseNumber _carKey));
					_temp_keys = _temp_keys - [_carKey];
					_temp_keysDisplayName = _temp_keysDisplayName - [_carKeyName];
					if (s_player_copyToKey < 0) then {
						lastKeyChangeCursorTarget set [0,_cTarget];
						s_player_copyToKey = player addAction [("<t color=""#0000FF"">" + ("Change Vehicle Key") + "</t>"),"custom\VehicleKeyChanger\VehicleKeyChanger.sqf",[_cTarget, _temp_keys, _carKey, _temp_keysDisplayName, _carKeyName, _targetVehicleKey, vkc_Price, 0],-1,false,false,"",""];
					};
				} else {
					[] call ON_fnc_vkc_reset;
				};
			};
		} else {
			[] call ON_fnc_vkc_reset;
		};
	} else {
		lastKeyChangeCursorTarget = [objNull,objNull,objNull,objNull,objNull];
		[] call ON_fnc_vkc_reset;
	};
};


VehicleKeyChanger.sqf

/***********************************/ 	
/* Vehicle Key Changer v1.3        */
/* Written by OtterNas3            */
/* January, 11, 2014               */
/* Last update: 02/20/2014         */
/***********************************/


/* Setup the private variables */
private ["_magazinesPlayer","_max","_j","_actionArray","_targetVehicle","_targetVehicleID","_targetVehicleUID","_playerKeys","_playerKeysDisplayName","_targetVehicleKeyName","_itemKeyName","_targetVehicleClassname","_targetVehiclePos","_targetVehicleDir","_Price","_claimingPrice"];

/* Remove the Action Menu entry */
player removeAction s_player_copyToKey;
s_player_copyToKey = 0;

/* Get the array and setup the variables */
_actionArray = _this select 3;
_targetVehicle = _actionArray select 0;
_targetVehicleID = _targetVehicle getVariable ["ObjectID","0"];
_targetVehicleUID = _targetVehicle getVariable ["ObjectUID","0"];

/* Check if the Vehicle is in the Database, if false exit */
if (_targetVehicleID == "0" && _targetVehicleUID == "0") exitWith {s_player_copyToKey = -1;};

/* Setup more variables */
_playerKeys = _actionArray select 1;
_playerKeysDisplayName = _actionArray select 3;
_targetVehicleKeyName = _actionArray select 4;
_itemKeyName = _actionArray select 5;
_Price = _actionArray select 6;
_claimingPrice = _actionArray select 7;
_targetVehicleClassname = typeOf _targetVehicle;
_targetVehiclePos = getPosATL _targetVehicle;
_targetVehicleDir = getDir _targetVehicle;

/* Setup the Key Names list to select from */
keyNameList = [];
for "_i" from 0 to (count _playerKeysDisplayName) -1 do {
	keyNameList set [(count keyNameList), _playerKeysDisplayName select _i];
};

/* Setup the Key Numbers list to select from */
keyNumberList = [];
for "_i" from 0 to (count _playerKeys) -1 do {
	keyNumberList set [(count keyNumberList), _playerKeys select _i];
};

/* Resetting menu variables*/
keyNameSelect = "";
exitscript = true;
snext = false;

/* Creating the menu */
copyMenu =
{
	private ["_keyMenu","_keyArray"];
	_keyMenu = [["",true], ["Change Vehicle to Key:", [-1], "", -5, [["expression", ""]], "1", "0"]];
	for "_i" from (_this select 0) to (_this select 1) do
	{
		_keyArray = [format['%1', keyNameList select (_i)], [_i - (_this select 0) + 2], "", -5, [["expression", format ["keyNameSelect = keyNameList select %1; keyNumberSelect = keyNumberList select %1", _i]]], "1", "1"];
		_keyMenu set [_i + 2, _keyArray];
	};
	_keyMenu set [(_this select 1) + 2, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];
	if (count keyNameList > (_this select 1)) then
	{
		_keyMenu set [(_this select 1) + 3, ["Next", [12], "", -5, [["expression", "snext = true;"]], "1", "1"]];
	} else {
		_keyMenu set [(_this select 1) + 3, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];
	};
	_keyMenu set [(_this select 1) + 4, ["Exit", [13], "", -5, [["expression", "keyNameSelect = 'exitscript';"]], "1", "1"]];
	showCommandingMenu "#USER:_keyMenu";
};

/* Wait for the player to select a Key from the list */
_j = 0;
_max = 10;
if (_max > 9) then {_max = 10;};
while {keyNameSelect == ""} do {
	[_j, (_j + _max) min (count keyNameList)] call copyMenu;
	_j = _j + _max;
	waitUntil {keyNameSelect != "" || snext};
	snext = false;
};

/* Player selected a Key, lets make the Vehicle update call */
if (keyNameSelect != "exitscript") then {
	
	/* Check again for the needed TinBar or claiming price and remove em from the players inventory */
	_magazinesPlayer = magazines player;
	_playerDollars = player getVariable['cashMoney', 0];
	if (_Price > 0) then {
		if (_Price < _playerDollars) then {
			//[player, _Price, 1] call BIS_fnc_invRemove;
			player setVariable["cashMoney",_playerDollars - _Price, true];
			systemChat (format["Keychange costs %1 Dollars, thanks for your Payment!", _Price]);
		} else {
			systemChat (format["Keychange costs %1 Dollars, you had it and tried to trick the system - Keychange for this Vehicle disabled!", Price]);
			_targetVehicle setVariable ["VKC_disabled", 1, true];
			s_player_copyToKey = -1;
			breakOut "exit";
		};
	};
	if (_claimingPrice > 0) then {
		if (_claimingPrice < _playerDollars) then {
			//[player, _claimingPrice, 1] call BIS_fnc_invRemove;
			player setVariable["cashMoney",_playerDollars - _claimingPrice, true];
			
			systemChat (format["Claiming Vehicle costs %1 Dollars, thanks for your Payment!", _claimingPrice]);
		} else {
			systemChat (format["Claiming Vehicle costs %1 Dollars, you had it and tried to trick the system - Claiming for this Vehicle disabled!", Price]);
			_targetVehicle setVariable ["VKC_claiming_disabled", 1, true];
			s_player_copyToKey = -1;
			breakOut "exit";
		};
	};
	
	/* We got the Money lets do our Job */
	/* Lock the vehicle */
	_targetVehicle setVehicleLock "LOCKED";
	
	/* The super duper OneForAllAnimation... */
	player playActionNow "Medic";
	
	/* Remove the Key from the Toolbelt of the player and put it in the Backpack - No Backpack and the Key gets lost */
	if (_itemKeyName != "0") then {
		if (!isNull (unitBackpack player)) then {
			[player, _itemKeyName, 1] call BIS_fnc_invRemove;
			(unitBackpack (vehicle player)) addWeaponCargoGlobal [_itemKeyName, 1];
			systemChat (format["%1 has been moved to your Backpack", _targetVehicleKeyName]);
		};
	};
	
	/* Giving unique UID for claimed vehicles */
	if (_targetVehicleUID=="0") then {
		_targetVehicleUID = _targetVehicle call dayz_objectUID_vkc;
		_targetVehicle setVariable ["ObjectUID",_targetVehicleUID,true]; // It does probably nothing and it's not needed :)
	};

	/* This calls the custom update function which we put it in server_updateObject.sqf */
	PVDZE_veh_Update = [_targetVehicle, "vehiclekey", player, _targetVehicleClassname, keyNumberSelect, keyNameSelect, _targetVehicleID, _targetVehicleUID]; 
	publicVariableServer "PVDZE_veh_Update"; 

	/* Inform the player about the success and tell him to check the Key */
	systemChat (format["Changed Vehicle Key to %1", keyNameSelect]);
	if (_targetVehicleKeyName != "0") then {
		systemChat (format["Please check Vehicle function with %1 before you throw away %2!", keyNameSelect, _targetVehicleKeyName]);
	};
};

/* Reset the action menu variable for a new run */
s_player_copyToKey = -1;

/**************************************/
/* That's it, hope you enjoy this Mod */
/*                                    */
/* Yours sincerly,                    */
/* Otter                              */
/**************************************/

This uses Souls Version so those money variables are set up for his not the 999 version,,,

Share this post


Link to post
Share on other sites

i have it working on my server... wasnt too difficult to do...

 

VehicleKeyChanger_init.sqf

/***********************************/ 	
/* Vehicle Key Changer v1.3        */
/* Written by OtterNas3            */
/* January, 11, 2014               */
/* Last update: 02/20/2014         */
/***********************************/


private ["_playerDollars","_itemsPlayer","_magazinesPlayer","_temp_Keys","_temp_keysDisplayName","_temp_keysDisplayNameParse","_key_colors","_ownerKeyId","_carKey","_hasKey","_cTarget","_keyName","_carKeyName","_targetVehicleKey","_temp_keysParse"];
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// Edit these settings to fit your needs/likes //
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/// Claim Vehicles that does not yet need Key ///
///////// 0 = Not allowed | 1 = Allowed /////////
vkc_claiming = 1;
/////////////////////////////////////////////////
//////// Claim Vehicles costs this Item /////////
/// Any Item can be used here, some examples: ///
//// ItemTinBar, ItemSilverBar, ItemGoldBar, ////
////// ItemSilverBar10oz, ItemGoldBar10oz, //////
///// ItemBriefcase20oz, ItemBriefcase100oz /////
//////// set to "0" to disable the costs ////////
vkc_claimingPrice = 5000;
/////////////////////////////////////////////////
////////// Change Key costs this Item// /////////
////////////// see above examples ///////////////
//////// set to "0" to disable the costs ////////
vkc_Price = 5000;
/////////////////////////////////////////////////
/////// Need KeyKit to use this function ////////
////////// 0 = Not needed | 1 = Needed //////////
vkc_needKeykit = 1;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////// DONT EDIT BELOW ! ///////////////
/////////////////////////////////////////////////

/* Reset variables function */
ON_fnc_vkc_reset = {
	_cTarget = objNull;
	_itemsPlayer = [];
	_temp_keys = [];
	_carKey = objNull;
	_hasKey = false;
	_temp_keysDisplayName = [];
	_temp_keysDisplayNameParse = [];
	_temp_keysParse = [];
	_targetVehicleKey = objNull;
	_carKeyName = "";
	player removeAction s_player_copyToKey;
	s_player_copyToKey = -1;
};

//Added for Fix
dayz_objectUID_vkc = {
	private["_position","_dir","_key","_object"];
	_object = _this;
	_position = getPosATL _object;
	_dir = direction _object;
	_key = [_dir,_position] call dayz_objectUID2_vkc;
    _key
};
 
dayz_objectUID2_vkc = {
	private["_position","_dir","_key"];
	_dir = _this select 0;
	_key = "";
	_position = _this select 1;
	{
		_x = _x * 10;
		if ( _x < 0 ) then { _x = _x * -10 };
		_key = _key + str(round(_x));
	} forEach _position;
	_key = _key + str(round(_dir));
	_key
};

/* Wait for player full ingame so we can access the action-menu */
waitUntil {!isNil "dayz_animalCheck"};

s_player_copyToKey=-1;
lastKeyChangeCursorTarget = [objNull,objNull,objNull,objNull,objNull];

/* Start the loop check */
while{true} do {
	sleep 3;
	_playerDollars = player getVariable['cashMoney', 0];
	if (!isNull cursorTarget && speed player <= 1 && (vehicle player) == player && !isEngineOn cursorTarget && (cursorTarget isKindOf "Motorcycle" || cursorTarget isKindOf "Car" || cursorTarget isKindOf "Air" || cursorTarget isKindOf "Ship" || cursorTarget isKindOf "Truck" || cursorTarget isKindOf "Tank") && (cursorTarget distance player) <= 10 && cursorTarget getVariable ["VKC_disabled", 0] == 0 && cursorTarget getVariable ["VKC_claiming_disabled",0] == 0) then {
		_cTarget = cursorTarget;
		_itemsPlayer = items player;
		_magazinesPlayer = magazines player;
		if ((lastKeyChangeCursorTarget select 0) != _cTarget) then {
			if (s_player_copyToKey >= 0) then {
				player removeAction s_player_copyToKey;
				s_player_copyToKey = -1;
			};
		};
		lastKeyChangeCursorTarget set [0,_cTarget];
		_carKey = _cTarget getVariable ["CharacterID","0"];
		if (("ItemKeyKit" in _itemsPlayer || vkc_needKeykit == 0) && ((_carKey == "0" && vkc_claiming == 1 && (vkc_claimingPrice == 0 || vkc_claimingPrice < _playerDollars)) || _carKey != "0") && (vkc_Price == 0 || vkc_Price < _playerDollars)) then {
			if (_carKey == "0") then {
				_temp_keys = [];
				_temp_keysDisplayName = [];
				_temp_keysDisplayNameParse = [];
				_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
				{
					if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
						_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
						_keyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
						_temp_keysDisplayName set [count _temp_keysDisplayName,_keyName];
						_temp_keys set [count _temp_keys,str(_ownerKeyId)];
					};
				} forEach _itemsPlayer;
				if ((count _temp_keys) > 0) then {
					if (s_player_copyToKey < 0) then {
						lastKeyChangeCursorTarget set [0,_cTarget];
						s_player_copyToKey = player addAction [("<t color=""#0000FF"">" + ("Claim Vehicle") + "</t>"),"custom\VehicleKeyChanger\VehicleKeyChanger.sqf",[_cTarget, _temp_keys, "0", _temp_keysDisplayName, "0", "0", vkc_Price, vkc_claimingPrice],-1,false,false,"",""];
					};
				} else {
					[] call ON_fnc_vkc_reset;
				};
			} else {
				_temp_keys = [];
				_temp_keysDisplayName = [];
				_temp_keysDisplayNameParse = [];
				_temp_keysParse = [];
				_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
				{
					if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
						_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
						_keyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
						_temp_keysDisplayName set [count _temp_keysDisplayName,_keyName];
						_temp_keysDisplayNameParse set [_ownerKeyId,_keyName];
						_temp_keys set [count _temp_keys,str(_ownerKeyId)];
						_temp_keysParse set [_ownerKeyId, _x];
					};
				} forEach _itemsPlayer;
				_hasKey = _carKey in _temp_keys;
				if (_hasKey && (count _temp_keys) > 1) then {
					_carKeyName = (_temp_keysDisplayNameParse select (parseNumber _carKey));
					_targetVehicleKey = (_temp_keysParse select (parseNumber _carKey));
					_temp_keys = _temp_keys - [_carKey];
					_temp_keysDisplayName = _temp_keysDisplayName - [_carKeyName];
					if (s_player_copyToKey < 0) then {
						lastKeyChangeCursorTarget set [0,_cTarget];
						s_player_copyToKey = player addAction [("<t color=""#0000FF"">" + ("Change Vehicle Key") + "</t>"),"custom\VehicleKeyChanger\VehicleKeyChanger.sqf",[_cTarget, _temp_keys, _carKey, _temp_keysDisplayName, _carKeyName, _targetVehicleKey, vkc_Price, 0],-1,false,false,"",""];
					};
				} else {
					[] call ON_fnc_vkc_reset;
				};
			};
		} else {
			[] call ON_fnc_vkc_reset;
		};
	} else {
		lastKeyChangeCursorTarget = [objNull,objNull,objNull,objNull,objNull];
		[] call ON_fnc_vkc_reset;
	};
};


VehicleKeyChanger.sqf

/***********************************/ 	
/* Vehicle Key Changer v1.3        */
/* Written by OtterNas3            */
/* January, 11, 2014               */
/* Last update: 02/20/2014         */
/***********************************/


/* Setup the private variables */
private ["_magazinesPlayer","_max","_j","_actionArray","_targetVehicle","_targetVehicleID","_targetVehicleUID","_playerKeys","_playerKeysDisplayName","_targetVehicleKeyName","_itemKeyName","_targetVehicleClassname","_targetVehiclePos","_targetVehicleDir","_Price","_claimingPrice"];

/* Remove the Action Menu entry */
player removeAction s_player_copyToKey;
s_player_copyToKey = 0;

/* Get the array and setup the variables */
_actionArray = _this select 3;
_targetVehicle = _actionArray select 0;
_targetVehicleID = _targetVehicle getVariable ["ObjectID","0"];
_targetVehicleUID = _targetVehicle getVariable ["ObjectUID","0"];

/* Check if the Vehicle is in the Database, if false exit */
if (_targetVehicleID == "0" && _targetVehicleUID == "0") exitWith {s_player_copyToKey = -1;};

/* Setup more variables */
_playerKeys = _actionArray select 1;
_playerKeysDisplayName = _actionArray select 3;
_targetVehicleKeyName = _actionArray select 4;
_itemKeyName = _actionArray select 5;
_Price = _actionArray select 6;
_claimingPrice = _actionArray select 7;
_targetVehicleClassname = typeOf _targetVehicle;
_targetVehiclePos = getPosATL _targetVehicle;
_targetVehicleDir = getDir _targetVehicle;

/* Setup the Key Names list to select from */
keyNameList = [];
for "_i" from 0 to (count _playerKeysDisplayName) -1 do {
	keyNameList set [(count keyNameList), _playerKeysDisplayName select _i];
};

/* Setup the Key Numbers list to select from */
keyNumberList = [];
for "_i" from 0 to (count _playerKeys) -1 do {
	keyNumberList set [(count keyNumberList), _playerKeys select _i];
};

/* Resetting menu variables*/
keyNameSelect = "";
exitscript = true;
snext = false;

/* Creating the menu */
copyMenu =
{
	private ["_keyMenu","_keyArray"];
	_keyMenu = [["",true], ["Change Vehicle to Key:", [-1], "", -5, [["expression", ""]], "1", "0"]];
	for "_i" from (_this select 0) to (_this select 1) do
	{
		_keyArray = [format['%1', keyNameList select (_i)], [_i - (_this select 0) + 2], "", -5, [["expression", format ["keyNameSelect = keyNameList select %1; keyNumberSelect = keyNumberList select %1", _i]]], "1", "1"];
		_keyMenu set [_i + 2, _keyArray];
	};
	_keyMenu set [(_this select 1) + 2, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];
	if (count keyNameList > (_this select 1)) then
	{
		_keyMenu set [(_this select 1) + 3, ["Next", [12], "", -5, [["expression", "snext = true;"]], "1", "1"]];
	} else {
		_keyMenu set [(_this select 1) + 3, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];
	};
	_keyMenu set [(_this select 1) + 4, ["Exit", [13], "", -5, [["expression", "keyNameSelect = 'exitscript';"]], "1", "1"]];
	showCommandingMenu "#USER:_keyMenu";
};

/* Wait for the player to select a Key from the list */
_j = 0;
_max = 10;
if (_max > 9) then {_max = 10;};
while {keyNameSelect == ""} do {
	[_j, (_j + _max) min (count keyNameList)] call copyMenu;
	_j = _j + _max;
	waitUntil {keyNameSelect != "" || snext};
	snext = false;
};

/* Player selected a Key, lets make the Vehicle update call */
if (keyNameSelect != "exitscript") then {
	
	/* Check again for the needed TinBar or claiming price and remove em from the players inventory */
	_magazinesPlayer = magazines player;
	_playerDollars = player getVariable['cashMoney', 0];
	if (_Price > 0) then {
		if (_Price < _playerDollars) then {
			//[player, _Price, 1] call BIS_fnc_invRemove;
			player setVariable["cashMoney",_playerDollars - _Price, true];
			systemChat (format["Keychange costs %1 Dollars, thanks for your Payment!", _Price]);
		} else {
			systemChat (format["Keychange costs %1 Dollars, you had it and tried to trick the system - Keychange for this Vehicle disabled!", Price]);
			_targetVehicle setVariable ["VKC_disabled", 1, true];
			s_player_copyToKey = -1;
			breakOut "exit";
		};
	};
	if (_claimingPrice > 0) then {
		if (_claimingPrice < _playerDollars) then {
			//[player, _claimingPrice, 1] call BIS_fnc_invRemove;
			player setVariable["cashMoney",_playerDollars - _claimingPrice, true];
			
			systemChat (format["Claiming Vehicle costs %1 Dollars, thanks for your Payment!", _claimingPrice]);
		} else {
			systemChat (format["Claiming Vehicle costs %1 Dollars, you had it and tried to trick the system - Claiming for this Vehicle disabled!", Price]);
			_targetVehicle setVariable ["VKC_claiming_disabled", 1, true];
			s_player_copyToKey = -1;
			breakOut "exit";
		};
	};
	
	/* We got the Money lets do our Job */
	/* Lock the vehicle */
	_targetVehicle setVehicleLock "LOCKED";
	
	/* The super duper OneForAllAnimation... */
	player playActionNow "Medic";
	
	/* Remove the Key from the Toolbelt of the player and put it in the Backpack - No Backpack and the Key gets lost */
	if (_itemKeyName != "0") then {
		if (!isNull (unitBackpack player)) then {
			[player, _itemKeyName, 1] call BIS_fnc_invRemove;
			(unitBackpack (vehicle player)) addWeaponCargoGlobal [_itemKeyName, 1];
			systemChat (format["%1 has been moved to your Backpack", _targetVehicleKeyName]);
		};
	};
	
	/* Giving unique UID for claimed vehicles */
	if (_targetVehicleUID=="0") then {
		_targetVehicleUID = _targetVehicle call dayz_objectUID_vkc;
		_targetVehicle setVariable ["ObjectUID",_targetVehicleUID,true]; // It does probably nothing and it's not needed :)
	};

	/* This calls the custom update function which we put it in server_updateObject.sqf */
	PVDZE_veh_Update = [_targetVehicle, "vehiclekey", player, _targetVehicleClassname, keyNumberSelect, keyNameSelect, _targetVehicleID, _targetVehicleUID]; 
	publicVariableServer "PVDZE_veh_Update"; 

	/* Inform the player about the success and tell him to check the Key */
	systemChat (format["Changed Vehicle Key to %1", keyNameSelect]);
	if (_targetVehicleKeyName != "0") then {
		systemChat (format["Please check Vehicle function with %1 before you throw away %2!", keyNameSelect, _targetVehicleKeyName]);
	};
};

/* Reset the action menu variable for a new run */
s_player_copyToKey = -1;

/**************************************/
/* That's it, hope you enjoy this Mod */
/*                                    */
/* Yours sincerly,                    */
/* Otter                              */
/**************************************/

This uses Souls Version so those money variables are set up for his not the 999 version,,,

I've tried with your files and it works for admins only, my players don't even see the option. I use infistar and I have it setup as the install instructions say. Not sure if it has to do with the server_updateObject.sqf or not. I see on your files that it says v1.3 and I only have the server_updateObject.sqf for the one that I linked in my original post. I've tried to edit the files that I linked but I keep getting errors in my RPT log so I must be doing something wrong. The files just seem to have a lot of differences in them.

Share this post


Link to post
Share on other sites

i have it working on my server... wasnt too difficult to do...

 

VehicleKeyChanger_init.sqf

/***********************************/ 	
/* Vehicle Key Changer v1.3        */
/* Written by OtterNas3            */
/* January, 11, 2014               */
/* Last update: 02/20/2014         */
/***********************************/


private ["_playerDollars","_itemsPlayer","_magazinesPlayer","_temp_Keys","_temp_keysDisplayName","_temp_keysDisplayNameParse","_key_colors","_ownerKeyId","_carKey","_hasKey","_cTarget","_keyName","_carKeyName","_targetVehicleKey","_temp_keysParse"];
/////////////////////////////////////////////////
/////////////////////////////////////////////////
// Edit these settings to fit your needs/likes //
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/// Claim Vehicles that does not yet need Key ///
///////// 0 = Not allowed | 1 = Allowed /////////
vkc_claiming = 1;
/////////////////////////////////////////////////
//////// Claim Vehicles costs this Item /////////
/// Any Item can be used here, some examples: ///
//// ItemTinBar, ItemSilverBar, ItemGoldBar, ////
////// ItemSilverBar10oz, ItemGoldBar10oz, //////
///// ItemBriefcase20oz, ItemBriefcase100oz /////
//////// set to "0" to disable the costs ////////
vkc_claimingPrice = 5000;
/////////////////////////////////////////////////
////////// Change Key costs this Item// /////////
////////////// see above examples ///////////////
//////// set to "0" to disable the costs ////////
vkc_Price = 5000;
/////////////////////////////////////////////////
/////// Need KeyKit to use this function ////////
////////// 0 = Not needed | 1 = Needed //////////
vkc_needKeykit = 1;
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////// DONT EDIT BELOW ! ///////////////
/////////////////////////////////////////////////

/* Reset variables function */
ON_fnc_vkc_reset = {
	_cTarget = objNull;
	_itemsPlayer = [];
	_temp_keys = [];
	_carKey = objNull;
	_hasKey = false;
	_temp_keysDisplayName = [];
	_temp_keysDisplayNameParse = [];
	_temp_keysParse = [];
	_targetVehicleKey = objNull;
	_carKeyName = "";
	player removeAction s_player_copyToKey;
	s_player_copyToKey = -1;
};

//Added for Fix
dayz_objectUID_vkc = {
	private["_position","_dir","_key","_object"];
	_object = _this;
	_position = getPosATL _object;
	_dir = direction _object;
	_key = [_dir,_position] call dayz_objectUID2_vkc;
    _key
};
 
dayz_objectUID2_vkc = {
	private["_position","_dir","_key"];
	_dir = _this select 0;
	_key = "";
	_position = _this select 1;
	{
		_x = _x * 10;
		if ( _x < 0 ) then { _x = _x * -10 };
		_key = _key + str(round(_x));
	} forEach _position;
	_key = _key + str(round(_dir));
	_key
};

/* Wait for player full ingame so we can access the action-menu */
waitUntil {!isNil "dayz_animalCheck"};

s_player_copyToKey=-1;
lastKeyChangeCursorTarget = [objNull,objNull,objNull,objNull,objNull];

/* Start the loop check */
while{true} do {
	sleep 3;
	_playerDollars = player getVariable['cashMoney', 0];
	if (!isNull cursorTarget && speed player <= 1 && (vehicle player) == player && !isEngineOn cursorTarget && (cursorTarget isKindOf "Motorcycle" || cursorTarget isKindOf "Car" || cursorTarget isKindOf "Air" || cursorTarget isKindOf "Ship" || cursorTarget isKindOf "Truck" || cursorTarget isKindOf "Tank") && (cursorTarget distance player) <= 10 && cursorTarget getVariable ["VKC_disabled", 0] == 0 && cursorTarget getVariable ["VKC_claiming_disabled",0] == 0) then {
		_cTarget = cursorTarget;
		_itemsPlayer = items player;
		_magazinesPlayer = magazines player;
		if ((lastKeyChangeCursorTarget select 0) != _cTarget) then {
			if (s_player_copyToKey >= 0) then {
				player removeAction s_player_copyToKey;
				s_player_copyToKey = -1;
			};
		};
		lastKeyChangeCursorTarget set [0,_cTarget];
		_carKey = _cTarget getVariable ["CharacterID","0"];
		if (("ItemKeyKit" in _itemsPlayer || vkc_needKeykit == 0) && ((_carKey == "0" && vkc_claiming == 1 && (vkc_claimingPrice == 0 || vkc_claimingPrice < _playerDollars)) || _carKey != "0") && (vkc_Price == 0 || vkc_Price < _playerDollars)) then {
			if (_carKey == "0") then {
				_temp_keys = [];
				_temp_keysDisplayName = [];
				_temp_keysDisplayNameParse = [];
				_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
				{
					if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
						_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
						_keyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
						_temp_keysDisplayName set [count _temp_keysDisplayName,_keyName];
						_temp_keys set [count _temp_keys,str(_ownerKeyId)];
					};
				} forEach _itemsPlayer;
				if ((count _temp_keys) > 0) then {
					if (s_player_copyToKey < 0) then {
						lastKeyChangeCursorTarget set [0,_cTarget];
						s_player_copyToKey = player addAction [("<t color=""#0000FF"">" + ("Claim Vehicle") + "</t>"),"custom\VehicleKeyChanger\VehicleKeyChanger.sqf",[_cTarget, _temp_keys, "0", _temp_keysDisplayName, "0", "0", vkc_Price, vkc_claimingPrice],-1,false,false,"",""];
					};
				} else {
					[] call ON_fnc_vkc_reset;
				};
			} else {
				_temp_keys = [];
				_temp_keysDisplayName = [];
				_temp_keysDisplayNameParse = [];
				_temp_keysParse = [];
				_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
				{
					if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
						_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
						_keyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
						_temp_keysDisplayName set [count _temp_keysDisplayName,_keyName];
						_temp_keysDisplayNameParse set [_ownerKeyId,_keyName];
						_temp_keys set [count _temp_keys,str(_ownerKeyId)];
						_temp_keysParse set [_ownerKeyId, _x];
					};
				} forEach _itemsPlayer;
				_hasKey = _carKey in _temp_keys;
				if (_hasKey && (count _temp_keys) > 1) then {
					_carKeyName = (_temp_keysDisplayNameParse select (parseNumber _carKey));
					_targetVehicleKey = (_temp_keysParse select (parseNumber _carKey));
					_temp_keys = _temp_keys - [_carKey];
					_temp_keysDisplayName = _temp_keysDisplayName - [_carKeyName];
					if (s_player_copyToKey < 0) then {
						lastKeyChangeCursorTarget set [0,_cTarget];
						s_player_copyToKey = player addAction [("<t color=""#0000FF"">" + ("Change Vehicle Key") + "</t>"),"custom\VehicleKeyChanger\VehicleKeyChanger.sqf",[_cTarget, _temp_keys, _carKey, _temp_keysDisplayName, _carKeyName, _targetVehicleKey, vkc_Price, 0],-1,false,false,"",""];
					};
				} else {
					[] call ON_fnc_vkc_reset;
				};
			};
		} else {
			[] call ON_fnc_vkc_reset;
		};
	} else {
		lastKeyChangeCursorTarget = [objNull,objNull,objNull,objNull,objNull];
		[] call ON_fnc_vkc_reset;
	};
};


VehicleKeyChanger.sqf

/***********************************/ 	
/* Vehicle Key Changer v1.3        */
/* Written by OtterNas3            */
/* January, 11, 2014               */
/* Last update: 02/20/2014         */
/***********************************/


/* Setup the private variables */
private ["_magazinesPlayer","_max","_j","_actionArray","_targetVehicle","_targetVehicleID","_targetVehicleUID","_playerKeys","_playerKeysDisplayName","_targetVehicleKeyName","_itemKeyName","_targetVehicleClassname","_targetVehiclePos","_targetVehicleDir","_Price","_claimingPrice"];

/* Remove the Action Menu entry */
player removeAction s_player_copyToKey;
s_player_copyToKey = 0;

/* Get the array and setup the variables */
_actionArray = _this select 3;
_targetVehicle = _actionArray select 0;
_targetVehicleID = _targetVehicle getVariable ["ObjectID","0"];
_targetVehicleUID = _targetVehicle getVariable ["ObjectUID","0"];

/* Check if the Vehicle is in the Database, if false exit */
if (_targetVehicleID == "0" && _targetVehicleUID == "0") exitWith {s_player_copyToKey = -1;};

/* Setup more variables */
_playerKeys = _actionArray select 1;
_playerKeysDisplayName = _actionArray select 3;
_targetVehicleKeyName = _actionArray select 4;
_itemKeyName = _actionArray select 5;
_Price = _actionArray select 6;
_claimingPrice = _actionArray select 7;
_targetVehicleClassname = typeOf _targetVehicle;
_targetVehiclePos = getPosATL _targetVehicle;
_targetVehicleDir = getDir _targetVehicle;

/* Setup the Key Names list to select from */
keyNameList = [];
for "_i" from 0 to (count _playerKeysDisplayName) -1 do {
	keyNameList set [(count keyNameList), _playerKeysDisplayName select _i];
};

/* Setup the Key Numbers list to select from */
keyNumberList = [];
for "_i" from 0 to (count _playerKeys) -1 do {
	keyNumberList set [(count keyNumberList), _playerKeys select _i];
};

/* Resetting menu variables*/
keyNameSelect = "";
exitscript = true;
snext = false;

/* Creating the menu */
copyMenu =
{
	private ["_keyMenu","_keyArray"];
	_keyMenu = [["",true], ["Change Vehicle to Key:", [-1], "", -5, [["expression", ""]], "1", "0"]];
	for "_i" from (_this select 0) to (_this select 1) do
	{
		_keyArray = [format['%1', keyNameList select (_i)], [_i - (_this select 0) + 2], "", -5, [["expression", format ["keyNameSelect = keyNameList select %1; keyNumberSelect = keyNumberList select %1", _i]]], "1", "1"];
		_keyMenu set [_i + 2, _keyArray];
	};
	_keyMenu set [(_this select 1) + 2, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];
	if (count keyNameList > (_this select 1)) then
	{
		_keyMenu set [(_this select 1) + 3, ["Next", [12], "", -5, [["expression", "snext = true;"]], "1", "1"]];
	} else {
		_keyMenu set [(_this select 1) + 3, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];
	};
	_keyMenu set [(_this select 1) + 4, ["Exit", [13], "", -5, [["expression", "keyNameSelect = 'exitscript';"]], "1", "1"]];
	showCommandingMenu "#USER:_keyMenu";
};

/* Wait for the player to select a Key from the list */
_j = 0;
_max = 10;
if (_max > 9) then {_max = 10;};
while {keyNameSelect == ""} do {
	[_j, (_j + _max) min (count keyNameList)] call copyMenu;
	_j = _j + _max;
	waitUntil {keyNameSelect != "" || snext};
	snext = false;
};

/* Player selected a Key, lets make the Vehicle update call */
if (keyNameSelect != "exitscript") then {
	
	/* Check again for the needed TinBar or claiming price and remove em from the players inventory */
	_magazinesPlayer = magazines player;
	_playerDollars = player getVariable['cashMoney', 0];
	if (_Price > 0) then {
		if (_Price < _playerDollars) then {
			//[player, _Price, 1] call BIS_fnc_invRemove;
			player setVariable["cashMoney",_playerDollars - _Price, true];
			systemChat (format["Keychange costs %1 Dollars, thanks for your Payment!", _Price]);
		} else {
			systemChat (format["Keychange costs %1 Dollars, you had it and tried to trick the system - Keychange for this Vehicle disabled!", Price]);
			_targetVehicle setVariable ["VKC_disabled", 1, true];
			s_player_copyToKey = -1;
			breakOut "exit";
		};
	};
	if (_claimingPrice > 0) then {
		if (_claimingPrice < _playerDollars) then {
			//[player, _claimingPrice, 1] call BIS_fnc_invRemove;
			player setVariable["cashMoney",_playerDollars - _claimingPrice, true];
			
			systemChat (format["Claiming Vehicle costs %1 Dollars, thanks for your Payment!", _claimingPrice]);
		} else {
			systemChat (format["Claiming Vehicle costs %1 Dollars, you had it and tried to trick the system - Claiming for this Vehicle disabled!", Price]);
			_targetVehicle setVariable ["VKC_claiming_disabled", 1, true];
			s_player_copyToKey = -1;
			breakOut "exit";
		};
	};
	
	/* We got the Money lets do our Job */
	/* Lock the vehicle */
	_targetVehicle setVehicleLock "LOCKED";
	
	/* The super duper OneForAllAnimation... */
	player playActionNow "Medic";
	
	/* Remove the Key from the Toolbelt of the player and put it in the Backpack - No Backpack and the Key gets lost */
	if (_itemKeyName != "0") then {
		if (!isNull (unitBackpack player)) then {
			[player, _itemKeyName, 1] call BIS_fnc_invRemove;
			(unitBackpack (vehicle player)) addWeaponCargoGlobal [_itemKeyName, 1];
			systemChat (format["%1 has been moved to your Backpack", _targetVehicleKeyName]);
		};
	};
	
	/* Giving unique UID for claimed vehicles */
	if (_targetVehicleUID=="0") then {
		_targetVehicleUID = _targetVehicle call dayz_objectUID_vkc;
		_targetVehicle setVariable ["ObjectUID",_targetVehicleUID,true]; // It does probably nothing and it's not needed :)
	};

	/* This calls the custom update function which we put it in server_updateObject.sqf */
	PVDZE_veh_Update = [_targetVehicle, "vehiclekey", player, _targetVehicleClassname, keyNumberSelect, keyNameSelect, _targetVehicleID, _targetVehicleUID]; 
	publicVariableServer "PVDZE_veh_Update"; 

	/* Inform the player about the success and tell him to check the Key */
	systemChat (format["Changed Vehicle Key to %1", keyNameSelect]);
	if (_targetVehicleKeyName != "0") then {
		systemChat (format["Please check Vehicle function with %1 before you throw away %2!", keyNameSelect, _targetVehicleKeyName]);
	};
};

/* Reset the action menu variable for a new run */
s_player_copyToKey = -1;

/**************************************/
/* That's it, hope you enjoy this Mod */
/*                                    */
/* Yours sincerly,                    */
/* Otter                              */
/**************************************/

This uses Souls Version so those money variables are set up for his not the 999 version,,,

 

Can anyone confirm that this works with the newest version?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Emeraldpointgaming
      If it is possible could  someone make a zombie base defense script?
      Like players could tie up zombies outside their base as a form of defense against base raids, i think this script would be a really cool feature.
      i will pay a little bit of money if i can get a script capable of this.
      just think how good a script like this would be!
    • By Bricktop
      I found these but they don't work ...
      ==========
      Does anyone have a working time acceleration script for 1061? 
      - OR -
      Does anyone besides infistar have a script for players to vote day/night?
      ==========
      Thanks,
    • By Bricktop
      Does anyone have a working script for 1061?
      Looking for:
      LOCKED vehicles inside a plot pole radius to be in god mode even when the player logs out.
      Thanks for any help, 
       
      EDIT:  found this but it does not work as intended - 
       
    • By nidico100
      Hey,
      maybe someone can help me with a script idea. I thought about, how nice would it be to look for example a Nice Wooden Shed.
      Just via Scroll Menu like on locked Doors. Then show the combo lock screen with the three numbers and unlock it.
      There is no need of any animation, just that the door can't get opened without unlocked.
      Is it possible?
    • By Zupa
      Fellow epoch 2 players and server owners
       
      We are currently working together with community developers to get the 1.0.6 patch ready for release. Awol gave me rights to the codebase of Epoch Arma 2. This means I can code review and accept/deny any code passed to the Github. I'm also reviewing all the issues reported on the Github to see if it's relevant and debate if coding needs to be done. I understand not everyone is Github experienced. So i kindly accept bug reports or requests in this topic. I do not guarantee it's get fixed or added. But it will definitely throw it into discussion.
       
      In the future i'm planning to get a dev server up so we can do some testing on everything we added since the latest patch.
      I already want to thank every person who worked or will work on the DayZ-Epoch code.
       
      A full (rolling) change log will be posted over time ( When i get free time to check all merge request done by everyone since last patch).
      All progress can be followed on the DayZ-Epoch Github:
       
      https://github.com/vbawol/DayZ-Epoch
       
      The following link show you all the changes since the 1051 release.
       
      https://github.com/vbawol/DayZ-Epoch/compare/Release_1.0.5.1...master
       
      Changelog: 
       
      [NEW] RedRyder BB Gun by @arma2WillRobinson
      [NEW] DB Backup script. @RimBlock
      [NEW] Use DayZ_UseSteamID = false; in your init.sqf to use the old PlayerUID, instead of SteamID @icomrade
      [NEW] UI Update - Graphical and code changes, enable using Dayz_Dark_UI = true; in init.sqf. @hogscraper
      [NOTE] It's recommend to convert to the new SteamID system if possible, new servers should not use DayZ_UseSteamID = false;
      [NEW] Snap building (disabled by default), use DZE_modularBuild = true; in your init.sqf to enable. @raymix
      [NEW] Modular/Function based player_build for addon makers and modders. @raymix (more info and concepts - )
      [NEW] Added "RedRyder" and "350Rnd_BB_Magazine" to loot pile. #1456 #1457 @Namindu
      [NEW] Added tree support for Isla Duala. @Utomnia

      [CHANGED] An infection chance of -1 disables self-transfusion infection. 0 is always infected. (DZE_selfTransfuse_Values) @icomrade
      [CHANGED] Removed weapons from Traders hands and made them stand with arms by their side. @SilvDev
      [CHANGED] Tweaked fuel capacity variables for vehicles. @RimBlock
      [CHANGED] Tweaked rotate_logs.bat to incorporate the day of the week for better organization @Raziel23x

      [FIXED] Backpack wipes when changing clothes. #1361 @icomrade
      [FIXED] CH53 gear when locked #1364 @icomrade
      [FIXED] Infinite loop when crafting ore into bars #1351 @icomrade
      [FIXED] Only first kill showing on death boards #1362 #1124 @vbawol @icomrade
      [FIXED] Crossbow quivers not working #1355 @icomrade
      [FIXED] Crash_spawner & Supply_drop modules spawning inaccessible loot piles #1408 #1390 @Uro1
      [FIXED] Undefined variable "_weapon" in fnc_plyrHit.sqf when killer is driving a vehicle #1420 @ebaydayz
      [FIXED] Fire cleanup diag_log error in server_functions.sqf #1421 @ebaydayz
      [FIXED] NearestObjects position error in server_playerSync.sqf #1425 @ebaydayz
      [FIXED] Corrected ClassName type for CH53_DZE and BAF_Merlin_DZE. @Cinjun
      [FIXED] Some counts reverted to forEach - count loops can not be nested inside other count loops #1491-#1495 @ebaydayz
      [FIXED] Safes empty when opening after restart #1467 @ebaydayz
      [FIXED] Dynamic_vehicle spawning non-upgradable classes of hilux1 & datsun1. @Uro1
      [FIXED] Eating while inside a vehicle did not drop empty can @deadeye2
      [FIXED] Zombie loot error when using loot tables in mission file @deadeye2
      [FIXED] Trader menu expected array error #1618-1620 @ebaydayz
      [FIXED] Loading screen issue where you can walk around and see a black screen #1610 @deanreid
      [FIXED] Rare inventory wiping on login. @Mikeeeyy
      [FIXED] Wrong items return when deconstruction a bag fence. @seb3sec
       
      [uPDATED] .hpp files updated in dayz_epoch_b CfgLootPos > CfgBuildingPos. @Uro1
      [uPDATED] .bat files updated in Config-Examples @Raziel23x
      [uPDATED] Updated all config.cfg in Config-Examples, Added Default Steam Ports and Updated Layout. @Namindu
      [uPDATED] Epoch.sql, 1.0.5_Updates.sql & CfgServerTraders with correct classnames for upgradable hilux1 & datsun1 versions. @Uro1
      [uPDATED] mission.sqm to compact format from DayZ Mod 1.8.3 @ebaydayz

      [iNFO] (EXTREMELY IMPORTANT) Server owners MUST update their required build and beta to 125548
      [iNFO] requiredSecureId is deprecated in server.cfg.
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...