+ Added variable pricing to traders. Stock under 5 will be sold at the
buy price and over 50 will be bought at the sell price.
+ Fixed trades not forcing a gear save and added more forced gear saves.
+ Added test for time based UID for purchased vehicles.
+ Reduced humanity gained by using a blood bag to 100 down from 250.
+ Added 5 minute penalty knockout for combat loggers.
+ Added prevention to logging out in a trader city. fixes #171
+ Changed cargo check to only show on alive vehicles. Fixes #176
+ Potential fix for gunner on armored SUV. Fixes #172
+ Fixes for refueling and repairing that was broken by 1.7.61
+ Removed taming of dogs for now. fixes #162
This commit is contained in:
vbawol
2013-03-03 13:41:35 -06:00
parent 598cb62a26
commit 320046779b
32 changed files with 266 additions and 87 deletions

View File

@@ -46,13 +46,15 @@ if (_qty >= _qty_in) then {
for "_x" from 1 to _qty_in do {
player removeMagazine _part_in;
};
disableSerialization;
call dayz_forceSave;
_dir = round(random 360);
_helipad = nearestObjects [player, ["HeliHCivil","HeliHempty"], 100];
if(count _helipad > 0) then {
_location = [(getPosATL (_helipad select 0)),0,10,1,0,2000,0] call BIS_fnc_findSafePos;
_location = (getPosATL (_helipad select 0));
} else {
_location = [(position player),0,20,1,0,2000,0] call BIS_fnc_findSafePos;
};
@@ -76,16 +78,20 @@ if (_qty >= _qty_in) then {
dayzPublishVeh = [_veh,[_dir,_location],_part_out,false,dayz_playerUID];
publicVariableServer "dayzPublishVeh";
// check if this will add the needed event handlers to correctly track damage client side
// event handlers to correctly track damage client side
_veh call fnc_vehicleEventHandler;
cutText [format[("Bought %3 %4 for %1 %2"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
} else {
// Sell Vehicle
for "_x" from 1 to _qty_out do {
player addMagazine _part_out;
};
disableSerialization;
call dayz_forceSave;
_obj = _obj select 0;
_objectID = _obj getVariable ["ObjectID","0"];
_objectUID = _obj getVariable ["ObjectUID","0"];
@@ -98,6 +104,7 @@ if (_qty >= _qty_in) then {
deleteVehicle _obj;
cutText [format[("Sold %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
};
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
@@ -110,7 +117,7 @@ if (_qty >= _qty_in) then {
} else {
_needed = _qty_in - _qty;
cutText [format[("No %1 found within 20 meters. "),_needed,_textPartIn] , "PLAIN DOWN"];
cutText [format[("No %1 found within 20 meters. "),_textPartOut] , "PLAIN DOWN"];
};
TradeInprogress = false;