-
Posts
2098 -
Joined
-
Last visited
-
Days Won
144
Content Type
Profiles
Forums
Articles
Posts posted by juandayz
-
-
Just now, Blestda86ta said:
yes the option came up but nothing happened when I pressed
do you put all sqf that you created into mpmissions\your instance\colorEnv\ ?
I dont have arma2 anymore so cannot test.. but try replace the env.sqf by this other one:
env.sqf
SpoilerColorMenu = [ ["COLOR MENU",true], ["NORMAL", [], "", -5, [["expression","execVM 'colorEnv\normal.sqf'"]], "1", "1"], ["AFRICA", [], "", -5, [["expression","execVM 'colorEnv\africa.sqf'"]], "1", "1"], ["WASTELAND", [], "", -5, [["expression","execVM 'colorEnv\wasteland.sqf'"]], "1", "1"], ["", [], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"] ]; showCommandingMenu "#USER:ColorMenu";
then try the option "colorcorrection" located over the etool again.
If still dsnt works.. try to do it pressing a key.. (using a custom keyboard.sqf)
-
Just now, NateDayZ said:
Server_monitor if( (count _inventory > 0) && !_isPlot && !_doorLocked && {_type != "MAP_kulna"}) then {
I put the script in my mission folder and I call it with right click actions on toolbox
["ItemToolbox","Build kulna","execVM 'addons\kulna.sqf';","true"],
When I go ingame and right click my toolbox I am able to build the kulna but when I restart the server it is gone and I do not see it in the database.
are you missing this entry in custom variables.sqf?
DayZ_SafeObjects = ["YOUR OBJECT ID","the others default objects from epoch",""];
-
Just now, Blestda86ta said:
No
the option on etool appear?
-
Just now, Blestda86ta said:
@juandayz Not working :( how do I add an infistar #mainactionmenu?
wait a minute.. the other one works? the env.sqf?
-
Just now, NateDayZ said:
Hi, Objects are still not being saved to the database. Is this just me with this problem?
please paste how do you do it. step by step
-
On 24/7/2017 at 1:32 AM, NateDayZ said:
Hi, am I able to make it so the object saves to database, only works on your plotpole and only player who made object can remove it?
yes, you need add a restriction for check nearest poles and in configvariables you have an option to restrict some objects from being be removed.
DZE_restrictRemoval = ["your object id","the rest of default objects"];
pole restriction:
_playerPos = getPosATL player; _nearRestr = count nearestObjects [_playerPos, ["Plastic_Pole_EP1_DZ"], 27] > 0; if !(_nearRestr) exitWith { DZE_ActionInProgress = false; cutText [format["Needs be in plot pole area"], "PLAIN DOWN"]; };
-
On 20/8/2017 at 1:37 PM, DAKA said:
I'm looking for a way to set the view distance with just using the scroll wheel of your mouse. If someone has an option, please share. Thanks.
setviewmenu.sqf (mpmissions\your instance\scripts\ )
_STVIEW = 'setviewdistance %1;'; MainActionMenu = [ ["",true], ["View Distance>>", [], "#USER:STVIEW", -5, [["expression", ""]], "1", "1"], ["", [], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"] ]; STVIEW = [ ["",true], ["250M", [2], "", -5, [["expression", format[_STVIEW ,"250"]]], "1", "1"], ["500M", [3], "", -5, [["expression", format[_STVIEW ,"500"]]], "1", "1"], ["750M", [4], "", -5, [["expression", format[_STVIEW ,"750"]]], "1", "1"], ["1000M", [5], "", -5, [["expression", format[_STVIEW ,"1000"]]], "1", "1"], ["1250M", [6], "", -5, [["expression", format[_STVIEW ,"1250"]]], "1", "1"], ["1500M", [7], "", -5, [["expression", format[_STVIEW ,"1500"]]], "1", "1"], ["1750M", [8], "", -5, [["expression", format[_STVIEW ,"1750"]]], "1", "1"], ["2000M", [9], "", -5, [["expression", format[_STVIEW ,"2000"]]], "1", "1"], ["2250M", [10], "", -5, [["expression", format[_STVIEW ,"2250"]]], "1", "1"], ["2500M", [11], "", -5, [["expression", format[_STVIEW ,"2500"]]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Next page", [12], "#USER:STVIEW2", -5, [["expression", ""]], "1", "1"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"] ]; STVIEW2 = [ ["",true], ["2750M", [2], "", -5, [["expression", format[_STVIEW ,"2750"]]], "1", "1"], ["3000M", [3], "", -5, [["expression", format[_STVIEW ,"3000"]]], "1", "1"], ["3250M", [4], "", -5, [["expression", format[_STVIEW ,"3250"]]], "1", "1"], ["3500M", [5], "", -5, [["expression", format[_STVIEW ,"3500"]]], "1", "1"], ["3750M", [6], "", -5, [["expression", format[_STVIEW ,"3750"]]], "1", "1"], ["4000M", [7], "", -5, [["expression", format[_STVIEW ,"4000"]]], "1", "1"], ["4250M", [8], "", -5, [["expression", format[_STVIEW ,"4250"]]], "1", "1"], ["4500M", [9], "", -5, [["expression", format[_STVIEW ,"4500"]]], "1", "1"], ["4750M", [10], "", -5, [["expression", format[_STVIEW ,"4750"]]], "1", "1"], ["5000M", [11], "", -5, [["expression", format[_STVIEW ,"5000"]]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"] ]; showCommandingMenu "#USER:MainActionMenu";
fn_selfactions.sqf
if (("Binocular_Vector" in _itemsPlayer) || ("Binocular" in _itemsPlayer)) then { if (s_player_setview < 0) then { _text = "SetView"; s_player_setview = player addAction [format["%1",_text], "\scripts\setviewmenu.sqf"]; }; } else { player removeAction s_player_setview; s_player_setview = -1; };
Note: cannot remember if binoculars are taked as _itemsPlayers or _magazinesPlayer
at least add
s_player_setview = -1;
in your custom variables.sqf with the rest of actions.
-
@Tech_Support think you need add the restriction about players without backpacks
if (_bp != "") exitWith{dayz_actioninprogress = false; systemchat "need a backpack";};
above this line:
_bp addMagazineCargoGlobal ["ItemKiloHemp",1];
-
18 hours ago, Blestda86ta said:
Trying to find a way to right click and turn off/on ambient sound and color corrections. I'm using the 'deploy anything' script. Anyone know how to do this? I also need the script for color correction/ambient sound if they are scripts.
try this:
1-Create in this path: yoru server root\mpmissions\your instance\colorEnv\
2-Into this new path create:
A-env.sqf
Spoilerif(isNil "Environment") then {Environment = true;} else {Environment = !Environment}; if (Environment) then { enableEnvironment = false; }else{ enableEnvironment = true; };
B- colormenu.sqf
Spoiler_Actions = "colorEnv\"; _path1 = 'player execVM "'+_Actions+'%1"'; MainActionMenu = [ ["COLOR MENU",true], ["AFRICA", [], "", -5, [["expression", format[_path1,"africa.sqf"]]], "1", "1"], ["WASTELAND", [], "", -5, [["expression", format[_path1,"wasteland.sqf"]]], "1", "1"], ["NORMAL", [], "", -5, [["expression", format[_path1,"normal.sqf"]]], "1", "1"], ["", [], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"] ]; showCommandingMenu "#USER:MainActionMenu";
Note: infistar maybe need add #MainActionMenu
D- africa.sqf
Spoilercolortheme = ppEffectCreate ["colorCorrections", 1501]; colortheme ppEffectEnable true; colortheme ppEffectAdjust [ 1, 1.3, 0.001, [-0.11, -0.65, -0.76, 0.015],[-5, -1.74, 0.09, 0.86],[-1.14, -0.73, 1.14, -0.09]]; colortheme ppEffectCommit 0;
wasteland.sqf
Spoilercolortheme = ppEffectCreate ["colorCorrections", 1501]; colortheme ppEffectEnable true; colortheme ppEffectAdjust [1, 1, 0, [0.0, 0.0, 0.0, 0.0], [0.8*2, 0.5*2, 0.0, 0.7], [0.9, 0.9, 0.9, 0.0]]; colortheme ppEffectCommit 0;
normal.sqf
Spoilercolortheme ppEffectEnable false; ppEffectDestroy colortheme;
3-Now in your config,sqf (deploy anything mod) add this two lines to add the actions to the etool.
["ItemEtool","ColorCorrection","execVM 'colorEnv\colormenu.sqf';","true"], ["ItemEtool","Environmentsound","execVM 'colorEnv\env.sqf';","true"]
-
Just now, khalcifer said:
Hello how can i change scripts
add ItemKiloHemp to backpack
private ["_hempqty","_hasMachete","_findHemp","_countHemp","_playerNear"];
if (dayz_actioninprogress) exitWith {};
dayz_actioninprogress = true;
_hempqty = {_x == "ItemKiloHemp"} count magazines player;
_hasMachete = "ItemMachete" in items player;
_findHemp = nearestObjects [player,["fiberplant"],5];
_countHemp = count _findHemp;
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 10]) > 1;
player removeAction s_player_Getweed;
s_player_Getweed = -1;if (_playerNear) exitWith { cutText ["Cannot do this while another player is nearby!","PLAIN"]; };
if (vehicle player != player) exitWith { cutText ["You cannot do this while in a vehicle!", "PLAIN DOWN"];
dayz_actioninprogress = false;
};
if (_hempqty > 9) exitWith { cutText ["WARNING: You have a max amount of weed in your inventory!", "PLAIN DOWN"];
dayz_actioninprogress = false;
};
if (!_hasMachete) exitWith { cutText ["You need a Machete to do this!", "PLAIN DOWN"];
dayz_actioninprogress = false;
};
if (_countHemp > 0) then {
r_interrupt = false;
player playActionNow "PutDown";
deleteVehicle (_findHemp select 0);
player addMagazine "ItemKiloHemp";
cutText ["You collected some precious weed!", "PLAIN DOWN"];
//[format["%1 Gathered WEED.",name player]] call my_scripts_logger;
uiSleep 3;
if (round(random(100)) == 1) then { [player,1] call GiveXP; };
} else {
cutText ["There is no more Hemp! :'(", "PLAIN DOWN"];
};
dayz_actioninprogress = false;maybe something like:
_player = player; _backPack = typeOf (unitBackPack _player); if (_backPack != "") then { _backPack addMagazine "ItemKiloHemp"; }else{ _player addMagazine "ItemKiloHemp"; };
or you can take a look how advanced trading add items to the backpack when you buy.
-
Just now, Exoflame said:
i'm trying to edit the starting loadouts, only the magazines don't spawn and neither do the maps or radio's, anyone who could help me ?
EDIT: i almost forgot, i have installed the overwatch mod and put it in the load order But i dont know what else to do, the guns are not available at all
spawn\config.sqf
example:
class_selection = true; #define START_ITEMS "ItemBandage",2,"ItemPainkiller","ItemWaterbottle","FoodPistachio" class_public = [ ["Soldier","USMC_Soldier2","SurvivorWcombat_DZ",[START_ITEMS,"8Rnd_9x18_Makarov",2],["Makarov_DZ","ItemMap","ItemRadio","ItemToolbox"],"DZ_Assault_Pack_EP1",[],[],0,0,0],
-
Quote
this is enormously useful already, but this isnt proof against manual server restarts, i have made a scheduler on mygame panel that restarts the .exe file, so when i restart my server manually, it doesnt reset the timer for the auto-restart..
oh yes if u restart manually your server into the 4hs hours of server up time.. then yes.. your debug monitor timer gonna drop another diferent time..
To understand. You set a server restart time in your scheduler.xml (every 3hs for example) 00:00hs 03:00hs 06:00hs. etc
Then for example you start at 00:00hs. and at 01:00hs you restart manually your server. When you start again your server ,the debug monitor gonna show" time left 3hs".. and the autorestart msgs gonna show "server restart in 2hs".. and at 03:00hs your server gonna be restarted automatically while your debug monitor shows "time left 1hs".
So the problem its not the msgs.. is the manually autorestart in the middle and the debug monitor time.
-
Just now, Exoflame said:
could anyone help me out, i'm pretty new to the dayz server files and don't know where to place things yet, and which functions do what..
you can use BEC as salival said (the scheduler.xml) you can find an example of scheduler.xml with this msgs here:
or use config.cfg ( located in Your server Root\instance_11_chernarus\ )
change this lines
motd[] = {"DayZ Epoch","Have fun!"}; motdInterval = 0;
by:
motd[] = { "restart every 4hs", "server restart in 3hs", "server restart in 2hs", "server restart in 1hs" }; motdInterval = 3600; //time in seconds between each msg
or this one by cherdenko
or u can use waituntil command and launch the msgs using hint or systemchat or dynamic or whatever..
something like:
waituntil {(round(time)) > 3600}; if (time > 3600) then {hint "<SERVER-RESTART>:3hs";}; waituntil {(round(time)) > 7200}; if (time > 7200) then {hint "<SERVER-RESTART>:2hs";}; waituntil {(round(time)) > 10800}; if (time > 10800) then {hint "<SERVER-RESTART>:1hs";}; waituntil {(round(time)) > 13800}; if (time > 13800) then {hint "<SERVER-RESTART>:10 minutes";};
-
11 hours ago, JohnnyBravo666 said:
How would you do a Query ? I'm not even sure how to start with that.
His talking about a sql function..something like find vehicles without keys. Its a good idea.
-
@DAKA if put bridges is so hard.. why not create a build menu?
for example:
1-in a custom keyboard.sqf at bottom but before the last "_handled" paste
if (_dikCode == 0x3D) then {[] execVM "bridgemenu\bridges.sqf";};//BRIDGE MENU F3
2-Create bridges.sqf in mpmissions\your instance\bridgemenu\
Spoiler_adminsList = ["",""]; if!((getPlayerUID player) in _adminsList) exitWith {}; _Actions = "bridgemenu\"; _path1 = 'player execVM "'+_Actions+'%1"'; _bridges = '["%1"] execVM "bridgemenu\bridgebuilder.sqf"'; MainActionMenu = [ ["MENU",true], ["BUILD BRIDGE>>", [],"#USER:Brmenu", -5,[["expression",""]],"1","1"], ["REMOVE", [], "", -5, [["expression", format[_path1,"remove.sqf"]]], "1", "1"], ["", [], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"] ]; Brmenu = [ ["",true], [">BRIDGES<", [], "", -5, [["expression", ""]], "1", "0"], ["Bridge1", [], "", -5, [["expression", format[_bridges,"Land_nav_pier_m_2"]]], "1", "1"], ["Bridge2", [], "", -5, [["expression", format[_bridges,""]]], "1", "1"], ["", [], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"] ]; showCommandingMenu "#USER:MainActionMenu";
3 in mpmissions\your instance\bridgemenu\ create remove.sqf
Spoilerprivate ["_delobj","_player","_objectID","_objectUID"]; _player = player; _delobj = cursorTarget; deleteVehicle _delobj; _objectID = _delobj getVariable ["ObjectID", "0"]; _objectUID = _delobj getVariable ["ObjectUID", "0"]; [_objectID,_objectUID] call server_deleteObj; PVDZ_obj_Destroy = [_objectID,_objectUID,_delobj]; publicVariableServer "PVDZ_obj_Destroy"; _dotxt = format["%1 Destroyed and Deleted", _delobj]; titleText [_dotxt,"PLAIN DOWN"]; titleFadeOut 4;
4-in mpmissions\your instance\bridgemenu\ create bridgebuilder.sqf
Spoilerprivate ["_playerPos","_nearRestr","_hastool","_hasitem","_removed","_abort","_reason","_distance","_isNear","_lockable","_isAllowedUnderGround","_offset","_classname","_zheightdirection","_zheightchanged","_rotate","_objectHelperPos","_objectHelperDir","_objHDiff","_position","_isOk","_dir","_vector","_cancel","_location2","_buildOffset","_location","_limit","_started","_finished","_animState","_isMedic","_proceed","_counter","_dis","_sfx","_combination_1_Display","_combination_1","_combination_2","_combination_3","_combination","_combinationDisplay","_combination_4","_num_removed","_tmpbuilt","_vUp","_classnametmp","_text","_ghost","_objectHelper","_location1","_object","_helperColor","_canDo","_pos","_onLadder","_vehicle","_inVehicle","_needNear","_canBuild"]; //Check if building already in progress, exit if so. if (dayz_actionInProgress) exitWith {localize "str_epoch_player_40" call dayz_rollingMessages;}; dayz_actionInProgress = true; _pos = [player] call FNC_GetPos; 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; DZE_updateVec = false; DZE_memDir = 0; DZE_memForBack = 0; DZE_memLeftRight = 0; call gear_ui_init; closeDialog 1; //////////////////////////////PUT YOUR OBJET ID BELLOW _classname = _this select 0; /////////////////////////////////////////////// _classnametmp = _classname; _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); _ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview"); _lockable = 0; //default define if lockable not found in config file below if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then { //find out if item is lockable object _lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable"); // 2=lockbox, 3=combolock, 4=safe }; _isAllowedUnderGround = 1; //check if allowed to build under terrain 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,10,1]; }; _objectHelper = objNull; _isOk = true; _location1 = [player] call FNC_GetPos; // get inital players position _dir = getDir player; //required to pass direction when building // if ghost preview available use that instead if (_ghost != "") then { _classname = _ghost; }; _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"]; //object preview, not an actual object that will be built _objectHelper = "Sign_sphere10cm_EP1" createVehicle [0,0,0]; _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]]; if (isClass (configFile >> "SnapBuilding" >> _classname)) then { ["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build; }; ["","","",["Init","Init",0]] spawn build_vectors; _objHDiff = 0; _cancel = false; _reason = ""; helperDetach = false; _canDo = (!r_drag_sqf and !r_player_unconscious); _position = [_objectHelper] call FNC_GetPos; 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(DZE_dirWithDegrees) then{ DZE_memDir = DZE_memDir - DZE_curDegree; }else{ DZE_memDir = DZE_memDir - 45; }; }; if (DZE_6) then { _rotate = true; DZE_6 = false; if(DZE_dirWithDegrees) then{ DZE_memDir = DZE_memDir + DZE_curDegree; }else{ DZE_memDir = DZE_memDir + 45; }; }; if(DZE_updateVec) then{ [_objectHelper,[DZE_memForBack,DZE_memLeftRight,DZE_memDir]] call fnc_SetPitchBankYaw; DZE_updateVec = false; }; if (DZE_F and _canDo) then { if (helperDetach) then { _objectHelper attachTo [player]; DZE_memDir = DZE_memDir-(getDir player); helperDetach = false; [_objectHelper,[DZE_memForBack,DZE_memLeftRight,DZE_memDir]] call fnc_SetPitchBankYaw; } else { _objectHelperPos = getPosATL _objectHelper; detach _objectHelper; DZE_memDir = getDir _objectHelper; [_objectHelper,[DZE_memForBack,DZE_memLeftRight,DZE_memDir]] call fnc_SetPitchBankYaw; _objectHelper setPosATL _objectHelperPos; _objectHelper setVelocity [0,0,0]; //fix sliding glitch helperDetach = true; }; DZE_F = false; }; if(_rotate) then { [_objectHelper,[DZE_memForBack,DZE_memLeftRight,DZE_memDir]] call fnc_SetPitchBankYaw; }; if(_zheightchanged) then { if (!helperDetach) then { detach _objectHelper; _objectHelperDir = getDir _objectHelper; }; _position = [_objectHelper] call FNC_GetPos; 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; }; if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then { _position set [2,0]; }; if (surfaceIsWater _position) then { _objectHelper setPosASL _position; } else { _objectHelper setPosATL _position; }; if (!helperDetach) then { _objectHelper attachTo [player]; }; [_objectHelper,[DZE_memForBack,DZE_memLeftRight,DZE_memDir]] call fnc_SetPitchBankYaw; }; uiSleep 0.5; _location2 = [player] call FNC_GetPos; _objectHelperPos = [_objectHelper] call FNC_GetPos; if(DZE_5) exitWith { _isOk = false; _position = [_object] call FNC_GetPos; detach _object; _dir = getDir _object; _vector = [(vectorDir _object),(vectorUp _object)]; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _location2 > DZE_buildMaxMoveDistance) exitWith { _isOk = false; _cancel = true; _reason = format[localize "STR_EPOCH_BUILD_FAIL_MOVED",DZE_buildMaxMoveDistance]; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _objectHelperPos > DZE_buildMaxMoveDistance) exitWith { _isOk = false; _cancel = true; _reason = format[localize "STR_EPOCH_BUILD_FAIL_TOO_FAR",DZE_buildMaxMoveDistance]; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(abs(_objHDiff) > DZE_buildMaxHeightDistance) exitWith { _isOk = false; _cancel = true; _reason = format[localize "STR_EPOCH_BUILD_FAIL_HEIGHT",DZE_buildMaxHeightDistance]; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if (player getVariable["combattimeout",0] >= diag_tickTime) 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 = localize "STR_EPOCH_PLAYER_46"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; }; _isOk = true; _proceed = false; _counter = 0; _location = [0,0,0]; //No building on roads unless toggled if (!DZE_BuildOnRoads) then { if (isOnRoad _position) then { _cancel = true; _reason = localize "STR_EPOCH_BUILD_FAIL_ROAD"; }; }; // No building in trader zones if(!canbuild) then { _cancel = true; _reason = format[localize "STR_EPOCH_PLAYER_136",localize "STR_EPOCH_TRADER"]; }; if(!_cancel) then { _classname = _classnametmp; // Start Build _tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; //create actual object that will be published to database _tmpbuilt setdir _dir; //set direction inherited from passed args from control _tmpbuilt setVariable["memDir",_dir,true]; // Get position based on object _location = _position; if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then { //check Z axis if not allowed to build underground _location set [2,0]; //reset Z axis to zero (above terrain) }; _tmpbuilt setVectorDirAndUp _vector; _buildOffset = [0,0,0]; _vUp = _vector select 1; switch (_classname) do { case "MetalFloor_DZ": { _buildOffset = [(_vUp select 0) * .148, (_vUp select 1) * .148,0]; }; }; _location = [ (_location select 0) - (_buildOffset select 0), (_location select 1) - (_buildOffset select 1), (_location select 2) - (_buildOffset select 2) ]; if (surfaceIsWater _location) then { _tmpbuilt setPosASL _location; _location = ASLtoATL _location; //Database uses ATL } else { _tmpbuilt setPosATL _location; }; format[localize "str_epoch_player_138",_text] call dayz_rollingMessages; //////////////////////////////////////////////////##########START TO BUILD AND REMOVE OBJETS player playActionNow "Medic"; [player,"repair",0,false,10] call dayz_zombieSpeak; [player,10,true,(getPosATL player)] spawn player_alertZombies; sleep 3; //////////Change items bellow by your owns in _hasitems variable //////////////////////////////////////////////////////////////////////////////// _limit = 3; //times it takes to build by default if (DZE_StaticConstructionCount > 0) then { //if count is manually overridden inside init.sqf, use that instead, else use limits configured in config files _limit = DZE_StaticConstructionCount; } else { if (isNumber (configFile >> "CfgVehicles" >> _classname >> "constructioncount")) then { _limit = getNumber(configFile >> "CfgVehicles" >> _classname >> "constructioncount"); }; }; _tmpbuilt setVariable ["OEMPos",_location,true]; //store original location as a variable //if not lockable item _tmpbuilt setVariable ["CharacterID",dayz_characterID,true]; if (DZE_permanentPlot) then { _tmpbuilt setVariable ["ownerPUID",dayz_playerUID,true]; _friendsArr = [[dayz_playerUID,toArray (name player)]]; _tmpbuilt setVariable ["plotfriends", _friendsArr, true]; PVDZ_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location,dayz_playerUID,_vector],_friendsArr]; publicVariableServer "PVDZ_obj_Publish"; //customize msg bellow cutText [format["NICE!"], "PLAIN DOWN",3]; }; } else { //if magazine was not removed, cancel publish deleteVehicle _tmpbuilt; localize "str_epoch_player_46" call dayz_rollingMessages; }; dayz_actionInProgress = false;
5-In somewhere into your custom variables.sqf put:
SpoilerDZE_Bridges = ["Land_nav_pier_m_2",""];//add more if u put more in bridges sqf DayZ_SafeObjects = DZE_Bridges+["Base_Fire_DZ","WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4","Land_Fire_DZ","TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","StashMedium4","Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","BearTrap_DZ","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4","CamoNet_DZ","Trap_Cans","TrapTripwireFlare","TrapBearTrapSmoke","TrapTripwireGrenade","TrapTripwireSmoke","TrapBearTrapFlare","TentStorageDomed","VaultStorageLocked","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3","DesertTentStorage4"];
now go to your server_monitor.sqf
find:
_isPlot = _type == "Plastic_Pole_EP1_DZ";
bellow paste
_isBridge = _type in DZE_Bridges;
Now find:
if( (count _inventory > 0) && !_isPlot && !_doorLocked) then {
change by:
if( (count _inventory > 0) && !_isPlot && !_doorLocked && !_isBridge) then {
so now you go in game and place bridges with vectors, snap pro.. and all that things....
infistar filters may be need MainActionMenu
-
IThe MAP_tent by Land_tent... in other words all objects that start with MAP can be changed by Land to spawn loot. Thers a folder in dayz_code.pbo cfgloot ..here you will find the id of all buildings that spawn loot. You can add more or customize the chances to spawn and the kind of loot. Good work mate
-
ok.. again.. the @lwbuk way is the same but more clean.
but here you got.
Create a file called extra_rc.hpp (mpmissions\your instance\)
extra_rc.hpp
Spoilerclass Binocular { class distanceb500m { text = "500 meters"; script = "execVM 'custom\setview\500.sqf'"; }; class distanceb1000m { text = "1000 meters"; script = "execVM 'custom\setview\1000.sqf'"; }; class distanceb1500m { text = "1500 meters"; script = "execVM 'custom\setview\1500.sqf'"; }; class distanceb2000m { text = "2000 meters"; script = "execVM 'custom\setview\2000.sqf'"; }; class distanceb2500m { text = "2500 meters"; script = "execVM 'custom\setview\2500.sqf'"; }; class distanceb3000m { text = "3000 meters"; script = "execVM 'custom\setview\3000.sqf'"; }; class distanceb3500m { text = "3500 meters"; script = "execVM 'custom\setview\3500.sqf'"; }; class distanceb4000m { text = "4000 meters"; script = "execVM 'custom\setview\4000.sqf'"; }; }; class Binocular_Vector { class distanceb500m { text = "500 meters"; script = "execVM 'custom\setview\500.sqf'"; }; class distanceb1000m { text = "1000 meters"; script = "execVM 'custom\setview\1000.sqf'"; }; class distanceb1500m { text = "1500 meters"; script = "execVM 'custom\setview\1500.sqf'"; }; class distanceb2000m { text = "2000 meters"; script = "execVM 'custom\setview\2000.sqf'"; }; class distanceb2500m { text = "2500 meters"; script = "execVM 'custom\setview\2500.sqf'"; }; class distanceb3000m { text = "3000 meters"; script = "execVM 'custom\setview\3000.sqf'"; }; class distanceb3500m { text = "3500 meters"; script = "execVM 'custom\setview\3500.sqf'"; }; class distanceb4000m { text = "4000 meters"; script = "execVM 'custom\setview\4000.sqf'"; }; }; };
open your description.ext at bottom paste:
#include "extra_rc.hpp"
3-open your custom compiles.sqf
into !isDedicated section paste:
player_selectSlot = compile preprocessFileLineNumbers "ui_selectSlot.sqf";
Open \@DayZ_Epoch\addons\dayz_code\compile\ copy ui_selectslot.sqf and paste into mpmissions\your instance\
Open this new custom ui_selectslot.sqf
Spoilerfind:
_pos set [3,_height];
above it paste:
//EXTRA_RC _erc_cfgActions = (missionConfigFile >> "ExtraRc" >> _item); _erc_numActions = (count _erc_cfgActions); if (isClass _erc_cfgActions) then { for "_j" from 0 to (_erc_numActions - 1) do { _menu = _parent displayCtrl (1600 + _j + _numActions); _menu ctrlShow true; _config = (_erc_cfgActions select _j); _text = getText (_config >> "text"); _script = getText (_config >> "script"); _height = _height + (0.025 * safezoneH); uiNamespace setVariable ['uiControl', _control]; _menu ctrlSetText _text; _menu ctrlSetEventHandler ["ButtonClick",_script]; }; }; //EXTRA_RC
4-create this path : mpmissions\your instance\ custom\
into the custom folder paste the setview folder.
-
3 diferents ways.
1-Using keyboard.sqf
Spoiler1-I know you already have a custom compiles.sqf open it.. and paste into !isDedicated section:
DZ_KeyDown_EH = compile preprocessFileLineNumbers "dayz_code\compile\keyboard.sqf";
2-Open \@DayZ_Epoch\addons\dayz_code\compile\ and paste keyboard.sqf into \MPMissions\DayZ_Epoch_your instance\dayz_code\compile\
3-Open keyboard.sqf at bottom but before the last "_handle" paste:
if (_dikCode == 0x3D) then {execVM "setview.sqf";};//key F3
4-create setview.sqf into (mpmissions\your instance\)
_path2 = 'setviewdistance %1;'; VD = [ ["",true], ["250M", [2], "", -5, [["expression", format[_path2 ,"250"]]], "1", "1"], ["500M", [3], "", -5, [["expression", format[_path2 ,"500"]]], "1", "1"], ["750M", [4], "", -5, [["expression", format[_path2 ,"750"]]], "1", "1"], ["1000M", [5], "", -5, [["expression", format[_path2 ,"1000"]]], "1", "1"], ["1250M", [6], "", -5, [["expression", format[_path2 ,"1250"]]], "1", "1"], ["1500M", [7], "", -5, [["expression", format[_path2 ,"1500"]]], "1", "1"], ["1750M", [8], "", -5, [["expression", format[_path2 ,"1750"]]], "1", "1"], ["2000M", [9], "", -5, [["expression", format[_path2 ,"2000"]]], "1", "1"], ["2250M", [10], "", -5, [["expression", format[_path2 ,"2250"]]], "1", "1"], ["2500M", [11], "", -5, [["expression", format[_path2 ,"2500"]]], "1", "1"], ["", [-1], "", -5, [["expression", ""]], "1", "0"], ["Exit", [13], "", -3, [["expression", ""]], "1", "1"] ];
2 way: by @lwbuk
3 way.. using extra_rc.hpp. the one that i give you some time ago.
-
11 minutes ago, Anhor said:
I´m sure I´ve seen it somewhere, but I can´t find it anymore. I´m looking for a script where a plane make a bomb run random on the map ........ I mean a bomb carpet, not a single shity bomb.
Anyone able to help out?
not tested,, but you can start to work with this base:
Spoilerprivate ["_trigger_0","_this","_maxSpawns","_sleeper","_marker_0","_center_1","_unitGroup","_aiskin","_plane_class","_steps","_pilot","_carrier","_spawnRadius","_spawnMarker","_finish","_initpos"]; _maxSpawns = 3;//spawns numbers _sleeper = 600; //time between bombs _steps = 1; _finish = false; uiSleep 0.5; while {!_finish} do { if (_steps < _maxSpawns) then { diag_log ("SPAWN BOMBER"); _spawnRadius = 5000; _spawnMarker = 'center'; _initpos = [getMarkerPos _spawnMarker,0,_spawnRadius,10,0,2000,0] call BIS_fnc_findSafePos; _this = createMarker ["tar0", _initpos]; _this setMarkerText "tar0"; _this setMarkerShape "ELLIPSE"; _this setMarkerType "Move"; _this setMarkerColor "ColorRedFaded25"; _this setMarkerBrush "Solid"; _marker_0 = _this; _this = createTrigger ["EmptyDetector", _initpos]; _this setTriggerActivation ["EAST", "PRESENT", true]; _this setTriggerTimeout [2, 2, 2, false]; _this setTriggerStatements ["this", "bomb = ""Bo_GBU12_LGB"" createVehicle getmarkerPos ""tar0""", ""]; _trigger_0 = _this; _this = createCenter east; _center_1 = _this; _unitGroup = createGroup _center_1; _aiskin = "TK_Aziz_EP1"; _plane_class = "Su34"; //spawnai _pilot = objNull; _pilot = _unitGroup createUnit [_aiskin, [(_initpos select 0) + 350, (_initpos select 1) + 350], [], 1, "NONE"]; [_pilot] joinSilent _unitGroup; sleep 1; _carrier = createVehicle [_plane_class, [(_initpos select 0) + 350, (_initpos select 1) + 350],[], 0, "FLY"]; _carrier setFuel 1; _carrier engineOn true; {_carrier removeWeapon _x} forEach weapons _carrier; _carrier flyInHeight 150; _carrier limitSpeed 100; _carrier setVehicleLock "LOCKED"; _carrier addEventHandler ["GetOut",{(_this select 0) setFuel 0;(_this select 0) setDamage 1;}]; dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_carrier]; _pilot assignAsDriver _carrier; _pilot moveInDriver _carrier; _pilot setBehaviour "COMBAT"; _pilot setCombatMode "RED"; sleep 1; _carrier doMove _initpos; waitUntil { (_carrier distance _initpos <=1) }; sleep 10; deleteVehicle _trigger_0; deleteVehicle _carrier; deleteVehicle _pilot; deleteMarker _marker_0; }; uiSleep _sleeper; _steps = _steps + 1; _finish = _steps >= _maxSpawns; }; if (_finish) exitWith { diag_log ("SPAWN BOMBER ends"); };
-
Mmm maybe i do not understand you..but the msgs about 3mts workbench is not an error. When you craft some objects like floors. Walls epoch ask you for workbenchs. So you need place a workbench and be near of this to start to craft. The workshop is a very diferent thing and you dont need it to crsft walls,floors and standard epoch buildables.
-
EWell see. The workshop just sdd more buildings. 1.You create the workshop. 2.use scroll menu on the workshop and pick manageworkshop. 3 pick one optipn in workshopmenu.
About crafting walls,floors. You need use the epoch default system. 1Workbench.1knife.woodtables and plywoods. So i thnk youre confusse about workshop and workbench. To craft a workbench right click on plywoods
-
My mod not enable any kind of option by right click on items. Maybe youre talking about the default workbench. The one that you craft with 2woodtables and 1 plywood
-
52 minutes ago, leegreaves said:
i assume it can just go at bottom of file and doesnt need to be in any particular section of variables.sqf.
Check your original vAriables.sqf thers a dze_iswreck line by default. Copy this paste in somewhere of your custom variables and add the hootys wrecks ids inside. Also you can add other objects.
-
36 minutes ago, leegreaves said:
quick question...where abouts should this line go? I've presumed mission side init. Ive added it in my list of epoch config variables in init.sqf.
Custom variables.sqf
Scroll Wheel View Distance
in Scripting
Posted
no, you need a binocular vector or binoculars in your inventory to get the option. if u dont want it.. skip the step in fn_selfactions and create a new sqf. filled with this code.
setview_init.sqf
then at bottom of init.sqf paste:
//SET VIEW DISTANCE [] execVM "scripts\setview_init.sqf";
by this way you dont need have binoculars , and you gonna have the option all time.
another way to do it.. ( i thiink the best..) is use a key to execute the set view menu)