Jump to content

striker

Member
  • Posts

    132
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by striker

  1. What did you add to fn_selfActions.sqf? I already have a custom one due to the currency system on my server.

     

    Not much actually, just two lines.

     

    Around line 632 on a fresh copy:

    s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_UPGRADE",_text], "custom\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""];
    

    Around line 650 on a fresh copy:

    s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "custom\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""];

    Basically a file path change.  :)

  2.  

    get the following error:

     

    8:50:00 Error in expression <tdir _dir;
     
    if(_vecExists)then{
    _object setVectorDirAndUp _vector;
    };
     
    _object s>
    18:50:00   Error position: <setVectorDirAndUp _vector;
    };
     
    _object s>
    18:50:00   Error setvectordirandup: Type string, expected Array
    18:50:00 File z\addons\dayz_server\system\server_monitor.sqf, line 172
     
    Due to the error my server will stuck in waiting for server to start authentification

     

     

    Are you using any other mod that uses the worldspace array? Sounds like the worldspace array is like this...

     

    [30.61,[8289.48,2503.63,0],"string"]

     

    A simple fix would be to do the following:

     

    Find the following line in server_monitor.sqf file in the systems folder of the server.pbo 

    if (count _worldspace >= 2) then{
    

    Replace that whole if statement with the following.

    		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;
    			}
    		};
    
  3. buildvectors.png

     

    https://www.youtube.com/watch?v=gsa44JO02VQ&amp;amp;feature=youtu.be

     

    Credit Is Due Where Due
     

     


    Special Thanks to Raymix and his Script!

    Special Thanks to RimBlock and his 

    Special Thanks to Jossy and the future improvements I hope to see from him! Check out his work

    Special Thanks to KamikazeXeX for his changes to the AdminBuild for Snap Building Pro and his help!

     

    Notice
    These files have been tested and work on the maps Chernarus and Taviana.

    Installation
    Warning: This script is fairly untested and could cause unforeseen problems. USE AT YOUR OWN RISK!
    Please backup your database before you implement this encase something goes wrong!

    Newest Build Vectors Installation (version 4)

     

    Snap Build Pro Only

    Files & Install guide

    http://bitly.com/BuildVectorsSBPv4

     

    Plot 4 Life & Snap Build Pro
    Files:
    http://bitly.com/BuildVectorsV4

    Install Guide:
    https://github.com/strikerforce/DayzBuildVectors


    Legacy Installation (version 3)


    Build Vectors with Snap Building Pro 1.4.1 (Optional Download with AdminBuild and Plot 4 Life)

    Step 1:

    Download the following files from this link (Without Admin Build and Plot 4 Life): http://bitly.com/BuildVectorsV3
    Download the following files form this link (With Admin Build and Plot 4 Life) http://bitly.com/BuildVectorsAdminP4LV3
    Once you have downloaded that file, move the custom folder to your root directory of your mission file.

    Step 2:

    Now that you have done that, open up your init.sqf from your mission folder.

    Locate the following line.







    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; //Compile regular functions

    Right after that line, add this.

    call compile preprocessFileLineNumbers "custom\compiles.sqf";  

    Find the variable

    DZE_BuildOnRoads

    add these two/three global variables below it.

    DZE_noRotate = []; //Objects that cannot be rotated. Ex: DZE_noRotate = ["VaultStorageLocked"]DZE_curPitch = 45; //Starting rotation angle. Only 1, 5, 45, or 90.//Optional, only if you are using Admin BuildWG_adminBuild = ["","","",""]; //Fill with player UID's

    Step 3:


    Open up you dayz_server.pbo.

    Once you have opened you dayz_server.pbo, navigate to the init folder and open the server_functions.sqf file.

    Find this line.









    dayz_objectUID2 = {

    Replace that whole function with this.

    dayz_objectUID2 = {	private["_position","_dir","_key"];	if((count _this) == 2) then{		_dir = _this select 0;		_key = "";		_position = _this select 1;		{			_x = _x * 10;			if ( _x &amp;lt; 0 ) then { _x = _x * -10 };			_key = _key + str(round(_x));		} count _position;		_key = _key + str(round(_dir));	}else{		if((count _this) == 3) then{					if(typename (_this select 2) == "ARRAY")then{							_vector = _this select 2;							if(count _vector == 2)then{								if(((count (_vector select 0)) == 3) &amp;amp;&amp;amp; ((count (_vector select 1)) == 3))then{										_key = "";										_position = _this select 1;										{											_x = _x * 10;											if ( _x &amp;lt; 0 ) then { _x = _x * -10 };											_key = _key + str(round(_x));										} count _position;																				_vecCnt = 0;										{											_set = _x;											{												_vecCnt = _vecCnt + (round (_x * 100))																							} foreach _set;																					} foreach _vector;										if(_vecCnt &amp;lt; 0)then{											_vecCnt = ((_vecCnt * -1) * 3);										};										_key = _key + str(_vecCnt);									}else{									_dir = _this select 0;									_key = "";									_position = _this select 1;									{										_x = _x * 10;										if ( _x &amp;lt; 0 ) then { _x = _x * -10 };										_key = _key + str(round(_x));									} count _position;									_key = _key + str(round(_dir));								};							}else{								_dir = _this select 0;								_key = "";								_position = _this select 1;								{									_x = _x * 10;									if ( _x &amp;lt; 0 ) then { _x = _x * -10 };									_key = _key + str(round(_x));								} count _position;								_key = _key + str(round(_dir));							};											}else{						_dir = _this select 0;						_key = "";						_position = _this select 1;						{							_x = _x * 10;							if ( _x &amp;lt; 0 ) then { _x = _x * -10 };							_key = _key + str(round(_x));						} count _position;						_key = _key + str(round(_dir));					};		}else{			if((count _this) == 4) then{					if(typename (_this select 3) == "ARRAY")then{						_vector = _this select 3;						if(count _vector == 2)then{							if(((count (_vector select 0)) == 3) &amp;amp;&amp;amp; ((count (_vector select 1)) == 3))then{										_key = "";										_position = _this select 1;										{											_x = _x * 10;											if ( _x &amp;lt; 0 ) then { _x = _x * -10 };											_key = _key + str(round(_x));										} count _position;																				_vecCnt = 0;										{											_set = _x;											{												_vecCnt = _vecCnt + (round (_x * 100))																							} foreach _set;																					} foreach _vector;										if(_vecCnt &amp;lt; 0)then{											_vecCnt = ((_vecCnt * -1) * 3);										};										_key = _key + str(_vecCnt);								}else{								_dir = _this select 0;								_key = "";								_position = _this select 1;								{									_x = _x * 10;									if ( _x &amp;lt; 0 ) then { _x = _x * -10 };									_key = _key + str(round(_x));								} count _position;								_key = _key + str(round(_dir));							};						}else{							_dir = _this select 0;							_key = "";							_position = _this select 1;							{								_x = _x * 10;								if ( _x &amp;lt; 0 ) then { _x = _x * -10 };								_key = _key + str(round(_x));							} count _position;							_key = _key + str(round(_dir));						};					}else{						if(typename (_this select 2) == "ARRAY")then{							_vector = _this select 2;							if(count _vector == 2)then{								if(((count (_vector select 0)) == 3) &amp;amp;&amp;amp; ((count (_vector select 1)) == 3))then{											_key = "";											_position = _this select 1;											{												_x = _x * 10;												if ( _x &amp;lt; 0 ) then { _x = _x * -10 };												_key = _key + str(round(_x));											} count _position;																						_vecCnt = 0;											{												_set = _x;												{													_vecCnt = _vecCnt + (round (_x * 100))																									} foreach _set;																							} foreach _vector;											if(_vecCnt &amp;lt; 0)then{												_vecCnt = ((_vecCnt * -1) * 3);											};											_key = _key + str(_vecCnt);									}else{									_dir = _this select 0;									_key = "";									_position = _this select 1;									{										_x = _x * 10;										if ( _x &amp;lt; 0 ) then { _x = _x * -10 };										_key = _key + str(round(_x));									} count _position;									_key = _key + str(round(_dir));								};							}else{								_dir = _this select 0;								_key = "";								_position = _this select 1;								{									_x = _x * 10;									if ( _x &amp;lt; 0 ) then { _x = _x * -10 };									_key = _key + str(round(_x));								} count _position;								_key = _key + str(round(_dir));							};						}else{							_dir = _this select 0;							_key = "";							_position = _this select 1;							{								_x = _x * 10;								if ( _x &amp;lt; 0 ) then { _x = _x * -10 };								_key = _key + str(round(_x));							} count _position;							_key = _key + str(round(_dir));						};					};			}else{				_dir = _this select 0;				_key = "";				_position = _this select 1;				{					_x = _x * 10;					if ( _x &amp;lt; 0 ) then { _x = _x * -10 };					_key = _key + str(round(_x));				} count _position;				_key = _key + str(round(_dir));			};		};			};	_key}; 

    Step 4:

    Now navigate to the system folder and open the server_monitor.sqf file.

    Find the section that begins with the follow line.









    // # NOW SPAWN OBJECTS #

    And ends with.

    // # END SPAWN OBJECTS #

    Replace everything in between that with.

    // # 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 &amp;gt;= 2) then		{			if ((typeName (_worldspace select 0)) == "STRING") then {				_worldspace set [0, call compile (_worldspace select 0)];				_worldspace set [1, call compile (_worldspace select 1)];			};			_dir = _worldspace select 0;			if (count (_worldspace select 1) == 3) then {				_pos = _worldspace select 1;				_wsDone = true;			}		};					if (!_wsDone) then {			if (count _worldspace &amp;gt;= 1) then { _dir = _worldspace select 0; };			_pos = [getMarkerPos "center",0,4000,10,0,2000,0] call BIS_fnc_findSafePos;			if (count _pos &amp;lt; 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 &amp;gt;= 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) &amp;amp;&amp;amp; ((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) &amp;amp;&amp;amp; ((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) &amp;amp;&amp;amp; ((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				};			};		};		   	   		// diag_log format["Server_monitor: [ObjectID = %1]  [ClassID = %2] [_ownerPUID = %3]", _idKey, _type, _ownerPUID];				if (_damage &amp;lt; 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 &amp;gt;&amp;gt; "CfgVehicles" &amp;gt;&amp;gt; _type &amp;gt;&amp;gt; "lockable")) then {				_lockable = getNumber(configFile &amp;gt;&amp;gt; "CfgVehicles" &amp;gt;&amp;gt; _type &amp;gt;&amp;gt; "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 {				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 &amp;amp;&amp;amp; lock/unlock of safe				_object setVariable ["OEMPos", _pos, true];							};			if (count _intentory &amp;gt; 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 &amp;gt;&amp;gt; "CfgWeapons" &amp;gt;&amp;gt; _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 &amp;gt;&amp;gt; "CfgMagazines" &amp;gt;&amp;gt; _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 &amp;gt;&amp;gt; "CfgVehicles" &amp;gt;&amp;gt; _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 &amp;amp;&amp;amp; _dam &amp;gt; 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" &amp;amp;&amp;amp; !(_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 #

    Step 5:

    Now go back to your mission folder and open up the file description.ext.

    Add the following to the end of that file.









    #include "custom\snap_pro\snappoints.hpp"

    Step 6:

    Install Precise Base Building by Mikeeeyy.



    NOTE: server_monitor.sqf is already done for you. Also, This script permanently affects the database. If you ever remove vector build or dayz epoch updates, remember to have this part in your server_monitor.sqf








    if (count _worldspace &amp;gt;= 2) then		{			if ((typeName (_worldspace select 0)) == "STRING") then {				_worldspace set [0, call compile (_worldspace select 0)];				_worldspace set [1, call compile (_worldspace select 1)];			};			_dir = _worldspace select 0;			if (count (_worldspace select 1) == 3) then {				_pos = _worldspace select 1;				_wsDone = true;			}		};	 

    Step 7 (Optional):
    If you are planning to use the noRotate array, you need to see this post for a fix.




    Road Map

    • Keep menus up when clicked for better user experience

    Known Issues

    • None

    Change Log





    Version 1:

    Released

    Version 1.1:

    Updated server_monitor.sqf to make sure the vector is the correct format.

    Version 2:

    Updated files for the snap building pro update v1.3.

    Added files for Adminbuild and Right Clickables.

    Version 3:

    Updated files for snap building pro v1.4.1

    Ghost preview supported (Thanks Jossy!)

    Version 4:

    Cleaned up some of the HORRENDOUS code :P

    Fixed issue with objects not snapping correctly to objects of a certain degree after restart. ;)

     

     

    Appreciate and support my work? btn_donate_LG.gif

  4. https://github.com/SJossy/Epoch-Snap-Build-with-Vectors

     

    Here's an early release for those smart people if they want to test it ahead of schedule, I haven't yet done any testing myself because it's 1am at the time the instructions were semi finished, so use at your own risk, once I have gone through and checked out the instructions with a vanilla install I will make a proper forum release post and update the git. I haven't had a chance to actually test this without Plot For Life enabled, so if someone could do that it would be a huge help!

     

    I'll say it again, DON'T try this unless you know what you are doing, once I know it works without issue I will post a new topic and officially announce it.

     

    Also if anyone would like to help test and contribute I'd be more than happy to accept that and will award credit where due.

     

    I would highly suggest people do not add these to their files in a production server. If you want to play around with them in a dev server, all the power to you.  There are still 5 or 6 files that need to be changed for them to work at maximum efficiency. HOWEVER, they will work just fine if you add them into your server. It is just to save you the "ADMIN" headache when someone upgrades a wall.

  5. Absolutely beautiful and well done code, also thanks for the credit. This will definitely change the way epoch is played when finished. 

    I've noticed the pull request on epoch github and that you want to change the player build, I've personally no idea how devs intended these changes to affect the game so made player_build2 file instead for now, just wanted to let you know. However I've though about it for quite a while now and want to try to replace default system with something that doesn't force addons to replace the function. 

     

    Basically there are few mods out there that should be part of epoch, imo and made compatible together (also should be a toggle-able option for admins). So I am still thinking of the best way to achieve this.

     

     

    Hey raymix,

     

    Just wondering who the message was directed towards? I canceled my pull request due to the fact that I seen you added your snap building and there is no sense in having to pick between snap build or vector rotation.

  6. I guess, but, there is a easy way to convert it back to the database objectid field for lookup... It is called division  :P

     

    Current Method:

    Object spawn: Sets uid for database to the object.

    Object place: Creates uid using position and dir.

    Object update: find using object uid.

     

    My method possibly:

    Object spawn: Sets uid using object id * 10000000

    Object create: Well, nothing

    Object update find using object (uid / 10000000)

    *object id is auto incremented in database*

     

     

    Anyway, I seen that your script does not include the Y axis. Does that mean you cannot tilt the object forward and backwards?

    Also, what degree can your users tilt the object at?

  7. BIGINT, -9223372036854775808 to 9223372036854775807 normal. 0 to 18446744073709551615 UNSIGNED*

    [Error] Error executing |CHILD:308:24:WoodStairs_DZ:0:50000:[134.875,[16620.7,14106.3,1002.34],"****",[0,0,1]]:[]:[]:0:16621141061002135448:|

     

    20 digits results in error, now it's unlikely someone is going to build 1000m in the air that often, but I know it does happen.. so I'll need to fix this before working on a clean release  :huh:

     

    How old is you database? Go to your database and go to the structure of your objects table. Should give you a type of BIGINT with 24 next to it. 

  8. That is exactly what I did  :lol: I haven't shared it on the forum because as of right now it's a hack job mixed into many other mods which also aren't finished, I only finished the new UID calculation yesterday, but anyway, in regards to the UID, the hive runs into errors when trying to insert UID's longer than 19 numbers (I think) so at this stage I have the vectorUp using an extra 3 digitsin the UID, but now that I think about it, if I was to build somewhere in 1####, 1####, 1###+ (1000Ft) in the air it may cause an error  :huh:

    I'm going to test that now and perhaps start working on a proper release, I'll github it so people can contribute, since the rotations aren't all finished either someone else may be able to figure out the Y axis rotation while I'm busy with other stuff

     

    Nice, database currently supports 24 digits. Which would leave you with 6 digits to play with at the max uid count.

     

    I'd love that you release it!! :)

     

    We are trying as fast as we can!

  9. How/have you solved the duplicate UID issue? If you build 2 block garage doors on the same spot? Before finding this post and the other post I already did this on my own server, let me know if you're struggling with anything :)

     

    10556993_10153037329065715_7607323391382

     

    Hey Jossy,

     

    That is awesome that you were able to create the same thing too! I am surprised that you did not share it on the forums here. (To my knowledge anyway). I read that you did a full database conversion. That seems a bit "extreme" to get vectors to work. I personally don't have any checks against that because I did not know about that until now. But, a simple fix would be to create your own function like this

     

    dayz_objectUID2 = {
    private["_position","_dir","_key"];
    _dir = _this select 0;
    _key = "";
    _position = _this select 1;
    {
    _x = _x * 10;
    if ( _x < 0 ) then { _x = _x * -10 };
    _key = _key + str(round(_x));
    } count _position;
    _key = _key + str(round(_dir));
    _key}; 

    That is the default one, but you can create a fourth one that includes vectors. Really not to hard to do.

     

    Hope to see more from you!

  10. You should pm the people who created snap building / snapping pro and see if you guys can work together, integrating these mods would be awesome for the base building part of Epoch :)

     

    He found me  ;)

     

    Looks cool. Couldn't read the menu options on my mobile but would there be any way to make it work with keyboard keys (like the page up and page down work) or even lock a item in place pay pressing and holding a key and that then stops it moving around the normal way but then let's you control it's tilt etc

     

    Anything is possible  :D

     

    Woah looks really nice!!!!

     

    @Raymix ? :wub:  :wub:

     

    Apparently, @raymix worked...  :P

  11. Did you also make custom hive dll? You can't really store vector rotations to database currently, I know that A3E will change that.

    Other than that, merging with snap pro should take like 5 mins, depending on how complex your player controls are in terms of code  :ph34r:

     

    Edit: scratch that, I think it's possible, just gotta modify few files here and there and should work with fresh servers.

     

    Hey raymix,

     

    The vector rotation is indeed saved to the database. Not only does it work with new servers, it works with existing servers too. No modified files that would be too complicated to edit and change. I am currently working with your files to get it setup correctly. Should have something to show in a few days...  :)

  12. Hey guys,

     

    Thought I'll show you a script I made for my server. Not much to be said about it other than you can now rotate objects around more than one axis. Ever wanted barn doors with the garage doors so you can fit that beautiful MTVR in your garage? Now you can :D ... Somewhat. 

     

    This is the product of a days work in scripting... with the help of a Mountain Dew or two...

    NOTE: I did not make the snap build part.

     

    https://www.youtube.com/watch?v=1fCYdG99D50&feature=youtu.be

     

    Not sure if it is the first of its kind or I just suck at using Google.

     

    Come check it out at my server: 216.244.85.250:2313

    (Might have trouble connecting because STEAM. Go to http://www.DayZBox.com for help)

     

    Sincerely,

    DayzBox Admin - BILLY

×
×
  • Create New...