Merge pull request #711 from vbawol/NewTradeLog

New trade log *Need Testing*
This commit is contained in:
vbawol
2013-11-16 14:46:57 -08:00
9 changed files with 81 additions and 25 deletions

View File

@@ -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];

View File

@@ -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];

View File

@@ -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];

View File

@@ -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];

View File

@@ -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"};

View File

@@ -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"};

View File

@@ -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;

View File

@@ -1,14 +1,20 @@
private ["_character","_traderid","_buyorsell","_data","_result","_key","_outcome","_clientID"];
_character = _this select 0;
_traderid = _this select 1;
_buyorsell = _this select 2;
_clientID = owner _character;
_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;
diag_log format["TRADE: Trade Request by ClientID: %1 Character: %2 TraderID: %3 BuyOrSell: %4", _clientID, _character,_traderid,_buyorsell];
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",(name _player), (getPlayerUID _player), _classname, _traderCity];
};
//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 +22,6 @@ _result = call compile format ["%1",_data];
_outcome = _result select 0;
dayzTradeResult = _outcome;
if(!isNull _character) then {
if(!isNull _player) then {
_clientID publicVariableClient "dayzTradeResult";
};

View File

@@ -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
{
};