diff --git a/SQF/dayz_code/actions/AdvancedTrading/compiles.sqf b/SQF/dayz_code/actions/AdvancedTrading/compiles.sqf new file mode 100644 index 000000000..02525ffab --- /dev/null +++ b/SQF/dayz_code/actions/AdvancedTrading/compiles.sqf @@ -0,0 +1,85 @@ +#define STRINGIFY(x) #x +#define PATH(sub_path) STRINGIFY(\z\addons\dayz_code\actions\AdvancedTrading\functions\sub_path) +#define CPP compile preprocessFileLineNumbers + +private ["_tempGemList","_tempWorthList","_largest","_LargestGem"]; + +Z_SellingFrom = 2; +DZE_GemList = []; +DZE_GemWorthList = []; +Z_Selling = true; +Z_OriginalSellableArray = []; +Z_SellableArray = []; +Z_SellArray = []; +Z_OriginalBuyableArray = []; +Z_BuyableArray = []; +Z_BuyingArray = []; + +_tempGemList = []; +_tempWorthList = []; + +{ + _tempGemList set [(count _tempGemList), (_x select 0)]; + _tempWorthList set [(count _tempWorthList), (_x select 1)]; +} count DZE_GemWorthArray; + +for "_i" from 0 to ((count _tempGemList) - 1) do { + _largest = -1e9; + + { + _largest = _largest max _x; + } forEach _tempWorthList; + + _LargestGem = _tempGemList select (_tempWorthList find _largest); + _tempWorthList = _tempWorthList - [_largest]; + _tempGemList = _tempGemList - [_LargestGem]; + DZE_GemList set [(count DZE_GemList), _LargestGem]; + DZE_GemWorthList set [(count DZE_GemWorthList), _largest]; +}; + +Z_fillTradeTitle = CPP PATH(z_at_fillTradeTitle.sqf); +Z_clearLists = CPP PATH(z_at_clearLists.sqf); +Z_clearSellableList = CPP PATH(z_at_clearSellableList.sqf); +Z_clearBuyList = CPP PATH(z_at_clearBuyList.sqf); +Z_clearBuyingList = CPP PATH(z_at_clearBuyingList.sqf); +Z_fillCategories = CPP PATH(z_at_fillCategories.sqf); +Z_getItemInfo = CPP PATH(z_at_getItemInfo.sqf); +Z_getItemConfig = CPP PATH(z_at_getItemConfig.sqf); +Z_displayItemInfo = CPP PATH(z_at_displayItemInfo.sqf); +Z_displayWeaponInfo = CPP PATH(z_at_displayWeaponInfo.sqf); +Z_displayBackpackInfo = CPP PATH(z_at_displayBackpackInfo.sqf); +Z_displayVehicleInfo = CPP PATH(z_at_displayVehicleInfo.sqf); +Z_getContainer = CPP PATH(z_at_getContainer.sqf); +Z_getBackpackItems = CPP PATH(z_at_getBackpackItems.sqf); +Z_getVehicleItems = CPP PATH(z_at_getVehicleItems.sqf); +Z_getGearItems = CPP PATH(z_at_getGearItems.sqf); +Z_logTrade = CPP PATH(z_at_logTrade.sqf); +Z_filterList = CPP PATH(z_at_filterList.sqf); +Z_checkArrayInConfig = CPP PATH(z_at_checkArrayInConfig.sqf); +Z_calcPrice = CPP PATH(z_at_calcPrice.sqf); +Z_fillCategoryList = CPP PATH(z_at_fillCategoryList.sqf); +Z_fillSellList = CPP PATH(z_at_fillSellList.sqf); +Z_fillSellingList = CPP PATH(z_at_fillSellingList.sqf); +Z_pushItemToList = CPP PATH(z_at_pushItemToList.sqf); +Z_removeItemFromList = CPP PATH(z_at_removeItemFromList.sqf); +Z_pushAllToList = CPP PATH(z_at_pushAllToList.sqf); +Z_removeAllToList = CPP PATH(z_at_removeAllToList.sqf); +Z_SellItems = CPP PATH(z_at_sellItems.sqf); +Z_BuyItems = CPP PATH(z_at_buyItems.sqf); +Z_ChangeBuySell = CPP PATH(z_at_changeBuySell.sqf); +Z_removeAllFromBuyingList = CPP PATH(z_at_removeAllFromBuyingList.sqf); +Z_removeItemFromBuyingList = CPP PATH(z_at_removeItemFromBuyingList.sqf); +Z_toBuyingList = CPP PATH(z_at_toBuyingList.sqf); +Z_calcBuyableList = CPP PATH(z_at_calcBuyableList.sqf); +Z_fillBuyableList = CPP PATH(z_at_fillBuyableList.sqf); +Z_fillBuyingList = CPP PATH(z_at_fillBuyingList.sqf); +Z_displayFreeSpace = CPP PATH(z_at_displayFreeSpace.sqf); +Z_allowBuying = CPP PATH(z_at_allowBuying.sqf); +DZE_deleteTradedVehicle = CPP PATH(DZE_deleteTradedVehicle.sqf); +Z_checkCloseVehicle = CPP PATH(z_at_checkCloseVehicle.sqf); +Z_canAfford = CPP PATH(z_at_canAfford.sqf); +Z_calcFreeSpace = CPP PATH(z_at_calcFreeSpace.sqf); +Z_returnChange = CPP PATH(z_at_returnChange.sqf); +Z_payDefault = CPP PATH(z_at_payDefault.sqf); +z_calcCurrency = CPP PATH(z_at_calcCurrency.sqf); +ZUPA_fnc_removeWeaponsAndMagazinesCargo = CPP PATH(zupa_fnc_removeWeaponsAndMagazinesCargo.sqf); diff --git a/SQF/dayz_code/actions/AdvancedTrading/defaultInit.sqf b/SQF/dayz_code/actions/AdvancedTrading/defaultInit.sqf deleted file mode 100644 index 3452c0b08..000000000 --- a/SQF/dayz_code/actions/AdvancedTrading/defaultInit.sqf +++ /dev/null @@ -1,39 +0,0 @@ -#define STRINGIFY(x) #x -#define PATH(sub_path) STRINGIFY(\z\addons\dayz_code\actions\AdvancedTrading\functions\sub_path) -#define CPP compile preprocessFileLineNumbers - -private ["_tempGemList","_tempWorthList","_largest","_LargestGem"]; - -Z_SellingFrom = 2; -DZE_GemList = []; -DZE_GemWorthList = []; - -_tempGemList = []; -_tempWorthList = []; - -{ - _tempGemList set [(count _tempGemList), (_x select 0)]; - _tempWorthList set [(count _tempWorthList), (_x select 1)]; -} count DZE_GemWorthArray; - -for "_i" from 0 to ((count _tempGemList) - 1) do { - _largest = -1e9; - - { - _largest = _largest max _x; - } forEach _tempWorthList; - - _LargestGem = _tempGemList select (_tempWorthList find _largest); - _tempWorthList = _tempWorthList - [_largest]; - _tempGemList = _tempGemList - [_LargestGem]; - DZE_GemList set [(count DZE_GemList), _LargestGem]; - DZE_GemWorthList set [(count DZE_GemWorthList), _largest]; -}; - -Z_checkCloseVehicle = CPP PATH(z_at_checkCloseVehicle.sqf); -Z_canAfford = CPP PATH(z_at_canAfford.sqf); -Z_calcFreeSpace = CPP PATH(z_at_calcFreeSpace.sqf); -Z_returnChange = CPP PATH(z_at_returnChange.sqf); -Z_payDefault = CPP PATH(z_at_payDefault.sqf); -z_calcCurrency = CPP PATH(z_at_calcCurrency.sqf); -ZUPA_fnc_removeWeaponsAndMagazinesCargo = CPP PATH(zupa_fnc_removeWeaponsAndMagazinesCargo.sqf); diff --git a/SQF/dayz_code/actions/AdvancedTrading/init.sqf b/SQF/dayz_code/actions/AdvancedTrading/init.sqf index a6374fab1..c4dbf46b0 100644 --- a/SQF/dayz_code/actions/AdvancedTrading/init.sqf +++ b/SQF/dayz_code/actions/AdvancedTrading/init.sqf @@ -1,6 +1,6 @@ -#define STRINGIFY(x) #x -#define PATH(sub_path) STRINGIFY(\z\addons\dayz_code\actions\AdvancedTrading\functions\sub_path) -#define CPP compile preprocessFileLineNumbers +if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; }; + +#include "\z\addons\dayz_code\actions\AdvancedTrading\functions\defines.hpp" disableSerialization; @@ -10,67 +10,6 @@ if (isNil "Z_traderData" or {count Z_traderData == 0}) exitWith { localize "STR_EPOCH_TRADE_ERROR" call dayz_rollingMessages; }; -if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; }; - -if (isNil "Z_AdvancedTradingInit") then { - - #include "\z\addons\dayz_code\actions\AdvancedTrading\functions\defines.hpp" - - /* Configs that needs to be defined but not changed in config file */ - - Z_Selling = true; - Z_OriginalSellableArray = []; - Z_SellableArray = []; - Z_SellArray = []; - Z_OriginalBuyableArray = []; - Z_BuyableArray = []; - Z_BuyingArray = []; - - /* end script config */ - - Z_fillTradeTitle = CPP PATH(z_at_fillTradeTitle.sqf); - Z_clearLists = CPP PATH(z_at_clearLists.sqf); - Z_clearSellableList = CPP PATH(z_at_clearSellableList.sqf); - Z_clearBuyList = CPP PATH(z_at_clearBuyList.sqf); - Z_clearBuyingList = CPP PATH(z_at_clearBuyingList.sqf); - Z_fillCategories = CPP PATH(z_at_fillCategories.sqf); - Z_getItemInfo = CPP PATH(z_at_getItemInfo.sqf); - Z_getItemConfig = CPP PATH(z_at_getItemConfig.sqf); - Z_displayItemInfo = CPP PATH(z_at_displayItemInfo.sqf); - Z_displayWeaponInfo = CPP PATH(z_at_displayWeaponInfo.sqf); - Z_displayBackpackInfo = CPP PATH(z_at_displayBackpackInfo.sqf); - Z_displayVehicleInfo = CPP PATH(z_at_displayVehicleInfo.sqf); - Z_getContainer = CPP PATH(z_at_getContainer.sqf); - Z_getBackpackItems = CPP PATH(z_at_getBackpackItems.sqf); - Z_getVehicleItems = CPP PATH(z_at_getVehicleItems.sqf); - Z_getGearItems = CPP PATH(z_at_getGearItems.sqf); - Z_logTrade = CPP PATH(z_at_logTrade.sqf); - Z_filterList = CPP PATH(z_at_filterList.sqf); - Z_checkArrayInConfig = CPP PATH(z_at_checkArrayInConfig.sqf); - Z_calcPrice = CPP PATH(z_at_calcPrice.sqf); - Z_fillCategoryList = CPP PATH(z_at_fillCategoryList.sqf); - Z_fillSellList = CPP PATH(z_at_fillSellList.sqf); - Z_fillSellingList = CPP PATH(z_at_fillSellingList.sqf); - Z_pushItemToList = CPP PATH(z_at_pushItemToList.sqf); - Z_removeItemFromList = CPP PATH(z_at_removeItemFromList.sqf); - Z_pushAllToList = CPP PATH(z_at_pushAllToList.sqf); - Z_removeAllToList = CPP PATH(z_at_removeAllToList.sqf); - Z_SellItems = CPP PATH(z_at_sellItems.sqf); - Z_BuyItems = CPP PATH(z_at_buyItems.sqf); - Z_ChangeBuySell = CPP PATH(z_at_changeBuySell.sqf); - Z_removeAllFromBuyingList = CPP PATH(z_at_removeAllFromBuyingList.sqf); - Z_removeItemFromBuyingList = CPP PATH(z_at_removeItemFromBuyingList.sqf); - Z_toBuyingList = CPP PATH(z_at_toBuyingList.sqf); - Z_calcBuyableList = CPP PATH(z_at_calcBuyableList.sqf); - Z_fillBuyableList = CPP PATH(z_at_fillBuyableList.sqf); - Z_fillBuyingList = CPP PATH(z_at_fillBuyingList.sqf); - Z_displayFreeSpace = CPP PATH(z_at_displayFreeSpace.sqf); - Z_allowBuying = CPP PATH(z_at_allowBuying.sqf); - DZE_deleteTradedVehicle = CPP PATH(DZE_deleteTradedVehicle.sqf); - - Z_AdvancedTradingInit = true; -}; - Z_Selling = true; // Always start menu in buy mode (flipped in z_at_changeBuySell.sqf on startup) Z_CategoryView = true; // Always start in category view Z_BuyingArray = []; diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index 20afedc14..8ae4f59d9 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -205,8 +205,8 @@ if (!isDedicated) then { fnc_setWeather = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\weather\setWeather.sqf"; fnc_groundFog = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\weather\groundFog.sqf"; - // Advanced trading default inits for maintaining, Advanced Trading and custom scripts to utilize gem based currency. - call compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\AdvancedTrading\defaultInit.sqf"; + // Compiles of all trading related functions + call compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\AdvancedTrading\compiles.sqf"; fnc_alertZombies = { private ["_unit","_pos","_dis","_sfx"]; diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index 73b215593..b0da4c14e 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -30223,7 +30223,10 @@ A blood bag filled with blood from a sheep. Eine Blutkonserve gefüllt mit dem Blut eines Schafes. - + + Weight + Gewicht +