new vault texture, out of stock messaged added back, lowered armor on
vault added damage handeler, Potential fix for for tag friendly option
on vehicles w/ player. New custom death screen, bulk trades with custom
supply crate model. Simlified dynamic vehicle system.
This commit is contained in:
vbawol
2013-01-30 13:29:48 -06:00
parent e24e30b15c
commit 13ca69a8fc
17 changed files with 139 additions and 55 deletions

View File

@@ -12,44 +12,76 @@ _textPartIn = (_this select 3) select 5;
_textPartOut = (_this select 3) select 6;
_traderID = (_this select 3) select 7;
_qty = {_x == _part_in} count magazines player;
_bos = 0;
_bulkqty = 0;
if (_qty >= _qty_in) then {
if(_buy_o_sell == "sell") then {
_bos = 0;
if(_buy_o_sell == "sell") then {
_bos = 1;
};
// SELL ONLY check if item if bulk
_bulkItem = call compile format["bulk_%1;",_part_in];
_bulkqty = {_x == _bulkItem} count magazines player;
_bos = 1;
};
if (_bulkqty >= 1) then {
// TODO: optimize for one db call only
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
// Find qty of box and
_bulkqty = getNumber (configFile >> "CfgMagazines" >> _bulkItem >> "count");
diag_log format["DEBUG Starting to wait for answer: %1", dayzTradeObject];
// increment trader for each
for "_x" from 1 to _bulkqty do {
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
waitUntil {!isNil "dayzTradeResult"};
waitUntil {!isNil "dayzTradeResult"};
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
if(dayzTradeResult == "PASS") then {
for "_x" from 1 to _qty_in do {
player removeMagazine _part_in;
if(dayzTradeResult == "PASS") then {
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
};
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
// [player,"repair",0,false] call dayz_zombieSpeak;
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
} else {
cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
};
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
dayzTradeResult = nil;
} else {
_needed = _qty_in - _qty;
cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
_qty = {_x == _part_in} count magazines player;
if (_qty >= _qty_in) then {
["dayzTradeObject",[_activatingPlayer,_traderID,_bos]] call callRpcProcedure;
diag_log format["DEBUG Starting to wait for answer: %1", dayzTradeObject];
waitUntil {!isNil "dayzTradeResult"};
if(dayzTradeResult == "PASS") then {
diag_log format["DEBUG Complete Trade: %1", dayzTradeResult];
for "_x" from 1 to _qty_in do {
player removeMagazine _part_in;
};
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
// [player,"repair",0,false] call dayz_zombieSpeak;
cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
} else {
cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
} else {
_needed = _qty_in - _qty;
cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
};
};