D-Day Josh 1 Report post Posted September 15, 2016 Hi, i'm trying to install exad hacking. i've done this part # Installation Remember for this plugin to work you first need to install * [Core](https://github.com/Bjanski/ExAd/blob/master/docs/core/installation.md)* [(VirtualGarage)](https://github.com/Bjanski/ExAd/blob/master/docs/VirtualGarage/installation.md) - Only necessary if you want to be able to hack it <-- don't want this so didn't install it ## Client * Place the folder "Hacking" into "mpmissions\exile.<MAP>\ExAdClient\" * Goto "mpmissions\exile.<MAP>\ExAdClient\CfgFunctions" and uncomment _From_ ```cpp //#include "Hacking\CfgFunctions.cpp" ``` _To_ ```cpp but i don't understand the rest... Need some help Share this post Link to post Share on other sites
wernerz 11 Report post Posted September 15, 2016 (edited) Quote In "config.cpp" find ("CfgInteractionMenus") and add the actions you want used. If you don't want to use a specific action e.g. hacking safe just ignore adding it. Available actions are HackVG -> ("CfgInteractionMenus" >> "Flag" >> "Actions" >> "HackVG") HackSafe -> ("CfgInteractionMenus" >> "Safe" >> "Actions" >> "HackSafe") StopHack -> ("CfgInteractionMenus" >> "Laptop" >> "Actions" >> "StopHack") Open config.cpp, search for cfginteractionmenu, find: class Safe { targetType = 2; target = "Exile_Container_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"; }; // Below here, x2 [Enter] ;) class HackSafe : ExileAbstractAction { title = "PC1337 Hax"; condition = "call ExAd_fnc_canHackSafe"; action = "_this spawn ExAd_fnc_startHack"; }; add code below the last bracket above: class HackSafe : ExileAbstractAction { title = "PC1337 Hax"; condition = "call ExAd_fnc_canHackSafe"; action = "_this spawn ExAd_fnc_startHack"; }; Quote Modify - "mpmissions\exile.\stringtable.xml" - add package="Hacking" and change to desirable notifications <Package name="Hacking"> <Container name="Notifications"> <Key ID="STR_ExAd_HACKING_NOTI_MAX_TERRITORY_HACKS_REACHED"> <Original>Connection failed! Territory Wi-Fi is down!</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_TERRITORY_ONE_HACK"> <Original>Wi-Fi occupied!!</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_MAX_SIM_HACKS"> <Original>The laptop overloaded and got destroyed! Another hacker is already using the grid.</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_NO_PLAYER_PRESENT"> <Original>No Wi-Fi available!</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_VG_SUCCESS"> <Original>Hack successful! The Virtual Garage unloaded a %1</Original> <!-- %1 indicates the vehicle class name that's going to be shown--> </Key> <Key ID="STR_ExAd_HACKING_NOTI_VG_NO_VEH"> <Original>Hack successful! No vehicles were stored in the Virtual Garage.</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_SAFE_SUCCESS"> <Original>Hack successful! The safe is now unlocked.</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_INTERUPTED"> <Original>Hack has been interupted</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_FAILED"> <Original>Hack failed! Circuits overloaded!</Original> </Key> </Container> <Container name="Hint"> <Key ID="STR_ExAd_HACKING_HINT_TITLE"> <Original>Hack Activity</Original> </Key> <Key ID="STR_ExAd_HACKING_HINT_HACK_START"> <Original>A brute force hack is detected on the grid!</Original> </Key> </Container> </Package> Quote Now you can go into "mpmissions\exile.\ExAdClient\Hacking\customize.sqf" and change to desirable settings. https://github.com/Bjanski/ExAd/blob/master/mpmissions/Exile.Altis/ExAdClient/Hacking/customize.sqf Quote Copy over and pack "@ExileServer\addons\exad_hacking" into a pbo. https://github.com/Bjanski/ExAd/tree/master/%40ExileServer/addons Edited September 15, 2016 by wernerz Share this post Link to post Share on other sites
D-Day Josh 1 Report post Posted September 15, 2016 37 minutes ago, wernerz said: Open config.cpp, search for cfginteractionmenu, find: class Safe { targetType = 2; target = "Exile_Container_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"; }; // Below here, x2 [Enter] ;) class HackSafe : ExileAbstractAction { title = "PC1337 Hax"; condition = "call ExAd_fnc_canHackSafe"; action = "_this spawn ExAd_fnc_startHack"; }; add code below the last bracket above: class HackSafe : ExileAbstractAction { title = "PC1337 Hax"; condition = "call ExAd_fnc_canHackSafe"; action = "_this spawn ExAd_fnc_startHack"; }; <Package name="Hacking"> <Container name="Notifications"> <Key ID="STR_ExAd_HACKING_NOTI_MAX_TERRITORY_HACKS_REACHED"> <Original>Connection failed! Territory Wi-Fi is down!</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_TERRITORY_ONE_HACK"> <Original>Wi-Fi occupied!!</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_MAX_SIM_HACKS"> <Original>The laptop overloaded and got destroyed! Another hacker is already using the grid.</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_NO_PLAYER_PRESENT"> <Original>No Wi-Fi available!</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_VG_SUCCESS"> <Original>Hack successful! The Virtual Garage unloaded a %1</Original> <!-- %1 indicates the vehicle class name that's going to be shown--> </Key> <Key ID="STR_ExAd_HACKING_NOTI_VG_NO_VEH"> <Original>Hack successful! No vehicles were stored in the Virtual Garage.</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_SAFE_SUCCESS"> <Original>Hack successful! The safe is now unlocked.</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_INTERUPTED"> <Original>Hack has been interupted</Original> </Key> <Key ID="STR_ExAd_HACKING_NOTI_FAILED"> <Original>Hack failed! Circuits overloaded!</Original> </Key> </Container> <Container name="Hint"> <Key ID="STR_ExAd_HACKING_HINT_TITLE"> <Original>Hack Activity</Original> </Key> <Key ID="STR_ExAd_HACKING_HINT_HACK_START"> <Original>A brute force hack is detected on the grid!</Original> </Key> </Container> </Package> https://github.com/Bjanski/ExAd/blob/master/mpmissions/Exile.Altis/ExAdClient/Hacking/customize.sqf https://github.com/Bjanski/ExAd/tree/master/%40ExileServer/addons cheers, managed to do it. had to add the stop hack aswell, worked out the coding for it. all that's left is to add batteries to the game for grinding. Do you know how to do that? I'm unsure on that one Share this post Link to post Share on other sites
GGWOLF 41 Report post Posted October 8, 2016 Find the class for the battery, I believe it's Exile_Magazine_battery add this to the cfg_arsenal and trader (if you wish for it to be purchasable) inside missionfile/config.cpp and add to loot tables inside your exile_server/config and you'll be good to go. Share this post Link to post Share on other sites
XYZ Loki 3 Report post Posted October 13, 2016 Hey guys what is the coding for stop hack im puzzled Share this post Link to post Share on other sites
Spin Khan 0 Report post Posted April 4, 2017 Bump... Yes, what is the condition for stopHack? Share this post Link to post Share on other sites
Auoryus 2 Report post Posted November 12, 2017 (edited) bump, would also like to know because my class code somehow breaks the game kind of: some interactons stop working and the xm8 infistar apps are going away Spoiler Dont use this: class StopHack : ExileAbstractAction { title = "Stop Hack"; condition = "call ExAd_fnc_stopHack"; action = "_this spawn ExAd_fnc_stopHack"; }; Edit: This is the fix/correct code: Spoiler class StopHack : ExileAbstractAction { title = "Stop Hack"; condition = "call ExAd_fnc_canStopHack"; action = "_this spawn ExAd_fnc_stopHack"; }; Edited November 12, 2017 by Auoryus Share this post Link to post Share on other sites