chaveezy

SM Paint CfgInteraction

May 27th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 23.07 KB | None | 0 0
  1. class CfgInteractionMenus
  2. {
  3. #include "EBM\menus.hpp"
  4.     class Car
  5.     {
  6.         targetType = 2;
  7.         target = "Car";
  8.  
  9.         class Actions
  10.         {
  11.             class ScanLock: ExileAbstractAction
  12.             {
  13.                 title = "Scan Lock";
  14.                 condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && !ExilePlayerInSafezone && ((locked ExileClientInteractionObject) != 1)";
  15.                 action = "_this call ExileClient_object_lock_scan";
  16.             };
  17.  
  18.             // Locks a vehicle
  19.             class Lock: ExileAbstractAction
  20.             {
  21.                 title = "Lock";
  22.                 condition = "((locked ExileClientInteractionObject) isEqualTo 0) && ((locked ExileClientInteractionObject) != 1)";
  23.                 action = "true spawn ExileClient_object_lock_toggle";
  24.             };
  25.  
  26.             // Unlocks a vehicle
  27.             class Unlock: ExileAbstractAction
  28.             {
  29.                 title = "Unlock";
  30.                 condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)";
  31.                 action = "false spawn ExileClient_object_lock_toggle";
  32.             };
  33.  
  34.             // Repairs a vehicle to 100%. Requires Duckttape
  35.             class Repair: ExileAbstractAction
  36.             {
  37.                 title = "Repair";
  38.                 condition = "true";
  39.                 action = "['RepairVehicle', _this select 0] call ExileClient_action_execute";
  40.             };
  41.  
  42.             // Hot-wires a vehicle
  43.             class Hotwire: ExileAbstractAction
  44.             {
  45.                 title = "Hotwire";
  46.                 condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)";
  47.                 action = "['HotwireVehicle', _this select 0] call ExileClient_action_execute";
  48.             };
  49.  
  50.             // Flips a vehicle so the player doesnt have to call an admin
  51.             // Check if vector up is fucked
  52.             class Flip: ExileAbstractAction
  53.             {
  54.                 title = "Flip";
  55.                 condition = "call ExileClient_object_vehicle_interaction_show";
  56.                 action = "_this call ExileClient_object_vehicle_flip";
  57.             };
  58.  
  59.             // Fills fuel from a can into a car
  60.             class Refuel: ExileAbstractAction
  61.             {
  62.                 title = "Refuel";
  63.                 condition = "call ExileClient_object_vehicle_interaction_show";
  64.                 action = "_this call ExileClient_object_vehicle_refuel";
  65.             };
  66.  
  67.             // Drains fuel from a car into an empty jerry can
  68.             class DrainFuel: ExileAbstractAction
  69.             {
  70.                 title = "Drain Fuel";
  71.                 condition = "call ExileClient_object_vehicle_interaction_show";
  72.                 action = "_this call ExileClient_object_vehicle_drain";
  73.             };
  74.             class VehicleService: ExileAbstractAction
  75.             {
  76.                 title = "Open Vehicle Service";
  77.                 condition = "call SM_VehicleService_fnc_showCondition";
  78.                 action = "[] call SM_VehicleService_fnc_show";
  79.             };
  80.             class Paint: ExileAbstractAction
  81.             {
  82.                 title = "Paint";
  83.                 condition = "(((ExileClientInteractionObject getVariable ['ExileAlreadyKnownCode','']) != '') && ((locked ExileClientInteractionObject) == 0) && ((locked ExileClientInteractionObject) != 1) || ((local ExileClientInteractionObject) && (locked ExileClientInteractionObject) == 1))";
  84.                 action = "_this spawn SM_Paint_Show";
  85.             };
  86.         };
  87.     };
  88.  
  89.     class Tank
  90.     {
  91.         targetType = 2;
  92.         target = "Tank";
  93.  
  94.         class Actions
  95.         {
  96.             class ScanLock: ExileAbstractAction
  97.             {
  98.                 title = "Scan Lock";
  99.                 condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && !ExilePlayerInSafezone && ((locked ExileClientInteractionObject) != 1)";
  100.                 action = "_this call ExileClient_object_lock_scan";
  101.             };
  102.  
  103.             // Locks a vehicle
  104.             class Lock: ExileAbstractAction
  105.             {
  106.                 title = "Lock";
  107.                 condition = "((locked ExileClientInteractionObject) isEqualTo 0) && ((locked ExileClientInteractionObject) != 1)";
  108.                 action = "true spawn ExileClient_object_lock_toggle";
  109.             };
  110.  
  111.             // Unlocks a vehicle
  112.             class Unlock: ExileAbstractAction
  113.             {
  114.                 title = "Unlock";
  115.                 condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)";
  116.                 action = "false spawn ExileClient_object_lock_toggle";
  117.             };
  118.  
  119.             // Repairs a vehicle to 100%. Requires Duckttape
  120.             class Repair: ExileAbstractAction
  121.             {
  122.                 title = "Repair";
  123.                 condition = "true";
  124.                 action = "['RepairVehicle', _this select 0] call ExileClient_action_execute";
  125.             };
  126.  
  127.             // Hot-wires a vehicle
  128.             class Hotwire: ExileAbstractAction
  129.             {
  130.                 title = "Hotwire";
  131.                 condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)";
  132.                 action = "['HotwireVehicle', _this select 0] call ExileClient_action_execute";
  133.             };
  134.  
  135.             // Flips a vehicle so the player doesnt have to call an admin
  136.             // Check if vector up is fucked
  137.             class Flip: ExileAbstractAction
  138.             {
  139.                 title = "Flip";
  140.                 condition = "call ExileClient_object_vehicle_interaction_show";
  141.                 action = "_this call ExileClient_object_vehicle_flip";
  142.             };
  143.  
  144.             // Fills fuel from a can into a car
  145.             class Refuel: ExileAbstractAction
  146.             {
  147.                 title = "Refuel";
  148.                 condition = "call ExileClient_object_vehicle_interaction_show";
  149.                 action = "_this call ExileClient_object_vehicle_refuel";
  150.             };
  151.  
  152.             // Drains fuel from a car into an empty jerry can
  153.             class DrainFuel: ExileAbstractAction
  154.             {
  155.                 title = "Drain Fuel";
  156.                 condition = "call ExileClient_object_vehicle_interaction_show";
  157.                 action = "_this call ExileClient_object_vehicle_drain";
  158.             };
  159.             class VehicleService: ExileAbstractAction
  160.             {
  161.                 title = "Open Vehicle Service";
  162.                 condition = "call SM_VehicleService_fnc_showCondition";
  163.                 action = "[] call SM_VehicleService_fnc_show";
  164.             };
  165.             class Paint: ExileAbstractAction
  166.             {
  167.                 title = "Paint";
  168.                 condition = "(((ExileClientInteractionObject getVariable ['ExileAlreadyKnownCode','']) != '') && ((locked ExileClientInteractionObject) == 0) && ((locked ExileClientInteractionObject) != 1) || ((local ExileClientInteractionObject) && (locked ExileClientInteractionObject) == 1))";
  169.                 action = "_this spawn SM_Paint_Show";
  170.             };
  171.         };
  172.     };
  173.    
  174.     class Air
  175.     {
  176.         target = "Air";
  177.         targetType = 2;
  178.  
  179.         class Actions
  180.         {
  181.             class ScanLock: ExileAbstractAction
  182.             {
  183.                 title = "Scan Lock";
  184.                 condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && ((locked ExileClientInteractionObject) != 1) && !ExilePlayerInSafezone";
  185.                 action = "_this call ExileClient_object_lock_scan";
  186.             };
  187.  
  188.             // Locks a vehicle
  189.             class Lock: ExileAbstractAction
  190.             {
  191.                 title = "Lock";
  192.                 condition = "((locked ExileClientInteractionObject) isEqualTo 0) && ((locked ExileClientInteractionObject) != 1)";
  193.                 action = "true spawn ExileClient_object_lock_toggle";
  194.             };
  195.  
  196.             // Unlocks a vehicle
  197.             class Unlock: ExileAbstractAction
  198.             {
  199.                 title = "Unlock";
  200.                 condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)";
  201.                 action = "false spawn ExileClient_object_lock_toggle";
  202.             };
  203.  
  204.             // Hot-wires a vehicle
  205.             class Hotwire: ExileAbstractAction
  206.             {
  207.                 title = "Hotwire";
  208.                 condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)";
  209.                 action = "['HotwireVehicle', _this select 0] call ExileClient_action_execute";
  210.             };
  211.  
  212.             // Repairs a vehicle to 100%. Requires Duckttape
  213.             class Repair: ExileAbstractAction
  214.             {
  215.                 title = "Repair";
  216.                 condition = "true";
  217.                 action = "['RepairVehicle', _this select 0] call ExileClient_action_execute";
  218.             };
  219.  
  220.             // Flips a vehicle so the player doesnt have to call an admin
  221.             // Check if vector up is fucked
  222.             class Flip: ExileAbstractAction
  223.             {
  224.                 title = "Flip";
  225.                 condition = "call ExileClient_object_vehicle_interaction_show";
  226.                 action = "_this call ExileClient_object_vehicle_flip";
  227.             };
  228.  
  229.             // Fills fuel from a can into a car
  230.             class Refuel: ExileAbstractAction
  231.             {
  232.                 title = "Refuel";
  233.                 condition = "call ExileClient_object_vehicle_interaction_show";
  234.                 action = "_this call ExileClient_object_vehicle_refuel";
  235.             };
  236.  
  237.             // Drains fuel from a car into an empty jerry can
  238.             class DrainFuel: ExileAbstractAction
  239.             {
  240.                 title = "Drain Fuel";
  241.                 condition = "call ExileClient_object_vehicle_interaction_show";
  242.                 action = "_this call ExileClient_object_vehicle_drain";
  243.             };
  244.  
  245.             class RotateLeft: ExileAbstractAction
  246.             {
  247.                 title = "Rotate Left"; 
  248.                 condition = "call ExileClient_object_vehicle_interaction_show";
  249.                 action = "[ExileClientInteractionObject,-15] call ExileClient_object_vehicle_rotate";
  250.             };
  251.  
  252.             class RotateRight: ExileAbstractAction
  253.             {
  254.                 title = "Rotate Right";
  255.                 condition = "call ExileClient_object_vehicle_interaction_show";
  256.                 action = "[ExileClientInteractionObject,15] call ExileClient_object_vehicle_rotate";
  257.             };
  258.             class VehicleService: ExileAbstractAction
  259.             {
  260.                 title = "Open Vehicle Service";
  261.                 condition = "call SM_VehicleService_fnc_showCondition";
  262.                 action = "[] call SM_VehicleService_fnc_show";
  263.             };
  264.             class Paint: ExileAbstractAction
  265.             {
  266.                 title = "Paint";
  267.                 condition = "(((ExileClientInteractionObject getVariable ['ExileAlreadyKnownCode','']) != '') && ((locked ExileClientInteractionObject) == 0) && ((locked ExileClientInteractionObject) != 1) || ((local ExileClientInteractionObject) && (locked ExileClientInteractionObject) == 1))";
  268.                 action = "_this spawn SM_Paint_Show";
  269.             };
  270.         };
  271.     };
  272.  
  273.     class Safe
  274.     {
  275.         targetType = 2;
  276.         target = "Exile_Container_Abstract_Safe";
  277.  
  278.         class Actions
  279.         {
  280.             class ScanLock: ExileAbstractAction
  281.             {
  282.                 title = "Scan Lock";
  283.                 condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && !((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 1) && !ExilePlayerInSafezone";
  284.                 action = "_this call ExileClient_object_lock_scan";
  285.             };
  286.  
  287.             // Locks a vehicle
  288.             class Lock : ExileAbstractAction
  289.             {
  290.                 title = "Lock";
  291.                 condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)";
  292.                 action = "true spawn ExileClient_object_lock_toggle";
  293.             };
  294.  
  295.             class Unlock : ExileAbstractAction
  296.             {
  297.                 title = "Unlock";
  298.                 condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1)";
  299.                 action = "false spawn ExileClient_object_lock_toggle";
  300.             };
  301.  
  302.             class Pack : ExileAbstractAction
  303.             {
  304.                 title = "Pack";
  305.                 condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)";
  306.                 action = "_this spawn ExileClient_object_container_pack";
  307.             };
  308.  
  309.             class SetPinCode : ExileAbstractAction
  310.             {
  311.                 title = "Set PIN";
  312.                 condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)";
  313.                 action = "_this spawn ExileClient_object_lock_setPin";
  314.             };
  315.            
  316.             class HackLock: ExileAbstractAction
  317.             {
  318.                 title = "Hack Lock";
  319.                 condition = "(getNumber(missionConfigFile >> 'CfgHacking' >> 'enableHacking') isEqualTo 1) && ('Exile_Item_Laptop' in (magazines player)) && ((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1) && !ExilePlayerInSafezone";
  320.                 action = "['HackLock', _this select 0] call ExileClient_action_execute";
  321.             };
  322.         };
  323.     };
  324.  
  325.     class Laptop
  326.     {
  327.         targetType = 2;
  328.         target = "Exile_Construction_Laptop_Static";
  329.  
  330.         class Actions
  331.         {
  332.             class CameraSystem: ExileAbstractAction
  333.             {
  334.                 title = "CCTV Access";
  335.                 condition = "((ExileClientInteractionObject animationPhase 'LaptopLidRotation') >= 0.5)";
  336.                 action = "_this call ExileClient_gui_baseCamera_show";
  337.             };
  338.         };
  339.     };
  340.  
  341.     class SupplyBox
  342.     {
  343.         targetType = 2;
  344.         target = "Exile_Container_SupplyBox";
  345.  
  346.         class Actions
  347.         {
  348.             class Mount: ExileAbstractAction
  349.             {
  350.                 title = "Mount";
  351.                 condition = "(isNull (attachedTo ExileClientInteractionObject)) && ((ExileClientInteractionObject getvariable ['ExileOwnerUID',1]) isEqualTo 1)";
  352.                 action = "_this call ExileClient_object_supplyBox_mount";
  353.             };
  354.  
  355.             class Install: ExileAbstractAction
  356.             {
  357.                 title = "Install";
  358.                 condition = "isNull (attachedTo ExileClientInteractionObject) && ((ExileClientInteractionObject getvariable ['ExileOwnerUID',1]) isEqualTo 1)";
  359.                 action = "_this call ExileClient_object_supplyBox_install";
  360.             };
  361.  
  362.             class Unmount: ExileAbstractAction
  363.             {
  364.                 title = "Unmount";
  365.                 condition = "!(isNull (attachedTo ExileClientInteractionObject)) && ((ExileClientInteractionObject getvariable ['ExileOwnerUID',1]) isEqualTo 1)";
  366.                 action = "_this call ExileClient_object_supplyBox_unmount";
  367.             };
  368.         };
  369.     };
  370.    
  371.     class Drawbridge
  372.     {
  373.         targetType = 2;
  374.         target = "Exile_Construction_Abstract_DrawBridge";
  375.  
  376.         class Actions
  377.         {
  378.             class Lower: ExileAbstractAction
  379.             {
  380.                 title = "Lower";
  381.                 condition = "ExileClientInteractionObject call ExileClient_object_construction_openBridgeShow";
  382.                 action = "ExileClientInteractionObject animateSource ['DrawBridge_Source', 0];";
  383.             };
  384.            
  385.             class Raise: ExileAbstractAction
  386.             {
  387.                 title = "Raise";
  388.                 condition = "((ExileClientInteractionObject animationSourcePhase 'DrawBridge_Source') < 0.5)";
  389.                 action = "ExileClientInteractionObject animateSource ['DrawBridge_Source', 2]";
  390.             };
  391.             class Paint: ExileAbstractAction
  392.             {
  393.                 title = "Paint";
  394.                 condition = "call ExileClient_util_world_isInOwnTerritory";
  395.                 action = "_this spawn SM_Paint_Show";
  396.             };
  397.         };
  398.     };
  399.  
  400.     class Construction
  401.     {
  402.         targetType = 2;
  403.         target = "Exile_Construction_Abstract_Static";
  404.  
  405.         class Actions
  406.         {
  407.             class ScanLock: ExileAbstractAction
  408.             {
  409.                 title = "Scan Lock";
  410.                 condition = "('Exile_Item_ThermalScannerPro' in (magazines player)) && !((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 1)";
  411.                 action = "_this call ExileClient_object_lock_scan";
  412.             };
  413.  
  414.             class Unlock : ExileAbstractAction
  415.             {
  416.                 title = "Unlock";
  417.                 condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1)";
  418.                 action = "false spawn ExileClient_object_lock_toggle";
  419.             };
  420.  
  421.             class Lock : ExileAbstractAction
  422.             {
  423.                 title = "Lock";
  424.                 condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)";
  425.                 action = "true spawn ExileClient_object_lock_toggle";
  426.             };
  427.  
  428.             // Picks up the construction so you can move it
  429.             class Move: ExileAbstractAction
  430.             {
  431.                 title = "Move";
  432.                 condition = "call ExileClient_util_world_isInOwnTerritory";
  433.                 action = "_this spawn ExileClient_object_construction_move";
  434.             };
  435.  
  436.             // Removes the construction.
  437.             class Deconstruct: ExileAbstractAction
  438.             {
  439.                 title = "Remove";
  440.                 condition = "call ExileClient_util_world_isInOwnTerritory";
  441.                 action = "_this spawn ExileClient_object_construction_deconstruct";
  442.             };
  443.  
  444.             class AddALock : ExileAbstractAction
  445.             {
  446.                 title = "Add a Lock";
  447.                 condition = "call ExileClient_object_construction_lockAddShow";
  448.                 action = "_this spawn ExileClient_object_construction_lockAdd";
  449.             };
  450.  
  451.             class Upgrade : ExileAbstractAction
  452.             {
  453.                 title = "Upgrade";
  454.                 condition = "call ExileClient_object_construction_upgradeShow";
  455.                 action = "_this call ExileClient_object_construction_upgrade";
  456.             };
  457.  
  458.             class MakeBoom : ExileAbstractAction
  459.             {
  460.                 title = "Plant charge";
  461.                 condition = "call ExileClient_system_breaching_condition";
  462.                 action = "_this call ExileClient_system_breaching_action";
  463.             };
  464.  
  465.             class Repair : ExileAbstractAction
  466.             {
  467.                 title = "Repair";
  468.                 condition = "(!((ExileClientInteractionObject getVariable ['ExileConstructionDamage',0]) isEqualTo 0)) && (call ExileClient_util_world_isInOwnTerritory)";
  469.                 action = "_this call ExileClient_object_construction_repair";
  470.             };
  471.  
  472.             class GrindLock : ExileAbstractAction
  473.             {
  474.                 title = "Grind Lock";
  475.                 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)";
  476.                 action = "['GrindLock', _this select 0] call ExileClient_action_execute";
  477.             };
  478.             class Paint: ExileAbstractAction
  479.             {
  480.                 title = "Paint";
  481.                 condition = "call ExileClient_util_world_isInOwnTerritory";
  482.                 action = "_this spawn SM_Paint_Show";
  483.             };
  484.         }; 
  485.     };
  486.     /*
  487.         Tent, Storage crate etc.
  488.     */
  489.     class Container
  490.     {
  491.         targetType = 2;
  492.         target = "Exile_Container_Abstract";
  493.  
  494.         class Actions
  495.         {
  496.             class Pack
  497.             {
  498.                 title = "Pack";
  499.                 condition = "!((typeOf ExileClientInteractionObject) isEqualTo 'Exile_Container_SupplyBox')";
  500.                 action = "_this spawn ExileClient_object_container_pack";
  501.             };
  502.             // Picks up the container so you can move it
  503.             class Move: ExileAbstractAction
  504.             {
  505.                 title = "Move";
  506.                 condition = "(getNumber(configFile >> 'CfgVehicles' >> typeOf ExileClientInteractionObject >> 'exileIsLockable') isEqualTo 0) || ((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)";
  507.                 action = "_this spawn ExileClient_object_construction_move";
  508.             };
  509.         };
  510.     };
  511.    
  512.     class Flag
  513.     {
  514.         targetType = 2;
  515.         target = "Exile_Construction_Flag_Static";
  516.  
  517.         class Actions
  518.         {
  519.             /*
  520.             class Manage : ExileAbstractAction
  521.             {
  522.                 title = "Manage";
  523.                 condition = "true";
  524.                 action = "_this call ExileClient_gui_baseManagement_event_show";
  525.             };
  526.             */
  527.             class StealFlag: ExileAbstractAction
  528.             {
  529.                 title = "Steal Flag";
  530.                 condition = "((ExileClientInteractionObject getvariable ['ExileFlagStolen',1]) isEqualTo 0)";
  531.                 action = "['StealFlag', _this select 0] call ExileClient_action_execute";
  532.             };
  533.            
  534.             class RestoreFlag: ExileAbstractAction
  535.             {
  536.                 title = "Restore Flag";
  537.                 condition = "((ExileClientInteractionObject getvariable ['ExileFlagStolen',0]) isEqualTo 1)";
  538.                 action = "['restoreFlagRequest', [netID ExileClientInteractionObject]] call ExileClient_system_network_send";
  539.             };
  540.             //Pay Protection
  541.             class Payprotection : ExileAbstractAction
  542.             {
  543.                 title = "Pay Protection";
  544.                 condition = "true";
  545.                 action = "_this call ExileClient_gui_payTerritoryProtectionMoneyDialog_show";
  546.             };
  547.         };
  548.     };
  549.  
  550.     class Boat
  551.     {
  552.         targetType = 2;
  553.         target = "Ship";
  554.  
  555.         class Actions
  556.         {
  557.             // Locks a vehicle
  558.             class Lock: ExileAbstractAction
  559.             {
  560.                 title = "Lock";
  561.                 condition = "((locked ExileClientInteractionObject) isEqualTo 0) && ((locked ExileClientInteractionObject) != 1)";
  562.                 action = "true spawn ExileClient_object_lock_toggle";
  563.             };
  564.  
  565.             // Unlocks a vehicle
  566.             class Unlock: ExileAbstractAction
  567.             {
  568.                 title = "Unlock";
  569.                 condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)";
  570.                 action = "false spawn ExileClient_object_lock_toggle";
  571.             };
  572.  
  573.             // Hot-wires a vehicle
  574.             class Hotwire: ExileAbstractAction
  575.             {
  576.                 title = "Hotwire";
  577.                 condition = "((locked ExileClientInteractionObject) isEqualTo 2) && ((locked ExileClientInteractionObject) != 1)";
  578.                 action = "['HotwireVehicle', _this select 0] call ExileClient_action_execute";
  579.             };
  580.  
  581.             // Repairs a vehicle to 100%. Requires Duckttape
  582.             class Repair: ExileAbstractAction
  583.             {
  584.                 title = "Repair";
  585.                 condition = "true";
  586.                 action = "['RepairVehicle', _this select 0] call ExileClient_action_execute";
  587.             };
  588.  
  589.             // Fills fuel from a can into a car
  590.             class Refuel: ExileAbstractAction
  591.             {
  592.                 title = "Refuel";
  593.                 condition = "call ExileClient_object_vehicle_interaction_show";
  594.                 action = "_this call ExileClient_object_vehicle_refuel";
  595.             };
  596.  
  597.             // Drains fuel from a car into an empty jerry can
  598.             class DrainFuel: ExileAbstractAction
  599.             {
  600.                 title = "Drain Fuel";
  601.                 condition = "call ExileClient_object_vehicle_interaction_show";
  602.                 action = "_this call ExileClient_object_vehicle_drain";
  603.             };
  604.  
  605.             // Pushes a boat into look direction to move into water
  606.             class Push: ExileAbstractAction
  607.             {
  608.                 title = "Fus Ro Dah!";
  609.                 condition = "((crew ExileClientInteractionObject) isEqualTo [])";
  610.                 action = "_this call ExileClient_object_vehicle_push";
  611.             };
  612.             class VehicleService: ExileAbstractAction
  613.             {
  614.                 title = "Open Vehicle Service";
  615.                 condition = "call SM_VehicleService_fnc_showCondition";
  616.                 action = "[] call SM_VehicleService_fnc_show";
  617.             };
  618.             class Paint: ExileAbstractAction
  619.             {
  620.                 title = "Paint";
  621.                 condition = "(((ExileClientInteractionObject getVariable ['ExileAlreadyKnownCode','']) != '') && ((locked ExileClientInteractionObject) == 0) && ((locked ExileClientInteractionObject) != 1) || ((local ExileClientInteractionObject) && (locked ExileClientInteractionObject) == 1))";
  622.                 action = "_this spawn SM_Paint_Show";
  623.             };
  624.         };
  625.     };
  626.  
  627.     class Bikes
  628.     {
  629.         targetType = 2;
  630.         target = "Bicycle";
  631.  
  632.         class Actions
  633.         {
  634.             class Flip: ExileAbstractAction
  635.             {
  636.                 title = "Flip";
  637.                 condition = "true";
  638.                 action = "_this call ExileClient_object_vehicle_flip";
  639.             };
  640.             class VehicleService: ExileAbstractAction
  641.             {
  642.                 title = "Open Vehicle Service";
  643.                 condition = "call SM_VehicleService_fnc_showCondition";
  644.                 action = "[] call SM_VehicleService_fnc_show";
  645.             };
  646.             class Paint: ExileAbstractAction
  647.             {
  648.                 title = "Paint";
  649.                 condition = "(((ExileClientInteractionObject getVariable ['ExileAlreadyKnownCode','']) != '') && ((locked ExileClientInteractionObject) == 0) && ((locked ExileClientInteractionObject) != 1) || ((local ExileClientInteractionObject) && (locked ExileClientInteractionObject) == 1))";
  650.                 action = "_this spawn SM_Paint_Show";
  651.             };
  652.         };
  653.     };
  654.  
  655.     class Player
  656.     {
  657.         targetType = 2;
  658.         target = "Exile_Unit_Player";
  659.  
  660.         class Actions
  661.         {
  662.             class Free: ExileAbstractAction
  663.             {
  664.                 title = "Free";
  665.                 condition = "(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['ExileIsHandcuffed', false]) && !ExileClientIsHandcuffed";
  666.                 action = "_this call ExileClient_object_handcuffs_free";
  667.             };
  668.            
  669.             class Search: ExileAbstractAction
  670.             {
  671.                 title = "Search Gear";
  672.                 condition = "(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['ExileIsHandcuffed', false]) && !ExileClientIsHandcuffed";
  673.                 action = "_this call ExileClient_object_handcuffs_searchGear";
  674.             };
  675.  
  676.             class Identify: ExileAbstractAction
  677.             {
  678.                 title = "Identify Body";
  679.                 condition = "!(alive ExileClientInteractionObject)";
  680.                 action = "_this call ExileClient_object_player_identifyBody";
  681.             };
  682.            
  683.             //////////////Added by [_ZEN_]happydayz/////////////////
  684.            
  685.             class Revive: ExileAbstractAction
  686.             {
  687.                 title = "Use Defib";
  688.                 condition = "(!(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['EnigmaRevivePermitted', true]) && (magazines player find 'Exile_Item_Defibrillator' >= 0))";
  689.                 action = "_this spawn Enigma_RevivePlyr";
  690.             };     
  691.            
  692.             class HideCorpse: ExileAbstractAction
  693.             {
  694.                 title = "Hide Body";
  695.                 condition = "!(alive ExileClientInteractionObject) && ('Exile_Melee_Shovel' isEqualTo (currentWeapon player))";
  696.                 action = "['HideBody', (_this select 0)] call ExileClient_action_execute";
  697.             };
  698.         };
  699.     };
  700.    
  701.     class Animal
  702.     {
  703.         targetType = 2;
  704.         target = "Exile_Animal_Abstract";
  705.  
  706.         class Actions
  707.         {          
  708.             class Gut: ExileAbstractAction
  709.             {
  710.                 title = "Gut Animal";
  711.                 condition = "!(alive ExileClientInteractionObject) && (ExileClientInteractionObject getVariable ['CanBeGutted', false])";
  712.                 action = "['GutAnimal', ExileClientInteractionObject] call ExileClient_action_execute";
  713.             };
  714.         };
  715.     };
  716. };
Advertisement
Add Comment
Please, Sign In to add comment