Ok I start...
1. How do you make your own PTC?
Simple. Get the function which executes commands, and then give the parameters to it. The asm part is same as giving parameters and balances the stack, you could simply use a typedef...
2. How do you create an undetected hook/detours?
Stop this fucking noob question, all noobs asking this. You dont event need an undetected one, just simply do a midfunction hook after the first 5 bytes, HS dont scan further.
3. Why do Menu hacks require a present hook and a reset hook? Why can't you only have a present or a reset hook?
Present or Endscene are used to draw your menu or whatever on the screen. Reset is used to RESET the font and other things after the decices had been chnaged.
4. Do you NOP every hack for the "ON" Bytes?
If you would understand Assembler, then you would know it. Think at it. Theres a JE right before the fire function. Now you want to make rapidfire. You assemble this command to JMP to always jump to the firefunction. Else it will reload. Now think what NOP does. You will reload all time........
5. I also would like to know where I can learn about DirectX & Windows programming
Use google -.-
6. How do you find addresses of each hack when it changes every patch?
Simply make sigscans (noob mode) or understand what the game does. When you know in the firefunction is a referenced string like "ammo %i" and you want to have the address of ammo, simply look what they push before the string. The address which gets PUSHed is the ammo address, which could be used like this:
*(int*)0xDEADBEEF = 25;
Which is just visual, but you could also use it to get the actual ammo.
Look at tuts4you for lena151 full complete turoial, its awesome