Page 1 of 2
The Improved Scripting Tutorial, v2 + New Tool
Posted: Fri Oct 20, 2006 5:47 pm
by Agent ME
I have made many additions onto the Soldier of Light's original scripting tutorial, with new information gathered by I and Soldier of Light himself.
The new texts in the tutorial include a new explanation of the Sibling-Child relationship concept, and info on many of the more advanced syntaxes, such as referencing globals, referencing other scripts, referencing AI by actor, squad, or platoon, constants, and maybe some other things I've missed.
There are also quite a few easy-to-read decompiled examples included to demonstrate many of these concepts. There is also a new updated value list and a complex command list with the data types of the command's possible arguments, courtesy of Soldier of Light.
Download
And info on my new tool -
http://files.halomods.com/viewtopic.php?p=645406#645406
Posted: Fri Oct 20, 2006 5:59 pm
by t_mann05
yesss great job Agent! now i hope i can understand how to use it

This will be very useful 10/10!
Posted: Fri Oct 20, 2006 6:46 pm
by ScottyGEE
I, like everyone else, I'd say appreciates such research and releasing said research...I still havn't had the time nor patience to look fully into it to ever try and help you guys out or anything but someday I would like to understand it for its potential uses...
Posted: Fri Oct 20, 2006 7:52 pm
by xXtR1Xm1Xx
Nice, I might just get in to scripting now.
Posted: Fri Oct 20, 2006 9:38 pm
by Shalted
You guys might want to wait a little bit, a *new* scripting tool may be coming soon, and it pwns my compiler

. All from a n00b at C#. (He knows who he is

)
Posted: Sat Oct 21, 2006 1:14 am
by Geo
I know who he is too
I really need to learn scripting, it baffles me but you guys seem to get excited when scripting news is released, so it must be good.
Posted: Sat Oct 21, 2006 7:47 am
by TheTyckoMan
Shalted wrote:You guys might want to wait a little bit, a *new* scripting tool may be coming soon, and it pwns my compiler

. All from a n00b at C#. (He knows who he is

)
Ah but that's like saying that when halo 2 came out the researchers were n00bs at it.... ;p
Posted: Sat Oct 21, 2006 7:53 am
by slayer410
Nothing I didn't know, but never the less, good job.

Posted: Sat Oct 21, 2006 10:08 am
by 0mfc0
Shalted wrote:You guys might want to wait a little bit, a *new* scripting tool may be coming soon, and it pwns my compiler

. All from a n00b at C#. (He knows who he is

)
He's not fully a n00b, He actually learned C# quite fast.
He never even asked me for help much.
And yes it does pwn Shalted compiler

Posted: Sat Oct 21, 2006 10:11 am
by -DeToX-
Nice job.
Posted: Sun Oct 22, 2006 5:40 pm
by Sergeant_Ten
nice...
two thumbs up!
Posted: Mon Oct 23, 2006 3:48 pm
by Agent ME
As soon as I get the documentation done, I'm going to release a tool I've been working on. It'll will allow people to script much faster, but is not a full-blown syntax compiler. It doesn't even inject the script into the map for you, do to its nature. It's web-based, programmed in PHP.
You'll still need to understand how to code through the hex, but this tool will take care of setting up a lot of the hex, including messing with the expression, sibling, and child pointers.
To compile a piece of code like this:
Code: Select all
(begin
(physics_set_gravity 0.5)
(ai_place {Squad 9})
)
You'd enter the following code into it:
Code: Select all
(
~0
; COMMENT LOL~!
(
~127 ; physics_set_gravity is command #127
r6,3F000000
)
(
~290
asquad,9
)
)
As an experienced scripter could see, there's one line per syntax chunk, and lines for closing parenthesis, and ~ indicates a command number. The "r" type takes two arguments, the data type, in this case 6 (real) and the value spot for the hex, (which the tool endian-swaps), and then later the line asquad,9 references Squad 9.
There's also built in support for all of the string constants in the advanced section of my tutorial built-in to the tool (to say ai_current_actor, you'd use the type c, so the line would be cai_current_actor).
It'll be out soon as I get the docs done. It won't be a replacement for full-blown compilers, but it'll be for the advanced scripters that need to do what the existing ones can't do.
EDIT: PS: Here's the code that the above script compiled to. Note that this is starting at Expression Pointer 74E3. That is configurable inside the tool to be what you want easily.
Code: Select all
74 E3 00 00 04 00 08 00 FF FF FF FF 00 00 00 00 02 00 75 E3 75 E3 00 00 02 00 09 00 03 00 76 E3 00 00 00 00 00 00 00 00 76 E3 7F 00 04 00 08 00 06 00 79 E3 00 00 00 00 04 00 77 E3 77 E3 7F 00 02 00 09 00 05 00 78 E3 00 00 00 00 00 00 00 00 78 E3 06 00 06 00 09 00 FF FF FF FF 00 00 00 00 00 00 00 3F 79 E3 22 01 04 00 08 00 FF FF FF FF 00 00 00 00 07 00 7A E3 7A E3 22 01 02 00 09 00 08 00 7B E3 00 00 00 00 00 00 00 00 7B E3 13 00 13 00 09 00 FF FF FF FF 00 00 00 00 09 00 00 00
Posted: Mon Oct 23, 2006 3:50 pm
by gamefreak249
You so smat, you maka' me hony

Posted: Mon Oct 23, 2006 4:59 pm
by 0mfc0
Trust me people just wait for the tool thats going to come out.
Posted: Mon Oct 23, 2006 5:28 pm
by Agent ME
It could be a long time until its out, and it might have glitches, or unfunctional parts.
The reason I started getting into the advanced parts of scripting was so I could make an advance myself, and help others due that too, rather than repeat the last 3 months of advances in scripting. Which was nothing, other than people waiting for a compiler, or a better compiler. Waiting for progress in others in modding didn't get me anywhere in those months, and that's not something I'm ever doing again. I don't mind if a better compiler is released a day after I make my tool public. I don't care if a better one is released a day before I make it public. I care that I'm making progress, and that others that are capable are able to learn something from it as soon as possible.
Posted: Mon Oct 23, 2006 10:35 pm
by Shalted
0mfc0 wrote:Shalted wrote:You guys might want to wait a little bit, a *new* scripting tool may be coming soon, and it pwns my compiler

. All from a n00b at C#. (He knows who he is

)
He's not fully a n00b, He actually learned C# quite fast.
He never even asked me for help much.
And yes it does pwn Shalted's compiler

Well, that was obviously a joke, but I guess if you can't understand a simple form of sarcasm, too bad for you....
AgentME, I'm sorry but that's a horrible way of writing scripts, LISP in it self is an easy to understand language, why overcomplicate a simple language? Also, I fear it sways away too much from Bungie's original design.
Posted: Tue Oct 24, 2006 1:36 pm
by Snave
It's good to know there are still smart people left in this community.
Posted: Tue Oct 24, 2006 2:30 pm
by DWells55
Dead link...
Posted: Tue Oct 24, 2006 2:32 pm
by Agent ME
Shalted wrote:AgentME, I'm sorry but that's a horrible way of writing scripts, LISP in it self is an easy to understand language, why overcomplicate a simple language? Also, I fear it sways away too much from Bungie's original design.
It's supposed to be easier to use than writing hex itself, which it obviously is (unless you're missing every button on your keyboard except for 0-9 and A-F). I think Bungie overcomplicated LISP with the hex code

[/half-sarcasm]
I'd much rather code in the low-level form rather than code in hex. Least I don't have to bother with any expression pointers and indexes.
The reason I made it that way was it was much easier and quicker to build that than a full string parser. I figured I'd let SoL make the real string parser, and anyone interested in scripting would just use your or my compiler until then.
DWells55 wrote:Dead link...
The FriHost servers seem to be bouncing on and off. Try every few minutes if it doesn't seem to be alive - it seems the downtime is a few minutes max usually. It works at the time of this edit.
Posted: Tue Oct 24, 2006 6:42 pm
by Shalted
Well, I'll give you that, but you'll have to admit, entering a decimal float value rather than representing it with it's hex equvilent is much more simple and efficient, good work none the less.
In regards to my compiler, I no longer have the will and/or hardware to research, develop or test anything related to scripting in Halo 2, so mine's dead and I have no plans on ressurecting it(Unless someone wants to buy me an Xbox), but that'll be redundant as soon as SoL's is released...