Config for Vehicle Tradedistance

Thx to Ghostrider for the suggestion!
This commit is contained in:
He-Man 2019-01-16 19:24:55 +01:00
parent 1ce519d316
commit e5c8606cd9
5 changed files with 9 additions and 7 deletions

View File

@ -87,7 +87,7 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
}; };
} forEach EPOCH_NpcTradePlayerItems; } forEach EPOCH_NpcTradePlayerItems;
_vehicles = player nearEntities [["LandVehicle","Ship","Air","Tank"], 30]; _vehicles = player nearEntities [["LandVehicle","Ship","Air","Tank"], ["CfgEpochClient", "MaxVehTradeDist", 30] call EPOCH_fnc_returnConfigEntryV2];
if !(_vehicles isequalto []) then { if !(_vehicles isequalto []) then {
_VehOfferArray = []; _VehOfferArray = [];
_sizeOut = lbSize _PlayerItemsOutBox; _sizeOut = lbSize _PlayerItemsOutBox;

View File

@ -75,7 +75,7 @@ if !(isNull EPOCH_lastNPCtradeTarget) then {
} foreach ((getAllHitPointsDamage _vehicle) select 0); } foreach ((getAllHitPointsDamage _vehicle) select 0);
}; };
if (!_allowAdd) exitwith {}; if (!_allowAdd) exitwith {};
} foreach (EPOCH_lastNPCtradeTarget nearEntities [[_uiItem], 30]); } foreach (EPOCH_lastNPCtradeTarget nearEntities [[_uiItem], ["CfgEpochClient", "MaxVehTradeDist", 30] call EPOCH_fnc_returnConfigEntryV2]);
}; };
}; };
}; };

View File

@ -88,7 +88,7 @@ if (alive _this) then {
_added = true; _added = true;
} }
else { else {
_vehicles = (nearestobjects [_this,[_item], 30]) select {local _x && alive _x}; _vehicles = (nearestobjects [_this,[_item], ["CfgEpochClient", "MaxVehTradeDist", 30] call EPOCH_fnc_returnConfigEntryV2]) select {local _x && alive _x};
if (!(_vehicles isEqualTo[])) then { if (!(_vehicles isEqualTo[])) then {
_vehicle = _vehicles select 0; _vehicle = _vehicles select 0;
_vehSlot = _vehicle getVariable["VEHICLE_SLOT", "ABORT"]; _vehSlot = _vehicle getVariable["VEHICLE_SLOT", "ABORT"];

View File

@ -224,10 +224,11 @@ class CfgEpochClient
EnableTempVehTrade = "false"; // Enable selling of temp Vehicles (not handled by Epoch). Temp Vehicles will not be stored in Traders, but can be sold EnableTempVehTrade = "false"; // Enable selling of temp Vehicles (not handled by Epoch). Temp Vehicles will not be stored in Traders, but can be sold
BulletCalculateOnCraft = "true"; // Enable Bullet Calculation on Crafting - Example: If you craft a large EnergyPack with 3 half full EnergyPacks, you will only get a half filled large EnergyPack back BulletCalculateOnCraft = "true"; // Enable Bullet Calculation on Crafting - Example: If you craft a large EnergyPack with 3 half full EnergyPacks, you will only get a half filled large EnergyPack back
// Advanced Vehicle Repair // Vehicle Settings
DisallowSellOnDamage = "false"; // Prevent from selling Vehicles with one or more fully damaged wheel or engine
MaxVehTradeDist = 30; // Max distance where Players can sell Vehicles to Traders
UseAdvancedVehicleRepair = "true"; // Switch On / Off Advanced Vehicle Repair (Does not effect SuppressedCraftingItems !) UseAdvancedVehicleRepair = "true"; // Switch On / Off Advanced Vehicle Repair (Does not effect SuppressedCraftingItems !)
EnableRemoveParts = "true"; // Enable removing Tires / Engines from Vehicles EnableRemoveParts = "true"; // Enable removing Tires / Engines from Vehicles
DisallowSellOnDamage = "false"; // Prevent from selling Vehicles with one or more fully damaged wheel or engine
SuppressedCraftingItems[] = { // These Items can not be crafted (but can be used in recipe) SuppressedCraftingItems[] = { // These Items can not be crafted (but can be used in recipe)
"VehicleRepairLg", // Supressed for Advanced Vehicle Repair (no longer needed) "VehicleRepairLg", // Supressed for Advanced Vehicle Repair (no longer needed)
"KitMetalQuarterFloor", // Item is Upgradeable, but you can remove it here to make it also Craftable "KitMetalQuarterFloor", // Item is Upgradeable, but you can remove it here to make it also Craftable

View File

@ -17,7 +17,7 @@ private [ "_MaxBankDebit","_SkipOut","_VAL","_aiItems","_bankBalance","_bankData
"_group","_helipad","_helipads","_item","_itemClasses","_itemQty","_itemQtys","_itemTax","_itemWorth","_itemsIn","_itemsOut","_lockOwner","_makeTradeIn","_message","_nearByHolder", "_group","_helipad","_helipads","_item","_itemClasses","_itemQty","_itemQtys","_itemTax","_itemWorth","_itemsIn","_itemsOut","_lockOwner","_makeTradeIn","_message","_nearByHolder",
"_objHiveKey","_objOwner","_playerCryptoLimit","_playerGroup","_playerNetID","_playerUID","_position","_qtyIndex","_response","_return","_returnIn","_returnOut","_road", "_objHiveKey","_objOwner","_playerCryptoLimit","_playerGroup","_playerNetID","_playerUID","_position","_qtyIndex","_response","_return","_returnIn","_returnOut","_road",
"_serverSettingsConfig","_slot","_smoke","_tax","_tmpposition","_tradeIn","_tradeOut","_tradeQtyTotal","_tradeTotal","_vars","_vehHiveKey","_vehObj","_vehSlot","_vehicle","_vehicleBought", "_serverSettingsConfig","_slot","_smoke","_tax","_tmpposition","_tradeIn","_tradeOut","_tradeQtyTotal","_tradeTotal","_vars","_vehHiveKey","_vehObj","_vehSlot","_vehicle","_vehicleBought",
"_vehicleSold","_vehicles","_vehslot","_wH","_wHPos","_wp","_kIndex","_playerCStats","_playerKarma","_playerKarmaAdj","_EnableTempVehTrade" "_vehicleSold","_vehicles","_vehslot","_wH","_wHPos","_wp","_kIndex","_playerCStats","_playerKarma","_playerKarmaAdj","_EnableTempVehTrade","_MaxVehTradeDist"
]; ];
params ["_trader","_itemsIn","_itemsOut","_player",["_token","",[""]] ]; params ["_trader","_itemsIn","_itemsOut","_player",["_token","",[""]] ];
@ -58,6 +58,7 @@ if (_slot != -1) then {
_aiItems = _trader getVariable["AI_ITEMS", [[], []] ]; _aiItems = _trader getVariable["AI_ITEMS", [[], []] ];
_itemClasses = _aiItems select 0; _itemClasses = _aiItems select 0;
_itemQtys = _aiItems select 1; _itemQtys = _aiItems select 1;
_MaxVehTradeDist = ["CfgEpochClient", "MaxVehTradeDist", 30] call EPOCH_fnc_returnConfigEntryV2;
{ {
_x params ["_item","_itemQty"]; _x params ["_item","_itemQty"];
if (isClass (_config >> _item)) then { if (isClass (_config >> _item)) then {
@ -69,7 +70,7 @@ if (_slot != -1) then {
_itemWorth = round (_itemWorth*(_itemQty/_maxrnd)); _itemWorth = round (_itemWorth*(_itemQty/_maxrnd));
_makeTradeIn = false; _makeTradeIn = false;
if (_item isKindOf "Air" || _item isKindOf "Ship" || _item isKindOf "LandVehicle" || _item isKindOf "Tank") then{ if (_item isKindOf "Air" || _item isKindOf "Ship" || _item isKindOf "LandVehicle" || _item isKindOf "Tank") then{
_vehicles = (nearestobjects [_trader,[_item],30]) select {owner _x == owner _player && alive _x}; _vehicles = (nearestobjects [_trader,[_item],_MaxVehTradeDist]) select {owner _x == owner _player && alive _x};
if !(_vehicles isEqualTo[]) then { if !(_vehicles isEqualTo[]) then {
_vehicle = _vehicles select 0; _vehicle = _vehicles select 0;
_vehSlot = _vehicle getVariable["VEHICLE_SLOT", "ABORT"]; _vehSlot = _vehicle getVariable["VEHICLE_SLOT", "ABORT"];