nikas455 Posted July 19, 2015 Report Share Posted July 19, 2015 after opening Link to comment Share on other sites More sharing options...
0 TheHound Posted July 19, 2015 Report Share Posted July 19, 2015 Looks like you need to add a soundSelect property to the VehicleList class in that dialog. The soundSelect property will look something like this depending on the type of control. However this shouldn't effect functionality. soundSelect[] = { "\A3\ui_f\data\sound\RscListbox\soundSelect", 0.09, 1 }; Link to comment Share on other sites More sharing options...
0 nikas455 Posted July 20, 2015 Author Report Share Posted July 20, 2015 Looks like you need to add a soundSelect property to the VehicleList class in that dialog. The soundSelect property will look something like this depending on the type of control. However this shouldn't effect functionality. soundSelect[] = { "\A3\ui_f\data\sound\RscListbox\soundSelect", 0.09, 1 }; it is for arma 2 or 3 ? Link to comment Share on other sites More sharing options...
0 TheHound Posted July 20, 2015 Report Share Posted July 20, 2015 The example I used was from ArmA 3 ( I don't have ArmA 2 installed ) but the property will still be similar, just the directory will be different. Can you link the mod you are referring to? I can look through those files and give a more detailed answer. EDIT: You should be able to use this property for ArmA 2. soundSelect[] = {"", 0.1, 1}; Link to comment Share on other sites More sharing options...
0 nikas455 Posted July 20, 2015 Author Report Share Posted July 20, 2015 The example I used was from ArmA 3 ( I don't have ArmA 2 installed ) but the property will still be similar, just the directory will be different. Can you link the mod you are referring to? I can look through those files and give a more detailed answer. EDIT: You should be able to use this property for ArmA 2. soundSelect[] = {"", 0.1, 1}; // Developed by [GZA] David for German Zombie Apocalypse Servers (https://zombieapo.eu/) class vehicle_garage { idd = 2800; name="vehicle_garage"; movingEnabled = 0; enableSimulation = 1; class controlsBackground { class Life_RscTitleBackground : Life_RscText { colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; idc = -1; x = 0.1; y = 0.2; w = 0.8; h = (1 / 25); }; class MainBackground : Life_RscText { colorBackground[] = {0,0,0,0.7}; idc = -1; x = 0.1; y = 0.2 + (11 / 250); w = 0.8; h = 0.7 - (22 / 250); }; class Title : Life_RscTitle { idc = 2801; text = "Garage"; x = 0.1; y = 0.2; w = 0.8; h = (1 / 25); }; class VehicleTitleBox : Life_RscText { idc = -1; text = "Your Vehicles"; colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; x = 0.11; y = 0.26; w = 0.3; h = (1 / 25); }; class VehicleInfoHeader : Life_RscText { idc = 2830; text = "Vehicle Info"; colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; x = 0.42; y = 0.26; w = 0.46; h = (1 / 25); }; class CloseBtn : Life_RscButtonMenu { idc = -1; text = "Close"; onButtonClick = "closeDialog 0;"; x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class RentCar : Life_RscButtonMenu { idc = -1; text = "Get Vehicle"; onButtonClick = "[] spawn player_getVehicle;"; x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; }; class controls { class VehicleList : life_RscListBox { idc = 2802; text = ""; sizeEx = 0.04; colorBackground[] = {0.1,0.1,0.1,0.9}; onLBSelChanged = ""; //Position & height x = 0.11; y = 0.302; w = 0.303; h = 0.49; }; class vehicleInfomationList : Life_RscStructuredText { idc = 2803; text = ""; sizeEx = 0.035; x = 0.41; y = 0.3; w = 0.5; h = 0.5; }; class MainBackgroundHider : Life_RscText { colorBackground[] = {0,0,0,1}; idc = 2810; x = 0.1; y = 0.2 + (11 / 250); w = 0.8; h = 0.7 - (22 / 250); }; class MainHideText : Life_RscText { idc = 2811; text = "Search for vehicles ..."; sizeEx = 0.06; x = 0.24; y = 0.5; w = 0.6; h = (1 / 15); }; }; }; class vehicle_store_list { idd = 3800; name="vehicle_store_list"; movingEnabled = 0; enableSimulation = 1; class controlsBackground { class Life_RscTitleBackground : Life_RscText { colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; idc = -1; x = 0.1; y = 0.2; w = 0.8; h = (1 / 25); }; class MainBackground : Life_RscText { colorBackground[] = {0,0,0,0.7}; idc = -1; x = 0.1; y = 0.2 + (11 / 250); w = 0.8; h = 0.7 - (22 / 250); }; class Title : Life_RscTitle { idc = 3801; text = "Vehicle List"; x = 0.1; y = 0.2; w = 0.8; h = (1 / 25); }; class VehicleTitleBox : Life_RscText { idc = -1; text = "Vehicles nearby"; colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; x = 0.11; y = 0.26; w = 0.3; h = (1 / 25); }; class VehicleInfoHeader : Life_RscText { idc = 3830; text = "Vehicle Info"; colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; x = 0.42; y = 0.26; w = 0.46; h = (1 / 25); }; class CloseBtn : Life_RscButtonMenu { idc = -1; text = "Close"; onButtonClick = "closeDialog 0;"; x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class RentCar : Life_RscButtonMenu { idc = -1; text = "Store Vehicle"; onButtonClick = "_wogear = true; [_wogear] spawn player_storeVehicle;"; x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 36); h = (1 / 25); }; class Rent1Car : Life_RscButtonMenu { idc = -1; text = "Store Vehicle with Gear"; onButtonClick = "_wogear = false; [_wogear] spawn player_storeVehicle;"; x = 0.26 + (6.25 / 36) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 20); h = (1 / 25); }; }; class controls { class VehicleList : life_RscListBox { idc = 3802; text = ""; sizeEx = 0.04; colorBackground[] = {0.1,0.1,0.1,0.9}; onLBSelChanged = "_this call vehicle_info;"; //Position & height x = 0.11; y = 0.302; w = 0.303; h = 0.49; }; class vehicleInfomationList : Life_RscStructuredText { idc = 3803; text = ""; sizeEx = 0.035; x = 0.41; y = 0.3; w = 0.5; h = 0.5; }; class MainBackgroundHider : Life_RscText { colorBackground[] = {0,0,0,1}; idc = 3810; x = 0.1; y = 0.2 + (11 / 250); w = 0.8; h = 0.7 - (22 / 250); }; class MainHideText : Life_RscText { idc = 3811; text = "Search for vehicles ..."; sizeEx = 0.06; x = 0.24; y = 0.5; w = 0.6; h = (1 / 15); }; }; }; Link to comment Share on other sites More sharing options...
0 TheHound Posted July 20, 2015 Report Share Posted July 20, 2015 There should be another file named defines.hpp or some other .hpp filename, that's the actual file where those properties are defined. I believe you can also define them directly in that file you linked but haven't done them that way and won't fix it for all dialogs that use that "life_RscListBox" class. Please post the other file or link me to the mod itself and I will download it and have a look. Link to comment Share on other sites More sharing options...
0 nikas455 Posted July 20, 2015 Author Report Share Posted July 20, 2015 There should be another file named defines.hpp or some other .hpp filename, that's the actual file where those properties are defined. I believe you can also define them directly in that file you linked but haven't done them that way and won't fix it for all dialogs that use that "life_RscListBox" class. Please post the other file or link me to the mod itself and I will download it and have a look. class Life_RscListBox { style = 16; idc = -1; type = 5; w = 0.275; h = 0.04; font = "Zeppelin32"; colorSelect[] = {1, 1, 1, 1}; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0.28,0.28,0.28,0.28}; colorSelect2[] = {1, 1, 1, 1}; colorSelectBackground[] = {0.95, 0.95, 0.95, 0.5}; colorSelectBackground2[] = {1, 1, 1, 0.5}; colorScrollbar[] = {0.2, 0.2, 0.2, 1}; arrowFull = "Scripts\Gold_Coin_system\Gui\arrowFull_ca.paa"; arrowEmpty = "Scripts\Gold_Coin_system\Gui\arrowEmpty_ca.paa"; wholeHeight = 0.45; rowHeight = 0.04; color[] = {0.7, 0.7, 0.7, 1}; colorActive[] = {0,0,0,1}; colorDisabled[] = {0,0,0,0.3}; sizeEx = 0.023; maxHistoryDelay = 1; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; tooltipColorText[] = {1,1,1,1}; tooltipColorBox[] = {1,1,1,1}; tooltipColorShade[] = {0,0,0,0.65}; class ListScrollBar: Life_RscScrollBar { color[] = {1,1,1,1}; autoScrollEnabled = 1; }; soundPush[] = { "", 0, 1 }; soundEnter[] = { "", 0, 1 }; soundClick[] ={ "", 0, 1 }; soundEscape[] ={ "", 0, 1 }; sound[] ={ "", 0, 1 }; }; Link to comment Share on other sites More sharing options...
0 TheHound Posted July 20, 2015 Report Share Posted July 20, 2015 Yup add soundSelect[] = {"", 0.1, 1}; to where those other sounds are defined in that section, I'm not sure if those are case sensitive however so make sure there isn't another class with a lowercase "l" in life. But adding that line to make it look like this class Life_RscListBox { style = 16; idc = -1; type = 5; w = 0.275; h = 0.04; font = "Zeppelin32"; colorSelect[] = {1, 1, 1, 1}; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0.28,0.28,0.28,0.28}; colorSelect2[] = {1, 1, 1, 1}; colorSelectBackground[] = {0.95, 0.95, 0.95, 0.5}; colorSelectBackground2[] = {1, 1, 1, 0.5}; colorScrollbar[] = {0.2, 0.2, 0.2, 1}; arrowFull = "Scripts\Gold_Coin_system\Gui\arrowFull_ca.paa"; arrowEmpty = "Scripts\Gold_Coin_system\Gui\arrowEmpty_ca.paa"; wholeHeight = 0.45; rowHeight = 0.04; color[] = {0.7, 0.7, 0.7, 1}; colorActive[] = {0,0,0,1}; colorDisabled[] = {0,0,0,0.3}; sizeEx = 0.023; maxHistoryDelay = 1; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; tooltipColorText[] = {1,1,1,1}; tooltipColorBox[] = {1,1,1,1}; tooltipColorShade[] = {0,0,0,0.65}; class ListScrollBar: Life_RscScrollBar { color[] = {1,1,1,1}; autoScrollEnabled = 1; }; soundPush[] = { "", 0, 1 }; soundEnter[] = { "", 0, 1 }; soundClick[] ={ "", 0, 1 }; soundEscape[] ={ "", 0, 1 }; sound[] ={ "", 0, 1 }; soundSelect[] = {"", 0.1, 1}; }; will fix your error if there isn't another class named "life_RscListBox". There may however end up being another error if another definition is mission, if that happens post it in here the same way I will post the fix for that one. Link to comment Share on other sites More sharing options...
0 nikas455 Posted July 20, 2015 Author Report Share Posted July 20, 2015 Yup add soundSelect[] = {"", 0.1, 1}; to where those other sounds are defined in that section, I'm not sure if those are case sensitive however so make sure there isn't another class with a lowercase "l" in life. But adding that line to make it look like this class Life_RscListBox { style = 16; idc = -1; type = 5; w = 0.275; h = 0.04; font = "Zeppelin32"; colorSelect[] = {1, 1, 1, 1}; colorText[] = {1, 1, 1, 1}; colorBackground[] = {0.28,0.28,0.28,0.28}; colorSelect2[] = {1, 1, 1, 1}; colorSelectBackground[] = {0.95, 0.95, 0.95, 0.5}; colorSelectBackground2[] = {1, 1, 1, 0.5}; colorScrollbar[] = {0.2, 0.2, 0.2, 1}; arrowFull = "Scripts\Gold_Coin_system\Gui\arrowFull_ca.paa"; arrowEmpty = "Scripts\Gold_Coin_system\Gui\arrowEmpty_ca.paa"; wholeHeight = 0.45; rowHeight = 0.04; color[] = {0.7, 0.7, 0.7, 1}; colorActive[] = {0,0,0,1}; colorDisabled[] = {0,0,0,0.3}; sizeEx = 0.023; maxHistoryDelay = 1; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; tooltipColorText[] = {1,1,1,1}; tooltipColorBox[] = {1,1,1,1}; tooltipColorShade[] = {0,0,0,0.65}; class ListScrollBar: Life_RscScrollBar { color[] = {1,1,1,1}; autoScrollEnabled = 1; }; soundPush[] = { "", 0, 1 }; soundEnter[] = { "", 0, 1 }; soundClick[] ={ "", 0, 1 }; soundEscape[] ={ "", 0, 1 }; sound[] ={ "", 0, 1 }; soundSelect[] = {"", 0.1, 1}; }; will fix your error if there isn't another class named "life_RscListBox". There may however end up being another error if another definition is mission, if that happens post it in here the same way I will post the fix for that one. thank you ! Link to comment Share on other sites More sharing options...
0 TheHound Posted July 21, 2015 Report Share Posted July 21, 2015 No problem, all set I assume? Link to comment Share on other sites More sharing options...
0 Webrene Posted July 21, 2015 Report Share Posted July 21, 2015 Hi all, have another error in my client rpt: "DayZ Epoch: PRELOAD Functions\init [[L 1-1-A:1 REMOTE],any]" "DayZ Epoch: MPframework inited" BIKE: loading version 2.5.1 ... "DEBUG: loadscreen guard started." CLICK ACTIONS: loading... BIKE: waiting for login... "Res3tting B!S effects..." "PLAYER RESULT: true" "PLOGIN: Login loop completed!" Error in expression < }; } else { player removeAction s_player_garage; s_player_garage = -1; > Error position: <s_player_garage; s_player_garage = -1; > Error Nicht definierte Variable in Ausdruck: s_player_garage File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1050 Cannot create non-ai vehicle c_grasstall, Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 Error in expression <owed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (s> Error position: <_typeOfCursorTarget in DZE_Garage) && (s> Error Nicht definierte Variable in Ausdruck: _typeofcursortarget File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Compile\fn_selfActions.sqf, line 1028 "DayZ Epoch: PRELOAD Functions\init [[<No group>:0 (FunctionsManager)],any]" "DayZ Epoch: MPframework inited" The script seems to work. Everything is saved. But how can i fix the client rpt errors? In my fn_selfActions.sqf i have paste the code from this post: Thanks Link to comment Share on other sites More sharing options...
0 TheHound Posted July 21, 2015 Report Share Posted July 21, 2015 Can you send me your fn_selfActions.sqf so I can see it with the line numbers? Also this probably won't effect anything if it's still working so it may not be worth trying to fix but I can still take a look to try and clean up your RPT a bit. Link to comment Share on other sites More sharing options...
0 Webrene Posted July 21, 2015 Report Share Posted July 21, 2015 Sure.. here it is... scriptName "Functions\misc\fn_selfActions.sqf"; /*********************************************************** ADD ACTIONS FOR SELF - Function - [] call fnc_usec_selfActions; ************************************************************/ 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","_playerUID","_characterID","_plotDistance","_PlotsNear", "_classname","_isowner"]; if (DZE_ActionInProgress) exitWith {}; // Do not allow if any script is running. _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); _nearLight = nearestObject [player,"LitObject"]; _canPickLight = false; if (!isNull _nearLight) then { if (_nearLight distance player < 4) then { _canPickLight = isNull (_nearLight getVariable ["owner",objNull]); }; }; //Grab Flare 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 { //Has some kind of target _isAnimal = cursorTarget isKindOf "Animal"; _isZombie = cursorTarget isKindOf "zZombie_base"; _isHarvested = cursorTarget getVariable["meatHarvested",false]; _isMan = cursorTarget isKindOf "Man"; // Pzombie Gut human corpse || animal 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; }; }; // Increase distance only if AIR || SHIP _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 // set cursortarget to variable _cursorTarget = cursorTarget; // get typeof cursortarget once _typeOfCursorTarget = typeOf _cursorTarget; // hintsilent _typeOfCursorTarget; _isVehicle = _cursorTarget isKindOf "AllVehicles"; _isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"]; _isnewstorage = _typeOfCursorTarget in DZE_isNewStorage; // get items && magazines only once _magazinesPlayer = magazines player; //boiled Water _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 = []; // find available keys _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; if (DZE_APlotforLife) then { _playerUID = [player] call FNC_GetPlayerUID; }else{ _playerUID = dayz_characterID; }; _isMan = _cursorTarget isKindOf "Man"; _traderType = _typeOfCursorTarget; _ownerID = _cursorTarget getVariable ["ownerPUID","0"]; _characterID = _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; }; // diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID)); // logic vars _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_maintain_area < 0) then { s_player_maintain_area = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", "maintain", 5, false]; s_player_maintain_area_preview = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "\z\addons\dayz_code\actions\maintain_area.sqf", "preview", 5, false]; }; _plotDistance = (DZE_PlotPole select 0); _PlotsmarkersNear = count (nearestObjects [_cursorTarget, ["Land_coneLight"], _PlotDistance]); if (s_player_plot_boundary_on < 0) then { If (_PlotsmarkersNear == 0 ) then{ s_player_plot_boundary_on = player addAction ["Show plot boundary", "custom\A_Plot_for_Life\Action\object_showPlotRadius.sqf", "", 1, false]; }; }; if (s_player_plot_boundary_off < 0) then { If (_PlotsmarkersNear > 0 ) then{ s_player_plot_boundary_off = player addAction ["Remove plot boundary", "custom\A_Plot_for_Life\Action\object_removePlotRadius.sqf", "", 1, false]; }; }; if (s_player_plot_take_ownership < 0) then { if (DZE_PlotOwnership) then { _isowner = [player, _cursorTarget] call FNC_check_owner; If (( _isowner select 0 )) then{ s_player_plot_take_ownership = player addAction ["Take plot items ownership", "custom\A_Plot_for_Life\Action\plot_take_ownership.sqf", "", 1, false]; }; }; }; } else { player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; player removeAction s_player_plot_boundary_on; s_player_plot_boundary_on = -1; player removeAction s_player_plot_boundary_off; s_player_plot_boundary_off = -1; player removeAction s_player_plot_take_ownership; s_player_plot_take_ownership = -1; }; // CURSOR TARGET ALIVE if(_isAlive) then { //Allow player to delete objects if(_isDestructable || _isWreck || _isRemovable || _isWreckBuilding) then { if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then { _player_deleteBuild = true; }; }; //Allow owners to delete modulars if(_isModular && (_playerUID == _ownerID)) then { if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then { // diag_log text "fn_selfactions remove: [can remove modular item]"; _player_deleteBuild = true; }; }; //Allow owners to delete modular doors without locks if(_isModularDoor && (_playerUID == _ownerID)) then { if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then { _player_deleteBuild = true; }; }; // CURSOR TARGET VEHICLE if(_isVehicle) then { //flip vehicle small vehicles by your self && all other vehicles with help nearby 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 && _characterID != "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], "custom\A_Plot_for_Life\Action\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; }; //diag_log format["CREW: %1 ALLOW: %2",(count (crew _cursorTarget)),_allowTow]; 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; }; //diag_log format["HELI: %1 TARGET: %2",_found,_cursorTarget]; _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; }; }; // Allow Owner to lock && unlock vehicle if(_player_lockUnlock_crtl) then { if (s_player_lockUnlock_crtl < 0) then { _hasKey = _characterID in _temp_keys; _oldOwner = (_characterID == 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 _characterID))], 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["<t color='#ff0000'>%1</t>",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 { //Allow player to force save 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; }; }; //flip vehicle small vehicles by your self && all other vehicles with help nearby 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; }; //Allow player to fill jerrycan 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; }; // logic vars for addactions _player_butcher = false; _player_studybody = false; _player_SurrenderedGear = false; // CURSOR TARGET NOT ALIVE if (!_isAlive) then { // Gut animal/zed if((_isAnimal || _isZombie) && _hasKnife) then { _isHarvested = _cursorTarget getVariable["meatHarvested",false]; if (!_isHarvested) then { _player_butcher = true; }; }; // Study body if (_isMan && !_isZombie && !_isAnimal) then { _player_studybody = true; } } else { // unit alive // gear access on surrendered player if(_isMan && !_isZombie && !_isAnimal) then { _isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false]; if (_isSurrendered) then { _player_SurrenderedGear = true; }; }; }; // Human Gut animal || zombie 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; }; // Study Body if (_player_studybody) then { if (s_player_studybody < 0) then { s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_studybody; s_player_studybody = -1; }; // logic vars _player_cook = false; _player_boil = false; // CURSOR TARGET IS FIRE if (inflamed _cursorTarget) then { //Fireplace Actions check if (_hasRawMeat) then { _player_cook = true; }; // Boil water 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; }; //Fireplace Actions check 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; }; // Boil water 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; }; //Packing my tent if(_isTent && (player distance _cursorTarget < 3)) then { if (_ownerID == _playerUID) 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", "custom\A_Plot_for_Life\Action\remove.sqf",_cursorTarget, 1, true, true, "", ""]; }; }; }; } else { player removeAction s_player_packtent; s_player_packtent = -1; }; //Allow owner to unlock vault if((_typeOfCursorTarget in DZE_LockableStorage) && _characterID != "0" && (player distance _cursorTarget < 3)) then { if (s_player_unlockvault < 0) then { if(_typeOfCursorTarget in DZE_LockedStorage) then { if(_characterID == dayz_combination || _ownerID == _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(_characterID != dayz_combination && _ownerID != _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; }; //Allow owner to pack vault if(_typeOfCursorTarget in DZE_UnLockedStorage && _characterID != "0" && (player distance _cursorTarget < 3)) then { if (s_player_lockvault < 0) then { if(_characterID == 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 && (_characterID == dayz_combination || _ownerID == dayz_playerUID)) then { s_player_packvault = player addAction [format["<t color='#ff0000'>%1</t>",(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; }; //Player Deaths 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; }; //Fuel Pump if(_typeOfCursorTarget in dayz_fuelpumparray) then { if (s_player_fuelauto < 0) then { // check if Generator_DZ is running within 30 meters _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); // show that pump needs power if no generator nearby. 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["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""]; }; }; } else { player removeAction s_player_fuelauto; s_player_fuelauto = -1; }; //Fuel Pump on truck if(_typeOfCursorTarget in DZE_fueltruckarray && alive _cursorTarget) then { if (s_player_fuelauto2 < 0) then { // show that fuel truck pump needs power. 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["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""]; }; }; } else { player removeAction s_player_fuelauto2; s_player_fuelauto2 = -1; }; // inplace upgrade tool 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 = _cursorTarget; s_player_lastTarget set [0,_cursorTarget]; s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_UPGRADE",_text], "custom\A_Plot_for_Life\Action\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""]; }; } else { player removeAction s_player_upgrade_build; s_player_upgrade_build = -1; }; // downgrade system if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _characterID)) 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], "custom\A_Plot_for_Life\Action\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""]; }; } else { player removeAction s_player_downgrade_build; s_player_downgrade_build = -1; }; // inplace maintenance tool 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; }; //Start Generator if(_cursorTarget isKindOf "Generator_DZ") then { if (s_player_fillgen < 0) then { // check if not running 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 { // check if not filled && player has jerry. 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; }; //Towing with tow truck /* if(_typeOfCursorTarget == "TOW_DZE") then { if (s_player_towing < 0) then { if(!(_cursorTarget getVariable ["DZEinTow", false])) then { s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true, "",""]; } else { s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true, "",""]; }; }; } else { player removeAction s_player_towing; s_player_towing = -1; }; */ //Sleep if(_isTent && _ownerID == _playerUID) 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; }; //Repairing Vehicles 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; }; }; // All Traders if (_isMan && !_isPZombie && _traderType in serverTraders) then { if (s_player_parts_crtl < 0) then { // get humanity _humanity = player getVariable ["humanity",0]; _traderMenu = call compile format["menu_%1;",_traderType]; // diag_log ("TRADER = " + str(_traderMenu)); _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 { // Static Menu { //diag_log format["DEBUG TRADER: %1", _x]; _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); // 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 { //Dog if (_isDog && _isAlive && (_hasRawMeat) && _characterID == "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 && _characterID == 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 { //Engineering {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; //Others player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; player removeAction s_player_plot_boundary_on; s_player_plot_boundary_on = -1; player removeAction s_player_plot_boundary_off; s_player_plot_boundary_off = -1; player removeAction s_player_plot_take_ownership; s_player_plot_take_ownership = -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; //Dog 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; // vault 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; }; //Dog actions on player self _dogHandle = player getVariable ["dogID", 0]; if (_dogHandle > 0) then { _dog = _dogHandle getFSMVariable "_dog"; _characterID = "0"; if (!isNull cursorTarget) then { _characterID = cursorTarget getVariable ["CharacterID","0"]; }; if (_canDo && !_inVehicle && alive _dog && _characterID != 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; }; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// private ["_nearestPoles","_pole","_garagefriends","_garageallowed","_friends"]; _nearestPoles = nearestObjects [(vehicle player),["Plastic_Pole_EP1_DZ"],(DZE_PlotPole select 0)]; if (count _nearestPoles > 0) then { _pole = _nearestPoles select 0; _friends = _pole getVariable ["plotfriends",[]]; _owner = _pole getVariable ["ownerPUID","0"]; _garagefriends = []; { _garagefriends set [_forEachIndex,(_x select 0)]; } forEach _friends; _garageallowed = _garagefriends + [_owner]; if ((_typeOfCursorTarget in DZE_Garage) && (speed player <= 1) && _canDo) then { if (s_player_garage < 0) then { if ((getPlayerUID player) in _garageallowed) then { s_player_garage = player addAction ["<t color='#FFAA00'>Garage Menu</t>","Garage\player_virtualgarage.sqf",_cursorTarget,2,false]; } else { s_player_garage = player addAction ["<t color='#FF0000'>Garage Locked</t>","",_cursorTarget,2,true,true,"",""]; }; }; } else { player removeAction s_player_garage; s_player_garage = -1; }; } else { player removeAction s_player_garage; s_player_garage = -1; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Link to comment Share on other sites More sharing options...
0 TheHound Posted July 22, 2015 Report Share Posted July 22, 2015 Well looking at that it would seem you *should* be able to merge the 2 private arrays. Make sure you back up your files before trying it just in case. Merge the private array at line 1015 in to the one at line 7 so that the new array at 7 looks like this 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","_playerUID","_characterID","_plotDistance","_PlotsNear", "_classname","_isowner","_nearestPoles","_pole","_garagefriends","_garageallowed","_friends"]; and then remove the entire line at 1015 and see if that works, if everything is still functional and that removes the errors in your RPT except for the first one dealing with "s_player_garage" you should be all set. The one mentioning s_player_garage would probably not be possible to get out of your RPT since it's a global variable assigned inside of that if then statement, as far as I know it coming up in the RPT is just a bug, been a while since I've dealt with ArmA 2 though. Please let me know how you make out and if I can help you any further. Link to comment Share on other sites More sharing options...
0 Webrene Posted July 22, 2015 Report Share Posted July 22, 2015 Hey :) Thanks for the help. Unfortunately the errors are still there. The problem is that even if you only stand still and do nothing the client rpt is size is rising. So i have to sadly deactivate the script. In the time when i was writing this the file size went from 102kb to 479kb only by being online. Don't want to find out how much the file would be after a long playing time ^^ It must be something different on my server so that these errors comes up. Because alot of ppl have this script but don't complain about these errors. So i have to deal with it right now. Link to comment Share on other sites More sharing options...
0 TheHound Posted July 22, 2015 Report Share Posted July 22, 2015 The RPT on ArmA 2 servers always seemed to have a lot of these errors, the thing is the error it's referring to doesn't actually exist as the variable _typeofcursortarget is defined earlier in that fn_selfactions file at line 123. If the script itself is still working it would have to be defined or you wouldn't get an action menu option the garage. Honestly it should be perfectly fine to be ignored and set up the rotatelogs.bat tool (or something named like that in the server files, been a few years since I ran our ArmA 2 servers) and have it delete logs older than say 5. You should never hit a very large amount of space on the logs and all should be well, alternatively you could run with the -noLogs parameter but that is not recommended since you may need to refer to them for other things (cheating, admin abuse, other crucial errors). I would assume this appearing in the RPT is some type of bug with ArmA 2 since the variable it is referring to is clearly defined. EDIT: Downloaded the server files and the tools I'm referring to is the rotate_logs.bat, configure this and add it to your restart loop and it will clear the old logs on restarts and the space it will take up won't be an issue. Link to comment Share on other sites More sharing options...
0 zeppo Posted July 22, 2015 Report Share Posted July 22, 2015 Can someone share link for this script? Link to comment Share on other sites More sharing options...
Question
nikas455
after opening
Link to comment
Share on other sites
16 answers to this question
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now