Learn C++ for years and years and years and years and years and years
100% what Brent said. It's a hugely complicated process.
First off, you have to find item and player location/status data within the game and also find it within the data being sent and received. Then, you need a way to take that data and display some sort of indicator on/around it (if you're making an ESP hack) to indicate items/players/position. Finally, if you can do all of this without crashing the game, you need a way to inject it into the game IN ADDITION to successfully bypassing whatever anti-cheat software exists (BattlEye in this case). And good luck if you mess up at any point, because you run the risk of having to start nearly from scratch if any portion of it fails or is detected.