Help with a mod

May 10, 2014
4
0
1
#1
Greetings. I have been wanting one custom map (one that replaces the intro "level") to satisfy all my needs outside of the campaign. With all of the knowledge I have on Halo 2 modding, I have come to the conclusion that something like this, https://www.youtube.com/watch?v=aVZA48- ... H6Bmi4CPyg , is what I need.

From what I have observed from this video and older videos related to it, it a pseudo-multiplayer bot map that's actually a singleplayer map. All game modes and settings are accessed via a pre-game area of the level. I have several questions:

1. Would such a level even be possible in H2V?
2. If so, then what map would be best to cover all game mods?
3. Alternatively, would it be possible to merged the bsps of multiple multiplayer maps into one map? (not like merging them into one giant bsp. More like so each map can be accessed from the same level)
4. Can it be made so Spartan and Elite bots can respawn?
5. Can a fake scoring system be set up. Can't remember if it was demonstrated in this particular video or an older one.
 
Mar 20, 2013
535
1
0
42
Hawaii
www.h2mt.org
Gamertag
Kills Alone
#2
Sorry but the H2EK Microsoft released was lacking many features that were supposed to be included so setting up something like this is not necessarily impossible but less likely, especially when you consider it would probably be done by my team and I have moved my mapping/modding interests to Garry's Mod (aka GMod) and the Source Engine for now; its an engine, company, & community that is more about creativity as opposed to constant death match.

On a side note, I did create a custom edition of Halo 2 called Halo 2.5 which includes a fully customized mainmenu, but I ran into a few issues with loading default maps and a lack of interest from the community plus a complete lack of support from the devs.

If TMCC ever comes to PC it is very likely H2PC modding will continue from where we left off. Until then I would not expect anything new.
 
May 10, 2014
4
0
1
#3
Kills Alone said:
Sorry but the H2EK Microsoft released was lacking many features that were supposed to be included so setting up something like this is not necessarily impossible but less likely, especially when you consider it would probably be done by my team and I have moved my mapping/modding interests to Garry's Mod (aka GMod) and the Source Engine for now; its an engine, company, & community that is more about creativity as opposed to constant death match.

On a side note, I did create a custom edition of Halo 2 called Halo 2.5 which includes a fully customized mainmenu, but I ran into a few issues with loading default maps and a lack of interest from the community plus a complete lack of support from the devs.

If TMCC ever comes to PC it is very likely H2PC modding will continue from where we left off. Until then I would not expect anything new.
Well, I am aware that the H2EK is stripped down, but, i just thought with the H2MT Unlocked H2EK, it would be possible. Have you guys thought about taking a page out of the Morrowind modding scene's play book and creating a third party editor, using knowledge of the H2EK as a base, and perhaps replicating some of the missing functionality from whats available in the HEK?
 
Mar 20, 2013
535
1
0
42
Hawaii
www.h2mt.org
Gamertag
Kills Alone
#4
We have unlocked the H2EK further and taken it pretty far, we added our own apps to accomplish some missing features and created gigs of source files. But without the ability to make certain model types it is difficult to go much further.

Trust me when I say that no-one got further then we did, but I have lost interest in a game and company that does not encourage creativity.
 
May 10, 2014
4
0
1
#5
Oh well, but, I will still keep Halo 2 installed. The Cheat Engine makes the campaign a bit more fun by allowing access to skulls without having to find them all the time.
 
May 14, 2013
11
0
1
Gamertag
kirby 422
#6
austen1000 said:
Greetings. I have been wanting one custom map (one that replaces the intro "level") to satisfy all my needs outside of the campaign. With all of the knowledge I have on Halo 2 modding, I have come to the conclusion that something like this, https://www.youtube.com/watch?v=aVZA48- ... H6Bmi4CPyg , is what I need.
The way gamma passes variables is using player input arrays; back when I initially explained it to him, we had nothing preventing us from overflowing arrays.. Regardless, H2 does not have such input arrays; we cannot easily pass data between maps.

austen1000 said:
1. Would such a level even be possible in H2V?
No arrays, means no passing data between maps. Also, I don't believe the (map_name <string>) command runs anymore; it exists, but when I tried it, I dont believe I got any results. hs_doc directly states its a debug command, so maybe debugging has to be enabled, but unlike Halo 1, the developer_mode global variable doesn't exist, so while it may exist under a different name, I have yet to be able to force the scripts to preform debug actions.

austen1000 said:
3. Alternatively, would it be possible to merged the bsps of multiple multiplayer maps into one map? (not like merging them into one giant bsp. More like so each map can be accessed from the same level)
the switch_bsp command still exists in H2; its used for cinematics, when they need to change BSPs that weren't automatically triggered by players walking into trigger volumes. At this point, you'd have to worry about BSPs that overlap in spacial coordinates, removing weapons, scenery, corpses, etc, that is just for that one BSP.

austen1000 said:
4. Can it be made so Spartan and Elite bots can respawn?
I actually don't remember whether the respawn settings properly work in H2, but they should.

austen1000 said:
5. Can a fake scoring system be set up. Can't remember if it was demonstrated in this particular video or an older one.
Not particularly; when compiled, H2Tool strips a bunch of info. I dont know whether its from the scripts, or the scenario, but scripts compiled in H2Tool cannot refer to AI; if you do a ai_living_count on an encounter, it will always return 0 regardless of how many exist. Likewise, you cannot preform an ai_attach or any other AI related scripts. If you made the AI's death effect create a damage effect that is the only thing that can damage a certain material, you can then have something like a normal biped standing nearby with that material to die, and track that, but if you had two AI teams, you wouldn't know who the responsible person was, just that someone on so and so team died.
 

PNill

Lead Dev
Project Cartographer Staff
Oct 25, 2015
99
2
8
Gamertag
TDxPermaNulled
#7
Kirby, I think you should come around teamspeak some time soon part of project cartographer I'm working on is creating custom game types/variants dynamically via the scripting engine which I've started to reverse.

I can't say I can de-compile or re-compile scripts from maps but I have started to look at the engine it's self and how it processes each script command, I plan to export to python or lua and allow some of the actions I find to be executed externally I think some of your knowledge on this stuff would be helpful to have regarding map switching, or maybe replacing the weapon a player has or etc.

I've found script functions such as uint_enter_vehicle which I believe should allow me to put a player in a vehicle I wanted to use this for cat & mouse game types forcing players into vehicles and banning them from exiting.

It'd be nice to chat with you as well as killsalone about things further when I'm at this state, right now project cartographer went through a complete re-write and is actually stable with 5+ players and dedicated server so far and also accounts for NAT play, I plan to write about it a bit further on my blog soon.


All in all the point to this response is some of the stuff you're saying is not possible (passing input arrays from map to map) should be highly possible with added hooks to the engine's script processing functions allowing us to do even more, I also believe it may be possible if we modify the script compiler to produce op-codes further then those that exist we may even be able to create new script functions which you can then integrate into custom maps...

it should actually be possible to control just about anything given we have a way to do it from C/C++, this includes manipulating memory addresses based on the script input.