Jump to content

cobramike

Member
  • Posts

    28
  • Joined

  • Last visited

Posts posted by cobramike

  1. I love my kill. And thats desinc. Its Arma 3 and i have seen this a 100 times on Arma 3 servers.. So no hacker. I was on that server to and on that time 4 guys had problems opening stuff. I had problems getting in my car. so deel with this and stop calling evry one hackers. That video is no proof whats so ever

  2. Ok i fixst it works now on all maps. Sorry Peterbeer this was not working for Saurland Napf Taki.

     

    Look for this. in the files from Peterbeer

    	private["_newPosition","_finished","_oldPosition"];
        if(isNil "_oldPosition") then { _oldPosition = position player;};
        _finished = false;
        sleep 2;
        if (player distance _oldPosition <= 1) then {
            _finished = true;
        };
    	
        if (!_finished) exitWith {
            DZE_ActionInProgress = false;
            r_autoTrade = false;
            cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
        };
    

    And change it whit this one.

    private["_newPosition","_finished","_oldPosition"];
    _finished = false;
    _oldPosition = position player;
    sleep 1;
    _newPosition = position player;
    if (_oldPosition select 0 == _newPosition select 0 && _oldPosition select 1 == _newPosition select 1) then {
    _finished = true;
    };
    
    
    if (!_finished) exitWith {
    _abort = true;
    cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
    };
    

    And now it works even when a trader is off ground.

     

    Greets Mike

  3.  

    Im not getting admin option and I put my id in list

     

    ["ItemToolbox",[0,8,0],10,-1,false,false,false,true,true,false,false,["MAP_Bridge_stone_asf2_25","MAP_bridge_asf1_25","MAP_asf3_10_100","MAP_asf3_25","MAP_asf1_12"],[],[],"!(isNull player) && {(getPlayerUID player) in DZE_DEPLOYABLE_ADMINS}"],
    ["ItemEtool",[0,8,0],10,-1,false,false,false,true,true,false,false,["FAL_marktplatz"],[],["forest_large_net_kit","CinderBlocks","PartWoodPile"],"true"]
    ];
    
    
    // **DZE_DEPLOYABLE_NAME_MAP format
    //  
    //  DZE_DEPLOYABLE_NAME_MAP = [
    //      [_class,_name],
    //      [_class,_name],
    //      [... more ...]
    //  ];
    //
    //  parameter    | description                                                         |  type  | example
    // --------------|---------------------------------------------------------------------|--------|--------
    // _class        | class name of the item you want to replace the name of              | string | "Notebook"
    // _name         | new name to display when right clicking                             | string | "Macbook Pro"
    //
    DZE_DEPLOYABLE_NAME_MAP = [
        ["Notebook","Macbook Pro"],
    ["FAL_marktplatz","stone floor"]
    ];
    
    
    DZE_DEPLOYABLE_ADMINS = [76561198015664072];

    ["ItemToolbox",[0,8,0],10,-1,false,false,false,true,true,false,false,["MAP_Bridge_stone_asf2_25","MAP_bridge_asf1_25","MAP_asf3_10_100","MAP_asf3_25","MAP_asf1_12"],[],[],"!(isNull player) && {(getPlayerUID player) in DZE_DEPLOYABLE_ADMINS}"],

    DZE_DEPLOYABLE_ADMINS = [76561198015661111];

     

    Its because it needs to be like this

    DZE_DEPLOYABLE_ADMINS = ["76561198015661111","Outher id","Outher id"];
    
  4.  

    ==================================Step by Step guide================================

    I have alot of custom scripts and files in my server, so i decided to look into the custom scripts from RimBlock and search what he has changed so i can make a step by step guide for guys who have the same problem like me. But ok lets start now.

     

    The tutorial Required that you allready have a custom compiles.sqf, if you dont have one just search in google how to made one its pretty simple.

     

    At first here is a file list compare it with your custom folder if some files are missing get them from the DayZ_Code.pbo.

    1. compiles.sqf
    2. fn_damageActions.sqf
    3. fn_selfActions.sqf
    4. player_build.sqf (If you have any kind of snap building, just added the player_build.sqf in the snap building folder)
    5. player_buildingDowngrade.sqf
    6. player_lockvault.sqf (not needed, it was in the folder but RimBlock did no changes to the file, so its equal to the original one)
    7. player_packtent.sqf
    8. player_packvault.sqf
    9. player_tagfriendly.sqf
    10. player_unlockvault.sqf
    11. player_updategui.sqf
    12. player_upgrade.sqf
    13. remove.sqf
    14. server_monitor.sqf (Note dont take the file from the dayz_code.pbo go into your dayz_server.pbo and search for server_monitor.sqf and copy it out)
    15. tent_pitch.sqf
    16. vault_pitch.sqf
    17. Player_buildingmaint.sqf

    If you checked theese list and maked sure that you have every file, you can start with the compiles.sqf

    Remeber, i use my own file path´s, if you have another folder who is not named "Custom" you need to change the path´s to fit your folders.

    I also call the custom compiles.sqf twice, so first the original one then the custom one, so my compiles.sqf looks like this:

    if (!isDedicated) then {
    fnc_usec_damageActions =        compile preprocessFileLineNumbers "Custom\fn_damageActions.sqf";
    fnc_usec_selfActions =            compile preprocessFileLineNumbers "Custom\fn_selfActions.sqf";
    player_packTent =            compile preprocessFileLineNumbers "Custom\player_packTent.sqf";
    player_packVault =            compile preprocessFileLineNumbers "Custom\player_packVault.sqf";
    player_unlockVault =            compile preprocessFileLineNumbers "Custom\player_unlockVault.sqf";
    player_removeObject =            compile preprocessFileLineNumbers "Custom\remove.sqf";
    player_lockVault =            compile preprocessFileLineNumbers "Custom\player_lockVault.sqf";
    player_updateGui =            compile preprocessFileLineNumbers "Custom\player_updateGui.sqf";
    player_tentPitch =            compile preprocessFileLineNumbers "Custom\tent_pitch.sqf";
    player_vaultPitch =            compile preprocessFileLineNumbers "Custom\vault_pitch.sqf";
    player_build =                compile preprocessFileLineNumbers "Custom\player_build.sqf";
    };
    

    So, now we came to the changes in every file:

    • fn_damageActions.sqf

    Find at the private variables at the top:

    "_charid"
    

    and replace it with:

    "_playerUID"
    

    Find:

    _charID =		_unit getVariable ["CharacterID", 0];
    

    Replace with:

    _playerUID = 	getPlayerUID player;
    

    Find:

    if ((isPlayer _unit) && !(_charID in _friendlies)) then {
    

    Replace with:

    if ((isPlayer _unit) && !(_playerUID in _friendlies)) then {
    

    Find:

    "\z\addons\dayz_code\actions\player_tagFriendly.sqf"
    

    and replace it with your own path which point to your custom player_tagFriendly.sqf for me it looks like this:

    "Custom\player_tagFriendly.sqf"
    

    Done!

    •  Fn_sefactions.sqf

    Find (again the private section at the top):

    "_attached"
    

    and add this behind it

    ,"_playerUID","_characterID"
    

    Find:

    _isMan = _cursorTarget isKindOf "Man";
    

    and add directly above it:

    _playerUID = getPlayerUID player;
    

    Find:

    _ownerID = _cursorTarget getVariable ["CharacterID","0"];
    

    Replace with:

    _ownerID = _cursorTarget getVariable ["ownerPUID","0"];
    

    Directly under this add:

    _characterID = _cursorTarget getVariable ["CharacterID","0"];
    

    Find:

    //Allow player to delete objects
    

    and add above it:

    diag_log format["fn_actons: [PlayerUID: %1] [_ownerID: %2] [_isModularDoor: %3] [typeOfCursorTarget: %4]",_playerUID, _ownerID, _isModularDoor, _typeOfCursorTarget];
    diag_log format["[_isDestructable:%1 ] [_isWreck: %2 ] [_isRemovable: %3 ] [_isWreckBuilding: %4 ]",_isDestructable, _isWreck, _isRemovable, _isWreckBuilding];
    

    Find 2 times:

    (dayz_characterID == _ownerID))
    

    and replace it with:

    (_playerUID == _ownerID))
    

    Find:

    if(!_isMan && _ownerID != "0" && !(_cursorTarget isKindOf "Bicycle")) then {
    

    and replace it with:

    if(!_isMan && _characterID != "0" && !(_cursorTarget isKindOf "Bicycle")) then {
    

    Find 2x times:

    "\z\addons\dayz_code\actions\remove.sqf"
    

    and replace it with your own path pointing to your custom remove.sqf for me it looks like this:

    "Custom\remove.sqf"
    

    Find:

    _hasKey = _ownerID in _temp_keys;
    _oldOwner = (_ownerID == dayz_playerUID);
    

    Replace with:

     

    _hasKey = _characterID in _temp_keys;
    _oldOwner = (_characterID == dayz_playerUID);
    

    Find:

    _Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (parseNumber _ownerID))], 2, true, true, "", ""];
    

    Replace with:

    _Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (parseNumber _characterID))], 2, true, true, "", ""];
    

    Find:

    (_ownerID == dayz_characterID) then {
    

    Replace with:

    if (_ownerID == _playerUID) then {
    

    Find:

    if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
    

    Replace with:

    if(_characterID == dayz_combination || _ownerID == _playerUID) then {
    

    Find:

    if(_ownerID != dayz_combination && _ownerID != dayz_playerUID) then {
    

    Replace with:

    if(_characterID != dayz_combination && _ownerID != _playerUID) then {
    

    Find:

    if(_typeOfCursorTarget in DZE_UnLockedStorage && _ownerID != "0" &&
    

    Replace with:

    if(_typeOfCursorTarget in DZE_UnLockedStorage && _characterID != "0" &&
    

    Find:

    if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
    

    Replace with:

     

    if(_characterID == dayz_combination || _ownerID == dayz_playerUID) then {
    

    Find:

    if (s_player_packvault < 0 && (_ownerID == dayz_combination || _ownerID == dayz_playerUID))
    

    Replace with:

    if (s_player_packvault < 0 && (_characterID == dayz_combination || _ownerID == dayz_playerUID))
    

    Find:

    "\z\addons\dayz_code\actions\player_upgrade.sqf"
    

    And replace it with your path pointing to player_upgrade:sqf for me it looks like this:

    "Custom\player_upgrade.sqf"
    

    Find:

    } else {
    		player removeAction s_player_upgrade_build;
    		s_player_upgrade_build = -1;
    	};
    

    and add directly under this:

    	diag_log text "============================================";
    	
    	diag_log format["fn_actons: [PlayerUID: %1] [_ownerID: %2] [DZE_Lock_Door: %3] [_characterID: %4] [typeOfCursorTarget: %5]",_playerUID, _ownerID, DZE_Lock_Door, _characterID, _typeOfCursorTarget];
    	diag_log format["[s_player_downgrade_build:%1 ] [s_player_lastTarget: %2 ] [_isRemovable: %3 ] [_isWreckBuilding: %4 ]",s_player_downgrade_build, s_player_lastTarget, _isRemovable, _isWreckBuilding];
    	
    

    FInd:

    && (DZE_Lock_Door == _ownerID)) then {
    

    Replace with:

    && (DZE_Lock_Door == _characterID)) then {
    

    Find:

    "\z\addons\dayz_code\actions\player_buildingDowngrade.sqf"
    

    Replace it with your own path pointing to your custom player_buildingDowngrade.sqf for me it looks like this:

    "Custom\player_buildingDowngrade.sqf"
    

    Find:

    if(_isTent && _ownerID == dayz_characterID) then {
    

    Replace with:

    if(_isTent && _ownerID == _playerUID) then {
    

    Find:

    if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" &&
    

    Replace with:

    if (_isDog && _isAlive && (_hasRawMeat) && _characterID == "0" &&
    

    Find:

    if (_isDog && _ownerID == dayz_characterID && _isAlive) then {
    

    Replace with:

    if (_isDog && _characterID == dayz_characterID && _isAlive) then {
    

    Find:

    _ownerID = "0";
    

    Replace with:

    _characterID = "0";
    

    Find:

    if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["CharacterID","0"]; }
    

    Replace with:

    if (!isNull cursorTarget) then { _characterID = cursorTarget getVariable ["CharacterID","0"]; };
    

    Find:

    if (_canDo && !_inVehicle && alive _dog && _ownerID != dayz_characterID) then {
    

    Replace with:

    if (_canDo && !_inVehicle && alive _dog && _characterID != dayz_characterID) then {
    

    Wow we are done with the Fn_selfactions, this file alone take 1 hour for me :)

    •  player_packtent.sqf

    Lets start with player_packTent.sqf

     

    Add at the top the private variables:

    "_playerUID"
    

    Find:

    _ownerID = _obj getVariable["CharacterID","0"];
    

    Replace with:

    _ownerID = _obj getVariable["ownerPUID","0"];
    

    Find:

    _objectUID	= _obj getVariable["ObjectUID","0"];
    

    and add directly under it:

     

    _playerUID = getPlayerUID player;
    

    Find:

    if(_ownerID != dayz_characterID)
    

    Replace with:

    if(_ownerID != _playerUID)
    

    That was fast we are done with playerpacktent.

    • player_packVault.sqf

    add to the private variables at the top:

    ,"_characterID"
    

    Find:

    _ownerID = _obj getVariable["CharacterID","0"];
    

    replace with:

    _characterID = _obj getVariable["CharacterID","0"];
    

    Find:

    _objectUID	= _obj getVariable["ObjectUID","0"];
    

    add directly under this:

     

    _ownerID =  _obj getVariable["ownerPUID", "0"];
    

    Find:

    if((_ownerID != dayz_combination) &&
    

    replace with:

    if((_characterID != dayz_combination) &&
    

    Find:

    _holder setVariable["CharacterID",_ownerID,true];
    

    Replace with:

    _holder setVariable["CharacterID",_characterID,true];
    

    Find:

    _holder setVariable ["OEMPos", _pos, true];
    

    add directly under it:

    _holder setVariable ["ownerPUID", _ownerID , true];
    

    Done.

    • player_unlockVault.sqf

    Add to the private variables at the top:

    ,"_characterID"
    

    Find:

    _ownerID = _obj getVariable["CharacterID","0"];
    

    Replace with:

    _characterID = _obj getVariable["CharacterID","0"];
    

    and add directly under it:

    _ownerID = _obj getVariable["ownerPUID","0"];;
    

    Find:

    if ((_ownerID == dayz_combination) || (_ownerID == dayz_playerUID)) then {
    

    replace with:

    if ((_characterID == dayz_combination) || (_ownerID == dayz_playerUID)) then {
    

    Find:

     

    _holder setVariable["CharacterID",_ownerID,true];
    

    Replace with:

    _holder setVariable["CharacterID",_characterID,true];
    

    Find:

     

    _holder setVariable ["OEMPos", _pos, true];
    

    and add directly under it:

     

    _holder setVariable ["ownerPUID", _ownerID , true];
    

    Done.

    • remove.sqf

    Add to the private variables at the top:

     

    ,"_playerUID"
    

    Find:

    _objOwnerID = _obj getVariable["CharacterID","0"];
    

    replace with:

    _objOwnerID = _obj getVariable["ownerPUID","0"];
    

    and add directly above it:

     

    _playerUID = getPlayerUID _activatingPlayer;
    

    Find:

    _isOwnerOfObj = (_objOwnerID == dayz_characterID);
    

    Replace with:

    _isOwnerOfObj = (_objOwnerID == _playerUID);
    

    Find:

    _ownerID = _nearestPole getVariable["CharacterID","0"];
    

    Replace with:

    _ownerID = _nearestPole getVariable["ownerPUID","0"];
    

    Find:

    if(dayz_characterID != _ownerID) then {
    

    replace with:

    if(_playerUID != _ownerID) then {
    

    Done.

    • player_updateGui.sqf

    Find:

    "_charID","_rcharID"
    

    Replace with:

    "_playerUID","_rplayerUID"
    

    Find:

    _charID = player getVariable ["CharacterID", "0"];
    

    replace with:

    _playerUID = getPlayerUID player;
    

    Find:

    _rcharID = _humanityTarget getVariable ["CharacterID", "0"];
    

    replace with:

    _rplayerUID = getPlayerUID _humanityTarget;
    

    Find:

    if ((_rcharID in _friendlies) && (_charID in _rfriendlies)) then {
    

    Replace with:

    if ((_rplayerUID in _friendlies) && (_playerUID in _rfriendlies)) then {
    

    Find:

    if !(_charID in _rfriendlyTo) then {
    

    replace with:

    if !(_playerUID in _rfriendlyTo) then {
    

    Find:

    _rfriendlyTo set [count _rfriendlyTo, _charID];
    

    replace with:

    _rfriendlyTo set [count _rfriendlyTo, _playerUID];
    

    Done.

    • tent_pitch.sqf

    Add to the private variables at the top:

    ,"_playerUID"
    

    Find:

    _isOk = [(vehicle player),_building] call fnc_isInsideBuilding;
    

    and add directly under it:

    _playerUID = getPlayerUID player;
    

    Find:

    _object setVariable ["CharacterID",dayz_characterID,true];
    

    and add directly under it:

    _object setVariable ["ownerPUID",_playerUID,true];
    

    FInd:

    PVDZE_obj_Publish = [dayz_characterID,_object,[_dir,_location],_classname];
    

    replace with:

    PVDZE_obj_Publish = [dayz_characterID,_object,[_dir,_location, _playerUID],_classname];
    

    Done.

    • vault_pitch.sqf

    add at to the private variables at the top

    ,"_playerUID"
    

    Find:

    _location = player modeltoworld [_offset_x,_offset_y,_offset_z];
    

    and add directly under it:

    _playerUID = getPlayerUID player;
    

    Find:

     

    _tent setVariable ["CharacterID",_combination,true];
    

    and add directly under it:

    _object setVariable ["ownerPUID",_playerUID,true];
    

    Find:

    PVDZE_obj_Publish = [_combination,_tent,[_dir,_location],"VaultStorageLocked"];
    

    replace with:

    PVDZE_obj_Publish = [_combination,_tent,[_dir,_location, _playerUID],"VaultStorageLocked"];
    

    Done.

    • player_build.sqf

    add to the private variables at the top:

    ,"_ownerPUID", "_playerUID"
    

    Find:

     

    _inVehicle = (_vehicle != player);
    

    and add under it:

    _playerUID = getPlayerUID player;
    

    Find:

    _ownerID = _nearestPole getVariable ["CharacterID","0"];
    

    replace with:

    _ownerID = _nearestPole getVariable ["ownerPUID","0"];
    

    Find:

    // diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
    

    and replace it if you want to enable the debug,

    diag_log format["Player_build start: [PlayerUID = %1]  [OwnerID = %2]", _playerUID, _ownerID];
    

    Find:

    if(dayz_characterID == _ownerID) then {  //Keep ownership
    

    replace with:

     

    if(_playerUID == _ownerID) then {  //Keep ownership
    

    Find:

    // owner can build anything within his plot except other plots
    

    and if you want to enable the debug add directly under it:

    diag_log text "Player is owner";
    

    Find 2x:

     

    _tmpbuilt setVariable ["CharacterID",_combination,true];
    

    and add directly under it 2x:

     

    _tmpbuilt setVariable ["ownerPUID",_playerUID,true];
    

    Find:

     

    PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location],_classname];
    

    Replace with:

    PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location,_playerUID],_classname];
    

    Find:

     

    PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
    

    Replace with:

    PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location,_playerUID],_classname];
    

    Done.

     

    • Player_buildingmaint.sqf

    add to the private variables at the top:

    ,"_playerUID"
    

    Find:

     

    _needText = localize "str_epoch_player_246";
    

    and add directly under it:

    _playerUID = getPlayerUID player;
    

    Find:

     

    _ownerID = _nearestPole getVariable["CharacterID","0"];
    

    replace with:

    _ownerID = _nearestPole getVariable["ownerPUID","0"];
    

    Find:

     

    if(dayz_characterID == _ownerID) then {
    

    replace with:

     

    if(_playerUID == _ownerID) then {
    

    Find:

    _objectCharacterID 	= _obj getVariable ["CharacterID","0"];
    

    and add directly under it:

    _ownerID = _obj getVariable["ownerPUID","0"];
    

    Find:

    // Set location
    _object setPosATL _location;
    

    And add under it:

    		// Set Owner.
    		_object setVariable ["ownerPUID",_ownerID,true];
    		
    		diag_log format["Player_buildingdowngrade: [newclassname: %1] [_ownerID: %2] [_objectCharacterID: %2]",_newclassname, _ownerID, _objectCharacterID];
    
    

    Find:

    PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,player];
    

    replace with:

    PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location,_ownerID],_classname,_obj,player];
    

    Done.

    • player_tagfriendly.sqf

    Find:

    _callerID = _caller getVariable ["CharacterID", "0"];
    

    replace with:

    _callerID = getPlayerUID _caller;
    

    Find:

    _targetID = _target getVariable ["CharacterID", "0"];
    

    Replace with:

    _targetID = getPlayerUID _target;
    

    add above this 2 entries:

    diag_log format["[_target: $1] [_caller: %2]", _target,_caller];
    

    add below this 2 entries:

    diag_log format["[_targetID: $1] [_callerID: %2]", _targetID,_callerID];
    

    Done.

    • player_upgrade.sqf

    Find:

    _ownerID = _nearestPole getVariable["CharacterID","0"]
    

    Replace with:

    _ownerID = _nearestPole getVariable["ownerPUID","0"];
    

    add directly under it:

    _playerUID = getPlayerUID player;
    

    Find:

    if(dayz_characterID == _ownerID) then {
    

    replace with:

    if(_playerUID == _ownerID) then {
    

    Find:

    _objectCharacterID 	= _obj getVariable ["CharacterID","0"];
    

    add under it:

    _ownerID = _obj getVariable["ownerPUID","0"];
    

    Find:

    			// Set location
    			_object setPosATL _location;
    

    Add under it:

    			// Set Owner.
    			_object setVariable ["ownerPUID",_ownerID,true];
    			
    

    Find:

    PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,player];
    

    Replace with:

    PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location, _ownerID],_classname,_obj,player];
    

    Done.

    • Server_monitor.sqf

    open it and find:

    		if (!_wsDone) then {
    			if (count _worldspace >= 1) then { _dir = _worldspace select 0; };
    			_pos = [getMarkerPos "center",0,4000,10,0,2000,0] call BIS_fnc_findSafePos;
    			if (count _pos < 3) then { _pos = [_pos select 0,_pos select 1,0]; };
    			diag_log ("MOVED OBJ: " + str(_idKey) + " of class " + _type + " to pos: " + str(_pos));
    		};
    

    directly under it add:

     

    		// Realign characterID to OwnerPUID - need to force save though.
    		
    		if (count _worldspace < 3) then
    		{
    			_worldspace set [count _worldspace, "0"];
    		};		
    
    		_ownerPUID = _worldspace select 2;
    		
    		// diag_log format["Server_monitor: [ObjectID = %1]  [ClassID = %2] [_ownerPUID = %3]", _idKey, _type, _ownerPUID];
    		
    

    Find:

    _object setVariable ["ObjectID", _idKey, true];
    
    

    Directly under it add:

     

    _object setVariable ["OwnerPUID", _ownerPUID, true];
    

    Done.

     

    Now go to your init.sqf

    and find:

    _serverMonitor = 	[] execVM "\z\addons\dayz_code\system\server_monitor.sqf";
    

    and replace it with your custom path pointing to your custom folder in my case it looks like this:

     

    _serverMonitor = 	[] execVM "custom\server_monitor.sqf";
    

    For me everything is working, i dont test the script before, i doed exact the same like above and its working for me with vanilla epoch and with my normal MPmission where i have about 22 custom files from the dayz_code.pbo.

     

     

    Nice tut. Evry thing is working server is live but a verry inportent issue 

    • Player_buildingmaint.sqf

    Is not working also i can not fint the stuf what you are saying your tut. Is there enny one out there that has this working. Please help me out. Buildings starting to decay and some buildings are already gone. Because the can not building maint.

     

    This is the origenal 

    • Player_buildingmaint.sqf
    /*
    	DayZ Base Building Maintenance
    	Made for DayZ Epoch please ask permission to use/edit/distrubute email [email protected].
    */
    private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_requirements","_obj","_upgrade","_objectCharacterID"];
    
    if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_52") , "PLAIN DOWN"]; };
    DZE_ActionInProgress = true;
    
    player removeAction s_player_maint_build;
    s_player_maint_build = 1;
    
    // get cursortarget from addaction
    _obj = _this select 3;
    
    // Find objectID
    _objectID 	= _obj getVariable ["ObjectID","0"];
    
    // Find objectUID
    _objectUID	= _obj getVariable ["ObjectUID","0"];
    
    if(_objectID == "0" && _objectUID == "0") exitWith {DZE_ActionInProgress = false; s_player_maint_build = -1; cutText [(localize "str_epoch_player_50"), "PLAIN DOWN"];};
    
    // Get classname
    _classname = typeOf _obj;
    
    // Find display name
    _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
    
    // Find next maintain
    _upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "maintainBuilding");
    
    if ((count _upgrade) > 0) then {
    	_requirements = _upgrade;
    } else {
    	_requirements = [["PartGeneric",1]];
    };
    
    _missingQty = 0;
    _missing = "";
    
    _proceed = true;
    {
    	_itemIn = _x select 0;
    	_countIn = _x select 1;
    	_qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player;
    	if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; };
    } forEach _requirements;
    
    if (_proceed) then {
    	[1,1] call dayz_HungerThirst;
    	player playActionNow "Medic";
    	[player,20,true,(getPosATL player)] spawn player_alertZombies;
    
    	_temp_removed_array = [];
    	_removed_total = 0;
    	_tobe_removed_total = 0;
    	
    	{
    		_removed = 0;
    		_itemIn = _x select 0;
    		_countIn = _x select 1;
    		// diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn];
    		_tobe_removed_total = _tobe_removed_total + _countIn;
    
    		{					
    			if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then {
    				_num_removed = ([player,_x] call BIS_fnc_invRemove);
    				_removed = _removed + _num_removed;
    				_removed_total = _removed_total + _num_removed;
    				if(_num_removed >= 1) then {
    					_temp_removed_array set [count _temp_removed_array,_x];
    				};
    			};
    	
    		} forEach magazines player;
    
    	} forEach _requirements;
    
    	// all parts removed proceed
    	if (_tobe_removed_total == _removed_total) then {
    
    		cutText [format[(localize "STR_EPOCH_ACTIONS_4"), 1], "PLAIN DOWN", 5];
    		PVDZE_maintainArea = [player,2,_obj];
    		publicVariableServer "PVDZE_maintainArea";
    
    	} else {
    	
    		{player addMagazine _x;} count _temp_removed_array;
    		cutText [format[(localize "str_epoch_player_145"),_removed_total,_tobe_removed_total], "PLAIN DOWN"];
    	
    	};
    } else {
    	_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
    	cutText [format[(localize "str_epoch_player_146"),_missingQty, _textMissing], "PLAIN DOWN"];
    };
    
    
    DZE_ActionInProgress = false;
    s_player_maint_build = -1;
    

    Greets Mike

  5. He ramix are you getting paid.

     

    We are excited to release two new custom mods! More products coming soon.

    Snap Building Pro Installation cost: $20.00

    Latest snap building release (1.2.1) from developer Raymix. Works for all Epoch maps including Overpoch.

    Source - http://epochmod.com/forum/index.php?/topic/13886-121-snap-building-pro/
    Video example - https://www.youtube.com/watch?v=K56e3dV9PKU

     

    Just got a email from Survival Servers ( Shit company )

  6. Ya on vilayer its works great. When you have  a problem. Backup your missions fils that you added. And next remove all the addons. When that is done go to code manager and then restore code. Go back to your addons and install MYSQL first and then when thats done Overpoch.\

     

    Greets Mike

×
×
  • Create New...