Help - Search - Members - Calendar
Full Version: Renee's Modding Thread
Chorrol.com > Mods > General modding
Pages: 1, 2
mALX

These are awesome tips! Thanks Renee!








SubRosa
Wow. That is amazing.
Renee
aw, well thanks.
I appreciate your encouragement, because even a simple quest like this takes a lot of learning. I feel like I'm getting the hang of it though. I really, finally am!


http://chorrol.com/forums/index.php?s=&...st&p=225359

http://img.photobucket.com/albums/v90/subr...Oblivion203.jpg

https://i1113.photobucket.com/albums/k505/m...21-05-51-44.jpg

https://web.archive.org/web/20200220053831/...ou-now-4/page-1

https://hosting.photobucket.com/albums/ad20...zpseff92113.jpg
Renee
Repeatable Bounty Quests, How to add new locations. Game: TESV: Skyrim

Here's how to add extra locations for plundering, and it assumes the previous lesson has already been completed and tested. Ultimately a total of FIVE locations can get added per quest, and that's as far as I prefer to go. Perhaps more than five can be added in the long run, but I prefer five for my own sanity.

1). Open up the mod and quest which have been built. The steward or agent who dispenses quests has already been made, and I am assuming the same person is going to be used.


2a). OBJECT window > Character > Quests > Bounty Quests\
Click on the Quest Stages tab. There should already be six stages here: stages 0, 10, 15, 20, 30, and 50. Add four more stages: 16, 21, 31, and 51.

Stage 16: Stage 16 is similar to Stage 15. Since a second location is getting added, stage 16 gets selected if the Player chooses to inquire about this second location. In my game, this is going to be Uttering Hills Cave. Right-click > New into the top Log Entry window. It'll say EMPTY in this window, and this is how we're going to leave it. In the Papyrus Fragment box, type ; X Location inquired, with X equaling whichever second lair you'd like to plunder.

Stage 21: This stage gets chosen if the player chooses to go to a second location. Again, right-click New, and type ; X Location chosen.

Stage 31: This gets triggered if the leader of the second location gets pwned. Right-click > New again, and type ; Leader of X location has been killed.

Stage 51: This is the reward stage. It is possible to simply use Stage 50 as an all-purpose reward to simplify things, but I like having different final stages, because each job should pay a little differently in my opinion. Final dialog can also vary. The steward might say a different set of congratulations after we take down Uttering Hills Cave, compared to the less remote Morvunskar, right?


For each new location which gets added, simply add four extra stages. My next location will include Stage 17, 22, 32, and 52, for instance.

2b). Click OK and save. Reopen the quest.


3a). Dialogue Views or Player Dialogue tab
There should be two branches of dialog already. The first branch deals with starting the quest and choosing a location (or not). The second branch deals with our reward phase. Click on the first branch.

I am going to describe what to do using the Dialogue Views tab. I am starting to get the hang of using this tab's windows, after all.

3b)
. Right-click into the large yellow box and select Add Topic.

3c). Change ID to something locational. So for instance, I am changing the ID of this topic to aaaUtteringHillsTopic. Topic Text can simply be the name of the location, so Uttering Hills Cave goes here in my game. Click OK.

3d). Find the first locational topic. This topic already corresponds to Stage 10 going into Stage 15. Open this topic up, and Copy All three of its conditions (GetIsID, GetStage, and GetDead).

3e). Now, back to the new topic just made. Double left-click into the blank white space (under the new topic's name). The Topic panel pops up again. Right-click > New into the giant lower window, and type the steward's response text. "Uttering Hills Cave, located somewhat on the edges of the Jarl's region..." and so on.

When the larger Topic Info panel pops up, Paste the three conditions into the Conditions window. Get rid of the GetDead condition, so only GetIsId and GetStage remain.

Don't forget to Record some voice, or simply record silence if no voice or microphone is available. Toggle 'Force Dialogue' (actual name?) on, and keep 'Has LIP File toggled' on.

3f). In the Papyrus Fragment: End box, type GetOwningQuest().SetStage (16). Copy this line of script so it can be pasted into other Papyrus Fragment boxes. Click OK. Click OK again, and save.

3g). Reopen the quest, and open its initial branch.

3h). Left-click on the very first Topic made for this entire quest. This should basically be its initial dialog.

3i). Move the cursor downwards into this topic's white area, so that it changes from a pointer to a hand. Now click and drag this hand from this initial topic to the topic which was just made. Voila, now the initial topic is linked to both locational topics.

Click OK, and save.


4a). Reopen the quest. Right-click > Add Topic into the initial branch's yellow area. This topic gets chosen if the player chooses to plunder the second location. So, ID can be aaaLocationYes, with "Location" being whichever location has been chosen for plundering.

4b). Click OK twice. By now, the Dialogue Views page might be quite a mess. Go ahead and rearrange all these topics to your liking, toggling Show All Text off if desired.

4c). Double left-click into the new topic's white area, then right-click > New into its main (lower) window. Type some dialog: "Oh blessed, we have been waiting for somebody to rid the scum of Uttering Hills Cave for months now..." Additional dialog can be typed: how to get to this location, how much it'll pay, and so on.

4d). Paste the two conditions (GetIsID and GetStage) into the Conditions window. The GetStage should be changed from 10 to 16.

4e). Paste GetOwningQuest().SetStage (10) from the quest's initial topic, changing 10 to 21.So it's going to say GetOwningQuest().SetStage (21).

4f). Click OK. Now link the previous inquiry topic to this new locational "Yes" topic. Click OK. Save.


5a). OBJECT window > Actors > Actor
Time to make the enemy leader. viking.gif Right-click > New into the window. Give the enemy an ID, Name and Short Name. I always use Boss for Short Name, which makes these enemies easier to find in the Object window.

5b). Toggle Unique and Respawns on. Click OK.

5c). Reopen the enemy, going through all the different tabs. Make sure, for instance, that this enemy winds up in the same faction as all the others he or she will be living with. Make sure the enemy's AI Data is Very Aggressive and either Brave or Foolhardy, otherwise they'll just stand there looking at us as we rush into their lair. Click OK.


6a). CELL + RENDER windows
Put the enemy into the proper cell, and give this enemy a Reference ID.

6b). Open up the enemy's Actor panel. Right-click > Add Script into the Papyrus Scripts window.

6c). Double left-click on [New Script]. Type something pertinent into the Name slot, such as aaaUtteringHillsChieftainScript. Click OK.

6d). Click the Properties button. Click Add Property. Change the Type scroll-bar to Quest.

6e). Name can be something unique, dealing with the enemy's ID name + property. aaaUtteringHillsChieftainProperty, for instance. Click OK, and wait for the Property to show up in the left window.

6f). Highlight (left-click) on the property. Press the Edit Value button. Find the quest's name in the Pick Object scroll-bar. Click OK.

6g). Right-click > Edit Source on the script. The first two lines of script have automatically been generated. The rest will need to be typed in mostly by hand. It is possible to simply Ctrl + C the property's name (located in the second line of text) and Ctrl + V (paste) it into the fourth line of text.

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

Scriptname aaaUtteringHillsChieftainScript extends ObjectReference

Quest Property aaaUtteringHillsChieftainProperty Auto

Event OnDeath (Actor Killer)
aaaUtteringHillsChieftainProperty.SetStage (31)
EndEvent


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

6h). Click OK. If the script saves successfully, great. Go ahead and save.


7a). OBJECT window > Character > Quests
Open the Dialogue Views or Player Dialogue tab, and select the Reward branch.

7b). I am not going into full detail here, but follow steps above in the previous Skyrim lesson (if needed) to make a new topic, and add Reward dialog. "You've done us a great service, here is your reward...yadda yadda."

7c). Paste the same GetOwningQuest line of script (copied earlier during step 3f) and change its stage bump, so overall it says GetOwningQuest().SetStage (51). Click OK.


8). Quest Objectives tab.
Make two objectives: one for Stage 21, and one for Stage 31. Stage 21's text will say something like "Pwn the leader of X location." Stage 31's text will say something like "Return to X for your reward."


9a). Quest Stages tab
Open Stage 21, and type SetObjectiveDisplayed (21) into its Papyrus Fragment box. Copy this line of script.

9b): Open Stage 31. Paste the line of text just copied, and change 21 to 31, so now it says SetObjectiveDisplayed (31).

9c). Paste the same line of text, changing "Displayed" to Completed, so overall it'll say SetObjectiveCompleted (21). Copy this line of script.

9d). Open Stage 51. Paste the line of text from step 9c, changing 21 to 31, so overall it'll say SetObjectiveCompleted (31). Voila. All the quest's messages are in the game. Click OK.


10). OBJECT window > Items > Book
Edit the previously-made note or scroll, changing its ID (duh) and Book Text. Copy the ID of this note or scroll so it can be easily pasted in a few moments.


11a). QUEST window > Quest Stages tab
Select Stage 21. Click on the Properties button. After the panel pops up, click Add Property.

11b). Look for Book in the Type scroll-bar.

11c). Add the book's ID into the Name slot. If this ID was copied earlier, a simple paste will suffice. Click OK.

11d). Left-click on the Property for the book. In the Pick Object scroll-bar, find the book's ID (a lot of times, this ID will already be selected). Click OK.

11e). In the Papyrus Fragment box, type Game.GetPlayer().AddItem (aaaBookName, 1)

11f). Optional: add any other items which seem pertinent into Stage 21's Papyrus Fragment box. I like to add potions, mostly. Adding items via this Properties method can get dicey. One little mistake, and the game will scream error messages. Follow the Tip and Troubleshooting portions of the previous Skyrim Bounty Quests Lesson / Step 16f, if things go wrong.

After screwing up a few items in the past, then having to erase script fragments several times, it really makes one realize how much easier the Construction Set and Fallout 3's GECK are. Player.AddItem X X and it's done! I can literally add items via script in my sleep. sleep.gif mad.gif Grrr....

Click OK


Quest Stages tab
Time for our reward money. A script property has already been made for this stage.

12a). Click on Stage 50. Copy the line of text from the Papyrus Fragment box (Game.GetPlayer).AddItem Gold001, X).

12b). Click on Stage 51. Paste that line of text into its box, changing the amount of reward money, if desired.

Also type stop() into Stage 51's box. Click OK.

Stop() is what causes the quest to stop running, but do NOT toggle Shut Down Stage on.

For the next phase, make sure the new enemy is onscreen in the Render window.


13a). OBJECT window > Character > SM Event Node
Right-click > Edit on Change Location Event.

13b). Sometimes this page is a huge expanse of white, other times it's got a bunch of nodes in its main window. If nothing is showing, double left-click onto Stacked Event Node. At the very bottom (or near it) should be the quest node which already deals with the first location.

13c). Left-click onto the Stacked Quest Node which deals with the quest.

13d). Right-click onto the GetDead condition, and select Copy Condition.

13e). Paste this condition right back into the Conditions window. And open it.

13f). Press the Select button. Click on Select Reference from Reference Window. And double left-click on this fearsome predator. Click OK.

13g). Toggle the OR selection on, and click OK. Here is what the final result in the Node Conditions area should look like.

R GetDead NONE == 0.00 OR
R GetDead NONE == 0.00 AND
PL GetInCurrentLoc LOCATION == 1.00


Note: If those are out of order (AND, OR, for instance) it is possible to reorder them. Hopefully this won't need to be done, because it'll involve making you work in Portrait mode instead of Landscape. rolleyes.gif


Basically, the quest will only start from the beginning, with the agent's opening greeting, if the Player is in location, and if either enemy is alive.

-- If both enemies are dead, the quest will not start, and the agent will stand there saying "Yaah?" "Hmm?" It is possible to give the agent some dialog for this scenario, but first make sure the quest dialog actually works as-is.


13h). Click OK. Save


14a). QUEST window > Dialogue Views or Player Dialogue tab
Open the second locational topic (this is the one which goes from Stage 10 to Stage 16).

14b). Add a GetDead condition to this topic. Run On: Reference, and double-click on the referenced enemy in the Render window. Change the value to 0.00. Altogether this condition will read GetDead NONE == 0.00. Click OK.


15). Make sure to update the mod's SEQ file.

Have a glass of wine if you're of legal age. Or partake in some other form of celebration of your choosing.
Renee
SetActorOwner

https://www.creationkit.com/index.php?title...ObjectReference

Patrolling the Mojave almost makes for a nuclear winter. (NPC man says this)
SubRosa
You can use this at the console. It is a great way of making beds sleepable. Or items in dungeons that would otherwise count as being stolen, able to be picked up with no repercussions.
Renee
QUOTE(SubRosa @ Apr 1 2020, 07:28 PM) *

You can use this at the console. It is a great way of making beds sleepable. Or items in dungeons that would otherwise count as being stolen, able to be picked up with no repercussions.

Oh yes! Well I am trying to learn how to do this via quest. So in Vyvoor's game he'll be able to speak to somebody and they say "Oh you great Dragonborn, bla bla ...." and somebody gives him a horse for free. So up above that's just to remind myself where I found the correct scripting.

Renee
USE THIS idea for Fallout3_Jail.esp. We're going to work with Miss Vicious Delicious' game

Here is the GECK page describing how crime works.

https://geckwiki.com/index.php?title=Category:Crime

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

Compiling ideas to make a Megaton Jail Cell. The condition below should begin the crime process IF the player murders somebody.

If (IsPlayerKiller == 1)

So if the PC is the one who murdered some NPC, this causes a variable to switch on. Which causes Lucas Simms to seek the PC when he/she returns to Megaton.

Only question is, how do we attach this script to peaceful NPCs? It can probably get attached to an entire faction, somehow.

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





----------------------------------
Renee
Adding a Jail and enhancing Fallout's Crime System. Game: Fallout 3

In the year 2017 a character I rolled, Janet Telia, wound up going to jail. This was a real event, something which actually happened in her game. But this event was a one-time thing, quest-driven with one-time stages.

What if this were something which can happen at any time? Assuming the player-character commits a crime, of course, and is caught!

Fallout 3 does have a crime system, which is broken into Minor and Major crimes. Minor Crime includes stealing, trespassing, and pickpocketing. Major Crime includes assaults and murder. In the vanilla game, committing enough of either crime will cause a single NPC, or an entire faction of NPCs, to try killing our character at worst. If the NPC's AI Data is set to Unaggressive and Cowardly, this NPC will flee instead, but he or she will still record the PC's crime as Minor or Major. But this is all. Nobody will ever try to arrest us for random crimes. nono.gif

My idea is similar to Elder Scrolls games. This idea will include the usual three choices: Go to Jail, Pay Caps, or Resist Arrest. But, there is a difference too: the way I'm going to describe this below, our player-character can only get arrested in Megaton. Maybe in the future I'll also add Rivet City. But no psychic guards shall roam the Capitol Wasteland, unless you want them to.

The main difference between the way crime works in Fallout (as opposed to any Elder Scrolls game except Arena) is Fallout's Crime Counts never go away, whereas in Elder Scrolls it is possible to get Crime Gold to 0. If your character is caught stealing from somebody in Elder Scrolls IV: Oblivion for instance, it is possible to pay some money or go to jail. This will clear any crimes, returning the game's crime count to zero.

In Fallout, crime counts always remain. If your character is caught stealing in this game, and let's say MinorCrimeCount rises to 5.00, this is where the count shall stay forever. As far as I know, there is no way to get this count back to 0.00.

...And this creates some problems, of course. GetMinorCrimeCount and GetMajorCrimeCount exist, but there is no such thing as SetMinorCrimeCount or SetMajorCrimeCount, or anything equivalent with a different set of names. Because of this, the scripts for this jail idea get longer and longer, in an effort to make sure the officer keeps registering how much crime has been committed. The end result? Eventually the criminal essentially becomes 'banned' from Megaton. It has to happen this way, unless somebody out there figures how to script better than i can!

I don't know if the FOSE team has done anything here for resetting crime; my search of a Fallout Script Extender site did not return any results for crime at all.


Good news is, any NPCs who have been angered by crimes (causing them to fight) eventually will mellow. Bethesda hardcoded Fallout 3 this way, probably because they had to so gamers could progress with some of the game's quests. After 72 hours, even the most fearsome NPC will regain his or her temper, and it's possible to reenter the cell in which this NPC can be found.

Basically, they forgive, but they never forget.

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

MAKING THE JAIL


1a). First step is to duplicate a cell, or create one from scratch. I am not very good at making cells from scratch, so instead I'll simply duplicate MegatonJerichosHouse. I like this cell because it is like a mobile home: everything is on one story. Easier to work with. Jericho's house is also separated conveniently into a larger immediate area + a smaller alcove which has a bed. The smaller area is going to be the actual prisoner's cell, while the larger area will include a bot who eventually will patrol around.

I found one small problem with duplicating Jericho's pad. In the Test character save I used, a second Jericho showed up in my game, despite the fact that I deleted Jericho from the duplicated cell. Once I realized this anomaly, I used the console to Mark For Delete the duplicated Jericho, once I was back in the game. This did not happen in any of my main characters game I've loaded so far, only the test character.

1b). Back to the GECK. In the Cell window's left panel, select the duplicated cell and press F2. Change the cell's name. I am calling it aaaMegatonJail.

1c). Right-click > Edit the duplicated cell. Click on the Interior Data tab and change its Name. I am calling it Megaton Jail. Also, change the Owner NPC scroll-bar from whomever is its current owner (if there is one) to NONE. If the cell is owned by a faction, set this to NONE. There is going to be an NPC who does own this place, but he or she has not been made yet. And it's better to use somebody new, rather than one of the vanilla NPCs already in the game.

Click Apply, click OK.

1d). Now comes the fun part. Time to remove whatever items you'd like. Or, you can keep any items you are unsure about, moving them out into the void.

Turns out, Jericho's place is not large enough. So I toggled Snap to Grid and Snap to Angle on. Then I selected a portion of its middle section, duplicated it, moved the area where the jail cell shall be (extending the cell's middle), and then moved the duplicated area into the initial area.

Here is what the jail looks like so far, with NavMesh turned on.

I did not mess with the area on the left side of the cell. This is where a robot is eventually going to patrol. Note the red stuff on the floor. This is navmesh. Navmesh tells NPCs where they can walk, and where they cannot. Since the robot is never going to travel into the area where the prisoner stays (which is on the right side of the cell) it's not important that there's no navmesh there.

> If there is an owned bed already inside the cell, change its Ownership to Player.

> I also added a sink into the jail. Since I use Realistic Needs, my character will need to drink occasionally, and water is one thing which is always free in jails. But what about food? Don't worry. Food gets handled, too.

Time to deal with NavMesh. Although I am not messing with navmesh in the cell I just duplicated, I left some instructions below for those who want (or need) to change this. Note that working with navmesh takes practice. And practice takes time. Those who don't need to mess with this can skip to step 1f.

1e). From the main toolbar, select NavMesh and then select Remove Cell NavMeshes, which is roughly halfway down the list.

New NavMesh must now be generated, and this gets complicated, but is very important. NavMesh is what allows NPCs to walk over specific areas, it is also supposed to keep them from walking into inanimate objects such as walls and rocks (though sometimes they still do this). If new NavMesh is not added, any NPCs who enter this cell, or are placed into it, won't be able to move. embarrased.gif Yes, this happened to me!

Describing how to add NavMesh requires some visual aids, so watch the video below, following the Anonymous Dev's instructions.

https://www.youtube.com/watch?v=RYJAj-63FR4

Note that in most cases (esp. with duplicated cells), new navmesh is not 100% necessary, for those who wish to skip this step and save time.

Tip: Turn Snap to Grid and Snap to Angle back on, if these have been turned off for NavMeshing.


1f). OBJECT window
Now to add the jail's cell door. This is going to be a sliding door, which can lock and unlock. In the Object window's left panel, select All, and then type Jail in the Filter slot. Find and select JailDoor01. Drag the jail's door into your cell. Obviously it's important to make sure this door will block the area where the prisoner will stay. Since one door was not enough to block the way out, I duplicated the first door, and moved the duplicated door over.

1g) Give the door a Reference ID. I named it aaaMegatonCellDoorRef. Copy this Reference ID and paste it onto a Notepad page. In fact, it helps to copy/paste any referenced names like this, since they will later get used in scripts.

Toggle Persistent Reference on. Click OK.


1h). Get JailDoor01 out of the filter and select Items > Key. Edit a key. Doesn't matter which one, but try to select keys which don't already have scripts attached.

Edit the jail door so that only this key will open it.

1i). In the CELL window, there are some choices. It is possible to put a door on an empty space of building, anywhere in Megaton, therefore, the prisoner is in Megaton when he/she gets out of jail. I decided to take this several steps further. Used the Render window and went out into the Wilderness, somewhat west of Vault 101. Then I went into the Object window > World Objects > Static, and dragged MegatonMisterBurkesHouse out into the wasteland.

Next I found MetalScrapDoor01 and dragged this door into the Render window. Connected this door to the cell's entrance door. The reason I made the jail way out yonder is because spending time in jail won't clear one's bounty (or crime count, as the GECK likes to call it) and I originally had problems with the main officer (who has not been made yet) still trying to arrest us after we get out of jail. Later on, I fixed this problem. But in roleplay terms, it just makes more sense that the player-character is temporarily removed from Megaton society. This is not 100% necessary, so those who wish to put the jail in Megaton itself, this is fine.

Here is what the final Megaton Jail looks like in my game. Again, the right side of the cell (roughly 2/5 of the space) is where the PC gets locked up.


1j). Make sure the interior of the jail is in the Render window. Go into the Object window > World Objects > Container and drag any non-scripted container into the Render window. I dragged LockerVault01Empty in there.

1k). Double left-click on the container, and choose the Edit Base button. Rename its ID and Name. I am calling it aaaEvidenceLocker and Evidence Locker. It helps to make sure this container is completely empty, for this is where the player's stuff will get stored after being locked up. ph34r.gif

1l). Make sure Respawns is not toggled on. Click OK, and save as a New Form.

1m). Go into the Ownership tab and choose Player. Give the container a Reference Editor ID (aaaEvidenceLockerRef), and toggle Persistent Reference on (if it's not already toggled).

1n). Two more steps. Go into the Object window > WorldObjects > Static and drag an XMarkerHeading into the jail. Put it the area where the prisoner shall stay. Essentially, put this marker behind bars. ph34r.gif Give this XMarkerHeading a Reference ID. I named it aaaMegatonJailPlayerXMarker. Copy / paste this onto a Notepad page.

1o). Drag a second XMarkerHeading into the jail, but this time do not put it behind bars. This second marker is where the PC will get teleported, assuming greater crime has been noted. Essentially, the PC gets temporarily banned from Megaton, and will need to stay out of town for 3 days! I named this second marker aaaMegatonJailBookingMarker. Copy/paste this also, so it can be copy/pasted into scripts later.

Click OK. Save.


MAKING THE OFFICERS

One or two officers are needed. I am opting for two. The first one will perform initial arrests, and the second assists in beating down the criminal, if he or she resists arrest. First I'll make the arresting officer. This gal will handle all the dialog, and she's much more complex than the second officer.

OBJECT window > Actors > NPC
2a). Follow all the usual steps for making an NPC: choose Race, Voice Type, ID, and Name. Click OK. My officer will be a lady with the ID name of aaaMegatonOfficer. I toggled Respawns on, so that if one of my characters wants to try to pwn her (and succeeds somehow), another officer will eventually take her place. Essential can also be chosen, of course.

Traits tab
2b). Change Class to SecurityOfficer. This arranges the officer's stats and attributes in a particular way, making him or her ready and capable for the job. Change Alignment from Neutral to Good.

Stats tab
2c). I wanted to make a tough, but not impossible-to-beat officer. So I selected PC Level Mult and put 3.00 into the Level Mult slot. AutoCalc Stats can be used as well, to make the officer stay truest to the SecurityOfficer class.

Factions Tab
2d). The officer gets added into the MegatonResidentFaction, causing her to become part of the citizenry, occasionally making small talk with other Megatonites. Also add him or her into the MegatonCrimeFaction. This will cause the officer to recognize Minor or Major crimes committed against residents of Megaton. Both of these factions are necessary for the arrest process to function.


AI Data tab
2e). Set the scroll-bars like so. It's important to make somebody who remains peaceful by default, but will not back down from combat if the need arises.

Aggression: Aggressive
Confidence: Brave
Assistance: Helps Nobody
Responsibility: 90

Assistance is set to Helps Nobody, which normally means the NPC won't care if Friends and Allies are getting into trouble, but this is not a problem, because we're going to want the officer to focus on arresting the player only. Not getting into combat with him or her. This part (combat) gets handled later on by scripts, if Resist Arrest gets chosen.

AI Packages tab
AI does not need to get specifically added to the officer. I have tried to add a DefaultSandbox package, but this messes everything up later on. Instead...go to the ....

Main toolbar > Character > Packages

2f). Start a Find package. Give it an ID and copy this ID. Paste the ID onto a Notepad page, because it's going to be needed later on. I just named it aaaArrestPlayerPackage

2g). Specific Reference is toggled on by default. In the Ref scroll-bar, scroll down to PlayerRef.

2h). Toggle Allow Search on. 'Near editor location' can stay toggled, Type 1024 into the Radius slot. This is roughly 48 feet (14.6 meters) which is not nearly the total diameter of Megaton. Technically it is possible for a criminal to avoid the officer after being witnessed committing some crime, but in my game, this is always a dice-roll. I put the officer in the middle of Megaton, but since she sandboxes around a little bit, my character and I will never know exactly where she is, assuming we're trying to avoid her somehow.

2i). Flags tab: Toggle Always Run on. Toggle Fallout Behavior off.

2j). Make a second package, this time selecting Sandbox. Simply pull up DefaultSandboxEditorLocation1024, rename its ID, and Save as a New Form. Nothing else needs to be changed, although some may wish to mess around with the Flags tab. I am calling this package aaaMegatonOfficerSandbox. Copy this script and paste it onto that same Notepad page.

Click OK, close the Packages window, and save.

2k). Put the officer somewhere into the world (I chose ground zero of MegatonPlaza, right next to the Brass Lantern and bomb). Give him or her a Reference ID. I am calling her aaaMegatonOfficerRef.

The rest of the officer's tabs can be changed around however you'd like. I added ArmorTenpennySecurity and HatPoliceAdult to give her an appropriate look. I also gave her WeapPoliceBaton, a 10 mm handgun, and some 10 mm rounds.

Optional: add the jail door's key into his or her Inventory. This can now be stolen by a really good thief! It is possible to break out of jail if one has the key. It is also possible to write the upcoming quest so that breaking out of jail will cause more problems for the PC. This gets complicated though, and what's about to follow (the quest) is complicated enough. Getting everything to work right is complicated enough!

Click OK and save.


2l). Go back into the officer's NPC panel. Start a script like so...

scriptname aaaMegatonOfficerScript

short Status


2l). Close and save. Click OK, closing all officer's panels. Save, and reopen the officer. Find that script in the scroll-bar, bla bla. Reopen it.

Here is what it's going to look like...

scriptname aaaMegatonOfficerScript

; Status 0 -- No or low crime committed. Megaton officers sandbox. Most “good” PCs will remain at Status 0 forever.

; Status 1 -- Triggers during first arrest process. PC has been caught with their first crime, Major or Minor.

short Status

Begin GameMode

;----------------------------
;The scripts below deal specifically with the arrest process.

If (Player.GetInWorldspace MegatonWorld == 1) && (Status == 0)
If (GetMinorCrimeCount >= 3) || (GetMajorCrimeCount >= 1)
Set Status to 1

EndIf
EndIf

If (Status == 1)
aaaMegatonOfficerRef.AddScriptPackage aaaArrestPlayerPackage

EndIf
;--------------------------------
;The scripts below cause the officers to sandbox in Megaton, if the PC has not committed any crime yet.

If (Status == 0)
aaaMegatonOfficerRef.AddScriptPackage aaaMegatonOfficerSandbox

EndIf

End



> To summarize. The first two scripts, when Status gets set to 1, cause the main officer to arrest our toon IF our toon has committed a certain number of Minor or Major crimes. The third script is used to make sure the officer does NOT rush up to the PC if no crimes have been committed. She should not do this even without the script, but the Status 0 script confirms things.

> Status always starts at 0, assuming this is a new game without any criminal catches, or if one has a character who has never been caught doing any crimes, yet.

For those who add this Jail mod idea to your game. If the main officer comes rushing up once your character enters Megaton, you may think there's an error here. But try toggling the console on, and then click on the arresting officer. Type GetMinorCrimeCount and press Enter. Do the same with GetMajorCrimeCount. Chances are, one or both of these will be high enough to cause the officer's behavior. And this is because your character has already committed some crime(s) in the past. Yes, this happened to me. biggrin.gif

Like I said before, Fallout NPCs may forgive past crimes, but they never forget.

> Notice there is some leeway for minor crimes. The officer will do nothing if minor is below 3. This allows the PC to make a mistake. If trying to speak to an NPC for instance, but accidentally wind up stealing an owned object, the officer won't automatically come after the PC, assuming this happens just once. Stealing just one item can tally 1.00 or 2.00, so let's make 3.00 the official number of confrontation.

> Major crimes, on the other hand, will be regarded more quickly. If somebody slaps, slams, or shoots someone else, chances are they did so deliberately. Feel free to nudge either of these numbers to your liking.

> Major Crime works in a different manner than Minor Crime. If we are witnessed stealing our first item, Minor moves from 0.00 to 1.00 or 2.00. If we steal a second item and are witnessed, that number moves upward again. Major Crime is not as predictable. Sometimes it moves upward, and sometimes it does not. My test character assaulted and killed the Mercenary who stays in Craterside Supply for instance, causing Moira Brown to flee her shop. Major Crime jumped from 0.00 to 2.00. In an Elder Scrolls game, Crimegold would get much higher than this for a full-blown murder. Because of this, Major Crime's counts (in scripts below) is set up differently than the more-predictable Minor Crime.

A second NPC was killed by my Test guy, this time right in Megaton's central area. This time, Major Crime jumped from 2.00 to 6.00. I think the greater number resulted because there were more witnesses. ... So, it's hard to find an apt punishment which fits the major crime. Pwning that Mercenary resulted a Major of 2.00, which means somebody can get off lightly...200 caps paid, the way I've got this set up below, if nobody witnesses this pwning. This doesn't seem enough, right? But there's not much I can do about this; Beth hardcoded the way crime works in this game. Anyway, we'll get to all that later.

> Finally, note that there are rare times when the officer will have a different crime count than ordinary Megaton NPCs. ...Maybe clicking a Megaton Settler, and then checking for crimes with the console will yield a result of 0.00 or 2.00, whereas the officer will register 4.00. So always click on the arresting officer when trying to check for crime.

All of that is rather complicated, right? wacko.gif Fortunately, the second officer is much simpler...


2m). Make a second NPC. This is going to be the officer who assists the main (arresting) officer, smacking our character around if Resist Arrest is chosen. In my game, this is a man with aaaComplianceOfficer as an ID.

2n). Toggle Respawns on, click OK, and reopen the officer.

The rest of those tabs can be arranged however you'd like, but make sure the second officer goes into the same MegatonResidentFaction and MegatonCrimeFaction as the arresting officer.

Place him or her into the same worldspace as the arresting officer and type a Reference ID. I called him aaaComplianceOfficerRef.



MAKING THE QUEST

OBJECT window > Actor Data > Quest

3a). Start a new quest (duh). ID is necessary, but Name is not. I am calling it aaaJailFallout3Quest.

Priority can be 90, just like it is in Elder Scrolls games when Legions try to arrest us. In theory, getting arrested takes precedence over everything, including the Main Quest, possibly.

3b). Start Game Enabled can stay on. Also, toggle Allow Repeated Conversation Topics on. Script Processing Delay can also be toggled.


3c). Start a script, like so...

scriptname aaaJailScript

short Arrest

short Timer1
short Timer2
short Timer3
short Timer4
short Timer5

short StartDay1
short StartDay2
short StartDay3
short StartDay4
short StartDay5



3d) Set the Script Type scroll-bar to Quest and close the editor window. Click OK, closing the Quest window. Reopen it, and find the quest in the scroll-bar. Click OK, and reopen.

Now we're going to add some more.

scriptname aaaJailScript

short Arrest

short Timer1
short Timer2
short Timer3
short Timer4
short Timer5

short StartDay1
short StartDay2
short StartDay3
short StartDay4
short StartDay5

Begin GameMode

;------------------------------------
;The script below deals with stopping combat against he PC, once the PC has paid for crimes.
;NPCs will sometimes try to fight the PC after crime has been committed. This script stops these fights.

If (Player.GetInWorldspace MegatonWorld == 1) && (aaaMegatonOfficerRef.Status != 8)
PlayerRef.StopCombatAlarmOnActor

EndIf

End


As noted, the StopCombatOnActor script will cause any angry NPCs (who are trying to kill our PC after too many crimes committed) to STOP combat once the PC is in Megaton's plaza area, assuming the Officer's Status is not 8 (meaning the PC has not been banned from Megaton, yet). This will allow the officer to attempt arresting the PC without hassle. If this script is not used, and NPCs are actively trying to fight our character, this causes the officer to get confused, unable to deliver any dialog.

Note that this is OPTIONAL. For those who want to have NPCs fighting their characters in Megaton's plaza area at any time after crime, this script can be omitted. Again, the officer won't be able to do his/her job if this script is not present.


3e). Close and save the script. Click OK, closing the quest window. Save from the main toolbar. Reopen the quest. More is going to get added to this main script, but for now let's move on.

Topics Tab
3f). Make a GREETING. This first greeting is going to be a generic sort which the officer says if the PC is not wanted for any crimes. "Lovely day, isn't it?" or whatever. Toggle Goodbye on. Conditions go like this...

GetMinorCrimeCount < 3.00 AND
GetMajorCrimeCount < 1.00 AND
GetIsID aaaMegatonOfficer == 1.00


And that is all. Since Goodbye is toggled on, the officer will say this if we speak to her or him, without any dialog menus popping up, just like speaking to a Megaton Settler.

3g). Make a second GREETING. This one is much going to be much more interesting. The officer will say this one when first confronting the PC, during the arrest process. "STOP!!! You violated the law!"... Make some dialog which explains that pickpocketing, stealing, trespassing, assaults, and murder are all against the law. "You can pay me caps, go to jail, or resist arrest..."

Three conditions are needed...

GetMajorCrimeCount >= 1.00 OR
GetMinorCrimeCount>= 3.00 AND
GetScriptVariable aaaMegatonOfficerRef.Status == 1.00 OR
GetScriptVariable aaaMegatonOfficerRef.Status == 6.00
GetIsID aaaMegatonOfficer == 1.00


3h). In this greeting's Choices window, add three topics: aaaPayCaps, aaaGoToJail, and aaaResistArrest. Add these into the Editor ID window, as well.


3i). Let's start with the least threatening of those three choices: Pay Caps can go into the Topic Text slot. "You're being arrested for committing one or more crimes against the citizens and settlers of Megaton.... you really need to watch yourself...." and so on. Type some text explaining how much will need to be paid. In my game, lesser minor crimes start at 50 caps, while a full-on repeated assault or murder can rate as high as a thousand. I went into some detail, making sure the officer explained all the rules in her dialog.

Overall, I wound up with four scenarios: lesser Minor Crimes, greater Minor Crimes, lesser Major Crimes, and greater Major Crimes. If a character commits just one assault, or steals a couple items (and is caught) lesser Major or Minor crime gets registered. It is possible for a well-meaning character to simply pay for this one crime, never commit another one, and "lesser" crime where his or her crime counts shall stay.

If more crime gets committed, more than one or two incidents, this causes a greater scenario of Minor and/or Major crimes. Here we have somebody who is more of a dedicated criminal, so here is where their reputation shall stay: paying more money if caught, and going to jail for longer periods, as well.

Basically, lesser crime is only committed once. If the character continues to commit more crime, all subsequent arrests will be considered greater.


Conditions: only one is needed, the same GetIsID aaaMegatonOfficer == 1.00 as before.

3j). In the Add Topics window, add aaaPayCapsTopic2. Conversely, this can be added into the Choices window, along with aaaGoToJail and aaaResistArrest, for those who wish to retain maximum options.

3k). Add aaaPayCapsTopic2 into the Editor ID, and change Topic Text to "I am paying for my crimes. Here are your caps."

Dialog should be written in a way which warns the PC. If NPCs have started combat, they will have ceased due to that StopCombat script added into the main script IF the PC is in Megaton's plaza area. But they might resume fighting our character once the PC is back in some other cell. So her dialog goes:"If you have enough caps to pay for your crimes, you will be free to go, but it might be a good idea to get out of town for awhile. I'd recommend 3 days or more..."


I have noted four scenarios for crime above. Overall, eight dialogs can be written for this topic; four for Minor Crime, and four for Major Crime. Let's start with Minor Crimes. Here are the four scenarios for lesser and greater Minor Crimes.

1). the PC has enough caps, and needs to clear less than 5.00 of minor crimes
2). the PC has enough caps and needs to clear 5.00 or more .. ." .. " .... "
3). the PC does not have 50 caps, for situation 1.
4). the PC does not have 100 caps, for situation 2.

Selections 1 and 2 require conditions as follows...

GetIsID aaaMegatonOfficer == 1.00 AND
GetMinorCrimeCount >= 2.00 AND
GetMinorCrimeCount < 5.00 AND
GetGold Reference: Player >= 50.00


or

GetIsID aaaMegatonOfficer == 1.00 AND
GetMinorCrimeCount >= 5.00 AND
GetGold Reference: Player >= 100.00


3l). In the Result Script (Begin) box, type Player.RemoveItem Caps001 50 or Player.RemoveItem Caps001 100 respectively.

3m). In the Result Script (End) box for lesser Minor Crime type Set aaaMegatonOfficerRef.Status to 2.

3n).In the Result Script (Begin) box for greater Minor Crime, add Set aaaJailFallout3Quest.Arrest to 5 below the Remove Caps script.

3o). In the Result Script (End) box for greater Minor Crime, add

Player.MoveTo aaaJailBookingXMarkerHeading
If (aaaMegatonOfficerRef.Status == 1)
Set aaaMegatonOfficerRef.Status to 4
EndIF



3p). The final two situations, in which there aren't enough caps, can use the same GetIsIDs and GetMinorCrimeCounts, all of those can literally be CopyAll/pasted. But change GetGold to less than 50 caps, or less than 100 caps, depending on the amount of Minor Crimes allotted.

For either of these situations, add aaaGoToJail and aaaResistArrest into their Choice windows.

Click OK and save.

Steps 3i through 3p can be followed for Major Crime as well, making whatever changes you'd prefer. Obviously, paying caps for an assault or murder will be much more serious. In my game, committing one or two assaults (less than 5.00 of Major Crime) will require 200 caps of payment. Committing more than two assaults indicates that somebody was aggressive enough to try killing somebody, or seriously maiming him or her. The officer is going want a thousand caps to clear one's name.

This may sound harsh, but consider the fact that no NPC in Megaton is ever going to assault one of our characters. Only the Player (us) can commit crimes in Fallout 3. We are always the instigators. In TES IV: Oblivion, some NPCs could commit crimes and pay for them with their lives, Tilmo the Stablehand and City Swimmer are two perfect examples. Since food was not added into their inventories, they'd occasionally try to fill their bellies, which meant they'd steal whatever they could. Beth made sure to "fix" this for Fallout 3, which means NPCs can never commit true crimes in this latter game.

Note that pwning Mister Burke should be okay, since he is not part of any Megaton factions. I have not tested this personally though
.

Conditions for the lesser Major Crime look like this...

GetIsID aaaMegatonOfficer == 1.00 AND
GetMajorCrimeCount >= 1.00 AND
GetMajorCrimeCount < 5.00 AND
GetGold Reference: Player >= 200


Conditions for greater Major Crime ...

GetIsID aaaMegatonOfficer == 1.00 AND
GetMajorCrimeCount >= 5.00 AND
GetGold Reference: Player >= 1000


And don't forget to add the appropriate amount of caps removed in the Result Script (Begin) box.

Add Set aaaMegatonOfficerRef.Status to 2 into the Result Script (End) for lesser Major Crime.

Add Set aaaJailFallout3Quest.Arrest to 5 in the Result Script (Begin) box for greater Major Crime.

Add ...

Player.MoveTo aaaJailBookingXMarkerHeading
If (aaaMegatonOfficerRef.Status == 1)
Set aaaMegatonOfficerRef.Status to 4
EndIF


...in the Result Script (End) box for greater Major Crime.

3q). Toggle Goodbye on for both. Click OK and save.

Unfortunately, the game does not separate assaults and murders into two separate categories; both of these are considered Major Crime. So at this writing, I do not know how to make murders much more serious (more time, more caps needed) from assaults. The game does include several functions which include Murder and Killer (such as IsKiller) but all of these require reference IDs on NPCs to work, instead of simply working globally. I'm not adding a reference to every NPC in Megaton, that's silly.

The answer for now is to set a higher level of Major Crime, which breaks down into lots of assaults or one (or more than one) murder, at least as far as dialog is concerned.


3u). Make a third GREETING for the officer. This will be the final one, which she says if spoken to, after an arrest process has been completed (caps paid, time spent in jail). In my game, she simply says "I've got my eye on you..."

3v).. Toggle Goodbye on. Conditions go like this...

GetIsID aaaMegatonOfficer == 1.00 AND
GetScriptVariable aaaMegatonOfficerRef.Status == 2.00 OR
GetScriptVariable aaaMegatonOfficerRef.Status == 5.00 OR
GetScriptVariable aaaMegatonOfficerRef.Status == 7.00



RENDER window
4a). Go into the jail's cell. In the Object window edit a note.

4b). Describe some rules about how crime works in Megaton, and what is expected of the prisoner upon release. Basically, this is a list of rules. Something which explains how long each sentence shall last, corresponding to what sort of crime has been processed. Anything which the character possessed before arrest has now been put into that Evidence Locker, so explain this in the note's text as well.

Since a robot is going to get added into the jail, add some text explaining that the robot is who we'll speak to for food, cigarettes, and also to get out of jail when the sentence is over. There will eventually be an actual game message which explains how to get out of jail, too. All of that is coming.

4c). Drag this note into the jail's cell, behind bars.


OBJECT window > Actor Data > Quest
5a). Go into the Topics tab and find aaaGoToJail. This topic is somewhat simpler than paying caps, fortunately. Four Infos will need to be written up instead of eight. Each of these four Infos correspond to lesser or greater Minor Crime, or lesser / greater Major Crime.

Go To Jail can be added into the Topic Text slot.

The first Info is going to be used for Minor Crime less than 5. For most characters who aren't full criminals, but have made a slip-up, this is going to be the jail term for a first offense. "You've made some mistakes, it happens. Just make sure it doesn't happen again." In my game, the penalty for this is just one day. "I hereby sentence you to the term of one day..." the officer says.

GetIsId aaaMegatonOfficer == 1.00 AND
GetMinorCrimeCount >= 2.00 AND
GetMinorCrimeCount < 5.00


Toggle Goodbye on.

5b). In the Result Script (Begin) type or paste

Set aaaFallout3Quest.Arrest to 1
aaaMegatonCellDoorRef.Lock 100
aaaMegatonCellDoorRef.SetOpenState 0
.

5c). In the Result Script (End) box type

Player.RemoveAllItems aaaEvidenceLockerRef
Player.AddItem OutfitWasteland01 1
Player.MoveTo aaaMegatonJailPlayerXMarker
Set aaaMegatonOfficerRef.Status to 2


All the PC's items are removed and stored into that locker. Any stolen items should have also been removed by this point, and erased entirely from the game, however, sometimes they might slip by the officer or any NPCs who initially witnessed any crime(s).

OutfitWasteland01 is what the PC wears while in jail. It is important to make sure RemoveAllItems comes before the player gets that jail outfit, otherwise the game will remove these clothes as well.



5d) Three more Infos can get added: one for Minor Crimes of 5.00 or more, one for Major Crimes of less than 5.00, and one for Major Crime of 5 or more. Technically, these greater major crimes can equate to attempted murder or actual murder. These three infos will tally three days, ten days, and one month in jail respectively.

5e). Let's start with Minor Crimes greater than 4.00. Dialog can be more menacing. Our toon has stolen or pickpocketed multiple items, or trespassed for an extreme amount of time, ignoring somebody's warnings about this. So the officer isn't so nice. "You dirty thief. You mongrel of a trespasser. You have committed several minor crimes against the residents of Megaton. You are going to be incarcerated for three whole days.... "

GetIsID aaaMegatonOfficer == 1.00 AND
GetMinorCrimeCount >= 5.00


5f). Now, Set aaaJailFallout3Quest.Arrest to 2 goes into the Result Script (Begin) box instead of aaaJailFallout3Quest.Arrest to 1. Make sure aaaMegatonCellDoorRef.Lock 100 goes into this box, as well.

5g). Three of the four scripts which went into the lesser Minor Crime Result Script (End) box can simply be copy/pasted. Do not copy/paste the aaaMegatonOfficerRef.Status script.

5h). Follow the same process for Major Crime, making sure to change Set aaaJailFallout3Quest.Arrest to 3 and 4 respectively, for lesser and greater. Everything else gets copy/pasted, but again, leave the officer's Status script out of greater Major Crime's (End) box.


Click OK and save. Now, to make the officers fight our character, if Resist Arrest is chosen.

Main toolbar > Character > Packages
6a). Start a new package. I'm going to name its ID aaaResistArrestPackage.

6b). Change Package Type to Use Weapon.

6c). Toggle Any Object on, and find whichever weapon the officer shall use in the Object ID scroll-bar. I put WeapPoliceBaton in there. The weapon used in this bar MUST also be a weapon in the officer's inventory, otherwise the officer will simply try to use their fists. Note that if the officer has a second weapon (such as a gun) the officer may switch to this weapon type, especially if the first weapon is a melee piece, and some distance is involved.

6d). Toggle Target on, and find PlayerRef in the Ref scrollbar.

6e). In the Fire Count area there are two choices: Repeat Fire will cause the officer to keep using that weapon indefinitely, as long as the package is running. Number of blows will cause them to stop after X number of weapon swings, or rounds have been fired.

6f). Flags tab: toggle Always Run, and Weapon Drawn on. Enable Fallout Behaviour gets toggled completely off.

6g). Click OK. This package should not be attached to the officer, it will (instead) be triggered through a script.

Reopen the Quest window.

7a). aaaResistArrest is the final topic, and it's the easiest of all; we only need one Info. Type some menacing dialog. Since a second officer is going to join beating down the PC, this dialog should include that information. "You want to resist? Fine. But now my deputy is going to assist!"

GetIsID aaaMegatonOfficer == 1.00 AND
GetMajorCrimeCount >= 1.00 OR
GetMinorCrimeCount >= 1.00


7b). In the Result Script (End) box type Set aaaMegatonOfficerRef.Status to 3

7c). Toggle Goodbye on, Click OK. save.


Note: If other Megaton NPCs have also begun to attack before the arrest, they will continue to do so, unless the main script gets modified to include Status 3 as well as Status 2! However, they generally will not follow us out into the Wasteland.

I and an online friend have experimented with Resist Arrest quite a lot, going in and out of various cells and whatnot, just to see how far the officers will keep following our characters, continuing pursuit. Since NPCs don't follow the PC very well into different cells in this game, it is possible to run into (let's say) Moriarty's and get a breather, maybe use a Stimpack, assuming no other NPCs are attacking. It is also possible to leave this portion of the quest as-is. Yes, the officers have trouble following, but the problem is, eventually they WILL follow. And they'll follow everywhere, including the wasteland.

This will get fixed later on via scripts. Or you can just leave it this way, for those who want to try to pwn the officers outside of society. If they happen to follow us outside of Megaton, and encounter some enemy. Let's say, a radscorp. They will focus then on fighting this radscorp instead of us. Eventually it'll be their doom, if this doesn't get fixed later on.

Another possibility is to make other referenced NPCs (such as Jericho and Lucas Simms) join in the fight while our toon resists arrest! I have not added this into my game, but for those who want to make a real hardcore option, this is possible too.

But first, here's how to get the officers to do their beat-down.


7d). Open up the main (arresting) officer's script. Some of what's below has already been written, if you've been following this guide so far. But some new material also gets added...

scriptname aaaEnforcementOfficerScript

; Status 0 -- Not enough crime witnessed. Officers sandbox. Most “good” PCs remain Status 0 forever.
; Status 1 -- The PC has possibly been caught committing their first crime, Major or Minor.
; Status 2 -- Caps paid or jail chosen for 'lesser' Minor or Major crime. PC stays in Megaton if caps paid.
; Status 3 -- Resist Arrest chosen. 3-day timer starts, officers fight PC if Megaton's plaza entered.
; Status 4 -- Caps paid for 'greater' Minor or Major crime. PC teleported to "booking" area of jail.
; Officers will revert to Status 3 if PC re enters Megaton, while Status is 4.

; Status 5 -- Timer concludes after 3 days, causing officers to sandbox. 5 Can result from Status 3 or 4.
; Status 6 -- Next-to-last arrest process. Works in similar way as Status 1.
; Status 7 -- Last strike. If PC is arrested during 7, cannot reenter Megaton without getting attacked.
; Status 8 -- PC is 'banned' from Megaton. :-(


short Status

Begin GameMode

;------------------------------------------------------------
; Status 1 handles the first "lesser" arrest process
; if PC is caught committing at least two Minor, or one Major crime.
; PC remains in Megaton

If (Status == 0) && (Player.GetInWorldspace MegatonWorld == 1)
If (GetMinorCrimeCount >= 3) || (GetMajorCrimeCount >= 1)
Set Status to 1

EndIf
EndIf

If (Status == 1)
aaaMegatonOfficerRef.AddScriptPackage aaaArrestPlayerPackage

EndIf

;---------------------------------
; Status 2 causes the main officer to sandbox after arrest has taken place from Status 0 to 1.
; Triggers from lesser crime.
; PC remains in Megaton, unless he/she also went to jail.

If (Status == 2)
If (GetMinorCrimeCount < 5) || (GetMajorCrimeCount < 4)
aaaMegatonOfficerRef.AddScriptPackage aaaMegatonOfficerSandbox

EndIf
EndIf

;---------------------------------
; This script causes main officer to arrest PC a first time (potentially) for greater crime / Status 0.
; Or a second time (potentially) if lesser crime already been processed.
; PC is teleported outside of Megaton to the jail's 'booking' area, and must stay out of town 3 days.

If (Status <= 2) && (Player.GetInWorldspace MegatonWorld == 1)
If (GetMinorCrimeCount >= 5) || (GetMajorCrimeCount >= 4)
Set Status to 1

EndIf
EndIf

;---------------------------------------

; Status 3 makes both officers beat down the PC after Resist Arrest is chosen
; The quest's main script starts a timer which ends after 3 days.
; Officers will cease attacking after 3 days

; The officers will only fight if the PC enters Megaton's plaza area.

If (Status == 3) && (Player.GetInWorldspace MegatonWorld == 1)
aaaMegatonOfficerRef.AddScriptPackage aaaResistArrestPackage
aaaComplianceOfficerRef.AddScriptPackage aaaResistArrestPackage
Set aaaJailFallout3Quest.Arrest to 5

EndIf

;--------------------------------------------------

; Status 4 causes officers to attack if PC enters Megaton before main script timer has reset Arrest 5.
; Arrest == 5 and Status 4 trigger through dialog, from Resist Arrest and/or greater Pay Caps.

If (Status == 4) && (Player.GetInWorldspace MegatonWorld == 1)
Set Status to 3

EndIF

;--------------------------------------------------

; Status 5 is similar to Status 2. Both remain "neutral" if PC commits no more crimes.
; IF PC gets caught during 5, will be wanted for arrest two or three times by now.

If (Status == 5) && (Player.GetInWorldspace MegatonWorld == 1)
If (GetMinorCrimeCount < 7) || (GetMajorCrimeCount < 8)
aaaMegatonOfficerRef.AddScriptPackage aaaMegatonOfficerSandbox
aaaComplianceOfficerRef.AddScriptPackage aaaMegatonOfficerSandbox

EndIf
EndIf

If (Status == 5) && (Player.GetInWorldspace MegatonWorld == 1)
If (GetMinorCrimeCount >= 7) || (GetMajorCrimeCount >= 8)
Set Status to 6

EndIf
EndIf

;-------------------------------------------------------
; Status 6 is the next-to-last stage of arrest. Three or four strikes, by now.
; Works similar to Status 1.

If (Status == 6)
aaaMegatonOfficerRef.AddScriptPackage aaaArrestPlayerPackage

EndIf

;--------------------------------------------------
; Status 7 could mean final arrest, and last straw.
; If PC gets arrested during this phase, he or she is essentially BANNED from Megaton.
; Similar to Status 5

If (Status == 7) && (Player.GetInWorldspace MegatonWorld == 1)
If (GetMinorCrimeCount <=9) || (GetMajorCrimeCount <= 12)
aaaMegatonOfficerRef.AddScriptPackage aaaMegatonOfficerSandbox
aaaComplianceOfficerRef.AddScriptPackage aaaMegatonOfficerSandbox

EndIf
EndIf

If (Status == 7) && (Player.GetInWorldspace MegatonWorld == 1)
If (GetMinorCrimeCount > 10) || (GetMajorCrimeCount > 12)
Set Status to 8

EndIf
EndIf

;--------------------------------------------
; Status 8 means PC cannot enter town w/o being attacked

If (Status == 8) && (Player.GetInWorldspace MegatonWorld == 1)
aaaMegatonOfficerRef.AddScriptPackage aaaResistArrestPackage
aaaComplianceOfficerRef.AddScriptPackage aaaResistArrestPackage
LucasSimmsRef.AddScriptPackage aaaResistArrestPackage

EndIF

; ----------------------------------------------------------------------
;The scripts below deal with keeping the officer from running up like a maniac when not under arrest.
;Status is 0 by default, assuming the PC hasn’t got a Crime Count when the jail mod is activated.

If (Status == 0)

aaaMegatonOfficerRef.AddScriptPackage aaaMegatonOfficerSandbox
aaaComplianceOfficerRef.AddScriptPackage aaaMegatonOfficerSandbox

EndIf

End



> Some may notice it is possible to 'break' the way these arrests progress from Status 0 to Status 8, especially with Minor Crime. If somebody is witnessed stealing something, and the witness, or witnesses, starts beating the crap out of our character, I am assuming our character will be like most thieves. Most thieves in this situation will be upset that they've been caught. They'll get the heck out of that cell.

However, it is possible for somebody to stay in that one cell and keep stealing stuff while being witnessed, causing Minor Crime to rise and rise and rise to the maximum level of 8. I am assuming most gamers aren't going to do this. This sort of criminal is going to be withstanding some sort of beating or shooting while he/she is stealing all these items.

IF somebody is going to take this route, so that the maximum level of crime is recorded right away, what'll happen is the officer will arrest the player-character once this character is done stealing, and walks back into MegatonWorld. The PC goes to jail or pays caps. Gets teleported out of town. Once the timer resets, and the PC reenters town, guess what? He / she will immediately be arrested again, since MinorCrimeCount is past where the scripts above can record. Maybe there will be a third and fourth arrest as well.

It is possible to fix this somehow, of course. Anything is possible with scripts. But I am not going to do this in my own game, because it's too much work, and I've already been working on this project for over 5 months! For me, the answer is simple. Any thief I roll won't want to stick around if he or she has been caught stealing.



MAKING THE JAILBOT


OBJECT window > Actors > Creature > Robot > Protectron

8a). Right-click > Edit CProtectron, and select an ID and Name. I am calling it aaaJailbot and Jail Bot. Get it?

8b). Toggle...
No low level processing off.
Respawn on.
Allow PC Dialogue on.

8c). Traits tab: All the scroll-bars have already been set, so leave these alone. Change Alignment to Good.

8d). Stats tab: The robot is set to Level 3 by default, so it's an easy one to beat, for those who wish to do so. Problem is, if it's been destroyed before the PC gets thrown in jail... I am setting it up so that this is a bad idea. Reason is, the jailbot is going to be the one who eventually unlocks the jail's cell door, through dialog. It will also dispense food, for those who use mods which require eating. So for those modders who wish to keep all of that intact, set the Jail Bot to Essential.

8e). Factions tab: Remove from RobotFaction and add into MegatonResidentFaction and MegatonCrimeFaction.

8f). AI Data tab: Unaggressive, Average, Helps Nobody, and Neutral are fine.

8g). AI Packages tab: Remove any AI packages. These are going to be added in a later tutorial.

Everything else (Inventory, etc.) can be kept as-is.

8h). Click OK, then drag the Jail Bot into the jail cell.

8i). Double left-click on the bot. Toggle Persistent Reference on. Click OK. Save.


FINISHING THE JAIL QUEST

OBJECT window > Miscellaneous > Message
9a). Right-click > New into the Editor ID window. The MESG panel pops up.

9b). ID can be aaaMinorCrimeOneDay. This is going to be used for minor crime less than 5.00. Copy that ID so it can be pasted into the main script later.

9c). Title can be Go To Jail. And for Message Text I just typed "I have been thrown in jail for one day."

Toggle Message Box off.

9d). The Time Displayed slot has been set to 2 by default, meaning that the message gets shown for 2 seconds. This ain't enough for my sorry eyes, so I boosted this to 20, just so I have enough time to read each message.

Click OK. Three more MESGs can be made, corresponding obviously to minor crime more than 4.00, Major Crime less than 5.00, or attempted murder.

9e). A final MESG can be made to indicate the jail term has ended. ID in my game is aaaFreeFromJail. Follow steps 7b through 7c to make a "My jail term has now ended" message.

9f). Hmm, one more message. I made aaaCrimeClearedMessage, which is going to show if the criminal resists arrest, or is moved out of town after paying caps. This message says "Three days have passed. It may be safe for me to reenter Megaton by now."


OBJECT window > Actor Data > Quest > Quest Data
10a). Reopen the main script. Here is what it'll look like in total.

scriptname aaaJailScript

short Arrest

short Timer1
short Timer2
short Timer3
short Timer4
short Timer5

short StartDay1
short StartDay2
short StartDay3
short StartDay4
short StartDay5

Begin GameMode

;------------------------------------
;Script below deals with stopping combat against PC, once PC has stepped into Megaton's plaza.
;NPCs will sometimes try to fight PC after crime has been committed. This script stops these fights.

If (Player.GetInWorldspace MegatonWorld == 1)
PlayerRef.StopCombatAlarmOnActor

EndIf

;------------------------------------------------------
;The script below deals with Minor Crimes of 4.00 or less
;This causes the PC to get locked in jail for 24 hours
; Officer's Status remains at 2.

If (Arrest == 1) && (Timer1 == 0)
Set Timer1 to 1
Set StartDay1 to GameDaysPassed
ShowMessage aaaMinorCrimeOneDay

EndIf
EndIf

If (Timer1 == 1)
If ((GameDaysPassed - StartDay1) >= 1)
Set Timer1 to 0
Set Arrest to 0

ShowMessage aaaFreeFromJail

EndIf
EndIf

;------------------------------------------------------
;The script below deals with Minor Crimes of 5.00 or more
;This causes the PC to get locked in jail for 3 days

If (Arrest == 2) && (Timer2 == 0)
Set Timer2 to 1
Set StartDay2 to GameDaysPassed
ShowMessage aaaMinorCrimeThreeDays

EndIf
EndIf

If (Timer2 == 1) && (aaaMegatonOfficerRef.Status == 1)
If ((GameDaysPassed - StartDay2) >= 3)
Set Timer2 to 0
Set Arrest to 0
Set aaaMegatonOfficerRef.Status to 5

ShowMessage aaaFreeFromJail

EndIf
EndIf

If (Timer2 == 1) && (aaaMegatonOfficerRef.Status == 6)
If ((GameDaysPassed - StartDay2) >= 3)
Set Timer2 to 0
Set Arrest to 0
Set aaaMegatonOfficerRef.Status to 7

ShowMessage aaaFreeFromJail

EndIf
EndIf

;------------------------------------------------------
;The script below deals with Major Crimes of 4.00 or less, namely assaults
;This causes the PC to get locked in jail for seven days.
; Officer's status remains at 2

If (Arrest == 3) && (Timer3 == 0)
Set Timer3 to 1
Set StartDay3 to GameDaysPassed
ShowMessage aaaMajorCrimeOneWeek

EndIf
EndIf

If (Timer3 == 1)
If ((GameDaysPassed - StartDay3) >= 7)
Set Timer3 to 0
Set Arrest to 0

ShowMessage aaaFreeFromJail

EndIf
EndIf

;------------------------------------------------------
;The script below deals with Major Crimes of 5.00 or more, namely excessive assaults and murders
;This causes the PC to get locked in jail for one month

If (Arrest == 4) && (Timer4 == 0)
Set Timer4 to 1
Set StartDay4 to GameDaysPassed
ShowMessage aaaMajorCrimeOneMonth

EndIf
EndIf

If (Timer4 == 1) && (aaaMegatonOfficerRef.Status == 1)
If ((GameDaysPassed - StartDay4) >= 29)
Set Timer4 to 0
Set Arrest to 0
Set aaaMegatonOfficerRef.Status to 5

ShowRaceMenu
ShowMessage aaaFreeFromJail

EndIf
EndIf


If (Timer4 == 1) && (aaaMegatonOfficerRef.Status == 6)
If ((GameDaysPassed - StartDay4) >= 29)
Set Timer4 to 0
Set Arrest to 0
Set aaaMegatonOfficerRef.Status to 7

ShowRaceMenu
ShowMessage aaaFreeFromJail

EndIf
EndIf

;-------------------------------
;The script below is what cancels the Officers' Resist Arrest AI, causing them to mellow.
;This allows us to reenter Megaton.

If (Arrest == 5) && (Timer5 == 0)
Set Timer5 to 1
Set StartDay5 to GameDaysPassed

EndIf
EndIf

If (Timer5 == 1) && (aaaMegatonOfficerRef.Status <= 4)
If ((GameDaysPassed - StartDay5) >= 3)
Set Timer5 to 0
Set Arrest to 0
Set aaaMegatonOfficerRef.Status to 5

ShowMessage aaaCrimeClearedMessage

EndIf
EndIf

If (Timer5 == 1) && (aaaMegatonOfficerRef.Status == 6)
If ((GameDaysPassed - StartDay5) >= 3)
Set Timer5 to 0
Set Arrest to 0
Set aaaMegatonOfficerRef.Status to 7

ShowMessage aaaCrimeClearedMessage

EndIf
EndIf


End



Note Arrest 4. When its timer concludes, ShowRaceMenu allows us to change our character's hairstyle / looks. After a month in jail, hair probably won't look the same.


10b). Save, Click OK (closing the Quest window) and save.

The final touch is to give the Jail Bot some dialog and responsibilities. This bot will be in charge of feeding the PC, dispensing cigarettes, and finally, unlocking the jail. I am also going to give the Jail Bot a Patrol package. Patrols get described in the post directly below this one.

OBJECT window > Actor Data > Quest > Topics tab

Start a new quest. This quest needs to be separate from the Jail quest already written. Keep in mind that the way I am writing this will make the PC stay in jail in REAL TIME. ph34r.gif This idea is hardcore, of course. Those who want to spend all their time at once can simply sleep in the bed over and over, or come up with a way to move time forward more quickly, somehow.

11a). Three GREETINGs are needed. First one will deal with dinner. The PC is going to have a choice of eating, not eating, or getting a pack of cigarettes. "You ... look ... starved. Want .... some .. grub?" goes the dialog.

11b). Toggle Say Once a Day on.

11c). Conditions are as follows...

GetCurrentTime > 17.000 AND
GetCurrentTime <= 22.000 AND
GetIsID aaaJailBot == 1.00


Note that the Jail Bot will dispense food or ciggies even if the PC is not in jail. To fix this, add another short variable into the main script. Call it Incarceration. You'll then need to go through the rest of the main script, adding Set aaaJailFallout3Quest.Incarceration to 1 for each of the four timers. A GetQuestVariable can then be added to the topic for food & cigs. Make sure to turn this off once the PC gets out.

11d). In the Choices window, add aaaFoodYes, aaaFoodNo, and aaaSmokingTopic. Or any other topics desired.

11e). Let's start with aaaFoodYes. "Yes I am hungry" can go into the Topic Text slot. "We have an .... excellent. Selection of .... all kinds of grub," says the Jail Bot.

Toggle Say Once a Day and Goodbye on.

11f). The same conditions can be copy-pasted from the bot's initial GREETING.

11g). In the Result Script (End) box, type whatever is desired. I am adding. Player.AddItem JunkFood 1, Player.AddItem BrahminSteak 1, and Player.AddItem NukaCola 1.

11h). "No I am not hungry," can go into the Topic Text slot for aaaFoodNo. This is for roleplaying only, for those who have a toon who is some sort of hunger strike.

Only the bot's GetIsID is needed here. Toggle Goodbye on. Toggle Say Once a Day on.
Renee
Making a Patrol package. Game: Fallout 3


Good day. Today I am going to discuss how to make an NPC patrol a fixed area, without just having them Wander or Sandbox aimlessly. This sort of package comes in handy when we want this NPC to do anything more specific than just move aimlessly.

When trying to add a patrol to a new cell (or any sort of area where an NPC will walk in an area without navmesh), it is important to add navmeshes to this cell. This sort of thing is rather complicated to describe, but this tutorial can help. Here is Beth's official tutorial on navmesh.

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

Now, for the Patrol AI part.

Firstly, there are two types of NPC patrols. Generic NPCs (such as raiders) have a different method than named NPCs. To see a well-detailed video on generic patrols, click here.


And here is the video link for named NPCs, narrated by a modder with a British accent.

https://www.youtube.com/watch?v=VRzPxjeW750

But I am also going to describe how these work step-by-step.

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

1). Create or edit an NPC, unless an NPC who's going to patrol has already been added into the game. It is possible to make vanilla Bethesda NPCs patrol as well, though this can get risky of course.

Note: for best results with named NPCs, where it says Template Data, make sure that ActorBase's scroll-down menu is set to NONE.

2). OBJECT window
Go into World Objects > Static, find Xmarker. Drag an Xmarker into the same cell as the NPC. Put this Xmarker onto the FIRST point you'd like the NPC to walk to.

3). RENDER window
Ctrl + D to duplicate this X-marker, and move it to some other area which will be the second point of the NPC's patrol. We can keep duplicating as many patrol points as we'd like.

4). Give each Xmarker its own Ref ID. Though this is not fully necessary (Beth sometimes uses generic markers with no references) it helps to know where the NPC is going to go more specifically, by naming these references and numbering them (aaaPoint1, aaaPoint2, aaaPoint3... etc.). Later on when the patrol package is being made, we can view these Xmarker points in a window.

5). Double left-click on the first X-marker. Go to its Linked Ref tab (this tab might be hidden in the row which starts with 3D Data, so use the < arrow to move to the left until the Linked Ref tab can be seen).

6). Click the "Select Reference in Render Window" button. Now the cursor gets moved into the Render window again, it will turn into a red circle with a + in its middle. Move the cursor until it is over the second patrol point, and it should turn white. Once it is white, click (maybe double-click) on the X-marker which will become the second patrol point.

7). Click OK. There should now be a green colored line going from the first patrol point to the second.

8). Repeat steps 5 through 7 with any other X-marker patrol points. If the patrol path is to go around and around in a loop, click the final X-marker and link it to the first one.

9). Double left-click on the NPC who will patrol, opening up its Reference panel, and click Edit Base. Go into the AI Packages tab. Right-click > New in the Editor ID box.

10). Give this package a unique ID.

Package Type: Patrol

11a)
. Starting Location: there is a button under these words which says "[none] n [none]". Click on this and choose Near Reference, and then specifically find the first Xmarker by selecting Select Reference in Render Window. Notice how in the Patrol Point List it will actually list all the different points of the patrol.

Click OK.

11b). Make sure Radius stays at 0, and "Repeatable" stays toggled on if the NPC is supposed to repeat this patrol.

11c). Flags tab-- Toggle Must Complete on. "Continue if PC is near" can also be toggled on if the Patrol is not working for some reason. I also like toggling Enable Fallout Behavior off, but Hellos to Player, Reactions to Player Actions, and Allow Idle Chatter on.

Click OK and close everything. SAVE all work.

12). Double left-click the NPC again, Find the Linked Ref tab. Click on the "Select Reference in Render Window" button, and link the NPC to the first X-marker patrol point. Click OK. There should now be a yellowish-green line going from the NPC to the first Xmarker.

That is the basic patrol path. Once we're back in-game, the NPC will move from point to point in a rather nervous fashion. Thankfully this can be slowed down. It is possible to modify how long the NPC stays at various patrol points, and other fun stuff.

13). RENDER window
Click on one of the X-markers which has been linked. Let's say we want the NPC to stay here for awhile. Click on the Patrol Data tab.

Idle Time defaults to 0.000, with that first digit being minutes. Change this to whatever is desired. It is not exactly accurate, but if 10.000 goes in this slot, the NPC will move after roughly 10 in-game minutes. 60 = an hour, 360 = 6 hours, and so on.

Topic scroll-bar: if we've already created a specific dialog topic in the Topics tab, and wish to use this topic AT this particular patrol point, scroll down and find it. The NPC will say this when standing at this point. This can also be triggered via quest topics too, of course.
....
Renee

Horse Rentals. Game: TES IV: Oblivion


This is going to make a horse rentable in TES IV: Oblivion. Renting a horse (rather than buying one) is good for someone who hasn't go a lot of money available yet. Another advantage is: if the horse gets killed, at least the PC did not blow weeks or even months of earnings! In roleplay terms: maybe the character has also not become too attached to the poor horse in such a scenario.

So this idea is going to make it possible to rent a horse for one month, from a Chestnut Handy NPC who I'm something going to call Stable Master, or aaaStableMaster. After the horse is rented, it is essentially owned by the Player. After a month has passed, the horse will return to Chestnut Handy Stables, near the Imperial City. It will also no longer belong to the Player.


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

OBJECT window > Actors > NPC
1). Edit an NPC, doing all the usual steps, and place this NPC wherever. This is going to be the stable master who we rent the horse from. I am going to call this guy aaaStableMaster

I am placing my NPC (an orc) into the Chestnut Handy pen, where all the horses are kept. In fact, my original idea was so make this NPC sell horses, not rent them, since the vanilla game doesn't allow us to buy horses here (ahem). But buying horses is nothing new. I want to try something new.


Now to make the horse itself. Horses are to be found in two areas of the Construction Set's Object window: Creature > Creature or Creature > Horse.

--Do not edit anything from the Creature > Creature section. These cannot be ridden. These are (in fact) the wild horses which can sometimes be seen south of the Imperial City.

--Do not edit anything quest-related, or anything from the MyHorse area. nono.gif
--Do not edit an ImpLegion horse.


Actors > Creature > Horse
2a). Right-click > Edit a basic horse, such as HorsePaint. These are good to start with since they haven't got any scripts.

2b). Change ID and Name, I am calling it aaaPaintHorseRental and Paint Horse Rental.

Stats tab
2c). By default, most horses are Level 1, and they are somewhat weak. A Bay has 250 health, for instance. This may seem quie a lot, but since it's possible for a person to acquire even more, I don't feel bad toggling PC Level Offset on. This horse is special. It can have hundreds more health. It'll last longer, if it happens to get into a fight!

2d).
Toggle Respawn on (if it's not on). You can leave Can Corpse Check toggled on or off.

2e). Get rid of any AI packages.

By default, base horses have zero Aggression, 50 Confidence, 25 Energy Level, and 50 Responsibility.. They will never pick fights, but somehow they'll be able to know if our character is stealing. Weird. Change these around, if desired.

Factions tab
By default, basic horses are part of the Prey faction, which has an interfaction relationship of -50 to the Creature Faction. Yikes. It's up to you if you'd like to place this horse into the HorsePC faction (which causes the horse to stay absolutely loyal to the Player, unless broadly attacked over and over) or play around with a customized faction. The reason this is important is by default, horses get attcked by a lot of Player enemies, which can get annoying. It might be prudent to try to change this.

I am going to experiment by not putting the horse into any faction at all. Because like I said, the vanilla game has an annoying habit of making enemies attack our horse first, instead of attacking the PC. Maybe this has something to do with the HorsePC faction MyHorses are placed into.

2f). Click OK, saving as a New Form. Find an appropriate worldspace, and place the horse out into the world.

2g). Give the horse a Reference ID. I am calling it aaaPaintHorseRentalRef. Copy this ID and paste it onto a Notepad page so it can be pasted into scripts later.

2h). Click on the Ownership tab, and find the NPC stablehand in the NPC scroll-bar. If the horse is not rented, this NPC owns the horse, and it's considered stealing if it's not paid for. Click OK.

OBJECT window > WorldObjects > Static
3). Drag an XMarker out into the Render window. Give this X-marker a Reference ID. I am calling it aaaPaintHorseReturnXMarker. This marker is where the horse will return after its rental terms is over.

Again, copy this ID and paste it onto the same Notepad page, so it can be pasted into scripts later.


QUEST window
4a). Start a new quest. This quest does not need a name, unless you want it to appear in the Quests section of the in-game menu for some reason. Otherwise, this quest does not require stages, and therefore does not need a Name.

4b).
Change Priority to 30. This is the standard number for Bethesda's own Horse quest.

4c). Leave Start Game Enabled toggled on. Toggle Allow repeated conversation topics on as well.

4d). GetIsPlayableRace == 1.00 goes into the Quest Conditions winow.

4e).
Start a script, and add these variables.

scriptname aaaHorseQuestScript

short Rent
short Timer
short StartDay


Save that, click OK, and reopen the quest window. Find the script in the scroll-bar and click OK. Reopen the quest window.


Topics tab
5a). We're going to make a total of five GREETINGs. Each one has a different set of options and QuestVariables.

Greeing one is what starts the dialog. "Hi, my name is Bob. I rent horses here at Chestnut Handy Stables...." this NPC explains that he or she rents horses, rather than sells them (or eats them).

5b). In the Conditions window, make a GetISID for the NPC created ealier.

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 0.00


5c).
In the Result Script box, type Set QuestName.Rent to 1

5d). Right-click > AddTopic into the Add Topics window. Start a new topic called aaaHorseTopic. Add this into the Editor ID window, too.
----------------------------

Greeting Two: this gets spoken if dialog is started (the first GREETING is spoken), but for some reason the PC backs out of conversation.
The dialog spoken during Greeting two can be siomething simple. "Can I help you?" Conditions go like this...

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 1.00


Add the same aaaHorseTopic into the Add Topics window.

-------------------
Greeting Three: this is another interim greeting, spoken when the QuestVariable is at 2. Again, this gets spoken if the Player backs out of conversatio early, but then returns to the NPC.

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 2.00


Add the same aaaHorseTopic into the Add Topics window.

Set QuestName.Rent to 1 goes into the Result Script box.

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

Greeting Four gets spoken after the player-character rents the horse, backs out of conversation, but for whatever reason returns to speak to the NPC stable master. "How is your horse? I hope everythin is satisfactory." and so on. By now, the PC temporarily owns the beast.

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 3.00


Add aaaHorseTopic into the Add Topics window. A Result Script is not needed.

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

Greeting Five is used after the horse rental has ended, and the player retuns to the stablehand NPC to maybe try renting it again. "You have returned.... bla bla bla."

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 4.00


Result Script: Set QuestName.Rent to 1

Add aaaHorseTopic into the Add Topics window.

Click OK and save.


QUEST window > Topics tab
6a). Select aaaHorseTopic (or whatever this first custom topic was called). Change the Topic Text name to something in plain English, if necessary.

6b). Two responses are going into the Info window.

In the first one, it is explained further to the PC that there is a horse (or horses) available for rent. "We have paints, bays, and chestnuts..." The NPC explains how much each selection will cost for that month. The stablehand also explains that after the month is over, the horse will return to its home stable. Write this response. Conditions go like this...

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 1.00


Result Script: Set QuestName.Rent to 2.

6b). In the Choices window I'll start a Paint Horse topic choice and a No choice. Eventually there will be a Bay Horse Topic choice and a Chestnut Horse Topic choice. But for now, right-click > Add Topic. Since the first horse I'm adding is a paint, I'm calling the topic aaaPaintHorseTopic.

Add aaaBayPaintTopic (or whatever it's called) into the Editor ID window.


6c). Also add a "No" topic into the Chocies window. If you already have a No topic from other quests, this can get reused. If you do not have a No topic, create one, and make sure to add it into the Editor ID as well. Here are its conditions and Result Script.

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent <= 2.00


Result Script: Set QuestName.Rent to 0

6d).
Click OK and save.


7a). Go back into the Quest window and back into the initial Horse topic (which I called aaaHorseTopic). Start a second response. "You have already rented a horse from me, is there a problem?"

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 3.00


There is no Result Script or Choices for this topic. After one horse has been rented, it is not possible to rent another; doing so would complicate things. So this topic is simply an empty 'filler' which follows the fourth GREETING.

7b). In the Editor ID window, go back to the first horse choice. I called this aaaPaintHorseTopic. Dialog can go like "Yes, I've got a fine paint available. Slow, but durable, and more highly maneuverable than a faster horse. Good for rugged terrain..."

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 2.00


7c). In the Choices window, add a "yes" choice (aaaYesPaint), and a "no" choice. The No choice can be the same No used before. Add aaaYesPaint into the Editor ID.

7d). Select aaaYesPaint in the Editor ID window. Topic Text can be changed to "Yes, I'd like to rent a paint horse." Two responses are going to be written here: one which the stablemaster will say if the PC has enough gold, and one which hte stablemaster will say if the PC does not have enough. Let's start with the first response.

7e). "Very good, that paint over there is now yours for the next thirty days..." says the stablehand. In my game, this guy will charge 120 gold for the month.

GetIsID NPC: aaaStableMaster == 1.00 AND
GetQuestVariable 'QuestName', Rent == 2.00 AND
GetGold ......... NONE.... >= 120


Make sure to toggle Run on Targlet ON for that final GetGold condition.

Result Scripts: aaaPaintHorseRentalRef.SetOwnership
Set QuestName.Rent to 3
Message: "Paint Horse has been rented for one month", 30
Player.RemoveItem Gold001 120


Notice that the SetOwnership script does not refer to the Player. It took me awhile to figure out, if nobody is referenced, the referenced item will automatically go to the Player! panic.gif (You don't know how many error messages I sat through as I kept trying to include Player here. Grr....)

7f). But what happens if the PC does not have enough money? "No, I asked for 120 gold. And this is not enough..." goes the dialog. Toggle Goodbye on, so the quest's dialog gets forced back to the beginning (from the stablehand's point of view).

GetIsID NPC: aaaStableMaster == 1.00 AND
GetGold ......... NONE....< 120.00


Again, toggle Run on Target ON for that GetGold condition.

Result Script: Set QuestName.Rent to 0[b]

[b]7g).
Click OK and save. All the dialog has been written, so phew.


QUEST window > Quest Data tab
8a). Time to write yet another Timer script. I love these things. This has already been started with the three short variables.

scriptname aaaHorseQuestScript

short Rent
short Timer
short StartDay

Begin GameMode

If (Timer == 0)
If (aaaHorseQuest.Rent == 3)
Set Timer to 1
Set StartDay to GameDaysPassed
EndIf
EndIF

If (Timer == 1)
If ((GameDaysPassed - StartDay) >= 30)
aaaPaintHorseRentalRef.SetOwnership aaaStableMaster
Set QuestName.Rent to 4
Set Timer to 0

Message: "My horse rental has expired.", 30

EndIf
EndIf

End


8b). Save that, click OK, and save from the main toolbar.

RENDER window
9a). Make sure the X-marker created earlier is onscreen. It also helps to find the horse as well, and have both of these items onscreen. Double left-click on the horse, and click its AI button. Two packages are needed: one which causes the horse to return home after the rental has expired, and one which causes the horse to NOT return home, assuming it's been paid for.

9b).
Let's start the go home package. Right-click > New into the AI Package List window. Name the ID something specific for that horse, such as aaaPaintHorseReturnHome. Click on the Package Type scroll-bar and find Travel.

9c). Toggle Must Reach Location and Defensive Combat on. You can also toggle Always Run on, which might allow the horse to make it back home without getting pwned.

9d). Click on the Conditions tab. GetQuestVarible 'QuestName', Rent == 4.00 goes here.

9e). Click on the Location tab. Toggle Near Reference on, click Select Reference in Render Window, and double left-click on the X-marker. Click OK.

9f). Right-click > New into the AI Package List window again, and name its ID aaaPaintHorseDismounted. Find Wander in the Package Type scroll-bar.

9g). Toggle Must Complete on. Defensive Combat can also be toggled on.

9h). Conditions tab: GetQuestVariable 'QuestName', Rent == 3.00.

9i). Location tab: select Near Current Location and use a binary number (such as 512) for the Radius slot. This way, the horse will wander around a bit when dismounted, looking for grass to munch on, perhaps. It is also possible to simply choose 0 for Radius, if you really want to keep the horse from wandering into trouble.

Note that when dismounting the horse, this will cause any other rentable horses to also wander a bit in their stables, way back home! This is safe, as long as "home" is not located near an enemy lair.

9j). Click OK. Click Save. Click OK. And Save.
Renee
Trigger Zones, Game: Fallout 3

Fallout 3 does have X-markers, but it also uses what are called trigger zones or 'triggers" to setstage quests and perform various script-related functions as we pass through them. Triggers can be more effective than X markers. The reason is, trigger zones can be structured to cover an entire area, to make sure the PC will pass through them. X-markers, on the other hand, require scripts to determine how close we are, which don't always work as well.

Here is a good video to watch, for those who want better visual aids.

https://www.youtube.com/watch?v=QaMtpvrEG9E&t=34s

Otherwise, here are some text instructions.

CELL window
1). Go into the Cell or Worldspace where the trigger zone is going to be added.

2). On the main toolbar, find the T button. It looks like a child's block with a T in it, and is just right of the NavMesh button (with red scribbles in it). Click this button.

3). In the Render window, left-click somewhere on the ground, and drag upon it. It helps if the area where you are clicking does not have a bunch of stuff on it (items, Markers, etc.). After you drag on the ground.

4). At first, nothing might happen. Or perhaps a red square will show onscreen. If nothing is seen, just move the mouse upwards (without holding any buttons). Now we should be seeing a transperant red cube. This red cube will be what activates the next stage of the quest, or the next script variable, or whatever.

Once we're back in game, walking THROUGH this red area is what makes things happen, so if it's not big enough, or if it's not in the right area, chances are it might need to be redrawn or dragged. These red cubes can be tricky to move around though.

5). Double left-click on the red cube. This will pull up the Activator panel.

6). We'll need to give it a new ID. Click on the New toggle (next to the ID pane), and give it a new ID name. "Name" is not important, and can be deleted, even.

7). If there is any Script on this Activator, get rid of it by moving the scroll-bar to NONE. Click OK. And Save.

Note: After we close the Activator panel, notice there are a bunch of colored lines & arrows in the cube. Now it can be moved and manipulated. Just left-click and drag. Pull or collapse. The video can give better visuals, of course.

8). Double-click on the red cube. Next, click on Edit Base. Now we're going to add a script, which can be left as an Object. It should look like this..

scn XnameScript

Begin OnTriggerEnter Player

If (GetStage == X)
SetStage X
EndIf

End


Save the script, click OK on the Activator panel, and reopen it.

9). Click Persistent Reference ON.

10). Click OK and as always, save.

The instructions below are for those who wish to attach the trigger zone to a Quest Objective, such as a marker.

11). Open up the Quest window you've been working on (if there is one). Go into the Quest Objectives tab. In the Target Ref window, add a target if this hasn't been done already.

12). In the Quest Objectives tab's Cell scroll-down bar, locate the area where the red cube has been added, and select its Ref.

Note: If this cube has been placed outside (especially somewhere in Wilderness) it may not show up in the scroll-bar. If this is so, click on the "Select Reference in Render Window" button. Make sure that the Render window is still displaying the area where the red cube has been created. Double-click on the cube, and it should automatically get selected as the Ref.
Renee
https://www.youtube.com/watch?v=wj6qGCT4isg...nnel=Seddon4494

Timer script with seconds

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

A REF variable stores a ref ID that you snatch out of the game in realtime. Like. if I am in combat with Fawkes, and I run the script commands:

Some stuff must use FLOAT values, such as additemhealthpercent.
Some stuff must use SHORT or INT, such as getweaponhealthperc

My understanding is that Short and Int don't get to have decimal point values after them. Float does. And Float numbers can hold values that are larger than Short ant Int - - like, really, really huge values, bigger than almost anyone would have a use for.\

I don't know what LONG is.



Float means floating point... which means has a "point" in it.

"Short" for the Geck is a 32 bit signed integer. This is large enough that you will not likely overrun it.

For Oblivion, short is only a 16 bit signed integer. Still pretty large.

In summary, use floats when you need fractional parts, use short otherwise.


Since using the GECK, I use only REF, FLOAT, and INT variables.

I prefix my variables with the first letter of the type of variable it is.
For example:
int iVariableName
float fVariableName
ref rVariableName

I stay away from labeling the INTs as SHORTs, because FOSE allows STRING variables, so
string sVariableName
won't get confused with
short sVariableName
Renee
https://web.archive.org/web/20130429160307/...ObjectReference -- has an example of locking a door via script. Just follow links in the wiki to also get it to Unlock.

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


To add a spell effect to somebody in Skyrim just by putting something on...

https://web.archive.org/web/20200213110353/...xample-i-think/

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

If you want a script to run on a piece of equipment when it is equipped, and affect the actor that has it equipped, you'll want to use a structure like this:int bEquipped
ref rContainer

Begin OnEquip
set bEquipped to 1
set rContainer to GetContainer
End

Begin GameMode
if bEquipped
; Do stuff using rContainer
endif
End

Begin OnUnequip
set bEquipped to 0
End

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

Disable referenced NPC 10 seconds after pwning

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

Activate Parent and Enable Parent tabs, yes? The Activate Parent tab is used when you want an activator (like a door) to be activated by something else (like when opening a vault gear door by flipping a switch as opposed to just "activating" the door itself). If you set up an activate parent, the activator object will then be activated by the object itself and the parent object. If you check the "Parent Activate Only" flag on the tab, then only the parent will activate it.

The Enable Parent is more or less the same thing except instead of Activating, it enables/disables an object based of the parent's enable state. One way to use this is to set a bunch of lights that have their enable parent set to an Xmarker. Then when you enable the Xmarker, all the lights will be enabled as well (turn on). When you disable the Xmarker, all the lights will be disabled (turn off).

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

Change Creation Kit page size?

Did a quick test and by changing the value of

Creation Kit X=
Creation Kit Y=
Creation Kit W=
Creation Kit H=

I was able to play with the startposition and size of the windows. Use at you own discretion as I am a total noob regarding inifiles.

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

Papyrus is very “type-oriented”. In programmer terms, it is “strongly-typed”. The best way I can think of to explain it would be that the compiler has a very narrow view of what you can and cannot do with various kinds of objects in the game (also known as “types”).

As an example, think of a car. The “Car” is our “type”. You can tell a “Car” to drive by writing: “Car.Drive()”. But you cannot tell a car to fly, because a car is not an airplane. So “Car.Fly()” doesn’t work. (And would give you the “function doesn’t exist error”)

One thing that can be incredibly useful if you are having trouble with a specific function is to search the other scripts included with the game for the name of the function. So, if you can’t seem to get SetEssential to work, search all the files in “Skyrim/Data/Scripts/Source” for “SetEssential” with your favorite text editor, or even Windows (they’re just text files), which should help you in figuring out what to do differently. Simply extending a different script will most likely make your script not run at all on the object you attached it to (because the game won’t let you run a quest script on an actor, for example), and importing another script is simply shorthand that is mostly useful for global functions.

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

First you need to extract voice files from Oblivion BSA files. I found BSA Unpacker on Nexus and it did the trick, although some voices are missing - I see no Khajiit voices, for example. May be it didn't work right, but I got what I was looking for, so stopped looking. Now you can start the actual work. (Hmmm... This got me thinking. I could hijack Skyrim conversation as well! It's the same format. Oh!!!)

You start by locating the quest from the Companion Share mod - it's called aaaGeneric. Click on Topics and see all the various lines of conversation that you get (these are not all of the lines, there are more in the other quests, but these are the ones you start with). For example, start with GREETING. It has four different lines, I suppose you know this stuff as you do quests. Click one of the lines, then double click the line under Response. It opens a window to edit the response and this is where all the sound files go.

Firstly, there are no recorded lines of dialogue that say exactly what is written under Response, so I changed it. The tedious bit is to know what to change it to. You need to find a line somewhere else that you can copy from. I guess you know how to search - filter dialogue by NPC to see only lines of the same voice, etc. Or use "find text" from the Edit menu. Let me know if you have questions here. The bottom line is, once you find the line you want to copy from, you need to make note of three things: race, sex and audio ID. Race and sex is needed to make sure that you don't suddenly have your hulk of a Nord talking with the voice of a female Bosmer. wink.gif But you can do it if you really want to - there is no limitation where the audio comes from. Audio ID is a string in a box just above the list of voice files in the window. You cannot edit it but you can copy it, so do it.

Now go back to the line in the Companions quest that you want to paste this audio into. I edited the subtitle text so that it matches the spoken phrase, but you don't have to, especially if you pick different phrases for different races. So in this window there's a list of voice files. Find one with the correct race and sex and click it so it's highlighted. Then click "Copy audio file" button. It shows you a file selection window. Navigate to the correct folder where you want to copy the file from, for example Voices\Oblivion.esm\Nord\m and behold loads and loads of voice files. Paste the audio ID into the File box and it should come up with two files - an MP3 and a LIP file. Select the MP3. If it doesn't come up with anything useful, scroll through the long list and find the correct file manually. Did I mention it was tedious?

So, this copied the audio file. Now click "Generate Lips file". Also don't forget to check Emotion and its percentage. Done! Click Ok.

Repeat this for every single response that you want modified. wacko.gif

This is how to reuse lines that are already in the game. If you have new audio files from somewhere else, like from Skyrim for example, you can use them as well. You just need to know which MP3 file you want to use, then when you click "Copy audio file", you just navigate to whatever folder you want and select the correct file. The system copies it into the correct location and changes the file name to the correct one so that it can be found. This is why you cannot just copy files by hand - they have to be renamed. Well, you can rename them by hand but that's even more tedious! tongue.gif

It takes a long time, but it is so much better to have talking companions! biggrin.gif
Renee



I have found a really good Daggerfall tutorial which was originally written in Beth's forums by BOX MAAAN. I'm copy/pasting most of it, so if I ever get involved with Daggerfall again I'll have this guide ready.

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

INSTALLATION:

This is the easy part. Just check out "DaggerfallSetup"; it's an installer that comes with a preconfigured DOSBox and a bunch of unofficial patches, so after everything is all installed all you have to do is double-click a shortcut and you're in the game. You can download Daggerfall from Bethesda's official website, but I'd strongly recommend just sticking with DaggerfallSetup. And don't worry, it's completely legal.


It also comes with a few extra goodies. Once you get into the game and make your first save, open the Eye of Argonia application in your Daggerfall installation folder and run it to patch your savegames to increase your view distance. Don't ever touch the detail slider on any of your saves, before or after running this patch, otherwise it won't work. And if your save ever gets screwed up in some way, try using Fixsave on it before giving up.


CONTROLS:

The first thing you want to do when you wake up in Privateers' Hold is customize the control scheme to something more to your liking. With a little tinkering, you can make Daggerfall's controls feel positively modern - which for me is a huge help in making the game enjoyable. I can't tell you what your ideal control scheme is, but�€�

�—�
Turn on mouse look. For the love of Arkay, turn on mouse look. Daggerfall was one of the earliest games to feature full mouse look, and don't you ever take it for granted.

�—�
Remap WASD so that it uses "Slide Left/Right" instead of "Turn Left/Right". Mouse is covering the camera, so for the most part you can forget about the Turn Left/Right mappings.

�—�
Since you're using mouse look, you'll need to use either "Activate Center Object" to interact with things (which works just like it does in modern Elder Scrolls games), or "activate cursor" to temporarily toggle off mouse look and bring up the cursor to click on whatever you want to interact with. I generally just use "Activate center object", but Daggerfall doesn't have a crosshair it can sometimes be tricky to activate those little switches and stuff - "activate cursor" comes in handy there.

�—�
You could also enable fullscreen to disable that bar at the bottom of the screen with all of your interact options and the wait/rest menu - it's not as useful if you're using mouse look, and in fullscreen your HUD will just be you health/magicka/fatigue bars and your compass, which looks nice.

�—�
"Float Up/Down" are used for when you're underwater, or under the effects of a levitation spell.

�—�
I've honestly never used the "steal/grab/info/talk" mode keys - generic activate seems to be pretty smart about what you're doing when you click on something, but maybe you'll need "Steal mode" to pickpocket people. Never knew if just crouching/sneaking let you pickpocket people like in the later games.

�—�
As it happens, "Sneak" doesn't put you in a stealth crouch like the later games, it just slows down your speed so you can tip-toe around, since faster movement means more noise. Similarly, your starting speed isn't as bad as in Morrowind so "run" feels like actual sprinting. And the fatigue drain from running isn't too bad, so feel free to run around a lot. I never had much use for "crouch" or "slide", but you will need crouch for a dreaded wall opening in Wayrest Castle.

�—�
You need to be moving when you jump if you want to jump in any direction other than straight up.

�—�
"Cast Spell" brings up your spell list. Double-click a spell (or hit Enter with that spell highlighted) to cast it: on-self effects (and Open, for some reason) will automatically cast, but on-touch and ranged spells are only loaded; you'll have to hit the "activate center object" key to fire. On-touch requires a valid target (so with an enemy within attacking range), on-target can be fired regardless. Recast spell loads whatever spell you last cast. "Abort spell" unloads any spell you've loaded but haven't cast, as well as refunds the magicka cost. "Use magic item" works like "Cast spell", but instead of opening the spellbook it opens a list of magic items in your inventory to load spells from.

�—�
"Rest" is how you wait to pass time. Resting restores your health/magicka/fatigue, loitering doesn't but it passes the time just the same. Loitering is for when you need to pass the time in a city until the shop/guild you want is open - don't rest inside a city, or you'll get arrested for vagrancy. You can't loiter for more than three hours at a time, because Daggerfall hates you. Just re-enter the menu every three hours.

�—�
"Transport" opens a menu where you can choose whether to walk, or mount your horse and/or cart. You need to buy a horse and cart at any general trader, and then when you do they'll exist in hammerspace until you mount them with this key - can't do it in interiors of course, and remember if you're riding on your horse or cart you won't be able to grind your Running/Jumping skills. If that's important to you. Also, if you own a ship, you can use this menu to basically teleport to it.

�—�
Think of "automap" as the local map from the modern games - a top-down look at the city or interior space you're hanging out in. The automap inside dungeons is super useful, and even more frustrating to actually use; but it's not hard to get used to. The travel map is the world map, and you'll use it to, yup, fast-travel. Which isn't optional, by the way. And don't misspell the whacky fantasy name of the location you're traveling to, the map isn't smart enough to guess what you were saying.

�—�
You can access your inventory menu from the character sheet, in case you need to be conservative with how many buttons you have (for instance, if you're trying to use a controller). Status tells you the time, date, and your current health. "Logbook" shows you any active quest notes, and your main quest progress. "Notebook" is for any dialog you save, but I honestly haven't really used it all that much.

�—�
Oh right, weapons. "Ready weapon" is just the draw/sheathe key. You can equip two one-handed weapons, and switch between them with "switch hand". "Swing weapon" is the part everyone gets confused on, but IMO once you know how to use it combat feels great. You don't attack by pressing "swing weapon", you hold down that key while you move the mouse to attack. So just think of it as "attack mode": with "swing weapon" held, you use your mouse to attack, and with it up, you use your mouse to look around normally. For reference: Mouse up is a thrust (lower damage, better accuracy), mouse down is a chop (higher damage, lower accuracy), diagonal attacks do slightly more damage with slightly less accuracy, and horizontal attacks are neutral. You can even just hold down the "swing weapon button" and draw circles with your mouse, and you'll get by in most cases.



CHARACTER CREATION:

My favorite feature in Daggerfall is the most open-ended, and most utterly broken, character creation in the entire series. If you pick a preset class via list or personality test, you'll have a fine experience; but in this guide I want to go into detail about how to get the most of the custom classmaker, with and without exploits. I'll also touch on the background questions that come after deciding your character class, which has some important parts to it.


Attributes: distribution is pretty straightforward, any points you add to an attribute must be subtracted from another. Attributes can't go higher than 75 or lower than 10 here. (Exploit: if you hit U in the classmaker screen, it resets the counter for attribute distribution to zero while keeping any changes you made. Useful for creating a god character, but this is indisputably cheating.) UESP does a fine job of describing each attribute, but a few notes:

�—�
Speed governs attack speed, not just movement speed. Since the combat is dice-roll based like Morrowind, it may be more beneficial to boost speed and your frequency of attacks than it is to boost damage with Strength.

�—�
I'd say the biggest dump stat would have to be Personality. It affects barter prices, but finding enough gold is hardly a problem. It also affects your ability to get information from people, which basically amounts to asking for directions. Which isn't difficult to do, at all.


Skills: Daggerfall has 35 skills, more than any other Elder Scrolls game, but it also has the highest number of useless skills in any Elder Scrolls game. You may have difficulty filling out your list of class skills with things you actually care about. A few notes:
�—�
Since combat is dice-roll based, your best bet is to pick one weapon skill and just stick with that. Of these, Long Blade is probably the best, but keep in mind that bladed weapons deal half damage to Skeleton Warriors (but not any other skeletal enemies, like Liches, I think). And there are no artifacts that use the Axe skill, if that's something you care about.

�—�
Lockpicking is a pretty crummy skill even if you're a thief-type character. It's automatically checked at any locked doors, and to my knowledge even if you raise it up it's not very reliable and doesn't work on any magically sealed doors. You can bash any door you could potentially lockpick, so just do that and have an Open spell handy for any magic locks.

�—�
Language skills are useless. Don't even bother. For reference, a language skill is checked when you approach an applicable enemy with your weapon down, and if the check is successful, all that happens is that particular enemy isn't hostile to you. And to be honest, I can count the number of Centaurs and Dragonlings I've seen in this game on one hand, so their language skills are even more useless.

�—�
It's worth checking UESP to see the schools of any spells you plan on casting. Daggerfall's spell schools are�€� bizarre, from the perspective of a modern Elder Scrolls player.


Difficulty dagger: this shows how much time it will take for your character to advance their skills. It goes up when you take an advantage or increase your HP gain, and goes down when you take a disadvantage or lower your HP gain. Your class isn't acceptable if the dagger is ever in the red.


Hit Points per level: the amount of HP you gain with each level up is anywhere between this number and half of this number. Plus your bonuses from Endurance. I've always liked playing tanky, so I generally pump this up, but it's your call how high you want to go. I wouldn't go extremely low, though.


Advantages and disadvantages: this is where you can really break the game.
�—�
Acute Hearing, Adrenaline Rush, and Athleticism aren't really worthwhile advantages.

�—�
"Bonus to Hit" is good, but I wouldn't suggest picking it for Animals. That may give you a small boost early on, but animals are generally the weakest creatures in this entire game. Likewise, this means animals are the best group to take the "Phobia" disadvantage for, since they're the least threatening option and all of the phobias are worth the same on the difficulty dagger.

�—�
Take "Expertise In" whatever weapon skill you chose for your class. This will increase your accuracy even further with that weapon type, which will remain useful for the majority of the game. Likewise, you can take "forbidden weapon type" for any weapon types you never, ever plan on using to get more mileage out of your difficulty dagger. Maybe don't forbid Short Blades, though.

�—�
Increased Magery is essential if you ever plan on casting more than just a few spells. By default, your max magicka is only half of your Intelligence, which is barely good enough for the weakest spells. Don't be afraid to go all the way to 3x INT in spell points. I strongly recommend you have at least enough magicka for basic spells.

�—�
Immunity, Resistance, Low Tolerance, and Critical Weakness are pretty self-explanatory, but a few things to clear up: "Magic" in this sense is an element alongside poison, fire, frost, or shock; it's not all-encompassing like it is in Oblivion or Skyrim. By glancing at the bestiary on UESP and looking at all of the enemy spells, it seems like the best element to take a weakness to is Frost - it's the least common element among higher level spellcasters, so you'll only ever need to worry about Ice Daedra after you level up a little. Most of the other elements are about equally common, although Poison seems to be the second least common after frost.

�—�
Also! Feel free to take a critical weakness to paralysis. All you need if you ever get paralyzed, is to cast Free Action. Which is one of the cheapest spells in the game, and easy for even non-mages to cast. Plus, if you start as a High Elf, your racial immunity to Paralysis completely overrides any class weakness to it you pick, for some free space on the difficulty dagger. That's kinda exploity, though, sooo...

�—�
Regenerate health, I think, isn't worth the chunk it takes out of your difficulty dagger. Damage health, similarly, I don't think is worth taking in any context. Worth mentioning that for the purposes of these effects, and any other advantage/disadvantage, "darkness" means not just night, but inside every dungeon. Which is where 90% of the game takes place, and where your choices here really matter.

�—�
Rapid Healing, on the other hand, might be a worthy timesaver. It increases how much HP you heal for each hour you rest, and since most quests have a time limit, this will give you some extra breathing room to rest up without running out the clock. It doesn't increase how quickly you recover fatigue or magicka from resting, though, so if those are tapped out it won't make a difference.

�—�
Spell absorption is weird. Your chance to absorb spells half your INT+WIL, but you can also absorb the magicka from your own area-of-effect spells if you get caught in the splash damage. And any magicka absorbed over your max directly damages your health. Magicka burn, it is called.

�—�
I don't recommend taking "Forbidden Armor Type: Plate" as that forbids you from everything but the first two tiers of armor. The classmaker makes it seem like leather, chain, and plate are Daggerfall's version of light, medium and heavy armors; but there aren't any armor skills, armor only factors into your defense and not things like movement or fatigue drain, and leather and chain are simply the two weakest tiers of armor. On the contrary, you could get away with forbidding yourself from using leather and/or chain, and never miss either after leveling up once or twice.

�—�
"Forbidden Shield Type", you can take or leave. Shields aren't actively used like in Oblivion or Skyrim, or even activated like a dice roll in Morrowind - they're just an extra armor slot you can throw on if you're not wielding two weapons, or a two-handed weapon.


Reputations: Optional, and just affects your rep with generic groups in the game. No huge game-changers here.


Background questions: One nifty feature about Daggerfall is that it will automatically generate your character's backstory depending on your class and how you answer some of these background questions. Most of this is just flavor, or for some marginal stat changes that you can find in the UESP, but two things to highlight:

�—�
One of the questions will ask you what you got as a gift from the Emperor. Choose the Ebony Dagger. Always. (and make sure you haven't forbidden your character from using Short Blades in the Classmaker) This means you'll start the game with one of the most powerful daggers in the game. Most other weapon types will start to outperform it as you upgrade to a higher tier, and you'll want to focus on whatever weapon type you picked as your class skill - but the Ebony Dagger will be a huge lifesaver if you ever encounter an enemy that's immune to your current weapon material. Ebony is capable of damaging anything - up until you find Mithril at later levels, there will be enemies your current weapon may not be able to damage. Especially if it's something like a Daedra spawned as part of a quest, instead of the typical level-scaled fare.

�—�
Exploit: If you take "Critical weakness to disease" as a disadvantage in the classmaker, and then take an additional weakness to disease, you'll gain complete immunity to diseases. And diseases in this game are mean. But you won't get immunity to vampirism or lycanthropy - those have a chance to transfer that isn't changed by disease resistance.



That's it for character creation. After picking your class and background, you'll be able to distribute some extra points among your skills and attributes. Fun fact: you can potentially start the game with one attribute as high as 99, if you raise it to 75 in the classmaker and keep rolling the dice for a satisfactory attribute spread. Another fun fact: You can change your character's name at any time by clicking on it in the character sheet.


I'd recommend reading a little about the leveling mechanics on UESP. Skills only advance when you rest. Every time you level up, you get 4-6 points to distribute among your attributes freely as well as a health boost determined by what you chose in class creation. You can save scum for each level-up to get the best results, but it's hard to track when your character will actually level up. And despite the save scumminess, I honestly prefer Daggerfall's leveling system to Morrowind and Oblivion's. tongue.gif



SPELLMAKING:

A really robust feature that I don't feel is sufficiently explained, or at least not sufficiently understood. Maybe it was obvious to everyone else but me, but the spellmaker is set up so that you can create custom spells that scale with your level. Which is awesome!


For duration and chance, look at it as [base value] plus [additional value] per [level]. Which means if I make an Open spell with 10 + 5 per level, that means I have an Open spell with a 15% success chance at level 1, that goes up by 5% with every level. Or a Water Breathing spell that gives 3 + 1 per every 2 levels, would be 3 rounds at level 1 and only 8 rounds at level 10.


And for reference, 1 "round" in Daggerfall's spellmaker is ten seconds long. So 6 rounds is a minute, 11 rounds is 110 seconds, etc.


For magnitude it's the same, but you can decide a randomized range for the base and leveled value. For example, a Fireball spell with 10-20 base damage plus 9-10 additional damage per level would do 19-30 damage at level 1, and 37-50 damage at level 3. You can see how cool this is, since you can make custom spells at the start of the game that will remain useful throughout the entire game.


You can gain access to spell merchants and the spellmaker by joining the Mages Guild. Some spells I'd recommend making as soon as you get out of Privateers' Hold, for ANY character type:


Teleport: This spell costs zero gold to make in the spellmaker because Daggerfall. But regardless of how you get it, this spell will be the biggest timesaver in the game for you. Dungeons in Daggerfall are long and labyrinthine - expect to spend hours in real-time, and days in game-time, crawling through a dungeon searching for your quest target. And once you find your quest target, you have to go back and find the dungeon entrance. Unless you prepared your teleportation spell! It's like both Mark & Recall in Morrowind - the first time you cast it, you have to set an anchor. The second time you cast it, you teleport back to that anchor. But always remember that you have to recast your anchor every time you teleport somewhere. Anchors are a one-time thing. So set an anchor at every dungeon entrance, or better yet, in front of every questgiver. Remember that quests have time limits on them, and a big chunk of that time limit is for fast-traveling to and from the location. You can shave off the return trip by teleporting back to the questgiver instead, which gives you enough time to go through the quest and rest all you want inside the dungeon without worrying about the time limit.


Levitate 1 plus 1 round every 20 levels. Basically, you'll really want a Levitation spell for exploration purposes, but you don't need it at an overlong duration; just keep recasting it if you need to maintain levitation for longer. I know climbing is a skill in Daggerfall, but Levitation is more robust and some main quest dungeons outright require you have it - they'll usually provide a little levitation buff for you by activating a random object, sure, but it's better to have your own source of levitation.


Water Breathing/Water Walking, each at 1 round plus 1 round per level. Putting both together is still an extremely cheap spell you can keep recasting as you explore deeper in water, and as you level up it'll last you longer. Worth noting that Water Walking isn't what it is in the later games where it lets you walk on the surface of water - in Daggerfall, it lets you move through water at a normal speed, which is very useful for underwater exploration. (stray thought: the underwater portions of Daggerfall's dungeons are terrifying)


Free Action, 1 round plus 1 round per level. Any time you get paralyzed by an enemy, just open your spellbook and cast this cheap spell. So easy a Nord Barbarian could do it.


Open, for when bashing down the doors isn't enough (basically whenever you find a magic lock). For this I'd recommend a low base chance and a high per-level chance, so that you have a solid chance as you level up. At 10% + 10% per level, you've got a 100% chance to open all doors at level 10.


For offensive and healing spells, if you choose to be a more dedicated spellcaster, I'd again suggest going with lower base values and higher per-level magnitudes. That will make cheap spells that slowly become fantastic as you level up and really need them.


Also worth mentioning that Shield works differently in Daggerfall, compared to the later games. In Daggerfall, Shield basically adds its magnitude as another layer of HP; you don't take any damage until your Shield either wears off or is broken from damage.



Important note: If you're going to be doing quests for the Mages Guild, there are occasionally some quests where you have to cast a specific spell. Custom spells won't do it. So make it a priority to buy the canned spells "Open" and "Sleep" if you're in the Mages Guild, even if your custom spells are better.


QUESTING:


The final part of this little guide. I don't have a whole lot to say here, just a few general gameplay tips.

1.
Congratulations, you've made your character and woken up in Privateers Hold. Before you start exploring, or even start messing with the controls, though�€� SAVE. Save right now, immediately as you start the game. Because if you get killed before making your first save, you'll have to go through character creation all over again. There are no autosaves in Daggerfall.

2.
Make multiple saves. Daggerfall only has six save slots, but NEVER use just one for a character. If you think Bethesda games are buggy now, just think about how bad they were 20 years ago. As a minimum, I generally save to one slot before starting every quest, and keep a separate slot (or two) for saving during the quest. That way if something goes FUBAR during the quest, I have a save from before I even started the quest. For random quests this will mean you won't get the same quest if you reload, but that's usually just fine.

3.
Don't ever reject a part of the main quest. Otherwise you'll never be able to complete it. Similarly, the only quest in the game with a time limit is the very first one, to speak to Lady Brisienna. Don't be late, because you can run out the clock on this quest and basically fail the entire main quest before you even start it.

4.
The amount of loot you collect going through a random quest will dwarf whatever quest rewards you're offered, so if it looks like you're going to fail a quest for some reason you really shouldn't sacrifice a great loot haul by reloading a save. Worst case scenario, you lose a little reputation with that faction that you'll just gain back by doing another quest.

5.
I'd say about 90% of this game is dungeon crawling. So have some good strategies for exploring dungeons - hug the right wall so you always know how to backtrack, start recognizing dungeon blocks (every dungeon in the game is built from a few dozen prefabricated dungeon sections that get procedurally put together in-game to form thousands of dungeons), and save often.

6.
Gold has weight, every 400 gold is 1kg in Daggerfall. Go to a bank and deposit your gold, or draw it up in a letter of credit - make sure to have some plain old gold on hand for staying at taverns, though.

7.
Read the manual, comes with the game installation in a docs subfolder. Not just because it contains useful story information, but because it's an honestly entertaining read.

8.Enjoy the game.
Renee
Getting an Xbox controller to work on PC. Game: TES III: Morrowind

First of all, for those who want an Xbox controller which behaves just like the controller on console, here is a *LINK* >> It links to an Xpadder template, and was not created by me.
>>> The problem with this template is it does not include variable left joystick movement. It works digitally; we can only walk at one speed, or run at one speed.

That won't work for me. nono.gif And I've always wanted to change some of the buttons which were fixed on Xbox, anyway.
So, this tutorial is for those who want to set up their own controller mapping.


TES IV Oblivion hasn't got very good support for those who prefer using Xbox controllers on PC. Yes, we can toggle Use Joystick on in this game's settings menu, but getting true variable walking/running movement is not always guaranteed. sad.gif

Morrowind also gives us the ability to Enable Joystick right in its Options > Controls menu, and oddly, variable movement works flawlessly in this game. But Morrowind also does a few things wrong, or at least .... odd. Using the left joystick for movement is flawless for instance, but using the right joystick for looking around does not work. mad.gif And there are a couple other odd things about how this game's controller usage got hardcoded by Bethesda. Some of you may already know of these odd things, which is why you're here. Hug_emoticon.gif

So here is a guide on how I set up my Xbox 360 controller to work with Morrowind, on PC. Keep in mind, I use the Morrowind which came with the Anthology disc set. This is version MCP 2.4. Not sure if other versions, especially earlier versions, also have all the features found in 2.4.


1). First step is to procure Xpadder. This is a small program which converts a controller's buttons, triggers, bumpers, and joysticks into mouse & keyboard inputs. It is easy to use, includes plenty of helpful walkthroughs, guides, forums, and costs a small, one-time fee. If you've never used this program before, go ahead and start with the site's walkthrough section to get your controller template working. This took me about a hour or two when I was new to PC gaming. It's sort of fun, magical even, to watch an Xbox controller come to life on PC as we set it up.

Joy to Keys and other such programs might also work, but I don't have any experience with these, and so this guide will focus on using Xpadder. Others out there can try using other programs, but I cannot guarantee they'll work.

Anyway, once the controller is working through Xpadder, move on to step 2. The rest of this guide shall describe how I like to set up my controller; others out there can try experimenting with what's below, to try to suit their ideals.


2). Start the game and go into Morrowind's Options > Controls menu. Toggle Enable Joystick on. Voila, Bethesda nailed it. We've got true variable walking / running movement, and can also strafe left and right with true variable speed. Beth's off to a surprisingly good start here, in this ancient game.

From here on however, things get downright bizarre. unsure.gif Let's start with the Xbox's triggers.

-- With Morrowind, Bethesda did something really wonky with Xbox triggers: they made it so that the left trigger makes us turn right, and the right trigger makes us turn left. unsure.gif The right joystick (which is what most of us would use to look around) is useless at this point; instead we're supposed to use triggers to look left and right!

Go ahead and try moving / looking around. What a mess, eh? How are we supposed to navigate the world like this? unsure.gif


3a). So let's start with the left and right triggers. Exit the game by pressing the Esc button > Exit. Now start Xpadder.

3b). Assign a keyboard key to each trigger. I just assigned the letter J and the letter M, left and right respectively. These two keys shall become my Journal and Menus in the game, see.

This is sort of a compromise, of course. Since Beth hardcoded the triggers to become the game's "look around" function, that is exactly what those triggers will still do. I have searched and Googled, looking for a way to change this, but all I've found are other gamers out there, trying to change the same thing! panic.gif

Good thing is, as long as I tap a trigger (rather than push it) I'll be able to pull up my Journal and Menus, with minimal character-spin. Since these two functions are brought up with one tap, this is why I prefer to map the triggers in this way. If I had mapped Jump to a trigger for instance, that would become awkward, as my character would now turn slightly left or right every time he or she jumped.


3c). Assign your controller's Start button with Esc on the keyboard. Now we can exit the game (as well as save, load, et cetera) without pressing Esc on the keyboard.

3d). I prefer my controller's A button to be what I use when I'm trying to Use something in the game (such as using a weapon, or casting a spell), but I also like the A button to select menu items. This equates to the left mouse button. So in Xpadder, select the A button and assign the left mouse button to it.

Final step with Xpadder is to get that right joystick to work, so it's really important. We need to be able to look left and right, but also up and down, and all around.

3e). Right now the right joystick should be five blank buttons (when viewed through Xpadder) which are in the shape of a cross. Click on the "wrench" icon which is in the lower right of this cross.

3f). Select Mouse - Normal at the top of the pop-up menu. Now select Standard in the menu's lower portion. These are the two settings I like to use, and those who are reading this guide can try experimenting with other choices, such as W.S.A.D. or Arrows. But those settings I just used should guarantee right joystick movement corresponds to mouse (Look Around) movement in the game.

Click OK, closing the mouse menu.

3g). At the top of Xpadder, select the middle icon, which is in the shape of a square, save and name the Xpadder profile as it exists so far.

Now start the game, and make sure that right joystick allows us to look all around, just like it does in Oblivion, Skyrim, and every other game which allows controller support.

3h). OPTIONAL, for those who have problems with left joystick "creeping". In other words, we let go of the left joystick, but our character sometimes still 'creeps' (strafes) slowly left or right. Close the game and click on Xpadder's left joystick's wrench icon.

3i). On the right side of this menu is DeadZone. Use your mouse to drag the DeadZone pointer left or right. Notice the red area which is in the center of the Status display. This area gets larger and smaller as we move the pointer right or left. Now move the left joystick around. This causes a dot to move around in the display as well. If the pointer remains in the red area once the joystick is released, this is good. This means the game cannot read the joystick, and our character should no longer creep.

For those who have problems with strafe-creeping, you'll be wanting to drag the pointer somewhat to the right. I prefer about 40% to the right.

3j). Click OK, Save the profile, and get back into the game. Make sure your character no longer creeps.



The rest of your buttons can be set up while in the game, and I shall describe what I prefer. There are still a couple of wonky things to beware of, and I shall explain them.

4a). Press the Start button on your Xbox controller. This probably does two things: it opens up the menu which includes Return, New, Load (etc.) but it also opens up the game's quest journal. And I want to get rid of the "journal" part.

4b). You should be able to move the right joystick around to move the onscreen pointer around, or you can use the mouse to do so. Now select Options. Select Controls. The game's left joystick has already been set up as Enable Joystick, which is why Forward, Back, Left, and Right do not have corresponding keyboard inputs.

4c). Scroll down (scroll scroll scroll....) with the mouse wheel to Journal. Use the controller's A button (or left click with the mouse) on Journal (it should turn red), and press the controller's left trigger. This will cause the current selection, which said Joy 6 I think, to go blank. Which is okay.

4d). Click OK, click Return, and close the Journal. Now try pressing the Start button again. The Save/Load menu should pop up, but the Journal should not. Try pressing the left trigger lightly. This causes the Quest Journal to open.

... Now, some of you might not like this, and may wish to change the left trigger to Jump or Ready Weapon or whatever. Go ahead and experiment if you please.

... Also, if your game is like mine, Journal will glitch back on, every time the game is closed and restarted. mad.gif I don't know why this is. Every time I restart my game, I must also remember to reassign Journal to the left trigger, otherwise it also gets opened whenever I click on the Start button. Thankfully, Journal is the only button which glitches like this, at least for me.

5). The rest of those triggers, bumpers, buttons and joysticks can be set up however you'd like, but there are still a couple other things to watch for. The directional pad for instance. It is VERY sensitive. I only use it for the Sneak function.

Here is how I set up the rest of my controller...

Use = A button (Joy 0... left-click with the mouse on Use, select the controller's A button, and then use the mouse to right-click on Use. This can take a few tries.)

Activate = press left joystick (Joy 8)

Ready Weapon = Y button (Joy 3)

Ready Magic = B button (Joy 1)

Sneak = Directional pad down button (JHar O D)*

Run -- Not needed (the left joystick handles both walking and running). If Run has been automatically assigned a button, left-click on Run with the mouse. Now click on both mouse buttons: left-click and right-click, both at the same time. This should cause the area next to Run to be blank, unassigned to any button.

Always Run -- Not used

Jump = X button (Joy 2)

Next Weapon = right bumper (Joy 5)

Previous Weapon -- Not used

Next Spell = left bumper (Joy 4)

Previous Spell -- Not used

Toggle POV = press right joystick (Joy 9)

Menu Mode = right trigger (the area next to Menu Mode will stay blank)

Journal = left trigger (the area next to Journal will stay blank)

Rest = Select button (Joy 6)

I personally have not figured out how to use all the Quick slots, Quick Save, or Quick Load, so from here I just click OK, click Return, and now I'm back in the game.

*Again, the directional pad is very sensitive, and getting into Sneak mode can be a pain sometimes because of this. Basically, anything assigned to the D-pad can be difficult to use, so experiment with whatever works as painlessly as possible.


Always make sure your controller is ON when starting the game. If it is not on and the game is started, the game will revert some of those carefully-chosen settings back to pure Mouse + Keys.
Personally I always restart my computer if this happens.

6). One final thing to add. Whenever we try to buy something, or pick up something from the ground, or from a container, and there is more than one thing to buy or pick up, the game will simply choose everything at once. So if we try to buy three arrows, but the merchant has 100 arrows, we'll wind up trying to buy all 100 of those arrows. This doesn't happen on Xbox. nono.gif

On PC, this is because we need to press either Shift key (left or right, it doesn't matter) as we hover the cursor over multiple objects. So the Xpadder layout needs to be called up again. Choose any one of those buttons or bumpers, and make this correspond to either shift key. I used my controller's B button.

Back in the game, we'll need to HOLD the button just chosen as we buy or pick up multiple items. So I am holding my B button while hovering over multiple items, and then pressing the A button (Use) to select them. This causes a nifty scroll bar to pop up, and now I can select whatever number of items I choose.

The Shift key is also used when deleting spells. Again, put the cursor over the spell we wish to delete, hold your 'shift' button, and press Use. There will be a Yes No option to get rid of the spell.

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

TROUBLESHOOTING
Renee
More Dynamic NPCs! Game: TES III: Morrowind

One of the first mods I looked for in this game was something which makes Morrowind's people actually move around. Especially those people who stand in the same spot (usually in indoor locations), literally for months. unsure.gif I figured this would be a quick search. Surprisingly, I still haven't found something which does this. There's gotta be a mod out there which makes the NPCs of this game wander a bit? Even if it's from one side of a room to the other?

Never did find anything, so far. But good news: it's pretty easy to make our own More Dynamic NPCs for Morrowind. smile.gif

I'm going to start with Arrille's Tradehouse in Seyda Neen. Now, I don't really have a problem with shopkeepers or merchants standing around. It makes sense that they'd tend to their counters, waiting for somebody like us to amble in.

CELL & RENDER windows
1). I am going to start with Tolvise Othralen. This is the lady who wears green & yellow, and always stands next to Arrille. Find Seyda Neen, Arrille's Tradehouse, and find Tolvise in the Render window Double left-click on her in this window. Unlike Oblivion's CS, clicking on her in the CELL window will not open her NPC panel.

2). Click on the AI button. This is located toward the middle bottom of any NPC's panel. The AI Data panel pops up.

3). Look toward the left side of this panel, where the AI Packages window is. And notice this: Tolvise already has a Wander package!!! ... In fact this is true of a lot of NPCs who eternally stand around. A lot of them DO have Wander packages. blink.gif Which is why they'll occasionally take two steps in one direction, and then go back to standing around.

4). Double left-click on Tolvise's Wander package. The Distance slot is what we want to change. By default, a lot of indoor NPCs have a Distance of anywhere from 0 to 30, which is not very far. No wonder they barely move.

5). So this is easy to change. I like using binary numbers, such as 128, 256, 512, 1024, and so on. 256 is a good number for Tolvise (the Tradehouse is not very big) but for places which are larger, such as guilds, I'll choose 512 or 1024.

6). Click Save (or just press Return or Enter on your keyboard) twice, closing the package and AI Data panels. We'll usually have to manually click on Save to close the NPC's panel.

It is best to use the Render window, going into Cells which we know we want to influence, and clicking on each NPC just like I did with Tolvise. We can also make changes from the Object window, however it's not always easy to know which NPC we are changing, and personally I want to know. Because not all of them should wander about, in my opinion. Anyway, I just gave most of the NPCs in Balmora's Council Club the same treatment, for instance.

Note that some NPCs will have a AI button which is grey, and we can't click on it. Most of the NPC's info is Blocked. I'm not sure why Bethesda did this, but there's gotta be a reason. Maybe they didn't want a bunch of people walking into each other (which is what they will do sometimes, if the majority of them have broader Wander packages).

7). For such NPCs, I'll simply toggle Blocked (lower right corner of the NPC panel) off. Then I'll click Save. Reopen the NPC. Now we can change their AI as desired. And then I always toggle Blocked back on with these NPCs before saving. redwizardsmile.gif Because there's gotta be a reason why their info was blocked in the first place.

Like I said, occasionally they will now walk into inanimate objects, or each other! In my opinion, this is better than having a bunch of people standing around like statues, though. They will now clomp about, wandering into other rooms occasionally if their Distance is large enough. panic.gif It really changes the feel of interiors, right?

In situations where we have to steal something, such as the diamond which must get stolen during that first Thieves Guild quest, it is possible to wait for them wander into another room, making thievery less frustrating, and more possible. emot-ninja1.gif

Final note: Some NPCs don't have a Wander package, instead they'll have Follow or something else. DO NOT change these packages unless you really know what you're doing. They are there for a reason, usually something quest-related. And also, I never try to add a second package (Wander, or whatever) to these folks.

https://web.archive.org/web/20200218144534/...aithful-squire/
Renee
Getting the Take All button to work, Game: TES IV: Oblivion

Submitted by Lena Wolf

1. Get "Hotkeys galore" mod - it has all the interesting keys programmed... but to weird letters which clash with default Oblivion key assignment. They will also probably clash with whatever assignment you are using too, and they are not configurable.

2. Edit the mod to reassign to keys to something that works for you. I use standard key assignment, so I can send you the updated script that works with that.

3. Test it all with the keyboard - just to make sure it all works as you expect.

4. Make the appropriate mappings with your Joy2Keys/Xpadder. This must be the last step, it can be done with either utility. If you skipped step 3, go back and do it! mad.gif (I know I skipped it a few times, resulting in much time wasted.)

This mod does not conflict with hotkey mods that for example allow you more than 8 hotkeys for mapping your weapons or spells - those are not the same kind of hotkeys! So you can still keep your extended hotkeys and they will be unaffected (unless of course key assignment clashes, which is why you need to change it).

Renee
Setting fallback cell (instead of Tiber Septim)

https://web.archive.org/web/20200218144220/...a-strange-game/
Pseron Wyrd
QUOTE(Renee @ Sep 1 2021, 08:12 AM) *

Wow, that was a blast from the past. I haven't seen the names Breton Summer, Savlian and SOMEONE_reborn in years. SOMEONE_reborn was right: Tiber Septim as a fallback was a dumb idea.
Renee
I agree, Wyrd. Now that I know why random stuff shows up in Tiber Septim and how it gets there, that does seem a strange decision. Who knows why the fallback cell was designated that way. unsure.gif Maybe a dev goofing around.

But I saw that post and decided to copy/paste it here, just so I'll remember.

https://web.archive.org/web/20200218112652/...pdates-9/page-2 Fally update.

https://web.archive.org/web/20200218082953/...ic-or-no-music/ sleakpost 20

which toons have which table skills

fDlgFocus=9.0000 makes NPC faces more distant.

Marge N. Overra https://hosting.photobucket.com/albums/ad20...8&crop=fill

Crystal Beth https://hosting.photobucket.com/albums/ad20...8&crop=fill
PIC 2 https://hosting.photobucket.com/albums/ad20...8&crop=fill

American Indian guy https://hosting.photobucket.com/albums/ad20...8&crop=fill

Craig https://hosting.photobucket.com/albums/ad20...8&crop=fill

Claire Voyance PS3 https://hosting.photobucket.com/albums/ad20...8&crop=fill

https://web.archive.org/web/20200217211706/...fiction-thread/

Connect the phrase with the writer

You´re gonna kill yourself when you start modding, Renee! And you´re gonna lose your imagination!

As I have said before, some people like to be told a story and other people like to tell their own stories. And I think for the most part the people who like to be told a story are more likely to want to experience a game "the way the developer intended it." And, I think, for the most part, the people who like to tell their own stories are more likely to be interested in modding.

The better cities I never installed, first of all there is OBSE which boggled me, secondly it conflicts with a lot of other mods, which is something you need to watch out for: Mod conflicts, basically some mods just don't work together, so you have to decide which one you want
Renee
Random Console Commands, Game: TES V: Skyrim

This post includes a few console commands used in Skyrim which are not listed at UESP. I keep wanting to use these commands here and there to change time in new games, but never can remember them!

set GameYear to X
set GameMonth to X
set GameDay to X
set GameHour to X

The year is always in the 4th Era, this cannot be changed.

Month uses the numbers 1 through 12. 10 equals Frostfall (October) for instance.

Day goes from 1 through 30.

Hour goes from 0 to 23, in 24 hour format. So set gamehour to 13 will make it 1pm.

---------------------------------------------------------------------------------
Renee
How to make a ForceGreet. Game: TES V: Skyrim

This one is going to teach how to make an NPC ForceGreet the player. What this means is the player (us) is greeted by an NPC. And when this NPC greets us, it pauses our ability to do anything else but answer the NPC's question, fulfill the NPC's demand, or whatever. Think of when we first enter Dragonsreach, and Irilith stalks up to us, blade in hand. "What's the meaning of this interruption?" she demands. And our ability to do almost anything else is temporarily disabled. Our options at that point are to continue the conversation, or back out of it entirely, and go back to whatever we were doing.

Note that only the Player-Character can be greeted in such a way. An NPC cannot forcegreet another NPC, they can only play part of one of Skyrim's scripted Scenes.

So, this assumes an NPC has already been made, because it's best to test this kind of stuff on our own custom-made people first. Make sure the NPC has a Voice Type which is supported (see the list below), and place him or her into a cell or worldspace.

MaleEvenTonedAccented
FemaleSultry
MaleDrunk
FemaleDarkElf
MaleDarkEfl
MaleNord
FemaleCommander
MaleBrute
MaleArgonian
MaleKhajiit
FemaleOrc
FemaleCondescending
MaleEvenToned
FemaleEvenToned
MaleYoungEager
FemaleYoungEager

I have found the best place to test this sort of item is in QASMoke, which is similar to the Testing Hall cell found in Oblivion. Here is a list of cells which might be safe to test.


RENDER window
1a). If the NPC being used for the ForceGreet is being added into the game (in other words, is not a vanilla NPC) double left-click on him or her in the Render window. Click on the Persist Location tab, and find the cell he or she is located, in the Persistence Location scroll-bar. Click OK.

If we don't do that, sometimes NPCs have a habit of disappearing once we add the package to them. mad.gif

OBJECT window > Character > Quest
1b). Make a quest, and give it an ID. I am calling this quest aaaForceGreetQuest.

Priority can be 60. Start Game Enabled and Run Once should be on. Use the Type scroll-bar to choose a type of quest. I am choosing Side Quests.

Note: --This quest going to be a very short example, which does not show in the Quest Journal once we're back in the game. So Quest Name is not necessary.


2). Click OK, closing the Quest window. Save. Reopen the quest.

3). In the Quest Stages tab, make three stages: 0, 1, and 2. Right-click into the Log Entry window for each of these so all three say EMPTY.

Stage 0 should have Start Up Stage toggled. This is the pre-stage, and the NPC will greet us during this stage, once we get near enough to him or her. "Do I know you? You look familiar" is what is in my game. After he or she says this, the quest bumps to 1.

Stage 1 "Afraid not," we answer. "Oh my mistake," the NPC says, and walks away, bumping the quest to 2. Note that in many cases, ForceGreets will automatically make an NPC Sandbox (walk away, sit down, eat, etc.) once the conversation ends.

Stage 2 should have Shut Down Stage toggled, as well as Complete Quest.


4). Click on the Dialogue Views or Player Dialogue tab. I am going to describe how this is done in Dialogue Views.

5). Right-click into the Editor ID window and choose New. Type a unique ID.

6a). Highlight the ID, and right-click > Create Branch in the larger window. Give the Branch an ID, Click OK, and OK again, closing the Quest window. Save.

6b). Reopen the quest. Now, open the same dialog window. Right-click into the gray box and select Edit Topic. The Topic panel pops up.

7a). Give the Topic a unique ID. And very important: Change the Priority slot from 50.00 to 100.00, if the ForceGreet is definitely supposed to happen.

7b) Type something into the Topic Text slot, which is what our character will say to the NPC after being greeted. I wrote "Afraid not" up above, and you can type whatever is desired.

7c). Change the Subtype scroll-bar from Custom to ForceGreet.

Click OK, and click OK again (closing the panel).

--Note also that so far, this dialog-making process seems backwards. Why didn't we type the NPC's greeting first? unsure.gif We'll see why in a few.

8a). Reopen the Topic panel, and right-click > New into the huge window area. Okay, now follow all the typical methods for making dialog. For those who have never made dialog in Skyrim (or have forgotten how) scroll down to step 5h of this post. This is the part where the NPC says "Oh, my mistake" in my example above.

Don't forget to make a recording. The process can be found in step 11n of this post, and we don't have to actually record any voice to make the dialog work once we are back in the game. smile.gif

8b). Toggle Has LIP File, Say Once, and Force Subtitle on, if you are like me, and do not use actual voice recordings. smile.gif For those who do use voice, only Has LIP File and Say Once are needed. I think.

9). There should be two conditions:

GetIsID aaaYourNPC == 1.00
GetStage aaaForceGreetQuest == 1.00


Copy All both of them.

10). Type GetOwningQuest().SetStage (2) into the End: Papyrus Fragment box.

11). Click OK, click OK again (closing the Quest window) and Save.

12). Reopen the quest, but this time click on the Misc tab. Right-click > New into the white Editor ID (tall, vertical window) and find Hello in the scroll-bar which is over this window.

13). Now's the time to make the dialog which will be our forcegreet. "Do I know you? You look familiar." Follow all steps for recording.

14). Paste the two conditions into the Conditions window, but change the GetStage to GetStage aaaForceGreetQuest < 1.00. And also add IsInDialogueWithPlayer.

Overall, the conditions should look like this...

GetStage aaaForceGreetQuest < 1.00 AND
GetIsID aaaNPC == 1.00 AND
IsInDialogueWithPlayer == 1.00


15). Type GetOwningQuest().SetStage (1) into the End: Papyrus Fragment box. Click OK, and OK again, and Save.


OBJECT window > Character > Package
16). Make a new package. Give it an ID.

17). Change the Package Template scroll-bar to ForceGreet. There are also ForceGreetFromSitting and ForceGreetWaitSitting, if the NPC is to greet us while sitting (for example, a Jarl on a throne). With ForceGreet, the NPC can walk toward us before saying their greeting if we choose for this to happen. With ForceGreetWhileSitting, they will simply continue to sit.

Package Tab
In the Public Package Data window there are a bunch of datas we have the option to manipulate: Topic, NPC Wait Location, Trigger Location, and so on.

-- Topic: click on this. By default this is set to [HELLO], and we are going to leave it there. This is obviously so the game engine picks up on the HELLO we just wrote.

-- NPC Wait Location is, of course, where the NPC will stay until we get near enough for him or her to start the ForceGreet package. Left click on this choice, and then select the button which says 'Near package wait location, radius 150'. The Location panel pops up. There are a bunch of options where the NPC can stay while waiting for us. For convenience, choose Near Self if we don't need a specific place for them to stay. Or, a referenced marker (such as an XMarkerHeading) can be chosen. For now, just leave this alone.

-- Trigger Location can be left at 'Near package start location, radius 500', or it can be increased. This is the area which causes the ForceGreet package to activate. The package activates, and begins processing so that the NPC gets ready to walk to us. Trigger Location can be changed larger than 500: Irilith, the NPC who accosts us as we first enter Dragonsreach for instance, has a Trigger Location of 3000, which is why she is already moving toward us to say the "jarl will not be receiving visitors" way before we even notice her.

-- Forcegreet Distance is the distance (in Bethesda units) of how far away the NPC will greet. Leave this on PlayerRef, of course. Radius is 300, but can be also changed larger or smaller. Don't make Radius too small though, or the NPC won't be able to greet properly.

--- Player must be detected. By default this is False. If this is set to True, it means the NPC will give their Hello only if they see our character. Oddly, I have found this quest works best while it stays False. If it stays False, all that matters is the Trigger Location and Forcegreet Distance. They don't have to physically see our character at all.



Flags tab

-- Toggle Preferred Speed on, and change this to Walk, Fast Walk, Jog, or Run.

-- It helps to toggle everything else off: all the "Fallout" stuff like Hellos to Player, and so on.

-- Must Complete can also be tried, but only if the package seems not to be working.


Conditions tab
-- Set these as per whatever conditions are required. I am putting GetStage aaaForceGreetQuest < 1.00.


18). Click OK, closing the Package window. If OK cannot be seen, click on the package's ID name, and press ENTER or RETURN on the keyboard.

19). Open up the NPC from the Object or Render windows. Now we can either drag the new package into his or her AI Package window, or right-click > Add the package in there.

Go into the game and make sure everything works.


Final notes: It is also possible to use the Quest window's Quest Alias tab, add the NPC as Unique Actor, and attach the package into the lower right window. Bethesda does it this way, rather than attaching the package to the NPC itself. I got this to work ONCE, but have been unsuccessful at seeing it happen again. mad.gif The reason we might want the package to work this way is it's a little smoother, and there is less lag between the NPC walking toward us, and finally greeting.

Below is a script which also promises to make forcegreets happen, although I have not tried it yet.

Quest Property YourQuest Auto
Actor Property NPC Auto

Event OnTriggerEnter(ObjectReference AkActivator)

If(game.getPlayer()==AkActivator && YourQuest.GetStage() == 40)
YourQuest.SetStage(50)
NPC.EvaluatePackage()
Endif
EndEvent
Lena Wolf
I thought this thread was for Oblivion? wink.gif Never mind. I've been fiddling with animations lately, and have written up here how to define your own animations. Perhaps it can be useful to others. This is for Oblivion.
Acadian
QUOTE(Lena Wolf @ Jan 25 2022, 06:57 AM) *
I thought this thread was for Oblivion? wink.gif ...

Perhaps I can help here. Renee started this thread in 2018. At that time, our mods area of the forum was just all clumped together without specific sections for different games. That manner of organization was okay back when Chorrol was 'all about Oblivion', but in 2019 we reorganized the mods section of the forum into what you see today. Since there is really no specific home for threads that include more than one game, this one has just stayed with the Oblivion mods threads. I'm not sure it would be worth the effort for Renee and I to break this thread into different threads to fit the newer forum categories. Or whether it is worth it to create a new forum subcategory for only this one thread. I'm open to either option though if Renee would like. smile.gif
Lena Wolf
Well, there are of course a lot of similarities between Oblivion and Skyrim, but there are also distinct differences. I am not exactly sure what's best - to split things up or to keep things together. Not considering the work it to split it up, that is! Which would be quite a lot, I think.
Renee
Lena has a point. Maybe this thread can be moved to Mod Projects, which is not game-specific. I just didn't want to bug Acadian (again).

I do not want to split these tutorials up. Anyway let me know if that's ok Acadian!

Ow, and "boobras" goods and stores.
Acadian
Okay, the mod projects forum is simply a collection of subforums on retired projects. So I created a new section in the mods forum area for discussion of modding in general or that applies to multiple games and moved this thread there. I think this will help clarify things. Thanks to Lena's fresher eyes for pointing out the reasonable conflict. Thanks also to Renee for allowing me the flexibility to move her thread to a new home.
Renee
Thanks, paladin!
Renee
How to use the PC's face for an NPC. Game: TES V: Skyrim

1). Start Skyrim and either start a new game, or load a game.

2). If the game is being loaded (rather than started as New), open the console (press tilde key) and enter the showracemenu.

3). Create the appearance the same way you would create any other character you were going to play. Exit the character creation screen and save the game.

4) Open the console (tilde key) and type 'SPF' followed by the name of your character, but without spaces. Since my character is named Maya Purse, I just typed SPF MayaPurse. Exit the console, close the game.

Have a look into the main Skyrim folder. The character just made should be in this folder, with an extension of .npc. Yes, I am seeing MayaPurseFace.npc in this folder.

5). Open the Creation Kit and create a new NPC, or find an NPC whose face you wish to change. In the Traits tab, set the race and gender the same as the Player Character just made. So if the PC is a Nord Male, the NPC must also be male, and Nord.

6). Pick a voice from the VoicesFollowerNeutral formlist.

7). Click the Character Gen Parts tab, push the Import button. This button is on the upper-right side. The Skyrim folder should open, but sometimes it takes a few seconds to do so.

8). Find the .NPC file, double left-click on it. Voila.

Make any other changes necessary. If the NPC is going to be made into a follower, here is my link for that.
Renee
How to add a bounty to the Player via script. Game: TES V: Skyrim

This is how to modify the CrimeGold variable via a script, adding or removing a bounty from our character's head. In this case, I'll be raising CrimeGold during a quest stage, by adding a simple script. Sure, we can open the console once we're in the game, click on our character, and type Player.SetCrimeGold X or Player.ModCrimeGold X, but here's how to do it during a quest.

And I'm only adding this to the thread because it works. goodjob.gif Not everything listed at CreationKit.com works, or is easy to understand how to add its syntax, especially for a dummy like myself.

1). I am assuming a quest is being written with stages, or will be written with stages. Go to the Quest Stages tab, and find the stage during which we want to modify a character's CrimeGold.

2). Click the Properties button. Click Add Property. When the panel pops, find Factions in the scroll-bar.

I am writing this as though I want a bounty placed upon my character's head, so...

3). In the Name slot, I am typing PlayerCrimeProperty as the property's name. Click OK, which closes the Property panel.

4). After the nifty little blue & yellow symbol shows in the Property Name window, click the Edit Value button, and find whichever hold you'd like the bounty to show. So for instance, my character is doing a quest in which she receives a bounty in Solitude, so I'm going to find CrimeFactionHaafingar in the scroll-bar.

Click OK.

5). In the Papyrus Fragment box, type the property's name, followed by SetCrimeGold, and the amount of gold desired. So in my game, I've got PlayerCrimeProperty.SetCrimeGold(100), which adds a 100 gp bounty in the hold of Haafingar.
Renee
How to add the Player or NPC into a Faction via script. Game: TES V: Skyrim

Again, I am assuming there's a quest being written in stages, and again, I am mostly adding this into this thread because it works. Essentially, I wanted to add my character into a faction, but during gameplay, and not via console.

A good way to see if this script works (especially for our character) is this. Let's say we're trying to add our character into a faction which has items we cannot pick up. We look at some items which belong to, let's say, the Blue Palace, and all we see are Steal this and Steal that.

1). Go to the quest stage which we wish the player or NPC to join. Click Properties button. This time we'll need two properties to make this work.

2). Click Add Property button. In the Type scroll-bar find Actor.

3). Choose a name. I'll just call the property PlayerProperty. Click OK.

4). Click Edit Value. If we want to affect the Player, find any cell in the Cell scroll-bar and find PlayerRef in the Reference scroll-bar.

If we want to affect a particular NPC, choose whichever cell the NPC is in and find the NPC in the Reference scroll-bar. Note that only referenced NPCs will work, so if the NPC hasn't got a Reference ID, go ahead and add one.

5). Click OK, closing the Properties for Script panel.

6). And now for the second property. Click Properties > Add Property, and find Faction in the scroll-bar. For my character, this is SolitudeBluePalaceFaction. Give the Faction a Property Name. I am choosing SolitudeBluePalaceFaction, just because my memory's already got that term. Click OK.

7). Highlight the property just made, and find whichever faction in the scroll-bar. Click OK.

8). In the Papyrus Fragment box, type CharacterPropertyName.SetFactionRank(FactionPropertyName, 1). Since I am adding my own character into the Blue Palace Faction, I'm typing PlayerProperty.SetFactionRank(SolitudeBluePalaceFaction, 1)

Note that final number "1". This is what the Creation Kit calls AIRank, and AIRank is a number which can vary from -127 to 128. In most cases, we're simply going to be using -1, 0, or 1, which removes or adds the PC or NPC to that faction.

9). Go back in the game. If the PlayerRef was just added to a faction, when the quest gets to that particular stage, try going back to wherever those forbidden items were. If the game said we can only Steal these items, now we should be able to pick them up.

For NPCs, the main way to test if a person has been added or removed to the faction is to click on them with the console, and type GetFactionRank "Faction ID", and the ID will be needed in the form of whichever 8 character ID number has been assigned to that faction.
Renee
How to fix "failed to load snowflake: Meshes\BM_Snow.01.nif" error.

Game: TES III: Morrowind

If Morrowind crashes on startup and the 'snowflake' message shows on your desktop, here's what I did to fix. This assumes Morrowind, Tribunal, and Bloodmoon have already been installed, and may have previously worked.

Some of these words are not mine. I copy/pasted from the Steam website. But I don't use the Steam version of MW, I have the disc version. There are instructions for both versions below.

For steam users
1). MAKE SURE your Steamapps folder is NOT in Program Files folder. Create a custom folder outside of Program Files and install the game there.

2). Once done, install Morrowind and run the launcher, close it. Verify your game integrity game cache


For CD GOTY users
1). Open the CD and RUN the AUTORUN.EXE AS ADMINISTRATOR if you have to. Install the files OUTSIDE PROGRAM FILES one by one: first Morrowind then Tribunal then Bloodmoon. Due to an unexpected failure in Windows Vista or later, some files will not be copied for some reason. You have to copy them manually.

Note: the guy at Steam said we also have to install the Construction Set separately, after installing Morrowind, but I did not need to do this. My CS was automatically installed from the MW disc. But I have the Anthology set, not GOTY. Maybe there's a difference.

2). Right-click on Morrowind (as it appears in the CD drive). Right-click Data Files folder and choose copy (I have Windows 8, I had to click Expand to see these files).

3). Paste the copied Data Files folder into the Morrowind installation folder. Overwrite? Yes. Remove the Morrowind installation disc.

4). Now follow the same steps for the Tribunal and Bloodmoon discs, starting with Tribunal. Right-click Data Files folder and choose copy. Paste these into the main Morrowind installation folder and paste there. Overwrite anything.

5). Follow the same process for the Bloodmoon disc.

Personally, my game was loading up fine by now. But here are some additional steps for those who might still be having probs.


1). Go into the main MW folder and open the Morrowind.ini (it's a Notepad file).

2). Find [Archives] and make sure it looks like this:

[Archives]
Archive 0=Morrowind.bsa
Archive 1=Tribunal.bsa
Archive 2=Bloodmoon.bsa

(note, my Morrowind.ini did not have an [Archives] section, but I found the three pertinent lines of text at the very bottom of the page under [Game Files]

3). If those three lines (nor an Archives or Game File section) exists on the .ini just copy/paste them in.


4). SAVE the ini. Congratulations, You are done, enjoy your game!
Renee
Installing Morrowind from Scratch

Recently I had some problems with Morrowind, and had to install from scratch, all the way back to the discs. At first I tried to circumvent this process, which (long story short) did not work. Here's the story.

I happen to have a backup folder with all the vanilla files intact, so I copy-pasted this, but the same problems persisted. So with no other choice, I decided to go all the way back to the beginning. Started all over, installing from the Anthology discs. But as I did so, I ran into a slew of problems. For some reason the buttons on my Xbox controller were not working properly. Or rather, they weren't registering properly. I'd go to jump, and nothing happened. Ready weapon? Same thing, unless I pressed the button over and over. Finally, the Mod Config menu was missing.

But I was also able to fix all of this, and here's how.

Firstly, do NOT get rid of your old Morrowind folder. Keep this around, at least for a while, even if you think there's nothing useful in there.

--============================================

1a). Rename the old Morrowind folder. For instance, I changed my folder's name from Modded Morrowind to "aModded Morrowind". This is important. If the folder is not renamed, later on when we're trying to reinstall the game it'll keep trying to uninstall from the old folder first. It's doing this so it can reinstall into this folder, which I already know will cause probs. This is what I described toward the end of the paragraph above.

1b). Make a new folder, outside of Program Files (x86). Name it whatever you want. I named this folder Modded Morrowind.

And this is why it's important to keep the old folder, at least for now. Sometimes it's useful to see how folder paths were structured, especially when comparing the old folder to the new one. It's also good to see what's stored in there, for whatever reason. Basically, that old folder becomes a point of reference.


2). Right-click > Install Morrowind from the disc. Follow all the prompts listed by the install wizard as usual. Install the game into your new folder.

Note that my copy of Morrowind is from the Anthology disc set, which included a separate disc for the Construction Set. We won't need to install this disc; the regular Morrowind disc already installs this for us, assuming you've also got the Anthology set. I think this separate CS disc is for those who wish to install only the Construction Set on some other computer.

3a). Remove the Morrowind disc and insert the Tribunal disc. Install, following all prompts. Do the same for the Bloodmoon disc, and don't forget to remove this disc and put the regular Morrowind disc into the tray before trying to start the game!

3b). Cut/paste the Saves folder from the old Morrowind folder to the new one. This is for those gamers who wish to continue a game which is already extant, of course.

>> HOWEVER, if this save included any bad stuff (mods which caused probs in the past, for instance) maybe it's better not to use it. In my case I had a brand-new character, whose game only included Tribunal and Bloodmoon so far. I hadn't added anything else yet, since I was trying to keep her game "pure" for the time being.

That's the vanilla game. At this point, I booted up the save I made from before and tried moving my gal around and stuff, but the same problems listed above were still there. Animations were jerky, especially if I tried to rotate the camera. Several buttons were still not working, unless I tapped them repeatedly.

I was pretty pissed off of course, even the vanilla game is broken??? But being stubborn, I decided to forge ahead with more installs anyway.


Next comes what I like to call the "Big Three" utilities. These are tools which are necessary for a lot of mods, and I installed each one from their original archive files (rather than copy-pasting from the old Morrowind folder).

4). I have Nexus Mod Manager (NMM) for Morrowind, because it's light and easy to use. Some folks use Wrye Mash, which is more comprehensive for those who have larger lists of mods, especially if they're beginning to conflict one another. Some folks won't need a manager at all, usually those with barely any additions. I prefer to have one though. Since I only have maybe 20 plug-ins plus a few random non-.esp additions, all I need is NMM.

NMM can be installed anywhere, it's one of those programs which automatically finds whatever games you've got. I prefer to throw its files straight into my Modded Morrowind folder, for convenience. Made a shortcut to desktop, as well.

5). Next comes Morrowind Code Patch 2.4, and again, I installed this straight into my Morrowind folder, and then made its executable file to a desktop shortcut. MCP fixes a lot of bugs and also includes a LOT of toggles we can click on or off. A lot of mods depend on MCP for its script extender functions. But it's all those dozens of toggles which can be really fun, not just for functionality, but also for roleplaying options.

For instance, for some characters who aren't thieves, I like going onto MCP's Game Mechanics page, toggling Hidden Traps and Hidden Locks on. This adds immersion. Now, my non-thief characters won't automatically know if some door is locked, or if there's a trap on that chest.

> Make sure to press Apply Chosen Patches at the bottom of the MCP page when done toggling stuff.

6). The last of the Big Three is MGE XE, Morrowind Graphics Extender XE. Again, I put this into the Morrowind folder, and sent a shortcut to desktop. This improves graphics in all kinds of ways. We can change resolution for instance, beyond the limited choices the vanilla game gives us. We can use the FPS Limiter to curtail the engine from throwing massive framerates around. I've got this set at 60, which improves overall performance since my Nvida isn't wasting frames.

I also like using its Menu UI Scaling feature. Since my TV is roughly 5 or 6 feet from where I sit while gaming, I jacked this from 1.00 to 1.55. Now I can read the game's menus without my glasses! 👓


7). By now I tried starting up my game again and got the "snowflake" error message, which is listed in the tutorial above this one. To fix this, I removed the MW disc, inserted Tribunal, and copy/pasted all the files on this disc into my Modded Morrowind folder. Did the same thing with the Bloodmoon disc.

8). Removed Bloodmoon and put Morrowind back in the tray. Went back into the game, and voila... everything was working as it should. smile.gif Why were the animations jerky? I don't know. Why were the buttons I assigned for Jump, Ready Weapon, Ready Magic, Next Weapon, Next Magic, and Use not working instantly? Not a clue. Why did I not have a Mod Config menu? You got me, pretty sure getting MCP added from its original archive fixed this, though.

So that's it: the vanilla game + its two expansions + the three main utility tools. If you're like me and need to rebuild your game from scratch, I found it best to also install most mods from scratch, straight from their archives. I did this rather than copy/pasting my old Data Files folder. This way, I knew everything that's going into my game, and was able to take notes on what goes where, and what does what.

This is also a great chance to eliminate any dead weight. There's usually some stuff which got added at some point in the past which is no longer used. Did not work, or has stopped working. During the passionate moments of gaming, I tend to forget about these sort of add-ins.


9). Finally, there might be a few things in the old Morrowind folder which can't be taken out of an archive. Here's a few examples: My Screenshots folder, Readmes folder (which I've organized diligently so everything is in its proper place, rather than scattered all over the MW folder), and also Morrowind Additions.esp, my homemade overhaul mod with hundreds of changes. It's a good idea to keep the old folder around, at least for awhile, deleting whatever's not useful anymore, while cut-pasting all the stuff that is.

🍷👑
macole
Those Intervention scrolls sure come in handy.

I was interested in you BSA archive issue. Not only do you have to make sure the Archive and the three BSAs are added to the ini but any mod that uses BSA file will have to be manually added to the ini [Archives] list. Oblivion and Skyrim are a bit better in that reguard although they do have their own BSA quirks.
Renee
Oops, I screwed up. whistling.gif Was cleaning the next draft of Joan's story and you weren't supposed to see that!

I did not originally write the "snowflake glitch" article, that was posted somewhere else. I only edited the upper part of the tutorial, because that's the part that helped me. Somebody at Steam wrote the .ini parts. I'll include your info about other BSAs later on, right now I have a Joanie to finish!
Renee
Under Construction
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2022 Invision Power Services, Inc.