Halo PC - NOT Xbox, although you can mod Xbox maps, I don't know how.
Halo Map Tools - Used for editing stuff in maps. NOT 3D stuff (you do that in other programs, not covered in this Instructable), just physics, weapon stats, etc. Can be downloaded here.
Halo Map Switcher - Backup your maps, restore maps, check if maps are modded, stuff like that. Download here.
Microsoft .NET Framework v1.1 or later - You must have this or HMT will not work. Download here.
Optional: (for changing the reticle)
Photoshop - Along with the Photoshop DDS plugin, which is attached. It may be possible to use GIMP instead, but I don't use it so I wouldn't know.
Photoshop DDS Plugin - Allows you to edit DDS files (halo textures).
Step 1: BACKUP YOUR MAPS
BACKUP YOUR MAPS
BACKUP YOUR MAPS
BACKUP YA DANG MAPS
Yes, this is important enough to have a step just for itself. It will save you from having to reinstall Halo every time you want to revert back to normal, because of errors you caused when modding or just wanting the original maps back.
Install all that stuff I told you to get in the intro, and then open up Halo Map Switcher (referred to as HMS from now on).
Click the blue Backup All Maps button. This will copy every map from your Halo program files folder and put them in a folder called mapsbackup in the Halo program files folder. When you want to restore a map to its original state the easy way (instead of re-entering weapon stats, etc.) select a map from the drop-down list and click restore.
Step 2: Change Weapon Stats
Now, this is important, don't get distracted with all the options and tags in here, you can get very carried away and be in there for hours, if you're only trying to do one or two things to the map.
Scroll down to the bottom and you'll find the Weapons tag. Double click it, and click weapons\assault rifle\assault rifle. This tag manages all the options for the Assault Rifle itself (not the bullet stats or damage). This is the page I got the stats for the Halo 3 Assault Rifle from. We'll start with the clip. Click the Clip drop-down menu on the right and select 0. Now you can manage the properties for the clip. Change the Starting Ammo (how much you start a level with) and Maximum Ammo (how much extra ammo you can carry) to 352. Don't change anything else in the clip.
Now click the Projectile drop down menu and select 0. This edits the firing properties, but not the actual properties of the bullets (it is possible to make it fire full-auto rockets). Change Minimum ROF and Maximum ROF (rate of fire) to 11. The Halo 3 Assault Rifle fires slightly slower than the Halo 1 version. Since it also has a 32 round clip, change the Ammo per shot to 2. This will still only fire one bullet per shot, but it will subtract two from your ammo count instead of just one, giving the illusion that the magazine is half the size.
Now here's a tricky part. The spread controls how accurate the weapon is. The Halo 3 AR (assault rifle) is much more accurate than in Halo 1. You'll want a perfect shot when you just firing semi-auto, but when you go full-auto, it will spread out. So change the Minimum Spread to 0, and Maximum Spread to 0.006981317. The smaller the number, the more accurate the weapon will be.
Step 3: Bullet Damage
Step 4: OPTIONAL: Change Reticle
go to your Photoshop program files folder and put the DDS plugin in your plugins folder.
Close the map you are working on, and open ui.map (user interface). This map contains many of the things that are universal in the game. Changing something in this map will change it for the whole game (I think). Open the Bitmap tag and go to ui\hud\bitmaps\combined\hud_reticles. These are all the reticles for the weapons. The first one on the list is the AR, Pistol, driving warthog, and no weapon, all in one file. I have a pre-made Halo 3 assault rifle reticle attached, if you don't want to do it yourself.
Click Save Texture, and save the texture somewhere. Open that file up with Photoshop, and if it asks if you want to use Mip Maps, say no (just like drugs, kids! xD). Now you can do whatever you want with this thing. Just make sure any reticles you make are centered, or you'll be wondering why your aim is always off.
When you save your reticle file, make sure you save as a DDS. Save like you normally would, and when a fancy window comes up, set the Save Format to 32 bit ARGB, set MIP Maps to No MIP Maps, and DON'T TOUCH ANYTHING ELSE. Now click save again.
Now go back to HMT, assuming you haven't done anything else in it, click Inject Texture, and inject your reticle file. If you did it the way I told you to, you shouldn't have any problems. Now close the map file, and go play! Remember though, modding an actual Campaign or multiplayer map will only modify that map, and always close the map or you will get errors in Halo.