WHAT IT IS:An online activity in which I try to teach TScript to whoever shows up in at least 1 hour a weeknight during July. We're going to start at the ultra-basic that will bore the pants off of intermediate users and try and work our way up.
WHEN IT IS:Every day at 10PM Eastern, 7PM Pacific.
If you're not sure about what that is in your own time zone, try deducing it using the
world clock site.
WHERE IT IS:http://stickam.com/mr_walletWHAT YOU NEED:
This could be as short as 1 hour a day, so if you're not set-up and ready to go at the start of "class", I'm going to ignore you.
- You need to be good with computers. I don't have time to tell you how to make a new folder.
- Technically you need only to watch the stream. However, this is going to suck for you big-time.
- In order to get anything done, you'll probably need a working copy of BL, with editor enabled.
On PC: right-click a blockland shortcut, select properties, and in the target field add this onto the end: space dash "mod" space "editor".
That's " -mod editor"
If hitting F11 in Blockland does something, you did it right. If you can't figure out how to add -mod editor to a shortcut, you're probably not good enough with computers to take this class. If you're afraid it's kinda messed up from what add-ons you've used, go for a fresh install. In addition to the stream, I'll also be hosting a server with the password "stickam". - I will not be paying attention to the server most of the time. Sometimes I'll use it to demonstrate something, but usually it will be ignored; that's where you yak it up all you want.
- In order to talk to me and ask me questions, use Stickam chat. Chat should be on-topic and without excess; I will quite readily kick out anyone spamming up the Stickam chat so that I can read useful chat more easily.
- In order to read example code, as well as show me your code so I can fix it, you'll need to give me your e-mail address so I can invite you to share some Google Docs. You can PM me here on the forums, or probably through Stickam chat. I hope to get everyone set up before the class proper begins.
- Scripting itself can be done in any text editor (in fact we demonstrated this on day 1), but the computer can help you a lot with this, so I recommend you get some kind of script editor. For those using Windows, I recommend, naturally, that you use exactly what I use: Crimson Editor with my custom syntax file (which replaces the C# syntax files - I'm assuming the people taking this class don't program a ton in C#.) You can download Crimson Editor from the official site, then get my syntax files here (just unzip into Crimson Editor/spec/).
- There's a sticky in the coding forum with an awesome reference; it doesn't have any blockland-specific stuff but it's a good thing to have around anyway. You should get it IMO.
Last time I had daily recaps to get people up to speed but I doubt I have the energy for that this week, so you'll just have to actually come to class.

post if you have any questions or problems.
Tentative syllabus (each item will not receive an equal amount of time):
the basics
what is scripting?
the console
script files
a little about the grammar of torquescript
a little bit about blockland-format add-ons
functions I
anatomy of a bare-bones function
on programming conventions (incl. whitespace)
variables
servercmd basics
datablocks and objects
datablocks vs. objects
how torque handles objects
dynamic fields
functions II
function calls and parameters
server/client communications
maths, strings, and assignment
conditionals
if/else if/else/switch/switch$
variables: local vs. global
returned values
while/for loops
arrays
object-oriented programming
inheritance
child/parent datablocks
packages and child/parent functions
object-oriented functions
ongoing self-study and debugging
tracking information with echo
using the editor for scripting
dumping
tracing
How to do cool stuff - whatever is desired by students that I can and feel like teaching. Suggestions:
weapons and practical applications of object-oriented functions
area searches and raycasts
bot basics
saving and loading information
GUI basics
object-oriented global variable alternatives: scriptobject and scriptgroup
game/website communications
In my mind I see it going kinda like this:
- Day 1: the basics, functions I
- Day 2: functions I, datablocks and objects, functions II
- Day 3: functions II
- Day 4: functions II, object-oriented programming
- Day 5: object-oriented programming, self-study/debugging
- Day 6: self-study/debugging, special interests
- Day 7: special interests
The above plan is very nebulous and subject to change without warning, simply depending on how fast we go. I like to think that I'm a pretty good teacher and most people understand things in 1 or 2 of my explanations, but if anything is particularly confusing, we'll just spend more time on it until you guys "get it"; the class will simply last as many days as it has to.