Firetrucks and You: A Five Part Series
Posted: 21 Jun 2014, 02:35
As part of supporting firetrucks I will be authoring a 5 part series of tutorials, each designed to help mappers of all experience levels make the best use they can out of the package and its contents.
Table of Contents:
Before I begin I'd also like to call attention to the official documentation page. It is a bit technical but a lot of quick questions can be answered there.
So without further ado, I present to you the first in the five part series:
Part 1: The Basics: So you want to be a firetrucks?
The purpose of these tutorials is to familiarize mappers with firetrucks. It might first be helpful to state what firetrucks is. If you follow along it should rather quickly teach mappers like you to use these tools (or that's the theory anyway). The best way to learn is by doing, but if you'd rather just read along I won't judge you.
That's actually a pretty crappy description. Here, I'll write a better one:
It isn't a mutator. It is a package for mappers to add to future projects. I've tried in many places to make the new actors as easy to use as possible, but I'm certainly not perfect (hence the need for this document).
It would also be beneficial if I establish some conventions within this document.
A name in this lovely color denotes a package, such as firetrucks or UnrealShare. This much less lovely color will be used to signify a class name such as ItemTrigger or SpecialEvent. The names of actor properties will be encased in double quotes, "like this ."
The first thing you will usually want to do when creating a firetrucks map is set the gametype to firetrucks.FiretrucksGame in the level properties. This can be done by selecting it in the actor browser or just by typing it in. This gametype will ensure that the proper player class and HUD class are used.
Now onto a few basic things. Probably the first thing you might notice if you play a level with the FiretrucksGame gametype and little else is that the player resembles FemaleOne pretty closely. This can be changed.
UnderTriggers there is a new class called PostBeginPlayTrigger. Go ahead and add one to your level and set the event field to something memorable. A PostBeginPlayTrigger is a trigger that fires its event immediately unless otherwise configured. Due to the unspecified nature of the trigger, there is no event instigator, which for the most part isn't something mappers need to care about, but in this case it will come up again later.
Next you will want to add a Identitron3000. This special type of event allows mappers to change the player's appearance and other properties when triggered. Go ahead and set the tag to that memorable something from earlier. Also, you will want to change the actor properties. Set "targetEveryone" to true. Normally the Identitron3000 can acquire its target based on the event instigator, but because of that non-specificity mentioned earlier, it has to be able to affect everyone. It isn't a big deal.
The Identitron3000 has a lot of properties allowing mappers to set each detail of the player's being if they so desire. For now, lets just set "copyFromPlayerConfig" to true. This means that when the level starts the players model preferences will be copied. You could also easily set a class of UnrealIPlayer to copy from, if you would rather the player character be something specific.
All of this might feel a little boiler-plate-ish, so lets add something a little more fun. Under Inventory->Pickups->FiretrucksPickup there is a class called Journal. Add one to the Level. This is the improved replacement for the translator.
Journal entries are a lot like translator entries, but with a few key exceptions. Journal entries are stored should the player decide to revisit them later. Journal entries are also capable of having titles and imagines. Journal entries also support line breaks through a special character sequence (The sequence is '#n' if you are interested. It isn't '\n' because it turns out there are a few very unhappy problems with traditional escape characters and unrealscript, but this is getting a little off topic). Due to these differences, journal entries have their own class to represent them called JournalEvent. Like the TranslatorEvent, they are configured by default to trigger if the player touches them, but they can also be triggered manually through their "tag" field like many other triggers.
A JournalEvent has a fair amount of properties pertaining to text and images. One property of note is the "entryType" property which controls the visual style of the entry. The default value, SET_PLAIN, is rather plain (as one might expect). Make you set the "EntryName" and "entryText" properties.
After that save your level, rebuild, and give it a try. Don't forget to add a PlayerStart! This concludes the first in a series of tutorials dedicated to the subtle nuances of firetrucks. I suspect a lot of stuff covered here is pretty basic for most of you, but I felt it best to start from the beginning.
The level so far: http://ebd.unrealsp.org/firetrucks/tutorial/firetrucks_tutorial1.zip
Table of Contents:
- Part 1: The Basics: So you want to be a firetrucks?
- Part 2: Dialog and Cutscenes: A Narrative is You! (Coming Soon)
- Part 3: Advanced Triggers in firetrucks: Trigger Warning. (Coming Soon-ish)
- Part 4: Finite State Machines: Can't Make This Part Fun Sorry (Coming Later)
- Part 5: Mouse Triggers: Myst is a Four Letter Word (Coming Eventually)
Before I begin I'd also like to call attention to the official documentation page. It is a bit technical but a lot of quick questions can be answered there.
So without further ado, I present to you the first in the five part series:
Part 1: The Basics: So you want to be a firetrucks?
The purpose of these tutorials is to familiarize mappers with firetrucks. It might first be helpful to state what firetrucks is. If you follow along it should rather quickly teach mappers like you to use these tools (or that's the theory anyway). The best way to learn is by doing, but if you'd rather just read along I won't judge you.
http://ebd.unrealsp.org/firetrucks/ wrote:firetrucks.u is the super cool toolkit for use in OldUnreal's Unreal 227 mod/patch thing.
That's actually a pretty crappy description. Here, I'll write a better one:
ebd wrote:firetrucks.u is a toolkit for use with OldUnreal's 227 Unreal patch that allows mappers to have strong narrative based gameplay. It adds support for dialog, cutscenes, more inventory interactivity, more interactivity in general, a more functional replacement for the translator, and many, many triggers that allow for complex puzzles and scripted sequences.
It isn't a mutator. It is a package for mappers to add to future projects. I've tried in many places to make the new actors as easy to use as possible, but I'm certainly not perfect (hence the need for this document).
It would also be beneficial if I establish some conventions within this document.
A name in this lovely color denotes a package, such as firetrucks or UnrealShare. This much less lovely color will be used to signify a class name such as ItemTrigger or SpecialEvent. The names of actor properties will be encased in double quotes, "like this ."
The first thing you will usually want to do when creating a firetrucks map is set the gametype to firetrucks.FiretrucksGame in the level properties. This can be done by selecting it in the actor browser or just by typing it in. This gametype will ensure that the proper player class and HUD class are used.
Now onto a few basic things. Probably the first thing you might notice if you play a level with the FiretrucksGame gametype and little else is that the player resembles FemaleOne pretty closely. This can be changed.
UnderTriggers there is a new class called PostBeginPlayTrigger. Go ahead and add one to your level and set the event field to something memorable. A PostBeginPlayTrigger is a trigger that fires its event immediately unless otherwise configured. Due to the unspecified nature of the trigger, there is no event instigator, which for the most part isn't something mappers need to care about, but in this case it will come up again later.
Next you will want to add a Identitron3000. This special type of event allows mappers to change the player's appearance and other properties when triggered. Go ahead and set the tag to that memorable something from earlier. Also, you will want to change the actor properties. Set "targetEveryone" to true. Normally the Identitron3000 can acquire its target based on the event instigator, but because of that non-specificity mentioned earlier, it has to be able to affect everyone. It isn't a big deal.
The Identitron3000 has a lot of properties allowing mappers to set each detail of the player's being if they so desire. For now, lets just set "copyFromPlayerConfig" to true. This means that when the level starts the players model preferences will be copied. You could also easily set a class of UnrealIPlayer to copy from, if you would rather the player character be something specific.
All of this might feel a little boiler-plate-ish, so lets add something a little more fun. Under Inventory->Pickups->FiretrucksPickup there is a class called Journal. Add one to the Level. This is the improved replacement for the translator.
Journal entries are a lot like translator entries, but with a few key exceptions. Journal entries are stored should the player decide to revisit them later. Journal entries are also capable of having titles and imagines. Journal entries also support line breaks through a special character sequence (The sequence is '#n' if you are interested. It isn't '\n' because it turns out there are a few very unhappy problems with traditional escape characters and unrealscript, but this is getting a little off topic). Due to these differences, journal entries have their own class to represent them called JournalEvent. Like the TranslatorEvent, they are configured by default to trigger if the player touches them, but they can also be triggered manually through their "tag" field like many other triggers.
A JournalEvent has a fair amount of properties pertaining to text and images. One property of note is the "entryType" property which controls the visual style of the entry. The default value, SET_PLAIN, is rather plain (as one might expect). Make you set the "EntryName" and "entryText" properties.
After that save your level, rebuild, and give it a try. Don't forget to add a PlayerStart! This concludes the first in a series of tutorials dedicated to the subtle nuances of firetrucks. I suspect a lot of stuff covered here is pretty basic for most of you, but I felt it best to start from the beginning.
The level so far: http://ebd.unrealsp.org/firetrucks/tutorial/firetrucks_tutorial1.zip