One Shot

ebm items being used as storage ( need help)

8 posts in this topic

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
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 by El Rabito

Share this post


Link to post
Share on other sites
Advertisement
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
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
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
Advertisement
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.