Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to Xbox Chaos: Modding Evolved

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Lehvak

.MAP
AI spawns

77 posts in this topic

Edit 9/12/15 - Fixed grammar and fixed somethings.

 

Things you will need
- Assembly can be found here and how to compile here.
- Campaign.map, shared.map, and mainmenu.map for the selected Halo game you want to do this in
- Console that can play unsigned code
- xex with checks removed, AI in multiplayer and the ability to spawn AI via effect tags.
Halo Reach
Halo 3

 

*Make sure you have "Show invisibles" on.

dHI7BXU.png

 

 

Step 1:
First open a campaign mission and extract any [char] tag(s) you want, I'll be doing the Brute [char].
Give Assembly a minute to extract the selected [char] tag(s). 

 

TIP:

extracting the [char] tag brings the [bipd] tag as well, but some [char] tags are variants of the original and some may not contain the [bipd] tag it's always safe to just extract the main base [char] for what AI you want and if you have to have a different variant then change it in the [hlmt]. 

 

once you have the [char] tag(s) you extracted somewhere leave them and open the map you want the AI to be in.

I'll be opening Sandbox.

 

So now it's time to prepare a [effe] tag so we can have our AI spawn.

You have 2 options to attack this, both methods require you to duplicate a [effe] tag

the first one:

Pick a random [effe] tag, duplicate it and add the "Parts" block with Assembly.

Spoiler

 

you'll need to find an [effe] tag so we can "gut it" and make it our own it can be any [effe] tag

once you found one, right click it and click duplicate tag and make the name something you'll remember, something to do with your spawn, like "fx\spawn_effects\spawn\AI\brute_minor"; now you'll need to close the map and reopen it so the newly duplicated tag shows up.

 

once you reopen it, find your duplicated tag and lets start editing it 

 

First at the top, make everything zero except the float32 under the undefined, make that 0.1. Now at "Loop Start Even" make that either -1 or 0

 

Now go to where you see  "Locations"  and "Events" blocks.

Under "Locations" block, you will see "Marker Name" change the stringID to "spawn".

Under "Events" block, you will see "Name" change the int32 to "spawn". Save.

 

Continuing down you will see "Duration Bounds Min" and "Duration Bounds Max" change the float32 for both to 10000.0 (if you have it at a lower number AI will flood your map). Save.

Go down and you will see a block called "Parts" click the "+" next to the chunk count to bring up the "Tag Block Reallocator" and add 1 new entry count. 

Once done click the "+" to expand the block and now you will see "Create in Disposition" change that to "Either Mode" if it is not already set to that, under "Create in Disposition" change all the values to 0 if they aren't already. Save.

Go down a little and you will see "Anticipated Tag Class Note" and under that you will see "Anticipated Tag Class" change the ascii to "char" and for
"Spawned tag" find the char of the AI you injected. Everything from "Velocity Bounds Min" to “Origin Rotation j" make 0 if not already. Save.

 

Lastly, go to the bottom of the tag, and make everything zero except:

"Location Index" make that -1

"Event Index" make that -1

and the last unknown that is a float32, make that 0.1 if not already. 

Save.

 

 

or

 

Find an [effe] tag that already has a parts block and fix it accordingly (look at the first way to see what I changed). 

 

Step 2:

 

Do a search for 
objects\multi\spawning\respawn_point

 

once you found it again right click it and click duplicate tag and make the name something you'll remember, something to do with your spawn, like "objects\multi\spawning\brute_respawn_point"; now you'll need to close the map and reopen it so the newly duplicated tag shows up.

 

First go to "Multiplayer Object Properties"
Change the "Type" to "Equipment"
And in flags uncheck bit 3. save.

 

Now go to the "Functions" block and click the "+" next to the chunk count to bring up the "Tag Block Reallocator" and add 1 new entry count. 
Once done, check always active in flags and change both "Export Name" and "Import Name" to either respawn_point, spawn, or active (they all should work). Save.

Now go the the  "Attachments" block and click the "+" next to the chunk count to bring up the "Tag Block Reallocator" and add 1 new entry count. At "Attachments" use the first drop down box to find [effe] class and use the second to find the edited [effe] tag
I.e for me I'll find fx\spawn_effects\spawn\AI\brute_minor. Lastly, at "Marker" change the stringID to "spawn" Save.

Once done, go to [scnr] and search for "Sandbox Goal Objects", and add the spawn point there.
Save.
Or add it to whatever sandbox palette you want.

 

Halo Reach:

In order to get the spawns to work in Halo Reach

you'll need to change the spawn point hlmt to "objects\multi\models\mp_spawn_point\mp_spawn_point"

T0NNe7p.jpg


in addition for Halo Reach 

go in the effect 

under the "parts" block 

make "Location index" 0 instead of -1

 

 


JJIJR had the idea, I just decided to figure it out myself and make a tutorial.

 

 

Want the tutorial as a pdf?

Download here:

MEGA outdated tutorial

Virus scan here:

https://www.virustotal.com/en/file/a59e979ec0aac6d89ef2704d042f2b41be9550879667e752270cf28af8598110/analysis/1437356414/

 

 

 

 

 

Old tutorial here: 

Spoiler

 

Things you will need
- Assembly can be found here skips over sounds and fixes the crash when you add injected assets to the forge list
and how to compile here.
- Campaign, shared, and mainmenu maps for the selected Halo game you want to do this in
- RGH/Dev kit/JTAG
- Mapexpand with corn found here
- Xex with checks removed, Ai in mp, and Ai ability to spawn via effect tags.
Halo Reach
Halo 3

Before you continue, I'm working on fixing this tutorial up please come back later.
This probably will work for Halo reach but the process may very slightly

Step 1:
First open a campaign mission and extract any char you want, I'll be doing the brute char.
Give Assembly a minute to extract and inject the tags

Step 2:

Open a clean map, this can be any map, you're going to be using this map to take the needed tags from.
(you can also duplicate tags with a hex editor, but I wont be going over that)

Once you found a map, go to the [effe] class; you'll need to find an effe tag so we can fix it up.
I recommend using fx\material_effects\materials\brittle\glass_breakable_shards

So once you find fx\material_effects\materials\brittle\glass_breakable_shards
We need to go through it.
First at the top, you will see two blocks, one called "locations" and the other one is called "events"
Under locations, you will see "marker name" change the stringId to "spawn".
Under "events", you will see "name" change the int32 to "spawn". Save.
Continuing down you will see "duration bounds min" and "duration bounds max" change the float32 for both to 10000 (if you have it at a lower number AI will flood your map). Save.
Go down and you will see a block called "particle systems" take its address (make sure to put 0 in the address) and make the chunk size 0.
Go to "parts" click show information and paste the address you grabbed from "particle systems" into the address slot and add one chunk
Once done click the "+"; you will see "create in disposition" change that to either mode if it is not already set to that, under "create in disposition" change all the int32's to 0. Save.

Go down a little and you will see "anticipated tag class note" and under that you will see "anticipated tag class" change the ascii to "char" and for
"Spawned tag" find the char of the Ai you injected to spawn from this point. Everything from "velocity bounds min" to “origin rotation j" make 0.
Save. Change the name of this tag to something else. I will change mine to fx\decal\Brute_Minor because fx\decal is always at the top of the tags
in the [effe] class and Brute_Minor because I want a Brute minor AI, don't forget to click "save tag names" and extract the tag.
Give Assembly a minute to extract the tag, once done inject the tag give Assembly a minute.
Once the tag is injected go to [scen] (in the same map) search for
objects\multi\spawning\respawn_point
First go to "multiplayer object properties"
Change the "type" to "equipment"
And in flags uncheck bit 3. Save.

Change the name of this tag to something else. I'm going to change it to objects\multi\spawning\spawn_point_brute_minor once you found a name don't forget to click "save tag names" and extract the tag. Now open the map you want these AI spawns in.

Inject both the tags and the char tag you got from the campaign map, once Assembly is done injecting click save and close the map.

Step 3:

Make a folder to hold what we'll be working on, place your .map in and copy mapexpand to the folder (make sure it's extracted). Shift+Right and click and click "open command window here" type in:

mapexpand (your map name here).map tag 1

Once it's done note down the address I circled in red (this address will very for you).
AVciMXO.png

Close the command prompt and open your map back up in Assembly.

Go to the injected spawn point tag
I.e for me objects\multi\spawning\spawn_point_brute_minor
And click expand information for the block "functions" and place the address you got (the one I have circled in red) into to address slot and add one chunk
Once done, check always active in flags and change both "export name" and "import name" to either respawn_point, spawn, or active (they all should work). Save.

Again close Assembly and repeat the mapexpand process (you will get a different address this time)
Once you did it go back into your injected spawn point tag and click expand information for the block "attachments" and place the address you got (the one I have circled in red) into to address slot and add one chunk. At "attachments" use the first drop down box to find [effe] class and use the second to find the injected effect tag
I.e for me I'll find fx\decal\Brute_Minor. Save.

Once done, go to [scnr] and search for "sandbox goal objects", and add the spawn point there.
Save.
Or add it to what ever sandbox palette you want.

 

JJIJR had the idea, I just decided to figure it out myself and make a tutorial.

 

 

Edited by Lehvak

Share this post


Link to post
Share on other sites
On 7/19/2014 at 6:12 PM, DeadCanadian said:

JJIJR wasn't the only one to have the idea than from what I can see here

 

yeah I had a conversation with Garrett, I asked if he wanted credit but he declined. I didn't know he had a map. I don't really watch his videos. I figured it out myself.

Edited by Lehvak

Share this post


Link to post
Share on other sites

If anyone makes some maps with this i would love to see them. I think ill make a map with every AI type so brutes Minor elites minor ETC.

Share this post


Link to post
Share on other sites

If anyone makes some maps with this i would love to see them. I think ill make a map with every AI type so brutes Minor elites minor ETC.

lol its adding one char and im already like damn too much lmao ill take that map if u make it

 

Edit:guess i screwed up lmao map ended up being 1.10 gb for some reason

Edited by FederalGOKU

Share this post


Link to post
Share on other sites

Why use a random effe that you have to add the block you need to? You are extracting anyway so pick something that already has a parts block.

Yeah I know you can do that, but I don't mind doing the extra work. Edited by Lehvak

Share this post


Link to post
Share on other sites

i uploaded my new map to h3 section mod downloads its a sandbox play ground i added alot of stuff lol you should try your ai respond point on that map :P

Share this post


Link to post
Share on other sites

JJIJR wasn't the only one to have the idea than from what I can see here

/snip

Yeah after I uploaded my vid he decided to make his own take on it.

Obviously since he made it after zedd's discovery of spawning regular chars through effects, it was pretty straight forward on making it work.

This was my vid on it:

You can tell this is a different method by the way the characters spawn laying down and get up.

My way basically spawned a dead invisible biped and an invisible infection form, and the reanimation character from the dead biped is the actual AI that spawns.

Edited by JJIJR
Skaldak likes this

Share this post


Link to post
Share on other sites

Oh ok so basically, you are making the spawn point a effect because zedd's xex ai spawns through effe. Also how do I make it so I can spawn unlimited ai's for 0 budget? Lastly, do I have to inject the biped of the char or does the tagc have it itself?

Edited by HaloHackBoy

Share this post


Link to post
Share on other sites

Oh ok so basically, you are making the spawn point a effect because zedd's xex ai spawns through effe. Also how do I make it so I can spawn unlimited ai's for 0 budget? Lastly, do I have to inject the biped of the char or does the tagc have it itself?

The char tag should have the bipd in it. And if you want unlimited ai´s you will have to go to the class tag SCNR and go to whatever section you put your ai spawn point in , example Sandbox Vehicles. Once you are in there get the max allowed into 250 and cost into 0 and you are set. I dont know if you can get it higher than 250.

Edited by Dark Light

Share this post


Link to post
Share on other sites

Wow, great tutorial, very smooth, and easy to follow! 

Lehvak is a great guy!

Edited by weighta
Lehvak likes this

Share this post


Link to post
Share on other sites

 

Save. Change the name of this tag to something else. I will change mine to fx\decal\Brute_Minor because fx\decal is always at the top of the tags

in the [effe] class and Brute_Minor because I want a Brute minor AI, don't forget to click "save tag names" and extract the tag.

Give Assembly a minute to extract the tag, once done inject the tag give Assembly a minute.

 

 

?? wtf

Share this post


Link to post
Share on other sites

?? wtf

Not really helpful for me to help you with what's wrong.

 

 

the part where I have you wait until assembly extracts the tag and injects it? That's because if you try using assembly during those process, assembly will crash.

Edited by Lehvak

Share this post


Link to post
Share on other sites

I'm only using 2 map ( one from campaign to extract char, and the mp one to inject it). I don't understand why you inject/extract 1156468 times


Oh and should i extract Raw or without Raw ? :)

Share this post


Link to post
Share on other sites

I'm only using 2 map ( one from campaign to extract char, and the mp one to inject it). I don't understand why you inject/extract 1156468 times

Oh and should i extract Raw or without Raw ? :)

well.. What?...

mp maps don't have a char? All the extracting and injecting is necessary. Also, just to make sure you are extracting from one map (sp) and injecting into the other (mp).

 

and this tutorial was written before Assembly has that option and it really doesn't matter if you extract with or without raw (without raw on reach you'll need to load pre load firefight and then go back to mp). In addition, you wont be able to play with other people on lan with injected AI, no matter if you chosen with raw or without.

Edited by Lehvak

Share this post


Link to post
Share on other sites

well.. What?...

mp maps don't have a char? All the extracting and injecting is necessary. Also, just to make sure you are extracting from one map (sp) and injecting into the other (mp).

 

and this tutorial was written before Assembly has that option and it really doesn't matter if you extract with or without raw (without raw on reach you'll need to load pre load firefight and then go back to mp). In addition, you wont be able to play with other people on lan with injected AI, no matter if you chosen with raw or without.

 

 Yeah i missed somehting sorry, you need 3 maps so. Well i tried to do it I have the spawn and stuff but there's just nothing spawning, even if i start a new round. I screw up something i guess. I tried to do the flood method with grunt but it's almost the same except that there are here but it's just enemies biped, they don't move/attack once infected by the flood..

Share this post


Link to post
Share on other sites

 Yeah i missed somehting sorry, you need 3 maps so. Well i tried to do it I have the spawn and stuff but there's just nothing spawning, even if i start a new round. I screw up something i guess. I tried to do the flood method with grunt but it's almost the same except that there are here but it's just enemies biped, they don't move/attack once infected by the flood..

Try it again you are doing something wrong, I'm also gonna update this tutorial for the new assembly build and fix up some stuff.

The reason they aren't moving is because mp maps have no pathfinding, so you'll have to edit the idle animation to the walking animation in the Ais jmad, but this isn't perfect cause they will always be walking.

Edited by Lehvak

Share this post


Link to post
Share on other sites

Now i figured out how to spawn them but they're just idling. Only attack melee if i get too close to them. I don't understand, they spawn without any weaps and they just stay at me. I have the correct Xex, they work great on AI playground (i have the map)

Share this post


Link to post
Share on other sites

Lehvak, on 19 Jul 2015 - 11:54 AM, said:

 

The reason they aren't moving is because mp maps have no pathfinding, so you'll have to edit the idle animation to the walking animation in the Ais jmad, but this isn't perfect cause they will always be walking.

You can add a weapon in the bipd of the AI under the weapon block, you'll need to reallocate it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now