Jump to content

[Release v1.0.5] Precise Base Building - Persistent bases after restart! (Updated 22/09/15)


Mikeeeyy

Recommended Posts

Im getting errors in the RPT log after installing this. anyone know the solution?

:07:57 "infiSTAR.de - _remark: phk4rvca_654610"
17:07:57 "infiSTAR.de - _AHpos: prgwedns_8216"
17:07:57 "infiSTAR.de - _aahtest: ps2cjg1h_311439"
17:07:57 "infiSTAR.de - _randvar10: PVAHR_0_xixxpdg_401451"
17:07:58 "infiSTAR.de - AntiHack LOADED!"
17:07:58 "infiSTAR.de - CREATING AdminMenu"
17:07:58 "infiSTAR.de - ADDING PublicVariableEventHandlers"
17:07:58 "infiSTAR.de - AntiHack FULLY LOADED"
17:07:58 "Res3tting B!S effects..."
17:07:58 "HIVE: Starting"
17:07:58 "HIVE: trying to get objects"
17:07:58 Warning: z\addons\dayz_communityassets\models\compass.p3d:0 Error while trying to generate ST for points: 863, 853, 852
17:07:59 "HIVE: found 830 objects"
17:07:59 "HIVE: Commence Object Streaming..."
17:07:59 Error in expression <["OBJ","135","UH1Y_DZE","0",[any,any],[[[],[]],[[],[]],[[],[]],0],[[">
17:07:59   Error position: <any,any],[[[],[]],[[],[]],[[],[]],0],[[">
17:07:59   Error Undefined variable in expression: any
17:07:59 Error in expression <J","376","hilux1_civil_3_open_EP1","0",[any,any],[[[],[]],[[],[]],[[],[]],0],[[">
17:07:59   Error position: <any,any],[[[],[]],[[],[]],[[],[]],0],[[">
17:07:59   Error Undefined variable in expression: any
17:07:59 No speaker given for Tobias Weber
17:08:00 "HIVE: got 369 Epoch Objects and 461 Vehicles"
17:08:00 Error in expression <os [6315.6763, 7841.8965, -0.056709375];l
};

_vehicle_21 = objNull;
if (true) t>
17:08:00   Error position: <l
};

_vehicle_21 = objNull;
if (true) t>
17:08:00   Error Undefined variable in expression: l
17:08:00 File z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\mission.sqf, line 1168
17:08:01 Error in expression <this vectorup [0,0,1];>
17:08:01   Error position: <vectorup [0,0,1];>
17:08:01   Error Missing ;
17:08:01 Error in expression <this vectorup [0,0,1];>
17:08:01   Error position: <vectorup [0,0,1];>
17:08:01   Error Missing ;
17:08:02 "MOVED OBJ: "135" of class UH1Y_DZE to pos: [5177.71,9279.04,0]"
17:08:02 UH1Y_DZE: ObsTurret - unknown animation source ObsTurret
17:08:02 UH1Y_DZE: ObsGun - unknown animation source ObsGun
17:08:02 Error in expression <eCargoGlobal  _object;


_object setdir _dir;
if(_vecExists)then{
_object setVec>
17:08:02   Error position: <_dir;
if(_vecExists)then{
_object setVec>
17:08:02   Error Undefined variable in expression: _dir
17:08:02 File z\addons\dayz_server\system\server_monitor.sqf, line 219
17:08:03 "MOVED OBJ: "376" of class hilux1_civil_3_open_EP1 to pos: [8230.57,9602.96,0]"
17:08:03 Error in expression <eCargoGlobal  _object;


_object setdir _dir;
if(_vecExists)then{
_object setVec>
17:08:03   Error position: <_dir;
if(_vecExists)then{
_object setVec>
17:08:03   Error Undefined variable in expression: _dir
17:08:03 File z\addons\dayz_server\system\server_monitor.sqf, line 219
17:08:03 AH6X_DZ: FLIR_turret - unknown animation source FLIR_turret
17:08:03 AH6X_DZ: FLIR_gun - unknown animation source FLIR_gun
17:08:03 350z_v: ABSwitch - unknown animation source ABSwitch
17:08:04 350z_black: ABSwitch - unknown animation source ABSwitch
17:08:04 "HIVE: Vehicle Spawn limit reached!"
 
Link to comment
Share on other sites

Hi Mikeeeyy!

 

I have a question..

 

I installed the Addons:

Plot Management (Zupa)

Snap Building Pro with Build Vectors (striker)

Paint Vehicles (0verHeaT)

 

I installed Build Vectors + snap building with Precise base building.

 

1) In game, me build Cinder Wall, Wood wall with door etc..

2) I upgrade him

3) Objects are not written to the database

4) RPT error:

9:46:34 "DELETE: B 1-1-C:1 (Pook123) REMOTE Deleted by UID: 124983945833200"
9:46:34 Error in expression <



_object setVariable ["OEMPos", call compile (_worldspace select 1), true];

>
9:46:34 Error position: <compile (_worldspace select 1), true];

>
9:46:34 Error compile: Type Array, expected String
9:46:34 File z\addons\dayz_server\compile\server_swapObject.sqf, line 54

5) After restart server built object has nothing

 

My server_swapObject.sqf file:

private ["_activatingplayerUID","_class","_uid","_charID","_object","_worldspace","_key","_allowed","_obj","_objectID","_objectUID","_proceed","_activatingplayer"];
//[dayz_characterID,_tent,[_dir,_location],"TentStorage"]
_charID =		_this select 0;
_object = 		_this select 1;
_worldspace = 	_this select 2;
_class = 		_this select 3;
_obj = 		_this select 4;
_activatingplayer = 		_this select 5;
_activatingplayerUID = 		(getPlayerUID _activatingplayer);

_proceed = false;

_objectID = "0";
_objectUID = "0";

if(!isNull(_obj)) then {
	// Find objectID
	_objectID 	= _obj getVariable ["ObjectID","0"];
	// Find objectUID
	_objectUID	= _obj getVariable ["ObjectUID","0"];
	if !(DZE_GodModeBase) then {
		_obj removeAllMPEventHandlers "MPKilled";
	};
	// Remove old object
	deleteVehicle _obj;
	
	_proceed = true;
};

if(isNull(_object)) then {
	_proceed = false;
};

if(_objectID == "0" && _objectUID == "0") then { 
	_proceed = false;
} else {
	[_objectID,_objectUID,_activatingplayer] call server_deleteObj;
};

_allowed = [_object, "Server"] call check_publishobject;
if (!_allowed || !_proceed) exitWith { 
	if(!isNull(_object)) then {
		deleteVehicle _object; 
	};
	diag_log ("Invalid object swap by playerUID:"+ str(_activatingplayerUID));
};

// Publish variables
_object setVariable ["CharacterID",_charID,true];
		
//_object setVariable ["ObjectUID",_objectUID,true];
// #################################################PRECISE BASE BUILDING######################################################
// _object setVariable ["OEMPos",(_worldspace select 1),true];
_object setVariable ["OEMPos", call compile (_worldspace select 1), true];
// #################################################PRECISE BASE BUILDING######################################################

//diag_log ("PUBLISH: Attempt " + str(_object));

// #################################################PRECISE BASE BUILDING######################################################
_allowed = [_object, "Server"] call check_publishobject;
if (!_allowed || !_proceed) exitWith { 
	if(!isNull(_object)) then {
		deleteVehicle _object; 
	};
	diag_log ("Invalid object swap by playerUID:"+ str(_activatingplayerUID));
};
// #################################################PRECISE BASE BUILDING######################################################

//get UID
_uid = _worldspace call dayz_objectUID2;

// #################################################PRECISE BASE BUILDING######################################################
_worldspace set [0, (_worldspace select 0) call KK_fnc_floatToString];
_worldspace set [1, (_worldspace select 1) call KK_fnc_positionToString];
// #################################################PRECISE BASE BUILDING######################################################

//Send request
_key = format["CHILD:308:%1:%2:%3:%4:%5:%6:%7:%8:%9:",dayZ_instance, _class, 0 , _charID, _worldspace, [], [], 0,_uid];
//diag_log ("HIVE: WRITE: "+ str(_key));
_key call server_hiveWrite;

_object setVariable ["lastUpdate",time];
_object setVariable ["ObjectUID", _uid,true];
// _object setVariable ["CharacterID",_charID,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;

PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_object];

diag_log ("PUBLISH: " + str(_activatingPlayer) + " upgraded " + (_class) + " with ID " + str(_uid)); 

 

I did everything according to the instructions. All checked. Please help how to solve the problem

Link to comment
Share on other sites

  • 2 weeks later...

Hello,

 

just a short question: Is the "precise building" database compatible to stock epoch?

Which means, will stock epoch ignore the new additional values behind the comma if needed?

 

BR

Rob

 

No, stock Epoch expects an array consisting of integers, PBB gives it a string.

Link to comment
Share on other sites

What would need to be done in order to remove precise base building? Can a query be run on my database to convert the locations back or what?

 

I do like PBB, however, I would prefer to still be able to use Private Hive Tools (http://opendayz.net/threads/private-hive-tools-php.7681/) to manage my server, and this mod makes that impossible, which was not mentioned anywhere prior to adding it. If I can't pull up PHT, look at the live map and see locations of objects (vehicles and building stuff), then no thanks. Makes it way more difficult than it is worth.

Before, if say a vehicle didn't sell at a trader, and it was supposed to, I could just pull up the live map and look where i know the vehicle is at and see what classname it has and change it to the correct one. Then, I could edit the mission or whatever script had spawned it, so that it was using the correct classname there, and avoid the issue in the future. But with PBB installed, the objects are no longer being displayed on the live map. So, I have to spend countless time searching my database for the vehicle that is not selling, then change it. It's just way to much of a hassle for all the times there is some sort of issue with an object.

 

So like I said, what needs to be done? And yes, I have read the forum seeing places where it has been said it can't be done easily or whatever. But, that just sounds like a copout to me. If you don't want to provide the support for the mod to go backwards and to write a .sql file to do it with, then I guess I can understand that. But could you explain to me the basics of what this mod changed in the database, so I can come up with a way to change it back? Thanks for your time.

Link to comment
Share on other sites

well that is an issue with vector building not this mod, while having vector building enabled the 0 has no effect on direction as direction will now be set with setVectorDirAndUp [[0,1,0],[0,0,1]];

 

check where the objects are getting the direction from in server_monitor and make sure it's not using setDir

 

So, if I have places in my server_monitor that have setDir, what should it be instead? My problem is I place a garage doorway on its side, but when I upgrade it to locked, its position resets, putting the top up, instead of being off by 90 degrees or where ever i placed it, and it is now floating in air. is setDir the culprit? Or is there something in the upgradeObject file that is wrong? 

Link to comment
Share on other sites

Alright, I figured it out! word of the wise, double check that you didnt have some other dumb mod that referenced its own player actions, instead of the one that you edited for the other mods :( vectoring works fine now, so I guess I'll leave the setDir how it is.

Link to comment
Share on other sites

What would need to be done in order to remove precise base building? Can a query be run on my database to convert the locations back or what?

 

I do like PBB, however, I would prefer to still be able to use Private Hive Tools (http://opendayz.net/threads/private-hive-tools-php.7681/) to manage my server, and this mod makes that impossible, which was not mentioned anywhere prior to adding it. If I can't pull up PHT, look at the live map and see locations of objects (vehicles and building stuff), then no thanks. Makes it way more difficult than it is worth.

Before, if say a vehicle didn't sell at a trader, and it was supposed to, I could just pull up the live map and look where i know the vehicle is at and see what classname it has and change it to the correct one. Then, I could edit the mission or whatever script had spawned it, so that it was using the correct classname there, and avoid the issue in the future. But with PBB installed, the objects are no longer being displayed on the live map. So, I have to spend countless time searching my database for the vehicle that is not selling, then change it. It's just way to much of a hassle for all the times there is some sort of issue with an object.

 

So like I said, what needs to be done? And yes, I have read the forum seeing places where it has been said it can't be done easily or whatever. But, that just sounds like a copout to me. If you don't want to provide the support for the mod to go backwards and to write a .sql file to do it with, then I guess I can understand that. But could you explain to me the basics of what this mod changed in the database, so I can come up with a way to change it back? Thanks for your time.

 

Just run this query on your database:

UPDATE `object_data` SET `Worldspace` = REPLACE(`Worldspace`, '"', '');
Link to comment
Share on other sites

a9e9e0f099.png

To uninstall PBB simply reverse all of the above steps then run this query on your database:

UPDATE `object_data` SET `Worldspace` = REPLACE(`Worldspace`, '"', ''); 

This query will remove all quotations from the worldspace field allowing your objects/vehicles to work with private hive tools again. It should also keep the objects precise as the dir/pos are still being fetched as a string.

Link to comment
Share on other sites

  • 1 month later...

Some of my players are having issues with objects they have placed, such as metal floors, disappearing at restart. I'm trying to find the log file that has the exact error, but, in my server window, it basically says Error worldspace data too big.

 

I have P4L, vectoring, and PBB installed. Could it be that PBB makes the location/direction fields too long occasionally, since it makes them more precise?

 

I can't say for sure that PBB or any of the other mods are responsible, just a theory. I'll update post when I find which log file the error is in. Been several restarts since I saw the error in the server monitor window.

 

Here is the actual error.

Database: [Error] Error 1406 (Data too long for column 'Worldspace' at row 1) in MySQLStmtExecute SQL: 'INSERT INTO `Object_DATA` (`ObjectUID`, `Instance`, `Classname`, `Damage`, `CharacterID`, `Worldspace`, `Inventory`, `Hitpoints`, `Fuel`, `Datestamp`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP) VALUES(15206413471881114, 24, "MetalFloor_DZ", 0, 1139, "["213.52588e-005","[15206.352539,13471.797852,8.115796]","76561198012039971",[[-2.381e-08,-3.666e-08,1],[-0.545,-0.839,-4.371e-08]]]", "[]", "[]", 0)'

Edited by bualdoot
Link to comment
Share on other sites

Some of my players are having issues with objects they have placed, such as metal floors, disappearing at restart. I'm trying to find the log file that has the exact error, but, in my server window, it basically says Error worldspace data too big.

 

I have P4L, vectoring, and PBB installed. Could it be that PBB makes the location/direction fields too long occasionally, since it makes them more precise?

 

I can't say for sure that PBB or any of the other mods are responsible, just a theory. I'll update post when I find which log file the error is in. Been several restarts since I saw the error in the server monitor window.

 

Here is the actual error.

Database: [Error] Error 1406 (Data too long for column 'Worldspace' at row 1) in MySQLStmtExecute SQL: 'INSERT INTO `Object_DATA` (`ObjectUID`, `Instance`, `Classname`, `Damage`, `CharacterID`, `Worldspace`, `Inventory`, `Hitpoints`, `Fuel`, `Datestamp`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP) VALUES(15206413471881114, 24, "MetalFloor_DZ", 0, 1139, "["213.52588e-005","[15206.352539,13471.797852,8.115796]","76561198012039971",[[-2.381e-08,-3.666e-08,1],[-0.545,-0.839,-4.371e-08]]]", "[]", "[]", 0)'

 

Error says everything, the data is 135 characters but the column max is 128.

Link to comment
Share on other sites

I know what the error says. My question was why is it being too big only occasionally. I never really looked at worldspace before I added PBB, but I just assume the original code didn't have as much worldspace data length since it didn't go to such a precise grid.

I know the limit is 128, and the error ones are over that. But is the 128 a limit of the hive DLL, or can I just alter the database to like 256?

Link to comment
Share on other sites

I know what the error says. My question was why is it being too big only occasionally. I never really looked at worldspace before I added PBB, but I just assume the original code didn't have as much worldspace data length since it didn't go to such a precise grid.

I know the limit is 128, and the error ones are over that. But is the 128 a limit of the hive DLL, or can I just alter the database to like 256?

 

The database can easily be changed to support more than 128 chars, but I'm not sure if the HiveExt.dll checks this or requires it. It must be a combination of the very precise coordinates with, what looks like, very precise vector points.

Link to comment
Share on other sites

  • 2 months later...

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...