Welcome Guest ( Log In | Register )

6 Pages V  1 2 3 > »   
Reply to this topicStart new topic
> Renee's Modding Thread
Renee
post Feb 25 2018, 01:30 PM
Post #1


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



Mod-making thread basically, which focuses heavily on quest-making. The first two tutorials (How to make a fetch quest and how to make a kill quest) are very hand-holdy. They are designed for those who are just starting to learn the art of quest-making. Other tutorials get more advanced, as my wacky ideas have pushed their boundaries.

Just click on any of the links in the post below this one. smile.gif



Bethesda Units. (How distance compares in-game to real-life).

This post has been edited by Renee: Jan 28 2024, 06:03 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Lady Saga
post Feb 25 2018, 01:35 PM
Post #2


Mouth
Group Icon
Joined: 20-February 12



Tip: For Oblivion, Always use Ely's Silent Voice when making silent-text dialog. Without this utility, dialog will stay on-screen for just a fraction of a second. Of course, if recording actual voice, this utility is not needed. wink.gif


1). How to make a Fetch Quest. Game: TES IV: Oblivion.

2). How to make a Kill Quest, Map Markers, and X Markers. Game: TES IV: Oblivion.

3). Construction Set Extended Primer, and some advice. Game: TES IV: Oblivion.

4). Repairing Bad Hair! Game: TES IV: Oblivion.

5). Making an NPC Vendor / Repair-person. Game: Fallout 3.

6). How to fix "missing flowchartx32.dll" errors. Game: TES V: Skyrim.

7). How to make a Fetch Quest (with multiple items). Game: Fallout 3 (should also work for Oblivion and New Vegas).

8). Making a weather-changing item. Game: TES IV: Oblivion.

9). Faction-changing outfits Game: Fallout 3

10). Making an NPC Follower. Game: Fallout 3

11). Timer Scripts Game: TES IV Oblivion or Fallout 3

12). Making a home rentable, or salable. Game: TES IV: Oblivion

13). Adding Songs to Radio Stations Game: Fallout 3

14). Gun Tutorial. Game: Fallout 3

15). Repeatable Bounty Quests. Game: TES IV: Oblivion

16). Adding additional Bounty Quest Locations

17). Lizard Men! Game: TES IV: Oblivion

18). Making an NPC Vendor Game: TES IV: Oblivion

19). SEQ Files, Game: TES V: Skyrim

20). Making FOMODs through Fallout Mod Manager, Game: Fallout 3

21). Making an NPC Follower, Game: TES: V Skyrim

22). Making an NPC Vendor, Game: TES V Skyrim

23). Making a book bump a quest stage, Game TES V Skyrim

24). Skyrim Quest Tutorial (which gives the PC a horse) WIP at the moment.. do NOT follow this lesson.

25). Repeatable Bounty Quests (Innkeeper involvement) Game: TES IV: Oblivion

26). Respawning Bounty Quests (Randomly given by Riverwood shopkeeper) Game: TES V: Skyrim

27). Setting up a gamepad controller. Game: Elder Scrolls Online

28). Trigger Zones Game: Fallout 3

29). How to transfer games from Xbox to PC. Games: Oblivion, Fallout 3, Skyrim

30). Making a generic enemy. Game: TES V: Skyrim

31): Repeatable Bounty Quests. Game: TES V: Skyrim

32): Adding new locations to repeatable bounty quests. Game: TES V: Skyrim.

33). Adding a Jail and enhancing Fallout 3's Crime System. Game: Fallout 3

34). Patrol AI Package Game: Fallout 3.

35). Horse Rentals. Game: TES IV: Oblivion

36). Trigger Zones. Game: Fallout 3 & New Vegas

37). Daggerfall Tutorial (by Boxx Mann)

38). Getting an Xbox controller to work on PC. Game: TES III: Morrowind

39). More Dynamic NPCs. Game: TES III: Morrowind.

40). Getting the Take All button to work. Game: TES IV: Oblivion

41). Random Console Commands. Game: TES V: Skyrim

42). How to use ForceGreet. Game: TES V: Skyrim

43). Using the Player-Character's face for an NPC. Game: TES V: Skyrim

44). How to add a bounty to the PC via script. Game: TES V: Skyrim

45). How to add the PC or NPC into a Faction via script. Game: TES V: Skyrim

46). How to fix "failed snowflake: Meshes\BM_Snow.01.nif" error

47). (Re)installing Morrowind from Scratch

48). Get a Job! (Skyrim)

49). Travelling with an NPC (Skyrim)

50). Traveling with an NPC, Additional Locations

51). Travelling with an NPC, Additional Followers (Skyrim)

52). Dialog Speech Checks, Game: TES V: Skyrim

53). Map Marker Tutorial, Game: Fallout 3

54). Repeatable Enemy Raids, Game: Fallout 3

55). Repeatable Enemy Raids; Additional Locations, Game: Fallout 3

56). Fixing the Gray Face Bug, Game: TES V: Skyrim (lesson by SubRosa)

57). Script Fragments. Game: TES V: Skyrim

58). Fixing the Sideways Glasses Bug. Game: Fallout 3 and New Vegas

59). Nexus Mod Manager Tips

60). Breton Magic Resistance Tweak, Game: TES III: Morrowind

61). Manipulating Leveled Lists -- This works for any Bethesda game with Leveled Lists

62). Skooma Dealer Game: TES IV: Oblivion

63). Fixing the ;CODE NOT LOADED message. Game: TES V: Skyrim

64). Fixing the Imgur "Zoinks" error

65). Timer Scripts, Game, TES V: Skyrim

66). Making a Book Shelf, Game: TES V: Skyrim.

67). How to make Generic NPCs Game: TES V: Skyrim

68). Light Switches and Triggers. Games: Oblivion, Fallout 3 & NV, Skyrim

69). Adding an AI Package to an NPC (Aliases also discussed a bit), Game: TES V: Skyrim

This post has been edited by Lady Saga: Mar 13 2024, 03:55 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Feb 25 2018, 01:51 PM
Post #3


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



The Fetch Quest, Game: TES IV: Oblivion.

So this tutorial will be about how to make one of the most basic types of quests we can find in any Bethesda game: the Fetch Quest. We've got an NPC whose valuable item was stolen, and now it's our character's job to fetch it back.

The very first quest I ever wrote, way back in 2016, was a fetch, and it's because it was one of the only quests which included a video I could watch.* I knew absolutely nothing about using the Oblivion Construction Set folks, absolutely nothing beyond renaming an item, or making a chest not respawn anymore. I mean, I'm a dummy gamer who used to put tape on my TV to simulate the compass being removed. Yet here I was, with this grand idea to start adding content to one of my character's games.

* Note, 2024: that video link got removed unfortunately. It featured a "kill" quest, not a fetch, but a lot of the same steps still applied. Only real difference is the main script which gets associated with the actor-to-kill. I have written a kill quest lesson below, for those who want it.


This tutorial assumes you have used the CS before, and have some basic knowledge about how to get around: how to use the Object, Render, and Cell windows, and how Beth has their main toolbar set up. If you've never used the Construction Set before yet want to learn, here's a video you can watch about the basics of making an NPC. It was made by a teenager, but believe me, this is one of the better ones I've found. Bethesda also provides their own starting classes, and there are also classes over at TES Alliance.

So if you've never used the CS before, I encourage you to watch and read those first, because I'm going to just jump right in, here. wink.gif Still, this tutorial does start with a few basic instructions, just because it's the very first one in this thread.

--------------------------------------

1). Open the TES4 Construction Set. Several windows should pop up: the Object window, Cell window and Render window. There is also a main window which I'll call the "main toolbar". This window/toolbar is always beneath the others, and it's the one with the typical "File", "Edit", "View" (etc.).

Go ahead and organize the Object, Cell, and Render windows to your liking. These three windows can be pulled and stretched this way and that, so that they are nicely laid out side-by-side or above/below each other, while the main toolbar window always stays beneath the others.

Left-click on File and then move your mouse pointer over where it says Data. Left-click on Data. A panel will pop up, listing Oblivion.esm (which is the vanilla game, basically), any DLC you've got, and any mods you've installed in your Data folder. Go ahead and double left-click on Oblivion.esm, and then click OK.

Now, if you've got some mod you're already working with, this process is different. In such case, you're going to double left-click on that mod (so an X shows up next to it), and then move down to the button which allows us to Activate that mod. Once the mod you're working with is Active, click OK. You can also simply double right-click upon that mod. The X should show up, and then you press OK.

It can take awhile for the Construction Set to load up. As it does so, occasional error messages usually show up. These are usually harmless, so click Yes or "Yes to All" as they pop up.


1a). OBJECT window
First thing we're going to do is make an NPC, a chest, a key, and an object to fetch. For this tutorial, I am making aaaDungeonKey, aaaDungeonChest, aaaLostAmulet, and aaaBob. aaaBob will be my starring NPC quest-giver. These names don't have to be used exactly by anyone reading this, but those are the ID names I am going to use.

For my first fetch quest, the object to fetch was an amulet. There's always someone in RPGs (not just Oblivion) who've had their precious jewelry stolen, and now it's OUR job to get it back, right? Anyway, here is what to do. I shall start with the container in which the object-to-fetch is being placed.

Tip: It's easier to edit stuff, rather than right-clicking > New into the Object window. Reason is, all the features native to the object, the container, the NPC (etc.) will be included in the edited object. So for instance, the chest will already make sounds when we open and close it, NPCs will already have a set of animations and sounds that they use, and so on.


Chest: Go into WorldObjects > Container section. Find a chest in the list. Right-click on the chest and select Edit. Change the ID name to something unique. As stated, I am calling it aaaDungeonChest.

Tip: When making items, NPCs, and so on, it's a good idea to put "aaa" in front of any name being typed for ID names or Reference ID names. So if a key gets made it can be called aaaDungeonKey, for instance. This will cause the key, or most any object or quest, to get placed at (or near) the very top of any list in the Construction Set, GECK, or Creation Kit. Makes stuff easier to find.

...Conversely, some folks prefer to start ID names with ZZ, which automatically puts these items towards the bottom of most lists. Well truthfully, everyone's got their own methods. When tearing into other peoples' mods though, sometimes it can be challenging to find any content they've modified or added, if this content isn't located at the top or the bottom.

... A lot of modders will tag their content in such a way that it's always in a particular section of the alphabet. MMM's creatures all have ID names which start with (you guessed it) MMM, like MMMWolf02, and so on.


1b). Remove anything you don't want in the chest, by right-clicking these items and selecting Delete (or left-clicking and pressing Delete on your keyboard). Sometimes though, I like leaving stuff in there.

1c). Remove any scripts, if the container actually has a script (most containers don't). The script area is a drop-down menu next to the button with three dots on it (literally this button looks like [...] If the scroll-down already says NONE, that is perfect, as this means the container hasn't got a script. If it says anything else, scroll upwards until NONE is found.

1d). Click OK, and when it asks if we want to save as a New Form, choose Yes.

Note: As these items are being created, editing from stuff already in the game, the CS will ask if we'd like to save each each object as a New Form? Always click "Yes." This will create these objects as unique items, rather than overwriting stuff already in the game. You definitely DON'T want to be overwriting things which are already in the game, as this can cause problems.

SAVE from the main toolbar. Get into the habit of saving often, as the Construction Set can occasionally crash, just like the game can. Now that the mod is being saved you'll be given a chance to name it! "YourMod.esp" is what'll show in the game's Data folder, with 'YourMod' being whatever it was just named.


And now that the .esp has been named, copy it and save it into a separate folder. Always a good idea to get into this habit, as well. Sometimes I find myself making mistakes while modding, and the only choices then are to start all over from the beginning, or copy/pasting the backup which hasn't got those latter mistakes!

1e). Go into the Object window's Items section, and find Key. Repeat the same steps: 1a through 1d, while editing a key. Obviously, 1b can get skipped, since keys do not hold inventory. Anyway, these steps can be repeated for the object-to-fetch as well, except that amulets can be found in the Items > Jewelry section. Or maybe it's Items > Clothing. I forget.

1f).
NPC: Go into Actors > Actor > NPC. Making people is a bit trickier than making other objects.

NOTE: and this is very important. When editing a Bethesda NPC, make sure to edit someone found in the base game, NOT Shivering Isles. Editing a Shivering Isles NPC will confuse the game's engine, making any text written for that NPC not show up in the game! If there's any confusion about whether an NPC is from the base game or not, go to www.UESP.net and find that NPC. Make sure he or she is not from SI. Some NPCs from Shivering Isles start their ID names with "SE", when viewed in the Object window.


... It is also important to edit a named NPC, such as Samuel Bantien, rather generic one, such as a marauder or a bandit. Editing generic people is okay if making another generic, but if you're making somebody who is named (and therefore unique) it's less work to begin with somebody who is named.

Get rid of any AI, Factions, or scripts associated with your edited NPC. For instance, if you've edited a guy whose everyday life has him walking, sleeping, and eating in the Imperial City, that's exactly what the edited NPC will try to do if you don't get rid of his/her AI. When you find the guy in-game, he'll probably be walking out of the cell he's been placed into!

... So, click on the edited NPC's AI button, then right-click on any AI packages found in the AI Package List. Delete all of these. Also, look at the NPC's Aggression rating. For most ordinary town-dwelling people, this rating is going to be set at 5. If, for some reason, Aggression is set much higher than this, if it is over 40 for instance, change this to 5.

... To get rid of Factions, click on the Factions tab (which is right between Stats and Inventory). Right-click and Delete any factions listed. We can also add factions, if we want our NPC to be allowed into certain restricted areas, but that's for another tutorial.

....Getting rid of scripts has already been discussed while making the Container. Do this now, or wait until later during step 10b, assuming the NPC (or any other object being edited) actually has a script. Not all NPCs do, but scripts are found more often on people than they are on containers or keys.

In a moment, I'm going to go into more details about the items we're going to need.


2a). CELL + RENDER windows
Select a dangerous cell where the chest shall get placed. Or, you can opt to choose a non-dangerous cell, if you'd just like to see the quest work, without needing to deal with combat & exploration. Either way, choose a cell in the Cell window's left panel, so that it shows up in the Render window. The cell being chosen will probably be too far away to see. To get a closer look, double left-click on any item in the right side of the Cell window, a barrel or a wall or whatever.

2b). Left-click anywhere into the Render window, then tap A on the keyboard to see better!

For anyone who's not sure how to navigate around the Render window, a good description of mouse & keyboard commands can be found here, in the box right under "Introduction."

2c). Find the chest edited earlier in the Object window > WorldObjects > Container section and drag the chest into the Render window. Find a spot where you'd like the chest to be, then press F so that it falls to the floor, or some other surface like a table. >> Though it might seem like this chest is going to be easy to find, since we're the one putting it in some dungeon, oftentimes once we're back in-game we might be surprised how often our own content might take some searching for!

Note: Working in the Render window can take lots of practice. For those who're having trouble selecting the chest, rather than a wall or some other dungeon feature, sometimes it helps to get really close to the chest (or any object you'd like to move) with the cursor. Use the mouse wheel to do this. Double-click on the item until its Reference panel pop up.

...Once the chest selected, this panel will list the chest's name in its Base Object slot. Use the mouse wheel to zoom in and out, to get closer or farther. To move the entire cell, hold down the mouse wheel while moving the mouse. This will to cause the entire dungeon to move. Do this until finding the correct cursor position, where it can grab the chest properly. Once you've got the chest selected, the cursor will turn into a + sign, with pointers on it. Left-click on the chest and hold the left mosue button down to move the chest around by itself.

The set of mouse & key commands I just linked to really helps with object movement; here is that link again. When accidentally moving something you shouldn't move (like an entire wall or floor!), click ctrl + Z. This will get whichever object back to where it should be.


Note 2: If you've got any mod in your game which change dungeons (such as Snu's Dungeons), there's always a chance that any content being added or changed won't necessarily conflict with others such as Snu's, but it's possible to find some odd things happening back in the game, and in that dungeon. I once modified a cave, added my own enemy into this cave, only to find that enemy was dead by the time we got there. Why? Because a plug-in I've got called Fighters Guild Quests added about fifty mudcrabs into that same cave!


3). Once the chest is in its proper cell, double left-click on it in the Render window. This will open up the chest's Reference panel. Now click on the Edit Base button, and drag the object to fetch, whether its's an amulet or something else, from the Object window into the chest's inventory window. Make sure the darn thing (the chest) doesn't respawn, by making sure Respawn is not toggled.

Click OK.

4). Now we're back to looking at the Reference panel for the chest. There should be four visible tabs on this panel: 3D Data, Enable Parent, Ownership, and Lock. Go to the Lock tab, and toggle 'Locked' on. Make the lock's Level whatever is desired, from "Very Easy" (one tumbler) to "Needs a Key." We can have the NPC we made give us the key we made, and make it so that it will fit this chest (optional)*. Toggle the Key bar, and search for the Key that just made, aaaDungeonKey, or whatever. THIS KEY will open this chest.

* All of this key stuff is optional, because sometimes it doesn't make sense for the quest-giver to magically have the exact key that opens some chest far away! But not everything needs to make sense in the world of Tamriel, right? .... we're just learning here.


5). CELL window
Place the NPC in a friendly cell, such as Bravil's Silverhome-on-the-Water (which will be called BravilSilverhomeOnTheWater in the Cell window).

> An optional step is to give him or her appropriate AI packages, Faction, Class, etc, following steps found in this Beth tutorial. We don't absolutely need to add AI, but if we don't, the NPC will simply stand wherever he or she was placed, hardly able to move. This might be okay for our purposes now of course, but in the future, all these things can be added to make people more dynamic.

Go to the CS's main toolbar and click on the SAVE icon. Keep saving, too. Always a good idea, and I'm going to keep repeating this idea because it is that important.

6). Click on the Q button (on the Construction Set main toolbar). This is the Quest window, where quests get made. Since most of these tutorials deal with quests, I'll be clicking on this button a lot! wink.gif

7a). QUEST DATA tab
Right-click on the Editor window, and give the Quest a unique name. For this tutorial I am calling my quest aaaFetchQuest1, though you can call yours whatever you'd like. Also, give the quest an actual name in its Quest Name slot. This name is what will appear in the game's quest journals.

7b). Priority can be medium-high. 60 is good for now, though for other quests this number can vary quite a lot. Those with higher priority (such as the quest which causes arrest) are going to take precedence over those with lower priority, such as Generic Dialog-type quests.

Toggle "Start Game Enabled" on, if it's not already toggled.

7c). Now, look toward the center of the Quest Data page, where the Quest Conditions box is. Right-click > New into the main white portion of this box, or click the New button at the bottom-left. By default, the CS will display the GetDisposition function, but we don't need GetDisposition.

7d). Go to the scroll-bar next to the New button, and search for (or type in) GetIsPlayableRace. As you type, the CS will fill in what it thinks you're looking for, saving some time.

7e). Ignore Function Parameters, but make sure Comparison is ==, and Value is 1. So altogether, in the Quest Conditions window it will say GetIsPlayableRace NONE == 1. This is what the game uses to make sure only playable races (wood elves, Khajiit, Redguards, etc.) can receive this quest in the first place.

7f). Follow all the steps from 7c to 7e, except this time add GetPlayerInSEWorld NONE == 0. This function makes sure the player/character is not in Shivering Isles, which the CS refers to as SE World for some reason.

Again, here is what you should see in the Quest Conditions box...

GetPlayerInSEWorld NONE == 0.00 AND
GetIsPlayableRace NONE == 1.00



8a). QUEST STAGES tab.
Right-click in the Index window, and select New. The number 0 will show up. Just leave it like that.

8b). Now right-click > New four more times, but type numbers for each of these four. Altogether, I am choosing 0, 10, 20, 30, and 100. These numbers don't have to be exactly 0, 10, 20, 30, and 100, you can use whatever numbers you'd like, but always make sure there is some numerical space between whatever numbers being added. Don't just put 1, 2, 3, 4, etc.. Doing this makes it impossible to add content in between these stages, which can get problematic at times. Because sometimes when writing quests, all the sudden we'll think of more content which should go between any two stages, see?

Anyway, three of these five indexes will include text which will show up in our Current Quests journal as the quest updates, making that drum sound. *Doooon!*

8c). Don't touch Stage 0 at all. It is more like a pre-stage, which exists as soon as the game starts up.

8d). Click on Stage 10, and right-click > New into the top Log Entry box. Doing so will open up the box below it (which is also called Log Entry). This is where all those nifty in-game quest updates get written. But don't do anything else. There should be the word EMPTY in the top Log Entry box. Just leave it like this.

> During Stage 10, the NPC greets our character, and will be telling us about his/her missing item, laying it all out there. If the player decides they don't want to hear the NPC's speil (in other words, if the player backs out of conversation during, or just right after the NPC greets us), it would be silly for the quest to update. We should be able to back out of greetings without quest updates, otherwise it feels like the quest is railroading us.

Note: (Better Cities quests are famous for railroading!)

8e). The next stage (which I'm calling 20) will be a true quest update that will put information into the in-game Current Quests journal. This update pops up only if the player clicks on the NPC's Lost Item topic though, after we have listened to the NPC's initial greeting, and decided to help him or her. We haven't written this topic yet, but we will.

So go ahead and right-click into the top Log Entry box. Now left-click into the central Log Entry box, and start typing the update. "I have met a desperate man who seems to have lost his amulet"... etc.

8f). The next index (30 in this case) will need some text explaining that the lost item has been found. "I have found the item that was stolen from Bob"... etc.

8g). The final Index (100) can have text stating what has happened altogether, now that the entire quest is over. "I have found the magic amulet stolen from Bob, and have returned it to him," or whatever. Make sure to toggle Complete Quest on for this one.

8h). Add a script into Stage 100's Result Script box, which says ...

StopQuest aaaFetchQuest1

If this doesn't get added, the game's engine will try to read any scripts associated with this quest over and over forever, which causes unnecessary bloat. cake.gif


9a). TOPICS tab.
The Topics tab is where the bulk of PC/NPC dialog gets written. Other tabs (Conversation, Service, Detection, etc.) only get used for specific types of dialog. Anyway, right-clik into the Editor ID window and select Add Topic. Look for and left-click GREETING, and press OK. The slot for Topic Text will now also say GREETING. Do not change this.

...Notice I skipped over the Quest Targets tab. This is the tab in which we can add (guess) Quest Targets, which show up green or red on the magical compass back in game. I never use targets, personally. I'd rather search around and not be hand-held, when it comes to missing items and such. Map markers can also be added too, which I use more often. But for now let's skip this tab.

9b). Now, make a second Topic, give this one a unique name, such as aaaLostItem. Right-click into the Editor ID window, select Add Topic. Next, right-click > New into the Select Topic panel. Type in a unique ID name .. aaaLostItem,* or whatever. Click OK.

In the Topic Text slot it will now say whatever's been typed. So if you did type aaaLostItem, this is what it will say in the Topic Text slot. Go ahead and change this to plain English: Lost Item instead of aaaLostItem. The reason is, the words in this slot are what we're going to see in-game, alongside other topics such as Bravil, Rumors, etc.

* If you've already named an amulet, or ring, or any other item "aaaLostItem", the CS will inform that we can't make multiple objects have the same name. It'll then automatically rename the topic aaaLostItemDUPLICATE, instead. This is fine. The topic will still work, its ID name will just be not very aesthetically-pleasing, here in the Construction Set.

9c). Click on GREETING in the Editor ID. Now, in the Info window (right beside the Editor ID window), right-click, and select New. A dialog panel will pop with a bunch of features on it, but we're only going to use the very top box for now, which is called Response Text. This box is where we can type an NPC's dialog. So now's the time to get creative, and add some text.

Something like "Hey, you look like a capable adventurer. I need your help to find my missing item," or whatever.

9d). Optional: change the Emotion Type scroll-bar from Neutral to any of six other emotions. And there's also Emotion Value, which defaults on the number 50. This is what changes the look on the NPC's face as he/she is speaking. Zero means there is no real difference from Neutral, while 100 will make his/her face look extremely sad, extremely happy, and so on. Numbers in between 0 and 100 can be chosen so that the NPC looks somewhat happy, sort of fearful, etc.

9e). Click OK. The panel will close, making any typed dialog appear in the central box, which is called Response Text.

>> The cool thing about adding our own words? Us modders can go into as much, or as little, detail as we'd like. We can eventually add our character's name directly into dialog, too. smile.gif If we run out of space while adding text, just Click OK, and then right-click > New into the Response Text box (where our first block of text has now been added). An empty Dialogue panel will pop up, so more dialog can be added.

9f). Look to the middle-right of the Topics page, where the Add Topics window is. Should be right above Choices. Right-click into the Add Topics window, and find aaaLostItem, or whatever unique ID got added before. Select this, and click OK.

9g). Now we're going to use the Conditions window, located near the bottom of the Topics page. Conditions get used a LOT while making quests and dialog. Right-click > New into this window.

By default, GetDisposition shows up in the Condition Function scroll-bar. Click onto this scroll-bar and search for GetIsID. This is probably the most popular function of all, because it's what the game uses to search out of thousands of people. GetIsID will narrow this search down to just one NPC, so that only this unique NPC will say the things he/she's supposed to say.

Left-click on the Function Parameters button, which currently says INVALID. A panel will pop up. Find the name of the NPC who was created earlier in this tutorial. For me, this was aaaBob (ha ha). Click OK.

Comparison should be == and Value should be 1. So altogether, this condition will be GetIsID "aaaNPCname" == 1, with aaaNPCname being the name of your quest-giver.

9h). Right-click > New into the Conditions window again, follow all the steps in 9g, but this time, search for GetStage in the Condition Function scroll-bar. Left-click on the Function Parameters button again, and look for the ID name of the quest itself, aaaFetchQuest1, or whatever. Comparison should be < and Value should be 10. We'll need to type in that value of 10. So overall, it will say GetStage "aaaFetchQuest1" < 10.

So there should be two conditions now....

GetIsID "aaaNPCName" == 1 AND
GetStage "aaaFetchQuest1" < 10


...and these conditions will ensure that only the quest-giver can deliver the opening greeting, and he/she can ONLY do this if the quest's stage is below 10.

9i). Time to type the second script (yaah fun!) into the Result Script box. Left-click into this box, then type ...

Player.SetStage aaaFetchQuest1 10

What this means: once our character is greeted by the quest-giver, the game's engine will be commanded to move the entire quest from Stage 0 to Stage 10. By doing this, it means the NPC won't keep giving us the same "Hey you look like an adventurer" greeting over and over, every time we initiate a new conversation with him or her.

Tip: It's now a good idea to click OK (closing the quest window) and save. Don't close the Construction Set itself, though. Go into the game, and make sure JUST THIS part of the quest is working. Though it can get tedious to keep going back and forth into the game like this, this is the best way to ensure everything works as it should.

9j). Reopen the Quest window if it was closed eariler, and select the Topics tab. Go back to the tall, rectangular Editor ID box, and click on GREETING. Let's add a couple more GREETINGS: one which will show up if we go back to this NPC, but don't have his / her lost item yet ("You're back, but where is my amulet?"), and one which will show up after the item has been found ("I knew you could do it! Huzzah!"). Both responses should have the same GetIsID as the first GREETING, but the second GREETING should have GetStage "aaaFetchQuest1" == 20, and the third should be GetStage "aaaFetchQuest1" == 30.

The third greeting (when the lost item has been found, and returned to the NPC) should also have a Result Script which says ...

player.SetStage aaaFetchQuest1 100

... which is the final stage of the Fetch. Type that into the Result Script box.


9k). Now go to the unique topic created earlier, highlight it, and then right-click > New into its Info box. Type in something like "Yes, I lost my valuable amulet, and I have reason to believe it is in X location..." Use the Emotion toggles to make the NPC look ultra sad or disgusted when this gets said! mad.gif

9l) In the Result Script box, add Player.SetStage aaaFetchQuest1 20. If we want to have the NPC give a key at this moment, press Enter after adding the SetStage script, and then type player.AddItem aaaDungeonKey 1 right below the SetStage script. (This assumes the key was named aaaDungeonKey of course. If it was cnamed something else, this ID should be typed exactly.)

The number 1 denotes the number of keys the quest-starter gives at this moment. So one key get get added, five keys, ten keys....and so on. Only one is needed though, of course. whitewizardsmile.gif It's never good to bloat the game with unnecessary content.

9m). Again, the Conditions for aaaLostItem's dialog should be the same GetIsID used before, but also add GetStage "aaaFetchQuest1" == 10.


Tip: In the future to make this process simpler, go back to the very first GREETING, right-click anywhere in its Conditions box, and then select Copy All Conditions. Now go to the aaaLostItem topic, right-click into its Conditions box, and select Paste. All that's needed now is make sure to change the GetStage comparison, which is <, to == so we've got GetStage "aaaFetchQuest1" == 10 instead of GetStage "aaaFetchQuest1" < 10.

It's possible to keep pasting those same conditions over and over again, which is mighty convenient, but don't get into the habit of rushing. It's important to go slow. Pay attention to which stage you're trying to match dialog for, and make sure Comparison matches up with what you're trying to accomplish. Once you're back in the game, let's say you KNOW your NPC should say certain things at certain times, but he or she is not saying them. Oftentimes it'll be a simple mistake made with Conditions, Comparisons, and so on. The dialog will be in the CS for instance, but the NPC is being commanded to say this dialog before Stage 10, when he should say it during Stage 10.

9n). Now go back to the second GREETING. This is the greeting the NPC says if we return to him or her, before finding his/her amulet, yet. The Conditions here will be

GetIsID "aaaNPCname" == 1 AND
GetStage "aaaFetchQuest1" == 20


If we want our NPC to be extra pissed during this moment, make his Emotion Angry or Disgusted. Toggle Goodbye and Say Once on, so that he or she won't say anything further, until we've got that stupid amulet back!

9o). Now to the final GREETING, which the NPC says after we have fetched the item, and returned to him or her. "Oh, you've got my amulet! You are so wonderful!!!..... bla bla bla." The Stage is 30 when this happens in my example above.

Type Player.SetStage aaaFetchQuest1 100 into the Result Script box, so the quest moves from Stage 30 to the final stage of 100. It's also possible to add or remove whatever's desired at this point. An example: you can add gold, and remove the lost item at this moment. Here's what goes into the Result Script box for Stage 30, if so.

Player.SetStage aaaFetchQuest1 100
Player.RemoveItem aaaLostAmulet 1
Player.AddItem Gold001 1000


Those scripts will bump the quest to Stage 100, remove the amulet (or other lost item), and award the character with a thousand gold. Neat, eh? Another option: those last two scripts (the RemoveItem and AddItem) can instead be placed into the Quest Stages tab's final Stage of 100, in its Result Script box. Cut those two scripts from the Topics tab, swap to the Quest Stages tab, and paste them into Stage 100's Result Script box. Doing it this way is actually better, because the item being removed and gold being added will get removed and added after the NPC finishes this final dialog, rather than during this dialog. The whole scene is less distracting this way.

9q). Click OK, closing out the Quest window, and save all work.


...So, we've bumped from Stage 0 to Stage 10 via dialog. We've also bumped from Stage 10 to Stage 20 using the NPC's words, and from 30 to 100. But.... how do we get from Stage 20 (where dialog left off) to Stage 30 (when the NPC gets his treasure back)?


10a). OBJECT window > Items
Find the lost item made during step 2, whether it was an amulet or a ring or whatever. Right-click > Edit on it, so its information panel opens up.

10b). Three selections down on the left side of this panel is Script. When editing an item which does not have a script, it should say NONE in the script's scroll-bar, which is perfect. Go to Step 10d if this is so. If the item has a script, go ahead and move the scroll-bar all the way upwards, so that it says NONE. Continue to 10c, which is the very next step.

10c). Click OK, closing the item's panel. Now, reopen the item. If the item previousy had a script, now it should be gone.

10d). So now let's have some fun, and add our own script. hubbahubba.gif Click on the [...] button. Literally, this is a button with three dots on it, which is right next to the Script scroll-bar. The script editor opens. Like most windows, this one's got its own little tool bar.

Left-click on Script, and select New.. This allows us to type into the script editor box, opening up all kinds of scripting fun. Anyway, type in the following...


scriptname aaaFetchQuest1Script

Begin OnAdd Player

End


10e). From this point, you can either click on the script editor's Save icon, or try to close the script by pressing X in the script window's upper-right corner. If you try to close it out without saving, the CS will then ask Do you want to save your script? .... And of course the answer is usually Yes.

If any odd messages show up, the script will not save or close. Usually this is due to something not being spelled correctly, or not being written in a proper way. "Begin On Add" for instance, instead of "Begin OnAdd". Don't get frustrated; mistakes like this happen all the time. Correct this, and try saving (or closing) again.

10f). Click OK, closing the item's panel. Next, reopen it. Find the script just created in the Script scroll-bar, and click OK again. Reopen the item. Make sure the script is now attached to the item.

All of this closing and reopening can seem redundant, but this process is necessary to make sure the script gets added to the item properly, without annoying error messages!

10g). Now it's time to flesh out the rest of the script, by adding...


if (player.GetStage aaaFetchQuest1 == 20)
SetStage aaaFetchQuest1 30

Endif

... between the OnAdd and End functions. Overall, the script should look like this....


scriptname aaaFetchQuest1Script

Begin OnAdd Player
if (player.GetStage aaaFetchQuest1 == 20)
SetStage aaaFetchQuest1 30

Endif

End


Again, if everything got typed okay, there should be no problem / the script panel will close. If something did not typed propertly, there will then be some weird message, screaming any mistakes. mad.gif I've been there, zillions of times. If this happens, something in the script is obviously wrong. The script editor will try to point us in the correct direction, by pointing which line has some erroneous data. It's often something small and easy to miss: a missing parenthesis bracket, or a period (full stop for your Brits) missing between Player and GetStage. Or a space between Set and Stage. rolleyes.gif Or an If statement, without a corresponding EndIf.

For anyone who wants to know more about Ifs, EndIfs, OnAdds, and zillions of other checks and functions work, the Construction Set wiki linked above explains all this stuff in great detail, in its gigantic Scripts tutorials.

Once the script is saved and ready to go, THIS collection of words, symbols, and numbers is what will wind up moving the quest from Stage 20 to Stage 30, when we fetch that lost item.

One final thing can get added to this Fetch quest. This is entirely optional, and has to do with our character getting a point of Fame for delivering that amulet. This is a little silly of course, but necessary for learning. And maybe it's not so silly. Maybe Bob tells all his friends, half the population of Bravil, about our character's exploits. Sir Bob of Bravil makes our character a little more famous.

Just open up the Quest window again, go to Quest Stages, and in the final stage of 100. Type the following into the Result Script box...

ModPCFame 1

... right above the StopQuest script. Altogether, you might be seeing all of these scripts in Stage 100's Result Script box by now, assuming you've removed that lost item, added some gold, and added a point of Fame...


Player.RemoveItem aaaLostAmulet 1
Player.AddItem Gold001 X
ModPCFame 1
StopQuest aaaFetchQuest1


12). Click OK, closing the Quest window, and then close the Construction Set, choosing Yes if you want to save.

13). A good idea now is to go into the game's Data folder. Find the .esp file just made, and immediately make a copy of it. Paste this copy in a safe place, maybe a separate hard drive if you've got one. This is a really good habit to get into, for obvious reasons.

14). Get in the game, and play! If anything is wrong, just be patient. Go back into the CS, and fix it. You're alpha-testing your own material now, which in my opinion can be the most aggravating part of quest-making. I usually turn my TV all the way down (so that I'm not actually roleplaying anymore) if I begin to get frustrated.

But I almost always figure it out, whatever it is I'm trying to accomplish, and so can you.


Conclusion: You may notice that this fetch quest boils down to maybe a minute or two of actual gameplay in total (not including travel, exploration of lairs, battles with enemies, etc.). And maybe you've spent hours designing it with this guide. This may seem like a heck of a lot of work for not much playtime. Eventually though, all of the steps mentioned in this first tutorial will become second-nature for those who decide to keep at it. You'll be able to fly through these steps much more quickly. goodjob.gif

This post has been edited by Renee: Feb 13 2024, 08:23 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ghastley
post Feb 25 2018, 04:25 PM
Post #4


Councilor
Group Icon
Joined: 13-December 10



The problem with the YouTube tutorials is that they have a fixed pace - which will always be both too fast in some parts, and too slow in others, and that they are all "watch how I did something specific which will be different from what you want to do."

I much prefer text-based stuff, that I can use as a reference, read in any order at my own pace, and preferably explains why, as well as how.

That's not easy to produce, but hypertext (HTML) makes it easier, as you can put links to the why inside the tutorial that shows how. And vice-versa; a tutorial explaining how something works can link to examples of using the methods.

So thanks for getting this thread started. I'll dig around and see if I have any Oblivion material to add.


--------------------
Mods for The Elder Scrolls single-player games, and I play ESO.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Feb 25 2018, 05:18 PM
Post #5


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



Awesome, ghastley.

QUOTE(ghastley @ Feb 25 2018, 10:25 AM) *

The problem with the YouTube tutorials is that they have a fixed pace - which will always be both too fast in some parts, and too slow in others, and that they are all "watch how I did something specific which will be different from what you want to do."


Not to mention they always get something wrong! Usually something very small, but which will cause an entire portion of the quest not to work. On the positive side, video tutorials can be good to watch just to visually see what the mod-author is clicking on, and typing into.

Anyway, hopefully I got everything up right up above, and did not make any mistakes of my own! I'll be adding one of these tutorials per week, hopefully. This means I'll be fawning over anything I add to this thread, making sure it should all go swell and smoothly, for any green modders out there.

This post has been edited by Renee: Feb 25 2018, 05:31 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
SubRosa
post Feb 25 2018, 05:41 PM
Post #6


Ancient
Group Icon
Joined: 14-March 10
From: Between The Worlds



Excellent fetch tutorial Renee! I will probably try this out with my Anchorage Aftermath mod. I always wanted a fetch quest in there to gather up a bunch of holotapes scattered around the area. But I was never able to make it work.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Feb 25 2018, 11:40 PM
Post #7


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



Thank you. I tend to write up everything I do step-by-step, because otherwise there's no way I'd remember it all!

If you're going to do this for Fallout, there might be a few things different. In fact, I know there are. But that's no problem, I've done this before for Fallout as well. As I'm looking at the fetch quest during the week, I'll see if I can glean what's different from Oblivion to Fallout 3, and then add those differences in the next tutorial.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Mar 2 2018, 11:16 PM
Post #8


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



The Kill Quest, Map Markers, and X markers. Game: TES IV: Oblivion

This is another simple quest, but it’s very essential to know how to write a Kill, since it’s such a popular quest in any Bethesda game (or any RPG, really). We’ve got somebody who's either got a bounty on his/her head, or has stolen something valuable, or is just really mean, or *insert reason here*. Bottom line, our character gets a quest to hunt this NPC down, and get rid of him or her for good.

Fetch and Kill quests, as simple as they are, are essential to know because sometimes even the most elaborate quests out there will have a fetch or a kill buried in them. When we go to confront Mannimarco during the Main Quest for instance, there are all sorts of variables and other fancy things going on, but what does this portion of the Main Quest really boil down to?

A lot of the steps that are needed (such as making NPCs and items, how to start topics and quest stages) are steps which can also be found in the Fetch quest tutorial above, and other tutorials I've linked to. To save space, I won't repeat myself a whole lot.

The first video I linked to (with the British guy) is also a Kill quest. You can therefore watch that vid, and follow along with a lot of the things I'm going to type here. However, the Brit's quest is extremely simplistic, while my version is going to be more comprehensive. I’m going to teach a few new tricks during my version.

----------------------------------------------------------------------------

1). Start up the TES4 Construction Set, bla bla bla.

This time we're going to make two NPCs, and that is all we'll need for a basic kill quest. First NPC is the quest-giver, and the second will be the one we're supposed to hunt down.

For anyone who's already made an NPC quest-giver for the Fetch quest, this guy or gal can be used again. Or, you can opt to make somebody who's totally new. If you have not made an NPC at all yet, follow the Fetch lecture up above, starting with Step 2. Or have a look at one of the tutorials linked above.

1b). So make that quest-giver, if you haven't already. If not, right-click > Edit on any named NPC who is not part of Shivering Isles. Also, do not edit a generic NPC, such as a bandit or marauder.

TIP: I frequently edit NPCs. Though it's possible to simply use pre-existing Bethesda NPCs (such as Thoronir or Jensine) to give out quests and rewards and such, sometimes they can be more difficult to work with, since they are not "blank slates," the way anybody we create will be. Sometimes, Beth NPCs have AI which causes them to roam around. Sometimes they’ll have quests and scripts associated with them, causing them to potentially be in places we don’t expect, doing things which conflict with what we’re trying to achieve. Sometimes Bethesda NPCs won't respond to the Priority rating our quest has, and so on.

Basically, in most cases it is NOT a good idea to make changes to these pre-existing NPCs who are already in the world. Changes can cause problems.

… In the future (for those who get confident and knowledgeable) it's possible to use Beth NPCs for this or that. But for now, it's better to work with somebody who is solely focused on whatever we write.

This kill tutorial is going to be focused in Skingrad, and I'm going to hide my NPC-to-kill in Cursed Mine, which is just west of SKingrad. If you've already made a quest-giver for the fetch quest, and placed him or her into Bravil (since this is what I did during the Fetch tutorial), you've now got several options. You can keep this quest-giver in Bravil and make a new one for Skingrad. Or, you can Cut (Ctrl + X) the guy/gal already made, and Paste him or her into some Skingrad cell, such as SkingradWestWealdInn, or SkingradTwoSistersLodge. Or, it's possible to just use the Bravil person, who sends us off to Cursed Mine. That final option is my favorite, I think. smile.gif I always like long road trips.

2a). OBJECT window
Now to make the enemy. Since I'm placing my enemy into Cursed Mine, which is full of bandits, the easiest way to do this is to edit a generic NPC who is already a bandit. So in the Object window, click on Actors > NPC, and expand the NPC branch so you can see all the different races.

2b).
To find a generic bandit, look into any races that bandits can possibly be in the vanilla game. So, this includes Argonians, Dark Elves, Khajiit, Redguards, and Wood Elves. Pick one of those races, so the Construction Set focuses on only this race.

There are still hundreds of NPCs listed. To make this process simpler, we'll need to narrow down to only the bandits. In the GECK and Creation Kit, Bethesda got smart and included a search feature, but for the Oblivion Construction Set, there is no search. That is okay though...

2c). At the top of the Object window are a bunch of tabs: Editor ID, Count, Users, Name ... and so on. Single left-click on Name.* This will organize all the NPCs listed in alphabetical order, from A to Z, according to their in-game names, or generic names. ... Well, some NPCs won't have a name at all, so you might be seeing a bunch of blank spaces at the top of the Name list. Just scroll downward, and you'll eventually see all the As listed.

We'll need the Bs. Keep scrolling down to the Bs, and finally some Bandits.

* This can be done with any tab. Single left-clicking the first time will organize all names from A to Z. Single left-click again, and now they'll be organized from Z to A. This can also be done with the Editor ID names, as well.

2d). Right-click > Edit on any generic bandit which is not a TEMPLATE, whether it's an archer or a melee-type, and so on. BanditMeleeFemale2, for instance. So if you want your kill quest to feature an archer, locate one of these. Right-click > Edit him or her. Make sure to follow all the steps for making an NPC discussed so far in this thread, or in any tutorials linked above.

Changing ID name is always the first essential step, and saving the edited NPC as a New Form is always the most important. Go ahead and play with Stats, Magic, Inventory, and so on.

Try to stay away from any generics that are associated with quests, or Shivering Isles. Quest-based generic NPCs often use ID names which have nonsense letters and/or numbers associated with them. You might see something like MS09BanditMissileMale. MS09 is the name of the quest that generic will be associated with. Shivering Isles generics often have SE at the front of their ID names.

I'm not sure if any vanilla bandits are associated with specific quests or Shivering Isles, I'm almost certain some of them are associated with a few specific quests. Don't use these types of NPCs though, now and in the future.


2e). Toggle "No Low Level Processing" off.

>> No Low Level Processing tells the game's engine to ignore NPCs, if we're not in their cell or worldspace while in-game. If an NPC is associated with quests, or other specific functions in the gameworld, they'll need to have low level processing off so that the game knows to keep an eye on them, even when we're not around. But the engine doesn't need to know what all the generics are up to. As far as the game's engine is concerned, these generics aren't even active until we're in their area. viking.gif

2f). Click onto the enemy's AI button, and have a look at what is in there. Typically, there'll be a couple Wander packages: one for Exterior locations, and one for Interiors. These packages cause the enemy to walk randomly around, of course. These can be kept as-is, because they won't usually wander too far from where they've been placed. There might also be a Sleep package, or an Eat package. If you don't want your NPC to sleep or eat (which could make for too easy of a kill), go ahead and right-click > Delete these.

If a bandit was edited, his/her Aggression will often be set to 100, which is fine. Almost all enemies have their Aggression set to 100. viking.gif


3a). CELL + RENDER windows
Locate CursedMine01 (or wherever) and place the edited enemy into the Render window. I tend to prefer putting kill-quest enemies into the very LAST possible location of the lair. This makes it so that we'll need to search for this enemy, dealing with all the others in front of him or her first. But if you want to just get this Kill quest over quickly, simply put the enemy into an initial room.

There are also CursedMine02 and CursedMine03, two other cells which go deeper underground. For now, just put the enemy into the first cell. This will make it easier for me to teach something later on.

3b). Have a look into the enemy's Faction tab. If an actual bandit was edited, he or she should already be in the BanditFaction. Continue to step 5, if so. But I will go ahead and show how to add the enemy into this (or any) faction.


4a). TES Construction Set main window
Make sure the enemy's Factions tab is selected. Now look at the main window, which is the window that's always below the Object, Cell, and Render windows. There's a bunch of choices on its toolbar: File, Edit, View, etc. Look for Character. Select this, and then double left-click on Faction... This will open up the Factions panel.

On the left side of this panel are all the possible factions in the vanilla game. Scroll down to BanditFaction.

4b). Left-click on BanditFaction and drag this into your enemy's Factions box.

4c). Click OK or Cancel on the Factions panel, and click OK on your NPC's panel, saving the enemy as a New Form, if you haven't done so already. There. Now the enemy is good to go, in any cell featuring other bandits.


5). QUEST window
Click on the main toolbar's Q button, and Right-click > New into the Editor ID box. For this tutorial, I am calling it aaaKillQuest1.


6). QUEST DATA tab
All the things we did during the Fetch can be repeated here. So give this new quest a name in the Quest Name slot, "A Bandit's Last Day" or whatever.

> Start Game Enabled stays on.
> Priority can be 60.
> GetIsPlayableRace == 1 goes into the Conditions window, along with GetPlayerInSEWorld == 0.

Optional: to add a little flair to the quest when it appears in the in-game journal, click on the Icon button. This will link into the Data > Textures > Menus > Icons folder. If you've got any mods that add icons, there should be some icons and/or folders to select from. Look for icons that are appropriate for your quest. For instance, since this is a Kill quest, I'm selecting an icon from the Fighters Guild Quests mod which displays a knife. Double left-click on the icon, so that it shows up (hopefully) on the Quest Data page. This icon will now also show up in the in-game quest journals. smile.gif

I have found that for some reason, some icons won't show up at all. If so, don't stress; all of this is optional.


7a). QUEST STAGES tab
I think the Brit in that video up above used two or three stages for his kill quest. I am going to use a total of six: 0, 5, 10, 20, 50, and 100. And again, you don't have to use 0, 5, 10, 20, 50, and 100, but make sure there is some numerical space between whatever numbers being chosen.

> Stage 0 is the pre-stage. Right-click > New into the top Log Entry window so it says EMPTY. Otherwise, don't need to change anything here.

>> Stage 5 is when the quest-giver first greets us, which leads to him or her giving an introductory spiel to what he/she wants us to do. Right-click into the top Log Entry box, but don't do anything further. It should say EMPTY in this box. Just leave it like that. By now, the quest-giver's initial greeting is done, and we've got a choice to click on a topic, which we haven't written yet.

>>> Stage 10 is when the quest-giver has told us all his worries (or her worries), leaving that burden on our shoulders. Great. Gee, thanks. Right-click > New into the top Log Entry box, and type something into the central Log Entry Box. "I have just met a person in need of my assistance. He has told me about a dangerous enemy living inside of Cursed Mine, just outside of Skingrad, and would like to know if i can kill this enemy." Something like that.

>>>> Stage 20 occurs after we have entered the proper cell where the enemy is hiding. Right-click > New into the top Log Entry box, and type something like "I am now inside of Cursed Mine. Gong by the smell, this place really is cursed..."

>>>>> Stage 50 occurs after we have decimated the enemy, rid him or her from existence. Something like, "I found the bandits' leader inside of Cursed Mine, and now he's been owned. Time to head back to Bob, back in Skingrad. Sir Bobby will be pleased."

>>>>>> Stage 100 is the reward stage. "I have returned to Bob, and have been paid a measly three beers! I don't even like beer. I am never doing another job for Bob again!' ... whatever you'd like. smile.gif


7b). Make sure Quest Completed is toggled on for that final stage.

In the Result Script box type StopQuest aaaKillQuest1 to keep it from running forever and ever.


8a). RENDER window
Now I am going to teach something new: how to add a Map Marker. I don't use quest targets (too much hand-holding), but I do like map markers. The NPC who gives us the quest can mark the in-game map to let us know where to go. Those who are reading this might already know where Cursed Mine is of course, but we're just learning here.

If the Render window is still open with the cell in which the enemy was added, that's great. If not, search for that cell in the Cell window, which is CursedMine01, for anybody who's strictly following this tutorial.

8b). Click into the Render window, and press A to see better. We need to get outside of this cell, now. This is easiest if the cell only has one zone to get out of. This is why I chose Cursed Mine's first zone to add my enemy into; I want to be able to get out of this zone easily, so I can include this next trick.

8c). Find the entrance/exit door to Cursed Mine, or whatever cell you're working with. There are two ways to do this. You can physically click & drag (holding the mouse wheel as you drag) the entire cell in the Render window, until the cell's entry door is located. Or, look for any doors in the Cell window, and double left-click on them. Usually, the entry door will have the numbers '01' at the end of its name.

Once the door is found, there should be a yellow rectangle with a purple pointer on its top, sitting right next to the door. *PIC* This is called a Door Marker. If you don't see this marker, press M on the keyboard. This will cause any markers in the Render window to display.

8d). Double left-click on the Door Marker. It will ask if you want to "View Door reference for this Door Marker?" which is a nerdy way of asking "Do you want to leave this cell?" Click Yes. And ... wait a few moments while the exterior worldspace loads.

We should be outside of Cursed Mine now, seeing an identical Door Marker. Double-click on this one, press Yes, and voila, we're back inside Cursed Mine. This is how all Door Markers work.

8e). Zoom the mouse-wheel out. Start looking for any nearby Map Markers. Map Markers are similar to Door Markers, except they are red rectangles with lilac-colored pointers on them. *PIC* The Map Marker for Cursed Mine should be a few yards away from its entrance, slightly downhill. Most vanilla locations will already have their own map markers. If for some reason you can't find one, it's possible to create one.

If you see the map marker outside of Cursed Mine, go to Step 10a. If for some reason you can't find it (or just want to learn how to make these), continue to the next step.


9a). OBJECT window + RENDER window
In the Object window, go to the WorldObjects branch, and look for Static. Click on Static. Click on any item in the large right window now. Look for MapMarker. Now, click & drag this MapMarker into the Render window. The marker should appear as a red rectangular marker (as linked above), which will probably be floating in the middle of space. Move it somewhere near the cell's entry door, and press F so it falls to the ground.

9b). Double left-click on the marker, so its Reference panel opens up. Give the marker a Reference ID name, such as CursedMineMapMarker or something similar. If there already is a CursedMineMapMarker (and there should be) somewhere nearby, yet you can't find it, the CS will scream that the "Form's ID is not unique!" ... Okay, whatever. Just rename the marker, since the original one can't be found.

9c). Click OK.


QUEST window > Quest Targets tab
I skipped this tab before, now I'm going to show how to use it to make markers show up on the map, once we're back in-game, and doing this quest.

10a). Make sure the Render window still shows that map marker, outside of Cursed Mine. Now, in the Quest Targets page, right-click > New into its top window, which is called Target Ref.

10b). The central section of the panel which pops up is called Quest Target Data. Select the button which says Select Reference in Render Window. Click on this button. After doing so, the mouse pointer will temporarily become an icon which looks like a Celtic cross, a + inside of a O. It will be also be red-colored.

10c). Move the Celtic cross over the map marker in the Render Window. It should turn white. Double left-click on the Map Marker. The CS will now put the Quest window back on top, and you should be seeing the name of the Cell in which that marker is in, along with the map marker's Reference name. If the official Bethesda Cursed Mine map maker was selected, the Cell and Ref slots will say this..

Cell: CursedMineExterior
Ref: "MapMarker" 'CursedMineMapMarker'

TIP: In the future when working with Map Markers, if the Render window is not open to the actual location of the map marker, you can also search for it by choosing whatever worldspace the marker is in, and then choosing its Reference ID name. This process is more time-consuming though, since you'll need to remember which worldspace that marker lies in. Exterior locations are tougher to locate than interiors (outdoor locations are often called "Wilderness"), which is one of the reasons I started inside of CursedMine01 instead of outside.

10d). We'll want this Map Marker to show up on the map during Stage 10, when the quest-giver lets us know where the enemy can be found. So return to the Quest Stages tab and select Index 10. Type ShowMap CursedMineMapMarker into its Result Script box.


11). TOPICS tab
Now to write some dialog. Three GREETINGs are needed, and one unique topic. I am calling the unique topic aaaKillTopic. To save space I'm not going into full detail here. If you need a memory-jogger on how to make GREETINGs and Topics, follow the steps found above in the Fetch quest, starting from step 9a.

For the lessons below, I am calling my quest-giver aaaQuestGiver, though you can change this to whatever ID you actually used. Note that some of the text below is redundant, if you're using the same quest-giver used for the Fetch quest. If this NPC already knows our character, type in stuff appropriate for this. "Hey, I remember you" instead of "You look like a capable adventurer..." My Kill Quest-giver is a different guy, though.

--------------------
First Greeting = "Hello, you look like a capable adventurer, might you be able to help me with something?"

GetISID "aaaQuestGiver" == 1 AND
GetStage "aaaKillQuest1" < 5


Result Script box: Player.SetStage aaaKillQuest1 5

AddTopic box: add the unique topic here. So I am right-click into this box > Add Topic > aaaKillTopic.

-----------------
Second Greeting = "You are back. Have you been to Cursed Mine yet?"

GetIsID "aaaQuestGiver" == 1 AND
GetStage "aaaKillQuest1" == 20


Note: Again, you can make your quest-giver's dialog ultra-snarky, if he/she is not pleased that we have been to Cursed Mine, yet haven't killed that wanted bandit. Toggle Goodbye on, and change their facial expressions appropriately.

--------------

Third Greeting = "You have returned! And due to my magical talisman, I already know the bandit leader is dead! Here, have some beers on me!"

GetIsID "aaaQuestGiver" == 1 AND
GetStage "aaaKillQuest1" == 50


Result Script box: Player.SetStage aaaKillQuest1 100

------------

12). Now, go to the unique topic. This is the one I called aaaKillTopic in my own build.

aaaKillTopic = “Yes, there’s a fellow who’s been causing some trouble here in Skingrad,” bla bla bla “...and I happen to know he’s been living in Cursed Mine. Here, I will mark it on your map. Will you help me?”

GetIsID "aaaQuestGiver" == 1 AND
GetStage "aaaKillQuest1" == 5


Result Script box: Player.SetStage aaaKillQuest1 10

---------------

Click OK, closing the Quest window, and save all work, please.


13). OBJECT window
So… we’ve bumped the quest from 0 to 5 via dialog, and done the same thing from 5 to 10, and 50 to 100. But what about 10 to 20? And 20 to 50?

In the Object window, look for WorldObjects > Static > and look for Xmarker in the Editor ID window. Left-click on any object in this window and type the letter X. There are the XMarkers. (Not talking about XMarkerHeading, by the way).

14a). RENDER window
If the Render window is still showing the exterior of Cursed Mine, we'll now need to get back inside. Double left-click on the yellow Door Marker near the place’s entrance, and select Yes.

14b). Back inside of Cursed Mine, where that wanted enemy’s been hiding, that bastard. Move a bit into the cell, by click + holding the mouse wheel and dragging.

14c). Left-click on the Xmarker in the Object window, and drag it into the cell. This marker will look like a red X once it’s in the cell.

14d). Press F so it falls to the floor. Position this X somewhere onto the cell’s floor, so that it's easy to click on. It doesn’t really matter where it lands. I like putting it where it's easy to click, though. I like putting it where there isn't too much other stuff nearby.

If the XMarker disappears this could be because it wasn't able to land on the floor, or some other surface. Press Ctrl+Z if this happens! Voila, now start over.

14e). Double left-click on the Xmarker, opening up its Reference panel. Give the Xmarker a Reference ID name. I am calling my Xmarker aaaCursedMineXMarker, pressing OK, and then I am immediately copying (Ctrl + C) this name, so I can paste it into a script we're about to write.

Copying Reference names so they can pasted later, or better yet, onto a Notepad or text file, is a good habit to get into, by the way.

... By default, all Xmarkers are also references, and all references can be used by the game's engine to trigger during quests. This is why the Persistent Reference toggle is greyed-out. We don't even have a choice to turn this off.


15a), QUEST window > Quest Data tab
Click Q on the CS’s main toolbar, opening up the Quest window, and select its Quest Data tab if it’s not already selected.

15b
). Time to write a script for the Xmarker. Click on the [...] button, opening up the script editor.

Note: This editor (unlike the editor we used for that Fetch item) has the power to control any object, spell, or quest function in the game, that is associated with this quest. It is like the queen on a chessboard, which often has a greater immediate reach in-game than Object scripts do.

15c). Click on Script > New, and type in the following…

scriptname aaaKillQuest1Script

Begin GameMode

End


15d). Before saving this script, look at the Script Type scroll-bar. By default, this will be set to Object. There are three choices we can make in this bar though: Object, Quest, and Magic Effect. We’ll want to set it to Quest. This is VERY important.

...If this bar is still set on Object, and you close/save it before changing this to Quest, the script will then disappear into the Construction Set. You will be able to find it, but finding it creates unnecessary steps. For those who make this mistake (and don't feel bad, I've made it a bunch of times) click on the Pencil icon, located on the main window's toolbar. The script will be somewhere in this huge list of others. Locate it, open it up, and change its Script Type to Quest.

So save the script by closing the script window, and select Yes.

15e). Again, the script won't immediately appear in the scroll-bar, even if it is set to Quest. Click OK on the Quest window (closing it) and save. Now, reopen the Quest window. The script should be in the scroll-bar now, so left-click on the bar and find/reopen it.

Click OK again (ensuring that the main script is now attached to the quest), and reopen.

15f). Add the following Conditional statements into the script, putting it between GameMode, and End.

If (Player.GetDistance aaaCursedMineXMarker <= 400)
If (Player.GetStage aaaKillQuest1 == 10)
SetStage aaaKillQuest1 20

EndIF
EndIf


Altogether the script'll look like this...

scriptname aaaKillQuest1Script

Begin GameMode
If (Player.GetDistance aaaCursedMineXMarker <= 400)
If (Player.GetStage aaaKillQuest1 == 10)
SetStage aaaKillQuest1 20

EndIF
EndIf

End


-----------------------

This means: when your character enters Cursed Mine and gets close enough to this Xmarker (less than 400 units, or at 400 units), the quest will move from Stage 10 to Stage 20, and we'll get that update saying "I have now entered Cursed Mine....etc." This Xmarker will ONLY do this though, IF the character is at Stage 10 of aaaKillQuest1 (if the character has been given this quest, by speaking to the quest-giver). Without those If and EndIf conditions in place for the quest stage especially, we could go into that cell at any time, and we’d automatically be at Stage 20, for a quest which we did not even begin yet, see?

Tip: You can change the distance that the Xmarker triggers, by changing 400 to 500, or whatever number. I wouldn’t go too small though, unless the marker is in an area with a confined entry passage, ensuring that the character will pass near it. The downside is, your character must get near enough for the Xmarker to trigger, otherwise the quest won't update. But this is why it's important to put your Xmarker into an initial area of the cell, and also an area which is not too wide, so that the character will definitely walk near it.


17a). OBJECT window
Now to make sure the quest bumps from 20 to 50. How do we do this? Find the enemy NPC in the Object window, and open his or her information up.

17b). Click on the [...] button, Script > New, and we’re going to type the following.

-------
Scriptname aaaKillBanditScript

Begin OnDeath

End

------------------

17c). Close/save the script, and click OK, closing the NPC's panel. Reopen the NPC's info and find the script in his/her script scroll-bar. Click OK again, and reopen.

Open the script.

17d). Add the following...

If (player.GetStage aaaKillQuest1 == 20)
SetStage aaaKillQuest1 50
EndIf


....in between the OnDeath event and "End". Altogether we've got this...


Scriptname aaaKillBanditScript

Begin OnDeath
If (player.GetStage aaaKillQuest1 == 20)
SetStage aaaKillQuest1 50
EndIf

End



And that script obviously triggers the quest to move from 20 to 50, once the NPC enemy gets killed. viking.gif Now.... it does not matter how the enemy gets killed, whether he falls down a mine shaft, walks into a blade trap, or whatever. But that’s why I recommended Cursed Mine; there aren’t any traps or mine-shafts in Cursed Mine. wink.gif

So there we have it. The entire kill quest has been written up, but oops! We have not rewarded the character yet.


18), QUEST STAGES tab
Go to your final stage. For me this is 100. In the Result Script box there should already be a StopQuest command here. Right above this command I am typing...

Player.AddItem DrinkBeer X

... with X being whatever number you’d like. But again, I was being silly there. You can award your character with whatever item(s) you find in the Object window, basically. I awarded my character three beers during my Kill Quest, just to add a little humor. Substitute Gold001 instead of DrinkBeer, for a more serious reward.

This post has been edited by Renee: May 8 2023, 01:55 AM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Turija
post Mar 7 2018, 11:58 PM
Post #9


Retainer

Joined: 2-November 17



Great thread. I will have to think about what I can add for Oblivion modding. Most of the modding I have done for Oblivion so far has been patches or add-ons for other mods. One of the best tools for that (besides xEdit) is the Construction Set Extender. With the Construction Set Extender, you can work on mods that have esp files as masters without having to "esmify" them, which makes things a lot easier. The Construction set Extender also fixes a ton of bugs in the CS and adds a number of new features, like color coding changes made by the currently active mod, so you can easily see what's changed. The Consruction Set Extender really makes my time in the CS more enjoyable, so that is my pro-tip for the day.

One caveat. If you are running an ENB (or ENBoost), then the Construction Set Extender won't start, so you have to remove the ENB from the Oblivion directory or rename it before launching the Construction Set through the Construction Set extender. There are several available on Nexus, this is the one I use. It works pretty well, I just click on it to launch the Construction Set Extender and it automatically renames my ENB and then automatically changes the name back when I exit.

This post has been edited by Turija: Mar 7 2018, 11:58 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Mar 8 2018, 02:53 AM
Post #10


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



Sweet Turija! See, I just learned a few new things there. Did not know about Construction Set Extender. Yeah, because the regular CS does have a few rather odd things about it So does the GECK and Creation Kit as well.

This post has been edited by Renee: Mar 8 2018, 02:55 AM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Mar 13 2018, 02:27 AM
Post #11


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



How to repair Hair, Game: TES IV: Oblivion

This one is going to feature Oblivion again, and it'll be a shortie. smile.gif I will get to other games too: Fallout 3 and Skyrim.

Anyways, yes ... hair. After rebuilding my entire Data folder from scratch a few weeks ago, I had a bunch of little problems to then take care of. One of these had to deal with weird-looking hair, or missing hair. I use a couple different mods for hair: Coolsims Hair Pack, and Apachii Wigs. I noticed that RG3 (who has Coolsims), and a variety of NPCs (some of whom have Apachi Wigs), had this jet-black hair, which looked really unnatural. Damn I wish I had a picture to show, as an example.

Anyway, the fixes are really easy, and I'm adding them here for convenience. One fix will work with Apachii, and the other with Coolsims. The Apachii fix assumes you've got Wrye Bash. I think there are ways to fix Apachii hair without Bash, in fact I saw some options for fixing hair without WB. I don't know how to fix without WB, so if you don't have Bash, just know that there are some other options out there.

Anyways, try this for Apachii.

1). Open up Wrye Bash.

2). Click on the Saves tab. Find a save, and right-click on it. At the bottom of the list is Repair Hair. Left-click on this.

3). The program will tell you whether or not it was able to repair the hair. It worked for me, hopefully it'll work for you too.


And here is the fix for Coolsims


5). To fix Coolsims hair, start your game up, with whatever save you're using currently.

6). Open the console, type in ShowRaceMenu. Do NOT close the console window.

7). Choose the hair you want for your character, but (again) keep the console window and race/class/birthsign menu open. Do not click 'Done'.

8). Press your Esc key, and make a new save.

9). Load this new save.

10). You can now close the console window, but at no time before finishing those steps should you close it, or the game will change all your character's stats back to default values.

The words below in the spoiler tags are from UESP.net, in case you aren't able to save with the console open...



This post has been edited by Renee: Apr 24 2018, 12:21 AM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Mar 18 2018, 06:29 PM
Post #12


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



How to make an NPC Vendor & Mechanic. Game: Fallout 3

This module is going to show us how to make an NPC, who is also a vendor and repair-person, in the Fallout 3 Garden of Eden Kit (GECK). The process of starting NPCs in this program is slightly different from making one in the Oblivion Construction Set (CS).

I think the reason why I wanted to make an NPC who does all these things in Fallout 3 (before I learned in Elder Scrolls games) is because there are so many areas of the wasteland in which it'd be nice to buy and sell stuff, and get our gear repaired. But nobody nearby offers any of these services. Guns in particular tend to take quite a beating as they're being used, and ammo is always in demand. Sure there are merchant caravans who wander around, but there's never one around when we need one. So I began to think it'd be nice to have some extra merchants in fixed locations.

An example is when Janet, my Talon Company rogue, took up residence inside of Fort Bannister. Nobody in there to buy / sell / repair from, yet doesn't it make sense that there could be? Most of the soldiers in there are deadbeats who only one-line our characters to death! Same thing when Cho, my main quest guy, began spending lots of time in the Citadel. I believe there are some merchants in there, but they weren't specialized enough for what Cho needs from day-to-day.


1). Open up the Fallout 3 GECK. Now, open up Fallout 3.esm, or if you've already got a plug-in you're working with, you can make this active. Everything here is exactly the same as it was in the CS, so far as opening up the main .esm, or any .esps. We're still working with the Object, Cell, and Render windows, while the main window always stays beneath the others.

First, we're going to make an NPC. If you've made people before in this game skip to Step 3a. Otherwise, the process is slightly different than it was in the CS, so for anyone who is new to this, continue the 2nd steps.


OBJECT window
You'll notice there are now eight branches in this window (rather than the CS's five). We have Actor Data, Actors, Game Effects, Items, Miscellaneous, Special Effects, World Objects, and All. Bethesda has also provided us with a convenient Filter slot, which allows us to search for specific objects if we need to.

Go ahead and try to narrow down on MoiraBrown, for instance. Make sure "All" is selected in the left side of the Object window, and then type her name into the filter. You might only get as far as Moira before *Bam* there she is, out of thousands of objects.

2). But now, let's make our vendor. Get Moira out of the filter, so the window expands back to All again.

To make an NPC, expand the Actors branch and single-click on NPC. Right-click > New into the larger Editor ID window.

Note: In the CS, it is common to edit pre-made NPCs, and then work with whatever person we've clicked on. When working in the GECK or Skyrim Creation Kit however, we often start from New, instead. This is because these latter programs include a lot of pre-configured features for NPCs, which makes starting somebody new much easier.


3a). Make an NPC as per all the usual steps: start by giving him or her an ID and a Name. Notice how the GECK has a lot of new features on this very first panel, yet there are also some features you might be familiar with, if you've already made an NPC in the Oblivion CS. I'm not going into detail right now, but if you'd like to learn more about all these features, just follow Bethesda's official link. There are also dozens of videos out there, too.

3b). Go into your NPC's Traits tab (which should be selected by default), find Class, and select Mechanic in the scroll-bar. Nothing else really matters about this NPC so far as vendoring and repairing goes, so choose whatever Race you want, whether the guy/gal is tall or short, etc.

3c). AI Data tabs
We can either toggle Autocalc Services on if we want him or her to just sell random stuff, or we can specifically click on Weapons, Food, Books, whatever we'd like them to buy and sell. I am going to make my guy sort of a low-life drug dealer. He'll sell chems in Moriarty's Saloon, and that is all. ph34r.gif

3d). Inventory tab
We're about to throw our NPC somewhere into the world, but how about we put some clothes on him or her first? wink.gif Right-click into the box where it says Count, Object ID, and so on. Select New.

3e). In the Object scroll-bar are all the possible items in the game. Single-click on this, and type in (or scroll down for) outfit. There's a huge list of generic and specific outfits to choose from. I chose OutfitWasteland02.

Tip: if you want to see what your person looks like with clothes on, move your cursor to the bottom/center of the NPC's panel (where it says Preview) and toggle Full on.


4). CELL + RENDER windows
Find a cell where you'd like your NPC to be, open it up, and put him or her into that cell in the Render window. All of this is exactly the same, compared to the CS. I put my lowlife NPC into MegatonMoriartysSaloon. Since I did this, I also want to officially make him one of Moriarty's buddies. This means adding the guy into Moriarty's faction. Adding NPCs into factions is slightly different, from CS to GECK.


5). Double left-click on the NPC in the Render window, and click on Edit Base.


6). Factions tab
Right-click > New into this box. This will open up all the factions in the game. You can choose as many Factions as you'd like, within reason. My lowlife chem dealer will be a part of MegatonMoriartysFaction and also MegatonResidentFaction. He's got some cred with the people, you see.

Click OK, and OK again (closing both NPC's panels) and save your work.

Now we're going to start a new, very short, quest. Yes, to make an NPC buy and sell, we'll need to have a quest to back this up. This goes for the prostitute (Nova, I think) inside of Moriarty's, and innkeepers in Elder Scrolls games, as well. Making quests is sometimes different in the GECK, and the main difference to start with? No more Q button on the main toolbar. Ugh.


7a). OBJECT Window
Expand the Actor Data branch, and click on Quest. You'll see all the game's quests *POP* up, all colored yellow & black.

7b). Right-click > New into the window, and give your quest a Quest Name and ID. Priority can be 55. Most quests Bethesda writes are at 55. Start Game Enabled should be toggled on, and make sure that "Script Processing Delay" is also toggled on.

One thing which is different though is we don't have to add GetIsPlayableRace into the Quest Conditions box. In fact, Bethesda never seems to use this box, anymore.


8a). TOPICS tab
Right-click > Add Topic into the large, vertical window on the left, and find GREETING. Click OK.

Note:: If you've got Windows 7, XP, or Vista, from here on you should have no problems. Continue to Step 8b. If your computer is Windows 8 or 8.1 though, chances are you won't be able to see the word GREETING in the Editor ID at all. This is because Beth configured the GECK for older systems, unable to see what the future would hold. I have heard Windows 10 is the worst, when it comes to working in the GECK. Since I don't have 10 though (I have Win 8.1) I don't know how to work around this problem with 10.

Working with the GECK's various windows for Windows 8 or 8.1 (such as the Editor ID window, Conditions, etc.) is a pain, and there is no instant cure that I've found, to get text to display properly. You can still work around this problem though. Here is how.

a. Make sure "Top-level only" is toggled off. This toggle can be found near the top-left of the Topics page.

b. Move your cursor to the very top-left corner of the Editor ID window. This box is unnamed, but it's the one in which you just added GREETING, yet GREETING is not showing. As your cursor moves over the top-left area of this window, it should turn into an icon which looks like <-||-> once it's in the correct place. Now, left-click and drag your cursor all the way to the right. You should now be able to see GREETING.

... There. I just saved all the Windows 8 owners at least an hour of frustrating Google searches! hehe.gif

Unfortunately, you'll need to repeat this process over and over again, in order to see text in various windows and boxes. Annoying, but at least possible. The Info and Response Text windows (where we start and type dialog) do not have this problem though, so we won't have to drag anything to start and type some dialog.


8b). Make some sort of GREETING. "What do you want, punk?" or whatever. All of this is done in exactly the same manner as in the CS.

8c). Right-click > New into the Conditions window. Make a GetIsID for your NPC. This is the only condition that's needed.

Again this window will be grayed-out if you've got something from the Windows 8 series (necessitating another drag from left to right), but visible if you've got anything earlier.


8d). Right-click > Add Topic into the Add Topic box, and make a unique topic which deals with vendoring. aaaVendorTopic is an example.

8e). Also add this topic in the tall, vertical window where GREETING is.

Windows 8 users: if you haven't closed the Quest window, you should still be able to see into all the smaller windows. Once you click OK though, you'll need to click & drag again, once you get back in to add things to your quest.


8f). This vendor topic will be whatever we say to get the vendor experience going. Right-click > New into the Info window, and type something our NPC will say. "Sure, I have lots of things to sell. What would you like?" Click OK, and then type something into the Topic Text slot up top. "What do you got?" or whatever. Again, all this is the same from CS to GECK.

8g). Don't forget to copy/paste the GetIsID from GREETING to the vendor topic.

8h). Look to the bottom of the Topics page now. In the Result Script (End) box, type ShowBarterMenu


9a). Conversation tab
In the tall, vertical window (which again, will be grayed-out if you've got Windows 8), right-click > Add Topic, and look for GOODBYE.

The Topic Text which Bethesda added for GOODBYE is "See ya," I think, and it's best to leave it this way. We don't have to add anything further here, no Conditions, no nothing, unless we want our NPC to say something we specifically have added.* If so, just follow all the normal steps with Response Text and Conditions (GetIsId, for instance). Otherwise, the NPC will simply give us a random Bethesda Goodbye when we break conversation.

9b). Make sure the Goodbye and Random toggles are checked on. They should be, by default.

*Note: Sometimes I have encountered glitches when trying to add specific dialog, causing the GECK to not save anything I type. If this happens, make sure there aren't any deleted Topics in either the Topics or Conversations tabs. If there are, press OK, closing out the Quest panel. Save the work done so far, close the GECK, and re-open it. Those deleted topics should be gone, now.


10). CELL window
Make sure "Interiors" is selected in the World Space scroll-bar, and find VendorChestCell. This contains all the possible chest-types in the game. Leave the Render window for this cell open,.


11). OBJECT window > World Objects > Container.

Find VendorChestBuriedClutter and drag this chest into the Render window. It apparently does not matter where this chest ends up (there is no floor) but try to put it somewhere that you can find it easily, if you need to return to this cell for some reason. Set this chest obviously off to the side if you have to, away from all the others.


12a). REFERENCE window.
Double left-click on the chest you just dragged. Click the Edit Base button. Give this chest its own ID (starting with aaa if you want it to show at the top of the list later on) and close its panel by clicking OK, saving the chest as a new form. We do not need to give it a Name, but make sure "Respawns" stays toggled on, otherwise the vendor will eventually run out of salable stuff!

12b). Go back into the chest now, and add whatever we want into its Item List. By default, this chest will have random medical stuff, and "VendorChestCapsSmall," which is going to give this vendor a variable amount of caps to buy stuff with. We probably want to add more stuff in here though, right? Right-click > New into the Item List

Some good things to add in here (if we want inventory to stay as random as possible) are VendorMiscItems, VendorWeaponsAllCommon, VendorAmmoBullets, and VendorArmorCommon. Since my NPC is a lowlife chem dealer, I just chose VendorChestChems.

12c). If we want our vendor to have a larger amount of caps to buy with, we can leave the VendorChestCapsSmall in there for the variable amount of money, but then we can a fixed amount of caps to their Item List as well. There are several choices here. Caps001 is good if we want them to have one guaranteed cap at all times, Caps90 if we want them to have a guaranteed 90 caps at all times, and so on.

We can simply choose Caps001, and then in the Count slot, we can add as much to this as we want. Type 200 in there if you want your vendor to have 200 guaranteed caps, plus whatever random amount VendorChestCapsSmall will also add.

12d). Click OK. Make sure Persistent Reference is clicked ON before clicking OK on the chest's Reference panel. Having this toggled on allows the game's engine to access this chest when we're speaking to our vendor. We do not need to give our vendor chest a Reference ID, though.


13). CELL / RENDER windows
Place the NPC vendor in the world, unless he/she is already out there.*

Tip: *Since your Render window will probably still be in the VendorChestCell, a quick way to get back to your NPC is to find him /her in the Object window, right/click on him/her, and choose Use Info. A panel will pop up with two windows. Double left-click on the text in the bottom window (where it says Interior). It can take up to a minute for the GECK to locate your NPC, but still, this process is easier than always remembering which cell you've put the NPC into.


14). Double-left click your vendor, so the Reference panel pops up. Select the Merchant Container tab. In the Cell scroll-bar, find the VendorChestCell. In the Reference scroll-bar, find the chest you just made. If you put "aaa" at the front of its ID name, yours should be at the very top of the list.


15). Click OK. And there you go.

Now, if we want this NPC to also repair stuff,..


16). QUEST window
Follow all the steps from 8d through 8g, to add dialog, conditions, and such. For step 8d, make a new topic which deals with repairing stuff. Make sure this topic links from the initial NPC's GREETING. So in that Greeting's Add Topics box, you'll now be seeing something like..

aaaRepairTopic
aaaVendorTopic


Now add some dialog into the repair topic. "I can fix whatever you break."


17). The main difference here is in the repair topic's Result Script (End) box, we're going to type ShowRepairMenu.


18). The NPC probably has a low Repair skill by default. If we want this NPC to be really good at repairing stuff, open up his/her information and select the Stats tab. Make sure Auto-calc stats and PC Level Mult are NOT chosen.


19). Click on the Repair skill (so it is highlighted) and press F2 on your keyboard. Now we can make this skill as low or high as we want, by adding some number, and then left-click on Repair to set this number. This number gets added to the NPC's base number. If the NPC's base Repair skill is 20 for instance, and we offset this by 60, their total skill will wind up as 80.

That is all. Close the GECK, save all your work, make yourself a copy of your .esp.

This post has been edited by Renee: Nov 19 2023, 08:08 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Mar 25 2018, 05:20 PM
Post #13


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



How to fix "Missing flowchartx32.dll" file. Game: TES V: Skyrim

I was going to post another modding tutorial, except this past weekend I ran into a problem with Skyrim's Creation Kit, and wrote the solution all up with a pretty bow upon it, for any others who can possibly have this problem. So here it is. Missing flowchartx32.dll is one of those things which is pretty obscure, and normally you wouldn't ever have to worry about. Until you do have to worry about it. Then it can occupy ALL of your time trying to find a fix. panic.gif

The solution to this problem was found on Page one / Post 10 of this thread. Note that some folks claimed success using methods found in this thread, going into their PC's Safe Mode. Those solutions did not work for me, however. sad.gif

Basically, the problem is this. When using the Creation Kit, if an error message shows up saying something about a "missing flowchartX32.dll file," especially when trying to use the Dialogue Views tab to write dialog for quests, here is what to do.

Oh, and I have Windows 8.1 on my gaming computer, but this seems to have worked for those who have earlier operating systems.

--------------------

1). Go to the folder where "flowchartX32.dll" is, or should be. This is the same folder where the Skyrim.exe lives. Obviously if you're not seeing this file in your Skyrim folder, you'll need to get it in there pronto, maybe locating it through a google search, perhaps. But if the file is there, yet you're still having this problem, continue onwards to step 2.

2). Right-click into the folder path bar, and select "Copy address as text." (I think those with earlier OS's can simply copy the text found in this bar).

Close the Skyrim folder.

3). Open up any Notepad page, and paste the folder path you just copied, onto this Notepad page so you can see what it looks like. On my gaming computer, the path looks like this...

C:\Modded Skyrim\SteamApps\common\Skyrim

4). For Windows 8 users, swipe the right side of the screen (Windows 7 or earlier can use their Start button). Now in the Search bar, type cmd.

5). An icon saying "Command Prompt" will show up. Right-click on this, and left-click Run as Administrator. A simple box with white-on-black text pops up. It'll have syntax saying C:\windows\system32> or something similar.

6). Type in the following: the letters cd, and then paste the path to your Skyrim folder after cd, by right-clicking the window icon in the top left corner. That should drop down a window menu that includes "Edit," which will have a sub-menu for copy, paste, etc. If there is no icon, the whole title bar may work in later versions.

So altogether, this is what I was seeing in total.

C:\windows\system32> cd C:\Modded Skyrim\SteamApps\common\Skyrim


7). Press Enter (or Return) on your keyboard. If there are any errors, the program will tell you right away. Hopefully there aren't any errors, though, and you'll be seeing this....

C:\Modded Skyrim\SteamApps\common\Skyrim>

8). Now type regsvr32 flowchartx32.dll after the text above...here is what it looked like for me:

C:\Modded Skyrim\SteamApps\common\Skyrim> regsvr32 flowchartx32.dll


9). Press Enter. Hopefully, a small panel will pop up saying "DllRegisterServer in flowchartx32.dll succeeded," or something similar. As long as a word like "succeeded" shows up, instead of something indicating "errors" are present, you're on the right track.

10). Click OK. Close the Command Prompt window.

Start up the Creation Kit. Problem should be solved.

I have heard that this problem has something to do with turning the Start Game Enabled toggle on and off too many times during the same quest, and saving the quest into its corresponding mod with this toggled turned on and off. I have not confirmed this to be true, though.

This post has been edited by Renee: Mar 29 2018, 05:46 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ghastley
post Mar 26 2018, 03:06 PM
Post #14


Councilor
Group Icon
Joined: 13-December 10



FWIW, you CAN paste into the command prompt window. At least up to Win 7, it works this way:

Right click the window icon in the top left corner. That should drop down a window menu that includes "Edit" which will have a sub-menu for copy, paste, etc. If there is no icon, the whole title bar may work in later versions.

Shortcuts like Ctrl+V won't work. Those key strokes will just get entered where you're typing. However, there is an option to change that, accessible the same way, in the Properties sub-menu. Of course, that then prevents you from entering those key sequences as data.


--------------------
Mods for The Elder Scrolls single-player games, and I play ESO.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Mar 29 2018, 05:18 PM
Post #15


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



Okay thanks, ghastley. I'll see if this works with Windows 8, because you are right, ctrl + v doesn't work.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Mar 31 2018, 11:36 PM
Post #16


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



How to make a Fetch Quest (with multiple items). Game: Fallout 3

This is going to be another fetch quest, but this time it'll be directed at Fallout 3, rather than Oblivion. Since there are lots of similarities between the Construction Set (CS) and the GECK, there isn't much point in writing a pure fetch-style quest twice. So, in this tutorial I'll be talking about fetching multiple items rather than just one. I'll also try to illuminate any differences between CS and GECK that we come across, okay?

A lot of the things in this post can be used for the CS as well. So if you make a quest which fetches multiple items in the CS, you should be able to follow most of the steps here.


One way to fetch multiple items is to use "ItemCount," which is a variable often used when multiple items are involved. So today you'll be getting your first lesson in variables, perhaps. smile.gif ItemCount, and other variables such as Dead or Timer, can be used to do all sorts of things. Today we are going to be using ItemCount to make our fetch quest bump forward while using a non-linear approach, and also generic (rather than referenced) items. In other words, say we've got three baseballs to find during a quest. We won't have to find these balls in any strict order if we use ItemCount, which frees the Player from following a strict path.

The items also won't need to be "special" (in the sense that they won't need reference IDs), but they will all need to share the same Object Script. So it'll be like picking up three generic baseballs, rather than one baseball specifically referenced (possibly owned) by Three Dog, another specific to Moira Brown, etc.

This lesson assumes you've already studied some of the steps, tips, and notes found in other lessons above, just so I don't repeat myself too much, and save some space. smile.gif It also assumes the GECK is already opened, and you've got a mod you're already working with, or at least an idea for a mod.

-----------------------------------------

1). OBJECT window
Go to Actor Data > Quest. Single left-click on Quest, and all the quests appear in the right window. Right-click > New into this window. Start a new quest.

2a). QUEST DATA
Give your quest a Name, an ID, and Priority of 55. "Start Game Enabled" and "Script Processing Delay" can both be toggled on.

2b). Open up the Script button, which (again) is the button which looks like [...], and type in the following...
---------------
scriptname aaaFetchQuestScript

short ItemCount


-----------
Substitute the words 'FetchQuest' with the name of your quest if you'd like, but the syntax I'll be using today will be "scriptname aaaFetchQuestScript."

We're going to add to that script in a minute, but for now...

2c). Save the script as a Quest in the Script Type scroll-bar. Click OK so the Quest window closes. Save your progress, and then reopen your quest. Make sure your script is in the scroll-bar.

I am going to make this fetch quest a lot more basic than the Oblivion one up above, to save time and space, so I won't go into as much detail about how to create an NPC, how to use the Render window, etc. Study the Vendor NPC post up above, if you need to backtrack.



3a). OBJECT window
You'll need to make an NPC, unless you already made that vendor from the last tutorial, and want to reuse him or her. If this is so, you can use this guy/gal again, and he/she can be today's fetch quest-giver.

If you do it this way, you'll need to change the Priority of your fetch quest to 60 instead of 55, so the game recognizes that your fetch quest needs to get done before the vendor quest's dialog (especially Greetings) kick in again. If your NPC is totally new though, you won't have to change this.

I am going to be using the same low-life chem dealer I put into Moriarty's Saloon. This guy will be the one who wants my character to fetch three stacks of Pre-War Money, and bring them back to him. When he gets his three stacks, he will then give my character some caps, and the game will reward some XP. Ka-ching!, in other words. cool.gif

From here on, you can use PreWarMoney like I am, or you can edit your own item from Bethesda's Object window. PreWarMoney can be found in the Object window > Items > Misc Items > Clutter > PreWarMoney.

3b). Edit PreWarMoney (or whatever item you're going to want fetched), and give it a new ID, saving this item as a New Form.

Note: It is possible to attach scripts to stuff Bethesda has already made without saving these items as New Forms, but it's just better to make our own ID. This way, our script won't wind up getting attached to every generic Pre-War Money stack (or whatever generic item you're fetching) in the game. Try to keep your own material clean from Beth's, if possible.


3c). Now to write that script. Or start it, at least. Open up your item-to-fetch, click on its [...] button, and type in the following.

----------------------------
scriptname aaaItemScript

short ItemCount

--------------------------------

You can substitute whatever words you'd like where "Item" is. aaaBaseballScript or aaaPencilScript. Whatever. In my game, the scriptname is aaaPreWarMoneyScript.

3d). Close the script, save it, and click OK, closing your item's panel.

3e). Now, reopen your item, and look for your script in the scroll-bar. Select this script, and press OK.


4a). CELL + RENDER windows
Place the item and NPC into any cell(s) you like. For convenience, I'm keeping my NPC in MegatonMoriartysSaloon, and placing my stack of edited Pre-War Money into MegatonMensRestroom. My current character is male, you see. Not many NPCs go in restrooms (why should they?), so the money won't get kicked around, yet this cell happens to be a public place, meaning that my character won't have to steal anything. wink.gif

4b). Single left-click on the item in the Render window, and duplicate it (ctrl + D). Now you've got two items, though they're probably sitting in the same space. Drag one of these away from the original, and duplicate it again, so that there are three in total.

If you are putting items into multiple cells, obviously you won't be duplicating. Ctrl + D is a little trick which only works if each item is in the same cell.


Note: if your fetchable items are different from one another, for instance if you've got multiple items, each with its own ID name, this is okay. As long as the same script gets used for all of these, and that script can also be attached to the item, everything should work.

Some items can't have scripts attached directly to them though. Holotapes are an example. For these items, Reference IDs will need to be used, and then the main script can handle collection of these items. That's for another tutorial, though.


5). OBJECT window
Go back to Actor Data and find your quest. Click on the Quest Stages tab. Put seven stages into the Index. I am using the stages 0, 5, 10, 30, 40, 50, and 100.


6a). Topics tab
Right-click > New into the Editor ID window (Windows 8 users: this is the tall vertical window which doesn't have a name). Find and select GREETING.

6b). Make a greeting which the NPC will start with. "Yo, you got a moment?" is what my chem-dealer will say.

6c). Conditions window: make a GetIsID for your NPC, and GetStage Quest: 'aaaFetchQuest' < 5.

6d). In the Result Script (End) box, type Player.SetStage aaaFetchQuest 5

6e). In the Add Topics box, add whatever unique topic name you'd like. For me, this is going to be aaaFetchTopic.

6f). Right-click > New into the Editor ID window, find your unique topic, and click OK.

6g): Highlight the topic you just created, and add some dialog which the NPC will say. "So I gots these three stacks of bills hidden in the men's restroom... and I needs somebody to go get them for me," is what my chem dealer will say. "I can't go in there myself, 'cause I don't want the sheriff to see me goin' in there."

a). One of the differences between the CS and GECK is we can make NPCs move around in specific ways as they speak to us. Before you click OK, click on the Use Emoticon Animation toggle instead, so that it is off.

b). In the Speaker scroll-bar, look for any animation which seems like it'd be appropriate for the moment. There's a HUGE list in this scroll-bar, and not all animations will work (a animation for an ant or a brahmin, for instance, will not work on a human).

But for instance, I am choosing 3rdP1HPShrugs, which will cause my chem-dealer guy to look as though he's trying to be nonchalant.



Now.... another one of the differences between the Oblivion Construction Set and the Fallout 3 GECK is we can either use the Topic Text slot to move dialog forward, or we can use the Prompt slot, which is right below the Info window. Basically, you can use just one Topic for your entire quest, along with that initial GREETING. Instead of potentially making dozens of new topics, you can instead use the Prompt slot to introduce new dialog for us to click on, once we're back in-game.

I hope that made sense. laugh.gif It will eventually, if it doesn't at the moment. Basically, the Prompt slot will save us from having to create a bunch of different Topics.


6h). So I am going to leave Topic Text as "aaaFetchTopic," but I'm going to change Prompt to "What is it? I'm not interested in any of your junk."

6i). Go back to the GREETING's Conditions window, and Copy All Conditions found there. Now go to your unique fetch topic, and Paste these conditions in there, changing GetStage 'aaaFetchQuest' < 5 to GetStage 'aaaFetchQuest' == 5.

Also, type player.SetStage aaaFetchQuest 10 into the Result Script (End) box.

6j). Toggle Say Once on, unless you want the option to have your NPC repeat the same "Go fetch these items" over and over during Stage 5. (Edit: actually, ignore this, since the setstage causes dialog to move forward, Say Once won't be needed. If the same stage is kept though, Say Once can be used if we don't want dialog to keep repeating/the same Prompt or Topic Text to keep being shown.)

6g). Click OK, closing the quest window. Save, and reopen your quest.


7). QUEST window > Quest Stages tab
Notice I am sort of dancing back and forth between Quest Stages and Topics this time, rather than writing up all the Stages, and then writing all the Topics as I did in earlier lessons. I usually dance back and forth like this as I write quests; and once you get good at writing your own, you won't need to follow any strict sort of path yourself.

Anyway, here is what our quest stages are going to look like.

------------------------------------

Stage 0: Right-click > New into the top Log Entry window, and move on. It'll say EMPTY in there. Just leave it like that.

-------------------------------------

Stage 5: Right-click > New into the top Log Entry box, but this time, type whatever you want into the lower Log Entry box.

Note: Unlike the Oblivion CS, the GECK does not use Log Entry Info when quests get bumped. Instead, the GECK uses Quest Objectives for our in-game quest messages. So, whatever you type into the Log Entry box will be strictly for your own reference, and will NOT appear in the game. Therefore, you don't really need to type anything into Log Entry. It helps to add something in there though, just to keep things organized for your own purposes. Just imagine that you've got dozens of stages, and begin to forget what their significances are as you add more!

Anyway, by now the NPC has greeted our character, but has not told him/her what needs to be done yet. You can simply type "NPC has greeted the PC" into Log Entry.

----------------------------------
Stage 10: Right-click > New into the top Log Entry box again. For your own reference, you can type "NPC tells PC about some items that need to be found, and brought back."

In the Result Script box, type SetObjectiveDisplayed aaaFetchQuest 10 1. This command is what will cause one of those creepy messages to appear onscreen, once we've reached this stage in the game. The number "1" at the end is very important; it is what tells the game to flash that message on. Easy to forget that final "1", and then get an error message. rolleyes.gif I've done this soooo many times, folks. panic.gif

----------------------------------

Stages 30 and 40: These two stages are optional, so far as in-game messages go. When the Player finds the first stack of money, the quest bumps from 10 to 30. When he/she finds the second stack, it goes from 30 to 40. Each stage will have its own corresponding message in my game from the Quest Objectives tab, but if you find all these messages distracting you don't absolutely need to add them.

I will simply teach you the most important messages in a moment, which are 10 and 50. If you want to add more on your own, this is certainly possible.

-----------------------------------

Stage 50: Under Log Entry you can type "All items found" into the lower Log Entry box.

Result Script will be....

SetObjectiveCompleted aaaFetchQuest 10 1

SetObjectiveDisplayed aaaFetchQuest 50 1


... and these will cause the game to say the message from Stage 10 has been completed, while the message from 50 has just been assigned to us. We have not created these messages yet, but we will.

-------------------------------------

Stage 100: "Items brought back to NPC" can go under Log Entry. And make sure to toggle Complete Quest on.

-------------------

8a
). Quest Objectives tab
We're going to type those creepy in-game messages now. Right-click > New into the top window, which is called Objective Index.

8b). Change the number in the Index slot from 0 to 10.

8c). Type whatever you'd like into the Display Text slot. This is what we're going to see flash across the screen, after the NPC tells us of the items he/she wants fetched. So I'm going to type "Find three stacks of Pre-War Money" into this slot, and you can substitute your own material here.

8d). Follow the same steps for the objective which will appear for Stage 50. So during Stage 50, "Find three stacks of Pre-War Money" will show up as COMPLETED in my game, and then my character will get assigned its next mission, which (for me) will be "Return to Chem Dealer in Moriarty's Saloon for reward."

Note: Working in the Quest Objectives tab can be notoriously slow as you move from window to window. Just be patient!


9).
Quest Data tab
Time to flesh out the rest of the quest's main script, heh heh. Open it up, and here is what it'll look like in my game ...

scriptname aaaFetchQuestScript

short ItemCount

Begin GameMode

If (aaaFetchQuest.ItemCount == 1)
SetStage aaaFetchQuest 30
EndIf

If (aaaFetchQuest.ItemCount == 2)
SetStage aaaFetchQuest 40
EndIf

If (aaaFetchQuest.ItemCount == 3)
SetStage aaaFetchQuest 50
EndIf

End


----------------------------------------

Not so bad, eh? The quest will bump with each item we find now. However, the game's engine also needs to be able to "see" whenever we pick up one of these items, at the very moment we pick it up.


10). OBJECT window
Find the object you edited earlier. And here is what goes into its script. Again, you can substitute your own words where I currently put aaaFetchQuestScript, if you haven't already done so.

scriptname aaaFetchQuestScript

short ItemCount

Begin OnAdd

If (Player.GetStage aaaFetchQuest == 10)
If (aaaFetchQuest.ItemCount < 1)
Set aaaFetchQuest.ItemCount to 1
SetQuestObject aaaObjectName 1
EndIf
EndIf


If (Player.GetStage aaaFetchQuest == 30)
If (aaaFetchQuest.ItemCount == 1)
Set aaaFetchQuest.ItemCount to 2
EndIf
EndIf


If (Player.GetStage aaaFetchQuest == 40)
If (aaaFetchQuest.ItemCount == 2)
Set aaaFetchQuest.ItemCount to 3
EndIf
EndIf

End

--------------------

Tip: Note in that first If/EndIf block I typed in SetQuestObject aaaObjectName 1. Substitute your own item's name where it says aaaObjectName. What this does is makes your mundane item into a Quest Object, which prevents the player from simply dropping this item twice, and picking it up two more times to bump the quest forward. Although you might not cheat in this manner, this trick will prevent anybody who uses your mod in the future from doing so, and then claiming that your fetch mod is "broken." rolleyes.gif

You can also change the status of a Quest Object back to zero by typing SetQuestObject aaaObjectName -1 anywhere that a Result Script box appears in the GECK.


11a). QUEST window > Topics tab
Open up your quest again, and find GREETING. Add the greeting which the NPC says when we return. "Have you got my things yet?" or whatever. Conditions are....

GetStage aaaFetchQuest == 50 AND
GetIsID aaaNPCName == 1


11b). Click on the topic you created earlier. For me, this was aaaFetchTopic. Make some dialog the NPC will say. "Oh hell yes, you got my things! Here is your reward."

11c). Put something appropriate in the Prompt slot. "I have returned with your things.... bla bla..." Again, this is what your character will say (what you'll click on), once you're back in-game.

11d
). Copy All Conditions from the Stage 50 greeting, and Paste them into your fetch topic.

11e). Result Script (End) should have Player.SetStage aaaFetchQuest 100, and toggle Goodbye on if you'd like the NPC to dismiss your character, without having to click on that awkward "Goodbye" option.


12). Quest Stages tab
Go to your final stage, which is 100 (unless you chose some other number). Make sure Complete Quest is toggled on. And here is what'll go in the Result Script box...

SetObjectiveCompleted aaaFetchQuest 50 1

Player.RemoveItem aaaFetchObject X

Player.AddItem Caps001 X

RewardXP X

StopQuest aaaFetchQuest


Where it says aaaFetchObject, put the ID name of your fetchable object. Where it says X, you can substitute your own numbers. So in my game, 3 Pre-War Bills being removed, 50 caps are given to my character, and just 5 XP are awarded for him, since he didn't have to work very hard at this one. wink.gif


13). There you go. Save your work, close the GECK, and always make sure you make an immediate copy of your .esp, or overwrite one already in your backup folder.

This post has been edited by Renee: Jan 31 2023, 04:37 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Apr 3 2018, 02:56 PM
Post #17


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



Each exterior cell is 4096 units by 4096 units or 192 feet by 192 feet or 58.5 meters by 58.5 meters.

There are approximately 86 cells, counting from a bit below Leyawiin all the way up to the invisible border north of Cloud Ruler Temple.

192 x 86 = 16,512 feet. 5,280 feet = 1 mile. 3 miles = 15,840. So, north to south, the game world of Cyrodiil is slightly larger than three miles.


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ghastley
post Apr 10 2018, 07:33 PM
Post #18


Councilor
Group Icon
Joined: 13-December 10



At some time in the past I did a tutorial on how to create the conversations between NPC's, which I'd just done for the staff of Gweden. I have all the screenshots of the Construction Set dialogs, but can't track down the text. I'm frantically Googling, trying to see where I might have posted it before. If it turns up, I'll copy it here.

This post has been edited by ghastley: Apr 10 2018, 07:33 PM


--------------------
Mods for The Elder Scrolls single-player games, and I play ESO.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Apr 10 2018, 08:15 PM
Post #19


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



That'd be great. smile.gif

This post has been edited by Renee: Apr 10 2018, 10:18 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Renee
post Apr 24 2018, 12:19 AM
Post #20


Councilor
Group Icon
Joined: 19-March 13
From: Ellicott City, Maryland



Making a weather-changing item. Game: TES IV: Oblivion.

This is going to be a shortie.

I had this idea for Sarah Phimm's game a bunch of months ago to make an item which would change weather, just like that, if she equipped this item. She is a vampire, and as we all know, when vampires get stuck outside in sunlight, things really start to suck for them. But, if the weather is "bad", if it is rainy for instance, vampires won't take the full effect of sun-damage they'd take on a sunny day.

So that was the idea. To make an item for my vampire character, so that if she happened to get caught outside when the sun was coming up, and had nowhere to run & hide, she'd at least be able to equip this magical item. This would keep things very roleplay-ish, without needing to play Weather God with the console.

This magic item was incredibly easy to create. I assumed I'd need to delve into magic scripting, something which I still have not learned yet. But such was not the case. Actually, getting this idea to work was merely as easy as retrieving a console code, and then attaching it to that item via script.


1). Open Construction Set, bla bla...

2). OBJECT window
First, choose an ordinary, non-enchanted piece of jewelry, or any item which is wearable, and not already enchanted. Although I chose an amulet for Sarah's game, this effect should work with any piece of jewelry, clothing, armor, etc.

But since I chose an amulet ...

Items > Clothing > Amulet.

Find any of the non-enchanted amulets, such as JewelryAmulet6Jeweled, right-click and edit this with a new ID and new name.

3). Make sure the item is Playable (duh). And also, make sure it hasn't already got a script attached to it. If it does, get rid of this script, so you can write your own.

4). Click OK, saving as a New Form. Find and reopen the new item.

5). Tap on the script button, which is the one which looks like [...], and then Script > New Script. And check out this incredibly advanced bit of coding, yo.

scriptname aaaItemScript

Begin OnEquip

If Player.IsInInterior == 0

fw 38eef

EndIf

End


"Item Script" can be whatever name you choose. ... and that's it! Note that the weather code there is for fog, and it's the same exact code that we'd use for console commands. "fw" = "force weather," and 38eef is what Bethesda chose for fog in the vanilla game. This code will still work if you've got All Natural installed in your game though.

We can choose any weather codes found on UESP's Console Tutorial page, So to change this to sun, substitute 38eef with 38eee. Rain is 38ef2, and so on.

6). Close Construction Set and bla bla bla...

This post has been edited by Renee: Mar 13 2024, 07:12 PM


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

6 Pages V  1 2 3 > » 
Reply to this topicStart new topic
3 User(s) are reading this topic (3 Guests and 0 Anonymous Users)
0 Members:

 

- Lo-Fi Version Time is now: 19th March 2024 - 11:40 AM