So, with this new update of BO3, many values are protected--if you change them, the game immediately exits. Luckily, the integer next to these protected values is used to determine if they were changed. The game runs the value through some operations and then checks if the two values are equal, and if they are not then exit. So, I have made a function to change those protected values by generating the integer next to it as well: Code: void SetProtectedValue(long long address, float value) { char buffer[8]; *(float *)buffer = value; *(unsigned int *)(buffer + 4) = (unsigned int)(*(unsigned int *)&value * 1.0000152587890625) ^ 1797376816; WriteProcessMemory(process, (void *)address, buffer, 8, 0); } This has worked for the protected values that I have tested (timescale, exposure, gun position, etc.). Also, I am aware that the value doesn't have perfect precision, so if you choose values like 0.2 or 0.01, then the game will still immediately exit. This is most likely an inaccuracy with the multiplication factor or something else. Let me know if you need anything or have issues. EDIT: If you need precision for timescale, use this unprotected timescale: "blackops3.exe"+14F58CD0