piyrez Posted July 8, 2014 Report Share Posted July 8, 2014 This is a must use for people using snapping! This is amazing, thank you for all the hard work guys. Link to comment Share on other sites More sharing options...
raymix Posted July 8, 2014 Author Report Share Posted July 8, 2014 have you encountered a problem when placing plotpole it spawns, and seems to put the entire radius of the plotpole where the plotpole is placed, MASS desync then ensues edit:: this is caused by "no plot pole" in infistar, then placing a plotpole have emailed chris Yeah it's caused by third party script, here's the video proof of it working fine: http://www.twitch.tv/raymich/b/545642006 Link to comment Share on other sites More sharing options...
DeliciousAce Posted July 8, 2014 Report Share Posted July 8, 2014 Works Fine! Love This, Thank you a lot for this!! Link to comment Share on other sites More sharing options...
cen Posted July 8, 2014 Report Share Posted July 8, 2014 after you get the F key to drop/snap items, this system is really well done! Link to comment Share on other sites More sharing options...
raymix Posted July 8, 2014 Author Report Share Posted July 8, 2014 Thanks lads, your input means a lot. btw, I've updated readme file on github if you are using new infistar BE filters. Just in case you are getting script restriction #17 kicks, make sure you delete line #19 (or replace 5 with 1 at start of the line) Link to comment Share on other sites More sharing options...
glowpowner Posted July 8, 2014 Report Share Posted July 8, 2014 this looks cool gonna use this for sure thanks Link to comment Share on other sites More sharing options...
redcloud78 Posted July 8, 2014 Report Share Posted July 8, 2014 How would i go about Adding in different types of roads as a buildable that snap together? Link to comment Share on other sites More sharing options...
raymix Posted July 8, 2014 Author Report Share Posted July 8, 2014 How would i go about Adding in different types of roads as a buildable that snap together? should be possible, but I am not sure if roads contain any geo or fire geo lods, so I'm not sure if tool I use will work for you (you can find "make lootpos" tool at vbawol's github or modified version in my DZEI repo). If it does not work out, you will need to do some guessing work for snap points. In this video I am roughly explaining how config and adding snap points works, rest is up to you. Link to comment Share on other sites More sharing options...
jon5353 Posted July 8, 2014 Report Share Posted July 8, 2014 Has anyone gotten this to work with the new Indestructable Items release? (see ) I feel like I can just change snap build's player_build.sqf but I'm not sure if I can do that. Trying to not mess anything up. Link to comment Share on other sites More sharing options...
raymix Posted July 8, 2014 Author Report Share Posted July 8, 2014 Has anyone gotten this to work with the new Indestructable Items release? (see ) I feel like I can just change snap build's player_build.sqf but I'm not sure if I can do that. Trying to not mess anything up. you don't need to change it, player_build I am using does not contain "destructive" or replaced code blocks. Instead of object being attached to player, it is simply attached to a spawned sphere, then sphere gets attached to a player instead. Grab a diffmerge and bash this player build with that one, all you need is create sphere part, spawn snap_build and F key toggle parts. That's it really. Should be able to do it in about 5-10 mins. Link to comment Share on other sites More sharing options...
jon5353 Posted July 9, 2014 Report Share Posted July 9, 2014 you don't need to change it, player_build I am using does not contain "destructive" or replaced code blocks. Instead of object being attached to player, it is simply attached to a spawned sphere, then sphere gets attached to a player instead. Grab a diffmerge and bash this player build with that one, all you need is create sphere part, spawn snap_build and F key toggle parts. That's it really. Should be able to do it in about 5-10 mins. I'm not too keen on all of this stuff, but all I did was edit snapbuild's player_build.sqf for the changes required for indestructables. I then changed my calls to snapbuild's sqf. I'll report back if that worked. Link to comment Share on other sites More sharing options...
mudzereli Posted July 9, 2014 Report Share Posted July 9, 2014 hey raymix, i put in a pull request that adds command menu usage as an option (defaulting to false -- while keeping your scroll system in tact). you should check out it out on github and try it on your test server. thanks again for the awesome addon, i am loving it :) Link to comment Share on other sites More sharing options...
McPimpin Posted July 9, 2014 Report Share Posted July 9, 2014 Does anyone have this working with "Plot for Life mod"? If so would you be so kind as to post the files needed to make it work? Link to comment Share on other sites More sharing options...
raymix Posted July 9, 2014 Author Report Share Posted July 9, 2014 hey raymix, i put in a pull request that adds command menu usage as an option (defaulting to false -- while keeping your scroll system in tact). you should check out it out on github and try it on your test server. thanks again for the awesome addon, i am loving it :) Hey man, thanks for the pull request, tested it out and loved it, more options for people to choose from, lets see if people prefers cmds over action menu, in that case I could just remove actions completely. I am still waiting for people to report bugs or some negative reviews, if this keeps going as good as it is now, I guess I could convert it into config file and do a pull request to awol's repo, would you be ok to leave cmd menu in a code? EDIT: Just realized that you had to unblock code that was originally disabled by epoch for this to work. While this works well as an addition to mission file, devs might not agree with it. I'll just push my version and we'll see where it leads us from there. Does anyone have this working with "Plot for Life mod"? If so would you be so kind as to post the files needed to make it work? Check out second post Q&A Link to comment Share on other sites More sharing options...
raymix Posted July 9, 2014 Author Report Share Posted July 9, 2014 Update: Option to enable commanding menus over actions (your own preference really). Cmd menus allows you to use numpad keys 0 - 9 as a shortcut to actions, handy when dealing with manual snap. For more info please refer to readme on github. Big props to Mudzereli for commit! arkmal 1 Link to comment Share on other sites More sharing options...
McPimpin Posted July 9, 2014 Report Share Posted July 9, 2014 OK so after playing around a little bit, I have figured it doesn't work with the Admin build but does work with the plot for life, which is the important one. One thing to note: If you had the old snap build you could point items in extra_RC to it and it would build item's. With this it seems to not be working as I had houses (set for events) to build on using an Obsidian. When I try to do that now it states building but nothing happens after, no preview or anything. Yet when selecting another option / type of building it states "currently building" I'm moving away from the Extra_RC script at the moment and as this is so much better and more advanced and would rather keep this than have extra build items on the server! Cheers! Oh and if you guys also have plot for life and want a copy/paste see below: /* DayZ Base Building Made for DayZ Epoch please ask permission to use/edit/distrubute email [email protected]. */ private ["_helperColor","_objectHelper","_objectHelperDir","_objectHelperPos","_canDo", "_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_need","_needNear","_vehicle","_inVehicle","_requireplot","_objHDiff","_isLandFireDZ","_isTankTrap","_ownerPUID","_playerUID"]; if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; }; DZE_ActionInProgress = true; // disallow building if too many objects are found within 30m if((count ((getPosATL player) nearObjects ["All",30])) >= DZE_BuildingLimit) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_41"), "PLAIN DOWN"];}; _onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1; _isWater = dayz_isSwimming; _cancel = false; _reason = ""; _canBuildOnPlot = false; _vehicle = vehicle player; _inVehicle = (_vehicle != player); _playerUID = getPlayerUID player; //snap helperDetach = false; _canDo = (!r_drag_sqf and !r_player_unconscious); DZE_Q = false; DZE_Z = false; DZE_Q_alt = false; DZE_Z_alt = false; DZE_Q_ctrl = false; DZE_Z_ctrl = false; DZE_5 = false; DZE_4 = false; DZE_6 = false; DZE_F = false; DZE_cancelBuilding = false; call gear_ui_init; closeDialog 1; if (_isWater) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_26", "PLAIN DOWN"];}; if (_inVehicle) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_42"), "PLAIN DOWN"];}; if (_onLadder) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_21", "PLAIN DOWN"];}; if (player getVariable["combattimeout", 0] >= time) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_43"), "PLAIN DOWN"];}; _item = _this; // Need Near Requirements _abort = false; _reason = ""; _needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "neednearby"); { switch(_x) do{ case "fire": { _distance = 3; _isNear = {inflamed _x} count (getPosATL player nearObjects _distance); if(_isNear == 0) then { _abort = true; _reason = "fire"; }; }; case "workshop": { _distance = 3; _isNear = count (nearestObjects [player, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], _distance]); if(_isNear == 0) then { _abort = true; _reason = "workshop"; }; }; case "fueltank": { _distance = 30; _isNear = count (nearestObjects [player, dayz_fuelsources, _distance]); if(_isNear == 0) then { _abort = true; _reason = "fuel tank"; }; }; }; } forEach _needNear; if(_abort) exitWith { cutText [format[(localize "str_epoch_player_135"),_reason,_distance], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; _classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create"); _classnametmp = _classname; _require = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require"); _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); _ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview"); _lockable = 0; if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then { _lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable"); }; _requireplot = DZE_requireplot; if(isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then { _requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot"); }; _isAllowedUnderGround = 1; if(isNumber (configFile >> "CfgVehicles" >> _classname >> "nounderground")) then { _isAllowedUnderGround = getNumber(configFile >> "CfgVehicles" >> _classname >> "nounderground"); }; _offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset"); if((count _offset) <= 0) then { _offset = [0,1.5,0]; }; _isPole = (_classname == "Plastic_Pole_EP1_DZ"); _isLandFireDZ = (_classname == "Land_Fire_DZ"); _distance = DZE_PlotPole select 0; _needText = localize "str_epoch_player_246"; if(_isPole) then { _distance = DZE_PlotPole select 1; }; // check for near plot _findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance]; _findNearestPole = []; { if (alive _x) then { _findNearestPole set [(count _findNearestPole),_x]; }; } count _findNearestPoles; _IsNearPlot = count (_findNearestPole); // If item is plot pole && another one exists within 45m if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; }; if(_IsNearPlot == 0) then { // Allow building of plot if(_requireplot == 0 || _isLandFireDZ) then { _canBuildOnPlot = true; }; } else { // Since there are plots nearby we check for ownership && then for friend status // check nearby plots ownership && then for friend status _nearestPole = _findNearestPole select 0; // Find owner _ownerID = _nearestPole getVariable ["ownerPUID","0"]; diag_log format["Player_build start: [PlayerUID = %1] [OwnerID = %2]", _playerUID, _ownerID]; // check if friendly to owner if(_playerUID == _ownerID) then { //Keep ownership // owner can build anything within his plot except other plots diag_log text "Player is owner"; if(!_isPole) then { _canBuildOnPlot = true; }; } else { // disallow building plot if(!_isPole) then { _friendlies = player getVariable ["friendlyTo",[]]; // check if friendly to owner if(_ownerID in _friendlies) then { _canBuildOnPlot = true; }; }; }; }; // _message if(!_canBuildOnPlot) exitWith { DZE_ActionInProgress = false; cutText [format[(localize "STR_EPOCH_PLAYER_135"),_needText,_distance] , "PLAIN DOWN"]; }; _missing = ""; _hasrequireditem = true; { _hastoolweapon = _x in weapons player; if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); }; } count _require; _hasbuilditem = _this in magazines player; if (!_hasbuilditem) exitWith {DZE_ActionInProgress = false; cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]; }; if (!_hasrequireditem) exitWith {DZE_ActionInProgress = false; cutText [format[(localize "str_epoch_player_137"),_missing] , "PLAIN DOWN"]; }; if (_hasrequireditem) then { _location = [0,0,0]; _isOk = true; // get inital players position _location1 = getPosATL player; _dir = getDir player; // if ghost preview available use that instead if (_ghost != "") then { _classname = _ghost; }; _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; //Build gizmo _objectHelper = "Sign_sphere10cm_EP1" createVehicle _location; _helperColor = "#(argb,8,8,3)color(0,0,0,0,ca)"; _objectHelper setobjecttexture [0,_helperColor]; _objectHelper attachTo [player,_offset]; _object attachTo [_objectHelper,[0,0,0]]; _position = getPosATL _objectHelper; //cutText [(localize "str_epoch_player_45"), "PLAIN DOWN"]; _objHDiff = 0; if (isClass (missionConfigFile >> "SnapBuilding" >> _classname)) then { ["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build; }; while {_isOk} do { _zheightchanged = false; _zheightdirection = ""; _rotate = false; if (DZE_Q) then { DZE_Q = false; _zheightdirection = "up"; _zheightchanged = true; }; if (DZE_Z) then { DZE_Z = false; _zheightdirection = "down"; _zheightchanged = true; }; if (DZE_Q_alt) then { DZE_Q_alt = false; _zheightdirection = "up_alt"; _zheightchanged = true; }; if (DZE_Z_alt) then { DZE_Z_alt = false; _zheightdirection = "down_alt"; _zheightchanged = true; }; if (DZE_Q_ctrl) then { DZE_Q_ctrl = false; _zheightdirection = "up_ctrl"; _zheightchanged = true; }; if (DZE_Z_ctrl) then { DZE_Z_ctrl = false; _zheightdirection = "down_ctrl"; _zheightchanged = true; }; if (DZE_4) then { _rotate = true; DZE_4 = false; if (helperDetach) then { _dir = -45; } else { _dir = 180; }; }; if (DZE_6) then { _rotate = true; DZE_6 = false; if (helperDetach) then { _dir = 45; } else { _dir = 0; }; }; if (DZE_F and _canDo) then { if (helperDetach) then { _objectHelperDir = getDir _objectHelper; _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); helperDetach = false; } else { _objectHelperPos = getPosATL _objectHelper; detach _objectHelper; _objectHelper setPosATL _objectHelperPos; _objectHelperDir = getDir _objectHelper; _objectHelper setVelocity [0,0,0]; //fix sliding glitch helperDetach = true; }; DZE_F = false; }; if(_rotate) then { if (helperDetach) then { _objectHelperDir = getDir _objectHelper; _objectHelperPos = getPosATL _objectHelper; _objectHelper setDir _objectHelperDir+_dir; _objectHelper setPosATL _objectHelperPos; } else { _objectHelper setDir _dir; _objectHelper setPosATL _position; //diag_log format["DEBUG Rotate BUILDING POS: %1", _position]; }; }; if(_zheightchanged) then { if (!helperDetach) then { detach _objectHelper; }; _position = getPosATL _objectHelper; if(_zheightdirection == "up") then { _position set [2,((_position select 2)+0.1)]; _objHDiff = _objHDiff + 0.1; }; if(_zheightdirection == "down") then { _position set [2,((_position select 2)-0.1)]; _objHDiff = _objHDiff - 0.1; }; if(_zheightdirection == "up_alt") then { _position set [2,((_position select 2)+1)]; _objHDiff = _objHDiff + 1; }; if(_zheightdirection == "down_alt") then { _position set [2,((_position select 2)-1)]; _objHDiff = _objHDiff - 1; }; if(_zheightdirection == "up_ctrl") then { _position set [2,((_position select 2)+0.01)]; _objHDiff = _objHDiff + 0.01; }; if(_zheightdirection == "down_ctrl") then { _position set [2,((_position select 2)-0.01)]; _objHDiff = _objHDiff - 0.01; }; _objectHelper setDir (getDir _objectHelper); if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then { _position set [2,0]; }; _objectHelper setPosATL _position; //diag_log format["DEBUG Change BUILDING POS: %1", _position]; if (!helperDetach) then { _objectHelper attachTo [player]; }; }; sleep 0.5; _location2 = getPosATL player; if(DZE_5) exitWith { _isOk = false; detach _object; _dir = getDir _object; _position = getPosATL _object; //diag_log format["DEBUG BUILDING POS: %1", _position]; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _location2 > 10) exitWith { _isOk = false; _cancel = true; _reason = "You've moved to far away from where you started building (within 10 meters)"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(abs(_objHDiff) > 10) exitWith { _isOk = false; _cancel = true; _reason = "Cannot move up or down more than 10 meters"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if (player getVariable["combattimeout", 0] >= time) exitWith { _isOk = false; _cancel = true; _reason = (localize "str_epoch_player_43"); detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if (DZE_cancelBuilding) exitWith { _isOk = false; _cancel = true; _reason = "Cancelled building."; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; }; //No building on roads unless toggled if (!DZE_BuildOnRoads) then { if (isOnRoad _position) then { _cancel = true; _reason = "Cannot build on a road."; }; }; // No building in trader zones if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; }; if(!_cancel) then { _classname = _classnametmp; // Start Build _tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; _tmpbuilt setdir _dir; // Get position based on object _location = _position; if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then { _location set [2,0]; }; _tmpbuilt setPosATL _location; cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"]; _limit = 3; if (DZE_StaticConstructionCount > 0) then { _limit = DZE_StaticConstructionCount; } else { if (isNumber (configFile >> "CfgVehicles" >> _classname >> "constructioncount")) then { _limit = getNumber(configFile >> "CfgVehicles" >> _classname >> "constructioncount"); }; }; _isOk = true; _proceed = false; _counter = 0; while {_isOk} do { [10,10] call dayz_HungerThirst; player playActionNow "Medic"; _dis=20; _sfx = "repair"; [player,_sfx,0,false,_dis] call dayz_zombieSpeak; [player,_dis,true,(getPosATL player)] spawn player_alertZombies; r_interrupt = false; r_doLoop = true; _started = false; _finished = false; while {r_doLoop} do { _animState = animationState player; _isMedic = ["medic",_animState] call fnc_inString; if (_isMedic) then { _started = true; }; if (_started && !_isMedic) then { r_doLoop = false; _finished = true; }; if (r_interrupt || (player getVariable["combattimeout", 0] >= time)) then { r_doLoop = false; }; if (DZE_cancelBuilding) exitWith { r_doLoop = false; }; sleep 0.1; }; r_doLoop = false; if(!_finished) exitWith { _isOk = false; _proceed = false; }; if(_finished) then { _counter = _counter + 1; }; cutText [format[(localize "str_epoch_player_139"),_text, _counter,_limit], "PLAIN DOWN"]; if(_counter == _limit) exitWith { _isOk = false; _proceed = true; }; }; if (_proceed) then { _num_removed = ([player,_item] call BIS_fnc_invRemove); if(_num_removed == 1) then { cutText [format[localize "str_build_01",_text], "PLAIN DOWN"]; if (_isPole) then { [] spawn player_plotPreview; }; _tmpbuilt setVariable ["OEMPos",_location,true]; if(_lockable > 1) then { _combinationDisplay = ""; switch (_lockable) do { case 2: { // 2 lockbox _combination_1 = (floor(random 3)) + 100; // 100=red,101=green,102=blue _combination_2 = floor(random 10); _combination_3 = floor(random 10); _combination = format["%1%2%3",_combination_1,_combination_2,_combination_3]; dayz_combination = _combination; if (_combination_1 == 100) then { _combination_1_Display = "Red"; }; if (_combination_1 == 101) then { _combination_1_Display = "Green"; }; if (_combination_1 == 102) then { _combination_1_Display = "Blue"; }; _combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3]; }; case 3: { // 3 combolock _combination_1 = floor(random 10); _combination_2 = floor(random 10); _combination_3 = floor(random 10); _combination = format["%1%2%3",_combination_1,_combination_2,_combination_3]; dayz_combination = _combination; _combinationDisplay = _combination; }; case 4: { // 4 safe _combination_1 = floor(random 10); _combination_2 = floor(random 10); _combination_3 = floor(random 10); _combination_4 = floor(random 10); _combination = format["%1%2%3%4",_combination_1,_combination_2,_combination_3,_combination_4]; dayz_combination = _combination; _combinationDisplay = _combination; }; }; _tmpbuilt setVariable ["CharacterID",_combination,true]; _tmpbuilt setVariable ["ownerPUID",_playerUID,true]; PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location,_playerUID],_classname]; publicVariableServer "PVDZE_obj_Publish"; cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5]; } else { _tmpbuilt setVariable ["CharacterID",dayz_characterID,true]; _tmpbuilt setVariable ["ownerPUID",_playerUID,true]; // fire? if(_tmpbuilt isKindOf "Land_Fire_DZ") then { _tmpbuilt spawn player_fireMonitor; } else { PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location,_playerUID],_classname]; publicVariableServer "PVDZE_obj_Publish"; }; }; } else { deleteVehicle _tmpbuilt; cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"]; }; } else { r_interrupt = false; if (vehicle player == player) then { [objNull, player, rSwitchMove,""] call RE; player playActionNow "stop"; }; deleteVehicle _tmpbuilt; cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"]; }; } else { cutText [format[(localize "str_epoch_player_47"),_text,_reason], "PLAIN DOWN"]; }; }; DZE_ActionInProgress = false; Pry Pry, Can you share your other files that are required for "Plot For Life" What version are you using? I used your player_Buid.sqf and that fixed the plotpole ownershiop issue i was having but now once I place the plotpole it keeps telling me that I need a plotpole within 30 meters when I try and build other items Link to comment Share on other sites More sharing options...
ekroemer Posted July 9, 2014 Report Share Posted July 9, 2014 raymix, I really like your snapping tool! The high points for me being the abilities to walk around the preview object before placement to rotate in finer than 180 deg steps (finally orient stairs away from you, building spiral stairs is a pain without this) to adjust after snapping (building a straight line of cinder walls on sloped bottom needs height adjustments) May I make some suggestions? While I personally prefer the mouse wheel actions, some of our players like commanding menues more. Would it be possible to enable both simultanously? Your description of the new feature sounds like a server wide choice has to be made, making approximately half of the population disppointed ;-). I imagine the main problem with this would be 'communication' between both sets of commands, depending on how you implemented it this could be trivial or require some redesign.... The 45 deg grid for rotating objects is a vast improvement over the original 180 deg. However, would it be possible to allow the delta_azimuth to change on user request? To build a pentagon, you'd need 72 deg ;-) Perhaps the input value would be an integer divisor for 360 deg (default being 8 -> 45 deg). Sadly I've no clue if one can script a suitable user input procedure. Sometimes you have to build perching on something small, so you fall to your death when you step forward or backward to place the object to be added. Would it be possible to increase/decrease the distance from the object to the player like it is done with height? Link to comment Share on other sites More sharing options...
bFe Posted July 9, 2014 Report Share Posted July 9, 2014 Great job raymix! Link to comment Share on other sites More sharing options...
RC_Robio Posted July 9, 2014 Report Share Posted July 9, 2014 If using Infistar, there shouldn't be any qoutes for the dayzAction items. But installed in 20 sec!! Another great addition!! Thanks Ramix!! Link to comment Share on other sites More sharing options...
PryMary Posted July 9, 2014 Report Share Posted July 9, 2014 Pry, Can you share your other files that are required for "Plot For Life" What version are you using? I used your player_Buid.sqf and that fixed the plotpole ownershiop issue i was having but now once I place the plotpole it keeps telling me that I need a plotpole within 30 meters when I try and build other items I am using this one here: Just using the latest version of that and merged the differences from plot4life into the same files being used by snap pro. If using Infistar, there shouldn't be any qoutes for the dayzAction items. But installed in 20 sec!! Another great addition!! Thanks Ramix!! The latest update put's the actions into quotes. (yesterdays update) Pry Link to comment Share on other sites More sharing options...
RC_Robio Posted July 9, 2014 Report Share Posted July 9, 2014 Guess I should check my email more often.. Thanks for the info PryMary! PryMary 1 Link to comment Share on other sites More sharing options...
LunchboxCharlie Posted July 9, 2014 Report Share Posted July 9, 2014 I'm having an issue, I'm not sure if it has to do with the script or not but maintain plotpole is no longer working. It's saying '0 objects in area' when I try to maintain. Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted July 9, 2014 Report Share Posted July 9, 2014 I'm having an issue, I'm not sure if it has to do with the script or not but maintain plotpole is no longer working. It's saying '0 objects in area' when I try to maintain. It usually says that if there are no parts that need to be maintained in the area. Nothing is damaged. Link to comment Share on other sites More sharing options...
raymix Posted July 9, 2014 Author Report Share Posted July 9, 2014 I'm having an issue, I'm not sure if it has to do with the script or not but maintain plotpole is no longer working. It's saying '0 objects in area' when I try to maintain. grab your rocket launcher and do some minor damage to your walls, see if that gives you ability to maintain. If it does, make sure your DB event setDamageOnAge is set a bit higher than 0.1 Link to comment Share on other sites More sharing options...
mudzereli Posted July 9, 2014 Report Share Posted July 9, 2014 May I make some suggestions? While I personally prefer the mouse wheel actions, some of our players like commanding menues more. Would it be possible to enable both simultanously? Your description of the new feature sounds like a server wide choice has to be made, making approximately half of the population disppointed ;-). I imagine the main problem with this would be 'communication' between both sets of commands, depending on how you implemented it this could be trivial or require some redesign.... You should be able to put something like this at the bottom of the dayz_spaceInterrupt.sqf JUST BEFORE THE LAST LINE (which says: _handled): //toggles between scroll menu and commanding menu with the MINUS key (on main keyboard) if(_dikCode == 0x0C) then { private["_message"]; DZE_SNAP_PRO_USE_COMMAND_MENU = !DZE_SNAP_PRO_USE_COMMAND_MENU; if(DZE_SNAP_PRO_USE_COMMAND_MENU) then { _message = "SNAP PRO: now using COMMANDING MENU"; } else { _message = "SNAP PRO: now using SCROLL MENU"; }; cutText[_message,"PLAIN DOWN"]; hint _message; }; raymix 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now