-
Posts
132 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Articles
Posts posted by striker
-
-
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 Array18:50:00 File z\addons\dayz_server\system\server_monitor.sqf, line 172Due to the error my server will stuck in waiting for server to start authentificationAre 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; } };
-
My Release Is Out!
Plug it in and you are good to go!
There are a few bugs that will hopefully be fixed in the future. Nothing too serious :)
-
Is this a addon for snap pro.
It is the files with Building Vectors in them. As long as you do not have any other addons to , it should work fine.
-
https://www.youtube.com/watch?v=gsa44JO02VQ&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 &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; ((count (_vector select 1)) == 3))then{ _key = ""; _position = _this select 1; { _x = _x * 10; if ( _x &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 &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 &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 &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 &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; ((count (_vector select 1)) == 3))then{ _key = ""; _position = _this select 1; { _x = _x * 10; if ( _x &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 &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 &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 &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; ((count (_vector select 1)) == 3))then{ _key = ""; _position = _this select 1; { _x = _x * 10; if ( _x &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 &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 &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 &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 &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 &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 &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 &gt;= 1) then { _dir = _worldspace select 0; }; _pos = [getMarkerPos "center",0,4000,10,0,2000,0] call BIS_fnc_findSafePos; if (count _pos &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 &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; ((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; ((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; ((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 &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 &gt;&gt; "CfgVehicles" &gt;&gt; _type &gt;&gt; "lockable")) then { _lockable = getNumber(configFile &gt;&gt; "CfgVehicles" &gt;&gt; _type &gt;&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; lock/unlock of safe _object setVariable ["OEMPos", _pos, true]; }; if (count _intentory &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 &gt;&gt; "CfgWeapons" &gt;&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 &gt;&gt; "CfgMagazines" &gt;&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 &gt;&gt; "CfgVehicles" &gt;&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; _dam &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; !(_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.sqfif (count _worldspace &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. ;)
- TNT, ispan55, RabidPanda01 and 17 others
- 20
-
AI's everywhere and 20 000 zombies lul. Good luck ;)
You would need a data center to control that many zombies and AI'S too. :lol:
Or else it would be a CPU hernia if you ask me.
Other than the task ahead of you, sounds really cool :)
-
I am a bit confused, are you guys working together on the same project?
No sir,
They are separate projects
-
Hey Jossy,
Did you ever get the Y axis to work yet or no? Just curious.
-
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.
-
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.
-
Nice, Nice
I just use the scroll menu as that would be easier for the user to use...
Who am I kiding, Honestly I have not looked into using the keys. Although I can look at how epoch did it themselves.
My question is, how do I use other keys like "B" if that does nothing?
-
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?
-
Yep, a simple solution is if they just made the uid the id in the database times a few thousand to prevent ingame collisions with world objects... I mean the database id is unique... :lol:
-
That is probably what it is. But the weird thing is, I have the script working "fine" on my server. When I upgrade it, nothing gets deleted. That being said, I doubt the locations are exactly the same. But as a safety measure, i'm adding in a check.
Long story short, your limited to... 2 :mellow:
-
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.
-
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!
-
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 :)
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!
-
That is very true! I was scanning through the forums and came across this and said to myself, "How fitting";
-
Hey guys,
Actually created a working vector script on my server.
Here's a link.
Believe it or not, I came across this post after I made the vector script.
Still a work in progress so i'm not releasing anything yet.
-
That is awesome! Can't wait to check out your solution for publishing rotations, did you create an extra nested array for the same table for DB? :)
Ill post a small snippet. I'm sure you will understand it. :)
-= PMed Instead =-
-
So does this also mean we might have sideways garagedoors soon?
Indeed ;)
-
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
-
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... :)
-
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
- insertcoins, Sukkaed, xBowBii and 2 others
- 5
-
See edits at the bottom of post
[Release] Build Vectors - Rotate objects in Dayz Epoch (v2.34 P4L & non-P4L)
in A2: Epoch Mods (1.0.5.1)
Posted
Not much actually, just two lines.
Around line 632 on a fresh copy:
Around line 650 on a fresh copy:
Basically a file path change. :)