Creating Your Own World For Arcanum
The Arcanum Modmaking Tutorial - AMTUT v1.1

Tutorial Version 1.1
Written By: DarkUnderlord
darkunderlord@hotmail.com


TABLE OF CONTENTS
 
GETTING TANGLED IN THE ROPES
Chapter 15    --    Learning to Talk - An Introduction to Dialog
Chapter 16    --    Trading, Repairing, Training and Drinking - Complex Dialog
Chapter 17    --    Hey you! That's my stuff! - Keys and Locking Things
Chapter 18    --    Trapdoors and Teleportation - Passage
Chapter 19    --    Writing Lessons - Notes, Books and Bookstands
Chapter 20    --    Ships, Bridges, Mountains and Elven Tree Cities - Facades
Chapter 21    --    Watch Your Step - Traps



CHAPTER 15
LEARNING TO TALK - AN INTRODUCTION TO DIALOG

When you're making a mod for Arcanum, there are two things that you will spend most of your time on, working out dialog and building your maps. Of the time you spend on those two things, dialog will take up about 80% of it. Why? Well, everything you want your NPC to say has to be planned and thought out before-hand. Sure, with some dialog you can just throw it together as you go, but if you want a deeply involved dialog with someone where the player is given a quest and certain conditions have to be met, than you will have to plan that dialog out, type it all up, test it, make sure it works and then move onto the next characters dialog. A process which can take a few days per NPC.

But before we get onto really complex dialog, let's start off with the basics. So, open WorldEd, load your village map and scroll over to the Dwarf Smithy in Building B. This is the little guy who we want to talk. Now, you would've already noticed that he can talk in Arcanum. When you click on him, random greetings float over his head. This happens by default. What we want is a nice meaty bit of dialog with some options to choose from. To do this means we have to make a script. So, open the 'SockMonkey ScriptMaker' (scrmaker.exe). You should see a blue screen pop up like the one in figure 15.1 below.
Figure 15.1
Figure 15.1 - The Arcanum, SockMonkey ScriptMaker

This is a screen that you will get used to because a lot of what you probably want to do with Arcanum resides in here. (It’s also a screen I’m getting sick of, the number of times I’ve had to re-open scripts to make a small change, then reload Arcanum just to find out there’s still something wrong…. It gets on my nerves.) A script is made up of two types of things, Actions and Conditions. Conditions are just that, if a certain condition is met (the player is dead, it is daytime etc…) then the script will then go on to perform some action. Actions are what the script does. (That made no sense did it? Trust me though, you’ll soon get the hang of it). So, we want a script that gives us some dialog. Click on ‘Line’ from the top menu and select ‘action’ (or press ‘a’ on the keyboard). A little drop-down menu should pop up like in Figure 15.2. This is a list of all the actions available to you.
Figure 15.2
Figure 15.2 - The action drop-down menu with ‘dialog (num)’ highlighted.

Scroll through the list until you find ‘dialog (num)’ like in Figure 15.2 above (all actions are listed alphabetically).Click on it and then click ‘ok’. (If you start typing ‘dia’ with the drop-down list selected, then the list will jump to the ‘dialog’ action) A new screen will pop up asking you to enter a number. Well, the simple dialog we will create starts off at the first line, line number 1. So type ‘1’ in the ‘Input an Integer’ and click ‘ok’. Your blue screen should now have this:
0. dialog 1

We now want to put in a kind of ‘end’ function to say the script is over. (I’m not entirely sure how this works, but it does, so don’t argue with me. All I do know is that it stops actions from running into each other in more complicated scripts.) Put in another action, this time choose ‘return and SKIP default’ from the drop-down list. Your script should now read like this:
0. dialog 1
1. return and SKIP default

We are almost finished. From the ‘File’ menu choose ‘properties’. In the Description text box we’ll type in a description for our script. Description names are limited to 38 characters so let’s keep it short and simple. Type in ‘Dialog - Dwarven Smithy’ and then click ‘ok’. This will remind us what we created this script for. Now we have to save the script. So, from ‘file’ choose ‘save’ or ‘save as’ and browse to the ‘Arcanum\modules\NAME OF MOD\scr\’ directory. (Make sure it is the right directory you’re saving it under. I made the mistake of saving a script under the wrong mod once and wondered why it never worked.) Now, the name of the script should start off with 5 numbers, a descriptive name, and then the ‘.scr’ extension. So for this script we’ll type in ‘00001Dwarven_Smithy.scr’ then click ‘save’. (Note: It’s important that all your scripts use numbers UNDER 1000. Using any numbers above 1000 seems to cause problems).

Now, we have a script which calls on a dialog file. The only problem we have now is, the dialog file doesn’t exist. So you have to create it. Open up NotePad (or whichever text editor you use). It’s time to make a speech, literally. Now, bear with me, in your text editor, put in 7 sets of curly brackets like so:
{}{}{}{}{}{}{}

In Arcanum, this is how you write dialog. The first set of curly brackets contains the line number of the dialog. We are writing line number 1 so put a ‘1’ inbetween the first pair of curly brackets like so:
{1}{}{}{}{}{}{}

The second pair of curly brackets contains the speech. Now, if it is a line of dialog spoken by an NPC it will be the line of speech spoken to a male character. If it is a line of dialog spoken by the character, it will be a normal option. (Doesn’t make sense? Just bear with me, as you get along a bit, you’ll start to understand) Now, you always start off with the NPC talking. So line 1 of our speech will be spoken by the NPC. In our case, that will be the Dwarven Smithy. So, let’s type in something that a Dwarven Smithy would say to a male character. Type in the following:
{1}{Hello sir. I am a Dwarven Smithy and you are male.}{}{}{}{}{}

NPC dialog can be quite long. So don’t be afraid of writing a paragraph of speech if you want when you eventually get around to making your own dialog. Now, the second pair of curly brackets for an NPC is what the NPC would say to a female character. Type the following:
{1}{ Hello sir. I am a Dwarven Smithy and you are male.} {Hello ma’am. I am a Dwarven Smithy and you are female.}{}{}{}{}

For the moment, the rest of the curly brackets will remain empty. So let’s review. We have written a line of dialog that will be spoken by an NPC. We have given the NPC two different things to say, one thing to a male, another thing to a female character. We now have to write a response line for the player to choose. So, put in another set of seven curly brackets below your first line like so:
{1}{ Hello sir. I am a Dwarven Smithy and you are male.} {Hello ma’am. I am a Dwarven Smithy and you are female.}{}{}{}{}
{}{}{}{}{}{}{}

Put a number ‘2’ in the first pair of curly brackets. This is line number 2 of our dialog. Now, this line of dialog will be spoken by the player so the second pair of curly brackets will have an option for speech in it. Type in the following:
{2}{That is correct sir. I am indeed male.}{}{}{}{}{}

(Pretty lame conversation huh?) Now, the third set of curly brackets is where you put in a gender condition. We know that this line should only be spoken by a male character, so we have to make it so that it can only be spoken by a male character. To do this, put a ‘1’ in the third set of curly brackets. Now, the fourth set of curly brackets is the intelligence factor. That is, how smart does the character have to be to speak this line? What we have written sounds kind of smart so let’s make it that this line can only be spoken by a player with an intelligence of 5 or above. So, put a ‘5’ inbetween the fourth set of curly brackets like so:
{2}{That is correct sir. I am indeed male.}{1}{5}{}{}{}

By doing this, we have made sure that not only will this line ONLY be seen by a male character, but it will only be seen by a male character with an intelligence of at least 5. Let’s continue shall we? For the moment leave the fifth pair of curly brackets empty. Just so you know, this is where you can put a whole range of conditions such as quest status, and other things. (Any condition that you put in there must be met in order for that dialog option to appear). Now the Sixth line number is the ‘goto’ line. That is, when the player chooses this line of dialog, what line of dialog will it link to? Put the number ‘100’ inbetween this pair of curly brackets. Leave the last pair of curly brackets empty. You should now have two lines that look like this:
{1}{ Hello sir. I am a Dwarven Smithy and you are male.}{Hello ma’am. I am a Dwarven Smithy and you are female.}{}{}{}{}
{2}{That is correct sir. I am indeed male.}{1}{5}{}{100}{}

Well, we only have one option so far. Let’s put in another option for a female character. Type the line below:
{3}{Why sir, you are very perceptive. I AM a female!}{0}{5}{}{200}{}

Note the number ‘3’ as the dialog line number, the number ‘0’ as the gender condition and the number ‘200’ as the goto line. We now have dialog for both a smart man and woman. But what about dumb people? Well, if you put a ‘-4’ in the intelligence pair of curly brackets, then that line will only be seen by a player whose intelligence is 4 or less. So, create the next line of dialog for a dumb male like so:
{4}{You rite! Me man!}{1}{-4}{}{150}{}

Do the same for a dumb woman like so:
{5}{Me woman! You smart!}{0}{-4}{}{250}{}

Now, we need one final line. A line that let’s us say something nice and quit dialog. This can be done with the ‘E:’ option. The ‘E:’ dialog option merely calls upon Arcanum to put in something appropriate to say so that this character can leave. Something like ‘Goodbye’ and so on. To do this, type in the line below:
{6}{E:}{}{1}{}{0}{}

First notice that this is line 6 of our dialog. Also notice how we have left the gender condition field empty? This means that this line will appear to characters of both gender. Notice the ‘1’ in intelligence? This means that any character will be able to say this line. Now, notice the ‘0’ in the goto field? This means that if this option is selected, dialog will end. Lastly, the ‘E:’ in the dialog will generate a line of dialog that is appropriate for the intelligence of the players’ character.

We now need to put in lines 100, 150, 200 and 250 so that the player can continue dialog. The ‘goto’ number should always jump to the next line that the NPC has to say. So again, you will need to put in 7 curly brackets with a line number in the first pair, dialog for a male character in the second pair and dialog for females in the third pair. If you know that only a male will get to this dialog, you can leave out the dialog between the third pair of brackets. However, if a female gets to that line, the female will not see any dialog at all! We are fairly confident that only a smart male will see line 100 (as determined by the condition checks in line 2) so type the following:
{100}{You are a very smart man!}{}{}{}{}{}

Notice how I left the third pair of brackets empty? No female is ever going to see this line, so why bother? Now, we need an option so that Arcanum will display the NPC line of dialog and then give us an option. Put in an exit option for now. Like so:
{101}{E:}{}{1}{}{0}{}

Notice how it’s the same as line 6 only the line number is 101? Do something similar for the rest of our lines like so:
{150}{Go away you stupid man!}{}{}{}{}{}
{151}{E:}{}{1}{}{0}{}

{200}{ }{You are a very smart woman!}{}{}{}{}
{201}{E:}{}{1}{}{0}{}

{250}{ }{You’re not a very bright woman!}{}{}{}{}
{251}{E:}{}{1}{}{0}{}

All up, your text file should look like this (if you want, just copy this below and paste it in. Although, it’s better if you type it all in yourself, I mean, I had to type it all…):
{1}{ Hello sir. I am a Dwarven Smithy and you are male.} {Hello ma'am. I am a Dwarven Smithy and you are female.}{}{}{}{}
{2}{That is correct sir. I am indeed male.}{1}{5}{}{100}{}
{3}{Why sir, you are very perceptive. I AM a female!}{0}{5}{}{200}{}
{4}{You rite! Me man!}{1}{-4}{}{150}{}
{5}{Me woman! You smart!}{0}{-4}{}{250}{}
{6}{E:}{}{1}{}{0}{}

{100}{You are a very smart man!}{}{}{}{}{}
{101}{E:}{}{1}{}{0}{}

{150}{Go away you stupid man!}{}{}{}{}{}
{151}{E:}{}{1}{}{0}{}

{200}{ }{You are a very smart woman!}{}{}{}{}
{201}{E:}{}{1}{}{0}{}

{250}{ }{You're not a very bright woman!}{}{}{}{}
{251}{E:}{}{1}{}{0}{}

Obviously, this sort of dialog won’t win you any literary prizes. But it will do for our simple dialog example. Now, you have to save the dialog file. Dialog must be saved in the ‘Arcanum\module\NAME OF MOD\dlg\’ directory of your mod. But… The dlg directory doesn’t exist yet so you’ll have to create it. You can do this from NotePad when you save your file, just browse to ‘Arcanum\modules\NAME OF MOD’ then create a ‘dlg’ directory and open it up. Once you’re in the right directory you have to save your file. Now, the file name of the dialog must be EXACTLY the same as the script that calls that dialog except with a ‘.dlg’ extension. In our example the script ‘00001Dwarven_Smithy.scr’ calls our dialog. So the file name will have to be ‘00001Dwarven_Smithy.dlg’ type that in and save the file. (Make sure it now has a ‘.dlg’ extension, sometimes notepad insists on saving your file with a ‘.txt’ on the end, if it does, rename the file from windows explorer or something)

Now, we have a script that calls some dialog and we have some dialog. The last thing you need to do is tie the script in with the right NPC in the game. So, back in WorldEd, choose the ‘select’ tool and ‘edit’ the Dwarven Smith in Building B. From the edit dialog pop up, select the ‘Scripts…’ button. A screenful of radio buttons should pop up like in Figure 15.3 below.
Figure 15.3
Figure 15.3 - The ‘Scripts…’ dialog box.

All of the radio buttons you see are all places that you can tie a script to. So, for example, let’s say that you wanted the NPC to talk as soon as the player highlighted it with the mouse. In that case, you would tie a script to the ‘examine’ option. (This would be good if the NPC said something like ‘What are you looking at?’) But… For our dialog, we want the NPC to talk when the player clicks on it. So, click on the ‘dialog’ radio button. When you click on ‘dialog’ a small black circle should appear indicating that it is currently selected (As in Figure 15.3 above). When it is selected, click in the ‘Script’ text box and type in the number ‘1’. Number ‘1’ is the number of our script (remember how we saved it as ‘00001Dwarven_Smithy.scr’? When tieing scripts in WorldEd, disregard any zeros in front of the number. So 00002 would be ‘2’ and so on…) You always use the number that you saved it under to reference your scripts. Now click ‘ok’. It should come up with an error saying “Can’t get default values for script. Using zeros.” This is because WorldEd can’t find your script. Want to know why? Because to get WorldEd to recognise your script, your script has to exist when you load WorldEd. So, you can do one of two things. Cancel out of all this, close WorldEd and re-open it, then try again and you won’t get the error message (probably the best way to go about this). Or, just click ‘ok’ to the warning, then click ‘ok’ again and it should be fine. (This is what I do, I honestly can’t be stuffed reloading WorldEd and I haven’t had any problems with it. Well, not yet anyway….) Whichever way you go, save your map and then load Arcanum.

For a complete explanation of all the ‘script attachment points’, check out ‘Eventscripts.doc’ (which is part of the Official Edit docs for Arcanum). In there, you will find a complete explanation of all the attachment points and what they do.

Once you’re in Arcanum with your module loaded, run into the Dwarven Smithy and have a chat with him. You will only get one option depending on your intelligence and sex. So, to thoroughly test this dialog, you will have to try it with four different characters. To drop the intelligence, try ‘feral child’ as a background for your character. (When you press ‘Esc’ and choose ‘quit game’, you will have to go to ‘options’ and select your module again, for some reason, Arcanum changes modules when you ’quit game’ ) The four characters are, a female with intelligence greater than 4 and again with intelligence 4 or lower. And a male with an intelligence greater than 4 and 4 or lower.

Now, notice how after all that typing, there is only one option to say? Notice that, depending on your character, you will only ever see one fourth of the dialog options? Imagine doing this with all your quests. Having separate dialog for smart and dumb, male and female. It’s probably the best thing to do, but, it will be a lot of typing and more importantly a lot of PLANNING AHEAD! This is why I say dialog will take up 80% of the time you spend on your module. Of course, you could always just make a simple dialog where, no matter the intelligence and sex, both dumb and smart, male and female options take you to the same line. But… That’s not really Arcanum now is it? (Here’s a tip, if you haven’t already, try playing the original game again as the opposite sex to what you played it as the first time. You will find a few differences. These differences all had to be typed up like you did just now.) When you’ve tested all four characters, quit Arcanum. It’s now time to create a more appropriate dialog that let’s our Smithy trade.



CHAPTER 16
TRADING, REPAIRING, TRAINING AND DRINKING - COMPLEX DIALOG

If you survived the previous chapter, congratulations. But dialog isn’t that easy. (Notice how I’ve devoted two chapters two it in this part and another chapter to it in part 4?) As you’ve probably realised, the dialog we’ve created is not right for a Smithy. A Smithy should be able to trade. So, open up the ‘00001Dwarven_Smithy.dlg’ file in a text editor and delete everything there. That’s right, delete it all! It’s time to make something a little bit better than that.

Now, what should a Dwarven Smithy say? Well, he should give us a nice greeting when we meet him. We should be able to ask him about his goods. We should be able to trade with him. We might be able to get him to repair some of our goods and lastly, we should be able to say goodbye. So, let’s start with the greeting. To generate a greeting we use ‘G:’. So, the first line of dialog for our Smithy should be:
{1}{G:}{G:}{}{}{}{}

This will generate a natural greeting for a male and female player based on the players race and class. Something like ‘hello’ or ‘I don’t like your kind’ (if you’re a half-orc) basically. Well, that’s our initial NPC greeting line done. We now need some player responses. So, for line 2, let’s ask him about his goods shall we? Type in something like this:
{2}{What kind of goods do you sell?}{}{5}{}{20}{}

A short, sharp and shiny question. (Note: The player can’t say much, so those dreams you have of responding with a brilliant speech are futile. The player only has enough room to say a few words, a small sentence and that’s it.} Now, this line will be available to both male and female characters with an intelligence of 5 or higher. We need a line for dumb people now, so type this:
{3}{W’at kinda stuff you sell?}{}{-4}{}{20}{}

Notice how the goto line is the same as for line 2. Basically, this line will lead to the same response, but it lets dumb characters say something appropriate for their intelligence. It is merely a role-playing tool so to speak. (It lets the player play a certain role, I.e. that of a dumb character.) Now, you can either type in line 20 now, so that it’s done and you don’t forget, or you can continue with the next option. (Personally, when it comes to goto line numbers, I always use ‘XXX’ until I have completed the NPC response to that part. Then, before I test my dialog, I do a ‘find - XXX’. Any XXX’s that come up are responses that I’ve forgotten about. I can then put in a line for an NPC response and then replace the XXX with the appropriate line number. Rather than having loose ends that I’ve forgotten about, or lines that goto the wrong NPC response because I altered something.) Well, for the moment, let’s continue with the next option, trading. Trading is very simple all you need is a ‘B:’ for the dialog like so:
{4}{B:}{}{1}{}{0}{}

This ‘B:’ will generate an appropriate line depending on the intelligence of the character. It will also load the trading screen and end dialog because of the ‘0’ in the goto brackets (If you want a full list of all the options like ‘G:’ and ‘B:’ that you can use in dialog, download the Official ‘editdocs.zip’ that you can download from my website and open up ‘GeneratedDialog.doc’. All of the codes are in there). Now, for the moment, we’ll leave the repair option out, so for now, just put in an exit option like so:
{5}{E:}{}{1}{}{0}{}

Now, we have our initial array of choices. We need to continue with line 20 however. Now, it might be a good time to explain why I called line 20, line 20. Well, if we had called it line 6, what would happen if we ever added in the option to repair later on? We would have to change all the line numbers around. That can truly be a bitch. (You think building’s a bitch? Try renumbering lines of dialog because you decided later on that you’d let an NPC give the character a quest.) So, by making it line 20, we have a bit of room to move. If we ever decide to give this NPC a quest, or some more dialog options, we are free to do so, without renumbering EVERY line. Now, line 20 is a line of NPC dialog where the Smithy talks about his wares. Type in something appropriate like so:
{20}{Well sir, I sell good quality wares. The best helmets, shields and weapons in all of Arcanum can be bought right here from me!}{Well ma’am, I sell good quality wares. The best helmets, shields and weapons in all of Arcanum can be bought right here from me!}{}{}{}{}

We now have to decide what options will appear after the NPC has told us about his wares. It’s probably a good idea to have an option to trade and exit from here. So, copy lines 4 and 5 and paste them below line 20. Then, renumber the lines appropriately. (So the pasted line 4 becomes line 21 and 5 becomes 22.) Your complete dialog should now look something like this:
{1}{G:}{G:}{}{}{}{}
{2}{What kind of goods do you sell?}{}{5}{}{20}{}
{3}{W'at kinda stuff you sell?}{}{-4}{}{20}{}
{4}{B:}{}{1}{}{0}{}
{5}{E:}{}{1}{}{0}{}

{20}{Well sir, I sell good quality wares. The best helmets, shields and weapons in all of Arcanum can be bought right here from me!}{Well ma'am, I sell good quality wares. The best helmets, shields and weapons in all of Arcanum can be bought right here from me!}{}{}{}{}
{21}{B:}{}{1}{}{0}{}
{22}{E:}{}{1}{}{0}{}

Let’s test it now shall we? We’ve already tied the script that calls this dialog to the Dwarven Smithy. So all we have to do is save the dialog file and then open Arcanum. Do that now and try out your dialog. It’s actually a good idea to test your dialog after doing a fair bit. Otherwise you may miss mistakes such as spelling errors, or later on, with more complex dialog, you could find all sorts of weird things happening because you forgot to put in ‘//’ comment marks or you have a wrong line number etc….)

Presumably, you would have noticed by now that our Dwarven Smithy doesn’t have much to trade. Namely, only 10 bullets. Do you remember how we put a chest in the bedroom of the Dwarven Smithy? Well, with the ‘select’ tool, right click the chest. From the menu that pops up, choose ‘Remember for Substitute’ near the bottom. Then, right-click the Dwarven Smithy and choose ‘Set Substitute Inventory’. Now, save your map. Load Arcanum and try trading with the Smithy now. You should find that he does indeed, have a very fine selection of goods.

Now, let’s make our Smithy capable of repairing some things for us. We’ll insert a new line 4 just after line 3. So, this new line 4 will be:
{4}{Can you repair something for me?}{}{5}{}{0}{ri}

Take note the of the ‘ri’ in the last pair of curly brackets. This will open the players inventory in repair mode. Now, put in a line below this for dumb characters like so:
{5}{Me need some stuff fixed.}{}{-4}{}{0}{ri}

Now, renumber the rest of the lines below this. So you end up with something like:
{2}{What kind of goods do you sell?}{}{5}{}{20}{}
{3}{W'at kinda stuff you sell?}{}{-4}{}{20}{}
{4}{Can you repair something for me?}{}{1}{}{0}{ri}
{5}{Me need some stuff fixed.}{}{-4}{}{0}{ri}
{6}{B:}{}{1}{}{0}{}
{7}{E:}{}{1}{}{0}{}

We’ll need to put this option under line 20 as well. So copy our new lines 4 and 5 and paste them just after line 21. So that they’re before exit and after barter. If you haven’t realised already, dialog options in Arcanum appear in order depending on the line numbers. Your new options after line 20 should look like so:
{21}{B:}{}{1}{}{0}{}
{22}{Can you repair something for me?}{}{5}{}{0}{ri}
{23}{Me need some stuff fixed.}{}{-4}{}{0}{ri}
{24}{E:}{}{1}{}{0}{}

Now, before we save the dialog and test it in Arcanum, we need to put something in that needs repairing. So, in WorldEd, put a Quality Axe near your start location. Then edit the axe, click on ‘Hit Points’ and make ‘Damage Taken’ = 17. Now edit the Dwarven Smithy. In Arcanum, how well the item is repaired will depend on the skill of the person repairing it. So click on ‘Skills’ and give our Dwarven Smithy a ‘Repair’ skill of 10 and make him an Expert. Save your map and try it out in Arcanum. First of all, pick up the axe and then, when you click on the dialog option, you should get the repair inventory. Click on the axe and the axe should be repaired. For a price of course! You now know how to make an NPC repair things. How about we have a drink to celebrate our achievement?

Back in WorldEd, let’s put in a Bar/Pub/Club/Watering Hole. Let’s make Building A our Bar. So, put in some scenery in the main room of Building A so that it looks like a place where people might have a quiet drink. (TIP: Now might be a good time to mention that you can copy items in WorldEd. With the ‘select’ tool, ‘Ctrl-click’ on the item you want to copy. Now, if you drag that item you should find that you are dragging a copy and that there is another one exactly like it underneath. Sometimes, the copy is placed nearby, depending on the item you’ve copied.) Put in some wooden tables from Environment, scenery, ‘wood small’ and a few chairs from ‘wood’. You can rotate some of the chairs (Namely ‘City Chairs 1 - 4’) by right-clicking them and choosing ‘rotate’ from the pop-up menu once you have them placed in your map. Piece together a counter from ‘wooden large’ from the ‘bc 1 - 8’ range. While you’re at it, hang a Bar Sign just outside the front door too. Once you have some scenery in the Bar, put in a Bartender (critters, Human, Human Noble). Now, give the man a Nice Suit to wear. (When you put the suit on him, it might look horrible, don’t worry, just drag the bartender around a bit and then back into place and it should look fine. It’s just like ‘object crap’ really.) Now, you might want to rotate the Bartender so that he faces a certain way too. Preferably so that he’s facing over the counter. Now, let’s make him talk!

Remember what we did for our Dwarven Smithy? Well, it’s time to do it again. Only this time, for another NPC. So, open up the SockMonkey Scriptmaker and we’ll make a new script. Put in a ‘Dialog’ action and a ‘Return and Skip’ default like so:
0. Dialog 1
1. Return and SKIP default

Now, from ‘file’ choose properties and give this script a description of ‘Dialog - Bartender’. Now save the script under the ‘Arcanum\modules\NAME OF MOD\scr\’ directory under the name of ‘00002Bartender.scr’. Now we need to create a corresponding dialog file. So, open up your text editor (NotePad). Now, this dialog is for a bartender. So what will our bartender say? Well, we’ll buy drinks from him. He also might be able to train us in some skills. Perhaps in gambling and persuasion? So, we know what we want, let’s make our first line of dialog a generated greeting like so:
{1}{G:}{G:}{}{}{}{}

Now, we’ll need two options so that we can ask for a drink with a high intelligence and a low intelligence. How about something like this:
{2}{I'd like a drink please.}{}{5}{}{20}{}
{3}{Me wan' drink.}{}{-4}{}{20}{}

We said we wanted our bartender to train us in some skills. To do so, we use the ‘T:’ dialog option, plus some numbers for the skills we would like to be trained in. According to the ‘GeneratedDialog.doc’ official file (‘editdocs.zip’ which you can download from my website), the numbers for Gambling and Persuasion are 8 and 11. So, to ask for training in gambling and persuasion from our bartender we need to add:
{4}{T:8, 11}{}{1}{}{40}{}

This line will generate some dialog that let’s us ask for training from the NPC. It will generally be something like ‘I’d like some training’ which will then bring up a list of the skills that we can get trained in. Dialog will then continue with line 40 (which we will type in later). Our last line will of course be an exit option like so:
{5}{E:}{}{1}{}{0}{}

When the player asks for a drink, the Bartender should say something nice and tell the player how much it will cost. Of course, if you’re making a different sort of bartender, he might insult the player and then say how much it will cost. Anyway, drinks usually cost 10 coin so:
{20}{Certainly sir. That will be 10 coin.}{No problem ma’am. That will be 10 coin.}{}{}{}{}

We now need to add in two lines so that a smart and dumb player can pay for the drink. Type in the following (or copy and paste it in, if you don’t want to type):
{21}{Here you go.}{}{5}{$$10}{30}{$$-10}
{22}{Uh... here.}{}{-4}{$$10}{30}{$$-10}

What’s different about the top two lines? Well, in the fifth set of curly brackets, there is ‘$$10’. As I said before, the fifth set of brackets is the test or condition field. In other words, the player must meet any conditions in here or he won’t be able to choose this line as a dialog option. (In actual fact, if the player doesn’t meet the conditions, then the player won’t even see the dialog option) So, what that means for us is, the player must have at least 10 coin on their person, or they won’t be able to see this line. Also, note the ‘$$-10’ in the last pair of curly brackets. This is the result field. By having this ‘money code’ in here, we are removing 10 coins from the player when they say this line. But what happens then if the player hasn’t got 10 coin? Well, that’s why we add in this line:
{23}{F:}{}{1}{}{0}{}

This is a ‘forget it’ line. What it does is generate a dialog option so the player can say something like ‘I’ve changed my mind’ or ‘Forget it.’ As you can see, it’s exactly the same as an exit line (except for the ‘F:’ of course). So if the player is dirt poor, then the the only line they will see is the ‘forget it’ line so they can exit the dialog. Our next line of dialog will now be the Bartender giving the player a drink:
{30}{Here you are sir... Enjoy. [He hands you a drink.]}{Here you are miss... Enjoy. [He hands you a drink.]}{}{}{}{}

Now, the next line is the key line for this dialog. What we need to do is make the player drunk. To make the player drunk means we have to cast a spell on the player which will temporarily reduce the players intelligence, perception and charisma while raising the players strength. So, we need to add an action to the ‘00002Bartender.scr’ script. So, in ScriptMaker, open your ‘00002Bartender.scr’ script. Click below the last line of the script so that the line beneath the last line is higlighted blue (or use the down arrows) as in figure 16.1 below.
Figure 16.1
Figure 16.1 - Note the blue highlight below the last line (line 1.)of our script.

Now, press ‘a’ and find the action ‘spells: cast spell (num) on (obj)’. Click ‘ok’. The next dialog box that pops up should ask for a number. Click in the text field below ‘Input an integer’ (An integer is a whole number like 1 or 2, it has no fractions. So, ‘1.3’ is not an integer) type ‘181’ and click ‘ok’. Spell 181 is the ‘drinking’ spell so to speak (It creates the desired ‘drunk’ effect). Now, the next dialog that pops up is essentially asking, “Who are we casting this spell on?”. Well… Which one do we choose? Well, we want to cast the spell on the ‘player’ but… I Use ‘triggerer’. Why? Well, I’m not sure what the difference is between ‘player’ and ‘triggerer’ but triggerer sounds like it might be better (perhaps for multiplayer?). Honestly, that’s the only reason why I use triggerer. So select ‘triggerer’ and click ‘ok’ (or press ‘enter’). You should now have the line:
2. spells: cast spell 181 on Triggerer

We now have a piece of (as yet unfinished) script that will make the player drunk. But how do we call this script? Well the lines of dialog 31 and 32, will call the script. Type the following in your dialog file:
{31}{Thank you. [You drink it down.]}{}{5}{}{-2}{}
{32}{Uh... T'anks. [You drink it down.]}{}{-4}{}{-2}{}

Notice the ‘-2’ in the goto field? By putting a minus in front of the number, we are telling the dialog that we want to go to a line in the script. Which line? Well, line 2. So what does line 2 of the script do? Line 2 should be the line that you just added to your script to cast a spell on the player and make them drunk! So when the player chooses this dialog option, the script will be called, spell 181 will be cast and…. We need some way to get back to the next line of dialog. First, we’ll create the next line of dialog which is just the Bartender asking if the player wants anything else like so:
{40}{Can I get you anything else, sir?}{Can I get you anything else, miss?}{}{}{}{}

Now that we have a line to goto, go back to the ScriptMaker and put in this action:
3. dialog 40

Just like ‘dialog 1’ this line will call the dialog file but this time it will call line 40. We now need to add ‘return and SKIP default’ to the end of our script otherwise we’ll have all sorts of problems. Your completed script should now look like this:
0. dialog 1
1. return and SKIP default
2. spells: cast spell 181 on triggerer
3. dialog 40
4. return and SKIP default

Make sure you save your dialog file and then close the ScriptMaker. Now, back to your bartender dialog file. We need just a few more lines of dialog… We want the player to be able to ask for another drink, also, remember that when the player asks for training, they will also see these lines of dialog. So having something like ‘Another drink, please’ might sound okay, but what if the player never bought a drink and instead asked for training? What we could do is have the training ‘goto’ another line, say line 50, which says something appropriate about being trained but instead, let’s just type in something for both smart and dumb players that fits in like so:
{41}{Yes, a drink, please.}{}{5}{}{20}{}
{42}{Yup! Me wan' drink.}{}{-4}{}{20}{}

Notice how this time we are going to line 20? This means the dialog can keep going around and around and around (provided the player keeps buying drinks). We also need to put in a line for training again. So copy line 4 and paste it after line 42 and renumber it like so:
{43}{T:8, 11}{}{1}{}{40}{}

Notice how line 43 points back to line 40? Again, another loop that will keep going around if the player keeps asking for training. There’s one final thing now…. An exit line! With the exit line added, your entire dialog should look like this:
{1}{G:}{G:}{}{}{}{}
{2}{I'd like a drink please.}{}{5}{}{20}{}
{3}{Me wan' drink.}{}{-4}{}{20}{}
{4}{T:8, 11}{}{1}{}{40}{}
{5}{E:}{}{1}{}{0}{}

{20}{Certainly sir. That will be 10 coin.}{No problem ma'am. That will be 10 coin.}{}{}{}{}
{21}{Here you go.}{}{5}{$$10}{30}{$$-10}
{22}{Uh... here.}{}{-4}{$$10}{30}{$$-10}
{23}{F:}{}{1}{}{0}{}

{30}{Here you are sir... Enjoy. [He hands you a drink.]}{Here you are miss... Enjoy. [He hands you a drink.]}{}{}{}{}
{31}{Thank you. [You drink it down.]}{}{5}{}{-2}{}
{32}{Uh... T'anks. [You drink it down.]}{}{-4}{}{-2}{}

{40}{Can I get you anything else, sir?}{Can I get you anything else, miss?}{}{}{}{}
{41}{Yes, a drink, please.}{}{5}{}{20}{}
{42}{Yup! Me wan' drink.}{}{-4}{}{20}{}
{43}{T:8, 11}{}{1}{}{40}{}
{44}{E:}{}{1}{}{0}{}

That’s it, we’ve finished. So let’s try out our Bartender dialog shall we? Save your dialog file in the ‘Arcanum\modules\NAME OF MOD\dlg\’ directory under the name ‘00002Bartender.dlg’ which should be exactly what you called the script file, except for the ‘.dlg’ extension of course. Now, in WorldEd, edit your Bartender and tie script number 2 to his dialog radio button. The same way we did for the Dwarven Smithy (You will probably get the same error message, but you can ignore just like before). All you have to do now is save your map and have a chat with the Bartender. Except this time, instead of picking a character, create your own and put some points into Persuasion and Gambling. That way, you will be able to get apprentice training in both skills. Now, how about drinks all round?

Make sure that drinking makes you sufficiently incapacitated and that you are indeed losing money. Also, check that being trained has indeed made you an apprentice in persuasion and gambling. If it has, than it’s all worked like a charm! (If it hasn’t worked, check to make sure everything is as I said. Try copying and pasting the full dialog from this tutorial into your dialog. Make sure you’ve given the files the right names and numbers. Also make sure you’ve tied the right script number at the right place.)

It might be appropriate to mention at this point that there is a program available that will help you create dialog. It’s free (made by an Arcanum fan) and all you have to do is download it from: http://www.labyrinth.net.au/~adsoft/arcanum/

Personally though, I’ve never had any problems creating dialog with a text editor as I find I can jump quickly to any line I want and I also find a lot of spelling mistakes because I can see most lines of dialog all at once. That said however, this program is good because you don’t have to manually number lines and it will even re-number lines automatically for you if you add in any extra dialog options. It’s up to you as to whether you use it or not but I won’t be using it in this tutorial when I get onto quests and more advanced dialog (That might be because I want you to suffer the horrible pain of hand-writing dialog…. Muahahahah!!!).

In the next chapter, we’ll make NPC’s sleep at night and make them care when you try to steal their things. We’ll even put in some keys and lock some windows, doors and chests!



CHAPTER 17
HEY YOU! THAT'S MY STUFF! - KEYS AND LOCKING THINGS

As I’m sure you already know, the Dwarven Smithy’s trade goods are in a chest that is unlocked. Now, we can’t have this can we? NPC’s must learn to lock their doors and look after their stuff! So, let’s teach them how.

In WorldEd scroll over to the Dwarven Smithy’s chest, right-click and edit it. Now you may have already noticed the flags on the right-hand side of this edit screen like in Figure 17.1.
Figure 17.1
Figure 17.1 - The flags down the right-hand side.

Notice how ‘Locked’ and ‘Never Locked’ are ticked? ‘Never Locked’ over-rides ‘Locked’ and so as a result, our chest is unlocked. So, click in the ‘Never Locked’ box to remove the tick. Your chest will now be locked. Now, we want to change the difficulty with which this chest can be lock-picked. Click in the ‘Lock Difficulty’ text area. As a general rule, the higher the number, the harder the lock is to pick. I’m not exactly sure how high a ‘really hard’ lock would be because you can actually type in a number anywhere from -32768 to 32767. From my own experience, I’ve found that a value of ‘100’ makes a reasonably difficult lock (Master Pickpocket level). A value of 50 a medium lock and a lock of 10 an easy lock. So, let’s put in a value of ‘25’ to make it an easy, but not too easy, lock. Now do the same to the Smithy’s bedroom door. Right-click, ‘edit’, untick ‘Never Locked’ and give it a ‘Lock Difficulty’ of 10.

Let’s test this out. Save your map, load Arcanum and start a new character with a background that gives you a high dexterity. Then put all your points into lockpicking and dexterity. You should be able to get lockpicking up half-way. Now, make sure you buy some lockpicks and then run in and pick the locks!

After a few attempts, (and maybe a ‘quit game’ and start again) you should have been able to pick the locks. At this point, I’m sure you noticed how the Dwarven Smithy didn’t give a damn about you picking at his stuff. So, let’s make him care. Quit Arcanum and load up WorldEd. Now, caring is easy. Just right-click the NPC you want to care, in this case, the Dwarven Smithy, and choose ‘Remember for Notify’. Now, right-click the chest and select ‘Set Notify NPC’. While you’re at it, right-click the door and choose ‘Notify NPC’. That’s it, all done.

Now let’s lock the front doors at night shall we? Right-click the front doors to the Dwarven Smithys’ store. Choose ‘edit’ then remove the tick from ‘Never Locked’ and put a tick in ‘Locked Night’ and click ‘ok’. If you have double doors, you will have to do the same to the other door a well. The doors will now automatically lock at night and unlock during the day.

While we’re here, let’s muck around with the NPC a bit more. In fact, let’s make him go to bed at night. To do this, we have to set day and night standpoints. If you’ve already had problems with your NPC’s not staying where you put them, this could be why. A day standpoint is where you want your NPC to stand during daylight hours. If your NPC is a trader then this would be in the store it owns. A night standpoint is where your NPC spends the night. If this is a bed, then your NPC will go to sleep for the night. Well, let’s start off by making our dwarf go to bed at night. Do you see the red square under the bed like in Figure 17.2 below?
Figure 17.2
Figure 17.2 - The bed and its’ blocking tile. (Er.. just ignore the sword, that’s actually on a wall)

This is it’s blocking tile. It’s kind of like the place where the bed ‘is’. Sure, the bed might look like it’s a little to the left, or right or where-ever, but as far as Arcanum’s concerned, that red-square is the location of the bed. Now, what you have to do is drag your NPC (with the ‘select’ tool) over that red square. What you might find is the NPC disappears underneath the bed. If so, just move the bed a little until you can see your NPC like in figure 17.3 below.
Figure 17.3
Figure 17.3 - The Dwarven Smithy dragged over the beds’ blocking tile.

So, to set this location as the NPC’s Night Stand, right-click the NPC and choose ‘Night Stand’. That’s all there is to it really. Now, drag your NPC to the position that you want him to stand in during the day. Right-click it and select ‘Day Stand’. Now, if you moved the bed, go back to it and check that its’ blocking tile is where you set the night stand. If not (you moved the bed too much) then move the bed back into position so that the red blocking tile is where the NPCs’ night stand is set. Otherwise, the NPC won’t go to bed at night.

Now let’s test it to make sure it worked. Save your map, open up Arcanum, run into the Smithys’ store and he should be standing in his ‘day’ position. Sleep until evening and then sleep for another four hours. You should see your NPC walk towards his bedroom, open his locked door and go to bed. Now check out the front doors. They should be locked. Don’t worry, you can walk through them if you’re on the inside of the store. If you go outside though, you won’t be able to come back in until morning. So, sleep until morning. Your NPC should wake-up and walk back into his store. Now, try picking the lock on his bedroom door. He should kick up a fuss and attack you if you keep at it.

All that was pretty neat huh? All you had to do was right-click a few things. Easy isn’t it? Well (this is the part where I tell you the catch), the catch is you may have windows in the store. Now those windows are probably unlocked (depending on the type of window, some of them may be jammed. If a window is jammed, then don’t worry about it). Now if you have some unlocked windows, it’s a good idea to lock them. After all, there’s no point in locking the door if the player can just get in through the window is there? Of course, this is the hard bit. You have to right-click and ‘edit’ every window. So if you have fifty windows, you have to right-click, choose ‘edit’, remove the tick from never locked and click ‘ok’, and you have to do it fifty times. It’s not that much fun to do but it’s kind of important. So do that now to any unlocked windows. If you have some windows that have ‘jammed’ ticked, just leave them alone.

Now that you’ve locked or jammed all the windows, let’s put in a key to unlock the Smithy’s bedroom door. Of course, you would have noticed that the NPC just walked through the locked door when it was bedtime even though he doesn’t have a key. (You can stop this if you tick ‘Always Locked’ in the flags of the bedroom door. If you do, the NPC will just stand in its ‘day’ standpoint all the time because it can’t get to its nightstand point.) However, to get through that door you will need a key for it. So, click the ‘items’ tab and click the ‘key’ button. Click ‘select’ and then click ‘ok’. The art picture of the key should have changed in the black square on the left-hand side menu. Now click on the map outside the front doors of the Smithys’. There should now be a key on the ground.

Now we have to make that key open the Smithys’ bedroom door. How do we do that? Well, we have to edit a file, the key and the door. So, first of all, open up NotePad and find the ‘Arcanum\modules\My First Mod\mes’ directory. In there is a file called ‘gamekey.mes’. Open it up. This is the file where you add the Key ID and description of any keys you make. The note at the start says that 0 and 1 are reserved so we’ll make ours Key ID 2. Add the following line to the end of your file:
{2}{Key to Smithys’ Bedroom}

Now, notice the number 2 in the first pair of curly brackets? That is this keys’ ID number. The name inbetween the second pair of curly brackets is the name that will appear in Arcanum as the ID for our key. The name of a key can be no longer than 32 letters/characters. So you only have a limited amount of space for your keys’ name. Save the ‘gamekey.mes’ file and close NotePad (or whichever simple text editor you use). Go back into WorldEd, find your key, right-click and ‘edit’ it. Down the bottom of the dialog box that has just popped up should be a field called ‘Key ID’. Put a number 2 in there like in Figure 17.4 below.
Figure 17.4
Figure 17.4 - the ‘Key ID’ field of our key is set to ‘2’

Now click ‘ok’. Right-click and edit the door which this key is supposed to open. In our case, the Dwarven Smithys’ bedroom door. Change the doors’ Key ID to the number 2 and click ‘ok’. We have now tied the key to its description/name and we have tied the door to the key. Save your map and load Arcanum. Pick up the key and try and open the door. Now drop the key from your inventory and try and open the door. See, the key works!

Back in WorldEd, drag your key over the Dwarven Smithy, hold down shift and let go. Your key should now be in the inventory of the Dwarven Smithy. So, if the player wants, they can now pick-pocket the Dwarven Smithy and get into his bedroom! If you like, you can either put in a separate key to unlock the Dwarven Smithys’ chest (if so, you’ll have to follow the same procedure again only giving your key a Key ID of ‘3’ and giving it an appropriate name in the ‘gamekey.mes’ file), or you can simply tie the chest to the same key by making ‘2’ as the chests’ Key ID.

You should now be able to use the same procedures to lock/unlock/jam any windows, doors and chests that you choose. You should also be able to set NPC day and night standpoints, make NPC’s go to bed at night, make NPCs’ care about their things and put in your own keys! In the next chapter we’ll put in a rat filled cellar and link it to a trapdoor using a script.



CHAPTER 18
TRAPDOORS AND TELEPORTATION - PASSAGES

Well, let’s create a rat-filled cellar. We’ll put it in Building A which has now become the local bar. So, in WorldEd, scroll over to the bar. You should have a bedroom, a main bar/seating area and an empty back room. Let’s put our access to the cellar in the back room. Now, what kind of passage do we want? Do we want some stairs leading down? Or a trapdoor? Let’s make it a trapdoor. So, click on the ‘environment’ tab, click the ‘scenery’ button and from the drop-down menu find ‘wood’. Now click ‘edit’ and scroll across until you find an appropriate trapdoor (there should be four different ones). Pick the one that you like and put it in the room. Now, while you’re at it, feel free to fill the room with all sorts of appropriate things. Maybe some barrels, a few extra chairs and a few other miscellaneous things.

Once your satisfied with your back room, it’s time to build the cellar. To build the cellar, we’ll make it as a new separate map. To do this, first of all, save your current map. Then, click ‘file’ and select ‘new’. The cellar we make will only be a small underground cellar so choose ‘water’ as the ‘base terrain’ and make the map width ‘1’ and height ‘1’. Now click ‘ok’. You should be presented with a screen full of red with a few bits of blue poking out. All that red is only a whole lot of blocking tiles. Indicating that the player can’t walk there. That’s alright, it’s water, the player’s not supposed to walk there. Now, right-click the map, choose ‘Fill with tile type…’, in the pop-up dialog box scroll across and click on ‘Blkbse0a’. Your map should now be red with black bits poking through. Before we go on, let’s save the map. Click on ‘save’. WorldEd should now ask you to enter a name for the map. Type ‘bar_cellar’ in the ‘Enter map name’ text field and click ‘ok’. You have now created a new map under your existing module.

Now, we want to build a cellar, so, go into top-down view, zoom out all the way (small map isn’t it?) and from the ‘build’ tab click on the ‘build’ button. Find something appropriate for a cellar. I’d suggest ’44 Grey Brick-Prison Interior’. Now build a cellar. Don’t go too crazy and build a huge cellar, it’s only a small bar after all. Just make sure that you build something that has an entry room. The entry room with have a ladder that will link back up to the bar. The entry room should have a solid metal door leading from it into the rest of the cellar. Once you have your entry room, build the rest of the map so that is looks something like a cellar. A place where barrels of wine would be held along with a few rats. Make sure that one of the other rooms you build has a solid metal door. We will put a safe in here. (We’ll eventually use it in a quest later on…)

Once you have your cellar built, put in some lights and some scenery. Make sure you put in a few wine barrels and some crates. Also, put a ladder in the entry room. There’s a ladder under ‘wood’ and there’s also one under ‘passages’ in the ‘scenery’ drop-down menu. Choose the one that you prefer. Also, put a safe in the room with the metal door. Use the safe from the ’containers’ button, not the safe from the ‘scenery’ button. We’ll need to be able to open the safe. There’s one last thing to do before we make the script that will link this cellar to the bar above. We said that we wanted a rat-filled cellar right? Well, put in some rats. From the ‘critters’ tab, choose the ‘critters’ button. From the ‘animals’ drop-down menu, click ‘select’ and scroll across until you find ‘Sewer Rat’. Just put a few in. Sewer rats are level 1 by default so they should be pretty weak and easy to kill but we don’t want to overwhelm the player. Once you have some rats, put a ‘Prodigious Vermin’ in the room with the safe. This will be a tough rat that the player will have to kill before getting to the safe. Now save your cellar map.

Okay, so we have a cellar. We now need to make it so that the player can get to the cellar using the trapdoor from the bar. So, what we need to do is create a script that ‘teleports’ the player. Before we do this, we need to add your cellar map to the end of ‘maplist.mes’. So open ‘MapList.mes’ from the ‘Arcanum\modules\NAME OF MOD\rules\’ directory. The last line in the file should be the one you wrote in Part 1 of AMTUT. What we need to do is create a new map beneath that. Type in the following:
{5002}{bar_cellar, 149, 154, , WorldMap: 0}

Now note how we have numbered this map as number ‘5002’. The name (before the first comma) should be EXACTLY the same name as what you saved your map as. The next co-ordinates don’t really matter unless it is the starting map. Of course, this isn’t the starting map, so the co-ordinates won’t be of concern. Pay special attention to how there is nothing between the third and fourth commas. We have left out a map type deliberately. If you try and put one in, it creates problems. Now ‘WoldMap: 0’ I’m not sure what it does (yet) so we’ll just leave it there. Once you’ve added that line, save ‘MapList.mes’.

Open up the ‘SockMonkey ScriptMaker’. We’ll now create a script that will teleport the player to the cellar when they click on the trapdoor. The first action of your script should be ‘teleport (obj) to map (num) at X:(num) Y:(num)’. In order of how they will appear after you click ‘ok’ you will want ‘triggerer’, so the script will teleport the person who triggers this script (the player). Next we want ‘5002’. Remember the number of the map when you added it to ‘MapList.mes’? This is the number you use. The next number you want will be the X co-ordinates. In other words, this script is teleporting the ‘triggerer’ to map number ‘5002’ and will teleport to the location ‘X, Y’. So what is ‘X’? Well, back in WorldEd (alt-tab if necessary. It is windows after all so feel free to ‘multi-task’) move your mouse over the cellar map towards a location that is near the ladder. Take note of the location numbers at the bottom left of the screen. Back in ‘ScriptMaker’ type in the first number (as ‘X’) then click ‘ok’ and then type in the second number (as ‘Y’). You should have something similar (but note quite the same as) Figure 18.1 below.
Figure 18.1
Figure 18.1 - The first line of our teleport script.

Now you need to add an ‘end’ action. So, add the action ‘Return and RUN default’. Make sure it is ‘RUN default’ and not ‘SKIP default’ otherwise I don’t think your script will work (not sure on that, but I’m pretty sure that it has to be RUN). Your script should look like Figure 18.2 below.
Figure 18.2
Figure 18.2 - My ‘500Teleport_bar2cellar.scr’ teleport script.

Before we save the script, choose ‘file à properties’ and put in a description like ‘Teleport - Bar to Cellar’. Now choose ‘file à save’ and save your script under the ‘Arcanum\modules\NAME OF MOD\scr\’ directory under the name of ‘00500Teleport_bar2cellar.scr’. Notice how we called it number ‘500’? I usually do this. Any dialog scripts I save using numbers UNDER 500 and any other scripts such as teleports and other miscellaneous scripts, I save using numbers OVER 500. It lets me split them up and find them easier. Now before we finish, we need to create another script that will teleport the player from the cellar back up to the bar. So, choose ‘file à new’. Put in a description (‘file à properties‘) of ‘Teleport - Cellar to Bar’. Now we need to know where we are teleporting back to, save in WorldEd open up your little village map (‘file à open’) and move the mouse over an area near the tradpdoor and take note of the co-ordinates. Now, add the same ‘teleport’ action as before except this time, use map number ‘5001’ (remember, map 5001 is your start map according to ‘MapList.mes’) and use the X and Y co-ordinates that you want. Put in a ‘return and RUN default’ action and save your script as ‘00501Teleport_cellar2bar.scr’. In my case, the script would look like Figure 18.3 below.
Figure 18.3
Figure 18.3 - My ‘501Teleport_cellar2bar.scr’ script.

Now close ‘ScriptMaker’ and go back to WorldEd. Right-click and ‘edit’ your trapdoor. Click on the ‘Scripts…’ button and click on the ‘Use’ radio button. Now down in the text field type in number ‘500’. This will tie script number 500 (the teleport to cellar script) to the trapdoors ‘use’ function. Click ‘ok’ and get past the usual error message. Now click on the ‘Flags..’ button and remove the tick from ‘Click Through’. Click ‘ok’ and ‘ok’ again. Save your map and open up the ‘bar_cellar’ map. Do the same thing as above only this time for your ladder and use script ‘501’ instead of ‘500’. Now save your ‘bar_cellar’ map. Now, let’s try it out in Arcanum. So, fire up Arcanum, run to your trapdoor and click on it. If you did it right, you should appear in the cellar in a spot near the ladder. Now click on the ladder. You should appear in a spot near the trapdoor.

IMPORTANT NOTE: For some reason, when I first made this map, I had trouble with the cellar. Initially I used ’38 Prison Set’ and the lighting ended up all screwed up and doing funny things on me when I was in Arcanum. I also had a door that just refused to open and let me through and one of my walls was acting rather odd. To fix it, I deleted the entire cellar and rebuilt it using ’44 Grey Brick-Prison Interior’. It worked after that. (But it did piss me off for about two hours…)

Now, if your teleport worked and your cellar was okay, you should’ve noticed two things. First of all, your trapdoor and ladder were probably called something like ‘Wooden Object’. Secondly, the very outer walls of the cellar were grey stone and didn’t quite look right (If that made no sense, just trust me). Now, to fix the ladder and the trapdoor you have to open up ‘gamedesc.mes’ and add lines 30001 and 30002 like so:
// All the things etc...
{30000}{Dresser}
{30001}{Trapdoor}
{30002}{Ladder}

Save the file and close it and close WorldEd and re-open it, then open up your ‘bar_cellar’ map. Now right-click and ‘edit’ your ladder. From the drop-down list next to ‘known’ find ‘ladder’ and choose it. Now click ‘ok’. While we’re in the cellar, we’ll fix the walls. Right-click on the terrain of the map and keep trying until you get the menu like in Figure 18.4 below.
Figure 18.4
Figure 18.4 - The menu (try right-clicking the red squares outside your cellar to get it)

Now choose ‘Light Scheme…’ from the menu and a dialog box like in Figure 18.5 should pop up.
Figure 18.5
Figure 18.5 - Choosing a light scheme.

From the drop-down list choose ‘Lighting Dungeon’ and then click ‘ok’. Click ‘yes’ when it asks you if you want to override the ligthing scheme for this sector. Now, save the map and open up your village map. Right-click and ‘edit’ the trapdoor and from the drop-down list of ‘Known’ find ‘Trapdoor’. Click it and click ‘ok’. Now, save your map and load your module in Arcanum. You should now have a trapdoor and a ladder that are named correctly that and you should see that the very outer walls of the cellar are black, giving the effect of being ‘underground’.

That’s all there is in this chapter. In the next chapter we’ll fix up the library and put in some books.



CHAPTER 19
WRITING LESSONS - NOTES, BOOKS AND BOOKSTANDS

In WorldEd, load your village map and scroll over to the library. Now that you’re there, let’s put in some bookstands. To put in a bookstand, first of all, you have to put in an ‘Empty Barrel’ from the ‘containers’ button. Then right-click and ‘edit’ the barrel. Change the art to unknown (click on the ‘Art’ square and pick a blank blue square) and then change the art again only this time, choose ‘Container’ from the ‘List’ drop-down menu and choose ‘Bookstand’ from the ‘sublist’ drop-down menu. Then click ‘ok’ and from the new pictures that pop-up, choose a bookstand that fits your library. Now put in a few of these bookstands (Just ctrl-click your first bookstand to create copies). While you’re at it, put in some more things like tables, chairs and maybe even put in a counter. On the way, put in some lights as well.

Now we want to create some books for those bookstands. So, click the ‘items’ tab, click on the ‘W’ book button, from the drop-down menu choose ‘book’ and then click the ‘edit’ button. Choose ‘BookRed’ as the art and then click on the library floor to put a book in. Click ‘edit’ again and choose ‘BookGreen’ and put one in. Put in a ‘BookBlue’ as well. Incidentally, they should all look the same on the floor of the library, but don’t worry, they’ll look different when the player picks them up. Okay, now we need to create some content for the books, to do this, open up the ‘gamebook.mes’ file which is in the ‘Arcanum\modules\NAME OF MOD\mes\’ directory. You should now see this important information:
// This message file contains text to be used in game-supplied books.
// Only the message line numbers 1000 or higher are valid.
// Format: each line begins with a font number and justification letter,
// followed by the text for that line. Each line becomes a paragraph in
// the book.

// Some font numbers to use:
// 37 Book Type
// 497 Script
// 171 Old English
// 28 Mage Type

// Justification letters (you must use one)
// l = left
// c = center

These are the different fonts and justifications you can use when writing your books. I suppose the only way you’re really going to understand this is if you do it, so let’s write a book! The problem with writing books is that you need something to actually write. For this tutorial I came up with a little story that will fit in with a quest later on, so let’s put that in.

The book we will write will be written in Mage Type font. Now, we will start off at line 1000. In our case, Line 1000 should actually already have some info in it, so we’ll just delete that and replace it with our own like so:
{1000}{28c The Story of Amtut}

The line above will be written in the ‘Mage Type’ font (font number 28) and will be centered (as determined by the ‘c’). Now we actually want this line to be about in the middle of the left hand page of the book so put the cursor just after the ‘c’ and press the enter key six times so that we end of with a line like this:
{1000}{28c





The Story of Amtut}

In Arcanum, every enter (carriage return) will be displayed in the book, so our line will be spaced out just like we want. Now put the cursor just before the curly bracket ‘}’ and press enter twice. Add the line ‘Written by DarkUnderlord’ so that your line 1000 should now look like:
{1000}{28c





The Story of Amtut

Written by DarkUnderlord}

Now, there are about 16 lines per page in a book in Arcanum (It does vary, depending on the font you choose). So our heading and authors’ name will be just about in the center of the first page of the book. We now need to add in the story for our book. We want the story text to be left justified so we will have to start a new line 1001 like so:
{1001}{28l This is our new line}

Notice how we are still using the same font (‘28’) and that it will now be left justified (‘l’). Let’s see how this looks in the game. So save the ‘gamebook.mes’ file. Now back in WorldEd right-click and ‘edit’ one of the books on the floor. Any book will do. At the bottom of the dialog box that has popped up there will be two text fields. ‘Start Line’ and ‘End Line’ like in Figure 19.1 below.
Figure 19.1
Figure 19.1 - The start and end line text fields.

Put the number ‘1000’ in the ‘Start Line’ field and completely ignore the ‘End Line’ field. This is because ‘End Line’ is no longer used (apparently it used to be) so it is not necessary to put a number in here. Now, in ‘gamebook.mes’ line ‘1000’ is the start of our book so Arcanum will put any text from lines 1000 to 1009 into the book be default. (This is why all new books MUST start in increments of 10) Click ‘ok’, save your map and load up Arcanum. Now run into the library, pick up the book you altered and use it. You should see something like in Figure 19.2 below.
Figure 19.2
Figure 19.2 - The left page of our book.

Quit Arcanum now and get back into the ‘gamebook.mes’ file. We want our ‘new line’ to be on the next page. To do this, put the cursor in front of the line (just after the ‘28l’ and press enter nine times. Now replace the text ‘This is our new line’ with the following story (Just copy and paste it in, there’s no need to type it all out…. I had to though…):
Many ancient legends have referred to Amtut, but up till now, all of them have been disregarded as no more than mere fairy tales. My studies have led me to believe otherwise.

I first came across the legend of Amtut as a mere child. Small and with eyes filled with wonder, I found an old book in the local library in Tarant. Blowing the dust off of its old leather cover I found the words ‘Amtut’ inscribed on the front. The beautiful gold engraved lettering glinted in the warm morning sun as I read the word aloud: Amtut. Curious as to its contents, I opened the cover and turned the first page. Inside I found the story of ‘Amtut’, a fair and wise ruler who lived in a time long before the dawn of machines. According to the story, whenever a decision had to be made, Amtut always based his judgements on sound reasoning and all the available facts.

Turning the pages eagerly I soon read that as Amtut grew old, his judgement began to fail him. He became irrational, irritable and often made quick, harsh and unjust decisions. Soon, Amtuts’ own demise became apparent to him and he began to seek a way to turn back the clock of time and become the young and fair ruler that he once had been. Apparently, several adventurers were sent out on long journeys with the promise that if they discovered some way of reversing his age, they would be given their own lands to rule over. This promise of land inspired many young men to leave their family’s and the hard work of farm life, in order to seek out what many deemed impossible.

However, after many years, few of the young men returned. Those that did either died from their long and hard journey or were executed for their failure. Soon, Amtut lay dieing in his chambers, cursing himself and all those around him, when suddenly, the great doors of his chamber opened and a man wearing a long, dark cloak walked into the room.

Startled at first, the servants attending the sick ruler looked up and wondered who this man was and more importantly, how he had gotten past the guards. Amtut looked at the man with his deathly, sunken eyes and asked,
“What do you want? Are you death himself, coming to take me away from this cursed place?”

“No.” replied the stranger, “Far from it your magnificence. I have come from a land far across the plains seeking one who wishes to hold onto life.”

“I am the man you seek.” Replied Amtut. “I wish to hold onto life, but not…. Not as this withered wreck. I wish to be the young man I once was, a fair and wise ruler of my people.”

“That can not be done. However…” the stranger looked at the dieing ruler and thought, “I can make your life extend for far longer than was granted by the gods.”

The dieing ruler looked at the stranger, “Continue, please.” He said.

“There is a process by which the life of a human can be extended. It is an ancient one, known only to a select few. I, am one of those select few. If you are interested, it involves the removal of your organs and the mumification of your body once you die. Then, a full moon cycle after your death, a ritual is performed which will raise you from the dead and allow you to walk amongst the living again.”

Amtut looked at the stranger. Everyone in the room could see that he was deep in thought. “I will do it. But, what is the catch?”

“The catch? Ahh yes… What do you give me in return for my services? Well… I understand this kingdom is very wealthy and has many different gems and jewels from all over the land. In return for my services, I merely request that you give me a heartstone.”

Although he was weak and dieing, Amtut was able to sit up abrubtly in his bed. “A heartstone? In return for another chance at life you only want a heartstone? Why, you can have one hundred heartstones if you so desire!”

“That will not be necessary, I will only need one. Do we have an agreement then?”

Amtut looked at his servants. He then looked around at his chamber before responding, “Yes. We have a deal.”

And so it was done. After his death, Amtut’s organs were removed and his body was mumified. Then, one full moon cycle later, the stranger returned and performed the ancient ritual. The sarcophagus in which Amtut rested stirred. Soon, the heavy stone lid started moving and eventually fell onto the ground with a deafening crash. The wrappings that covered Amtut moved and he sat upright, looking out from underneath his wrappings at the stranger.

“You have returned! Thankyou! Thankyou! Now, when can I remove these wrapping?” asked Amtut.

“Never.” Replied the stranger. “That is the curse of resurrection. You shall forever be forced to walk the earth covered as a mummy. If you ever remove the wrappings, your body shall wither and die, and your soul shall be trapped forever within your rotting remains. The same shall happen if you are killed. However, if you are killed by someone in possession of a heartstone, your soul shall be released.”

“What!?” spat out Amtut. “You never mentioned any of this! You told me that I would be able to walk the earth amongst the living!”

“Yes, and you shall. However, I would not recommend it, as the living have a tendency to fear the walking undead.” And with that, the stranger muttered an incantation and was gone. Vanishing into the air as if he was never there.

And so, Amtut was left to wander the earth, constantly fearing the living in case he was caught and killed by some young, brave adventurer who would more than likely not have a heartstone and so would leave his soul trapped in his dead and decaying body. As such, Amtut fled into the deepest caves within the mountains where only rats and other unworldly creatures would be his companions.

That is the story that I read in the warm sunlight that morning, and I would’ve forgotten it, if not for a strange incident that occurred one day while I was on one of my many journeys. A small village had complained about something strange happening to their sheep. Apparently, every night, the sheep would bleat constantly as if they were spooked by something. The farmers initially thought it was a local boy called ‘Tim’. Tim was a prankster and used to play all sorts of jokes on the farmers by doing strange things to their sheep. That was until one night when one of the farmers decided to stay awake and see what was happening.

Armed with a heavy axe, the farmer waited all night and was about to fall asleep, when suddenly he saw something in the distance as the moon poked out from beneath a cloud. The farmer, thinking it was Tim, decided to lay and wait for him to come closer. So, hatching a plan to scare the living daylights out of what he thought was a local boy, the farmer waited in the dark. Not long later, he could hear a strange noise as something made its’ way across the field. When the noise got very close, the farmer jumped out of the dark ditch in which he was hiding and yelled as loudly as he could in an attempt to startle the boy. Only what he found was not a boy. The farmer, after jumping out of the ditch, found himself staring face to face with a horrid vision. Looking into its eyes, the farmer could see fear as the creature looked at his axe. The farmer, expecting to be attacked, raised the axe high above his head and took a swing at the creature. He only grazed it as it fled across the hills and back towards the mountains. The next morning, as the farmer was showing everyone where he attacked the creature, he found a small piece of very old cloth that had yellowed with age.

That story was told to me by another farmer at the local inn, as I was travelling through town not more than a month later. So, being the eager adventurer I was (and still am) I headed off into the mountains in search of what I believed to be a mummy. After several days journey, I found a deep cave within the mountains and headed inside. After battling my way through several of the usual creatures, I realised that the cave was quite deeper than I had anticipated and that if I was going to get to the bottom of it, I was going to need many more supplies. I made the decision to turn around and head back to town.

Before I left however, I noticed the strangest thing. I felt as if I was being watched. I am not entirely sure whether I was merely imagining it, or if it was just something in the air. My perceptive skills were not quite fully developed at that stage and as such I dismissed the feeling as irrational. Of course I was being watched, I said to myself. Every creature in that cave would know I was there from all the noise I made. However, that does not explain the piece of yellowed cloth that I found on my way out of the cave. I am certain that the cloth was not there on the way in and I vowed that I would resupply in town quickly and come straight back.

Unfortunately, back in town, I receieved a telegram. One of my old professors needed me urgently to help battle a viscous dragon that was devouring entire towns. I cursed myself as I noticed the telegram had been sent only a day after I left on my mountain journey and was now more than two weeks old. I hurriedly packed my things and left.

Since that day, I have never had the chance to return to that village. I seem to have been caught up in local politics and it is difficult for me to leave on adventures while there is so much to do for my constituents. That is why I write this story, for I hope that some day, someone will read this book and return to those caves in search of what I could not find.


DarkUnderlord
------------------------------------------------
Moo… Moo… I’m an Interplay cow.

(Wow! That’s a lot of story! Not bad though, considering I had this in mind ever since I abbreviated ‘Arcanum Mod-making Tutorial’ to AMTUT. This story has just been going around and around in my head.) Now that you’ve copied and pasted it, save the ‘gamebook.mes’ file and load Arcanum. Read the book and you should find that the story has been cut at right about the part where the servants are wondering how the man got there. Why has this happened? Well, in ‘gamebook.mes’ one line of text can only hold 1,985 characters. In this case, that’s about 364 words (Well, according to the Microsoft Word ’97 word count it is in our case). Now don’t despair, we CAN fit our entire story in. We just have to split it up over several lines. So, close Arcanum and in ‘gamebook.mes’ find the part where it cut off and do this:
CONTINUED dark cloak walked into the room.
}
{1002}{28l Startled at first, the servants CONTINUED

This will split up our text over another line. Now because you have only changed ‘gamebook.mes’ and added in an extra line, there is no need to go into WorldEd and alter the book in any way. So just save the ‘gamebook.mes’ file and try it out in Arcanum. It will cut off somewhere else now. So, get into ‘gamebook.mes’ and make another line just before it cuts off. Keep doing this until you get the enitre story in. (Oh come on! It’s not that hard! Is it? Besides, it’s a good story and well worth it!)

NOTE: A book can be made up of no more than 10 lines in ‘gamebook.mes’. You will have enough room for my story but, if you write an absolute marathon of text (over about 19,000 characters, which is about 4000 words), you will have to split it up over several books. This might happen if you’re anything like me when it comes to writing. If books aren’t your thing though, then you’ll probably never fill up a book. (Incidentally, the story you just made has 9,522 characters and 1,774 words.)

You should find that you can get the entire story into 1005 lines plus an extra line 1006 for my signature at the end. Now there are two things that you probably noticed while testing this mod. First of all, the bookstands are called ‘barrel’ and the book that holds the story of Amtut is called ‘book’. We want to give both these things the right names. You name items exactly the same way as most other things (except keys). So, open up ‘gamedesc.mes’ in the ‘Arcanum\modules\NAME OF MOD\mes\’ directory and add ‘{30003}{Bookstand}’ just under the line ‘{30002}{Ladder}’. Now go to the end of the file and add a new section like so:
// Books, Notes and Telegrams
{30800}{The Story of Amtut}

Any future books, notes etc… that we create will be given names under this section. Now, save the file. Of course, you have to now close WorldEd (save your map first) and then re-open WorldEd so that the changes to ‘gamedesc.mes’ can be recognised by WorldEd. Once your map is reloaded, right-click and ‘edit’ all of the bookstands and from the ‘Known’ drop-down list choose ‘Bookstand’. Now, right-click and ‘edit’ the book that holds the story of Amtut and from the ‘Known’ drop-down list chose ‘The Story of Amtut’. Do the same for the ‘Unknown’ drop-down list as well. Now click ‘ok’, save your map and load Arcanum. When you pick up the book, you should notice that it now has a name. Your bookstands should also be called ‘Bookstand’.

Okay, so all of that worked (well, it should have), so quit Arcanum. Now, let’s put in a note. From the ‘items’ tab click the ‘W’ book button and from the drop-down menu choose ‘Note’. Now click ‘select’ and then click ‘ok’ (This step is important, otherwise you put in a note without any ‘Art’). The picture should now be a note. Put a note on the floor of the library. Now open the file ‘gamenote.mes’ in the ‘Arcanum\modules\NAME OF MOD\mes\’ directory. Change the line that reads ‘{1010}{}Next Note’ into the following:
{1010}{The Amtut Tutorial
Created by DarkUnderlord

Version 1.0
This version made by YOUR NAME.}

Now notes are in ‘script’ font by default (I don’t think you can change that). Notes are also only one page long so you have a limited amount of room to work with. Save the file and open up ‘gamedesc.mes’. Add the line:
{30801}{Amtut - Version 1.0}

Save this file as well. Now, close WorldEd and re-open it. Then scroll to the library and right-click, ‘edit’ the note. Change the ‘Start Line’ of the note to ‘1010’ and change its ‘Known’ and ‘Unknown’ names to ‘Amtut - Version 1.0’. Now click ‘ok’ and save the map. Before we test it out, put a Librarian in the Library. Any NPC you want will do. Just put him/her in and dress them (Remember, to dress an NPC the items must be put on the ground FIRST, then, using the ‘select’ tool, you can drag them over the NPC, hold the ‘shift’ key and release.) Set the Day/Night Standpoints of the NPC so that it sleeps at night (You did put a bedroom in the library didn’t you?). Now, right-click and ‘edit’ the NPC. Make it a level 14 and alter any of the stats that you feel are appropriate. Then, save your map and load Arcanum. Run in and pick up the note. I always put a ‘Version’ note like this in all of the modules I make (I usually hide it in a container near the start location). That way, the player knows who made the module. I usually put in the date I started making the module, and the date I finished the module as well. (As well as my e-mail address and web-site address).

Well, that’s it for books. Actually, you might want to create a bit of text for the other books you have on the floor as well. The next book you write should start with line number ‘{1010}’. All books should start in increments of ten (So the next book after that would be ‘{1020}’ and so on… Regardless of whether you’ve used all of the books ‘lines’ or not). Then, put the books in the bookstands in your library. (Remember how to fill containers? With the ‘select’ tool, drag the books over the bookstands, hold down the ‘shift’ key and release the mouse button.)

In the next chapter, we’ll look at how to put in ships, trains, rugs, mountain ranges, castles and elven tree cities.



CHAPTER 20
SHIPS, BRIDGES, MOUNTAINS AND ELVEN TREE CITIES - FACADES

Ultimately, this tutorial will lead into the mountains in the search of Amtut. So, let’s put in some mountains. In WorldEd, get into top-down view and zoom out all the way. Now, we’ll build the mountains out on the right edge of the map. So scroll out right until you reach the ‘wide blue yonder’. Now change into ‘Isometric’ view, click on the ‘environment’ tab and click the ‘F’ Facades button. Facades are special terrain-like things I suppose you could say. They let you put in a whole lot of stuff. Now, there are 373 different Facades to choose from and the only way to scroll through them all is by clicking the ‘Previous’ and ‘Next’ buttons (which can be a real pain in the a***). For your benefit, here is a complete list of the Facades (thanks to Jetakai for posting these again on the VN Arcanum Mod Board):

0 Bhull
1 Bprop
2 Brudd
3 Woodbridge
4 Caverndrt1
5 Caverndrt2
6 Destroyedcastleroof1
7 Destroyedcastleroof2
8 Destroyedcastleroof3
9 Destroyedcastleroof4
10 DocshLRredge
11 docshrULedge
12 DocshrLLedge
13 DocshrURedge
14 DocshrLRsupports
15 DocshrLLsupports
16 Mountain_01
17 Mountain_02
18 Mountain_03
19 Mountain_04
20 Mountain_05
21 Mountain_06
22 Mountain_07
23 Mountain_08
24 Mountain_09
25 Mountain_10
26 Mountain_11
27 Mountain_12
28 Ship1bow
29 Ship1masts
30 Ship1stern
31 Ship2bow
32 Ship2masts
33 Ship2stern
34 Sunkship1
35 Sunkship2
36 DockUR
37 DockLR
38 DockLL
39 DockUL
40 DockTC
41 DockRC
42 DockBC
43 DockLC
44 PlanksUR
45 PlanksLR
46 PlanksLL
47 PlanksUL
48 PlanksTC
49 PlanksRC
50 PlanksBC
51 PlanksLC
52 DockITC
53 DockIRC
54 DockIBC
55 DockILC
56 PlanksITC
57 PlanksIRC
58 PlanksIBC
59 PlanksILC
60 Sramp1
61 Sramp2
62 Mine1
63 Mine2
64 elft_01
65 elft_02
66 elft_03
67 elft_04
68 elft_05
69 elft_06
70 elft_07
71 elft_08
72 elft_09
73 elft_10
74 elft_11
75 elft_12
76 elft_13
77 elft_14
78 elft_15
79 elft_16
80 Elfbridge1
81 elfbridge2
82
83 dungeonrug1
84 dungeonrug2
85 thronebase1
86 blimpjunk1
87 blimpjunk2
88 blimpjunk3
89 blimpjunk4
90 blimpjunk5
91 blimpjunk6
92 blimpjunk7
93 Tarantbridge1a
94 Tarantbridge1b
95 Tarantbridge1x
96 Tarantbridge2a
97 Tarantbridge2b
98 Tarantbridge2ta
99 Tarantbridge2tb
100 Tarantbridge3a
101 Tarantbridge3b
102 Taratbridge3x
103 Tarantsb_wea
104 Tarantsb_web
105 Tarantsb_nsa
106 Tarantsb_nsb
107 Sh_bridge_a
108 Sh_bridge_b
109 Sh_bridge_c
110 Bateshouse-01
111 Bateshouse-02
112 Bateshouse-03
113 Bateshouse-04
114 Bateshouse-05
115 Bateshouse-06
116 Bateshouse-07
117 Bateshouse-08
118 Bateshouse-09
119 Temple-01
120 Temple-02
121 Temple-03
123 Temple-05
124 Temple-06
125 Temple-07
126 Temple-08
127 Temple-09
128 Temple-10
129 Temple-11
130 Temple-12
131 Temple-13
132 Temple-vines-01
133 Temple-vines-02
134 Temple-vines-03
135 Temple-vines-04
136 Temple-vines-05
137 Temple-vines-06
138 Temple-vines-10
139 Black
140 Elvenhut1a
141 Elvenhut1b
142 Elvenhut1c
143 Elvenhut2a
144 Elvenhut2b
145 Elvenhut2c
146 Eqt_01
147 Eqt_02
148
149 Eqt_04
150 Eqt_05
151 Eqt_06
152 Eqt_07
153 Eqt_08
154 Eqt_09
155 Eqt_10
156 Eqt_11
157 Eqt_12
158 Eqt_bridge
159 elftreebase
160 elfqueenroom
161 pit-exterior
162 pit-interior
163 pit-exterior-jungle
164 docka
165 dockb
166 dockc
167 dockd
168 small-pit
169 trn_trkbse1
170 trn_trkr1
171 trn_trkL1
172 trn_eng1
173 trn_eng2
174 trn_cab1
175 trn_cab2
176 trn_cars1
177 caladon01
178 caladon02
179 caladon03
180 caladon04
181 caladon05
182 caladon06
183 caladon07
184 caladon08
185 caladon09
186 caladon10
187 caladon11
188 caladon12
189 caladon13
190 caladon14
191 caladon15
192 caladon16
193 train_tunl_1
194 train_tunl_2
195 wolf-cave
196 vendigroth-fish
197
198 darkelf-1
199 darkelf-2
200 darkelf-3
201 darkelf-4
202 darkelf-bridge1
203 darkelf-bridge2
204 darkelf-treeswatch
205 darkelf-king-01
206 darkelf-king-02
207 darkelf-king-03
208 darkelf-king-04
209 darkelf-king-05
210 darkelf-king-06
211 darkelf-king-interior
212 bmc-floor-symbol
213 wheel-clan_massiveentrance
214 wheel-clan_massiveentrance
215 ring-of-brodgar
216 dernholm-pits-1
217 dernholm-pits-2
218 rug1
219 rug1-flip
220 rug2
221 rug2-flip
222 rug3
223 rug3-flip
224 rug4
225 rug4-flip
226 wheelclan-floor-symbol
227 ironclan-floor-symbol
228 tulla pad
229 desertmountain01
230 desertmountain02
231 desertmountain03
232 desertmountain04
233 desertmountain05
234 desertmountain06
235 desertmountain07
236 desertmountain08
237 desertmountain09
238 desertmountain10
239 desertmountain11
240 desertmountain12
241 tullatower-01
242 tullatower-02
243 tullatower-03
244 tullatower-04
245 tullatower-05
246 tullafountain
247 tullawallpiece
248 tullainterior-1
249 tullainterior-2
250 bmc-entrance
251 tulla floor teleport
252 desert island ground 1
253 desert island ground 2
254 desert island ground 3
255 desert boat ramp
256 tulla-bigdoor
257 tulla-stairs-up
258 tulla-stairs-down
259 vendisidewalk_LC
260 vendisidewalk_BC
261 vendisidewalk_RC
262 vendisidewalk_LE1
263 vendisidewalk_LE2
264 vendisidewalk1_RE
265 vendifloor1
266 vendifloor2
267 vendistreet1
268 vendistreet2
269 vendistreet3
270 vendisidewalkbase1
271 vendisidewalkbase2
272 kerghanfloor1
273 kerghanfloor2
274 kerghanfloor3
275 kerghanfloor4
276 kerghanfloor5
277 kerghanfloor6
278 vendihall_a
279 vendihall_b
280 vendigroth-bell-tower
281 bones_site01
282 bones_site02
283 bones_site03
284 vendi_ruins01
285 vendi_ruins02
286 vendi_ruins03
287 vendi_ruins04
288 vendi_ruins05
289 platue_TC
290 platue_TRE
291 platue_RC
292 platue_BRE
293 platue_BC
294 platue_BLE
295 platue_LC
296 platue_TLE
297 platue_TIC
298 platue_RIC
299 platue_BIC
300 platue_LIC
301 platue_grnd1
302 platue_grnd2
303 platue_grnd3
304 platue_grnd4
305 platue_grnd5
306 voidcastle_1
307 voidcastle_2
308 voidcastle_3
309 voidcastle_4
310 dwarven_king_entrance
311 dwarven_king_chamber
312 voidcave1
313 ironclan-kingschamber
314 void_portal-01
315 void_portal-01-VAR1
316 void_portal-01-VAR2
317 void_portal-01-VAR3
318 void_portal-01-flip
319 void_portal-01-flip-VAR1
320 void_portal-01-flip-VAR2
321 void_portal-01-flip-VAR3
322 void_portal-02
323 void_portal-02-VAR1
324 void_portal-02-VAR2
325 void_portal-02-VAR3
326 void_portal-02-flip
327 void_portal-02-flip-VAR1
328 void_portal-02-flip-VAR2
329 void_portal-02-flip-VAR3
330 iron-clan-kingschamber2
331 void-arronaxcastle1
332 void-arronaxcastle2-1
333 void-arronaxcastle3-1
334 void-arronaxcastle4
335 void-arronaxcastle2-2
336 void-arronaxcastle3-2
337 vendibridge1
338 vendibridge2
339 vendibridge3
340 vendibridge4
341 vendibridge5
342 void-bridge
343 moutaintowater
344 void-stargate
345 mountaintowater2
346 voidpad
347 iron-clan-entrance
348 alter_father_of_all
349 kerghan-arena-1
350 kerghan-arena-2
351 kerghan-arena-3
352 kerghan-arena-4
353 eagle-snake
354 dragon_head
355 dragon_tail
356 train-elbow
357 kerg-1
358 kerg-2
359 kerg-3
360 kerg-4
361 kerg-5
362 kerg-6
363 kerg-7
364 kerg-8
365 kerg-9
366 kerg-10
367 kerg-11
368 kerg-12
369 kerg-13
370 kerg-14
371 kerg-15
372 kerg-16

The numbers we want for the mountain range are 16 - 27. Now before we put in any of the facades, it’s important to know that it can be quite difficult lining everything up. Now that we know that, let’s put in ‘21 Mountain_06’. When you click on the map, drag the façade around until it sits a little in from the ‘wide blue yonder’. Once it’s in the right place, let go and put in the same ’21 Mountain_06’ next to it. You should be able to drag it around until it lines up next to the previous mountain. Put in 5-6 of these together. NOTE: It might be a good idea to press ‘B’ to turn off the blocking tiles. Otherwise, you won’t be able to line the mountains up properly as all the red will be in the way.
Figure 20.1
Figure 20.1 - This is the mountain range I built. Notice how it’s in a bit from the blue edge?

Now we want to put a corner on the left edge (or top from the top-down view) of the mountain. The corner piece we want is ’22 Mountain_07’ put that in and drag it into the right place so that it lines up with the rest of the mopuntain range. Now ’23 Mountain_08’ will let us build a top edge. Build this right up to the blue edge. If you find that you can’t quite fit it in, don’t worry, just rebuild over the top. Or, delete the facades which can be done by either pasting terrain over them or using the ‘destroy’ tool and clicking on them. Mountain Ranges can be quite a challenge to put in and line up correctly so it may take a few attempts before you get it just right. Now put the bottom edge in. Number ‘20’ for the corner and ‘19’ for the side. All up, you should end up with a square mountain. Now, click the ‘Terrain’ button and choose ‘Blkbse0a’ as the terrain. Paste this in all over the gaps in the middle of the mountain range. This will make it look better in Arcanum, rather than letting the player see green grass over the mountains (You might have to do a bit of ‘weeding’ with the ‘destroy’ tool to remove any unwanted tufts of grass). Figure 20.2 shows my completed Mountain Range.
Figure 20.2
Figure 20.2 - The Mountain Range with black terrain in the middle.

Now, if you haven’t already figured it out, bridges, trains, ships, elven tree cities and castles are all pieced together the same way as the mountain range we have just done. Just scroll through the Facades until you find what you want (use the list above as a reference) and then piece the object together using its various components. Simple really. If you feel inclined, build a larger mountain range. Make it go along the right edge of the map a fair way. Perhaps a whole 3 sectors. That way it will give the feel of a big mountain range. Once you have your mountain, put in a dirt path all the way from the mountain back to town.

Okay, so we have a mountain. We want a ship now (Actually, you may not, but I do, so we’re going to put in a ship and there’s nothing you can say about it). Scroll back to town. You remember that lake we put in? Make it bigger. Make it an ocean. Make it extend all the way to the edge of the map. Feel free to improvise as you go. If you intend on filling entire sectors with water, just right-click them and choose ‘Fill with tile type…’. Now build the ocean anyway you want. Once you have an ocean, let’s put in a dock.

Scroll to the edge of the town that meets the lake. We will put in ‘Dksbse0a’ as terrain to build the dock. Notice how as you put it down, it puts water all around? Try holding the ‘ctrl’ key as you place the terrain, notice how it only places the one tile? This is how you join the dock to the land. When you get near the land try using ‘Prhbse0a’ and connecting that to the dock. Now it can be quite tricky putting in a dock. Here’s a tip, try building ‘Dksbse0a’ in the water and creating the dock first. Then leave a gap of water and build the land-side using ‘Prhbse0a’. Choose ‘Dksbse0a’ again and while holding ‘ctrl’, connect the dock in the water to the dock on the land. Once you get a basic wooden platform extending into the water from the land, you will notice that the sides where the dock overhangs the water, don’t look right. You can fix this up using facade numbers 36 - 43 and 164 - 167. These will build a nice looking edge.

Now, use Facades 60, 61 to put in a ships’ ramp and then use 28-33 to build the ship. Be careful not to destroy your dock in the process. It was hard enough building it in the first place. Once you’re done, you’ll probably find that you have to do A LOT of weeding. So, get to it (Five hours later… No, literally, that’s how long it took me to build a dock, put in a ship and de-weed the ocean. With all due respect to Troika, they should really make that easier). Once you have your ship, save the map and load Arcanum. Check out your mountain range and have a gander at the magnificent vessel that you have created.

In the next chapter, we’ll create some caves and put in some traps.



CHAPTER 21
WATCH YOUR STEP - TRAPS

We’ll build our traps in the caves in the mountain range. So, first of all, we have to build the caves. The kind of caves I was thinking of were nice deep caves. Perhaps four or five levels deep set out as a large kind of maze that the player could get lost in. Now there are two ways of going about this, we can either have four or five seperate maps that all link together with teleports to each other or, we can have one big map with all the levels spread out on the one map. So, instead of the stairs down linking to another map, they would instead, link to another part of the same map. Another part that would be in a sector far enough away from all the other parts so that the player wouldn’t be able to see it until they got there. I’m not sure if there’s any difference between the two ways. Whether one way would require more memory and loading times and the other way is quicker, I don’t know. At the end of the day, it comes down to your personal preference. Would you rather have five separate maps or everything on the one map? Personally, I’d rather have all the levels of caves on the one map because it means less mucking around with files, plus In only have one ‘amtut_caves’ map to worry about.

Decide what way you’re going to go and start a new map. If you’re going my way, the new map should be about 64 x 64. If you decide to have several little maps, your new map would perhaps be 5 x 5 or smaller. Either way, in WorldEd go ‘file à new’ and create a new map that has ‘water’ as its base terrain. Before you build your caves, right-click and fill the sector where you’re about to build with ‘Blkbse0a’. Now build your caves. Go wild, go crazy, go knock yourself out. Choose an appropriate cave ‘building’ and build your first level (The ‘building’ type you choose will change the types of doors that you can put in your cave). Once you have your first cave level, we’ll link it up to the village with a teleport script and then we’ll put some traps in it.

Put in a ‘passage’ from the ‘scenery’ button under the ‘environnment tab’ into your cave where the player will start. You will have to delete part of the wall in the entry room to make the passage look right and fit in. Once it’s in, save your map as ‘amtut_caves’ (if you’re going to create all five levels on separate maps than call it ‘amtut_cave1’). Open up ‘MapList.mes’ and add the line:
{5003}{amtut_caves, 149, 154, , WorldMap: 0}

(or ‘amtut_cave1’ if you called your map that). Again, I haven’t worried about changing the start co-ordinates because they will never be used. Save ‘MapList.mes’ and open up the ScriptMaker. Make a ‘teleport’ script that will link the player from the village and into the cave. Save the script in the ‘scr’ directory under the name ‘00502Teleport_village2caves.scr’. Now, open up the village map and scroll over to where you would like an entrance to the caves. Put in a cave passage and right-click and edit it. Remove the ‘Click Through’ flag and tie script ‘502’ to its use option. Save your village map and go back to the ScriptMaker. Make a teleport script that will link the player from the caves back outside the cave entrance. Save the script as ‘00503Teleport_caves2village.scr’. Open up your cave map in WorldEd now and link script ‘503’ to the use option of the cave exit. Also, remember to remove the tick from ‘Click Through’. Now save the cave map. It’s a good idea now to test your teleport out in Arcanum to make sure that it works correctly. If it doesn’t, revisit chapter 18 if necessary and work out what went wrong.

NOTE : I had trouble with the cave entrance on the village side of the map. What I found was that once I had the cave in place, I had to use the terrain tool and paste dirt behind it (I couldn’t actually see where I was putting the dirt, I just kind of pasted it all behind the entrance). The cave teleport didn’t work because the blocking tiles from the mountain range were in the way. After that, the entrance worked fine.

Once your teleports work, load your cave map. In top-down view, right-click every sector that your caves cover and choose ‘Light Scheme…’ and from the drop-down list choose ‘Lighting Dungeon’. Click ‘yes’ when it asks to override the existing scheme. Now, let’s put in some traps shall we? The following below has been blatantly copied from the WorldEd Manual Version 1.0.

Traps are placed on the ground and affect anyone who enters into the tile they are placed in. To place a trap, open the environment tab and select the traps button. By default, you will see a magickal trap. If you hit the select button beneath the thumbnail you can choose between the seven trap types available in our game. To place the selected trap, just left-click in the editor window to place it.

Arrow traps require an additional trap object to be set. This object is called a trap-source. The trap-source defines where the arrow will come from when the trap is stepped on. To place the trap-source, just click the pulldown menu above the thumbnail and select “TrapSource”. You can place these any where in your scene and they will only show up in the WorldEd editor window. You will not be able to see these in the game, the player will only see an arrow fly from this location.

NOTE : Arrow traps will use whichever trap source is closest to fire from. Make sure you place your trap source no more than 6 tiles away from the trap or it may not fire. If you want the arrow to come from a particular trap source, see Counter 2 below.

All traps can be adjusted after being placed. If you right-click on a trap and select “edit”, then click on the “scripts” button, you will see 4 counters below in the script window. Here is how each of the counters function.

Counter 0: Adjusting the number in counter 0 will adjust the minimum damage dealt out by the trap.

Counter 1: Adjusting the number in counter 0 will adjust the maximum damage dealt out by the trap.

Counter 2: Counter two can get a little tricky. Counter two is only used for arrow traps because arrow traps are the only ones that require a trap source. If you have multiple trap sources in an area, you can define a number for them in their counter 2 area. If you copy that number into your traps counter two, the arrows will fire from the trap source with the same number.

Counter 3: Counter 3 defaults to zero, which will probably work for people most of the time. By giving counter 3 a new number, you are saying “in addition to firing the trap like normal, play a spell on whoever steps on me”. The appropriate spell numbers can be found in the spell list in the ‘ARCANUM REFERENCE SHEET.doc’ (Which is part of the 'editdocs.zip' that you can download from my website).

Hmmm.. I think that explains it better than I could. (Good thing I read the Manual when I did). Once you’re happy with your traps, save your map and try it out in Arcanum. You’ll probably get the idea pretty quickly that your traps work due to the fact that you will probably die from them.

Well, that’s it for Part 3. You should be quite confident with several aspects of Mod creating now. I’ll now read the entire WorldEd Manual (I’d suggest you do too) before continuing with Part 4. In Part 4, we’ll look at how to go about planning your module as well as putting in quests.






Part 1 - A Beginners' Guide
Part 2 - Learning the Ropes
Part 3 - Getting Tangled in the Ropes
Part 4 - Strangling Yourself with the Ropes




Arcanum - Links

Sierra Arcanum   --   The official Arcanum web site
VN Boards - Arcanum Inn   --   A general Arcanum forum for fans
VN Boards - Arcanum Mod Board   --   An excellent forum if you have any questions regarding modding
NMA - Arcanum General Forum   --   A general discussion forum for Arcanum
NMA - Arcanum Quest-Hack Forum   --   A bit empty at the moment, but a forum I visit frequently
DarkUnderlord   --   My web site!