• Get the latest version at: Wrye Musings
• For discussion, go to Elder Scrolls Forums
• Removal
• Notes
• Versions
Living Cities of Vvardenfell is generally concerned with varying the environment of Morrowind over the course of the day. It comprises several esps, most concerned with NPC schedules, and one concerned with door locking schedules.
• Adds schedules to the NPC's in many of the towns in Vvardenfell (see Areas Covered), but does not modify, in any fashion, individual NPC's (thus avoiding incompatibility with other mods). NPC's will go home at night, go to bars, go out at night, go shopping, go walking, and live their little lives on a daily basis. More guards come out at night (works brilliantly with mods such as TLM), and the schedules of NPC's have been done so as to imply who is sleeping with who, who is the shady business elf, so on and so forth.
• Adds training sessions at several locations.
• Adds fishing boats at fishing villages.
• Adds NPC lodging at some locations.
• Dims lighting for many cells at night.
• In general, LCV schedule changes will only happen while you're outside. I.e., if you're waiting in an inn, no one will change schedules until you leave the inn. This mod fixes that to a minor degree (Seyda Neen and Balmora only).
• Note: This esp must load BEFORE LCV Schdules.esp!
• You'll find this patch mod in the Extras folder. You should only use it if you're using LCV schedules and MCA 4.1 (it does not work with the newer MCA 5.0, so far as I know.)
• Add schedules to door locks. Homes and places of business will now be locked at night.
• Standard mod installation.
• Locks
• This has not changed at all from the original release. I.e., if you have the original release, there's no reason to replace the locks.esp from it.
• Schedules
• Each new version is reference compatible (i.e., won't cause doubling) with any earlier version with the same major version number. E.g., 03-06 is ref compatible with 03-05, 03-04, etc.
• However, when upgrading from a version with a different major version number (e.g., from 02-02 to 03-06), you should use Wrye Mash's Mod Updating feature to avoid doubling.
• Wrye Mash can be downloaded from Wrye Musings.
• If you don't want to use Wrye Mash, you can always start a new game...
• Note that locks and schedules are independent! I.e., you can install schedules without installing locks and vice versa.
• Schedule Markers
• Be sure that this mod is set to load before LCV Schedules.
• LCV MCA 4.1 Patch
• Only use this if you are using LCV Schedules and MCA 4.1. It does not work with MCA 5.0, as far as I know.
• Move the patch esp from Extras directory to Data Files directory.
• Included with the distribution are two source files: LCV.etxt and LCV Schedules (version).etxt. These are source files and do not need to be installed.
• FYI, they're both plain text files, and can be read in any text editor.
• LCV.etxt is the source file for LCV.html (this readme). A command line etxt to html text converter is included in Wrye Mash.
• LCV Schedules.etxt is the source file for the schedule scripts. See Modifying Schedules below for more info.
• While it is possible to remove LCV Schedules from your mod list, some NPCs will still end up in positions different from their positions in stock Morrowind. When first using LCV Schedules, it is suggested that you use it on a copy of your current savegame, until you're sure you're happy with it.
• If you fail to do that, but later want to remove it from a game...
• Before removing LCV Schedules:
• Go to an isolated spot (outside of towns).
• Open the console window and enter "startscript SC_Main_ResetGS". This will set all visited towns to the morning schedule (which is the closest schedule to the stock Morrowind setting). It will end with a message like "All towns reset".
• Save the game and quit.
• Remove the mod from your savegame masters list by using Wrye Mash.
• Wrye Mash is the only safe way to remove mods from your savegame.
• Be sure to remove any related dependent mods too, of course. (E.g., LCV Wolverine Hall, LCV Schedule Markers.)
• Note that even this procedure isn't guaranteed to remove all LCV effects. E.g., you may find NPCs training until they kill each other, or fishermen out taking a permanent swim. In such cases, a couple of console commands may help:
• stopcombat: Stops NPC from fighting.
• resurrect: Restores killed NPC to life.
• setAtStart: Sets NPC back to his/her start position.
• Apparently, removing LCV locks causes a lot of doors to vanish. This can be repaired using Wrye Mash.
• You'll need to create a "Ref Remover" for Bethesda Doors and apply it to the save game. The procedure for this is:
• First create the "Beth Doors" Ref Remover...
• Right click on savegame and select "Remove: Edit Removers..."
• In the dialog box, click "Add".
• Navigate the file dialog to Mopy\Data\Removers and select "Beth Doors.txt" and click "Open". ("Mopy" is the directory containing Wrye Mash.)
• Close the dialog box.
• Now, apply the remover to the savegame...
• Right click on savegame and select "Remove: Beth Doors".
• For more info, see: Wrye Mash Readme.
• You'll find that some NPCs fail to collide with each other (or you!) but otherwise draw and act correctly (i.e., you can still click to interact with them). This is due to a limitation in the engine which only generates collision info when you first enter the cell (since the NPCs get "warped" in they don't have collision info).
• Solution: Ignore it or duck into an interior cell and return. Collision info will be updated when you return outdoors.
• You may see NPCs floating up in the air, in front of buildings that they should be behind, drawn without atmospherics, etc. The problem here is Morrowind not properly adapting to objects being brought into the current viewable area.
• Solution: Change cells. Crossing an exterior cell boundary seems to be sufficient to fix the drawing problem, but often doesn't fix the floating problem. However, ducking into an interior cell and then returning will always fix both problems. Unfortunately, you're likely to then see the Strange Dance problem.
• LCV Schedules has very little FPS hit because very few scripts are running at once, and the few scripts that do run are very efficient. However, depending on the speed of your machine, you may notice a temporary screen freeze for large cities during schedule changes (especially in Balmora).
• LCV Locks however, may have a slight continuous hit. The scripts are efficient, but a large city can have a lot of scripted doors. The effect will probably be most noticeable in Balmora, which probably has the most doors of the cities (lots of buildings, many of those with 2 or more doors).
• When you enter town for the first time, you may notice that NPCs refuse to greet you. This seems to be some side effect of the way LCV Schedules initializes scheduled NPCs (through a dialog script for a silent hello dialog entry) and the way "Hello" tests are run. It will resolve itself when you enter and then leave an interior cell in town.
• At evening and at night many cells now have reduced lighting and/or sleep/trespassing flags set.
• Sleep/Trespassing
• When you enter a sleep/trespassing cell, lighting will dim – a lot. Also, you'll trip a door chime, thus waking the residents.
• Residents don't like being wakened. You can expect crankiness at the least, extending up to reporting you for trespassing if they really dislike you. Only close friends and lower ranking faction members will tolerate your visit, and even then, their disposition will still drop.
• Any guards present will tell you that the location is off limits – unless they're lower ranking faction members, in which case they'll simply report to you.
• Shop lights may also be set to sleeping levels in the evening hours when the shop owner is not at home.
• Note that a very few cells will have sleep level lighting, but won't have the trespassing flag set. Note that you will not hear the door chime when you enter these cells.
• Dimmed Light
• Many locations have dimmed lighting in the evening, and public locations (temples, inns, public hallways) typically have dimmed lighting at night (rather than sleep lighting). Services will still be available in these locations.
• In short, if you don't hear the door chime when entering, then you're not trespassing.
• Sometimes, one or more NPCs stride off quite purposely to a point on the edge of town and then get stuck there, jiggling and rotating in place. The problem occurs (sometimes) when the NPC is given an AI wander for non-zero distance, after being moved from an interior to an exterior cell. This is basically a bug in the AI.
• Solution: Some scripting tricks are used to reduce the problem, but it still occurs sometimes when you walk into town. So, if you see it happening, talk to the guards about scheduling, and mention the "strange dance". The current schedule will be rerun, which should (usually?) fix the problem.
• Time passes more rapidly in Morrowind than in real life. How rapidly is determined by the global timescale. By default, timescale is set to 30 – i.e., one hour of gameplay equals 30 hours in Morrowind time.
• If you find schedule changes happening more rapidly then you like, you can change the timescale to something slower. Note that if you use Necessities of Morrowind, you probably already went through a timescale adjustment – NOM suggests 15 (half speed), or 10 (1/3 speed).
• To see your time scale, open the console, and type 'show timescale'.
• To set it, open the console and type 'set timescale to 15' ( or whatever).
• Note however, that a lower timescale makes powers less useful, since they still only reset after one gameday – which with lower timescales takes longer to happen.
• Schedule changes for LCV schedules happen four times a day, and are signalled by a "town bell". If you don't like the bell, you can turn it off (and back on) by asking a guard about "schedules".
• Or if you don't mind modding a bit, you can redefine the schedule change sound (SC_ScheduleSND) with a patch mod that loads after LCV Schedules.
These notes are for gearheads and modders only. They cover advanced topics concerned with creating schedules, dealing with Morrowind game engine bugs and limitations and coordinating other mods with LCV.
• Trespassing/sleep responses occur if:
• PC is in a designated sleep cell, and...
• NPC does not have companion local variable, or companion < 0, and
• global SC_offScheduleG == 0.
• I.e, you won't get sleep reponses from an NPC if they have companion defined as >= 0, or if SC_offScheduleG != 0.
• If an unitialized, scripted NPC has a dialog interaction with the PC (regular dialog, hello or idle) then a CTD happens. Ordinarily scripts are initialized when the cell loads, but if an npc is moved out of a cell that has not yet loaded and close to the npc, then the PC can encounter the NPC even though the NPC has not been initialized.
• Solution to this was to initialize the NPCs through dialog scripts in dummy hellos. Schedules for a given area will not run until this initialization process is complete.
• As a result, the first time you enter a town, you won't get a schedule change until you get close enough to an NPC to get a hello initializer.
• Compatibility: If a mod adds scripts to a bunch of NPCs that previously did not have them, then it should set the state variable for that area to 0 the first time it starts up. (E.g., "set SC_Pelagiad_State to 0") This will trigger the initialization process.
• Although it's now possible to auto-generate the schedule scripts from a source text file, the process is still a bit complicated.
• For more info, see UESP: Living Cities Project
• Note: Wrye Mash 0.67 or higher is required to handle current schedule format.
• The plain position command causes major drawing problems – NPCS may be drawn inside out or not show up at all. Fortunately though, positionCell has relatively few problems, and can be used to position an NPC outside if the exterior cell is a named cell (e.g., "Seyda Neen" or "Balmora").
• In fact, more than that, you can use positionCell to position an NPC outside the named cell. E.g., for an NPC positioned just outside of Seyda Neen, I used "Seyda Neen" as the cell and it worked fine. Perhaps you could actually position them anywhere on the map?
• Sleep lighting is controlled by a single script which reacts to the setting of the global variable SC_Sleep. A change in SC_Sleep will have an immediate affect on lighting and sleep dialog responses.
• In other words, just by modifying SC_Sleep (e.g., through a scripted activator in a cell) you can set the lights.
• SC_Sleep valid values are: 0 Not sleeping 1 Sleeping, trespassing 2 Sleeping, not trespassing 3 Lights dimmed, not trespassing 4 Lights dimmed, trespassing 5 No dimming, trespassing
• SC_Trespass is a global slaved to SC_Sleep through a global script. It's set to 1 when trespassing and 0 when not.
• See also Strange Dance above.
• Cause: I think that the aiwander command tries to make the NPC wander around their default point. If the NPC is not near their default point, then they first try to travel to. But when an NPC is moved from an interior cell to an exterior cell, the positioncell command fails to set the default point to the new location. I.e., the NPC thinks their default point is the coordinates of their previous position (which being in an interior cell is typically quite different from their new exterior cell coordinates). Hence, they go off looking for it, but then get stuck when they run out of pathgrid leading to that point.
• Since the positioncell command doesn't do the right thing, I also tried fixme and setatstart, but neither of those helped. However, the other ai commands (or at least aitravel) seem to reset the default point when they terminate. (I believe that Helios' original LCV team figured this out somewhat since they had one small bugfix script that used this approach.)
• So... Solution 1: Now, the LCV scheduling scripts, when making an NPC wander in an exterior cell, will first try to make them travel to their initial (positioncell) point.
• Unfortunately, due to vagaries of application of AI commands, it's not practical to ensure that the aitravel will always run before the aiwander command is applied. Moreover, due to the Floating NPCs problem, ai may not run until you enter/exit an interior cell in the region – which is too late for Solution 1 to work.
• So, Solution 2: Talk to the guards about schedules and mention "strange dance". This will raises a signal (through a global) to rerun the schedules, wich should fix the problem.
• Note that the old solution – save and restore – still works and will always cure NPCs of stange dancing. However, it's a pain to do. And worse, quick saves are known to sometimes cause savegame corruption for some complex mods. (E.g., Travelling Merchants.)
• Some mods (Vampire Embrace, Give Your Orders) allow you to recruit regular npcs as followers. To make such behavior compatible with LCV, the NPC must be taken off schedule.
• LCV supports this in two ways...
• An npc with an item "SC_offSchedule" in their inventory will be skipped when the schedule runs.
• If the global SC_offScheduleG is set to 1, all schedule dialog responses, including sleep responses, will be skipped.
• Setup
• Define a global "SC_offScheduleG" as a short with default value of 0.
• Copy the definition for the book SC_offSchedule to your mod. Be sure to get the weight correct!
• Optional Change the definition of the SC_offSchedule object to use the SC_offScheduleLS script.
• Note that doing this will turn off schedule responses for all NPCs when an off schedule npc is in the vicinity.
• A more sophisticated approach is to set SC_offScheduleG to 1 only during dialog with an off schedule NPC, but doing this requires a two part greeting. (Greet once, set global, then force greet to get "regular" greeting.) Vampire Embrace uses this approach.
• Or perhaps, one of the script extenders could be used. Maybe.
• Usage
• When taking an NPC off schedule, use additem to add one instance of SC_offSchedule to their inventory.
• Set the SC_offScheduleG global somehow (see above) to block schedule dialog responses.
• When putting the NPC back on schedule, remove the SC_offSchedule item from their inventory.
Almost all areas are covered for night time lighting. The following areas have full schedules:
• Ald Velothi
• Ald'ruhn
• Balmora
• Dagon Fel
• Ebonheart
• Fort Buckmoth
• Fort Moonmoth
• Ghostgate
• Gnisis
• Hla Oad (Partial) 6/27/2005
• Holamayan
• Khuul
• Maar Gan
• Pelagiad 10/2/2006
• Sadrith Mora
• Seyda Neen 5/26/2005
• Tel Aruhn
• Tel Branora
• Tel Mora
• Vivec
• Foreign Quarter
• Hlaalu
• Redoran
• St. Delyn (Partial) 10/12/2006
• Telvanni
• Temple (Partial) 10/12/2006
• Wolverine Hall
• Revised schedule generator/file format.
• New sleep states (~,x).
• Now allow conditional sleep/trespass setting.
• Import now overwrites previous sleep schedules correctly.
• Scheduled a few boat captains.
• Another jiggy dance fix (talk to guard).
• Tweaked Pelagiad (npcs).
• Tweaked Ald'ruhn (markers, lighting).
• Added Vivec, St. Delyn (sleep/lights only)
• Added Vivec, Temple (sleep/lights only)
• Added evening sleep/lights scheduling.
• Revised schedule generator/file format.
• Changed "sleep" to "night"
• Added evening (same format as "night")
• Nighttime cells (sleep/lights) script now labeled C4. (Evening script is C3.)
• No longer have to put most generic cell last in evening/night list.
• Mash now associates schedule source files with specific esps.
• Fixed jiggy dance (mostly).
• Sleep/Lighting
• Expanded to more locations.
• Added additional sleep/lighting levels.
• Caravaners are now scheduled. All but one retire for the night.
• Pelagiad is now on schedule!
• Add Schedule Markers esp
• Add sleep darkness.
• Sleep Responses:
• High disposition NPCs will now talk to you.
• Low disposition NPCs will report you for trespassing.
• Merged Balmora1 and Balmora2 schedules.
• Merged Ebonheart and EboChapel schedules.
• Schedules topic for guards.
• Updated docs.
• License
• Release under WML 1.0 license.
• Fixes/Cleanup
• Removed Wolverine Hall from Sadrith Mora sleep cells. (For compatiblity with LCV Wolverine Hall.)
• Off Schedule NPCs
• Improved support for off schedule NPCs. Added SC_offScheduleG global.
• Sleep Responses
• Sleep responses now test for "notlocal companion >= 0" instead of "notlocal nolore == 0". This is for compatibility with LGNPC towns which nolore all NPCs. (Grumble, grumble...)
• Blocked hello and idle responses for sleeping NPCs.
• Miscellaneous
• Fixed a CTD bug related to engaging in dialog with non-initialized scripted NPCs.
• Ascadian Isles: Consolidated most schedules, and remove some now extraneous activators.
• Seyda Neen: Added NOM beerkeg and pathgrid for [-2,-10]
• Added topic "my day" to hold npc dialogs on what they're up to. (But did not add any entries under it yet.)
• SC_PlayBells
• To turn off the bell on schedule change, open the console and enter "set SC_PlayBells to 0".
• SC_offSchedule
• Added support for taking NPCs off schedule. For compatibility with Vampire Embrace and other mods that allow you to turn normally scheduled NPCs into companions.
• Bug Fixes
• Rabinna schedule now respects MV_SlaveMule quest.
• Hla Oad
• Hla Oad is now has the beginnings of a schedule. All NPCs are covered, but there's little change for any of them. (Basically some go home at night.)
• Misc. Fixes
• Sleep should now work correctly in Balmora.
• No more continuous bell tolling in Ebonheart.
• Note
• I needed to changed the script generator slightly to fix a problem with sleep scripts. This change will be included in the next release (v0.40) of Wrye Mash.
• Overhaul
• The scripts of the original mod were reverse compiled into a source text file for the new generator. This file was then manually cleaned and run through the generator. The original scripts were then completely replaced with the newly generated scripts. At the same time a number of structural changes to the code were made.
• Note that the reverse compiled source text file is provided with this release. If you want to make changes to any town, this is the place to start.
• Note too that the latest script generator will not only generate the scripts, but also import them into any esp that you specify. You'll still need to open the esp in TESCS and compile the scripts, but the "compile all" will do this very rapidly.
• Changes:
• Scripts are no longer limited to cellChanges. E.g., if you just wait around in Balmora, the schedule will change.
• Schedule changes are now marked by a gong.
• NPCs will be annoyed if you bother them at night in their homes. Guards will tell you to leave the location. Except if the NPC has been nolored. Unfortunately, LGNPC has a habit of noloreing NPCs in towns, which blocks this nighttime "go away" response.
• You'll notice that NPCs tend to move around a lot more (shift legs, etc.) This is due to a correction of very pervasive error in the way LCV idled the NPCs. Basically idles should be like "0 60 20 20 10", etc. but the old LCV had them as "60 20 20 10" where the first idle governs standing absoutely still.
• The doppelgangers that the old LCV introduced for a few NPCs in Balmora have been removed. When you load the new version, a startup script will make sure that the original NPCs are re-enabled.
• Bottles in Gnisis have been removed. Too much of a hassle to maintain, failure to work with NOM, probable FPS hit, etc. I.e., just not worth it.
• Incompatibilities:
• NPCs from LGNPC towns (except Seyda Neen) will not show the nightime sleep responses. This is because LGNPC nolores all the NPCs in town. While there are some characterization advantages to noloreing, it results in exactly this sort of problem. (Which is why avoided doing it when I revamped LGNPC Seyda Neen a couple of months ago.)
• If there are any mods out there that rename cells will likely have problems. At the least, NPCs will likely disappear from them. Other runtime problems may occur. Cells should never be renamed! (If someone wants to fix a naming inconsistency between NPC and their house, then they should rename the NPC, not the house.)
• Possible Problems
• Basically, almost everything was redone. While everything went (mostly) back to the way it was, it's obviously possible that new bugs have been introduced.
• Sleep scripts in Ascadian Isles region. Should be okay, but I haven't tested it.
• Training bout scripts. There might be a problem if one of the old LCV training bouts were interrupted by a schedule change. I'll review the code later.
• Note on Versions and Updating
• With Mash, you'll need to use Mash's Updaters feature to update your save game from either the original LCV esp, or from my 02-02 esp.
• Basically my version naming schemes is such that you only need to use updaters if the part of the version number before the "-" changes. E.g., if I later release a version 03-04, then you won't need an updater to move your save game from version 03-03 to version 03-04.
• Script Generator
• Schedule scripts can now be generated from a fairly compact text file using the command line schedule generator included with Wrye Mash 0.38. (Available real soon now!).
• Sleep
• LCV now has some support for sleeping NPCs...
• Basically, certain cells (houses) are designated sleep areas from midnight to 7am. In these cells, NPCs are "sleeping" and don't like being disturbed. (3 point disposition and goodbye drop if you talk to them.) Also any guards in the cell will tell you to leave. This does not apply to NPCs with nolore != 0 (which should be true of all companions and travellers).
• Misc.
• Did a few things differently in Seyda Neen, with the thought that these ideas should be expanded to other towns.
• "Town Bell" will now ring in schedule changes as an additional clue.
• Schedule change is no longer restricted to cellChanged == 1. Now, schedule changes will occur whenever the right schedule time arrives.
• "Sleeping" cells (see above).
• Seyda Neen
• Schedules
• Consistent with LGNPC Seyda Neen. If you have LGNPC Seyda Neen, you'll see a small schedule change if you complete the main quest. However, LGNPC is not required.
• Buildings
• Expanded Arrille's Tradehouse.
• Expanded Census Office and Warehouse.
• No changes to landscape, and building footprint is (relatively) small.
• Some NPCs now fishing from boats.
• Dialog
• Just a little dialog regarding NPCs schedules. E.g., NPCs on lighthouse duty will mention that in their greeting.
• Quest Fixes
• Ed Theman: off Balmora schedule after quest.
• Aryni Orethi: off Ald'ruhn schedule after quest.
• Scriptholders
• Scriptholders are now invisible in map view. (Using editorbox model.)
• Added scriptholders to cover all areas.
• You are free to redistribute this work in unmodified form.
• You are free to modify and re-distribute this work, so long as you: 1) give the author(s) credit proportional to their contribution to the final work, 2) distribute the final work under the same terms, and 3) make artistic resources included with the final work available under the same terms as below.
• Artistic resources (meshes, textures, sounds, etc.) included with this work may be included in unmodified form with modified versions of this work, so long as their authors are given credit proportional to their contribution to the final work. Note that artistic resources may not be modified, or extracted from this work, unless permission is given elsewhere.
• While the license above allows open distribution and modification, the following courtesies are requested...
• Before making/releasing a modified version of this mod, please check with me (Wrye at Elder Scrolls Forum). If I'm not available, check the community to see if someone else has taken over the job. If not, then feel free!
• If you further extend mod, please use continue to use "Helios, et al." as the author(s). Since Helios' team did the majority of work, and we don't have a record of the other original authors, this seems the best way to give "proportional credit" to the authors.
• Here it is, the actual release of the Living Cities of Vvardenfell mod. Due to the death of my computer, I lost the names and contact details of all the other authors, but LDones designed the locks system and Brother Juniper is the one who designed the schedule system and added function to most of the cities. I managed everything and did a couple of towns (which were unfortunately lost with the demise of my computer, and will as a result have to be redone). Well, hope you guys enjoy this as much as I do... Michael "HelioS" Bennett
• Thanks to Helios and his team for such a great mod to expand on! And for solving that damned 'position' bug! Such great work deserves a little applause.
• Thanks to Grumpy and other folks on the ES forum for providing a little competitive motivation! :)
• wr_genRockPlat_01 by Wrye
• This is a retexturing of one of Bethesda's Imperial platforms. This is free to redistribute and modify except as limited by the Bethesda copyright.
• See release thread link at top of document.
• Also, PM me (Wrye) at Elder Scrolls forums.