Jump to content

DangerRuss

Member
  • Posts

    963
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by DangerRuss

  1. I need help I'm using Souls 2.0 and on the clear files without any other scripts ( only deleted overwatch addons from server_traders and mission.sqm) money in my bank disappeared after log-out, I use query.sql and I get banking_data inside my Database, but in every log-out money from bank disappeared, coins with me still are there. Only moneys in bank won't saved, arma2oaserver.rpt is without errors, I don't know what can be problem. Please help me and thanks for everything, Have a nice day/night Bye Bye  :) And sorry for my English  :)

    wrong thread

  2.  

    One small problem, no player may itself add, just because I'm on the list in fn_selfActions.
     
    if (s_player_plotManagement <0) then {
         _adminList = ["7656xxxxxxxxxx"]; // Add admins here if you admins to manage all able to plotpoles
     
    I mean, does not appear in the scroll menu to anyone, just for me. So I'm having to add all the players on your friends list so that they can manage their plots.

     

    In this thread buried somewhere is a fix that automatically adds the builder to the friends list. If you can access it but others cannot access it at all, you messed up somewhere or you missed something, possibly antihack related but without knowing more Im just guessing.

  3. rightclick. i m using the 2.8.1 from github https://github.com/mudzereli/DayZEpochDeployableBike#configuration

    its working without CSA without any problems the menu shows up and all is good but i cannot firuge out how to put this addaction function behinde a s_player variable. i guess this is why the AH is removing the scrollmenu option to pack the object. 

     

    thats just really weird that it's blocking it because mine isn't and never has.

  4. Zupa I do not understand, no one can see the option plot management, just me because my id added in this fn_self ...

     

    I have not installed plot for life, I just snap pro and vector. The owner of the plot builds normally but can not open the option for managing.

    My server_monitor file:

    private ["_nul","_result","_pos","_wsDone","_dir","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_intentory","_hitPoints","_fuel","_damage","_key","_vehLimit","_hiveResponse","_objectCount","_codeCount","_data","_status","_val","_traderid","_retrader","_traderData","_id","_lockable","_debugMarkerPosition","_vehicle_0","_bQty","_vQty","_BuildingQueue","_objectQueue","_superkey","_shutdown","_res","_hiveLoaded"];

    dayz_versionNo = getText(configFile >> "CfgMods" >> "DayZ" >> "version");

    dayz_hiveVersionNo = getNumber(configFile >> "CfgMods" >> "DayZ" >> "hiveVersion");

    _hiveLoaded = false;

    waitUntil{initialized};

    diag_log "HIVE: Starting";

    waituntil{isNil "sm_done"};

    if(isnil "MaxVehicleLimit") then {

    MaxVehicleLimit = 50;

    };

    if(isnil "MaxDynamicDebris") then {

    MaxDynamicDebris = 100;

    };

    if(isnil "MaxAmmoBoxes") then {

    MaxAmmoBoxes = 3;

    };

    if(isnil "MaxMineVeins") then {

    MaxMineVeins = 50;

    };

    if (isServer && isNil "sm_done") then {

    serverVehicleCounter = [];

    _hiveResponse = [];

    for "_i" from 1 to 5 do {

    diag_log "HIVE: trying to get objects";

    _key = format["CHILD:302:%1:", dayZ_instance];

    _hiveResponse = _key call server_hiveReadWrite;

    if ((((isnil "_hiveResponse") || {(typeName _hiveResponse != "ARRAY")}) || {((typeName (_hiveResponse select 1)) != "SCALAR")})) then {

    if ((_hiveResponse select 1) == "Instance already initialized") then {

    _superkey = profileNamespace getVariable "SUPERKEY";

    _shutdown = format["CHILD:400:%1:", _superkey];

    _res = _shutdown call server_hiveReadWrite;

    diag_log ("HIVE: attempt to kill.. HiveExt response:"+str(_res));

    } else {

    diag_log ("HIVE: connection problem... HiveExt response:"+str(_hiveResponse));

    };

    _hiveResponse = ["",0];

    }

    else {

    diag_log ("HIVE: found "+str(_hiveResponse select 1)+" objects" );

    _i = 99;

    };

    };

    _BuildingQueue = [];

    _objectQueue = [];

    if ((_hiveResponse select 0) == "ObjectStreamStart") then {

    profileNamespace setVariable ["SUPERKEY",(_hiveResponse select 2)];

    _hiveLoaded = true;

    diag_log ("HIVE: Commence Object Streaming...");

    _key = format["CHILD:302:%1:", dayZ_instance];

    _objectCount = _hiveResponse select 1;

    _bQty = 0;

    _vQty = 0;

    for "_i" from 1 to _objectCount do {

    _hiveResponse = _key call server_hiveReadWriteLarge;

    if ((_hiveResponse select 2) isKindOf "ModularItems") then {

    _BuildingQueue set [_bQty,_hiveResponse];

    _bQty = _bQty + 1;

    } else {

    _objectQueue set [_vQty,_hiveResponse];

    _vQty = _vQty + 1;

    };

    };

    diag_log ("HIVE: got " + str(_bQty) + " Epoch Objects and " + str(_vQty) + " Vehicles");

    };

    _totalvehicles = 0;

    PVDZE_EvacChopperFields = [];

    {

    _idKey = _x select 1;

    _type = _x select 2;

    _ownerID = _x select 3;

    _worldspace = _x select 4;

    _intentory = _x select 5;

    _hitPoints = _x select 6;

    _fuel = _x select 7;

    _damage = _x select 8;

    _dir = 0;

    _pos = [0,0,0];

    _wsDone = false;

    if (count _worldspace >= 2) then

    {

    _dir = _worldspace select 0;

    if (count (_worldspace select 1) == 3) then {

    _pos = _worldspace select 1;

    _wsDone = true;

    }

    };

    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));

    };

    _vector = [[0,0,0],[0,0,0]];

    _vecExists = false;

    _ownerPUID = "0";

    if (count _worldspace >= 3) then{

    if(count _worldspace == 3) then{

    if(typename (_worldspace select 2) == "STRING")then{

    _ownerPUID = _worldspace select 2;

    }else{

    if(typename (_worldspace select 2) == "ARRAY")then{

    _vector = _worldspace select 2;

    if(count _vector == 2)then{

    if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{

    _vecExists = true;

    };

    };

    };

    };

    }else{

    //Was not 3 elements, so check if 4 or more

    if(count _worldspace == 4) then{

    if(typename (_worldspace select 3) == "STRING")then{

    _ownerPUID = _worldspace select 3;

    }else{

    if(typename (_worldspace select 2) == "STRING")then{

    _ownerPUID = _worldspace select 2;

    };

    };

    if(typename (_worldspace select 2) == "ARRAY")then{

    _vector = _worldspace select 2;

    if(count _vector == 2)then{

    if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{

    _vecExists = true;

    };

    };

    }else{

    if(typename (_worldspace select 3) == "ARRAY")then{

    _vector = _worldspace select 3;

    if(count _vector == 2)then{

    if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{

    _vecExists = true;

    };

    };

    };

    };

    }else{

    //More than 3 or 4 elements found

    //Might add a search for the vector, ownerPUID will equal 0

    };

    };

    };

    if (_damage < 1) then {

    _object = createVehicle [_type, _pos, [], 0, "CAN_COLLIDE"];

    if (typeOf (_object) in DZE_DoorsLocked) then {

    _object setVariable ["doorfriends", _intentory, true];

    };

    _object setVariable ["lastUpdate",time];

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

    if (typeOf (_object) == "Plastic_Pole_EP1_DZ") then {

    _object setVariable ["plotfriends", _intentory, true];

    };

    _lockable = 0;

    if(isNumber (configFile >> "CfgVehicles" >> _type >> "lockable")) then {

    _lockable = getNumber(configFile >> "CfgVehicles" >> _type >> "lockable");

    };

    if (_lockable == 4) then {

    _codeCount = (count (toArray _ownerID));

    if(_codeCount == 3) then {

    _ownerID = format["0%1", _ownerID];

    };

    if(_codeCount == 2) then {

    _ownerID = format["00%1", _ownerID];

    };

    if(_codeCount == 1) then {

    _ownerID = format["000%1", _ownerID];

    };

    };

    if (_lockable == 3) then {

    _codeCount = (count (toArray _ownerID));

    if(_codeCount == 2) then {

    _ownerID = format["0%1", _ownerID];

    };

    if(_codeCount == 1) then {

    _ownerID = format["00%1", _ownerID];

    };

    };

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

    clearWeaponCargoGlobal _object;

    clearMagazineCargoGlobal _object;

    _object setdir _dir;

    if(_vecExists)then{

    _object setVectorDirAndUp _vector;

    };

    _object setposATL _pos;

    _object setDamage _damage;

    if ((typeOf _object) == "HeliHRescue") then {

    PVDZE_EvacChopperFields set [count PVDZE_EvacChopperFields, _object];

    };

    if ((typeOf _object) in dayz_allowedObjects) then {

    _object setVariable["memDir",_dir,true];

    if (DZE_GodModeBase) then {

    _object addEventHandler ["HandleDamage", {false}];

    } else {

    _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}];

    };

    _object enableSimulation false;

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

    };

    if ((count _intentory > 0) && !(typeOf( _object) == "Plastic_Pole_EP1_DZ") && !(typeOf( _object) in DZE_DoorsLocked)) then {

    if (_type in DZE_LockedStorage) then {

    _object setVariable ["WeaponCargo", (_intentory select 0),true];

    _object setVariable ["MagazineCargo", (_intentory select 1),true];

    _object setVariable ["BackpackCargo", (_intentory select 2),true];

    } else {

    _objWpnTypes = (_intentory select 0) select 0;

    _objWpnQty = (_intentory select 0) select 1;

    _countr = 0;

    {

    if(_x in (DZE_REPLACE_WEAPONS select 0)) then {

    _x = (DZE_REPLACE_WEAPONS select 1) select ((DZE_REPLACE_WEAPONS select 0) find _x);

    };

    _isOK = isClass(configFile >> "CfgWeapons" >> _x);

    if (_isOK) then {

    _object addWeaponCargoGlobal [_x,(_objWpnQty select _countr)];

    };

    _countr = _countr + 1;

    } count _objWpnTypes;

    _objWpnTypes = (_intentory select 1) select 0;

    _objWpnQty = (_intentory select 1) select 1;

    _countr = 0;

    {

    if (_x == "BoltSteel") then { _x = "WoodenArrow" };

    if (_x == "ItemTent") then { _x = "ItemTentOld" };

    _isOK = isClass(configFile >> "CfgMagazines" >> _x);

    if (_isOK) then {

    _object addMagazineCargoGlobal [_x,(_objWpnQty select _countr)];

    };

    _countr = _countr + 1;

    } count _objWpnTypes;

    _objWpnTypes = (_intentory select 2) select 0;

    _objWpnQty = (_intentory select 2) select 1;

    _countr = 0;

    {

    _isOK = isClass(configFile >> "CfgVehicles" >> _x);

    if (_isOK) then {

    _object addBackpackCargoGlobal [_x,(_objWpnQty select _countr)];

    };

    _countr = _countr + 1;

    } count _objWpnTypes;

    };

    };

    if (_object isKindOf "AllVehicles") then {

    {

    _selection = _x select 0;

    _dam = _x select 1;

    if (_selection in dayZ_explosiveParts && _dam > 0.8) then {_dam = 0.8};

    [_object,_selection,_dam] call object_setFixServer;

    } count _hitpoints;

    _object setFuel _fuel;

    if (!((typeOf _object) in dayz_allowedObjects)) then {

    _object call fnc_veh_ResetEH;

    if(_ownerID != "0" and !(_object isKindOf "Bicycle")) then {

    _object setvehiclelock "locked";

    _object setVariable ["R3F_LOG_disabled",true,true];

    };

    _totalvehicles = _totalvehicles + 1;

    serverVehicleCounter set [count serverVehicleCounter,_type];

    };

    [_object] execVM "\z\addons\dayz_server\compile\Server_DeleteObjInsafezone.sqf";

    };

    };

    PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_object];

    };

    } count (_BuildingQueue + _objectQueue);

    if !(DZE_ConfigTrader) then {

    {

    _traderData = call compile format["menu_%1;",_x];

    if(!isNil "_traderData") then {

    {

    _traderid = _x select 1;

    _retrader = [];

    _key = format["CHILD:399:%1:",_traderid];

    _data = "HiveEXT" callExtension _key;

    _result = call compile format ["%1",_data];

    _status = _result select 0;

    if (_status == "ObjectStreamStart") then {

    _val = _result select 1;

    call compile format["ServerTcache_%1 = [];",_traderid];

    for "_i" from 1 to _val do {

    _data = "HiveEXT" callExtension _key;

    _result = call compile format ["%1",_data];

    call compile format["ServerTcache_%1 set [count ServerTcache_%1,%2]",_traderid,_result];

    _retrader set [count _retrader,_result];

    };

    };

    } forEach (_traderData select 0);

    };

    } forEach serverTraders;

    };

    if (_hiveLoaded) then {

    _vehLimit = MaxVehicleLimit - _totalvehicles;

    if(_vehLimit > 0) then {

    diag_log ("HIVE: Spawning # of Vehicles: " + str(_vehLimit));

    for "_x" from 1 to _vehLimit do {

    [] spawn spawn_vehicles;

    };

    } else {

    diag_log "HIVE: Vehicle Spawn limit reached!";

    };

    };

    diag_log ("HIVE: Spawning # of Debris: " + str(MaxDynamicDebris));

    for "_x" from 1 to MaxDynamicDebris do {

    [] spawn spawn_roadblocks;

    };

    diag_log ("HIVE: Spawning # of Ammo Boxes: " + str(MaxAmmoBoxes));

    for "_x" from 1 to MaxAmmoBoxes do {

    [] spawn spawn_ammosupply;

    };

    diag_log ("HIVE: Spawning # of Veins: " + str(MaxMineVeins));

    for "_x" from 1 to MaxMineVeins do {

    [] spawn spawn_mineveins;

    };

    if(isnil "dayz_MapArea") then {

    dayz_MapArea = 10000;

    };

    if(isnil "HeliCrashArea") then {

    HeliCrashArea = dayz_MapArea / 2;

    };

    if(isnil "OldHeliCrash") then {

    OldHeliCrash = false;

    };

    if(OldHeliCrash) then {

    _nul = [3, 4, (50 * 60), (15 * 60), 0.75, 'center', HeliCrashArea, true, false] spawn server_spawnCrashSite;

    };

    if (isDedicated) then {

    _id = [] spawn server_spawnEvents;

    [] spawn {

    private ["_id"];

    sleep 200;

    waitUntil {!isNil "server_spawnCleanAnimals"};

    _id = [] execFSM "\z\addons\dayz_server\system\server_cleanup.fsm";

    };

    _debugMarkerPosition = getMarkerPos "respawn_west";

    _debugMarkerPosition = [(_debugMarkerPosition select 0),(_debugMarkerPosition select 1),1];

    _vehicle_0 = createVehicle ["DebugBox_DZ", _debugMarkerPosition, [], 0, "CAN_COLLIDE"];

    _vehicle_0 setPos _debugMarkerPosition;

    _vehicle_0 setVariable ["ObjectID","1",true];

    if(isnil "spawnMarkerCount") then {

    spawnMarkerCount = 10;

    };

    actualSpawnMarkerCount = 0;

    for "_i" from 0 to spawnMarkerCount do {

    if (!([(getMarkerPos format["spawn%1", _i]), [0,0,0]] call BIS_fnc_areEqual)) then {

    actualSpawnMarkerCount = actualSpawnMarkerCount + 1;

    } else {

    _i = spawnMarkerCount + 99;

    };

    };

    diag_log format["Total Number of spawn locations %1", actualSpawnMarkerCount];

    endLoadingScreen;

    };

    //JAEM

    if (isServer && (isNil "EvacServerPreload")) then {

    publicVariable "PVDZE_EvacChopperFields";

    ON_fnc_evacChopperFieldsUpdate = {

    private ["_action","_targetField"];

    _action = _this select 0;

    _targetField = _this select 1;

    if (_action == "add") then {

    PVDZE_EvacChopperFields = PVDZE_EvacChopperFields + [_targetField];

    };

    if (_action == "rem") then {

    PVDZE_EvacChopperFields = PVDZE_EvacChopperFields - [_targetField];

    };

    publicVariable "PVDZE_EvacChopperFields";

    };

    "PVDZE_EvacChopperFieldsUpdate" addPublicVariableEventHandler {(_this select 1) spawn ON_fnc_evacChopperFieldsUpdate};

    EvacServerPreload = true;

    };

    [] call compile preprocessFileLineNumbers "\z\addons\dayz_server\DZAI\init\dzai_initserver.sqf";

    [] ExecVM "\z\addons\dayz_server\EMS\DZMSInit.sqf";

    ExecVM "\z\addons\dayz_server\WAI\init.sqf";

    allowConnection = true;

    sm_done = true;

    publicVariable "sm_done";

    };

     

    My fn_self file:

    scriptName "Functions\misc\fn_selfActions.sqf";

    private ["_isWreckBuilding","_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil","_hasFuelBarrelE","_hasHotwireKit","_player_SurrenderedGear","_isSurrendered","_isModular","_isModularDoor","_ownerKeyName","_temp_keys_names","_hasAttached","_allowTow","_liftHeli","_found","_posL","_posC","_height","_liftHelis","_attached"];

    if (DZE_ActionInProgress) exitWith {};

    _vehicle = vehicle player;

    _isPZombie = player isKindOf "PZombie_VB";

    _inVehicle = (_vehicle != player);

    _onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;

    _canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);

    //--------------------------------------Deploy Bike----------------------------------

    //-----------------------------------------Start--------------------------------------

    _weapons = [currentWeapon player] + (weapons player) + (magazines player);

    _isBike = typeOf cursorTarget in ["MMT_Civ"];

    //BIKE DEPLOY

    if ("ItemToolbox" in _weapons) then {

    hasBikeItem = true;

    } else { hasBikeItem = false;};

    if((speed player <= 1) && hasBikeItem && _canDo) then {

    if (s_player_deploybike < 0) then {

    s_player_deploybike = player addaction[("" + ("Montar Bike") +""),"deployables\mtbike\deploy.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_deploybike;

    s_player_deploybike = -1;

    };

    //PACK BIKE

    if((_isBike && "ItemFlashlight" in _weapons && (player distance cursorTarget < 10)) and _canDo) then {

    if (s_player_deploybike2 < 0) then {

    s_player_deploybike2 = player addaction[("" + ("Desmontar Bike") +""),"deployables\mtbike\pack.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_deploybike2;

    s_player_deploybike2 = -1;

    };

    //--------------------------------------Deploy Bike----------------------------------

    //------------------------------------------End--------------------------------------

    //--------------------------------------Deploy Moped----------------------------------

    //------------------------------------------Start-------------------------------------

    _weapons = [currentWeapon player] + (weapons player) + (magazines player);

    _isMoped = typeOf cursorTarget in ["TT650_Civ"];

    //MOPED DEPLOY

    if ("ItemToolbox" in _weapons && "PartGeneric" in _mags && "PartGeneric" in _mags && "PartEngine" in _mags && "PartWheel" in _mags && "PartWheel" in _mags) then {

    hasMopedItem = true;

    } else { hasMopedItem = false;};

    if((speed player <= 1) && hasMopedItem && _canDo) then {

    if (s_player_deploymoped < 0) then {

    s_player_deploymoped = player addaction[("" + ("Montar Moped") +""),"deployables\moped\deploy.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_deploymoped;

    s_player_deploymoped = -1;

    };

    //PACK MOPED

    if((_isMoped && "itemtoolbox" in _weapons && (player distance cursorTarget < 10)) and _canDo) then {

    if (s_player_deploymoped2 < 0) then {

    s_player_deploymoped2 = player addaction[("" + ("Desmontar Moped") +""),"deployables\moped\pack.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_deploymoped2;

    s_player_deploymoped2 = -1;

    };

    //--------------------------------------Deploy Moped-----------------------------------

    //-------------------------------------------End---------------------------------------

    //--------------------------------------Deploy Mozzie----------------------------------

    //------------------------------------------Start--------------------------------------

    _weapons = [currentWeapon player] + (weapons player) + (magazines player);

    _isMozzie = typeOf cursorTarget in ["TT650_Civ"];

    //MOZZIE DEPLOY

    if ("ItemToolbox" in _weapons) then {

    hasMozzieItem = true;

    } else { hasMozzieItem = false;};

    if((speed player <= 1) && hasMozzieItem && _canDo) then {

    if (s_player_deploymozzie < 0) then {

    s_player_deploymozzie = player addaction[("" + ("Montar Moto") +""),"deployables\mozzie\deploy.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_deploymozzie;

    s_player_deploymozzie = -1;

    };

    //PACK MOZZIE

    if((_isMozzie && "ItemFlashlight" in _weapons && (player distance cursorTarget < 10)) and _canDo) then {

    if (s_player_deploymozzie2 < 0) then {

    s_player_deploymozzie2 = player addaction[("" + ("Desmontar Moto") +""),"deployables\mozzie\pack.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_deploymozzie2;

    s_player_deploymozzie2 = -1;

    };

    //--------------------------------------Deploy Mozzie-----------------------------------

    //--------------------------------------------End---------------------------------------

    //--------------------------------------Deploy Little Bird-----------------------------

    //---------------------------------------------Start-----------------------------------

    _weapons = [currentWeapon player] + (weapons player) + (magazines player);

    _isBird = typeOf cursorTarget in ["MH6J_EP1"];

    //BIRD DEPLOY

    if ("ItemToolbox" in _weapons && "PartGeneric" in _mags && "PartGeneric" in _mags && "PartEngine" in _mags && "PartFueltank" in _mags && "PartVRotor" in _mags && "ItemFuelBarrel" in _mags && "PartGlass" in _mags && "PartGlass" in _mags) then {

    hasBirdItem = true;

    } else { hasBirdItem = false;};

    if((speed player <= 1) && hasBirdItem && _canDo) then {

    if (s_player_deploybird < 0) then {

    s_player_deploybird = player addaction[("" + ("Deploy Little Bird") +""),"deployables\bird\deploy.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_deploybird;

    s_player_deploybird = -1;

    };

    //PACK BIRD

    if((_isBird && "ItemToolbox" in _weapons && (player distance cursorTarget < 10)) and _canDo) then {

    if (s_player_deploybird2 < 0) then {

    s_player_deploybird2 = player addaction[("" + ("Re-Pack Little Bird") +""),"deployables\bird\pack.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_deploybird2;

    s_player_deploybird2 = -1;

    };

    //--------------------------------------Deploy Little Bird----------------------------------

    //-----------------------------------------------End----------------------------------------​

    //----------------------------------------Bank Robbery---------------------------------------------

    // Bank Robbery

    _bankrobbery = cursorTarget isKindOf "Notebook";

    if ((speed player <= 1) && _bankrobbery && (player distance cursorTarget < 5)) then {

    if (s_player_bankrob < 0) then {

    s_player_bankrob = player addAction ["Rob the bank","rob\robbank.sqf",cursorTarget, 0, false, true, "",""];

    };

    } else {

    player removeAction s_player_bankrob;

    s_player_bankrob = -1;

    };

    // Bank Robbery END

    // ------------------------------------------------------------------------Krixes Self Bloodbag Start------------------------------------------------------------------------

    _mags = magazines player;

    // Krixes Self Bloodbag

    if ("ItemBloodbag" in _mags) then {

    hasBagItem = true;

    } else { hasBagItem = false;};

    if((speed player <= 1) && hasBagItem && _canDo) then {

    if (s_player_selfBloodbag < 0) then {

    s_player_selfBloodbag = player addaction[("" + ("Self Bloodbag") +""),"Scripts\selfbloodbag\player_selfbloodbag.sqf","",5,false,true,"", ""];

    };

    } else {

    player removeAction s_player_selfBloodbag;

    s_player_selfBloodbag = -1;

    };

    // -------------------------------------------------------------------------Krixes Self Bloodbag End--------------------------------------------------------------------------

    /*

    _currentSkin = typeOf(player);

    camoNetB_East = nearestObject [player, "Land_CamoNetB_EAST"];

    camoNetVar_East = nearestObject [player, "Land_CamoNetVar_EAST"];

    camoNet_East = nearestObject [player, "Land_CamoNet_EAST"];

    camoNetB_Nato = nearestObject [player, "Land_CamoNetB_NATO"];

    camoNetVar_Nato = nearestObject [player, "Land_CamoNetVar_NATO"];

    camoNet_Nato = nearestObject [player, "Land_CamoNet_NATO"];

    _mags = magazines player;

    if ("ItemTankTrap" in _mags || "ItemSandbag" in _mags || "ItemWire" in _mags || "PartWoodPile" in _mags || "PartGeneric" in _mags || "PartWoodLumber" in _mags || "PartWoodPlywood" in _mags || "ItemSandbagLarge" in _mags || "sandbag_nest_kit" in _mags || "ItemPole" in _mags || "ItemCorrugated" in _mags || "storage_shed_kit" in _mags || "desert_net_kit" in _mags || "forest_net_kit" in _mags || "wooden_shed_kit" in _mags || "ItemBurlap" in _mags || "PartGlass" in _mags) then {

    hasBuildItem = true;

    } else { hasBuildItem = false;};

    if((speed player <= 1) && hasBuildItem && _canDo) then {

    if (s_player_recipeMenu < 0) then {

    s_player_recipeMenu = player addaction [("" + ("Build recipe") +""),"buildRecipeBook\build_recipe_dialog.sqf","",5,false,true,"",""];

    };

    } else {

    player removeAction s_player_recipeMenu;

    s_player_recipeMenu = -1;

    };

    if (_currentSkin != globalSkin) then {

    globalSkin = _currentSkin;

    player removeEventHandler ["AnimChanged", 0];

    ehWall = player addEventHandler ["AnimChanged", { player call antiWall; } ];

    };

    if((isNull cursorTarget) && _hasToolbox && _canDo && !remProc && !procBuild &&

    (camoNetB_East distance player < 10 or

    camoNetVar_East distance player < 10 or

    camoNet_East distance player < 10 or

    camoNetB_Nato distance player < 10 or

    camoNetVar_Nato distance player < 10 or

    camoNet_Nato distance player < 10)) then {

    if (s_player_deleteCamoNet < 0) then {

    s_player_deleteCamoNet = player addaction [("" + ("Delete network") +""),"dayz_code\actions\player_remove.sqf","",1,true,true,"",""];

    s_player_netCodeObject = player addaction [("" + ("Enter the code to remove the network") +""),"dayz_code\external\keypad\fnc_keyPad\enterCode.sqf","",5,false,true,"",""];

    };

    } else {

    player removeAction s_player_deleteCamoNet;

    s_player_deleteCamoNet = -1;

    player removeAction s_player_netCodeObject;

    s_player_netCodeObject = -1;

    };

    if(_canDo && removeObject && !procBuild && !remProc &&

    (camoNetB_East distance player < 10 or

    camoNetVar_East distance player < 10 or

    camoNet_East distance player < 10 or

    camoNetB_Nato distance player < 10 or

    camoNetVar_Nato distance player < 10 or

    camoNet_Nato distance player < 10)) then {

    if (s_player_codeRemoveNet < 0) then {

    s_player_codeRemoveNet = player addaction [("" + ("Only the database owner can remove a network") +""),"dayz_code\actions\player_remove.sqf","",5,false,true,"",""];

    };

    } else {

    player removeAction s_player_codeRemoveNet;

    s_player_codeRemoveNet = -1;

    };

    _nearLight = nearestObject [player,"LitObject"];

    _canPickLight = false;

    if (!isNull _nearLight) then {

    if (_nearLight distance player < 4) then {

    _canPickLight = isNull (_nearLight getVariable ["owner",objNull]);

    };

    };

    */

    // ====================== IT's SERVER MENU SCRIPT ======================

    // The color for the menu is customizable. Default: f2cb0b. If you want to change it, use HTML color codes. Google it.

    // IMPORTANT: If you have an antihack running like infiSTAR.de's their AH then add these names to the allowed actions list:

    // s_player_servermenu,s_player_servermenu1,s_player_servermenu2,s_player_servermenu3,s_player_servermenu4,s_player_servermenuCancel,

    // IT07's Server Menu script

    if((speed player <= 1) && _canDo) then {

    if (s_player_servermenu < 0) then {

    s_player_servermenu = player addAction [("" + ("REGRAS/INFO") +""),"functions\server_menu.sqf","",-1,false,false,"", ""];

    };

    } else {

    player removeAction s_player_servermenu;

    s_player_servermenu = -1;

    player removeAction s_player_servermenu1;

    player removeAction s_player_servermenu2;

    player removeAction s_player_servermenu3;

    player removeAction s_player_servermenu4;

    player removeAction s_player_servermenuCancel;

    };

    // ====================== SERVER MENU SCRIPT END ======================

    _nearLight = nearestObject [player,"LitObject"];

    _canPickLight = false;

    if (!isNull _nearLight) then {

    if (_nearLight distance player < 4) then {

    _canPickLight = isNull (_nearLight getVariable ["owner",objNull]);

    };

    };

    if (_canPickLight && !dayz_hasLight && !_isPZombie) then {

    if (s_player_grabflare < 0) then {

    _text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName");

    s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""];

    s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""];

    };

    } else {

    player removeAction s_player_grabflare;

    player removeAction s_player_removeflare;

    s_player_grabflare = -1;

    s_player_removeflare = -1;

    };

    if (DZE_HeliLift) then {

    _hasAttached = _vehicle getVariable["hasAttached",false];

    if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) < 30) && (speed _vehicle < 5) && (typeName _hasAttached == "OBJECT")) then {

    if (s_player_heli_detach < 0) then {

    dayz_myLiftVehicle = _vehicle;

    s_player_heli_detach = dayz_myLiftVehicle addAction ["Detach Vehicle","\z\addons\dayz_code\actions\player_heliDetach.sqf",[dayz_myLiftVehicle,_hasAttached],2,false,true,"",""];

    };

    } else {

    dayz_myLiftVehicle removeAction s_player_heli_detach;

    s_player_heli_detach = -1;

    };

    };

    if(DZE_HaloJump) then {

    if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) > 400)) then {

    if (s_halo_action < 0) then {

    DZE_myHaloVehicle = _vehicle;

    s_halo_action = DZE_myHaloVehicle addAction [localize "STR_EPOCH_ACTIONS_HALO","\z\addons\dayz_code\actions\halo_jump.sqf",[],2,false,true,"",""];

    };

    } else {

    DZE_myHaloVehicle removeAction s_halo_action;

    s_halo_action = -1;

    };

    };

    if (!DZE_ForceNameTagsOff) then {

    if (s_player_showname < 0 && !_isPZombie) then {

    if (DZE_ForceNameTags) then {

    s_player_showname = 1;

    player setVariable["DZE_display_name",true,true];

    } else {

    s_player_showname = player addAction [localize "STR_EPOCH_ACTIONS_NAMEYES", "\z\addons\dayz_code\actions\display_name.sqf",true, 0, true, false, "",""];

    s_player_showname1 = player addAction [localize "STR_EPOCH_ACTIONS_NAMENO", "\z\addons\dayz_code\actions\display_name.sqf",false, 0, true, false, "",""];

    };

    };

    };

    if(_isPZombie) then {

    if (s_player_callzombies < 0) then {

    s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];

    };

    if (DZE_PZATTACK) then {

    call pz_attack;

    DZE_PZATTACK = false;

    };

    if (s_player_pzombiesvision < 0) then {

    s_player_pzombiesvision = player addAction [localize "STR_EPOCH_ACTIONS_NIGHTVIS", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"];

    };

    if (!isNull cursorTarget && (player distance cursorTarget < 3)) then {

    _isAnimal = cursorTarget isKindOf "Animal";

    _isZombie = cursorTarget isKindOf "zZombie_base";

    _isHarvested = cursorTarget getVariable["meatHarvested",false];

    _isMan = cursorTarget isKindOf "Man";

    if (!alive cursorTarget && (_isAnimal || _isMan) && !_isZombie && !_isHarvested) then {

    if (s_player_pzombiesfeed < 0) then {

    s_player_pzombiesfeed = player addAction [localize "STR_EPOCH_ACTIONS_FEED", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",cursorTarget, 3, true, false, "",""];

    };

    } else {

    player removeAction s_player_pzombiesfeed;

    s_player_pzombiesfeed = -1;

    };

    } else {

    player removeAction s_player_pzombiesfeed;

    s_player_pzombiesfeed = -1;

    };

    };

    _allowedDistance = 4;

    _isAir = cursorTarget isKindOf "Air";

    _isShip = cursorTarget isKindOf "Ship";

    if(_isAir || _isShip) then {

    _allowedDistance = 8;

    };

    if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance cursorTarget < _allowedDistance) && _canDo) then { //Has some kind of target

    _cursorTarget = cursorTarget;

    _typeOfCursorTarget = typeOf _cursorTarget;

    _isVehicle = _cursorTarget isKindOf "AllVehicles";

    _isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"];

    _isnewstorage = _typeOfCursorTarget in DZE_isNewStorage;

    _magazinesPlayer = magazines player;

    _hasbottleitem = "ItemWaterbottle" in _magazinesPlayer;

    _hastinitem = false;

    {

    if (_x in _magazinesPlayer) then {

    _hastinitem = true;

    };

    } count boil_tin_cans;

    _hasFuelE = "ItemJerrycanEmpty" in _magazinesPlayer;

    _hasFuelBarrelE = "ItemFuelBarrelEmpty" in _magazinesPlayer;

    _hasHotwireKit = "ItemHotwireKit" in _magazinesPlayer;

    _itemsPlayer = items player;

    _temp_keys = [];

    _temp_keys_names = [];

    _key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];

    {

    if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {

    _ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");

    _ownerKeyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");

    _temp_keys_names set [_ownerKeyId,_ownerKeyName];

    _temp_keys set [count _temp_keys,str(_ownerKeyId)];

    };

    } count _itemsPlayer;

    _hasKnife = "ItemKnife" in _itemsPlayer;

    _hasToolbox = "ItemToolbox" in _itemsPlayer;

    _isMan = _cursorTarget isKindOf "Man";

    _traderType = _typeOfCursorTarget;

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

    _isAnimal = _cursorTarget isKindOf "Animal";

    _isDog = (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin");

    _isZombie = _cursorTarget isKindOf "zZombie_base";

    _isDestructable = _cursorTarget isKindOf "BuiltItems";

    _isWreck = _typeOfCursorTarget in DZE_isWreck;

    _isWreckBuilding = _typeOfCursorTarget in DZE_isWreckBuilding;

    _isModular = _cursorTarget isKindOf "ModularItems";

    _isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"];

    _isRemovable = _typeOfCursorTarget in DZE_isRemovable;

    _isDisallowRepair = _typeOfCursorTarget in ["M240Nest_DZ"];

    _isTent = _cursorTarget isKindOf "TentStorage";

    _isAlive = alive _cursorTarget;

    _text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");

    _rawmeat = meatraw;

    _hasRawMeat = false;

    {

    if (_x in _magazinesPlayer) then {

    _hasRawMeat = true;

    };

    } count _rawmeat;

    _isFuel = false;

    if (_hasFuelE || _hasFuelBarrelE) then {

    {

    if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};

    } count dayz_fuelsources;

    };

    _player_flipveh = false;

    _player_deleteBuild = false;

    _player_lockUnlock_crtl = false;

    if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then {

    if (s_player_plotManagement < 0) then {

    _adminList = ["76561197961674259","76561198083332784","76561198116439388"]; // Add admins here if you admins to able to manage all plotpoles

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

    _friends = _cursorTarget getVariable ["plotfriends", []];

    _fuid = [];

    {

    _friendUID = _x select 0;

    _fuid = _fuid + [_friendUID];

    } forEach _friends;

    _allowed = [_owner];

    _allowed = [_owner] + _adminList + _fuid;

    if((getPlayerUID player) in _allowed)then{

    s_player_plotManagement = player addAction ["Manage Plot", "plotManagement\initPlotManagement.sqf", [], 5, false];

    };

    };

    if (s_player_maintain_area < 0) then {

    s_player_maintain_area = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "Scripts\Gold_Coin_system\Maintain\maintain_area.sqf", "maintain", 5, false];

    s_player_maintain_area_preview = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "Scripts\Gold_Coin_system\Maintain\maintain_area.sqf", "preview", 5, false];

    };

    } else {

    player removeAction s_player_plotManagement;

    s_player_plotManagement = -1;

    player removeAction s_player_maintain_area;

    s_player_maintain_area = -1;

    player removeAction s_player_maintain_area_preview;

    s_player_maintain_area_preview = -1;

    };

    if(_isAlive) then {

    if(_isDestructable || _isWreck || _isRemovable || _isWreckBuilding) then {

    if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {

    _player_deleteBuild = true;

    };

    };

    ///Allow owners to delete modulars

    if(_isModular) then {

    if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {

    _findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 0];

    _IsNearPlot = count (_findNearestPoles);

    _fuid = [];

    _allowed = [];

    if(_IsNearPlot > 0)then{

    _thePlot = _findNearestPoles select 0;

    _owner = _thePlot getVariable ["ownerPUID","010"];

    _friends = _thePlot getVariable ["plotfriends", []];

    {

    _friendUID = _x select 0;

    _fuid = _fuid + [_friendUID];

    } forEach _friends;

    _allowed = [_owner];

    _allowed = [_owner] + _fuid;

    if ( _playerUID in _allowed && _ownerID in _allowed ) then { // // If u want that the object also belongs to someone on the plotpole.

    _player_deleteBuild = true;

    };

    }else{

    if(_ownerID == _playerUID)then{

    _player_deleteBuild = true;

    };

    };

    };

    };

    //Allow owners to delete modular doors without locks

    if(_isModularDoor) then {

    if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {

    _findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 0];

    _IsNearPlot = count (_findNearestPoles);

    _fuid = [];

    _allowed = [];

    if(_IsNearPlot > 0)then{

    _thePlot = _findNearestPoles select 0;

    _owner = _thePlot getVariable ["ownerPUID","010"];

    _friends = _thePlot getVariable ["plotfriends", []];

    {

    _friendUID = _x select 0;

    _fuid = _fuid + [_friendUID];

    } forEach _friends;

    _allowed = [_owner];

    _allowed = [_owner] + _fuid;

    if ( _playerUID in _allowed && _ownerID in _allowed) then { // // If u want that the object also belongs to someone on the plotpole.

    _player_deleteBuild = true;

    };

    }else{

    if(_ownerID == _playerUID)then{

    _player_deleteBuild = true;

    };

    };

    };

    };

    if(_isVehicle) then {

    if (!(canmove _cursorTarget) && (player distance _cursorTarget >= 2) && (count (crew _cursorTarget))== 0 && ((vectorUp _cursorTarget) select 2) < 0.5) then {

    _playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);

    if(_isVehicletype || (_playersNear >= 2)) then {

    _player_flipveh = true;

    };

    };

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

    _player_lockUnlock_crtl = true;

    };

    };

    };

    if(_player_deleteBuild) then {

    if (s_player_deleteBuild < 0) then {

    s_player_deleteBuild = player addAction [format[localize "str_actions_delete",_text], "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];

    };

    } else {

    player removeAction s_player_deleteBuild;

    s_player_deleteBuild = -1;

    };

    if (DZE_HeliLift) then {

    _liftHeli = objNull;

    _found = false;

    _allowTow = false;

    if ((count (crew _cursorTarget)) == 0) then {

    {

    if(!_allowTow) then {

    _allowTow = _cursorTarget isKindOf _x;

    };

    } count DZE_HeliAllowToTow;

    };

    if (_allowTow) then {

    _liftHelis = nearestObjects [player, DZE_HeliAllowTowFrom, 15];

    {

    if(!_found) then {

    _posL = [_x] call FNC_getPos;

    _posC = [_cursorTarget] call FNC_getPos;

    _height = (_posL select 2) - (_posC select 2);

    _hasAttached = _x getVariable["hasAttached",false];

    if(_height < 15 && _height > 5 && (typeName _hasAttached != "OBJECT")) then {

    if(((abs((_posL select 0) - (_posC select 0))) < 10) && ((abs((_posL select 1) - (_posC select 1))) < 10)) then {

    _liftHeli = _x;

    _found = true;

    };

    };

    };

    } count _liftHelis;

    };

    _attached = _cursorTarget getVariable["attached",false];

    if(_found && _allowTow && _canDo && !locked _cursorTarget && !_isPZombie && (typeName _attached != "OBJECT")) then {

    if (s_player_heli_lift < 0) then {

    s_player_heli_lift = player addAction ["Attach to Heli", "\z\addons\dayz_code\actions\player_heliLift.sqf",[_liftHeli,_cursorTarget], -10, false, true, "",""];

    };

    } else {

    player removeAction s_player_heli_lift;

    s_player_heli_lift = -1;

    };

    };

    if(_player_lockUnlock_crtl) then {

    if (s_player_lockUnlock_crtl < 0) then {

    _hasKey = _ownerID in _temp_keys;

    _oldOwner = (_ownerID == dayz_playerUID);

    if(locked _cursorTarget) then {

    if(_hasKey || _oldOwner) then {

    _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, "", ""];

    s_player_lockunlock set [count s_player_lockunlock,_Unlock];

    s_player_lockUnlock_crtl = 1;

    } else {

    if(_hasHotwireKit) then {

    _Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true, "", ""];

    } else {

    _Unlock = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",_cursorTarget, 2, true, true, "", ""];

    };

    s_player_lockunlock set [count s_player_lockunlock,_Unlock];

    s_player_lockUnlock_crtl = 1;

    };

    } else {

    if(_hasKey || _oldOwner) then {

    _lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true, "", ""];

    s_player_lockunlock set [count s_player_lockunlock,_lock];

    s_player_lockUnlock_crtl = 1;

    };

    };

    };

    } else {

    {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];

    s_player_lockUnlock_crtl = -1;

    };

    if(DZE_AllowForceSave) then {

    if((_isVehicle || _isTent) && !_isMan) then {

    if (s_player_forceSave < 0) then {

    s_player_forceSave = player addAction [format[localize "str_actions_save",_text], "\z\addons\dayz_code\actions\forcesave.sqf",_cursorTarget, 1, true, true, "", ""];

    };

    } else {

    player removeAction s_player_forceSave;

    s_player_forceSave = -1;

    };

    };

    if(DZE_AllowCargoCheck) then {

    if((_isVehicle || _isTent || _isnewstorage) && _isAlive && !_isMan && !locked _cursorTarget) then {

    if (s_player_checkGear < 0) then {

    s_player_checkGear = player addAction [localize "STR_EPOCH_PLAYER_CARGO", "\z\addons\dayz_code\actions\cargocheck.sqf",_cursorTarget, 1, true, true, "", ""];

    };

    } else {

    player removeAction s_player_checkGear;

    s_player_checkGear = -1;

    };

    };

    if(_player_flipveh) then {

    if (s_player_flipveh < 0) then {

    s_player_flipveh = player addAction [format[localize "str_actions_flipveh",_text], "\z\addons\dayz_code\actions\player_flipvehicle.sqf",_cursorTarget, 1, true, true, "", ""];

    };

    } else {

    player removeAction s_player_flipveh;

    s_player_flipveh = -1;

    };

    if((_hasFuelE || _hasFuelBarrelE) && _isFuel) then {

    if (s_player_fillfuel < 0) then {

    s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""];

    };

    } else {

    player removeAction s_player_fillfuel;

    s_player_fillfuel = -1;

    };

    _player_butcher = false;

    _player_studybody = false;

    _player_SurrenderedGear = false;

    if (!_isAlive) then {

    if((_isAnimal || _isZombie) && _hasKnife) then {

    _isHarvested = _cursorTarget getVariable["meatHarvested",false];

    if (!_isHarvested) then {

    _player_butcher = true;

    };

    };

    if (_isMan && !_isZombie && !_isAnimal) then {

    _player_studybody = true;

    }

    } else {

    if(_isMan && !_isZombie && !_isAnimal) then {

    _isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false];

    if (_isSurrendered) then {

    _player_SurrenderedGear = true;

    };

    };

    };

    if (_player_butcher) then {

    if (s_player_butcher < 0) then {

    if(_isZombie) then {

    s_player_butcher = player addAction [localize "STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];

    } else {

    s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];

    };

    };

    } else {

    player removeAction s_player_butcher;

    s_player_butcher = -1;

    };

    if (_player_studybody) then {

    if (s_player_studybody < 0) then {

    s_player_studybody = player addAction [(""+("Check Wallet") + ""), "Scripts\Gold_Coin_system\Check_Wallet\check_wallet.sqf",_cursorTarget, 0, false, true, "",""];

    };

    } else {

    player removeAction s_player_studybody;

    s_player_studybody = -1;

    };

    _player_cook = false;

    _player_boil = false;

    if (inflamed _cursorTarget) then {

    if (_hasRawMeat) then {

    _player_cook = true;

    };

    if (_hasbottleitem && _hastinitem) then {

    _player_boil = true;

    };

    };

    if (_player_SurrenderedGear) then {

    if (s_player_SurrenderedGear < 0) then {

    s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTIONS_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""];

    };

    } else {

    player removeAction s_player_SurrenderedGear;

    s_player_SurrenderedGear = -1;

    };

    if (_player_cook) then {

    if (s_player_cook < 0) then {

    s_player_cook = player addAction [localize "str_actions_self_05", "\z\addons\dayz_code\actions\cook.sqf",_cursorTarget, 3, true, true, "", ""];

    };

    } else {

    player removeAction s_player_cook;

    s_player_cook = -1;

    };

    if (_player_boil) then {

    if (s_player_boil < 0) then {

    s_player_boil = player addAction [localize "str_actions_boilwater", "\z\addons\dayz_code\actions\boil.sqf",_cursorTarget, 3, true, true, "", ""];

    };

    } else {

    player removeAction s_player_boil;

    s_player_boil = -1;

    };

    if(_cursorTarget == dayz_hasFire) then {

    if ((s_player_fireout < 0) && !(inflamed _cursorTarget) && (player distance _cursorTarget < 3)) then {

    s_player_fireout = player addAction [localize "str_actions_self_06", "\z\addons\dayz_code\actions\fire_pack.sqf",_cursorTarget, 0, false, true, "",""];

    };

    } else {

    player removeAction s_player_fireout;

    s_player_fireout = -1;

    };

    if(_isTent && (player distance _cursorTarget < 3)) then {

    if (_ownerID == dayz_characterID) then {

    if (s_player_packtent < 0) then {

    s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];

    };

    } else {

    if(("ItemJerrycan" in _magazinesPlayer) && ("ItemMatchbox_DZE" in weapons player)) then {

    if (s_player_packtent < 0) then {

    s_player_packtent = player addAction [localize "STR_EPOCH_ACTIONS_DESTROYTENT", "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];

    };

    };

    };

    } else {

    player removeAction s_player_packtent;

    s_player_packtent = -1;

    };

    if((_typeOfCursorTarget in DZE_LockableStorage) && _ownerID != "0" && (player distance _cursorTarget < 3)) then {

    if (s_player_unlockvault < 0) then {

    if(_typeOfCursorTarget in DZE_LockedStorage) then {

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

    _combi = player addAction [format[localize "STR_EPOCH_ACTIONS_OPEN",_text], "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""];

    s_player_combi set [count s_player_combi,_combi];

    } else {

    _combi = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];

    s_player_combi set [count s_player_combi,_combi];

    };

    s_player_unlockvault = 1;

    } else {

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

    _combi = player addAction [localize "STR_EPOCH_ACTIONS_RECOMBO", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];

    s_player_combi set [count s_player_combi,_combi];

    s_player_unlockvault = 1;

    };

    };

    };

    } else {

    {player removeAction _x} count s_player_combi;s_player_combi = [];

    s_player_unlockvault = -1;

    };

    if(_typeOfCursorTarget in DZE_UnLockedStorage and (player distance _cursorTarget < 3)) then {

    if (s_bank_dialog < 0) then {

    s_bank_dialog = player addAction ["Online Banking", "Scripts\Gold_Coin_system\Bank_Dialog\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];

    };

    } else {

    player removeAction s_bank_dialog;

    s_bank_dialog = -1;

    };

    if(_typeOfCursorTarget in Bank_Object and (player distance _cursorTarget < 3)) then {

    if (s_bank_dialog2 < 0) then {

    s_bank_dialog2 = player addAction ["Bank ATM", "Scripts\Gold_Coin_system\Bank_Dialog\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];

    };

    } else {

    player removeAction s_bank_dialog2;

    s_bank_dialog2 = -1;

    };

    if(_typeOfCursorTarget in DZE_UnLockedStorage && _ownerID != "0" && (player distance _cursorTarget < 3)) then {

    if (s_player_lockvault < 0) then {

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

    s_player_lockvault = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""];

    };

    };

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

    s_player_packvault = player addAction [format["%1",(format[localize "STR_EPOCH_ACTIONS_PACK",_text])], "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "",""];

    };

    } else {

    player removeAction s_player_packvault;

    s_player_packvault = -1;

    player removeAction s_player_lockvault;

    s_player_lockvault = -1;

    };

    if(_typeOfCursorTarget == "Info_Board_EP1") then {

    if (s_player_information < 0) then {

    s_player_information = player addAction [localize "STR_EPOCH_ACTIONS_MURDERS", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 7, false, true, "",""];

    };

    } else {

    player removeAction s_player_information;

    s_player_information = -1;

    };

    if (_isMan and _isAlive and !_isZombie and !_isAnimal and !(_traderType in serverTraders)) then {

    if (s_givemoney_dialog < 0) then {

    s_givemoney_dialog = player addAction [format["Give Money to %1", (name _cursorTarget)], "Scripts\Gold_Coin_system\Give_Money\give_player_dialog.sqf",_cursorTarget, 3, true, true, "", ""];

    };

    } else {

    player removeAction s_givemoney_dialog;

    s_givemoney_dialog = -1;

    };

    if(_typeOfCursorTarget in dayz_fuelpumparray) then {

    if (s_player_fuelauto < 0) then {

    _findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];

    _findNearestGen = [];

    {

    if (alive _x && (_x getVariable ["GeneratorRunning", false])) then {

    _findNearestGen set [(count _findNearestGen),_x];

    };

    } count _findNearestGens;

    _IsNearRunningGen = count (_findNearestGen);

    if(_IsNearRunningGen > 0) then {

    s_player_fuelauto = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true, "",""];

    } else {

    s_player_fuelauto = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""];

    };

    };

    } else {

    player removeAction s_player_fuelauto;

    s_player_fuelauto = -1;

    };

    if(_typeOfCursorTarget in DZE_fueltruckarray && alive _cursorTarget) then {

    if (s_player_fuelauto2 < 0) then {

    if(isEngineOn _cursorTarget) then {

    s_player_fuelauto2 = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",_cursorTarget, 0, false, true, "",""];

    } else {

    s_player_fuelauto2 = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""];

    };

    };

    } else {

    player removeAction s_player_fuelauto2;

    s_player_fuelauto2 = -1;

    };

    if ((_cursorTarget isKindOf "ModularItems") || (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") || (_cursorTarget isKindOf "CinderWallDoor_DZ_Base")) then {

    if ((s_player_lastTarget select 0) != _cursorTarget) then {

    if (s_player_upgrade_build > 0) then {

    player removeAction s_player_upgrade_build;

    s_player_upgrade_build = -1;

    };

    };

    if (s_player_upgrade_build < 0) then {

    s_player_lastTarget set [0,_cursorTarget];

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

    };

    } else {

    player removeAction s_player_upgrade_build;

    s_player_upgrade_build = -1;

    };

    if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {

    if ((s_player_lastTarget select 1) != _cursorTarget) then {

    if (s_player_downgrade_build > 0) then {

    player removeAction s_player_downgrade_build;

    s_player_downgrade_build = -1;

    };

    };

    if (s_player_downgrade_build < 0) then {

    s_player_lastTarget set [1,_cursorTarget];

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

    };

    } else {

    player removeAction s_player_downgrade_build;

    s_player_downgrade_build = -1;

    };

    if((_cursorTarget isKindOf "ModularItems" || _cursorTarget isKindOf "DZE_Housebase" || _typeOfCursorTarget == "LightPole_DZ") && (damage _cursorTarget >= DZE_DamageBeforeMaint)) then {

    if ((s_player_lastTarget select 2) != _cursorTarget) then {

    if (s_player_maint_build > 0) then {

    player removeAction s_player_maint_build;

    s_player_maint_build = -1;

    };

    };

    if (s_player_maint_build < 0) then {

    s_player_lastTarget set [2,_cursorTarget];

    s_player_maint_build = player addAction [format[localize "STR_EPOCH_ACTIONS_MAINTAIN",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""];

    };

    } else {

    player removeAction s_player_maint_build;

    s_player_maint_build = -1;

    };

    if(_cursorTarget isKindOf "Generator_DZ") then {

    if (s_player_fillgen < 0) then {

    if((_cursorTarget getVariable ["GeneratorRunning", false])) then {

    s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true, "",""];

    } else {

    if((_cursorTarget getVariable ["GeneratorFilled", false])) then {

    s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR2", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];

    } else {

    if("ItemJerrycan" in _magazinesPlayer) then {

    s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR3", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];

    };

    };

    };

    };

    } else {

    player removeAction s_player_fillgen;

    s_player_fillgen = -1;

    };

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

    if ((s_player_sleep < 0) && (player distance _cursorTarget < 3)) then {

    s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false, true, "",""];

    };

    } else {

    player removeAction s_player_sleep;

    s_player_sleep = -1;

    };

    _clothesTaken = cursorTarget getVariable["clothesTaken",false];

    // Take clothes by Zabn @ BalotaBuddies.net

    if (_isMan and !_isAlive and !_isZombie and !_isAnimal and !_clothesTaken) then {

    if (s_player_clothes < 0) then {

    s_player_clothes = player addAction [("")+("Take Clothes")+(""), "scripts\player_takeClothes.sqf",cursorTarget, -10, false, true, "",""];

    };

    } else {

    player removeAction s_player_clothes;

    s_player_clothes = -1;

    };

    if ((dayz_myCursorTarget != _cursorTarget) && _isVehicle && !_isMan && _hasToolbox && (damage _cursorTarget < 1) && !_isDisallowRepair) then {

    if (s_player_repair_crtl < 0) then {

    dayz_myCursorTarget = _cursorTarget;

    _menu = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_REPAIRV", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false, "",""];

    _menu1 = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_SALVAGEV", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false, "",""];

    s_player_repairActions set [count s_player_repairActions,_menu];

    s_player_repairActions set [count s_player_repairActions,_menu1];

    s_player_repair_crtl = 1;

    } else {

    {dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];

    s_player_repair_crtl = -1;

    };

    };

    if (_isMan && !_isPZombie && _traderType in serverTraders) then {

    if (s_player_parts_crtl < 0) then {

    _humanity = player getVariable ["humanity",0];

    _traderMenu = call compile format["menu_%1;",_traderType];

    _low_high = "low";

    _humanity_logic = false;

    if((_traderMenu select 2) == "friendly") then {

    _humanity_logic = (_humanity < -5000);

    };

    if((_traderMenu select 2) == "hostile") then {

    _low_high = "high";

    _humanity_logic = (_humanity > -5000);

    };

    if((_traderMenu select 2) == "hero") then {

    _humanity_logic = (_humanity < 5000);

    };

    if(_humanity_logic) then {

    _cancel = player addAction [format[localize "STR_EPOCH_ACTIONS_HUMANITY",_low_high], "\z\addons\dayz_code\actions\trade_cancel.sqf",["na"], 0, true, false, "",""];

    s_player_parts set [count s_player_parts,_cancel];

    } else {

    {

    _buy = player addAction [format["Trade %1 %2 for %3 %4",(_x select 3),(_x select 5),(_x select 2),(_x select 6)], "\z\addons\dayz_code\actions\trade_items_wo_db.sqf",[(_x select 0),(_x select 1),(_x select 2),(_x select 3),(_x select 4),(_x select 5),(_x select 6)], (_x select 7), true, true, "",""];

    s_player_parts set [count s_player_parts,_buy];

    } count (_traderMenu select 1);

    _buyV = player addAction ["Advanced Trading", "zupa\advancedTrading\init.sqf",(_traderMenu select 0), 999, true, false, "",""];

    s_player_parts set [count s_player_parts,_buyV];

    // Database menu

    _buy = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\show_dialog.sqf",(_traderMenu select 0), 999, true, false, "",""];

    s_player_parts set [count s_player_parts,_buy];

    };

    s_player_parts_crtl = 1;

    };

    } else {

    {player removeAction _x} count s_player_parts;s_player_parts = [];

    s_player_parts_crtl = -1;

    };

    if(dayz_tameDogs) then {

    if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" && player getVariable ["dogID", 0] == 0) then {

    if (s_player_tamedog < 0) then {

    s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", _cursorTarget, 1, false, true, "", ""];

    };

    } else {

    player removeAction s_player_tamedog;

    s_player_tamedog = -1;

    };

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

    _dogHandle = player getVariable ["dogID", 0];

    if (s_player_feeddog < 0 && _hasRawMeat) then {

    s_player_feeddog = player addAction [localize "str_actions_feeddog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,0], 0, false, true,"",""];

    };

    if (s_player_waterdog < 0 && "ItemWaterbottle" in _magazinesPlayer) then {

    s_player_waterdog = player addAction [localize "str_actions_waterdog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,1], 0, false, true,"",""];

    };

    if (s_player_staydog < 0) then {

    _lieDown = _dogHandle getFSMVariable "_actionLieDown";

    if (_lieDown) then { _text = "str_actions_liedog"; } else { _text = "str_actions_sitdog"; };

    s_player_staydog = player addAction [localize _text,"\z\addons\dayz_code\actions\dog\stay.sqf", _dogHandle, 5, false, true,"",""];

    };

    if (s_player_trackdog < 0) then {

    s_player_trackdog = player addAction [localize "str_actions_trackdog","\z\addons\dayz_code\actions\dog\track.sqf", _dogHandle, 4, false, true,"",""];

    };

    if (s_player_barkdog < 0) then {

    s_player_barkdog = player addAction [localize "str_actions_barkdog","\z\addons\dayz_code\actions\dog\speak.sqf", _cursorTarget, 3, false, true,"",""];

    };

    if (s_player_warndog < 0) then {

    _warn = _dogHandle getFSMVariable "_watchDog";

    if (_warn) then { _text = (localize "str_epoch_player_247"); _warn = false; } else { _text = (localize "str_epoch_player_248"); _warn = true; };

    s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true,"",""];

    };

    if (s_player_followdog < 0) then {

    s_player_followdog = player addAction [localize "str_actions_followdog","\z\addons\dayz_code\actions\dog\follow.sqf",[_dogHandle,true], 6, false, true,"",""];

    };

    } else {

    player removeAction s_player_feeddog;

    s_player_feeddog = -1;

    player removeAction s_player_waterdog;

    s_player_waterdog = -1;

    player removeAction s_player_staydog;

    s_player_staydog = -1;

    player removeAction s_player_trackdog;

    s_player_trackdog = -1;

    player removeAction s_player_barkdog;

    s_player_barkdog = -1;

    player removeAction s_player_warndog;

    s_player_warndog = -1;

    player removeAction s_player_followdog;

    s_player_followdog = -1;

    };

    };

    } else {

    player removeAction s_player_plotManagement;

    s_player_plotManagement = -1;

    {dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];

    s_player_repair_crtl = -1;

    {player removeAction _x} count s_player_combi;s_player_combi = [];

    dayz_myCursorTarget = objNull;

    s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];

    {player removeAction _x} count s_player_parts;s_player_parts = [];

    s_player_parts_crtl = -1;

    {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];

    s_player_lockUnlock_crtl = -1;

    player removeAction s_player_checkGear;

    s_player_checkGear = -1;

    player removeAction s_player_SurrenderedGear;

    s_player_SurrenderedGear = -1;

    player removeAction s_player_forceSave;

    s_player_forceSave = -1;

    player removeAction s_player_flipveh;

    s_player_flipveh = -1;

    player removeAction s_player_sleep;

    s_player_sleep = -1;

    player removeAction s_player_deleteBuild;

    s_player_deleteBuild = -1;

    player removeAction s_player_butcher;

    s_player_butcher = -1;

    player removeAction s_player_cook;

    s_player_cook = -1;

    player removeAction s_player_boil;

    s_player_boil = -1;

    player removeAction s_player_fireout;

    s_player_fireout = -1;

    player removeAction s_player_packtent;

    s_player_packtent = -1;

    player removeAction s_player_fillfuel;

    s_player_fillfuel = -1;

    player removeAction s_player_studybody;

    s_player_studybody = -1;

    player removeAction s_player_tamedog;

    s_player_tamedog = -1;

    player removeAction s_player_feeddog;

    s_player_feeddog = -1;

    player removeAction s_player_waterdog;

    s_player_waterdog = -1;

    player removeAction s_player_staydog;

    s_player_staydog = -1;

    player removeAction s_player_trackdog;

    s_player_trackdog = -1;

    player removeAction s_player_barkdog;

    s_player_barkdog = -1;

    player removeAction s_player_warndog;

    s_player_warndog = -1;

    player removeAction s_player_followdog;

    s_player_followdog = -1;

    player removeAction s_player_unlockvault;

    s_player_unlockvault = -1;

    player removeAction s_player_packvault;

    s_player_packvault = -1;

    player removeAction s_player_lockvault;

    s_player_lockvault = -1;

    player removeAction s_player_information;

    s_player_information = -1;

    player removeAction s_player_fillgen;

    s_player_fillgen = -1;

    player removeAction s_player_upgrade_build;

    s_player_upgrade_build = -1;

    player removeAction s_player_maint_build;

    s_player_maint_build = -1;

    player removeAction s_player_downgrade_build;

    s_player_downgrade_build = -1;

    player removeAction s_player_towing;

    s_player_towing = -1;

    player removeAction s_player_fuelauto;

    s_player_fuelauto = -1;

    player removeAction s_player_fuelauto2;

    s_player_fuelauto2 = -1;

    player removeAction s_givemoney_dialog;

    s_givemoney_dialog = -1;

    player removeAction s_bank_dialog;

    s_bank_dialog = -1;

    player removeAction s_bank_dialog2;

    s_bank_dialog2 = -1;

    player removeAction s_player_packOBJ;

    s_player_packOBJ = -1;

    };

    _dogHandle = player getVariable ["dogID", 0];

    if (_dogHandle > 0) then {

    _dog = _dogHandle getFSMVariable "_dog";

    _ownerID = "0";

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

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

    if (s_player_movedog < 0) then {

    s_player_movedog = player addAction [localize "str_actions_movedog", "\z\addons\dayz_code\actions\dog\move.sqf", player getVariable ["dogID", 0], 1, false, true, "", ""];

    };

    if (s_player_speeddog < 0) then {

    _text = (localize "str_epoch_player_249");

    _speed = 0;

    if (_dog getVariable ["currentSpeed",1] == 0) then { _speed = 1; _text = (localize "str_epoch_player_250"); };

    s_player_speeddog = player addAction [format[localize "str_actions_speeddog", _text], "\z\addons\dayz_code\actions\dog\speed.sqf",[player getVariable ["dogID", 0],_speed], 0, false, true, "", ""];

    };

    if (s_player_calldog < 0) then {

    s_player_calldog = player addAction [localize "str_actions_calldog", "\z\addons\dayz_code\actions\dog\follow.sqf", [player getVariable ["dogID", 0], true], 2, false, true, "", ""];

    };

    };

    } else {

    player removeAction s_player_movedog;

    s_player_movedog = -1;

    player removeAction s_player_speeddog;

    s_player_speeddog = -1;

    player removeAction s_player_calldog;

    s_player_calldog = -1;

    };

    antihack

  5. well i wanted confirmation BEFORE I went back and redid everything, because I had to roll back everything so I could get the server up so people could play. (nope, haven't had time to make a test server from my pc yet.. maybe this weekend)

    Im just saying man. You can also edit the your posts instead of making 3 new ones in a row. Theres some unspoken etiquette on these forums, and you're more likely to get help from people if you follow it. Stuff like, editing your original post if you have afterthoughts instead of making 3 separate posts. And using spoilers and code boxes with numbered lines, and including RPT errors... stuff like that will make it more likely that people will help you.  This is just my advice.

  6. So Im pretty sure I narrowed this problem down to the single currency....  on my server, if you have a rocket (magazine) with the same classname as rocket (weapon) when you attempt to sell the magazine you receive this error.

    PVDZE_obj_Trade = [_activatingPlayer,_traderID,1,_name,inTraderCity,CurrencyName,_price];
    				publicVariableServer "PVDZE_obj_Trade";
    			} else {
    				cutText [format["Something went wrong. Could not remove %1 from inventory", _name], "PLAIN DOWN"];
    				_abort = true;
    			};
    

    Now after I installed advanced trading, I noticed that the server see's the magazine as the weapon. Now I know someone's going to ask, so here

    class Strela {
            type = "trade_weapons";
            buy[] ={1200,"Coins"};
            sell[] ={800,"Coins"};
        };
    
    class Strela {
            type = "trade_items";
            buy[] ={350,"Coins"};
            sell[] ={175,"Coins"};
        };
    

    as you can see they are not both trade_weapons so that is not the issue. Some images.. The reason I belive this is an SC issue is because my buddy does not have this issue on his server and he does use cfgtraders but not SC.

    xfJjUvQ.jpg

     

    PyyrMEB.jpg

     

    http://imgur.com/xfJjUvQ,PyyrMEB,SaVrnP0,jeIFlO9#2

     

    jeIFlO9.jpg

  7. is there a way to get this working together with infistars _CSA

    i guess infistars CSA is blocking the addaction because its not loaded into a allowed variable (s_player_...) 

     

     

    bike\init.sqf line 105

    if ((_forEachIndex call getActionId) < 0) then {
    [_forEachIndex,player addaction["<t color='#33b5e5'>" + format["Pack %1",(_forEachIndex call getDeployableDisplay)] + "</t>","addons\bike\pack.sqf",[_forEachIndex,_cursorTarget],0,false,true,"", ""]] call setActionId;
    };
    

    someone knows a way how to fix this so the Pack Obj scrollmenu will be shown for the players.

     

    regard dew

    did you use the scroll wheel installation or the right click installation? I've never had to filter this with infiSTAR and I use the right click set up.

  8. and

     

    Where does the service_point.sqf go?

    server_point.sqf comes in the folder called service_point....  you can change the file path or file names to whatever you want as long as you edit the paths to match what you have on you server.

    so you could have a file name hairybigballs.sqf and put that inside a folder called nutsack  as long as your filepath is nutsack\hairyballs.sqf

     

    hairybigballs.sqf will continue to work so long as the filepath matches what you have on your server. If you change your the call line to scripts\hairybigballs.sqf but we all know hairybigballs.sqf is in your folder nutsack, then hairybigballs.sqf won't work because the server doesn't see it where you told it to look.

  9. I've seen people talk about test servers, and all I could think of was.. i don't have the extra money for that...thinking I would have to buy another server.. I however forgot you can make your home PC a server, because I think I've seen how to do it on youtube for epoch. might be a little late now as the server is pretty much done, with the exception of these last two mods. But I will look into it. 

    As calamity was saying you're never really done. You'll get the itch to add something you saw that seemed cool or a new release or maybe you'll whip  up something small on your own. Or maybe as you get better you'll realize how messy everything looks because you started when you didnt know much and you'll want to clean it up. It's just nice to not have to worry about your main server whenever you need to do anything. You can test new versions of an antihack, or update your BE files and fix any kicks, really anything that before you had to do on your live server, you can do on your test server to make sure it works properly.

  10. To show the monitor error I would have to reinstall the mod, which will wipe everyones safe again. I will see if I still have it showing in an old RPT when I get home from work. I do know it has to do with the line in Server_monitor_sqf that it has you change that starts (Count _Inventory) I'll see if I can find the old RPT and post it, but it all might be for naught as I'm thinking more and more that PP4L didn't install correctly either. 

    One thing I highly recommend, is if you're able, set up a test server. You might be able to set one up locally on your home PC. That way you can test and test away and you dont have to worry about rollbacks or anything like that

  11.  

     

    Well again no one can help you with the server_monitor.sqf because we don't know what error you're getting. You're just saying you're getting an error but not what the error is.

    You are still confused about what Im saying. You should only have 1 of those files each. If PP4L comes with a variables in the folder, and you are already using a "custom" variables then you need to merge the 2 together and only use one. If the instructions tell you that the file path should be pp4l/variables, but you already have a custom/variables.. you need to compare both variables, see whats changed between the 2 and combine them into 1. Make sure all of the places that call the variables.sqf all call the same file from the same location.

     

    Pretend you're installing a game on your PC. And you want to add mods to the game so you can do in game stuff. All of the mod files you're adding are going to be in your game folder, but occasionally you have to edit one of the actual game files. You're not gonna make multiple copies of the game files and add them to your game folder, you're just going to use the one thats in there. And any mod that asks you to mod that file, you're going to just keep editing the same one. Any time it tells you to make the file path Blablabla/filename... ignore it.. and just edit the one you already have being called.

    I hope that helps shed some light.

     

    As for your server_monitor. what is the error you are getting?

  12.  

    Yes, I tested several positions in #include, all with errors. One changed the error to:

     

    ErrorMessage: File mpmissions\DayZ_Epoch_11.Chernarus\plotManagement\plotManagement.hpp, line 27: /PlotManagement/Controls.RscShortcutButton_7009: Undefined base class 'Zupa_RscButtonMenu'

     

    The position that was added:

     

    #include "zupa\advancedTrading\ZSCdefines.hpp" // if u don't have it from ZSC
    #include "zupa\advancedTrading\advancedTrading.hpp"
    #include "custom\extra_rc.hpp"
    #include "spawn\class.hpp"
    #include "spawn\halo.hpp"
    #include "spawn\spawn.hpp"
    #include "custom\snap_pro\snappoints.hpp"
    #include "Scripts\Defines\defines.hpp"
    #include "Scripts\Defines\common.hpp"
    #include "Scripts\Gold_Coin_system\Bank_Dialog\bank_dialog.hpp"
    #include "Scripts\Gold_Coin_system\Give_Money\give_player_dialog.hpp"
    #include "plotManagement\plotManagement.hpp"
    #include "dzgm\defines.hpp"
    class RscTitles
    {
    #include "dzgm\icons.hpp"
    #include "Scripts\Player_Hud\hud.hpp"
    };
    #include "dzgm\groupManagement.hpp"
    }

     

    How many defines.hpp are you using? You should only have one with all of your edits in that one. You shouldn't have multiple. My guess is you're calling a defines.hpp that doesnt' have the correct edits in it.

  13. . **STEP 3 (Modifying compiles.sqf)... now is this my custom compiles.. or the one in Plot pole for life?

    You should only have one on your server. The easiest way is to go into your dayz_code PBO in the root of your arma 2 oa folder, most likely in your pc's steam > steamapps > common > arma 2 oa>@Dayz_Epoch   You move that into a folder on your server, and change the call path in your init.sqf to whatever you put it.

     

    **STEP 4 (Modifying variables.sqf)**<br> Pretty much same question

    Same as above

    *STEP 5 (Modifying fn_selfActions.sqf)**<br> Same question.. author gives no paths, so I'm left guessing, Custom or Plot pole for life? (although i'm leaning PP4L)

    Same as above except you change the call line in the compiles.sqf

    Step 5E Remember to change the paths to any files you've moved to your mission folder! <------to what? Actually a better question is, where? I understand paths, and if the file is moved, the path has to be changed for the code can find it, but first off... when was I moving anything and from where to where?

    Now that you've moved these files into your server you need to tell your server to load them from your server and not from the dayz_code PBO because yours are going to be different and it forces everyone to download your servers mission file so they can play with those mods as well.  In the steps above I mentioned changing the paths in the init.sqf and compiles.sqf and this is what he means.

    **STEP 8b Modifying server_monitor.sqf <---- this one breaks my server and wipes the safes (again, with PP4L it has it's own Server_monitor.sqf, so i'm assuming that one... but it never works, and this is where the errors in my RPT pop up)

    We need to see this error to help you. My guess is, your PBO editor isn't giving your PBO a prefix and so your server "can't find blabla server_monitor.sqf" or something like that. This is a common issue with new admins because the PBO editor removes the prefix or doesn't add it by default.

     

    I have a friend who takes coding classes who can't make heads or tails of Zupa's instructions on any of his mods, and wont even help try to get them into my server. I'm 40 years old and never done this before and trying my best. All I can relate this to is when I was a flight instructor and knew there were people who wanted to learn to fly.. i would not write the instructions as if I thought you already had a background in it. Not everyone who owns a server is a coder, 

    The reason why he's written the instructions this way is like I said, this is extremely beginner stuff that you can find help with in a hundred other threads and so it's a real pain in the ass to write super long detailed instructions for simple stuff most people know already. Im not trying to insult you, we were all there once. There's nothing wrong with not knowing this stuff, it comes with time and you learn as you go. But you'll help yourself out a lot if you spend some time doing a little reading on the epochmod forums and especially the opendayz.net forums since they're a bit older and have some older more beginner level tutorials. Adding scripts to your server is not actually scripting, its just copy pasta, it's just a bit more detail oriented than your average copy pasta.

     

    Thanks for any help you may be able to give me

  14. I am new to this, as are MANY server owners. I am learning a lot.. I started this all with no knowledge of scripting, and it's only the people who have posted step by step, and clear instructions, that help me and people like me learn.. the more I do it, the more I learn.. but if you don't post clear step by steps, its very hard to understand and learn. For me, if it's not on youtube.. It's a lot of trial and error. Sure I learn a lot from that.. but it's not fair to my players. This and plot pole for life are the only two mods I have not been able to figure out totally on my own, or with a bit of help fro Youtube. '

     

    So, not to sound rude as you say, but can we not make this an elitist group that only people with experience in scripting can enjoy? People are usually pretty friendly and helpful. This doesn't help. I enjoy learning this stuff... but when it gets to stuff like this it doesn't help. I'm just hoping someone will post a step by step. it's a wonderful mod.. I've played it on other servers, and I want my players to have it. Lol. I tried guessing on how to do this and ended up wiping everyones safes.

    I wasn't suggesting that this become and elitist group that only people with experience in scripting can enjoy. I also wasn't suggesting you try to learn anything from youtube. I was suggesting you spend some more time on these forums and reading different tutorials because I guarantee you the answers you are seeking on here on this site.

    So to be more clear your issue is caused because you are editing more than one of the same file from your dayz code, instead of only making edits to one of each.

    There should only be one of any file you have pulled out of your dayz_code PBO in your entire mission folder. You should not have more than one fn_selfactions, or compiles.sqf, etc. You add one to your server, change the appropriate call line to match your filepath and that is the only one you use for any and all mods that require you to make changes to those files.  

  15. I really don't understand these instructions.. it's like a lot was left out. It says 

     

    Add "....blah blah.." to compiles.sqf

     

    Ok, great I can do that. Where in complies? Not as big of an issues as which compiles though? So which one? My custom compiles.. or the Plot pole for life Compiles?

     

    In fn_selfactions.. some of the lines they are looking for have more stuff with them in my plot pole for life fn-self actions, than do my regular fn_selfactions. Yet these are supposed to be the directions for plot pole for life install on the manager so I would think it uses those one... but it worries me when they are different.  

    I dont want to sound rude but the reason the instructions are left somewhat vague at certain parts is because the OP assumes you know what you're doing with those files. Many mods edit those files, and learning how to edit and include custom dayz_code files on your server is very basic stuff. You just need to spend more time reading and learning to get the hang of it.

×
×
  • Create New...