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

Home  Search Register  Login Member ListRecent Posts
  
 
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE General Discussion »[VIDEO]Scripting Tutorial

Author Topic: [VIDEO]Scripting Tutorial (31 messages, Page 1 of 1)
Moderators: Dennis

Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: Jan 30, 2015 01:55 AM    Msg. 1 of 31       
Would anyone watch a nearly two-hour long scripting video if it covered the basics?

I just got finished recording one, and had planned to release it all along, but I wanted to hear feedback on this idea.

I'm going to probably release it here within the next few hours or later today. I hope you find it useful.

Here's the readme / jist of the file.

Quote:
[VIDEO]Scripting tutorial
Author: Nickster5000

DOCUMENTS:
Video: https://www.youtube.com/watch?v=YVZHckgnq_4&feature=youtu.be
I want to note that I apologize for the funky resolution on the video.
The software I was using totally screwed it up, and I didn't realize it until I was editing. You can use these documents to follow along if you can't read what the video says: (These are the ones I used to make the video)

'Examples' PDF:
PDF: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/Examples.pdf
.ZIP: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/Examples.zip
This is the PDF I used as examples after I covered a certain topic. This is where I made the color coding / highlights the most. YOU NEED TO WATCH THE VIDEO IN ORDER TO UNDERSTAND THE MARKINGS.

'Overview' PDF:
PDF: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/Overview.pdf
.ZIP: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/Overview.zip
This is what I used to outline everything I wanted to talk about. I look at it periodically throughout the tutorial to make sure I was covering everything. If I missed anything, it will be in here.

'Lives system example' PDF:
PDF: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/Lives_system_example.pdf
.ZIP: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/Lives_system_example.zip
The chart I made representing how I wanted my lives system script to work. EXTREMELY USEFUL for outlining how I wanted my script to function.
LIVES SYSTEM SCRIPT:
.HSC: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/scripts.hsc
.ZIP: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/scripts.zip

'Lessons' PDF:
PDF: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/Lessons.pdf
.ZIP: https://dl.dropboxusercontent.com/u/24229476/scripting_tutorial/docs/Lessons.zip
This is what I was writing all over to explain everything. Defines all the terms. If you can't read my handwriting, refer to the "Overview" PDF for typed definitions.

I basically sat down for two hours (video length is 1 hour 57 minutes), made an outline of the things I wanted to talk about in this video and hammered it out with an example at the end. I used my tablet and utilized the highlighters and color-coding tools in onenote, so I think it turned out VERY well explanation wise. I am also releasing all of the documents that I used to read while I was making the tutorial, and everything I wrote on. It's nearly two hours, and I tried to make sure I explained everything the best I could. PLEASE, IF I MADE A MISTAKE, ERROR, OR SOMETHING THAT IS COMPLETELY INCORRECT, AS I AM NOT A MASTER SCRIPTER, PLEASE LET ME KNOW so I can fix the mistake. A few things I wanted to note:
-Watch it from start to finish. Don't skip around. There's things that I explained later than I should have when I was discussing a certain topic.
-Read my notes (the document 'outline' prior to watching the video, and follow along with the 'lesson' document.)
-Look into the example script I provided. Make sure it works. Revise it to make it how you want to work.
-Practice. Utilize the documents halomaps provide to get better.
-Sorry for any random pauses or anything unfitting. I did this in one take, and I don't have the time to edit the video. It will run smoother without any editing anyways :D. I stopped the recording twice within the first 20 minutes, but after that, I went non-stop.
-I was trying to explain more of the logic of how scripting works rather than specific commands being correct. It was hard for me to figure out on my own, so I wanted to create this so people can dive right in and get started faster.
-I made two mistakes. I have edited the "hsc" and the "lives system example" to reflect these changes. (The mistakes I made were: 1) forgot to subtract one life when you die and 2) I named the continuous script the same as the static void script. You cannot do that. Everything you name must be unique.

I hope you guys get something out of this. Thanks for watching! :D


Also, I want to add a note about continuous scripts that I learned after this tutorial:

(sleep -1) will pause the script, and using a (wake scriptname) will resume it starting with the line under (sleep -1), which can be very useful.

Edited by Nickster5000 on Jan 30, 2015 at 02:22 AM
Edited by Nickster5000 on Jan 30, 2015 at 02:27 AM
Edited by Nickster5000 on Jan 30, 2015 at 02:35 AM
Edited by Nickster5000 on Jan 30, 2015 at 03:42 AM
Edited by Nickster5000 on Jan 30, 2015 at 01:25 PM
Edited by Nickster5000 on Jan 30, 2015 at 01:31 PM
Edited by Nickster5000 on Oct 30, 2015 at 02:27 PM


savinpvtmike
Joined: Apr 18, 2010

It's heavily inserted


Posted: Jan 30, 2015 01:57 AM    Msg. 2 of 31       
Quote: --- Original message by: Nickster5000
Would anyone watch a nearly two-hour long scripting video if it covered the basics?

I just got finished recording one, and had planned to release it all along, but I wanted to hear feedback on this idea.

I'm going to probably release it here within the next few hours or later today. I hope you find it useful.

well i just watched this https://www.youtube.com/watch?v=3Jx5X3fG4bY so 2 hours plezz or in parts works fine
(btw i dont use blender)
Edited by savinpvtmike on Jan 30, 2015 at 01:58 AM


PopeAK49
Joined: Dec 18, 2013

I'm a living, breathing sentient tank!


Posted: Jan 30, 2015 02:26 AM    Msg. 3 of 31       
Awesome Nick. I don't have any particular use for scripting right now, but if I decide to work on single player stuff, I'll be looking at this stuff for help.


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: Jan 30, 2015 03:38 AM    Msg. 4 of 31       
Made two mistakes. Edited the lives system pdf and the .hsc to point out the mistakes, and I did fix the HSC to correct it.


SGT Arroyo
Joined: Jul 23, 2014

golden


Posted: Jan 30, 2015 07:36 AM    Msg. 5 of 31       
Quote: --- Original message by: Nickster5000
Made two mistakes. Edited the lives system pdf and the .hsc to point out the mistakes, and I did fix the HSC to correct it.
i wub u bow rank u des nuch i zo huppt mk noire pleape mal bsp du dotrial tencs :3


Super Flanker
Joined: Oct 5, 2012

The length of your life depends on my aim.


Posted: Jan 30, 2015 09:56 AM    Msg. 6 of 31       
Wow!

Thanks so much nickster!

Those who really want to learn will watch 10+ years of videos if it got them somewhere.


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: Jan 30, 2015 01:32 PM    Msg. 7 of 31       
Video's up. It's still processing. It may take some time, but here's the link:

https://www.youtube.com/watch?v=YVZHckgnq_4&feature=youtu.be

Link's in the original thread too.

omg it took 6 hours to render but only 5 minutes to upload lol


EmmanuelCD
Joined: Jan 7, 2015

Using fox avatar since 1893


Posted: Feb 1, 2015 04:36 PM    Msg. 8 of 31       
Can you upload the pdf to 4shared or Mega? Im having problems with dropbox


Super Flanker
Joined: Oct 5, 2012

The length of your life depends on my aim.


Posted: Feb 7, 2015 06:45 AM    Msg. 9 of 31       
Dropbox works fine for me. But I MEGA'd it for you anyway.

https://mega.co.nz/#!ZdcQXT6L!onjykT4Pt1I1RosQqq5i69nxxEH8ki501qbB26OJqiw

I downloaded nickster's vid tut and put that in there too.


EmmanuelCD
Joined: Jan 7, 2015

Using fox avatar since 1893


Posted: Feb 7, 2015 08:24 PM    Msg. 10 of 31       
thank you verry much flanker...i willl download it in the night.


Super Flanker
Joined: Oct 5, 2012

The length of your life depends on my aim.


Posted: Feb 8, 2015 07:17 AM    Msg. 11 of 31       
Your welcome, may the tags be with you.


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: Nov 11, 2015 02:21 AM    Msg. 12 of 31       
Hello folks,

I've actually been thinking about doing this for a long time, and I thought this would be the perfect thread to present this in, rather than start a whole new one...

But would anyone take the time to sit through and watch an ENTIRE COURSE that I would design (and probably consult other pros and stuff) in a series of videos, where you learn how to make mostly EVERY SINGLE PORTION of a MAP from START TO FINISH? Here's my proposal / outline, let me know what you guys think:

https://dl.dropboxusercontent.com/u/24229476/Halo%20Custom%20Edition%20Tutorial%20Course%20Layout.pdf

Basically, I'm just going to create one map with two purposes, from start to finish, from layout and gameplay ideas to final compilation, with fully developed levels. These levels would of course be released for you guys to play, and learn stuff from. Let me know what you think!

I'm thinking about creating it in the December 2015 - January 2016 time frame, when school is out for winter. Of course I'll work on Sector 09 on the same time too! :P
Edited by Nickster5000 on Nov 11, 2015 at 02:22 AM


Super Flanker
Joined: Oct 5, 2012

The length of your life depends on my aim.


Posted: Nov 11, 2015 03:27 PM    Msg. 13 of 31       
A word of advice. Don't wing your videos, plan methodically and relay as much input as possible even if you think it won't of much benefit to any one.




Edited by SS Flanker on Nov 11, 2015 at 03:31 PM


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: Nov 12, 2015 12:47 AM    Msg. 14 of 31       
-snip
Edited by Nickster5000 on Nov 12, 2015 at 12:48 AM


EmmanuelCD
Joined: Jan 7, 2015

Using fox avatar since 1893


Posted: Nov 12, 2015 08:02 AM    Msg. 15 of 31       
Wow this was almosst a year ago. Include things like the credit system, or lives system.
This vídeo helped me a lot un those days
Edited by EmmanuelCD on Nov 12, 2015 at 08:08 AM


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: Nov 12, 2015 01:30 PM    Msg. 16 of 31       
Quote: --- Original message by: EmmanuelCD

Wow this was almosst a year ago. Include things like the credit system, or lives system.
This vídeo helped me a lot un those days
Edited by EmmanuelCD on Nov 12, 2015 at 08:08 AM


Credit system is easy. It's just your method of displaying how many that you have is the difficult part.


EmmanuelCD
Joined: Jan 7, 2015

Using fox avatar since 1893


Posted: Nov 12, 2015 07:48 PM    Msg. 17 of 31       
That depends, Well i used the second slot of the hud timer and pause it. Just like in my last firefight.

I used this



(script continuous seting
(begin
(hud_set_timer_time lives credits)
(pause_hud_timer true)
)
)

(global short lives 10)

(global short credits 20)



DaLode
Joined: Oct 4, 2014

Ho ho hooooly doodle!


Posted: Nov 13, 2015 02:12 AM    Msg. 18 of 31       
Quote: --- Original message by: Nickster5000
I'm thinking about creating it in the December 2015 - January 2016 time frame, when school is out for winter. Of course I'll work on Sector 09 on the same time too! :P
Edited by Nickster5000 on Nov 11, 2015 at 02:22 AM


Just my view: don't waste your time off making a big tutorial series.
Honestly, all the information is out there already. Unless you want to specialise in teaching at some point in life, and consider this practise, invest your time into more important/fun things.


sparky
Joined: Jun 27, 2009


Posted: Nov 14, 2015 03:34 AM    Msg. 19 of 31       
I had a similar idea several times in the past. Whatever you want to contribute, I would be happy to include it as an article on The Halo Index.


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: Dec 5, 2016 02:55 AM    Msg. 20 of 31       
Hey guys,

Sorry for the bump of this very old topic, but it's relevant.

After taking C++ level 1 and getting a feel for real programming, I decided to revisit and look at the Halo Scripting Code, and all of the little details that I learned in my C++ class is emerging. It's like I have a completely different outlook on the halo scripting code.

With that being said, I think it is time for an update to this series. I am going to be making a 5-part video tutorial / notes series just like I did last time, but I plan on doing a better job explaining it, and attempt to gauge the viewer / learner / modder to the same vision that I have on this halo scripting code -- to fully understand how it works, how to take advantage of it, and make great projects using this tool. It took me 8 years to fully learn this "language" (if you will), plus a programming class to piece it together, but I hope to facilitate this process for the viewer / learner in this video series.

The reason why I bumped this thread is to ask any of you guys if there is something that seems ambiguous that I can go over in this video series. Maybe it can help you clarify a few misconceptions that you might have, and can come up with some Example ideas for me.

Here is a breakdown of how this series will look:
-Full Text read. Basically like a book, in that it covers the technical aspect behind the code.

-Part 1: Hello World
-Hand-written Notes
-Video to supplement notes.

-Part 2: Simple commands, data types
-Hand written Notes
-Video example in which creates a small 5-wave firefight project.

-Part 3: Decisions (if, cond, etc.)
-Hand Written Notes
-Video example (Not sure what to do here, will probably revisit the firefight script)

-Part 4: The Continuous Script
-Hand Written Notes
-Video Example (Not sure yet)

Part 5: static, dormant scripts
-Hand Written Notes
-Video Example (Not sure yet)

Project: Firefight
I will probably take the viewer through what it is like to create a firefight, OR: (spoiler)
-Revisiting Sector 09's script. I plan on re-writing the scripts and revising them to run cleaner, and add new gameplay features. I will probably record how the functions will work when I ultimately get them to work (and yes this implies an update for Sector 09, due no later than Jan 19th, 2017 (aka when I go back to college for the semester))

Thank you for your feedback guys!


MEGA_VKNG
Joined: Dec 23, 2013

Now retired from CE, enjoy DW! https://goo.gl/1Bup


Posted: Dec 5, 2016 03:14 AM    Msg. 21 of 31       
Looking forward to this. Sounds like a good way to organize what's a pretty daunting topic for most newbie modders.


Halonimator
Joined: Dec 15, 2014

Halo5gsucks.com


Posted: Mar 8, 2017 08:58 PM    Msg. 22 of 31       
wrong
Edited by Halonimator on Mar 8, 2017 at 09:02 PM


Super Flanker
Joined: Oct 5, 2012

The length of your life depends on my aim.


Posted: Mar 9, 2017 02:58 PM    Msg. 23 of 31       
Quote: --- Original message by: Halonimator

wrong
Edited by Halonimator on Mar 8, 2017 at 09:02 PM


Descriptive....


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: May 9, 2017 02:53 AM    Msg. 24 of 31       
I know this is quite a bump, but I have some progress on this.

I created a 32 - page tutorial that goes into detail about the concepts of scripting. I feel like many tutorials go in depth how to do certain things: A firefight, scripting a simple syncing door, a simple AI mission, and so on.

This tutorial does not focus on one particular thing: It is an introduction into the value types, the if statements, the cond statements, and script types (startup, dormant, static, static value-producing, continuous), and it dives into how these things work. The goal with this tutorial is to expose some halo scripters into some terminology that helps you really learn how to program, and gives the tools to the modder to develop whatever they want.

Take a read, and tell me what you think: https://www.dropbox.com/s/jw72kpvub9grfme/HaloScriptingTutorial.pdf?dl=1

I plan on revising it based on any errors that may pop up. I will also take requests if someone wants me to explain a certain thing (like loadouts, vectors in opensauce, etc).

Some links are missing:
Notepad++ - https://notepad-plus-plus.org/
HEK - You should have this :P
Halo Scripting Bible(s) (this is my personal favorite) - http://hce.halomaps.org/index.cfm?fid=1540


EmmanuelCD
Joined: Jan 7, 2015

Using fox avatar since 1893


Posted: May 9, 2017 10:50 PM    Msg. 25 of 31       
Nice update, I remember this is one of my firts posts 2 years ago.

I really appreciate the help since it help me understand concepts that I used to program in C++


DeadHamster
Joined: Jun 8, 2014


Posted: May 10, 2017 01:32 AM    Msg. 26 of 31       
Quote: Stub

Allegedly a "prototype" script.
Has one useful function to define a player directly (so you do not
have to reference the object_list to the player in every command
every time you try to look for the player)
(script stub unit player0
(unit (list_get (players) 0))
)


Not quite; Stub scripts operate the same way as Static scripts, however if a Static script with the same name is compiled alongside it, the Static script is kept and the Stub is left out.



CMT uses stub scripts for debugging purposes, to make a "prototype" script like this;



(script stub boolean random_chance_50
(print "UNFILLED STUB: random_chance_50")

false
)



Then later in the document or in another script they'll create a static script with the same name. It overwrites the stub, if there is no static script a debug message appears for the dev team letting them know they forgot to write a script.


(script static boolean random_chance_50
(> 0.50 (real_random_range 0 1))
)


I don't quite understand the benefit, but on a project as big as SPV3 with Kirby adding engine features through blamscript, I guess you want to just lay it all out beforehand.





I found a much better use for them; Child Scenarios;

When tool compiles Child Scenarios there is no hierarchy, there is no parent or child scenario. It makes one, single scenario file out of all of the pieces. Which means that a stub script in one scenario can be overridden by a static from another.

For example, I keep a scenario file only for scenery and vehicle placements in Mombasa. I can name the vehicles in that child scenario using a static script, then put stub scripts in the main scenario that reference dummy objects.



When the map is compiled, any script in the main scenario's .HSC that referenced the dummy objects will instead reference the vehicles from the child scenario's .HSC



/threadjack

Hope you appreciate the info.


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: May 10, 2017 01:46 AM    Msg. 27 of 31       
I do appreciate the info, and I explain the same "player" command using static. It is a terrible inconsistency that I need to address. I will add a stub section and mention what you placed in here. Thank you for your feedback!


Ling Ling Lang
Joined: Jul 26, 2016

Are you finding Ling Ling?


Posted: May 13, 2017 11:36 AM    Msg. 28 of 31       
This is a really good tutorial! I'm sure this'll help a lot of people become .hsc literate much faster than they would be otherwise.


Halonimator
Joined: Dec 15, 2014

Halo5gsucks.com


Posted: May 17, 2017 02:30 AM    Msg. 29 of 31       
links are dead, i will upload the pdf file next week.


DeadHamster
Joined: Jun 8, 2014


Posted: May 17, 2017 04:27 AM    Msg. 30 of 31       
I want to state because I just realized I didn't in the previous post; Your tutorial was informative and descriptive, definitely covers a nice progression of talent.


I know blamscript very well and was expecting to come across a few things I could add to or correct. The STUB section was the only one. You definitely know your stuff and even as an experienced scripter I walked away with a handful of new ideas or applications I hadn't thought of before.

Thank you very much for the writeup!


Nickster5000
Joined: Dec 11, 2010

Sector 09 RR: 2017


Posted: May 17, 2017 03:57 PM    Msg. 31 of 31       
Of course! I'm glad that it gave you new ideas!

 

 
Previous Older Thread    Next newer Thread





Time: Sat June 24, 2017 4:43 PM 515 ms.
A Halo Maps Website