Jump to content
Zupa

[Release] 2.1 Plot Management - UPDATED Object Counter

Recommended Posts

Has anyone tried this? 

The amount objects is different everytime I place the plotpole.

 

 

Here you go, use mine:

 

 

private ["_target","_objectClasses","_range","_objects","_count","_colour"];

disableSerialization;
 
_target = cursorTarget;
_objectClasses = DZE_maintainClasses;
_range = DZE_PlotPole select 0;
 
_objects = nearestObjects [_target, _objectClasses, _range];
_count = count _objects;
 
_colour = "#ffffff";
 
if(_count / DZE_BuildingLimit * 100 < 40)then{
_colour = "#00ff00"; 
};
if(_count / DZE_BuildingLimit * 100 > 75)then{
_colour = "#ff0000"; 
};
 
_ctrl = ((uiNamespace getVariable "PlotManagement") displayCtrl 7014);
_result =  format["<t color='%3'>%1 / %2</t>" , _count, DZE_BuildingLimit,_colour];
_ctrl ctrlSetStructuredText parseText _result;

Share this post


Link to post
Share on other sites

I am having a issue where the friends of plot poles are not able to build. its saying they need a plot pole within range. I have checked the inventory of the plot pole in the database and the friends UID and names are being added yet for some reason its not letting them build. 

 

any fix for this?

Share this post


Link to post
Share on other sites

From my RPT:

 

ErrorMessage: File mpmissions\DayZ_Epoch_11.Chernarus\EpochMods\Cfg\defines.hpp, line 45: .RscButton: Member already defined.

 

I haven't messed with it and I'm using the one that came with the download yesterday.

Share this post


Link to post
Share on other sites

@Bilco just go to your defines.hpp and delete the RscButton class

What nameless said. I had it defined by my admin menu if i'm not mistaken.

So i went into the admin menu hpp file and renamed it to RscButton2 so they wouldn't clash.

Good luck, PM me if you're stuck.

 

Also, i'm looking to remove the old plot pole scroll options that you get under "manage plot", any ideas where i can get them removed?

Share this post


Link to post
Share on other sites

they are in self actions there is a discussion in the previous posts about how to remove them. 

 

 

I am having a issue with the plot friends even after being added not able to build. Their names and IDs are going into the database but its still not letting them build. I have double and tripple checked the player_build.sqf and I cant find a error inside it so i was wondering if there is another spot that can be causing this issue?

Share this post


Link to post
Share on other sites

Here is my player_build.sqf

 

/*
	DayZ Base Building
	Made for DayZ Epoch please ask permission to use/edit/distrubute email [email protected]
*/
private ["_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_need","_needNear","_vehicle","_inVehicle","_requireplot","_objHDiff","_isLandFireDZ","_isTankTrap","_playerID", "_playerUID","_ownerID","_buildcheck","_isowner","_isfriendly","_maxBuildDistance","_vector","_buildOffset","_vUp"];

if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; };
DZE_ActionInProgress = true;

// disallow building if too many objects are found within 30m
if((count (([player] call FNC_GetPos) nearObjects ["All",30])) >= DZE_BuildingLimit) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_41"), "PLAIN DOWN"];};

_onLadder =		(getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_isWater = 		dayz_isSwimming;
_cancel = false;
_reason = "";
_canBuildOnPlot = false;

_vehicle = vehicle player;
_inVehicle = (_vehicle != player);

_playerUID = [player] call FNC_GetPlayerUID;

if (DZE_APlotforLife) then {
	_playerID = [player] call FNC_GetPlayerUID;
}else{
	_playerID = dayz_characterID;
};

DZE_Q = false;
DZE_Z = false;

DZE_Q_alt = false;
DZE_Z_alt = false;

DZE_Q_ctrl = false;
DZE_Z_ctrl = false;

DZE_5 = false;
DZE_4 = false;
DZE_6 = false;

DZE_cancelBuilding = false;

DZE_updateVec = false;
DZE_memDir = 0;
DZE_memForBack = 0;
DZE_memLeftRight = 0;

call gear_ui_init;
closeDialog 1;

if (_isWater) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_26", "PLAIN DOWN"];};
if (_inVehicle) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_42"), "PLAIN DOWN"];};
if (_onLadder) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_21", "PLAIN DOWN"];};
if (player getVariable["combattimeout", 0] >= time) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_43"), "PLAIN DOWN"];};

_item =	_this;

// Need Near Requirements
_abort = false;
_reason = "";

_needNear = 	getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "neednearby");

{
	switch(_x) do{
		case "fire":
		{
			_distance = 3;
			_isNear = {inflamed _x} count (([player] call FNC_GetPos) nearObjects _distance);
			if(_isNear == 0) then {
				_abort = true;
				_reason = "fire";
			};
		};
		case "workshop":
		{
			_distance = 3;
			_isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], _distance]);
			if(_isNear == 0) then {
				_abort = true;
				_reason = "workshop";
			};
		};
		case "fueltank":
		{
			_distance = 30;
			_isNear = count (nearestObjects [player, dayz_fuelsources, _distance]);
			if(_isNear == 0) then {
				_abort = true;
				_reason = "fuel tank";
			};
		};
	};
} forEach _needNear;


if(_abort) exitWith {
	cutText [format[(localize "str_epoch_player_135"),_reason,_distance], "PLAIN DOWN"];
	DZE_ActionInProgress = false;
};

_classname = 	getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create");
_classnametmp = _classname;
_require =  getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require");
_text = 		getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");

_lockable = 0;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then {
	_lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable");
};

_requireplot = DZE_requireplot;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then {
	_requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot");
};

if (_requireplot == 0) then{_requireplot = false}else{_requireplot = true};

_isAllowedUnderGround = 1;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "nounderground")) then {
	_isAllowedUnderGround = getNumber(configFile >> "CfgVehicles" >> _classname >> "nounderground");
};

_offset = 	getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
if((count _offset) <= 0) then {
	_offset = [0,1.5,0];
};

_isPole = (_classname == "Plastic_Pole_EP1_DZ");
_isLandFireDZ = (_classname == "Land_Fire_DZ");

_distance = DZE_PlotPole select 0;
_needText = localize "str_epoch_player_246";

if(_isPole) then {
	_distance = DZE_PlotPole select 1;
};

// check for near plot
_findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance];
_findNearestPole = [];

{
	if (alive _x) then {
		_findNearestPole set [(count _findNearestPole),_x];
	};
} count _findNearestPoles;

_IsNearPlot = count (_findNearestPole);

// If item is plot pole && another one exists within 45m
if(_isPole && _IsNearPlot > 0) exitWith {  DZE_ActionInProgress = false; cutText [(format [localize "str_epoch_player_44", DZE_PlotPole select 1]) , "PLAIN DOWN"]; };

if(_IsNearPlot == 0) then {

	// Allow building of plot
	if(_requireplot == 0 || _isLandFireDZ) then {
		_canBuildOnPlot = true;
	};

} else {
	// Since there are plots nearby we check for ownership && then for friend status

	// check nearby plots ownership && then for friend status
	_nearestPole = _findNearestPole select 0;

	// Find owner
	_ownerID = _nearestPole getVariable ["ownerPUID","0"];

	// check if friendly to owner
	if(_playerID == _ownerID) then {  //Keep ownership
		// owner can build anything within his plot except other plots
		if(!_isPole) then {
			_canBuildOnPlot = true;
		};

	} else {
		// disallow building plot
		if(!_isPole) then {
				_friendlies = _nearestPole getVariable ["plotfriends",[]];
				_fuid  = [];
				{
				_friendUID = _x select 0;
				_fuid  =  _fuid  + [_friendUID];
				} forEach _friendlies;
				_builder  = getPlayerUID player;
		// check if friendly to owner
		if(_builder in _fuid) then {
				_canBuildOnPlot = true;
			};	
		};
	};
};

// _message
if(!_canBuildOnPlot) exitWith {  DZE_ActionInProgress = false; cutText [format[(localize "STR_EPOCH_PLAYER_135"),_needText,_distance] , "PLAIN DOWN"]; };

_missing = "";
_hasrequireditem = true;
{
	_hastoolweapon = _x in weapons player;
	if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); };
} count _require;

_hasbuilditem = _this in magazines player;
if (!_hasbuilditem) exitWith {DZE_ActionInProgress = false; cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]; };

if (!_hasrequireditem) exitWith {DZE_ActionInProgress = false; cutText [format[(localize "str_epoch_player_137"),_missing] , "PLAIN DOWN"]; };
if (_hasrequireditem) then {

	_location = [0,0,0];
	_isOk = true;

	// get initial players position & set max build range origin.
	if ((DZE_BuildInPlotRadius) && (_requireplot)) then{
		_location1 = [_nearestPole] call FNC_GetPos;
		_maxBuildDistance = _Distance / 2;
		diag_log text "Pole initial location.";
	}else{
		_location1 = [player] call FNC_GetPos;
		_maxBuildDistance = 5;
		diag_log text "Player initial location.";
	};
	
	diag_log format["[Player_Build] _location1 = %1, _maxBuildDistance = %2, DZE_BuildInPlotRadius = %3, _requireplot = %4",_location1, _maxBuildDistance, DZE_BuildInPlotRadius, _requireplot];
	
	_dir = getDir player;

	// if ghost preview available use that instead
	if (_ghost != "") then {
		_classname = _ghost;
	};

	_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];

	_object attachTo [player,_offset];

	_position = [_object] call FNC_GetPos;

	cutText [(localize "str_epoch_player_45"), "PLAIN DOWN"];

	_objHDiff = 0;

	if !(_item in DZE_noRotate) then{
		["","","",["Init","Init",0]] spawn build_vectors;
	};
	
	while {_isOk} do {

		_zheightchanged = false;
		_zheightdirection = "";
		_rotate = false;

		if (DZE_Q) then {
			DZE_Q = false;
			_zheightdirection = "up";
			_zheightchanged = true;
		};
		if (DZE_Z) then {
			DZE_Z = false;
			_zheightdirection = "down";
			_zheightchanged = true;
		};
		if (DZE_Q_alt) then {
			DZE_Q_alt = false;
			_zheightdirection = "up_alt";
			_zheightchanged = true;
		};
		if (DZE_Z_alt) then {
			DZE_Z_alt = false;
			_zheightdirection = "down_alt";
			_zheightchanged = true;
		};
		if (DZE_Q_ctrl) then {
			DZE_Q_ctrl = false;
			_zheightdirection = "up_ctrl";
			_zheightchanged = true;
		};
		if (DZE_Z_ctrl) then {
			DZE_Z_ctrl = false;
			_zheightdirection = "down_ctrl";
			_zheightchanged = true;
		};
		if (DZE_4) then {
			_rotate = true;
			DZE_4 = false;
			if(DZE_dirWithDegrees) then{
				DZE_memDir = DZE_memDir - DZE_curDegree;
			}else{
				DZE_memDir = DZE_memDir - 45;
			};
		};
		if (DZE_6) then {
			_rotate = true;
			DZE_6 = false;
			if(DZE_dirWithDegrees) then{
				DZE_memDir = DZE_memDir + DZE_curDegree;
			}else{
				DZE_memDir = DZE_memDir + 45;
			};
		};
		
		if(DZE_updateVec) then{
			[_object,[DZE_memForBack,DZE_memLeftRight,DZE_memDir]] call fnc_SetPitchBankYaw;
			DZE_updateVec = false;
		};

		if(_rotate) then {
			[_object,[DZE_memForBack,DZE_memLeftRight,DZE_memDir]] call fnc_SetPitchBankYaw;
		};

		if(_zheightchanged) then {
			detach _object;

			_position = getPosATL _object;

			if(_zheightdirection == "up") then {
				_position set [2,((_position select 2)+0.1)];
				_objHDiff = _objHDiff + 0.1;
			};
			if(_zheightdirection == "down") then {
				_position set [2,((_position select 2)-0.1)];
				_objHDiff = _objHDiff - 0.1;
			};

			if(_zheightdirection == "up_alt") then {
				_position set [2,((_position select 2)+1)];
				_objHDiff = _objHDiff + 1;
			};
			if(_zheightdirection == "down_alt") then {
				_position set [2,((_position select 2)-1)];
				_objHDiff = _objHDiff - 1;
			};

			if(_zheightdirection == "up_ctrl") then {
				_position set [2,((_position select 2)+0.01)];
				_objHDiff = _objHDiff + 0.01;
			};
			if(_zheightdirection == "down_ctrl") then {
				_position set [2,((_position select 2)-0.01)];
				_objHDiff = _objHDiff - 0.01;
			};

			_object setDir (getDir _object);

			if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then {
				_position set [2,0];
			};

			_object setPosATL _position;

			//diag_log format["DEBUG Change BUILDING POS: %1", _position];

			_object attachTo [player];
			
			[_object,[DZE_memForBack,DZE_memLeftRight,DZE_memDir]] call fnc_SetPitchBankYaw;

		};

		sleep 0.5;

		_location2 = getPosATL player;

		if(DZE_5) exitWith {
			_isOk = false;
			detach _object;
			_dir = getDir _object;
			_vector = [(vectorDir _object),(vectorUp _object)];	
			_position = getPosATL _object;
			//diag_log format["DEBUG BUILDING POS: %1", _position];
			deleteVehicle _object;
		};

		if(_location1 distance _location2 > 5) exitWith {
			_isOk = false;
			_cancel = true;
			_reason = "You've moved to far away from where you started building (within 5 meters)";
			detach _object;
			deleteVehicle _object;
		};

		if(abs(_objHDiff) > 5) exitWith {
			_isOk = false;
			_cancel = true;
			_reason = "Cannot move up or down more than 5 meters";
			detach _object;
			deleteVehicle _object;
		};

		if (player getVariable["combattimeout", 0] >= time) exitWith {
			_isOk = false;
			_cancel = true;
			_reason = (localize "str_epoch_player_43");
			detach _object;
			deleteVehicle _object;
		};

		if (DZE_cancelBuilding) exitWith {
			_isOk = false;
			_cancel = true;
			_reason = "Cancelled building.";
			detach _object;
			deleteVehicle _object;
		};
	};

	//No building on roads unless toggled
	if (!DZE_BuildOnRoads) then {
		if (isOnRoad _position) then { _cancel = true; _reason = "Cannot build on a road."; };
	};

	// No building in trader zones
	if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; };
	
	if ((DZE_BuildOnGround) && !(_requireplot)) then{
		_toohigh = false;
		if (_ispole) then{
			if ((_position select 2) > DZE_MaxPlotHeight) then{_toohigh = true};
		}else{
			if ((_position select 2) > DZE_MaxNoPlotNeededHeight) then{_toohigh = true};
		};
		if (_toohigh) exitWith {
			_isOk = false;
			_cancel = true;
			_reason = "This item must be built at ground level.";
			detach _object;
			deleteVehicle _object;
		};
	};

	if(!_cancel) then {

		_classname = _classnametmp;

		// Start Build
		_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];

		_tmpbuilt setdir _dir;

		// Get position based on object
		_location = _position;

		if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then {
			_location set [2,0];
		};

		_tmpbuilt setVectorDirAndUp _vector;
	
		_buildOffset = [0,0,0];
		_vUp = _vector select 1;
		switch (_classname) do {
			case "MetalFloor_DZ": { _buildOffset = [(_vUp select 0) * .148, (_vUp select 1) * .148,0]; };
		};
		
		_location = [
			(_location select 0) - (_buildOffset select 0),
			(_location select 1) - (_buildOffset select 1),
			(_location select 2) - (_buildOffset select 2)
		];
		
		if (surfaceIsWater _location) then {
			_tmpbuilt setPosASL _location;
			_location = ASLtoATL _location; //Database uses ATL
		} else {
			_tmpbuilt setPosATL _location;
		};

		cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"];

		_limit = 3;

		if (DZE_StaticConstructionCount > 0) then {
			_limit = DZE_StaticConstructionCount;
		}
		else {
			if (isNumber (configFile >> "CfgVehicles" >> _classname >> "constructioncount")) then {
				_limit = getNumber(configFile >> "CfgVehicles" >> _classname >> "constructioncount");
			};
		};

		_isOk = true;
		_proceed = false;
		_counter = 0;

		while {_isOk} do {

			[10,10] call dayz_HungerThirst;
			player playActionNow "Medic";

			_dis=20;
			_sfx = "repair";
			[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
			[player,_dis,true,([player] call FNC_GetPos)] spawn player_alertZombies;

			r_interrupt = false;
			r_doLoop = true;
			_started = false;
			_finished = false;

			while {r_doLoop} do {
				_animState = animationState player;
				_isMedic = ["medic",_animState] call fnc_inString;
				if (_isMedic) then {
					_started = true;
				};
				if (_started && !_isMedic) then {
					r_doLoop = false;
					_finished = true;
				};
				if (r_interrupt || (player getVariable["combattimeout", 0] >= time)) then {
					r_doLoop = false;
				};
				if (DZE_cancelBuilding) exitWith {
					r_doLoop = false;
				};
				sleep 0.1;
			};
			r_doLoop = false;


			if(!_finished) exitWith {
				_isOk = false;
				_proceed = false;
			};

			if(_finished) then {
				_counter = _counter + 1;
			};

			cutText [format[(localize "str_epoch_player_139"),_text, _counter,_limit], "PLAIN DOWN"];

			if(_counter == _limit) exitWith {
				_isOk = false;
				_proceed = true;
			};

		};

		if (_proceed) then {

			_num_removed = ([player,_item] call BIS_fnc_invRemove);
			if(_num_removed == 1) then {

				cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];

				if (_isPole) then {
					[] spawn player_plotPreview;
				};

				_tmpbuilt setVariable ["OEMPos",_location,true];

				if(_lockable > 1) then {

					_combinationDisplay = "";

					switch (_lockable) do {

						case 2: { // 2 lockbox
							_combination_1 = (floor(random 3)) + 100; // 100=red,101=green,102=blue
							_combination_2 = floor(random 10);
							_combination_3 = floor(random 10);
							_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
							dayz_combination = _combination;
							if (_combination_1 == 100) then {
								_combination_1_Display = "Red";
							};
							if (_combination_1 == 101) then {
								_combination_1_Display = "Green";
							};
							if (_combination_1 == 102) then {
								_combination_1_Display = "Blue";
							};
							_combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3];
						};

						case 3: { // 3 combolock
							_combination_1 = floor(random 10);
							_combination_2 = floor(random 10);
							_combination_3 = floor(random 10);
							_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
							dayz_combination = _combination;
							_combinationDisplay = _combination;
						};

						case 4: { // 4 safe
							_combination_1 = floor(random 10);
							_combination_2 = floor(random 10);
							_combination_3 = floor(random 10);
							_combination_4 = floor(random 10);
							_combination = format["%1%2%3%4",_combination_1,_combination_2,_combination_3,_combination_4];
							dayz_combination = _combination;
							_combinationDisplay = _combination;
						};
					};

					_tmpbuilt setVariable ["CharacterID",_combination,true];
					_tmpbuilt setVariable ["ownerPUID",_playerID,true];

					PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location,_playerUID,_vector],_classname];
					publicVariableServer "PVDZE_obj_Publish";

					cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5];
                    systemChat format [(localize "str_epoch_player_140"),_combinationDisplay,_text];

				} else {
					_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
					_tmpbuilt setVariable ["ownerPUID",_playerID,true];
					
					// fire?
					if(_tmpbuilt isKindOf "Land_Fire_DZ") then {
						_tmpbuilt spawn player_fireMonitor;
					} else {
						PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location,_playerUID,_vector],_classname];
						publicVariableServer "PVDZE_obj_Publish";
					};
				};
			} else {
				deleteVehicle _tmpbuilt;
				cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
			};

		} else {
			r_interrupt = false;
			if (vehicle player == player) then {
				[objNull, player, rSwitchMove,""] call RE;
				player playActionNow "stop";
			};

			deleteVehicle _tmpbuilt;

			cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
		};

	} else {
		cutText [format[(localize "str_epoch_player_47"),_text,_reason], "PLAIN DOWN"];
	};
};

DZE_ActionInProgress = false;

Share this post


Link to post
Share on other sites

@Bilco just go to your defines.hpp and delete the RscButton class

 

 

What nameless said. I had it defined by my admin menu if i'm not mistaken.

So i went into the admin menu hpp file and renamed it to RscButton2 so they wouldn't clash.

Good luck, PM me if you're stuck.

 

Also, i'm looking to remove the old plot pole scroll options that you get under "manage plot", any ideas where i can get them removed?

I got it guys, Thanks for the reply's.

Share this post


Link to post
Share on other sites

hello, i have just installed this mod and it works for the most part but for then i go to add people to a group. and in the RTP this error shows up.

17:59:31 Error in expression <n {
_object setVariable ["plotfriends", _intentory, true];
};	
_object setVariab>
17:59:31 Error position: <_intentory, true];
};	
_object setVariab>
17:59:31 Error Undefined variable in expression: _intentory
17:59:31 File z\addons\dayz_server\system\server_monitor.sqf, line 140

Error in expression <_fuid = _fuid + [_friendUID];
} forEach _friends;
_allowed = [_owner];    
_allo>
  Error position: <_friends;
_allowed = [_owner];    
_allo>
  Error Undefined variable in expression: _friends
File mpmissions\__CUR_MP.chernarus\custom\fn_selfActions.sqf, line 240
Error in expression <
lbAdd [7002, (_x select 1)];
} forEach _friendlies;



>
  Error position: <_friendlies;



>
  Error Undefined variable in expression: _friendlies
File mpmissions\__CUR_MP.chernarus\plotManagement\plotGetFriends.sqf, line 8

Error in expression <id  =  _fuid  + [_friendUID];
} forEach _friends;
_allowed = [_owner];    
_allo>
  Error position: <_friends;
_allowed = [_owner];    
_allo>
  Error Undefined variable in expression: _friends
File mpmissions\__CUR_MP.chernarus\custom\fn_selfActions.sqf, line 313

any help would be very nice. 

Thank you

Share this post


Link to post
Share on other sites

ok so my problem has to be within the player_build sqf because the friends can upgrade and remove walls but they are not able to build.. and i feel like i have quad checked the player_build.sqf and cannot seem to figure out what the problem is..

Share this post


Link to post
Share on other sites

You can try to do it like this :

// Find owner 
	_ownerID = _nearestPole getVariable ["ownerPUID","0"];

	diag_log format["Player_build start: [PlayerUID = %1]  [OwnerID = %2]", _playerUID, _ownerID];

	// check if friendly to owner
	if(_playerUID == _ownerID) then {  //Keep ownership
		// owner can build anything within his plot except other plots
		diag_log text "Player is owner";
		if(!_isPole) then {
			_canBuildOnPlot = true;
		}; 

Only I'm not sure if that helps you

 

 

Thanks, I just got here to say I found my problem and it wasn't in the player_build.sqf file. it was actually in the player_build_plotCheck.sqf which was causing interference saying that the friends needed a plot pole within range which they had one and it just wasnt allowing them to build. I was working hard trying to figure this out and I went back and forth going through every file and I found this in the plot4life/snapbuild files and noticed it had a code that was real similar to the 3 files that needed to be changed with the plot managment. I added that bit of code in and now it works. :)

Share this post


Link to post
Share on other sites

For some reason I can open the plot management and add friends to the plot pole but no prices show up for maintain cost nor can I click to maintain. Any help would be appreciated. I have no errors in my RPT regarding the script and I also run Single Currency.  

Share this post


Link to post
Share on other sites

If any player build a Plotpole they cant use the "Manage Plot"...

They klick "Manage Plot" and the screen will open for 1 sec.

 

---------------------------

 

Or can i give all player rights to manage all plotpole?

 

 

if you did that then it would cause problems. what anithack do you use? is the window closing for all the players? 

Share this post


Link to post
Share on other sites

@nathan9117

 

 

For some reason I can open the plot management and add friends to the plot pole but no prices show up for maintain cost nor can I click to maintain. Any help would be appreciated. I have no errors in my RPT regarding the script and I also run Single Currency.  

 

Did you paste this lines into your compiles.sqf?

 

 

MaintainPlot                 = compile preprocessFileLineNumbers "plotManagement\maintain_area.sqf";
PlotPreview                     = compile preprocessFileLineNumbers "plotManagement\plotToggleMarkers.sqf";
PlotObjects = compile preprocessFileLineNumbers "plotManagement\plotObjects.sqf"; // NEW

Share this post


Link to post
Share on other sites

if you did that then it would cause problems. what anithack do you use? is the window closing for all the players? 

I use InfiStar.

All player have this problem.

(i have add me to admin list so i have not this problem) Sry for bad english

Share this post


Link to post
Share on other sites

Having an issue and i've tried to find the answer in the thread with no luck.
After installing plot management no one is able to remove their built items.

I'm having to manually delete items for players and as you can imagine, it's annoying.

Could anyone help?

Share this post


Link to post
Share on other sites

@nathan9117

 

 

 

Did you paste this lines into your compiles.sqf?

 

 

MaintainPlot                 = compile preprocessFileLineNumbers "plotManagement\maintain_area.sqf";

PlotPreview                     = compile preprocessFileLineNumbers "plotManagement\plotToggleMarkers.sqf";

PlotObjects = compile preprocessFileLineNumbers "plotManagement\plotObjects.sqf"; // NEW

I did not appear to have them in the compiles so I have added them and will test. Thanks.

Share this post


Link to post
Share on other sites

Having an issue and i've tried to find the answer in the thread with no luck.

After installing plot management no one is able to remove their built items.

I'm having to manually delete items for players and as you can imagine, it's annoying.

Could anyone help?

If u mean that user cant remove Objects after dead i think u can use this:

Share this post


Link to post
Share on other sites

If u mean that user cant remove Objects after dead i think u can use this:

Hey, i've seen that thread this morning and i don't know if it's after death or not. I will delete myself from the database and test that.

Thanks for pointing it out to me, i'll edit the post with the result.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By McLovin
      NOTICE: Duplicate of another question posted in the wrong section.
       
      So I've been playing this server that has a number of mods installed. I've been playing it for quite a while with the only errors I've been getting are regarding a 45 round RPK mag being missing, but other than that I've had no errors or any issues loading. Upon trying to place a plot pole, nothing happens; absolutely nothing, like no preview shows up, no prompt saying "starting construction" or anything like that, just blankness. When I try to do it again it says "building already in progress" and I can't do anything, not even lock my vehicle. Is there anything that can be done, or that can explain this phenomenon? To further the understanding of how this came to be, I bought a plot pole from the trader in Trader City Stary and tried placing it near Stary, but not too near it (near a thicket of bushes in the distance). Upon right clicking and hitting the build option, that's when I face my issue.
    • By Joseph Thompson
      Hello all,
      My name is Joseph. I am looking for active members on Arma 2-Overpoch to join a Team. You must have some knowledge in playing the game and  you must have a working mic (No Echo).
      We will be playing on a server that has recently started up but has big hopes for its self. The staff/Admins are really helpful and have helped to create other servers in the past.
      We will be working together as a team to attend and capture missions also Helping with base building ECT. How you play is entirely up to you if you (this meaning if you want to be a bandit or a hero)
      You must be over the ages of 16 and have a strong sense of humor.
      ------------------------------------------------------------------------------------------------------------------------------------------------
      Please ensure you have one of the following programs:
      ------------------------------------------------------------------------------------------------------------------------------------------------
      Team-speak
      Skype
      Discord
      ------------------------------------------------------------------------------------------------------------------------------------------------
      Please fill in this form if you are interested in joining us.
      ------------------------------------------------------------------------------------------------------------------------------------------------
      Age-
      Name
      SteamName-
      SkypeName-
      DiscordName-
      Playtime-
      And last one: Are you from the UK?-
      ------------------------------------------------------------------------------------------------------------------------------------------------
      If you would like to contact me
      Discord: Joseph_Richards#3973
       
       
    • By Mattiman338
      Hi all, doing up a server for myself and a few friends but am having one issue which I am clueless as to why it is happening. It doesn't really affect game play but does make it difficult navigating through certain tasks.
      The issue arises with ZSC and Virtual Garage dialogs only as far as I have tested. Certain buttons within dialogs do not show, such as the deposit and withdraw buttons for the bankers and the store vehicle button in the Virtual Garage dialog.
      I am running InfiSTAR admin tools and antihack and as far as I know, that could be the culprit with these problems but I have checked the servers .RPT and checked for errors with ZSC and the Virtual Garage with nothing coming up.
      There are InfiSTAR logs showing though and one refers to a dialog. 
       
      In-game screens
      And my .RPT from the last restart to when I tested the dialogs to gather screenshots
       
       
      All help is appreciated as I can't find anything to do with infiSTAR in the script installs.
      Thanks all!
    • By Forrest
      I am looking for a friend or group that can be on from 7-10 am GMT. I want to build a base. My email is [email protected], Skype is Forrest Perkins, steam is forrestmikeperkinskirk. I may be on from 10- 16 am GMT on the 18th of July, 2017 but I'm always looking for friends I can trust.
  • Advertisement
  • Advertisement
  • Supporters
  • Advertisement
  • Discord

×