Jump to content

[Release] Build Vectors - Rotate objects in Dayz Epoch (v2.34 P4L & non-P4L)


striker

Recommended Posts

When I installed VB + SBP all worked fine (except unlocking vaults,but i fixed it)

When  I installed VB + SBP + P4L i doesnt see snap pro menu (snap point and other functions) ,when i build something. What is the reason&

How did you fix unlocking vaults and lockboxes does not work for me

Link to comment
Share on other sites

Hey, I got snap/vector working but I also have noxsicarius/Epoch-Admin-Tools and if I upgrade a concrete wall using the admin tools snapping a new wall on top of it will get off center and not line up. Works fine if I upgrade it the normal player way.

 

Can anyone think of a fix for this?

Link to comment
Share on other sites

When I installed VB + SBP all worked fine (except unlocking vaults,but i fixed it)

When  I installed VB + SBP + P4L i doesnt see snap pro menu (snap point and other functions) ,when i build something. What is the reason&

When I had this problem where I didnt see the vectoring menu it was because I didnt call the fn_Selfactions.sqf in the proper order in the compiles.sqf Try that.

Link to comment
Share on other sites

Striker, I know your script doesn't touch anything related to maintain, but ever since I put in vector building some items do not properly maintain when updated from plot pole. Is there something in the vector building that changes the objects themselves? Really odd....

Link to comment
Share on other sites

@striker, i get this problem in the RPT. do you know this problem? i have snapbuilding v4 and precise base building updated

 

 1:15:52 "infiSTAR.de - AntiHack FULLY LOADED"
 1:15:53 "Res3tting B!S effects..."
 1:15:54 Error in expression <{
_ownerID = format["00%1", _ownerID];!
};
if(_codeCount == 1) then {
_ownerID =>
 1:15:54   Error position: <};
if(_codeCount == 1) then {
_ownerID =>
 1:15:54   Error Missing {
 1:15:54 File z\addons\dayz_server\system\server_monitor.sqf, line 205
 1:15:54 Error in expression <{
_ownerID = format["00%1", _ownerID];!
};
if(_codeCount == 1) then {
_ownerID =>
 1:15:54   Error position: <};
if(_codeCount == 1) then {
_ownerID =>
 1:15:54   Error Missing {
 1:15:54 File z\addons\dayz_server\system\server_monitor.sqf, line 205

this is my server _monitor

private ["_nul","_result","_pos","_wsDone","_dir","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_intentory","_hitPoints","_fuel","_damage","_key","_vehLimit","_hiveResponse","_objectCount","_codeCount","_data","_status","_val","_traderid","_retrader","_traderData","_id","_lockable","_debugMarkerPosition","_vehicle_0","_bQty","_vQty","_BuildingQueue","_objectQueue","_superkey","_shutdown","_res","_hiveLoaded"];

dayz_versionNo = 		getText(configFile >> "CfgMods" >> "DayZ" >> "version");
dayz_hiveVersionNo = 	getNumber(configFile >> "CfgMods" >> "DayZ" >> "hiveVersion");

_hiveLoaded = false;

waitUntil{initialized}; //means all the functions are now defined

diag_log "HIVE: Starting";

waituntil{isNil "sm_done"}; // prevent server_monitor be called twice (bug during login of the first player)
	
// Custom Configs
if(isnil "MaxVehicleLimit") then {
	MaxVehicleLimit = 50;
};

if(isnil "MaxDynamicDebris") then {
	MaxDynamicDebris = 100;
};
if(isnil "MaxAmmoBoxes") then {
	MaxAmmoBoxes = 3;
};
if(isnil "MaxMineVeins") then {
	MaxMineVeins = 50;
};
// Custon Configs End

if (isServer && isNil "sm_done") then {

	serverVehicleCounter = [];
	_hiveResponse = [];

	for "_i" from 1 to 5 do {
		diag_log "HIVE: trying to get objects";
		_key = format["CHILD:302:%1:", dayZ_instance];
		_hiveResponse = _key call server_hiveReadWrite;  
		if ((((isnil "_hiveResponse") || {(typeName _hiveResponse != "ARRAY")}) || {((typeName (_hiveResponse select 1)) != "SCALAR")})) then {
			if ((_hiveResponse select 1) == "Instance already initialized") then {
				_superkey = profileNamespace getVariable "SUPERKEY";
				_shutdown = format["CHILD:400:%1:", _superkey];
				_res = _shutdown call server_hiveReadWrite;
				diag_log ("HIVE: attempt to kill.. HiveExt response:"+str(_res));
			} else {
				diag_log ("HIVE: connection problem... HiveExt response:"+str(_hiveResponse));
			
			};
			_hiveResponse = ["",0];
		} 
		else {
			diag_log ("HIVE: found "+str(_hiveResponse select 1)+" objects" );
			_i = 99; // break
		};
	};
	
	_BuildingQueue = [];
	_objectQueue = [];
	
	if ((_hiveResponse select 0) == "ObjectStreamStart") then {
	
		// save superkey
		profileNamespace setVariable ["SUPERKEY",(_hiveResponse select 2)];
		
		_hiveLoaded = true;
	
		diag_log ("HIVE: Commence Object Streaming...");
		_key = format["CHILD:302:%1:", dayZ_instance];
		_objectCount = _hiveResponse select 1;
		_bQty = 0;
		_vQty = 0;
		for "_i" from 1 to _objectCount do {
			_hiveResponse = _key call server_hiveReadWriteLarge;
			//diag_log (format["HIVE dbg %1 %2", typeName _hiveResponse, _hiveResponse]);
			if ((_hiveResponse select 2) isKindOf "ModularItems") then {
				_BuildingQueue set [_bQty,_hiveResponse];
				_bQty = _bQty + 1;
			} else {
				_objectQueue set [_vQty,_hiveResponse];
				_vQty = _vQty + 1;
			};
		};
		diag_log ("HIVE: got " + str(_bQty) + " Epoch Objects and " + str(_vQty) + " Vehicles");
	};
	
	// # NOW SPAWN OBJECTS #
	_totalvehicles = 0;
	{
		_idKey = 		_x select 1;
		_type =			_x select 2;
		_ownerID = 		_x select 3;

		_worldspace = 	_x select 4;
		_intentory =	_x select 5;
		_hitPoints =	_x select 6;
		_fuel =			_x select 7;
		_damage = 		_x select 8;
		
		_dir = 0;
		_pos = [0,0,0];
		_wsDone = false;
		if (count _worldspace >= 2) then
		{
			if(count _worldspace == 3) then{
				_vector = _worldspace select 2;
				if(typename _vector == "ARRAY")then{
					if(count _vector == 2)then{
						if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{
							_vecExists = true;
						};
					};

				};

			};
			_dir = _worldspace select 0;
			if (count (_worldspace select 1) == 3) then {
				_pos = _worldspace select 1;
				_wsDone = true;
			}
		};
		
		if (!_wsDone) then {
			if (count _worldspace >= 1) then { _dir = _worldspace select 0; };
			_pos = [getMarkerPos "center",0,4000,10,0,2000,0] call BIS_fnc_findSafePos;
			if (count _pos < 3) then { _pos = [_pos select 0,_pos select 1,0]; };
			diag_log ("MOVED OBJ: " + str(_idKey) + " of class " + _type + " to pos: " + str(_pos));
		};
		_vector = [[0,0,0],[0,0,0]];
_vecExists = false;
_ownerPUID = "0";   
if (count _worldspace >= 3) then{
    if(count _worldspace == 3) then{
            if(typename (_worldspace select 2) == "STRING")then{
                _ownerPUID = _worldspace select 2;
            }else{
                 if(typename (_worldspace select 2) == "ARRAY")then{
                    _vector = _worldspace select 2;
                    if(count _vector == 2)then{
                        if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{
                            _vecExists = true;
                        };
                    };
                };                  
            };

    }else{
        //Was not 3 elements, so check if 4 or more
        if(count _worldspace == 4) then{
            if(typename (_worldspace select 3) == "STRING")then{
                _ownerPUID = _worldspace select 3;
            }else{
                if(typename (_worldspace select 2) == "STRING")then{
                    _ownerPUID = _worldspace select 2;
                };
            };


            if(typename (_worldspace select 2) == "ARRAY")then{
                _vector = _worldspace select 2;
                if(count _vector == 2)then{
                    if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{
                        _vecExists = true;
                    };
                };
            }else{
                if(typename (_worldspace select 3) == "ARRAY")then{
                    _vector = _worldspace select 3;
                    if(count _vector == 2)then{
                        if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{
                            _vecExists = true;
                        };
                    };
                };
            };

        }else{
            //More than 3 or 4 elements found
            //Might add a search for the vector, ownerPUID will equal 0
        };
    };
}; 

		if (_damage < 1) then {
			//diag_log format["OBJ: %1 - %2", _idKey,_type];
			
			//Create it
			_object = createVehicle [_type, _pos, [], 0, "CAN_COLLIDE"];
			_object setVariable ["lastUpdate",time];
			_object setVariable ["ObjectID", _idKey, true];
			_object setVariable ["ownerPUID", _ownerPUID, true];
			_lockable = 0;
			if(isNumber (configFile >> "CfgVehicles" >> _type >> "lockable")) then {
				_lockable = getNumber(configFile >> "CfgVehicles" >> _type >> "lockable");
			};

			// fix for leading zero issues on safe codes after restart
			if (_lockable == 4) then {
				_codeCount = (count (toArray _ownerID));!
				if(_codeCount == 3) then {
					_ownerID = format["0%1", _ownerID];
				};
				if(_codeCount == 2) then {
					_ownerID = format["00%1", _ownerID];!
				};
				if(_codeCount == 1) then {
					_ownerID = format["000%1", _ownerID];
				};
			};

			if (_lockable == 3) then {
				_codeCount = (count (toArray _ownerID));
				if(_codeCount == 2) then {
					_ownerID = format["0%1", _ownerID];
				};
				if(_codeCount == 1) then {
					_ownerID = format["00%1", _ownerID];
				};
			};

			_object setVariable ["CharacterID", _ownerID, true];
			
			clearWeaponCargoGlobal  _object;
			clearMagazineCargoGlobal  _object;
			// _object setVehicleAmmo DZE_vehicleAmmo;
			
			_object setdir _dir;
			if(_vecExists)then{
			_object setVectorDirAndUp _vector;
					}; 
			_object setposATL _pos;
			_object setDamage _damage;
			
			if ((typeOf _object) in dayz_allowedObjects) then {
				_object setVariable["memDir",_dir,true]
				if (DZE_GodModeBase) then {
					_object addEventHandler ["HandleDamage", {false}];
				} else {
					_object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}];
				};
				// Test disabling simulation server side on buildables only.
				_object enableSimulation false;
				// used for inplace upgrades && lock/unlock of safe
				_object setVariable ["OEMPos", _pos, true];
				
			};

			if (count _intentory > 0) then {
				if (_type in DZE_LockedStorage) then {
					// Fill variables with loot
					_object setVariable ["WeaponCargo", (_intentory select 0),true];
					_object setVariable ["MagazineCargo", (_intentory select 1),true];
					_object setVariable ["BackpackCargo", (_intentory select 2),true];
				} else {

					//Add weapons
					_objWpnTypes = (_intentory select 0) select 0;
					_objWpnQty = (_intentory select 0) select 1;
					_countr = 0;					
					{
						if(_x in (DZE_REPLACE_WEAPONS select 0)) then {
							_x = (DZE_REPLACE_WEAPONS select 1) select ((DZE_REPLACE_WEAPONS select 0) find _x);
						};
						_isOK = 	isClass(configFile >> "CfgWeapons" >> _x);
						if (_isOK) then {
							_object addWeaponCargoGlobal [_x,(_objWpnQty select _countr)];
						};
						_countr = _countr + 1;
					} count _objWpnTypes; 
				
					//Add Magazines
					_objWpnTypes = (_intentory select 1) select 0;
					_objWpnQty = (_intentory select 1) select 1;
					_countr = 0;
					{
						if (_x == "BoltSteel") then { _x = "WoodenArrow" }; // Convert BoltSteel to WoodenArrow
						if (_x == "ItemTent") then { _x = "ItemTentOld" };
						_isOK = 	isClass(configFile >> "CfgMagazines" >> _x);
						if (_isOK) then {
							_object addMagazineCargoGlobal [_x,(_objWpnQty select _countr)];
						};
						_countr = _countr + 1;
					} count _objWpnTypes;

					//Add Backpacks
					_objWpnTypes = (_intentory select 2) select 0;
					_objWpnQty = (_intentory select 2) select 1;
					_countr = 0;
					{
						_isOK = 	isClass(configFile >> "CfgVehicles" >> _x);
						if (_isOK) then {
							_object addBackpackCargoGlobal [_x,(_objWpnQty select _countr)];
						};
						_countr = _countr + 1;
					} count _objWpnTypes;
				};
			};	
			
			if (_object isKindOf "AllVehicles") then {
				{
					_selection = _x select 0;
					_dam = _x select 1;
					if (_selection in dayZ_explosiveParts && _dam > 0.8) then {_dam = 0.8};
					[_object,_selection,_dam] call object_setFixServer;
				} count _hitpoints;

				_object setFuel _fuel;

				if (!((typeOf _object) in dayz_allowedObjects)) then {
					
					//_object setvelocity [0,0,1];
					_object call fnc_veh_ResetEH;		
					
					if(_ownerID != "0" && !(_object isKindOf "Bicycle")) then {
						_object setvehiclelock "locked";
					};
					
					_totalvehicles = _totalvehicles + 1;

					// total each vehicle
					serverVehicleCounter set [count serverVehicleCounter,_type];
				};
			};

			//Monitor the object
			PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_object];
		};
	} count (_BuildingQueue + _objectQueue);
	// # END SPAWN OBJECTS #

	// preload server traders menu data into cache
	if !(DZE_ConfigTrader) then {
		{
			// get tids
			_traderData = call compile format["menu_%1;",_x];
			if(!isNil "_traderData") then {
				{
					_traderid = _x select 1;

					_retrader = [];

					_key = format["CHILD:399:%1:",_traderid];
					_data = "HiveEXT" callExtension _key;

					//diag_log "HIVE: Request sent";
			
					//Process result
					_result = call compile format ["%1",_data];
					_status = _result select 0;
			
					if (_status == "ObjectStreamStart") then {
						_val = _result select 1;
						//Stream Objects
						//diag_log ("HIVE: Commence Menu Streaming...");
						call compile format["ServerTcache_%1 = [];",_traderid];
						for "_i" from 1 to _val do {
							_data = "HiveEXT" callExtension _key;
							_result = call compile format ["%1",_data];
							call compile format["ServerTcache_%1 set [count ServerTcache_%1,%2]",_traderid,_result];
							_retrader set [count _retrader,_result];
						};
						//diag_log ("HIVE: Streamed " + str(_val) + " objects");
					};

				} forEach (_traderData select 0);
			};
		} forEach serverTraders;
	};

	if (_hiveLoaded) then {
		//  spawn_vehicles
		_vehLimit = MaxVehicleLimit - _totalvehicles;
		if(_vehLimit > 0) then {
			diag_log ("HIVE: Spawning # of Vehicles: " + str(_vehLimit));
			for "_x" from 1 to _vehLimit do {
				[] spawn spawn_vehicles;
			};
		} else {
			diag_log "HIVE: Vehicle Spawn limit reached!";
		};
	};
	
	//  spawn_roadblocks
	diag_log ("HIVE: Spawning # of Debris: " + str(MaxDynamicDebris));
	for "_x" from 1 to MaxDynamicDebris do {
		[] spawn spawn_roadblocks;
	};
	//  spawn_ammosupply at server start 1% of roadblocks
	diag_log ("HIVE: Spawning # of Ammo Boxes: " + str(MaxAmmoBoxes));
	for "_x" from 1 to MaxAmmoBoxes do {
		[] spawn spawn_ammosupply;
	};
	// call spawning mining veins
	diag_log ("HIVE: Spawning # of Veins: " + str(MaxMineVeins));
	for "_x" from 1 to MaxMineVeins do {
		[] spawn spawn_mineveins;
	};

	if(isnil "dayz_MapArea") then {
		dayz_MapArea = 10000;
	};
	if(isnil "HeliCrashArea") then {
		HeliCrashArea = dayz_MapArea / 2;
	};
	if(isnil "OldHeliCrash") then {
		OldHeliCrash = false;
	};

	// [_guaranteedLoot, _randomizedLoot, _frequency, _variance, _spawnChance, _spawnMarker, _spawnRadius, _spawnFire, _fadeFire]
	if(OldHeliCrash) then {
		_nul = [3, 4, (50 * 60), (15 * 60), 0.75, 'center', HeliCrashArea, true, false] spawn server_spawnCrashSite;
	};
	if (isDedicated) then {
		// Epoch Events
		_id = [] spawn server_spawnEvents;
		// server cleanup
		[] spawn {
			private ["_id"];
			sleep 200; //Sleep Lootcleanup, don't need directly cleanup on startup + fix some performance issues on serverstart
			waitUntil {!isNil "server_spawnCleanAnimals"};
			_id = [] execFSM "\z\addons\dayz_server\system\server_cleanup.fsm";
		};

		// spawn debug box
		_debugMarkerPosition = getMarkerPos "respawn_west";
		_debugMarkerPosition = [(_debugMarkerPosition select 0),(_debugMarkerPosition select 1),1];
		_vehicle_0 = createVehicle ["DebugBox_DZ", _debugMarkerPosition, [], 0, "CAN_COLLIDE"];
		_vehicle_0 setPos _debugMarkerPosition;
		_vehicle_0 setVariable ["ObjectID","1",true];

		// max number of spawn markers
		if(isnil "spawnMarkerCount") then {
			spawnMarkerCount = 10;
		};
		actualSpawnMarkerCount = 0;
		// count valid spawn marker positions
		for "_i" from 0 to spawnMarkerCount do {
			if (!([(getMarkerPos format["spawn%1", _i]), [0,0,0]] call BIS_fnc_areEqual)) then {
				actualSpawnMarkerCount = actualSpawnMarkerCount + 1;
			} else {
				// exit since we did not find any further markers
				_i = spawnMarkerCount + 99;
			};
			
		};
		diag_log format["Total Number of spawn locations %1", actualSpawnMarkerCount];
		
		endLoadingScreen;
	};

	[] ExecVM "\z\addons\dayz_server\WAI\init.sqf";
	allowConnection = true;	
	sm_done = true;
	publicVariable "sm_done";
};

i`m kindof stuck at my server because of this error. i tried to read all the comments. didnt helped much since i`m the only 1 with this error.

 

Line 205 has a "!" after the ";".  Remove it and it should work better.

 

Just a quick note for all. 

 

Vectors v4 is currently for A Plot for Life v2.34 or v2.35 and not v2.4 (the latest).  I have cut out a number of checks and the variables used for those checks in v2.4.  The files in the Vector v4 release put those checks back in (as they were there in v2.34) but the variables the checks use have been removed.  There are also a few other structual changes in the code and a couple of helper functions added.  most of the changes from v2.35 -> v2.4 are code tidy / reduction and don't affect functionality.  You wont miss much by sticking with v2.35 (also available on the A Plot for Life download page) and it should fit right in with v4 of Vector Build.

 

A Plot for Life v2.5 will have Mikeeeyys Precise building added thanks to Mikeeeyys kind agreement for me to include it so it may be better to stick with A Plot for Life v2.35 until that version comes out and Striker has had a chance to update the Vector build files to match it.

 

If you have already installed v2.4 and have it working fine then great and enjoy the reduced file size.

Link to comment
Share on other sites

3:51:38 Error in expression <ect 2;
if(count _vector == 2)then{
if(((count (_vector select 0)) == 3) && ((cou>
 3:51:38   Error position: <count (_vector select 0)) == 3) && ((cou>
 3:51:38   Error count: Type String, expected Array,Config entry
 3:51:38 File z\addons\dayz_server\system\server_monitor.sqf, line 118
 
please help! the server already built not start and throws an error. And on a clean server with no buildings, everything works(
Link to comment
Share on other sites

Hoping someone can help with this one, I've been battling it for days. (also posted in Plot For Life thread, but the issue is still unresolved)

 

I have SBP installed as part of the Plot For Life latest version. I also have Build Vectors and Precise Base Building (as recommended by Build Vectors).

 

Everything sort of seems to be working normally, except, when you press F to snap an item, it flips around and no longer lines up properly. In some cases, even if you get it facing the right way, and the ghost image lines up, as soon as you hit SPACE to build, it goes out of line. I've done a little video below to show what I mean...

http://www.twitch.tv...ntv/b/608667844

 

On advice from Rimblock, I downgraded P4L to 2.35, but the problem is exactly the same. It seems if you build on flat planes with the correct objects (ie: floors horizontal and walls vertical), it's OK ( although still flips sometimes). As soon as you start vectoring stuff around, it never snaps properly after that.

 

My last attempt was 2 x cinder walls. 1st one was placed pitched forward 45, and banked left 45. I got the 2nd section out and oriented it the same way, but when you tried to snap them end to end, it would rotate and bank the 2nd one a little so it was out of line by a few degrees. Is it possible that Precise Building is doing something screwy with rounding up/down as you're building?

Link to comment
Share on other sites

   

why only works with a clean database? as with the existing buildings, the server does not start!
 
 
3:51:38 Error in expression <ect 2;
if(count _vector == 2)then{
if(((count (_vector select 0)) == 3) && ((cou>
 3:51:38   Error position: <count (_vector select 0)) == 3) && ((cou>
 3:51:38   Error count: Type String, expected Array,Config entry
 3:51:38 File z\addons\dayz_server\system\server_monitor.sqf, line 118
Link to comment
Share on other sites

Double check your server_monitor.sqf...if you're using Precise Base Building, it could be that it's missing these lines;

1. Un-PBO your dayz_server.pbo and open up the server_monitor.sqf file located in the system folder. (dayz_server\system\server_monitor.sqf)Press Ctrl + F and search for this:        

if (count _worldspace >= 2) then
        {

Insert this directly below it:            

            if ((typeName (_worldspace select 0)) == "STRING") then {
                _worldspace set [0, call compile (_worldspace select 0)];
                _worldspace set [1, call compile (_worldspace select 1)];
            };


It should look like this: 
Save and close server_monitor.sqf.
Link to comment
Share on other sites

 

Double check your server_monitor.sqf...if you're using Precise Base Building, it could be that it's missing these lines;

1. Un-PBO your dayz_server.pbo and open up the server_monitor.sqf file located in the system folder. (dayz_server\system\server_monitor.sqf)Press Ctrl + F and search for this:        

if (count _worldspace >= 2) then
        {

Insert this directly below it:            

            if ((typeName (_worldspace select 0)) == "STRING") then {
                _worldspace set [0, call compile (_worldspace select 0)];
                _worldspace set [1, call compile (_worldspace select 1)];
            };


It should look like this: 
Save and close server_monitor.sqf.
   
but why, then, if you do wipe the database, it starts normally?
Link to comment
Share on other sites

anyway
  if ((typeName (_worldspace select 0)) == "STRING") then {
                _worldspace set [0, call compile (_worldspace select 0)];
                _worldspace set [1, call compile (_worldspace select 1)];
            };
   
added, the residual error log cannot.. " waiting for server to start authentication" ...

 

here is my server monitor. Please help(((

https://yadi.sk/d/4uP6r_tgdtBQu

Link to comment
Share on other sites

Ok, so i've been trying to self troubleshooting without asking and just reading the forum, but can't get it. I'm having the trouble with the door being upgraded and it flips back to normal position after set to a vector. I have the player_upgrade.sqf the way it should be. So i went ahead and tried to put the two command lines in my fn_selfactions for my coin currency selfactions and now i can't upgrade at all. Do i still need to call that self actions up through the vector compiles? I tried that and it still won't upgrade my door. So where did i go wrong here?

Thanks in advance!

Link to comment
Share on other sites

Ok, so i've been trying to self troubleshooting without asking and just reading the forum, but can't get it. I'm having the trouble with the door being upgraded and it flips back to normal position after set to a vector. I have the player_upgrade.sqf the way it should be. So i went ahead and tried to put the two command lines in my fn_selfactions for my coin currency selfactions and now i can't upgrade at all. Do i still need to call that self actions up through the vector compiles? I tried that and it still won't upgrade my door. So where did i go wrong here?

Thanks in advance!

What mods do you have installed?

Link to comment
Share on other sites

 

where you specify the exact names of the buildings?

 

I dont know what you're asking. Im saying you messed up somewhere on your install on one of your scripts and once you install precise base building you can't go back unless you roll back the database. Your best bet is start completely from scratch and everything one by one.

Link to comment
Share on other sites

I'm running Overpoch. I started with a new host and before i worked perfectly, this time around it's that little bug that's messing me up and I'm pretty sure it's the coin script, but i know there is a way around it!

yea Im just asking for more details so I can help you. For example, when I installed precise base building, I messed up somewhere and I couldn't upgrade my doors. So I just need some more information about what you have going on to see if I can help.

Link to comment
Share on other sites

yea Im just asking for more details so I can help you. For example, when I installed precise base building, I messed up somewhere and I couldn't upgrade my doors. So I just need some more information about what you have going on to see if I can help.

Awh, yeah i think that's what happened. I am starting from scratch and when i put it in again ill be very precise and hopefully it will work without issues. If i have two fn_selfaction files as long as they are in seperate folders and being called seperately it should work right? Or do i need to put the command lines from the vector selfactions into my coin selfactions?

Link to comment
Share on other sites

LtwoStimerD

You need to make sure you have the code lines that are specific for both vectors, and coin in your fn_selfactions file. Best way I have found is to compare both against a vanilla file, then add in the necessary modifications from each mod, which will give you a custom file containing both. Then you just call it once from your compiles file.

 

pudgess

As DangerRuss said, precice base building modifies the way _worldspace is written into your database, which is why it works with a clean object_table in your database. Precise Base Building has the one downside where once you use it, you cannot go back without some serious database tweaking, so I'd recommend just going over the installation steps carefully, and making sure you have it installed correctly.

 

I've had a look at your server_monitor.sqf and you missed this part of the vector installation;

Once that is complete, find this next line:
_object setVariable ["ObjectID", _idKey, true];
And place the following after it:
_object setVariable ["ownerPUID", _ownerPUID, true];
Link to comment
Share on other sites

Awh, yeah i think that's what happened. I am starting from scratch and when i put it in again ill be very precise and hopefully it will work without issues. If i have two fn_selfaction files as long as they are in seperate folders and being called seperately it should work right? Or do i need to put the command lines from the vector selfactions into my coin selfactions?

I used this its specifically meant for fresh installs and uses souls coin system. The structure is a bit annoying but it's not the end of the world. I recommend starting with that. Feel free to pm me if you need help because I literally just got done setting up an overpoch server so its fresh in my mind.

Link to comment
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
  • Advertisement
×
×
  • Create New...