diff --git a/SQF/dayz_code/actions/trade_any_bicycle.sqf b/SQF/dayz_code/actions/trade_any_bicycle.sqf index 35c582a45..585512fa4 100644 --- a/SQF/dayz_code/actions/trade_any_bicycle.sqf +++ b/SQF/dayz_code/actions/trade_any_bicycle.sqf @@ -24,7 +24,7 @@ _bos = 0; if(_buy_o_sell == "buy") then { _qty = {_x == _part_in} count magazines player; } else { - _obj = nearestObjects [(getPosATL player), [_part_in], dayz_sellDistance]; + _obj = nearestObjects [(getPosATL player), [_part_in], dayz_sellDistance_vehicle]; _qty = count _obj; _bos = 1; }; @@ -81,7 +81,9 @@ if (_qty >= _qty_in) then { if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos]; + if (isNil _obj) then { _obj = "Unknown Vehicle" }; + if (isNil inTraderCity) then { inTraderCity = "Unknown Trader City" }; + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_obj,inTraderCity]; 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_boat.sqf b/SQF/dayz_code/actions/trade_any_boat.sqf index 3d9f8365b..c34be8d59 100644 --- a/SQF/dayz_code/actions/trade_any_boat.sqf +++ b/SQF/dayz_code/actions/trade_any_boat.sqf @@ -75,14 +75,16 @@ if (_qty >= _qty_in) then { if(_buy_o_sell == "buy") then { _qty = {_x == _part_in} count magazines player; } else { - _obj = nearestObjects [(getPosATL player), [_part_in], dayz_sellDistance]; + _obj = nearestObjects [(getPosATL player), [_part_in], dayz_sellDistance_boat]; _qty = count _obj; }; if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos]; + if (isNil _obj) then { _obj = "Unknown Vehicle" }; + if (isNil inTraderCity) then { inTraderCity = "Unknown Trader City" }; + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_obj,inTraderCity]; 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 90133bf9f..f01c86b84 100644 --- a/SQF/dayz_code/actions/trade_any_vehicle.sqf +++ b/SQF/dayz_code/actions/trade_any_vehicle.sqf @@ -24,7 +24,12 @@ _bos = 0; if(_buy_o_sell == "buy") then { _qty = {_x == _part_in} count magazines player; } else { - _obj = nearestObjects [(getPosATL player), [_part_in], dayz_sellDistance]; + + if (_part_in isKindOf "AIR") then { + _obj = nearestObjects [(getPosATL player), [_part_in], dayz_sellDistance_air]; + } else { + _obj = nearestObjects [(getPosATL player), [_part_in], dayz_sellDistance_vehicle]; + }; _qty = count _obj; _bos = 1; }; @@ -85,7 +90,9 @@ if (_qty >= _qty_in) then { if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos]; + if (isNil _obj) then { _obj = "Unknown Vehicle" }; + if (isNil inTraderCity) then { inTraderCity = "Unknown Trader City" }; + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_obj,inTraderCity]; 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 ca2fb0f25..3ff316033 100644 --- a/SQF/dayz_code/actions/trade_backpacks.sqf +++ b/SQF/dayz_code/actions/trade_backpacks.sqf @@ -84,7 +84,9 @@ if (_qty >= _qty_in) then { if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos]; + if (isNil _bag) then { _bag = "Unknown Backpack" }; + if (isNil inTraderCity) then { inTraderCity = "Unknown Trader City" }; + PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_bag,inTraderCity]; 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_items.sqf b/SQF/dayz_code/actions/trade_items.sqf index 16c008ec4..7e6466a73 100644 --- a/SQF/dayz_code/actions/trade_items.sqf +++ b/SQF/dayz_code/actions/trade_items.sqf @@ -99,8 +99,9 @@ for "_x" from 1 to _total_trades do { if (_removed == _qty_in) then { // Continue with trade. - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos]; - publicVariableServer "PVDZE_obj_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]; waitUntil {!isNil "dayzTradeResult"}; diff --git a/SQF/dayz_code/actions/trade_weapons.sqf b/SQF/dayz_code/actions/trade_weapons.sqf index 03a31bf8f..38e1b71c0 100644 --- a/SQF/dayz_code/actions/trade_weapons.sqf +++ b/SQF/dayz_code/actions/trade_weapons.sqf @@ -80,7 +80,9 @@ if (_qty >= _qty_in) then { if (_qty >= _qty_in) then { //["PVDZE_obj_Trade",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure; - PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos]; + 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]; publicVariableServer "PVDZE_obj_Trade"; waitUntil {!isNil "dayzTradeResult"}; diff --git a/SQF/dayz_server/compile/server_publishVehicle2.sqf b/SQF/dayz_server/compile/server_publishVehicle2.sqf index 9a6d40d4c..c7c04e367 100644 --- a/SQF/dayz_server/compile/server_publishVehicle2.sqf +++ b/SQF/dayz_server/compile/server_publishVehicle2.sqf @@ -1,5 +1,5 @@ private ["_activatingPlayer","_isOK","_object","_worldspace","_location","_dir","_class","_uid","_key","_keySelected","_characterID","_donotusekey"]; - +//PVDZE_veh_Publish2 = [_veh,[_dir,_location],_part_out,false,_keySelected,_activatingPlayer]; _object = _this select 0; _worldspace = _this select 1; _class = _this select 2; diff --git a/SQF/dayz_server/compile/server_tradeObject.sqf b/SQF/dayz_server/compile/server_tradeObject.sqf index 47ae21498..c8c3c36a2 100644 --- a/SQF/dayz_server/compile/server_tradeObject.sqf +++ b/SQF/dayz_server/compile/server_tradeObject.sqf @@ -1,14 +1,29 @@ private ["_character","_traderid","_buyorsell","_data","_result","_key","_outcome","_clientID"]; +/* +PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos]; //OLD +PVDZE_obj_Trade = [_activatingPlayer,_traderID,_bos,_obj,inTraderCity]; //NEW -_character = _this select 0; -_traderid = _this select 1; -_buyorsell = _this select 2; -_clientID = owner _character; +*/ -diag_log format["TRADE: Trade Request by ClientID: %1 Character: %2 TraderID: %3 BuyOrSell: %4", _clientID, _character,_traderid,_buyorsell]; +_player = _this select 0; +_traderID = _this select 1; +_buyorsell = _this select 2; //0 > Buy // 1 > Sell +_classname = _this select 3; +_traderCity = _this select 4; +_clientID = owner _player; + +//Old Logway +//diag_log format["TRADE: Trade Request by ClientID: %1 Character: %2 TraderID: %3 BuyOrSell: %4", _clientID, _character,_traderID,_buyorsell]; + +//New Logway WIP by Skaronator +if (_buyorsell == 0) then { //Buy +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) bought a %3 in %4", (name _player), (getPlayerUID _player), _classname, _traderCity]; +} else { //SELL +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in %4",]; +}; //Send request -_key = format["CHILD:398:%1:%2:",_traderid,_buyorsell]; +_key = format["CHILD:398:%1:%2:",_traderID,_buyorsell]; _data = "HiveEXT" callExtension _key; _result = call compile format ["%1",_data]; @@ -16,6 +31,6 @@ _result = call compile format ["%1",_data]; _outcome = _result select 0; dayzTradeResult = _outcome; -if(!isNull _character) then { +if(!isNull _player) then { _clientID publicVariableClient "dayzTradeResult"; }; \ No newline at end of file