mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Add coin support to dayz_Server and login
New variables: DZE_groupManagement = false; //Enable or disable group management. Enabled by default DZE_MoneyStorageClasses = []; // If using a Single currency system (Z_SingleCurrency = true;), this is an array of object classes players can store coins in if Z_SingleCurrency = true; the hive is now set up to handle coin updates on players, characters, and objects. if DZE_groupManagement = true; the hive is now set up to save groups group and coin variables are set in player_monitor.fsm, for vehicles/objects it's set in the server_monitor.sqf file for objects in the DZE_MoneyStorageClasses array Also, this commit includes a change to the way the hive spawns in vehicles. vehicles are now created at [0,0,0] and moved using setPosATL to their saved position. Thanks for the tip @ndavalos @eraser1
This commit is contained in:
@@ -46,6 +46,7 @@ timezoneswitch = 0; // Changes murderMenu times with this offset in hours.
|
||||
DZE_SafeZonePosArray = []; //Prevent players in safeZones from being killed if their vehicle is destroyed. Format is [[[3D POS], RADIUS],[[3D POS], RADIUS]]; Ex. DZE_SafeZonePosArray = [[[6325.6772,7807.7412,0],150],[[4063.4226,11664.19,0],150]];
|
||||
DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only)
|
||||
DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature
|
||||
DZE_groupManagement = false; //Enable or disable group management. Enabled by default
|
||||
|
||||
// Advanced Trading
|
||||
DZE_advancedTrading = true; //Use advanced trading system. WARNING: set to false if you use database traders, you should use config-traders anyway!
|
||||
@@ -54,10 +55,11 @@ DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire
|
||||
DZE_SaleRequiresKey = false; //Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt or backpack, or the vehicle's inventory. False by default
|
||||
Z_AT_FolderLocation = '\z\addons\dayz_code\actions\AdvancedTrading';
|
||||
Z_VehicleDistance = 40; // Distance that a vehicle needs to be to see it's content or to sell it.
|
||||
Z_SingleCurrency = false; // Does your server use a single currency system.
|
||||
Z_AllowTakingMoneyFromBackpack = true; // When buying items with DEFAULT CURRENCY to any inventory. Do you allow the trader to take money from your backpack.
|
||||
Z_AllowTakingMoneyFromVehicle = true; // When buying items with DEFAULT CURRENCY to any inventory. Do you allow the trader to take money from your vehicle.
|
||||
Z_MoneyVariable = "cashMoney"; // If using a Single currency system, change this to whatever currency you are using.
|
||||
Z_SingleCurrency = false; // Does your server use a single currency system?
|
||||
Z_MoneyVariable = "cashMoney"; // If using a Single currency system (Z_SingleCurrency = true;), change this to whatever currency you are using.
|
||||
DZE_MoneyStorageClasses = []; // If using a Single currency system (Z_SingleCurrency = true;), this is an array of object classes players can store coins in
|
||||
|
||||
// Plot Management and Plot for Life
|
||||
DZE_permanentPlot = true; // Plot ownership saves after death. Enables Plot for Life by @RimBlock and Plot Management by @DevZupa.
|
||||
|
||||
@@ -14,7 +14,7 @@ item9[] = {"no_PlayerID",4,218,125.000000,150.000000,225.000000,200.000000,2.000
|
||||
item10[] = {"ERROR__No_Player",2,250,325.000000,150.000000,425.000000,200.000000,0.000000,"ERROR:" \n "No PlayerID"};
|
||||
item11[] = {"Request",2,250,-75.000000,350.000000,25.000000,400.000000,0.000000,"Request"};
|
||||
item12[] = {"Response",4,218,-175.000000,400.000000,-75.000000,450.000000,0.000000,"Response"};
|
||||
item13[] = {"Parse_Login",2,250,-66.532227,557.409241,33.467773,607.409241,0.000000,"Parse Login"};
|
||||
item13[] = {"Parse_Login",2,4346,-66.532227,557.409241,33.467773,607.409241,0.000000,"Parse Login"};
|
||||
item14[] = {"Hive_Bad",4,218,125.000000,550.000000,225.000000,600.000000,10.000000,"Hive" \n "Bad"};
|
||||
item15[] = {"ERROR__Wrong_HIVE",2,250,325.000000,550.000000,425.000000,600.000000,0.000000,"ERROR:" \n "Wrong HIVE" \n "Version"};
|
||||
item16[] = {"Character_Setup",4,218,-175.000000,600.000000,-75.000000,650.000000,0.000000,"Character" \n "Setup"};
|
||||
@@ -32,7 +32,7 @@ item27[] = {"ERROR__Bad_Versi",2,250,325.000000,850.000000,425.000000,900.000000
|
||||
item28[] = {"Display_Ready",4,218,-175.000000,1200.000000,-75.000000,1250.000000,0.000000,"Display" \n "Ready"};
|
||||
item29[] = {"Preload_Display",2,250,-75.000000,1250.000000,25.000000,1300.000000,0.000000,"Preload" \n "Display"};
|
||||
item30[] = {"Preload_Done",4,218,-175.000000,1300.000000,-75.000000,1350.000000,0.000000,"Preload" \n "Done"};
|
||||
item31[] = {"Initialize",2,4346,-75.000000,1350.000000,25.000000,1400.000000,0.000000,"Initialize"};
|
||||
item31[] = {"Initialize",2,250,-75.000000,1350.000000,25.000000,1400.000000,0.000000,"Initialize"};
|
||||
item32[] = {"Finish",1,250,-75.000000,1625.000000,25.000000,1675.000000,0.000000,"Finish"};
|
||||
item33[] = {"no_Time_Date",4,218,125.000000,950.000000,225.000000,1000.000000,0.000000,"no Time/Date"};
|
||||
item34[] = {"sleep",4,218,525.000000,150.000000,625.000000,200.000000,0.000000,"sleep"};
|
||||
@@ -243,8 +243,8 @@ link127[] = {107,32};
|
||||
link128[] = {108,109};
|
||||
link129[] = {109,110};
|
||||
link130[] = {110,64};
|
||||
globals[] = {0.000000,0,0,0,0,640,480,3,262,6316128,1,-420.384094,456.528290,1882.460693,656.753967,890,1244,1};
|
||||
window[] = {2,-1,-1,-32000,-32000,1270,1052,2072,744,3,908};
|
||||
globals[] = {0.000000,0,0,0,0,640,480,3,262,6316128,1,-888.855957,924.990540,1855.234863,-680.074097,890,1244,1};
|
||||
window[] = {2,-1,-1,-1,-1,708,182,1202,182,3,908};
|
||||
*//*%FSM</HEAD>*/
|
||||
class FSM
|
||||
{
|
||||
@@ -486,11 +486,19 @@ class FSM
|
||||
"_isHiveOk = false;" \n
|
||||
"_newPlayer = false;" \n
|
||||
"_isInfected = false;" \n
|
||||
"_mygroup = [];" \n
|
||||
"_characterCoins = 0;" \n
|
||||
"_globalCoins = 0;" \n
|
||||
"_CoinsSpecial = 0;" \n
|
||||
"" \n
|
||||
"if (count _msg > 7) then {" \n
|
||||
" _isHiveOk = _msg select 7;" \n
|
||||
" _newPlayer = _msg select 8;" \n
|
||||
" _isInfected = _msg select 9;" \n
|
||||
" _mygroup = _msg select 10;" \n
|
||||
" _characterCoins = _msg select 11;" \n
|
||||
" _globalCoins = _msg select 12;" \n
|
||||
" _CoinsSpecial = _msg select 13;" \n
|
||||
" diag_log (""PLAYER RESULT: "" + str(_isHiveOk));" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
@@ -1158,6 +1166,17 @@ class FSM
|
||||
"r_player_bloodtype = player getVariable [""blood_type"", false];" \n
|
||||
"r_player_rh = player getVariable [""rh_factor"", false];" \n
|
||||
"" \n
|
||||
"if (Z_SingleCurrency) then {" \n
|
||||
" player setVariable [Z_MoneyVariable, _characterCoins, true];" \n
|
||||
" player setVariable [""GlobalMoney"", _globalCoins, true];" \n
|
||||
" player setVariable [""MoneySpecial"", _CoinsSpecial, true];" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
"if (DZE_groupManagement) then {" \n
|
||||
" player setVariable [""savedGroup"", _mygroup, true];" \n
|
||||
" player setVariable [""purgeGroup"", 0, true];" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
"dayz_musicH = [] spawn player_music;" \n
|
||||
"dayz_slowCheck = [] spawn player_spawn_2;" \n
|
||||
"Dayz_logonTime = daytime;" \n
|
||||
@@ -1936,11 +1955,6 @@ class FSM
|
||||
"" \n
|
||||
"PVDZ_plr_LoginRecord = [_playerUID,_charID,0,toArray (name vehicle player)];" \n
|
||||
"" \n
|
||||
"if (r_player_unconscious) then {" \n
|
||||
" r_player_timeout = player getVariable[""unconsciousTime"",0];" \n
|
||||
" player playActionNow ""Die"";" \n
|
||||
" [player,r_player_timeout] call fnc_usec_damageUnconscious;" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
"progressLoadingScreen 1;" \n
|
||||
"" \n
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_doLoop","_hiveVer","_isHiveOk","_playerID","_playerObj","_primary","_key","_charID","_playerName","_backpack","_isNew","_inventory","_survival","_model","_config","_mags","_wpns","_bcpk","_newPlayer","_isInfected"];
|
||||
private ["_playerID","_forEachIndex","_endMission","_0","_1","_timeleft","_doLoop","_key","_primary","_model","_inventory","_backpack","_survival","_CharacterCoins","_group","_playerCoins","_BankCoins","_hiveVer","_mags","_wpns","_bcpk","_config","_isInfected","_remaining","_playerObj","_playerName","_newPlayer","_isNew","_charID","_isHiveOk"];
|
||||
|
||||
#include "\z\addons\dayz_server\compile\server_toggle_debug.hpp"
|
||||
|
||||
@@ -17,6 +17,10 @@ _backpack = [];
|
||||
_survival = [0,0,0];
|
||||
_model = "";
|
||||
_isInfected = 0;
|
||||
_CharacterCoins = 0;
|
||||
_group = [];
|
||||
_playerCoins = 0;
|
||||
_BankCoins = 0;
|
||||
|
||||
if (_playerID == "") then {
|
||||
_playerID = [_playerObj] call FNC_GetPlayerUID;
|
||||
@@ -78,10 +82,9 @@ if ((_primary select 0) == "ERROR") exitWith {
|
||||
|
||||
//Process request
|
||||
_newPlayer = _primary select 1;
|
||||
_isNew = count _primary < 7; //_result select 1;
|
||||
_isNew = count _primary < 10; //_result select 1;
|
||||
_charID = _primary select 2;
|
||||
//diag_log ("LOGIN RESULT: " + str(_primary));
|
||||
|
||||
/* PROCESS */
|
||||
_hiveVer = 0;
|
||||
|
||||
@@ -90,14 +93,20 @@ if (!_isNew) then {
|
||||
_inventory = _primary select 4;
|
||||
_backpack = _primary select 5;
|
||||
_survival = _primary select 6;
|
||||
_group = _primary select 7;
|
||||
_CharacterCoins = _primary select 7;
|
||||
_model = _primary select 8;
|
||||
_hiveVer = _primary select 9;
|
||||
_group = _primary select 9;
|
||||
_playerCoins = _primary select 10;
|
||||
_BankCoins = _primary select 11;
|
||||
_hiveVer = _primary select 12;
|
||||
if !(_model in AllPlayers) then {_model = "Survivor2_DZ";};
|
||||
} else {
|
||||
_isInfected = if (DZE_PlayerZed) then {_primary select 3} else {0};
|
||||
_model = _primary select 4;
|
||||
_hiveVer = _primary select 5;
|
||||
_group = _primary select 5;
|
||||
_playerCoins = _primary select 6;
|
||||
_BankCoins = _primary select 7;
|
||||
_hiveVer = _primary select 8;
|
||||
if (isNil "_model") then {
|
||||
_model = "Survivor2_DZ";
|
||||
} else {
|
||||
@@ -122,7 +131,7 @@ if (!_isNew) then {
|
||||
|
||||
_isHiveOk = if (_hiveVer >= dayz_hiveVersionNo) then {true} else {false}; //EDITED
|
||||
|
||||
PVCDZ_plr_Login = [_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer,_isInfected];
|
||||
PVCDZ_plr_Login = [_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer,_isInfected,_group,_CharacterCoins,_playerCoins,_BankCoins];
|
||||
(owner _playerObj) publicVariableClient "PVCDZ_plr_Login";
|
||||
|
||||
//Make player wait until ghost timer is up.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
private ["_characterID","_temp","_currentWpn","_magazines","_force","_isNewPos","_humanity","_isNewGear","_currentModel","_modelChk","_playerPos","_playerGear","_playerBackp","_backpack","_killsB","_killsH","_medical","_isNewMed","_character","_timeSince","_charPos","_isInVehicle","_distanceFoot","_lastPos","_kills","_headShots","_timeGross","_timeLeft","_onLadder","_isTerminal","_currentAnim","_muzzles","_array","_key","_lastTime","_config","_currentState","_name"];
|
||||
private ["_debug","_distance","_distanceFoot","_playerPos","_lastPos","_playerGear","_medical","_currentModel","_currentAnim","_currentWpn","_muzzles","_array","_coins","_key","_globalCoins","_bankCoins","_group","_playerBackp","_backpack","_kills","_killsB","_killsH","_headShots","_humanity","_lastTime","_timeGross","_timeSince","_timeLeft","_config","_onLadder","_isTerminal","_modelChk","_temp","_currentState","_character","_magazines","_characterID","_force","_charPos","_isInVehicle","_name","_Achievements","_isNewMed","_isNewPos","_isNewGear"];
|
||||
//[player,array]
|
||||
|
||||
_character = _this select 0;
|
||||
@@ -88,7 +88,7 @@ if (_characterID != "0") then {
|
||||
};
|
||||
|
||||
//Process update
|
||||
if (_characterID != "0") then {
|
||||
//if (_characterID != "0") then {
|
||||
//Record stats while we're here
|
||||
/*
|
||||
Check previous stats against what client had when they logged in
|
||||
@@ -164,13 +164,31 @@ if (_characterID != "0") then {
|
||||
if (!isNull _character) then {
|
||||
if (alive _character) then {
|
||||
//Wait for HIVE to be free and send request
|
||||
_key = format["CHILD:201:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:",_characterID,_playerPos,_playerGear,_playerBackp,_medical,false,false,_kills,_headShots,_distanceFoot,_timeSince,_currentState,_killsH,_killsB,_currentModel,_humanity];
|
||||
if (Z_SingleCurrency) then {
|
||||
_coins = _character getVariable [Z_MoneyVariable, -1]; //should getting coins fail set the variable to an invalid value to prevent overwritting the in the DB
|
||||
_key = format["CHILD:201:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:",_characterID,_playerPos,_playerGear,_playerBackp,_medical,false,false,_kills,_headShots,_distanceFoot,_timeSince,_currentState,_killsH,_killsB,_currentModel,_humanity,_coins];
|
||||
} else {
|
||||
_key = format["CHILD:201:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:",_characterID,_playerPos,_playerGear,_playerBackp,_medical,false,false,_kills,_headShots,_distanceFoot,_timeSince,_currentState,_killsH,_killsB,_currentModel,_humanity];
|
||||
};
|
||||
//diag_log ("HIVE: WRITE: "+ str(_key) + " / " + _characterID);
|
||||
//diag_log format["HIVE: SYNC: [%1,%2,%3,%4]",_characterID,_playerPos,_playerGear,_playerBackp];
|
||||
_key call server_hiveWrite;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
if (Z_SingleCurrency) then { //update global coins
|
||||
_globalCoins = _character getVariable ["GlobalMoney", -1];
|
||||
_bankCoins = _character getVariable ["MoneySpecial", -1];
|
||||
_key = format["CHILD:205:%1:%2:%3:%4:",(getPlayerUID _character),dayZ_instance,_globalCoins,_bankCoins];
|
||||
_key call server_hiveWrite;
|
||||
};
|
||||
|
||||
if (DZE_groupManagement) then { //update player group
|
||||
_group = _character getVariable ["savedGroup", []];
|
||||
_key = format["CHILD:204:%1:%2:%3:",(getPlayerUID _character),dayZ_instance, _group];
|
||||
_key call server_hiveWrite;
|
||||
};
|
||||
|
||||
// If player is in a vehicle, keep its position updated
|
||||
if (vehicle _character != _character) then {
|
||||
[vehicle _character, "position"] call server_updateObject;
|
||||
@@ -183,5 +201,5 @@ if (_characterID != "0") then {
|
||||
if (_timeSince > 0) then {
|
||||
_character setVariable ["lastTime",(diag_ticktime - _timeLeft)];
|
||||
};
|
||||
};
|
||||
//};
|
||||
};
|
||||
@@ -1,8 +1,8 @@
|
||||
// [_object,_type] spawn server_updateObject;
|
||||
#include "\z\addons\dayz_server\compile\server_toggle_debug.hpp"
|
||||
if (isNil "sm_done") exitWith {};
|
||||
private ["_objectID","_objectUID","_object_position","_isNotOk","_object","_type","_recorddmg","_forced","_lastUpdate","_needUpdate","_object_inventory","_object_damage","_objWallDamage","_object_killed","_object_maintenance","_object_variables"];
|
||||
|
||||
private ["_object","_type","_objectID","_objectUID","_lastUpdate","_needUpdate","_object_position","_object_inventory","_object_damage","_isNotOk"];
|
||||
_object = _this select 0;
|
||||
_type = _this select 1;
|
||||
_recorddmg = false;
|
||||
@@ -11,10 +11,10 @@ _forced = if (count _this > 2) then {_this select 2} else {false};
|
||||
_objectID = "0";
|
||||
_objectUID = "0";
|
||||
|
||||
if !((isNil "_object") or {isNull _object}) then {
|
||||
_objectID = _object getVariable ["ObjectID","0"];
|
||||
_objectUID = _object getVariable ["ObjectUID","0"];
|
||||
};
|
||||
if ((isNil "_object") || {isNull _object}) exitWith {diag_log "server_updateObject.sqf _object null or nil, could not update object"};
|
||||
_objectID = _object getVariable ["ObjectID","0"];
|
||||
_objectUID = _object getVariable ["ObjectUID","0"];
|
||||
|
||||
|
||||
if ((typeName _objectID == "SCALAR") || (typeName _objectUID == "SCALAR")) then {
|
||||
#ifdef OBJECT_DEBUG
|
||||
@@ -65,7 +65,7 @@ _object_position = {
|
||||
};
|
||||
|
||||
_object_inventory = {
|
||||
private ["_inventory","_previous","_key"];
|
||||
private ["_inventory","_key","_isNormal","_coins"];
|
||||
if (_object isKindOf "TrapItems") then {
|
||||
_inventory = [["armed",_object getVariable ["armed",false]]];
|
||||
} else {
|
||||
@@ -90,9 +90,19 @@ _object_inventory = {
|
||||
//if (str _inventory != _previous) then {
|
||||
_object setVariable["lastInventory",_inventory];
|
||||
if (_objectID == "0") then {
|
||||
_key = format["CHILD:309:%1:",_objectUID] + str _inventory + ":";
|
||||
if (Z_SingleCurrency) then {
|
||||
_coins = _object getVariable [Z_MoneyVariable, -1]; //set to invalid value if getVariable fails to prevent overwriting of coins in DB
|
||||
_key = format["CHILD:309:%1:%2:%3:",_objectUID,_inventory,_coins];
|
||||
} else {
|
||||
_key = format["CHILD:309:%1:%2:",_objectUID,_inventory];
|
||||
};
|
||||
} else {
|
||||
_key = format["CHILD:303:%1:",_objectID] + str _inventory + ":";
|
||||
if (Z_SingleCurrency) then {
|
||||
_coins = _object getVariable [Z_MoneyVariable, -1];
|
||||
_key = format["CHILD:303:%1:%2:%3:",_objectID,_inventory,_coins];
|
||||
} else {
|
||||
_key = format["CHILD:303:%1:%2:",_objectID,_inventory];
|
||||
};
|
||||
};
|
||||
|
||||
#ifdef OBJECT_DEBUG
|
||||
@@ -188,12 +198,23 @@ _object_maintenance = {
|
||||
_variables set [count _variables, ["padlockCombination", _accessArray]];
|
||||
|
||||
if (_objectID == "0") then {
|
||||
_key = format["CHILD:309:%1:%2:",_objectUID,_ownerArray];
|
||||
if (Z_SingleCurrency) then {
|
||||
_coins = _object getVariable [Z_MoneyVariable, -1];
|
||||
_key = format["CHILD:309:%1:%2:%3:",_objectUID,_ownerArray,_coins];
|
||||
} else {
|
||||
_key = format["CHILD:309:%1:%2:",_objectUID,_ownerArray];
|
||||
};
|
||||
_key = format["CHILD:306:%1:%2:%3:",_objectUID,[],0]; //Wont work just now.
|
||||
} else {
|
||||
_key = format["CHILD:303:%1:%2:",_objectID,_ownerArray];
|
||||
if (Z_SingleCurrency) then {
|
||||
_coins = _object getVariable [Z_MoneyVariable, -1];
|
||||
_key = format["CHILD:303:%1:%2:%3:",_objectID,_ownerArray,_coins];
|
||||
} else {
|
||||
_key = format["CHILD:303:%1:%2:",_objectID,_ownerArray];
|
||||
};
|
||||
_key = format["CHILD:306:%1:%2:%3:",_objectID,[],0];
|
||||
};
|
||||
|
||||
// #ifdef OBJECT_DEBUG
|
||||
diag_log ("HIVE: WRITE: Maintenance, "+ str(_key));
|
||||
// #endif
|
||||
@@ -214,9 +235,19 @@ _object_variables = {
|
||||
_variables set [count _variables, ["BuildLock", _lockedArray]];
|
||||
|
||||
if (_objectID == "0") then {
|
||||
_key = format["CHILD:309:%1:%2:",_objectUID,_variables];
|
||||
if (Z_SingleCurrency) then {
|
||||
_coins = _object getVariable [Z_MoneyVariable, -1];
|
||||
_key = format["CHILD:309:%1:%2:%3:",_objectUID,_variables,_coins];
|
||||
} else {
|
||||
_key = format["CHILD:309:%1:%2:",_objectUID,_variables];
|
||||
};
|
||||
} else {
|
||||
_key = format["CHILD:303:%1:%2:",_objectID,_variables];
|
||||
if (Z_SingleCurrency) then {
|
||||
_coins = _object getVariable [Z_MoneyVariable, -1];
|
||||
_key = format["CHILD:303:%1:%2:%3:",_objectID,_variables,_coins];
|
||||
} else {
|
||||
_key = format["CHILD:303:%1:%2:",_objectID,_variables];
|
||||
};
|
||||
};
|
||||
_key call server_hiveWrite;
|
||||
};
|
||||
|
||||
@@ -67,7 +67,8 @@ if (_status == "ObjectStreamStart") then {
|
||||
_hitPoints = if ((typeName (_x select 6)) == "ARRAY") then { _x select 6 } else { [] };
|
||||
_fuel = if ((typeName (_x select 7)) == "SCALAR") then { _x select 7 } else { 0 };
|
||||
_damage = if ((typeName (_x select 8)) == "SCALAR") then { _x select 8 } else { 0.9 };
|
||||
|
||||
_storageMoney = if ((typeName (_x select 9)) == "SCALAR") then { _x select 9 } else { 0 };
|
||||
|
||||
//set object to be in maintenance mode
|
||||
_maintenanceMode = false;
|
||||
_maintenanceModeVars = [];
|
||||
@@ -168,13 +169,16 @@ if (_status == "ObjectStreamStart") then {
|
||||
};
|
||||
|
||||
//Create it
|
||||
_object = createVehicle [_type, _pos, [], 0, if (_type in DayZ_nonCollide) then {"NONE"} else {"CAN_COLLIDE"}];
|
||||
|
||||
_object = createVehicle [_type, [0,0,0], [], 0, if (_type in DayZ_nonCollide) then {"NONE"} else {"CAN_COLLIDE"}];
|
||||
_object setPosATL _pos;
|
||||
|
||||
// prevent immediate hive write when vehicle parts are set up
|
||||
_object setVariable ["lastUpdate",diag_ticktime];
|
||||
_object setVariable ["ObjectID", _idKey, true];
|
||||
_object setVariable ["OwnerPUID", _ownerPUID, true];
|
||||
|
||||
if ((typeOf (_object)) in DZE_MoneyStorageClasses) then {
|
||||
_object setVariable [Z_MoneyVariable, _storageMoney, true];
|
||||
};
|
||||
if (DZE_permanentPlot && (typeOf _object == "Plastic_Pole_EP1_DZ")) then {
|
||||
_object setVariable ["plotfriends", _inventory, true];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user