Jump to content

BigEgg

Member
  • Posts

    362
  • Joined

  • Last visited

  • Days Won

    28

Posts posted by BigEgg

  1. 5 minutes ago, theduke said:

    hmm this didnt work for me.

    Double checked the instructions and vehicles still take damage. One thing i did notice when i was testing zupas original script, the vehicles never took damage UNTIL i got in the driver seat.

    Same thing happens here. as soon as i get in the driver seat and lock the vehicle, its able to take damage.

    If you are using safezones, be sure to adjust the path there too. Chances are you have the path set back to default for veh_handleDam.sqf - if you don't adjust it, your client will take that variable and won't call the one in your mission.

  2. 32 minutes ago, Jim90 said:

    Currently the maximum build height checks where the player is standing, so players are able to build items 10 meters above the set height.   Would it be possible to have it check the height where the item is being built instead of the player position? 

    You will need to copy modular_build.sqf over to your mission folder and change the path in your compiles.

     

    In modular_build.sqf find:

    if(abs(_objHDiff) > DZE_buildMaxHeightDistance) exitWith {
    	_isOk = false;
    	_cancel = true;
    	_reason = format[localize "STR_EPOCH_BUILD_FAIL_HEIGHT",DZE_buildMaxHeightDistance];
    	detach _object;
    	deleteVehicle _object;
    	if (_VectorWorkAround) then {
    		detach _object2;
    		deleteVehicle _object2;
    	};
    	detach _objectHelper;
    	deleteVehicle _objectHelper;
    };

    Under it add:

    if (LimitBuildHeight && (((abs(_objHDiff)) + ((getPosATL (vehicle player)) select 2)) > MaxBuildHeight)) exitWith {
    	_isOk = false;
    	_cancel = true;
    	_reason = format["Building is restricted above %1 meters.", MaxBuildHeight];
    	detach _object;
    	deleteVehicle _object;
    	if (_VectorWorkAround) then {
    		detach _object2;
    		deleteVehicle _object2;
    	};
    	detach _objectHelper;
    	deleteVehicle _objectHelper;
    };

     

    That should work (haven't tested - will update the post when I have).

  3. 10 minutes ago, Jim90 said:

    Currently the maximum build height checks where the player is standing, so players are able to build items 10 meters above the set height.   Would it be possible to have it check the height where the item is being built instead of the player position? 

    I have a fix in mind for this - I will post an update for it which should work (not home atm). Check back later.

  4. 3 hours ago, Hooty said:

    I had this already.

      Hide contents
    
    
    if (LimitBuildHeight && (((getPosATL (vehicle player)) select 2) > MaxBuildHeight)) then {
    	_cancel = true;
    	_reason = format["Building is restricted above %1 meters.", MaxBuildHeight];
    };

     @oldmatechoc was helping me with it as well last night.  

     

    If you already have that in your dze_buildChecks.sqf, add this at the bottom:

    if (_cancel) exitWith {
    	dayz_actionInProgress = false;
    	_reason call dayz_rollingMessages;
    	[false, _isPole];
    };

    Above:

    //When calling this function in another script use a silent exitWith, unless you have something special to say. i.e. if (!(_canBuild select 0)) exitWith{};
    [_canBuild, _isPole];

     

  5. 9 minutes ago, Hooty said:

    Nice I was close. I had

    MaxBuildHeight = 30   in my config

    but not

    
    if (LimitBuildHeight) then {
    	MaxBuildHeight = 30; // Maximum build height in meters
    };

     

    But all i was trying to do was add the height. 

    This does nothing but check to see if you want to block the height - you will still need to add the code above, or else those two variables have no effect at all.

  6. Restrict Building is part of Epoch 1.0.7.1 now.

     

    While there may be some extra features built in to 1.0.6.1 that restrict building, I needed more options.

     

    What this does:

    1. Allows server owners to restrict entire zones of the map (for example - no building within 1,000 meters of Balota).
    2. Allows server owners to restrict building near certain buildings, and allows them to define the distance and name of each building they are restricting.

     

    Step 1:

    In your init.sqf find:

    // EPOCH CONFIG VARIABLES END //

    Directly under it, add:

    // Restrict building near specific buildings
    BlacklistedBuildings = [
    //  ["What text will say", "Class name of building you want to block", Distance around that building to block (radius in meters)]
    	["Fire Station", "Land_a_stationhouse", 250]
    ];
    
    // Restrict building near map areas
    RestrictedBuildingZones = [
    //  ["What text will say", [Choords of place to block], Distance around that area to block (radius in meters)]
        ["Balota Airfield", [5158.72, 2518.75, 0], 600]
    ];

     

    Step 2:

    In your custom compiles.sqf add (NOTE: CHANGE THE FILE PATH TO FIT YOUR NEEDS):

    dze_buildChecks = compile preprocessFileLineNumbers "FILE\PATH\HERE\dze_buildChecks.sqf";

    into the if (!isDedicated) code block. Example:

    if (!isDedicated) then {
    	dze_buildChecks = compile preprocessFileLineNumbers "FILE\PATH\HERE\dze_buildChecks.sqf";
    };

     

    Step 3:

    Create an SQF file, in the path you have designated above, and name it dze_buildChecks.sqf.

     

    Step 4:

    Paste the following code into dze_buildChecks.sqf and save the file.

    Spoiler
    
    //Checks if item is near a plot, if the player is plot owner or friendly, if there are too many items, and if the player has required tools
    private ["_isAdmin","_requireplot","_distance","_canBuild","_friendlies","_cancel","_nearestPole","_ownerID","_pos","_item","_classname","_isPole","_isLandFireDZ","_IsNearPlot","_buildables","_center","_toolCheck","_plotcheck","_buildcheck","_isfriendly","_isowner","_require","_text","_near","_hasPole"];
    
    _pos = _this select 0;
    _item =	_this select 1;
    _toolCheck = _this select 2;
    _classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
    _requireplot = DZE_requireplot;
    _isAdmin = dayz_playerUID in DZE_PlotManagementAdmins;
    // "Unable to build trader nearby."
    if (!canbuild) exitWith {dayz_actionInProgress = false; format[localize "STR_EPOCH_PLAYER_136",localize "STR_EPOCH_TRADER"] call dayz_rollingMessages; [false, false];};
    
    if (isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then {
    	_requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot");
    };
    
    _checkClass = {
    	private ["_checkOK","_distance"];
    
    	_checkOK = false;
    	_distance = DZE_SafeZoneNoBuildDistance;
    
    	{
    		if (typeName _x == "ARRAY") then {
    			if (_x select 0 == _classname) then {_checkOK = true; _distance = _x select 1;};
    		} else {
    			if (_x == _className) then {_checkOK = true};
    		};
    		if (_checkOK) exitWith {};
    	} count DZE_SafeZoneNoBuildItems;
    
    	[_checkOK,_distance]
    };
    
    _isPole = (_classname == "Plastic_Pole_EP1_DZ");
    _isLandFireDZ = (_classname == "Land_Fire_DZ");
    
    _canBuild = false;
    _hasPole = false;
    _nearestPole = objNull;
    _ownerID = 0;
    _friendlies = [];
    
    _cancel = [false, ""];
    
    if (_isPole) then {
    	_plotcheck = [player, true] call FNC_find_plots;
    	_distance = DZE_PlotPole select 1;
    	if (DZE_limitPlots && !_isAdmin) then {
    		{
    			if (_x getVariable["ownerPUID","0"] == dayz_playerUID || (_x getVariable["CharacterID","0"] == dayz_characterID)) exitWith {
    				_hasPole = true;
    			};
    		} count (entities "Plastic_Pole_EP1_DZ");
    	};
    } else {
    	_plotcheck = [player, false] call FNC_find_plots;
    	_distance = DZE_PlotPole select 0;
    };
    
    _IsNearPlot = _plotcheck select 1;
    _nearestPole = _plotcheck select 2;
    
    if (_isPole && {_IsNearPlot > 0}) exitWith {dayz_actionInProgress = false; format[localize "str_epoch_player_44",_distance] call dayz_rollingMessages; [_canBuild, _isPole];};
    
    if (_hasPole) exitWith {dayz_actionInProgress = false; localize "STR_EPOCH_PLAYER_133" call dayz_rollingMessages; [_canBuild, _isPole];};
    
    if (_IsNearPlot == 0) then {
    	if (_requireplot == 0 || {_isLandFireDZ}) then {
    		_canBuild = true;
    	};
    } else {
    	_ownerID = _nearestPole getVariable["CharacterID","0"];
    	if (dayz_characterID == _ownerID) then {
    		_canBuild = true;
    	} else {
    		if (DZE_permanentPlot) then {
    			_buildcheck = [player, _nearestPole] call FNC_check_access;
    			_isowner = _buildcheck select 0;
    			_isfriendly = ((_buildcheck select 1) or (_buildcheck select 3));
    			if (_isowner || _isfriendly) then {
    				_canBuild = true;
    			};
    		} else {
    			_friendlies	= player getVariable ["friendlyTo",[]];
    			if (_ownerID in _friendlies) then {
    				_canBuild = true;
    			};
    		};
    	};
    };
    
    if (!_canBuild) exitWith {
    	dayz_actionInProgress = false;
    	if (_isNearPlot == 0) then {
    		format[localize "STR_EPOCH_PLAYER_135",localize "str_epoch_player_246",_distance] call dayz_rollingMessages;
    	} else {
    		localize "STR_EPOCH_PLAYER_134" call dayz_rollingMessages;
    	};
    	[_canBuild, _isPole];
    };
    
    if (DZE_BuildHeightLimit > 0 && {([player] call fnc_getPos) select 2 > DZE_BuildHeightLimit}) exitWith {dayz_actionInProgress = false; format[localize "STR_EPOCH_PLAYER_168",DZE_BuildHeightLimit] call dayz_rollingMessages; [false, _isPole];};
    
    // Modification by BigEgg - Check to see if the player is building within a blacklisted zone
    {
    	private ["_dis", "_chk"];
    	
    	_dis = _x select 2;
    	_chk = (player distance (_x select 1));
    	
    	if (_chk <= _dis) exitWith {_cancel = [true, format["You cannot build within %1m of %2.<br></br>Current distance: %3 meters.", _dis, (_x select 0), _chk]];};
    } count RestrictedBuildingZones;
    
    // Modification by BigEgg - Check to see if the player is building near a blacklisted building
    if (!(_cancel select 0)) then {
    	{
    		private ["_dis", "_pos", "_chk"];
    		
    		_dis = _x select 2;
    		_pos = [player] call fnc_getPos;
    		_chk = count(nearestObjects[_pos, [(_x select 1)], _dis]);
    		
    		if (_chk > 0) exitWith {_cancel = [true, format["You cannot build within %1m of a %2.", _dis, (_x select 0)]];};
    	} count BlacklistedBuildings;
    };
    
    if (_cancel select 0) exitWith {
    	dayz_actionInProgress = false;
    	(_cancel select 1) call dayz_rollingMessages;
    	[false, _isPole];
    };
    
    // Also count safes, lockboxes, vanilla buildables, tents and stashes against DZE_BuildingLimit
    _buildables = DZE_maintainClasses + DZE_LockableStorage + ["DZ_buildables","DZ_storage_base"];
    _center = if (isNull _nearestPole) then {_pos} else {_nearestPole};
    if ((count (nearestObjects [_center,_buildables,_distance])) >= DZE_BuildingLimit) exitWith {dayz_actionInProgress = false; format[localize "str_epoch_player_41",_distance] call dayz_rollingMessages; [false, _isPole];};
    
    _text = getText (configFile >> 'CfgMagazines' >> _item >> 'displayName');
    
    _buildCheck = call _checkClass;
    
    if (_buildCheck select 0 && !_isAdmin) then {
    	_canBuild = !([player,_buildCheck select 1] call DZE_SafeZonePosCheck);
    };
    
    if !(_canBuild) exitWith {dayz_actionInProgress = false; format [localize "STR_EPOCH_PLAYER_166",_text,_buildCheck select 1] call dayz_rollingMessages; [false, _isPole];};
    
    if (count DZE_NoBuildNear > 0 && !_isAdmin) then {
    	_near = (nearestObjects [_pos,DZE_NoBuildNear,DZE_NoBuildNearDistance]);
    	if ((count _near) > 0) then { _canBuild = false; };
    };
    
    if !(_canBuild) exitWith {dayz_actionInProgress = false; format [localize "STR_EPOCH_PLAYER_167",_text,DZE_NoBuildNearDistance,typeOf (_near select 0)] call dayz_rollingMessages; [false, _isPole];};
    
    if (_toolCheck) then {
    	_require =  getArray (configFile >> "cfgMagazines" >> _item >> "ItemActions" >> "Build" >> "require");
    	_classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
    	_canBuild = [_item, _require, _classname] call dze_requiredItemsCheck;
    };
    
    //When calling this function in another script use a silent exitWith, unless you have something special to say. i.e. if (!(_canBuild select 0)) exitWith{};
    [_canBuild, _isPole];
    

     

     

    Done!

     

    Be sure to configure the settings in your init.sqf to your liking.

  7. Vehicles indestructible within plot is part of Epoch 1.0.7.1 now.

     

    Looked around and saw that some people were requesting this, it is actually quite simple:

     

    What it does:

    Makes vehicles indestructible within the plot area (default 30 meters) , but only if they are locked and no players are in them.

     

    Step 1:

    In your custom compiles.sqf add: (NOTE - CHANGE THE FILE PATH TO FIT YOUR NEEDS)

    fnc_veh_handleDam = compile preprocessFileLineNumbers "FILE\PATH\HERE\veh_handleDam.sqf";

    below the if (!isDedicated) code block. Example:

    if (!isDedicated) then {
    	/*************/
    	/* Code Here */
    	/*************/
    };
    
    fnc_veh_handleDam = compile preprocessFileLineNumbers "FILE\PATH\HERE\veh_handleDam.sqf";

     

    Step 2:

    Copy veh_handleDam.sqf into your mission file from \z\addons\dayz_code\compile\veh_handleDam.sqf

     

    Step 3:

    In veh_handleDam.sqf find:

    _total = _this select 2;

    Below it add:

    if (locked _unit && {count (crew _unit) == 0} && {count (_unit nearEntities ["Plastic_Pole_EP1_DZ", DZE_PlotPole select 0]) > 0}) exitWith {0};

     

    Done!

     

    NOTE:

    You can change the distance it applies to by changing the DZE_PlotPole variable:

    DZE_PlotPole = [30,90];

    Or, you can set it independent of the variable by changing it to this:

    if (locked _unit && {count (crew _unit) == 0} && {count (_unit nearEntities ["Plastic_Pole_EP1_DZ", 40]) > 0}) exitWith {0};

    and modifying the number (in this case it is 40) to whatever you would like. Keep in mind that the number represents the radius from the plot pole in meters.

  8. 6 minutes ago, theduke said:

    LOL just LOL...and this person is a moderator...

    odd that you can still find many origins versions still in launcher...

    what was a discussion about the early removal of the 1051 version, turned into a flat out insult to server owners, even from a moderator...

    Yeah this is pretty pathetic - everyone is just fine with 1.0.5.1 - this is starting to turn into people being mad that people aren't updating because they don't feel it is necessary. Oh well - see the reaction of people tomorrow.

  9. 11 minutes ago, RC_Robio said:

    You guys act like just because it won't be on DayZ Launcher your server will disappear. You know there is an in-game browser in Arma. Or you could do like so many in either create a launcher or use a bat file to connect.  Back in the day everybody was bitchin about not getting an update sooner. Now that you got a great update you are still bitching. Alot of the work has been done for you already. The guys did a bunch of work in their free time to bring Epoch up to the latest dayz code and implement new features and bug fixes. And calling it 106 "trash", what a fucking moron.

    Completely missed the point here - nobody is dogging the update itself - they are (I am) irritated with the immediate removal of the mod from the one thing everyone uses to launch into my server as well as all other servers.

  10. 10 minutes ago, salival said:

    I had my 1.0.5.1 server converted in a few days to the "core mods" that I needed, it took me weeks to get everything back to 100% while mod authors/community authors updated things.

    I ran my server during this time and players understood that things were going to be a rolling update, they didn't care.

    Why does your server need to be 100% straight off the bat?

    Even if this question were somehow valid, are you suggesting I update even all the core mods in a single day? Even you had to take a 'few days' to update the core mods. I don't have days to sit down and just code like I use to. I am not asking something outrageous, just for more than a day's time to do a forced update. If that is too much to ask then idk what else to say than this is completely pointless to begin with.

  11. Honestly, if I throw a lot of time into this update, I can get it done in two weeks. I would just like to know if the devs would be willing to hold off the Launcher thing for those two weeks originally planned. Nobody is upset with the update in itself, just the instantaneous forced update. I have lots of more custom stuff that I need to carry over, not just the base addons. Again, I appreciate the work of the team, I am not angry with you guys at all, just the time crunch.

  12. 9 minutes ago, icomrade said:

    I don't doubt many server owners will oppose the change, which is why we asked for 2 weeks, it's not our motive to force the update in 1 day that was Maca. I think a majority of players really don't care what version they play, but rather what version their favorite server requires. If there's no reason for server owners to update, then of course neither will the majority of players!

    I think this really just comes down to gross misuse of an interim period which we offered 1.0.5.1 for download on DZLauncher, unfortunately it's crunch time and nobody is prepared, that's not the mod team's fault. 

    I would highly recommend requesting it be pushed to at least two weeks (that is still too little time for immediate update - but better than a day) or else tomorrow is going to be a complete shit storm. Just my opinion, I guess ill begin the update process now. Again, this is quite an unneeded change, but my opinion clearly falls on deaf ears as it seems everyone thinks forcing this update is a plus, even when the community is dying as is.

  13. 12 minutes ago, icomrade said:

    Server owners have had 1/4 of a year to update, with the luxury of having their 1.0.5.1 servers up and available for download on DZLauncher, it's not an abrupt change by any means. I also think having a split in both players and servers between 1.0.5.1 and 1.0.6.1 is even more detrimental than the handful of server owners who oppose change, for whatever reason they may have (I know updating your mission sucks, I've been there, but it's not the end of the world).

    I also hate to be the bearer of worse news, but Maca appears to have taken it one step further an will be removing old versions of epoch when he adds 1.0.6.1 support on DZ Launcher http://support.launcher.eu/topic/554/dayz-epoch-changes - this is not by our request, we asked for 2 weeks.

    Furthermore, this change is really not open to discussion, so you can either use your time in a similar manner to the last 3 months since 1.0.6 and bitch about the changes, or you can update your servers... If you don't like one of the changes included in epoch 1.0.6.1, voice your opinion in a constructive manner (when I say changes, I do not mean anything related to the removal of 1.0.5.1).

    There are more people on the top 10 Epoch 1.0.5.1 servers right now than there are on 1.0.6 combined..... This is not a question of a split, the numbers show that 1.0.5.1 is still the most played. Forcing this update on the server owners is going to only kill it more. Most players are rather comfortable with 1.0.5.1, if they weren't I am sure we would see a bigger push for 1.0.6. I have no problem with 1.0.6, but it is an unnecessary change. Nobody has an issue with change, I will eventually change over, but I haven't had the chance to do it yet. All those servers running 1.0.5.1 tomorrow will cease and people are going to want to know why. Nobody will be able to connect with launcher, so this is going to do one of two things:

    1. Kill Epoch till everyone gets it updated or just kill it all together
    2. Kill Launcher (more likely option as everyone will be forced to manually launch)

    I get that you want to move everyone to 1.0.6 and I will eventually be moving, but right now, as players see it, there is no major change from 1.0.5.1. This is very unwise in my opinion. I'm sure tomorrow, when server owners get on to find out that the Launcher has done this, they will share my opinion.

  14. 16 hours ago, icomrade said:

    Single currency was updated by @salival so that should save a lot of time. 1.0.5.1 was never meant to be up permanently, and while I hate to be this guy, it has been 3 months since 1.0.6 has been release, so I don't know what you expected. The fact that you're here and realize that you have to update means you're probably ahead of the majority of 1.0.5.1 server owners.

     

    We are always here to help if you need it, but I don't think that this should be a surprise to you.

    This is going to kill A2 even faster - I have yet to have the time to even begin creating a 1.0.6 server. Don't see why this is necessary to force everyone to hurry up and update from a mod that has been the same version for quite some time, especially seeing that everything has to be redone. How unfortunate.

  15. 6 hours ago, insertcoins said:

    just a question. Is there a difference preformance wise from calling them in the server monitor as show above compared to calling them from the init.sqf? In both ways the files would be in the server.pbo

    I feel like you would need to test this, but either way, the server_monitor is called from the client init.sqf anyway, so I don't know how much of a difference it would make if any.

  16. Replace the stuff you posted from your server_updateObject.sqf with this:

    Spoiler
    
    _object_inventory = {
        private ["_inventory","_key","_isNormal","_coins","_garagelist","_uid"];
        
        if (_object isKindOf "TrapItems") then {
            _inventory = [["armed",_object getVariable ["armed",false]]];
        } else {
            _isNormal = true;
            
            if (DZE_permanentPlot && (typeOf (_object) == "Plastic_Pole_EP1_DZ")) then {
                _isNormal = false;
                _inventory = _object getVariable ["plotfriends", []]; //We're replacing the inventory with UIDs for this item
            };
            
            if (DZE_doorManagement && (typeOf (_object) in DZE_DoorsLocked)) then {
                _isNormal = false;
                _inventory = _object getVariable ["doorfriends", []]; //We're replacing the inventory with UIDs for this item
            };
            
            if (_isNormal) then {
                _inventory = [getWeaponCargo _object, getMagazineCargo _object, getBackpackCargo _object];
            };
    	};
        
        _previous = str(_object getVariable["lastInventory",[]]);
        if (str _inventory != _previous) then {
    		// Garage Edit
    		if ((typeOf _object) in DZE_Garage) then {
    				if (isNil "_garagelist") then {
    					_garagelist = _object getVariable ["StoredVehicles",[]];
    				};
    				if (_objectID == "0") then {
    					_key = format["CHILD:309:%1:%2:",_objectUID,_garagelist];
    				} else {
    					_key = format["CHILD:303:%1:%2:",_objectID,_garagelist];
    				};
    				_key call server_hiveWrite;
    		// Normal Stuff
    		} else {
    			_object setVariable["lastInventory",_inventory];
    			if (_objectID == "0") then {
    				_key = format["CHILD:309:%1:",_objectUID] + str _inventory + ":";
    			} else {
    				_key = format["CHILD:303:%1:",_objectID] + 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 = _key + str _coins + ":";
    			};
    			
    			#ifdef OBJECT_DEBUG
    				diag_log ("HIVE: WRITE: "+ str(_key));
    			#endif
    			
    			_key call server_hiveWrite;
    		};
        };
    };
    
    _object_damage = {
        //Allow dmg process
        private ["_hitpoints","_array","_hit","_selection","_key","_damage","_allFixed"];
        
        _hitpoints = _object call vehicle_getHitpoints;
        _damage = damage _object;
        _array = [];
        _allFixed = true;
        
        {
            _hit = [_object,_x] call object_getHit;
            _selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
            if (_hit > 0) then {
                _allFixed = false;
                _array set [count _array,[_selection,_hit]];
                //diag_log format ["Section Part: %1, Dmg: %2",_selection,_hit]; 
            } else {
                _array set [count _array,[_selection,0]]; 
            };
        } forEach _hitpoints;
    	
        if (_allFixed && !_totalDmg) then {_object setDamage 0;};
        
        if (_forced) then {        
            if (_object in needUpdate_objects) then {needUpdate_objects = needUpdate_objects - [_object];};
            _recorddmg = true;           
        } else {
            //Prevent damage events for the first 10 seconds of the servers live.
            if (diag_ticktime - _lastUpdate > 10) then {
                if !(_object in needUpdate_objects) then {
                    //diag_log format["DEBUG: Monitoring: %1",_object];
                    needUpdate_objects set [count needUpdate_objects, _object];
                    _recorddmg = true;
                };
            };
    	};
    
        
        if (_recorddmg) then {
    		// Garage Edit
    		if ((typeOf _object) in DZE_Garage) then {
                _damage = damage _object;
                _array = _object getVariable ["GarageFriends",[]];
                _key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
                _key call server_hiveWrite;
    		// Normal Stuff
    		} else {
    			if (_objectID == "0") then {
    				_key = format["CHILD:306:%1:",_objectUID] + str _array + ":" + str _damage + ":";
    			} else {
    				_key = format["CHILD:306:%1:",_objectID] + str _array + ":" + str _damage + ":";
    			};
    			diag_log ("HIVE: WRITE: "+ str(_key));
    			_key call server_hiveWrite;
    		};
        };
    };

     

     

     

×
×
  • Create New...