From 253d5ccc39db855fbaf45dc861a5b5a58f475122 Mon Sep 17 00:00:00 2001 From: Skaronator Date: Sat, 16 Nov 2013 15:42:52 +0100 Subject: [PATCH 1/4] New Logsystem Script Side --- SQF/dayz_code/actions/trade_any_bicycle.sqf | 6 ++-- SQF/dayz_code/actions/trade_any_boat.sqf | 6 ++-- SQF/dayz_code/actions/trade_any_vehicle.sqf | 11 +++++-- SQF/dayz_code/actions/trade_backpacks.sqf | 4 ++- SQF/dayz_code/actions/trade_items.sqf | 5 ++-- SQF/dayz_code/actions/trade_weapons.sqf | 4 ++- .../compile/server_publishVehicle2.sqf | 2 +- .../compile/server_tradeObject.sqf | 29 ++++++++++++++----- 8 files changed, 49 insertions(+), 18 deletions(-) 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 From 1f85c3012240be90900c882d4f65da0614e74373 Mon Sep 17 00:00:00 2001 From: Skaronator Date: Sat, 16 Nov 2013 15:46:45 +0100 Subject: [PATCH 2/4] Missionside Example for Chernarus11 --- .../compile/server_tradeObject.sqf | 4 +- .../DayZ_Epoch_11.Chernarus/mission.sqm | 48 ++++++++++++++++--- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/SQF/dayz_server/compile/server_tradeObject.sqf b/SQF/dayz_server/compile/server_tradeObject.sqf index c8c3c36a2..d5d1bbe88 100644 --- a/SQF/dayz_server/compile/server_tradeObject.sqf +++ b/SQF/dayz_server/compile/server_tradeObject.sqf @@ -17,9 +17,9 @@ _clientID = owner _player; //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]; +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) bought a %3 in/at %4", (name _player), (getPlayerUID _player), _classname, _traderCity]; } else { //SELL -diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in %4",]; +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in/at %4",]; }; //Send request diff --git a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/mission.sqm b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/mission.sqm index 8f1c82d28..4e8be9dd8 100644 --- a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/mission.sqm +++ b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/mission.sqm @@ -1298,7 +1298,7 @@ class Mission }; class Sensors { - items=3; + items=5; class Item0 { position[]={6325.6772,304.99033,7807.7412}; @@ -1310,8 +1310,8 @@ class Mission age="UNKNOWN"; name="zonestary"; expCond="(player distance zonestary) < 100;"; - expActiv="TitleText[""Now entering trader city Stary"",""PLAIN DOWN""]; canbuild = false;"; - expDesactiv="TitleText[""Now leaving trader city Stary"",""PLAIN DOWN""]; canbuild = true;"; + expActiv="TitleText[""Now entering trader city Stary"",""PLAIN DOWN""]; canbuild = false; inTraderCity = ""Stary"";"; + expDesactiv="TitleText[""Now leaving trader city Stary"",""PLAIN DOWN""]; canbuild = true; inTraderCity = ""Any"";"; class Effects { }; @@ -1327,8 +1327,8 @@ class Mission age="UNKNOWN"; name="zonebash"; expCond="(player distance zonebash) < 100;"; - expActiv="TitleText[""Now entering trader city Bash"",""PLAIN DOWN""]; canbuild = false;"; - expDesactiv="TitleText[""Now leaving trader city Bash"",""PLAIN DOWN""]; canbuild = true;"; + expActiv="TitleText[""Now entering trader city Bash"",""PLAIN DOWN""]; canbuild = false; inTraderCity = ""Bash"";"; + expDesactiv="TitleText[""Now leaving trader city Bash"",""PLAIN DOWN""]; canbuild = true; inTraderCity = ""Any"";"; class Effects { }; @@ -1344,8 +1344,42 @@ class Mission age="UNKNOWN"; name="zoneklen"; expCond="(player distance zoneklen) < 100;"; - expActiv="TitleText[""Now entering trader city Klen"",""PLAIN DOWN""]; canbuild = false;"; - expDesactiv="TitleText[""Now leaving trader city Klen"",""PLAIN DOWN""]; canbuild = true;"; + expActiv="TitleText[""Now entering trader city Klen"",""PLAIN DOWN""]; canbuild = false; inTraderCity = ""Klen"";"; + expDesactiv="TitleText[""Now leaving trader city Klen"",""PLAIN DOWN""]; canbuild = true; inTraderCity = ""Any"";"; + class Effects + { + }; + }; + class Item3 + { + position[]={1606.6443,289.70795,7803.5156}; + a=100; + b=100; + activationBy="WEST"; + repeating=1; + interruptable=1; + age="UNKNOWN"; + name="zoneklen"; + expCond="(player distance zoneklen) < 100;"; + expActiv="canbuild = false; inTraderCity = ""Bandit Trader"";"; + expDesactiv="canbuild = true; inTraderCity = ""Any"";"; + class Effects + { + }; + }; + class Item4 + { + position[]={12944.227,210.19823,12766.889}; + a=100; + b=100; + activationBy="WEST"; + repeating=1; + interruptable=1; + age="UNKNOWN"; + name="zoneklen"; + expCond="(player distance zoneklen) < 100;"; + expActiv="canbuild = false; inTraderCity = ""Hero Trader"";"; + expDesactiv="canbuild = true; inTraderCity = ""Any"";"; class Effects { }; From 8f663367e8ee1e8d7ba00a2b4cbe85d0e320ab20 Mon Sep 17 00:00:00 2001 From: Skaronator Date: Sat, 16 Nov 2013 15:47:03 +0100 Subject: [PATCH 3/4] Cleanup Script --- SQF/dayz_server/compile/server_tradeObject.sqf | 9 --------- 1 file changed, 9 deletions(-) diff --git a/SQF/dayz_server/compile/server_tradeObject.sqf b/SQF/dayz_server/compile/server_tradeObject.sqf index d5d1bbe88..0b1e610ec 100644 --- a/SQF/dayz_server/compile/server_tradeObject.sqf +++ b/SQF/dayz_server/compile/server_tradeObject.sqf @@ -1,9 +1,4 @@ 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 - -*/ _player = _this select 0; _traderID = _this select 1; @@ -12,10 +7,6 @@ _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/at %4", (name _player), (getPlayerUID _player), _classname, _traderCity]; } else { //SELL From 9c1330a0fd75a6d5df138164059860e7fba16d75 Mon Sep 17 00:00:00 2001 From: Skaronator Date: Sat, 16 Nov 2013 18:10:32 +0100 Subject: [PATCH 4/4] Little Fix --- SQF/dayz_server/compile/server_tradeObject.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SQF/dayz_server/compile/server_tradeObject.sqf b/SQF/dayz_server/compile/server_tradeObject.sqf index 0b1e610ec..a4d61900d 100644 --- a/SQF/dayz_server/compile/server_tradeObject.sqf +++ b/SQF/dayz_server/compile/server_tradeObject.sqf @@ -10,7 +10,7 @@ _clientID = owner _player; 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]; } else { //SELL -diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in/at %4",]; +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in/at %4",(name _player), (getPlayerUID _player), _classname, _traderCity]; }; //Send request