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.

Sign in to follow this  
Followers 0
  • entry
    1
  • comments
    4
  • views
    644

Scripts, Wumbo? Just Scripts.

Akarias

498 views

PLEASE NOTE:

 

Well chaos is pretty dead, after spending the last two weeks doing; to quote "Smashing my face into the screen" I've worked out the script layout and how the data within expressions links to other expressions and so forth. 

I'm just a bit salty that for years no one has said fuck all.

No explaining the data layout. No Explaining how expressions reference other expressions.

I'm pretty fucking mad. This information has been here the whole time, just kept inside peoples heads and on their machines.

 

This is not a tutorial or a rant, it's a blog. ;)

Dumping these random scripts into any map will not work.

(Unless you pump them through Blam3 Hammer, it will generate a prop expression for you)

Please take the time to familiarise yourself with the method behind manual script editing

(Go stare at the expressions block for 2 weeks like I did.)

 

I'm working on a guide:

 

 

 

WORKING ON:

  • Something to make everyone's life easy. (Eventually, unless zedd or someone from discord beats me to it :P)

Well hello there, came for some example scripts have we? You'll find any useful scripts that I make here and maybe even instructions on how to use/implement them.

I'll do my best to make some sense of this, it's really not that bad; Just tedious. You can actually poke script data so long as you don't change around memory address, then poke something like 0x8296B01F 1 Byte on Halo 3 to restart the scenario. All scenario changes do not apply without forcing a scenario restart.

 

Op Codes spreadsheet: Google Docs

^^^Warning filler content below^^^

https://youtu.be/4Aj8cwZQSUM

Forge_Halo, making script player0 into a startup gravity edit. Nice and basic but shows the editing process after initial script setup. Haven't even bothered testing this so... Note the first two entries don't(?) contain important information other than a repeat of the scripts block, something like that. Photoshop keeps taking a shite on my desktop so have OBS footage.

Bits & Bobs:

ALLWAYS MAKE EXPRESSION INDEX 0 JUST SOME RANDOM VALUE, EG A BOOL WITH TRUE. This means when you create a new script, without ANY changes at all it wont cause assembly to flip its shit out about an invalid expression type when you preview the new script header. EG:

Quote

CdWVMX.pngoP2qkA.png

.

So much more forgiving for when you first start.

For true or false values, EG Globals:

BOOL, set VALUE03    16777215 = FALSE = Int8 ExampleD
                                       33554431 = TRUE = Int8 ExampleA

VALUE00 & VALUE03 are identical most of the time but are displayed differently. If you think its garbage data do "view as" and compare the relevant values.

dhHbQQ.pngExpression indexes have a raw byte length of 0x18. (24decimal)

With this you can clearly see that there are 4 INVALID expressions: 0,1,2,3. We have the fourth selected and it contains valid bytes, you can use this copy entire scripts into other maps but of course you will need to fix the passThrough voids, index pointers and strings for them to be valid but that beats making it all from scratch. Try creating your own auto turrets by copying the snowbound auto turret script, creating the relevant "object names" & "trigger volumes".    

 

All functions with null="true" will still quote en quote compile, but wont actually do anything. This is dictated in the games .xex and we may be able to re-enable some functionality if the data for those functions still exists. I've only had a brief look into this.

 

GOTO 8203F0C8 ON TU for script HEADER data list

 

Info on point sets and refs for bespoke AI movement. Make sure too use "cs_enable_pathfinding_failsafe true" at the start of your script or you could have issues!

Quote

(script command_script void phantom_show_1
    (cs_enable_pathfinding_failsafe true)
    (cs_vehicle_speed 0.5)
    (cs_fly_to "phantom_path1/p0" 0.5)
)

sdGsaHD.png

SzRzpNa.png

 

 

 

SCRIPTS LIST:

  • [Link] Placeholder
  • cs_fly_to example: PasteBin
  • Complete fly to example, uses indexes 18-33 with some empty space in the middle. Points are set to Set 0 with index 0.
    Quote

    00 00 00 00 00 02 00 08 FF FF FF FF 00 00 00 00 00 00 00 13 00 00 00 00 00 00 00 00 00 02 00 09 00 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 71 00 04 00 08 00 00 00 17 00 00 00 00 00 00 00 15 08 B0 00 00 86 6D 02 71 00 02 00 09 00 00 00 16 00 00 00 00 00 00 00 00 08 B0 00 00 86 6E 00 05 00 05 00 09 FF FF FF FF 00 00 00 00 3F 80 00 00 08 B0 00 00 86 6F 02 69 00 04 00 08 00 00 00 1E 00 00 00 00 00 00 00 18 08 B1 00 00 86 70 02 69 00 02 00 09 00 00 00 19 00 00 00 00 00 00 00 00 08 B1 00 00 86 71 00 06 00 06 00 09 FF FF FF FF 00 00 00 00 3F 00 00 00 08 B1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 E9 00 04 00 08 00 00 FF FF 00 00 00 00 00 00 00 1F 00 02 00 00 00 00 01 E9 00 02 00 09 00 00 00 20 00 00 00 00 00 00 00 00 0D 24 00 00 00 00 00 1D 00 1D 00 09 00 00 00 21 00 00 00 01 00 00 00 00 0D 24 00 00 91 AA 00 06 00 06 00 09 FF FF FF FF 00 00 00 00 3F 00 00 00 0D 24 00 00

 

Go learn Halo CE scripting.

[Link] Scripting Guide by TCK

[Link] Kornman's BSL Bible

[Link] CE Script

 

 

 

 

 

 

 

 

 

 

 

 

 


Faultiplayer likes this


4 Comments


I can't wait until I start getting good at scripting stuff.

Edit: Oh shit a scripting tool of any sort!

Edited by Faultiplayer

Share this comment


Link to comment

I want Blam script! it's leaked already! RELEAAAAAAAAAAAAAAAAAAAAAAASE IT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Share this comment


Link to comment

Heres what I believe came from the H2EK, cant remember. But the explanations for SCRIPT NAMES are accurate with a few changes here and there, more arguments etc on some of the AI stuff. (OP CODES ARE WRONG WRONG WRONG!!!!!!!, compare to your relevant games op codes first.)

PastBin Link H2EK? Or H2x, who knows.

As for BH i'm taking the parser out and ramming it into a flowgraph editor, everything makes a hell of a lot more sense especially for newbies. Anyone can make scripts if its visual. :D

(Will likely only support Halo Online but I'm debating if there is any point at all when we can just edit the process on the fly with some of eldewrito's built in magic.

Share this comment


Link to comment

Added a example cs_fly_to to be used with air vehicles. it only has a few parts to it so its really easy to add/merge into an existing set of expressions. Just do a fixup on the indexs for your points and you should be good to go. Then just apply it to the squad that is flying the vehicle. I wont be doing anything public for Halo Online / Eldewrito, too many people will use it for cheating. :(

Edited by Akarias

Share this comment


Link to comment

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