Needed Items:
Xbox that can run unsigned/dev signed code
- XDK/RGH/Jtag
Single player map
- Used for extracting needed tags
Resource files:
- Mainmenu.map
- Campaign.map
- Shared.map
Invisibles turned on in Assembly
This can be done in Halo 3, but due to the engine differences somethings maybe a bit different. But, if you can figure this out in Halo Reach it wont be hard for you to figure it out in Halo 3.
Step 1) Setting up resource files in Assembly
Step 2) Needed tags
*If you did a conversion map (single player to multiplayer) or campaign in general there is obviously no need to inject a [char], unless that [char] doesn't existence on the map (if you need to extract a [char] because it doesn't existence you can save space if you go through the [char] tag and all it's tagrefs and null weaps/vehis that aren't in your map. When you are complete and go to see your AI in game, and the AI aren't there in game or because you freeze this is probably because that zoneset hasn't been loaded yet. To fix this, you'll need to load designer zonesets you can look HERE on how to do that (recommend just loading them all)*
If you are doing this in a Multiplayer map, you'll need to extract the tag. Go to [char] in a single player map, locate the [char] you want and right click on the tag and hit "Extract With Raw" allow Assembly to extract. Again, you can save space if you go through the tags and all it's tagrefs and null weaps/vehis that aren't in your map.
Open your target map and inject the tag if needed.
Allow Assembly to inject.
Step 3) Setting up a Basic Squad
This tutorial is only showing you single location squads, if you spend more time in the squads you can figure out more things. This is just a basic squad setup to get you started. I'll be using forge_world so my squads block isn't expanded. If you have a campaign map just add a new chunk to the block using the tag reallocater (the plus sign next to the block). You can do some fun stuff with this.
First go to [scnr] in your target map and do a search for "Squads" once you found it use the tag reallocater to expand the "Squads" block. You'll see "Name" you can give this any name as it is a ascii.
Make sure the Flag "Initially Placed" is checked.
Now make:
"Parent Squad Group" - (-1)
"Objective Index" - (-1) (in a campaign map looking at the "AI Objectives" block you pick which index you want your AI to be assigned to. (-1) just means they wont follow any)
"Objective Role Index" - (-1) (in a campaign map looking at the sub-block of "AI Objectives" known as the "Role" block you pick which index you want your AI to be assigned to. (-1) just means they wont follow any)
"Editor Folder Index" - (Don't think this maters too much, but if it does, increment by one until you get your squad to spawn. (-1) works for most maps)
Save.
---------------------------------------------------------------------------------------------------------------------
Expand "Single Locations" or if you're feeling crazy you can Expand "Group Locations"
You can use any StringID for its name
Use Adjutant to get x,y,z positions
Now make:
Reference frame - (-1)
Save.
"Character Type" - this pulls from the "Character Palette" index, so do a search for "Character Palette" and expand it than add your [char] to this list, and go back to "Character Type" in "Squads" and give this your characters palette index. This is the same concept for the following:
"Initial Primary/Secondary Weapon" - look at the "Weapon Palette" and grab a weapons index that you want your AI to spawn with (-1 for no weapon).
"Initial Equipment" - look at the "Equipment Palette" and grab the equipment's index that you want your AI to spawn with (-1 for no equipment).
"Vehicle" - look at the "Vehicle Palette" and grab the vehicles index that you want your AI to spawn in (-1 for no vehicle) give a specific seat type using the drop box under it. Use "Vehicle Variant" to select which variant of vehicle you want. Look in the [hlmt] of the [vehi] to see the different variants and there corresponding StringIDs, place the String of the variant you want in "Vehicle Variant".
"Grenade Type" - Use drop box to select which type of grenade your AI use.
"Emitter Vehicle/Giant/Biped" - (-1)
"Command Script Index" - (-1)
Second to last "unknown" - (-1)
---------------------------------------------------------------------------------------------------------------------
Expand "Squad A"
You can use any StringID for its name
"Count" - How many of that specific AI you want (spawns at same coordinates, add another single location to have another ai spawn at different coordinates)
again you'll see vehicle
"Vehicle" - look at the "Vehicle Palette" and grab the vehicles index that you want your AI to spawn in (-1 for no vehicle) give a specific seat type using the drop box under it. Use "Vehicle Variant" to select which variant of vehicle you want. Look in the [hlmt] of the [vehi] to see the different variants and there corresponding StringIDs, place the String of the variant you want in "Vehicle Variant".
"Command Script Index" - (-1)
Give the "Unknown" that is a string any string or I recommend the string "none".
Second "Unknown" under the "Unknown" that is a string - (-1)
Save.
Edit - 3, July, 2016
Fixing Grammatical issues and format issues