A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
Viewing User Profile for: DeadHamster
About Contact
Joined: Jun 8, 2014 05:02 PM
Last Post: Yesterday @ 08:36 PM
Last Visit: Today @ 01:44 AM
Your Age:
What Games do you play:

Send Private Message
Post Statistics
DeadHamster has contributed to 523 posts out of 465679 total posts (.11%) in 1,354 days (.39 posts per day).

20 Most recent posts:
Halo CE General Discussion » Dreamweb 2 (Monthly Tag Releases) Yesterday @ 08:36 PM (Total replies: 16)

Quote: --- Original message by: MEGA_VKNG
I am working on a v2, although admittedly I've been weary due to the strong possibility of me causing the next wave of abysmal Halo 4 and 5 mods.
Edited by MEGA_VKNG on Feb 19, 2018 at 08:09 PM

If there are gonna be H4 and H5 mods, they should at least be using quality assets.

If you don't modify the number it may only be spawning the stock amount. You should always check the values to be certain that the AI are being spawned, because default values are always 0 which would not place any AI.

Additionally, consider that I have an encounter named FLOOD, with two squads named F1 and F2.

I can use

(ai_place FLOOD)

Which will place both squads. Or I can get fancy

(ai_place FLOOD/F1)

(sleep_until (< 3 (ai_living_count FLOOD/F1)) 5)

(ai_place FLOOD/F2)

(sleep_until (= 0 (ai_living_count FLOOD)) 5)

(sleep_until (game_all_quiet) 5)

That script will first place ONLY the squad F1, wait until there are 2 AI left in it (less than 3), and then place F2 as reinforcements. Once both F1 and F2 are dead, it checks if the game is quiet and then does a totally unsafe instant-save.

Now, let's say Bungie wrote a script like the above to spawn an encounter. Let's say you place a new squad called F3 and add your new AI.

That AI never gets spawned. I specifically spawn only FLOOD/F1 and FLOOD/F2, never FLOOD/F3. If I had just written (ai_place FLOOD), it would place ALL the squads. But because Bungie chose to designate each one individually, the one you added never gets called. You'd have to find that section of the script and choose when your AI was spawned.

This is just another POSSIBLE reason you're seeing the results you are. I don't mean to be argumentative, I've just been doing this a long time and haven't before encountered the issues you describe.

Edit: Additionally, Major upgrades don't have to match. I can make a grunt's major upgrade a crew member from the Pillar of Autumn. And it makes sense it's more often on higher difficulties, that's how it should be.

The value in the scenario tag in sapien is called "major upgrade" or something of that nature and it determines how many of the AI spawned are converted into the actor variant they reference as a major. On easy, only 1 of 3 elites is a major, but on legendary, they make all 3 elites major. Allows you to place one encounter, run one script, and still have a variance for difficulty without having carbon-copies for easy/normal/hard/legendary.

Edited by DeadHamster on Feb 19, 2018 at 07:40 PM

Edit # 2:

If you want to test your AI in sapien, place the encounter/squad and set them up. Hit save, then while still in sapien hit on your keyboard the [ ~ ] key that's located above the [TAB] key and to the left of the [1] key.

This opens the console. Type the following in


obvious replace that with the name of your encounter. It will place all squads ingame, and you can verify that you have the tag itself setup properly. If it works in Sapien but not in Halo, try looking at the scripts for the level and making sure that the squad you placed is actually being spawned. If it doesn't work, look at the squad and encounter settings and make the changes you need.

Edited by DeadHamster on Feb 19, 2018 at 09:00 PM

Quote: --- Original message by: BioGoji1989
So, while what you're saying certainly applies to Covenant AI, Flood seem to be handled very differently by the game.

Definitely not the case.

Link to Flood Video

I've worked a lot with Flood AI. You can do whatever you want with whatever tag you want.

Are you increasing the number of actors spawned in the squad when you edit existing squads? Are you making sure that you're placing a new actor_variant tag, with the correct weapons referenced? Are you making sure that the new actor_variant tag has an appropriate major upgrade, and not one with a different weapon?

You're making an error somewhere. I don't know exactly where, but the game doesn't behave the way you're describing.

Edited by DeadHamster on Feb 19, 2018 at 12:36 PM

Halo CE General Discussion » [MaxScript] DixFix Yesterday @ 11:20 AM (Total replies: 0)

DixFix is a rewrite of a Maxscript I stole that helps make materials better viewable in 3DS max's viewport. Partial credit goes to some guy out there on the internet who's name and script I don't remember nor care to find.

This one is geared towards Halo CE, specifically fixing imported models from various ripping tools. It will disable any type of transparency from alpha, opacity or opacity maps, it sets all materials to show the diffuse map in the viewport and sets the specular level to 0.

These are all things that Adjutant or other apps do on import, and it can often mean lots of tedious clicking to readjust. Feel free to use this instead.


OR, copy/paste the below into NotePad and save it as a .ms file wherever your 3DS max scripts are stored.

-- Material "Fixer" script
-- This script automates setting all materials as viewed in the viewport,
-- with no alpha source on the diffuse map, and no opacity maps.
-- <3 hamp

fn setDiffuse changeMat =
if classof changeMat == multimaterial then
for i = 1 to changeMat.numsubs do
if changeMat.materialList != undefined then
setDiffuse changeMat.materialList
else if classof changeMat == standardmaterial then
changeMat.showInViewport = true
changeMat.adLock = true
changeMat.specularlevel = 0
changeMat.opacity = 100
changeMat.opacitymapenable = false
changeMat.adTextureLock = true
if changeMat.diffuseMap != undefined then
setDiffuse changeMat.diffuseMap
else if classof changeMat == bitmaptexture then
changeMat.alphasource = 2

rollout MaterialFixRollout "Material Fix Script" width:160 height:48
GroupBox grp3 "DixFix" pos:[3,0] width:154 height:45
button FixBtn "Dix Materials" pos:[8,18] width:142 height:20

on FixBtn pressed do
for i=1 to selection.count do
s = selection
if s.material != unassigned do
setDiffuse s.material

CreateDialog materialfixrollout


There are different AI actors for the major vs the minors, and each one uses their own weapons. It sounds like you only changed the weapons on the majors.

Also, each AI tag has a reference for a "Major" upgrade, and each ai squad you place in sapien has a value for how many of the AI will be converted into majors based on the difficulty level.

Also, you can select the AI based on individual spawn points, which can also be incredible useful if you start getting into some advanced scripting functions.

Halo CE General Discussion » Skins/textures/etc Yesterday @ 10:42 AM (Total replies: 2)

To edit a biped's appearance, there are three main components; models shaders bitmaps

Editing models involves 3DS max. For your current level of skill, this is not feasible (yet!), so we'll focus on bitmaps and shaders.

For bitmaps, either acquire a copy of Photoshop (preferable, but we can't help you with that here.), or downloading GIMP as a free and legal alternative.

Open the biped tag in guerilla, and near the top is a reference for model. Click the [ Open ] button which will open the model tag. Scroll to the bottom of the model tag and you'll see a drop down box with references inside. Click the [ Open ] button again to open the shader.

The shader has references to a base mao. This is the main texture, click [ Open ].

Click view bitmap to look at the image. This is the image that is wrapped around the model. Imagine painting a paper crane, and then unfolding it back to a single piece of paper. That is similar to how a model is unwrapped around a bitmap.

You can extract this with one of MosesOfEgypt's tools in his Moses's Editing Kit package. Once it's extracted, open it with GIMP. You can modify the colors, draw on it, edit the brightness or saturation. Save your changes as a .TIFF file with no layers. You need to save it in the DATA folder, which is inside Halo Custom Edition's installation folder where the HEK and TAGS folders are.

Save it inside the folders Data\Spartan314\bitmaps\

Now open CMD and navigate to your Halo CE directory (or copy/paste CMD into Halo CE's directory for a simpler experience.). Type the command

Tool bitmaps spartan314\bitmaps

It should compile them and place them in TAGS\spartan314\bitmaps.

Go back to the shader tag, and click the [...] button next to the bitmap reference. Navigate to the folder TAGS\Spartan314\bitmaps and select the bitmap tag we just created.

Underneath the basemap reference is a multipurpose map. The description in Guerilla is for stock xbox halo, and was modified for the PC port by Gearbox. The channels are Red for Detail, Blue for Reflection, Green for Self Illumination.

WHOA, what does that mean? In GIMP look at the channels tab of the image. There should be a red blue and green, each monochrome. These represent how much red/green/blue go into the color. By reading each channel as a separate, monochrome bitmap we can modify 3 functions with one bitmap, saving space in the mapfile. So the amount of white (brightness) in each channel determines the corresponding amount and intensity of detail map, cubemap and reflection, or self illumination that is applied to that section of the bitmap.

Reflections are the combination of a cubemap and highlights which makes an object seem shiny. Details are a smaller bitmap applied to give the appearance of finer details that would blur in the stock bitmap. Self Illumination makes parts of the weapon display at full brightness even in dark areas of the map, giving the appearance that they glow. It's used on covenant weapons and the green button of the AR, as well as some areas of the Master Chief's armor.

Now while still in the shader tag, look at the Detail Map. This is a (usually monochrome) texture that is applied overtop the base map. It's to add detail like scruff or scratches, but if there's color that will be applied as well.

At the bottom of the shader tag is a cubemap reference, as well as data for reflection properties. This controls how shiny an object is, and the cubemap is a 6-sided bitmap that simulates reflections on shiny surfaces by displaying and rotating which side of the "cube" is displayed based on the position between the player and the reflective surface.

That's enough info to get you started and moving. Post back or PM me if you need more help!

Halonimator is Master's alt account. It's an amazing PR scheme.

Halo CE Technical / Map Design » Low spec users, quick question Yesterday @ 10:26 AM (Total replies: 3)

64MB on a Nvidia 440mx, way back in the day.

When I got a 5200 the first thing I had done was open Halo: FTW 1's Bloodgulch and noticed that there was a thing called Dynamic Lighting. Thought it was something modded in, Pepsi711 laughed and told me it was always there.

Halo CE General Discussion » Halo CE v1.0.10 Plus Radeon 5970 Equals WTF Feb 16, 2018 07:33 AM (Total replies: 3)

Navigate to your Halo PC folder in "C:\Program Files (x86)\Microsoft Games\Halo" and place your "config.txt" file on your desktop so that you can edit it without a permissions conflict.

Remove the two forward slashes from "//UseAnisotropicFilter" on lines 702 and 761 for nVidia graphics users, or lines 323 and 372 for AMD/ATi graphics users.

Save the file, and place it back in your Halo folder.

Now your copy of Halo has anisotropic filtering

Halo CE General Discussion » Error with sentinals. How do I fix? Feb 16, 2018 07:30 AM (Total replies: 2)

When you place the squad, every firing position you place must have the flag checked for 3D.

Additionally, after placing it you should look in the window that shows the coordinates, and modify the Z value to be off the ground. The rangers fly and as such, need firing positions that are placed in the sky and labelled for 3D movement characters.

Halo CE General Discussion » How do I restart Tags?? Feb 16, 2018 07:27 AM (Total replies: 4)

Delete everything and run the HEK installer again. Uninstall the HEK, then re-run the installer and re-install the HEK.

Then make a compressed (.zip or .rar) of your TAGS folder so you have it for next time.

Experimental Method:

Alternatively, you can delete everything inside of your TAGS folder, and then try ripping all your maps using Refinery. Don't use HEK+, but using Refinery you MAY be able to do this as well. The tags also may have an error somewhere, and if so MosesOfEgypt would love to know even though he may pretend otherwise.

Move positions

Place multiple move positions with the same index. In the squaf you set initial and final state to moving_loop.

Itll loop to all the points that SHARE AN INDEX. It will not go from index 0 to 1 to 2. They go to them in the order they were placed.

You can setup multiple paths using multple indexes, making sure each path shares an index and the markers are placed in sequential order. The AI squad should have a field for which move positions they will utilize.

There are three sources of light that affect Radiosity:

The sun's light tag
The sky tag's ambient radiosity
Any scenery items (covenant torch) or BSP/object textures that emit radioisty light (forerunner lights)

Modify the first two and use the third properly to give a dark map the light it needs. Tool makes very poor dark maps however, and if you can learn 3DS max you can make much higher quality dark lightmaps using Aether.

Halo CE General Discussion » December HMU final call + CE3 Award Show Info Feb 10, 2018 03:45 PM (Total replies: 10)

Quote: --- Original message by: MatthewDratt

This dismissive attitude is why I thought it was cancelled.

Halo CE Technical / Map Design » Question About Flood Actor Variants Feb 10, 2018 02:19 PM (Total replies: 2)

Open up B30 The Silent Cartographer.

Find the biped characters\engineer\engineer\

Bungie got bought by microsoft and microsoft pushed a hard deadline. When the deadline comes, you cut out what you don't need. They didn't need flood with snipers.

Also, flood shouldn't have the technical knowledge for sniping anyway. I don't care about your fan fiction, none of the novels are canon. Speaking on gameplay mechanics, the type of enemy that the flood represents and the role they fill does not overlap with the role of a sniper.

Quote: --- Original message by: Reshirom200
Everyone knows how ce grunts have varying models, like the curlback, how do you do this?? For an example, halo 2 elites and Spartan playermodels how do you make them random?? Don't you just put two models in 3DS and test it?

You place multiple .JMS files into a single folder, and compile with Tool using

tool model directory\that\your_models\are_located

This creates a single .gbx_model file with multiple permutations. Inside the .gbx_model tag in Guerilla, there are options that determine if a permutation is selected randomly. As long as this is setup right (it should be right by default), it'll randomly select one permutation. You can also manually force a permutation when the object is placed in the scenario, or through scripts.

If you need assistance, look at the tag


which will have random permutations with the exception of sgt johnson, who cannot be selected randomly.

Halo CE General Discussion » Does anyone need AI sync Feb 10, 2018 12:47 PM (Total replies: 20)

If one could write an external app to send data over the same connection, one would only need to update the position and rotation of all bipeds in the server ever few ticks. The rest could be handled through tags, scripts and clever manipulation of the mapfile

No. You didn't get what Kirby said, he's describing the creation of a UI to load SP maps, NOT to automatically load MP ones.

Quote: Before I go fiddling around, as an example, the tag: mp_map_select_list_2.ui_widget_definition has the game data input script thing: mp map list update. I'm assuming this is what controls the mp maps already in all our UIs, lets say we wanted to add stinky.map to the end of the list, how do we replicate that script or make one from scratch?

Wrong. That is not a script, that's a tag. A script is embedded into the scenario tag during compilation. The MP map list update, if it does ANYTHING, would simply look through your MAPS folder. There is no function that adds map items to the MP list properly, it automatically loads all maps located in the MAPS folder and assumes that they are MP maps. Even campaign maps are loaded into the MP map list, and you can even try to load them. If a map doesn't match one of the stock MP maps that comes with the game, it gets treated as a custom map with a ? image and an "unknown location" description. There is no way to change that, it's how the engine is programmed.

But more importantly; you can't script a multiplayer map to play, because it doesn't properly load the gametype. It opens the map as though it was SP, with no gametypes or teams or any of the engine's code that creates the MP environment. Kirby will be an ass and correct me, and show some complex way that you can make UI elements run a script to hold variables that then force a gametype on map load, but that's not important. Even if you could do it, which you can't, it would be a hacky workaround, and it won't update automatically

The command he gave you is to load SP maps. The UUI does NOT have any special function for multiplayer maps. It loads them normally, using new bitmaps and UI widgets BUT with the same engine loading it. For the SP maps, somebody sat down and made individual UI buttons and screens for EVERY campaign and firefight map they wanted to include. They worked with teams like CMT to add maps that were still under development, so that when those projects were released they would work with the UUI.

If you wanted to add a new SP map, you would have to create an entirely new collection of UI elements, reference them together in the tags, and then add a new script to actually load the SP maps.

BUT NO MATTER WHAT, THERE IS NO WAY TO AUTOMATICALLY LOAD MAPS FROM YOUR MAPS FOLDER AND ASSIGN THEM UI ELEMENTS. There is NO way that you will load stinky.map and have a screenshot of the level and a description. You CAN change the custom map's screenshot from the ?, but the same screenshot will then be used for ALL custom MP maps. You can NOT individually assign these.

The game's been around 15 years now on PC. What you're trying to do has been tried before, and if it WAS possible, it would have been in the UUI already.

If you continue down this road, you'll find yourself at a dead end. I don't want to see you quit modding because you dedicate yourself to something that can't be done. Find a different project. Make a new UUI even, that'd be great. But you can't get blood from a stone.

All that said, maybe like Kirby said chimera can do something. If you find 002 I'm sure he'll be able to provide no help with that.

In Sapien, change the manual BSP index of the sqaud to match the BSP you're placing them in.

First BSP in the scenario is BSP index 0, the second is BSP index 1, the third is 2, and so on.

Time: Tue February 20, 2018 2:47 AM 281 ms.
A Halo Maps Website