Ok so noone replied to me but I figured this out. If you know how to work with multi-level pointers the offsets are:
0xDA8208] + 0x13A8] + 4] + 0xC16] <---------------- NVG
0xDA8208] + 0x13A8] + 4] + 0xC18] <---------------- Thermals
What do you do with this? Write a hexadecimal (in Visual Studio the type is DWORD) 0x1 into the address of 0xC16 to get NVGs. If you do this and click N you have nightvision.
For thermals you write a hexadecimal 0x1 into the address of 0xC18. When you do this the thermals will blink on and off. Just set up an infinite while loop with a break statement so you can toggle the thermals on and off.
The offmode for both is 0x0. And that's how its done.
If you have no idea what to do with multilevel pointers or what dark magic I am talking about look up FLEEP's hacking tutorials on youtube.