One Shot 9 Report post Posted March 28 ok I was hoping someone can help me with how do I make it so that when players buy for example (Land_Cargo20_military_green_F_Kit) green sotrage container that they get option to chnage code lock, when a player buys they only get option to pack or look in the inventory, when you buy the container it is locked and therefor you cannot look in the inventory, need some way of making it so players get option to lock and unlock. not tested the big massive green container or the red one or anything containers but i presume they are the same. Ik now these containers can be used as storage because ive played on other servers that have this feature Share this post Link to post Share on other sites
El Rabito 78 Report post Posted March 28 (edited) 25 minutes ago, One Shot said: ok I was hoping someone can help me with how do I make it so that when players buy for example (Land_Cargo20_military_green_F_Kit) green sotrage container that they get option to chnage code lock, when a player buys they only get option to pack or look in the inventory, when you buy the container it is locked and therefor you cannot look in the inventory, need some way of making it so players get option to lock and unlock. not tested the big massive green container or the red one or anything containers but i presume they are the same. Ik now these containers can be used as storage because ive played on other servers that have this feature Everything already part of the EBM installation (If done properly) config.cpp class CfgInteractionMenus { #include "EBM\menus.hpp" menus.hpp class Cargo40 { targetType = 2; target = "Land_Cargo40_light_green_F"; class Actions { class ScanLock: ExileAbstractAction { title = "Scan Lock"; condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && !((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 1) && !ExilePlayerInSafezone"; action = "_this call ExileClient_object_lock_scan"; }; // Locks a vehicle class Lock : ExileAbstractAction { title = "Lock"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)"; action = "true spawn ExileClient_object_lock_toggle"; }; class Unlock : ExileAbstractAction { title = "Unlock"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1)"; action = "false spawn ExileClient_object_lock_toggle"; }; class SetPinCode : ExileAbstractAction { title = "Set PIN"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)"; action = "_this spawn ExileClient_object_lock_setPin"; }; class Hotwire: ExileAbstractAction { title = "Hotwire"; condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)"; action = "['HotwireVehicle', _this select 0] call ExileClient_action_execute"; }; class HackLock: ExileAbstractAction { title = "Hack Lock"; condition = "(getNumber(missionConfigFile >> 'CfgHacking' >> 'enableHacking') isEqualTo 1) && ('Exile_Item_Laptop' in (magazines player)) && ((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1) && !ExilePlayerInSafezone"; action = "['HackLock', _this select 0] call ExileClient_action_execute"; }; }; }; Edited March 28 by El Rabito Share this post Link to post Share on other sites
One Shot 9 Report post Posted March 28 16 minutes ago, El Rabito said: config.cpp class CfgInteractionMenus { #include "EBM\menus.hpp" ok thnaks i will try that Share this post Link to post Share on other sites
One Shot 9 Report post Posted March 28 20 minutes ago, El Rabito said: config.cpp class CfgInteractionMenus { #include "EBM\menus.hpp" config.cpp in root direction of mp mission folder/ becasue i donthave interaction menu thign there which i thought it did, i will add it but just need t imake sure config.cpp is correct file first Share this post Link to post Share on other sites
One Shot 9 Report post Posted March 28 class CfgInteractionMenus { class Car { targetType = 2; target = "Car"; class Actions { // Salvage a vehicle class Salvage: ExileAbstractAction { title = "Salvage Vehicle"; condition = "(!(alive (ExileClientInteractionObject)))"; action = "_this call SV_fnc_SalvageVehicle"; }; class ScanLock: ExileAbstractAction { title = "Scan Lock"; condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && !ExilePlayerInSafezone && ((locked ExileClientInteractionObject) != 1)"; action = "_this call ExileClient_object_lock_scan"; }; // Locks a vehicle class Lock: ExileAbstractAction { title = "Lock"; condition = "((locked ExileClientInteractionObject) isEqualTo 0) && ((locked ExileClientInteractionObject) != 1)"; action = "true spawn ExileClient_object_lock_toggle"; }; // Unlocks a vehicle class Unlock: ExileAbstractAction { title = "Unlock"; condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)"; action = "false spawn ExileClient_object_lock_toggle"; }; // Repairs a vehicle to 100%. Requires Duckttape class Repair: ExileAbstractAction { title = "Repair"; condition = "true"; action = "['RepairVehicle', _this select 0] call ExileClient_action_execute"; }; // Hot-wires a vehicle class Hotwire: ExileAbstractAction { title = "Hotwire"; condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)"; action = "['HotwireVehicle', _this select 0] call ExileClient_action_execute"; }; // Flips a vehicle so the player doesnt have to call an admin // Check if vector up is fucked class Flip: ExileAbstractAction { title = "Flip"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_flip"; }; // Fills fuel from a can into a car class Refuel: ExileAbstractAction { title = "Refuel"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_refuel"; }; // Drains fuel from a car into an empty jerry can class DrainFuel: ExileAbstractAction { title = "Drain Fuel"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_drain"; }; }; }; class Air { target = "Air"; targetType = 2; class Actions { // Salvage a vehicle class Salvage: ExileAbstractAction { title = "Salvage Vehicle"; condition = "(!(alive (ExileClientInteractionObject)))"; action = "_this call SV_fnc_SalvageVehicle"; }; class ScanLock: ExileAbstractAction { title = "Scan Lock"; condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && ((locked ExileClientInteractionObject) != 1) && !ExilePlayerInSafezone"; action = "_this call ExileClient_object_lock_scan"; }; // Locks a vehicle class Lock: ExileAbstractAction { title = "Lock"; condition = "((locked ExileClientInteractionObject) isEqualTo 0) && ((locked ExileClientInteractionObject) != 1)"; action = "true spawn ExileClient_object_lock_toggle"; }; // Unlocks a vehicle class Unlock: ExileAbstractAction { title = "Unlock"; condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)"; action = "false spawn ExileClient_object_lock_toggle"; }; // Hot-wires a vehicle class Hotwire: ExileAbstractAction { title = "Hotwire"; condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)"; action = "['HotwireVehicle', _this select 0] call ExileClient_action_execute"; }; // Repairs a vehicle to 100%. Requires Duckttape class Repair: ExileAbstractAction { title = "Repair"; condition = "true"; action = "['RepairVehicle', _this select 0] call ExileClient_action_execute"; }; // Flips a vehicle so the player doesnt have to call an admin // Check if vector up is fucked class Flip: ExileAbstractAction { title = "Flip"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_flip"; }; // Fills fuel from a can into a car class Refuel: ExileAbstractAction { title = "Refuel"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_refuel"; }; // Drains fuel from a car into an empty jerry can class DrainFuel: ExileAbstractAction { title = "Drain Fuel"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_drain"; }; class RotateLeft: ExileAbstractAction { title = "Rotate Left"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "[ExileClientInteractionObject,-15] call ExileClient_object_vehicle_rotate"; }; class RotateRight: ExileAbstractAction { title = "Rotate Right"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "[ExileClientInteractionObject,15] call ExileClient_object_vehicle_rotate"; }; }; }; class Safe { targetType = 2; target = "Exile_Container_Abstract_Safe"; class Actions { class ScanLock: ExileAbstractAction { title = "Scan Lock"; condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && !((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 1) && !ExilePlayerInSafezone"; action = "_this call ExileClient_object_lock_scan"; }; // Locks a vehicle class Lock : ExileAbstractAction { title = "Lock"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)"; action = "true spawn ExileClient_object_lock_toggle"; }; class Unlock : ExileAbstractAction { title = "Unlock"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1)"; action = "false spawn ExileClient_object_lock_toggle"; }; class Pack : ExileAbstractAction { title = "Pack"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)"; action = "_this spawn ExileClient_object_container_pack"; }; class SetPinCode : ExileAbstractAction { title = "Set PIN"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)"; action = "_this spawn ExileClient_object_lock_setPin"; }; class HackLock: ExileAbstractAction { title = "Hack Lock"; condition = "(getNumber(missionConfigFile >> 'CfgHacking' >> 'enableHacking') isEqualTo 1) && ('Exile_Item_Laptop' in (magazines player)) && ((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1) && !ExilePlayerInSafezone"; action = "['HackLock', _this select 0] call ExileClient_action_execute"; }; }; }; class Laptop { targetType = 2; target = "Exile_Construction_Laptop_Static"; class Actions { class CameraSystem: ExileAbstractAction { title = "CCTV Access"; condition = "((ExileClientInteractionObject animationPhase 'LaptopLidRotation') >= 0.5)"; action = "_this call ExileClient_gui_baseCamera_show"; }; }; }; class SupplyBox { targetType = 2; target = "Exile_Container_SupplyBox"; class Actions { class Mount: ExileAbstractAction { title = "Mount"; condition = "(isNull (attachedTo ExileClientInteractionObject)) && ((ExileClientInteractionObject getvariable ['ExileOwnerUID',1]) isEqualTo 1)"; action = "_this call ExileClient_object_supplyBox_mount"; }; class Install: ExileAbstractAction { title = "Install"; condition = "isNull (attachedTo ExileClientInteractionObject) && ((ExileClientInteractionObject getvariable ['ExileOwnerUID',1]) isEqualTo 1)"; action = "_this call ExileClient_object_supplyBox_install"; }; class Unmount: ExileAbstractAction { title = "Unmount"; condition = "!(isNull (attachedTo ExileClientInteractionObject)) && ((ExileClientInteractionObject getvariable ['ExileOwnerUID',1]) isEqualTo 1)"; action = "_this call ExileClient_object_supplyBox_unmount"; }; }; }; class Drawbridge { targetType = 2; target = "Exile_Construction_Abstract_DrawBridge"; class Actions { class Lower: ExileAbstractAction { title = "Lower"; condition = "ExileClientInteractionObject call ExileClient_object_construction_openBridgeShow"; action = "ExileClientInteractionObject animateSource ['DrawBridge_Source', 0];"; }; class Raise: ExileAbstractAction { title = "Raise"; condition = "((ExileClientInteractionObject animationSourcePhase 'DrawBridge_Source') < 0.5)"; action = "ExileClientInteractionObject animateSource ['DrawBridge_Source', 2]"; }; }; }; class Construction { targetType = 2; target = "Exile_Construction_Abstract_Static"; class Actions { class ScanLock: ExileAbstractAction { title = "Scan Lock"; condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && !((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 1)"; action = "_this call ExileClient_object_lock_scan"; }; class Unlock : ExileAbstractAction { title = "Unlock"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1)"; action = "false spawn ExileClient_object_lock_toggle"; }; class Lock : ExileAbstractAction { title = "Lock"; condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)"; action = "true spawn ExileClient_object_lock_toggle"; }; // Picks up the construction so you can move it class Move: ExileAbstractAction { title = "Move"; condition = "call ExileClient_util_world_isInOwnTerritory"; action = "_this spawn ExileClient_object_construction_move"; }; // Removes the construction. class Deconstruct: ExileAbstractAction { title = "Remove"; condition = "call ExileClient_util_world_isInOwnTerritory"; action = "_this spawn ExileClient_object_construction_deconstruct"; }; class AddALock : ExileAbstractAction { title = "Add a Lock"; condition = "call ExileClient_object_construction_lockAddShow"; action = "_this spawn ExileClient_object_construction_lockAdd"; }; class Upgrade : ExileAbstractAction { title = "Upgrade"; condition = "call ExileClient_object_construction_upgradeShow"; action = "_this call ExileClient_object_construction_upgrade"; }; class MakeBoom : ExileAbstractAction { title = "Plant charge"; condition = "call ExileClient_system_breaching_condition"; action = "_this call ExileClient_system_breaching_action"; }; class Repair : ExileAbstractAction { title = "Repair"; condition = "(!((ExileClientInteractionObject getVariable ['ExileConstructionDamage',0]) isEqualTo 0)) && (call ExileClient_util_world_isInOwnTerritory)"; action = "_this call ExileClient_object_construction_repair"; }; class GrindLock : ExileAbstractAction { title = "Grind Lock"; condition = "(getNumber(missionConfigFile >> 'CfgGrinding' >> 'enableGrinding') isEqualTo 1) && ('Exile_Item_Grinder' in (magazines player)) && ('Exile_Magazine_Battery' in (magazines player)) && ((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1) && ((ExileClientInteractionObject animationPhase 'DoorRotation') < 0.5)"; action = "['GrindLock', _this select 0] call ExileClient_action_execute"; }; }; }; /* Tent, Storage crate etc. */ class Container { targetType = 2; target = "Exile_Container_Abstract"; class Actions { class Pack { title = "Pack"; condition = "!((typeOf ExileClientInteractionObject) isEqualTo 'Exile_Container_SupplyBox')"; action = "_this spawn ExileClient_object_container_pack"; }; // Picks up the container so you can move it class Move: ExileAbstractAction { title = "Move"; condition = "(getNumber(configFile >> 'CfgVehicles' >> typeOf ExileClientInteractionObject >> 'exileIsLockable') isEqualTo 0) || ((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)"; action = "_this spawn ExileClient_object_construction_move"; }; }; }; class Flag { targetType = 2; target = "Exile_Construction_Flag_Static"; class Actions { /* class Manage : ExileAbstractAction { title = "Manage"; condition = "true"; action = "_this call ExileClient_gui_baseManagement_event_show"; }; */ class StealFlag: ExileAbstractAction { title = "Steal Flag"; condition = "((ExileClientInteractionObject getvariable ['ExileFlagStolen',1]) isEqualTo 0)"; action = "['StealFlag', _this select 0] call ExileClient_action_execute"; }; class RestoreFlag: ExileAbstractAction { title = "Restore Flag"; condition = "((ExileClientInteractionObject getvariable ['ExileFlagStolen',0]) isEqualTo 1)"; action = "['restoreFlagRequest', [netID ExileClientInteractionObject]] call ExileClient_system_network_send"; }; }; }; class Boat { targetType = 2; target = "Ship"; class Actions { // Salvage a vehicle class Salvage: ExileAbstractAction { title = "Salvage Vehicle"; condition = "(!(alive (ExileClientInteractionObject)))"; action = "_this call SV_fnc_SalvageVehicle"; }; // Locks a vehicle class Lock: ExileAbstractAction { title = "Lock"; condition = "((locked ExileClientInteractionObject) isEqualTo 0) && ((locked ExileClientInteractionObject) != 1)"; action = "true spawn ExileClient_object_lock_toggle"; }; // Unlocks a vehicle class Unlock: ExileAbstractAction { title = "Unlock"; condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)"; action = "false spawn ExileClient_object_lock_toggle"; }; // Hot-wires a vehicle class Hotwire: ExileAbstractAction { title = "Hotwire"; condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)"; action = "['HotwireVehicle', _this select 0] call ExileClient_action_execute"; }; // Repairs a vehicle to 100%. Requires Duckttape class Repair: ExileAbstractAction { title = "Repair"; condition = "true"; action = "['RepairVehicle', _this select 0] call ExileClient_action_execute"; }; // Fills fuel from a can into a car class Refuel: ExileAbstractAction { title = "Refuel"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_refuel"; }; // Drains fuel from a car into an empty jerry can class DrainFuel: ExileAbstractAction { title = "Drain Fuel"; condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_drain"; }; // Pushes a boat into look direction to move into water class Push: ExileAbstractAction { title = "Fus Ro Dah!"; condition = "((crew ExileClientInteractionObject) isEqualTo [])"; action = "_this call ExileClient_object_vehicle_push"; }; }; }; class Bikes { targetType = 2; target = "Bicycle"; class Actions { class Flip: ExileAbstractAction { title = "Flip"; condition = "true"; action = "_this call ExileClient_object_vehicle_flip"; }; }; }; class Player { targetType = 2; target = "Exile_Unit_Player"; class Actions { class Free: ExileAbstractAction { title = "Free"; condition = "(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['ExileIsHandcuffed', false]) && !ExileClientIsHandcuffed"; action = "_this call ExileClient_object_handcuffs_free"; }; class Search: ExileAbstractAction { title = "Search Gear"; condition = "(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['ExileIsHandcuffed', false]) && !ExileClientIsHandcuffed"; action = "_this call ExileClient_object_handcuffs_searchGear"; }; class Identify: ExileAbstractAction { title = "Identify Body"; condition = "!(alive ExileClientInteractionObject)"; action = "_this call ExileClient_object_player_identifyBody"; }; //////////////Added by [_ZEN_]happydayz///////////////// class Revive: ExileAbstractAction { title = "Perform CPR"; condition = "(!(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['EnigmaRevivePermitted', true]) && (magazines player find 'Exile_Item_Defibrillator' >= 0))"; action = "_this spawn Enigma_RevivePlyr"; }; class HideCorpse: ExileAbstractAction { title = "Hide Body"; condition = "!(alive ExileClientInteractionObject) && ('Exile_Melee_Shovel' isEqualTo (currentWeapon player))"; action = "['HideBody', (_this select 0)] call ExileClient_action_execute"; }; }; }; class Animal { targetType = 2; target = "Exile_Animal_Abstract"; class Actions { class Gut: ExileAbstractAction { title = "Gut Animal"; condition = "!(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['CanBeGutted', false])"; action = "['GutAnimal', ExileClientInteractionObject] call ExileClient_action_execute"; }; }; }; }; Share this post Link to post Share on other sites
One Shot 9 Report post Posted March 28 is that the wrong config.cpp ? Share this post Link to post Share on other sites
One Shot 9 Report post Posted March 28 thats in mpmisison root folder Share this post Link to post Share on other sites
kuplion 1785 Report post Posted April 4 General Discussion is not for support. Share this post Link to post Share on other sites