diff --git a/SQF/dayz_code/actions/trade_any_bicycle.sqf b/SQF/dayz_code/actions/trade_any_bicycle.sqf index 4beb9de0e..8fc8a0916 100644 --- a/SQF/dayz_code/actions/trade_any_bicycle.sqf +++ b/SQF/dayz_code/actions/trade_any_bicycle.sqf @@ -84,7 +84,13 @@ if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; if (isNil "_obj") then { _obj = "Unknown Vehicle" }; if (isNil "inTraderCity") then { inTraderCity = "Unknown Trader City" }; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_obj,inTraderCity]; + if(_bos == 1) then { + // Selling + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_in,inTraderCity,_part_out,_qty_out]; + } else { + // Buying + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_out,inTraderCity,_part_in,_qty_in]; + }; publicVariableServer "PVDZE_obj_Trade"; //diag_log format["DEBUG Starting to wait for answer: %1", PVDZE_obj_Trade]; @@ -198,4 +204,4 @@ if (_qty >= _qty_in) then { }; }; -DZE_ActionInProgress = false; \ No newline at end of file +DZE_ActionInProgress = false; diff --git a/SQF/dayz_code/actions/trade_any_boat.sqf b/SQF/dayz_code/actions/trade_any_boat.sqf index fc001d57e..ccc7570f5 100644 --- a/SQF/dayz_code/actions/trade_any_boat.sqf +++ b/SQF/dayz_code/actions/trade_any_boat.sqf @@ -85,7 +85,13 @@ if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; if (isNil "_obj") then { _obj = "Unknown Vehicle" }; if (isNil "inTraderCity") then { inTraderCity = "Unknown Trader City" }; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_obj,inTraderCity]; + if(_bos == 1) then { + // Selling + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_in,inTraderCity,_part_out,_qty_out]; + } else { + // Buying + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_out,inTraderCity,_part_in,_qty_in]; + }; publicVariableServer "PVDZE_obj_Trade"; //diag_log format["DEBUG Starting to wait for answer: %1", PVDZE_obj_Trade]; diff --git a/SQF/dayz_code/actions/trade_any_vehicle.sqf b/SQF/dayz_code/actions/trade_any_vehicle.sqf index 55ff3e8d8..9842c51e2 100644 --- a/SQF/dayz_code/actions/trade_any_vehicle.sqf +++ b/SQF/dayz_code/actions/trade_any_vehicle.sqf @@ -93,7 +93,13 @@ if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; if (isNil "_obj") then { _obj = "Unknown Vehicle" }; if (isNil "inTraderCity") then { inTraderCity = "Unknown Trader City" }; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_obj,inTraderCity]; + if(_bos == 1) then { + // Selling + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_in,inTraderCity,_part_out,_qty_out]; + } else { + // Buying + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_out,inTraderCity,_part_in,_qty_in]; + }; publicVariableServer "PVDZE_obj_Trade"; //diag_log format["DEBUG Starting to wait for answer: %1", PVDZE_obj_Trade]; diff --git a/SQF/dayz_code/actions/trade_backpacks.sqf b/SQF/dayz_code/actions/trade_backpacks.sqf index 6f9b74167..5d1252ac2 100644 --- a/SQF/dayz_code/actions/trade_backpacks.sqf +++ b/SQF/dayz_code/actions/trade_backpacks.sqf @@ -87,7 +87,13 @@ if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; if (isNil "_bag") then { _bag = "Unknown Backpack" }; if (isNil "inTraderCity") then { inTraderCity = "Unknown Trader City" }; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_bag,inTraderCity]; + if(_bos == 1) then { + // Selling + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_in,inTraderCity,_part_out,_qty_out]; + } else { + // Buying + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_out,inTraderCity,_part_in,_qty_in]; + }; publicVariableServer "PVDZE_obj_Trade"; //diag_log format["DEBUG Starting to wait for answer: %1", PVDZE_obj_Trade]; @@ -132,4 +138,4 @@ if (_qty >= _qty_in) then { cutText [format[(localize "str_epoch_player_184"),_needed,_textPartIn] , "PLAIN DOWN"]; }; -DZE_ActionInProgress = false; \ No newline at end of file +DZE_ActionInProgress = false; diff --git a/SQF/dayz_code/actions/trade_items.sqf b/SQF/dayz_code/actions/trade_items.sqf index 215a6c56c..9d263231b 100644 --- a/SQF/dayz_code/actions/trade_items.sqf +++ b/SQF/dayz_code/actions/trade_items.sqf @@ -104,7 +104,13 @@ for "_x" from 1 to _total_trades do { // Continue with trade. if (isNil "_part_in") then { _part_in = "Unknown Item" }; if (isNil "inTraderCity") then { inTraderCity = "Unknown Trader City" }; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_in,inTraderCity]; + if(_bos == 1) then { + // Selling + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_in,inTraderCity,_part_out,_qty_out]; + } else { + // Buying + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_out,inTraderCity,_part_in,_qty_in]; + }; publicVariableServer "PVDZE_obj_Trade"; waitUntil {!isNil "dayzTradeResult"}; @@ -258,4 +264,4 @@ if(_total_parts_out >= 1) then { }; }; -DZE_ActionInProgress = false; \ No newline at end of file +DZE_ActionInProgress = false; diff --git a/SQF/dayz_code/actions/trade_weapons.sqf b/SQF/dayz_code/actions/trade_weapons.sqf index 0b99f7d7f..b165646fe 100644 --- a/SQF/dayz_code/actions/trade_weapons.sqf +++ b/SQF/dayz_code/actions/trade_weapons.sqf @@ -83,7 +83,13 @@ if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; if (isNil "_part_out") then { _part_out = "Unknown Weapon/Magazine" }; if (isNil "inTraderCity") then { inTraderCity = "Unknown Trader City" }; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_out,inTraderCity]; + if(_bos == 1) then { + // Selling + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_in,inTraderCity,_part_out,_qty_out]; + } else { + // Buying + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_part_out,inTraderCity,_part_in,_qty_in]; + }; publicVariableServer "PVDZE_obj_Trade"; waitUntil {!isNil "dayzTradeResult"}; @@ -122,4 +128,4 @@ if (_qty >= _qty_in) then { cutText [format[(localize "str_epoch_player_184"),_needed,_textPartIn] , "PLAIN DOWN"]; }; -DZE_ActionInProgress = false; \ No newline at end of file +DZE_ActionInProgress = false; diff --git a/SQF/dayz_server/compile/server_tradeObject.sqf b/SQF/dayz_server/compile/server_tradeObject.sqf index a4d61900d..7a93c977c 100644 --- a/SQF/dayz_server/compile/server_tradeObject.sqf +++ b/SQF/dayz_server/compile/server_tradeObject.sqf @@ -5,12 +5,15 @@ _traderID = _this select 1; _buyorsell = _this select 2; //0 > Buy // 1 > Sell _classname = _this select 3; _traderCity = _this select 4; +_currency = _this select 5; +_qty = _this select 6; _clientID = owner _player; +_price = format ["%2x %1",_currency,_qty]; if (_buyorsell == 0) then { //Buy -diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) bought a %3 in/at %4", (name _player), (getPlayerUID _player), _classname, _traderCity]; +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) bought a %3 in/at %4 for %5", (name _player), (getPlayerUID _player), _classname, _traderCity, _price]; } else { //SELL -diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in/at %4",(name _player), (getPlayerUID _player), _classname, _traderCity]; +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in/at %4 for %5",(name _player), (getPlayerUID _player), _classname, _traderCity, _price]; }; //Send request @@ -24,4 +27,4 @@ _outcome = _result select 0; dayzTradeResult = _outcome; if(!isNull _player) then { _clientID publicVariableClient "dayzTradeResult"; -}; \ No newline at end of file +};