0 of 0

File information

Last updated

Original upload

Created by

Hishy and Jonado

Uploaded by

jonado1

Virus scan

Safe to use

Tags for this mod

About this mod

Hishy's Open Cities script updated to work on xEdit 4.1.5k (or later) and Open Cities Skyrim version 3.1.14+. Includes a couple of fixes to the original script.

Requirements
Permissions and credits
Changelogs
As a modder who has been working on an Open Cities-centred build, Hishy's Open Cities Skyrim xEdit Converter and Patcher has been a very valuable tool. However, the script has not seen any updates since 2018, and both xEdit and Open Cities Skyrim have changed since then. Moreover, a couple of bugs with the original script were never resolved. Here, I have aimed at fixing some of the most serious bugs with the original script and also made necessary edits for the script to work on up-to-date xEdit versions and game files.

Fixed issues
  • Doors are handled correctly. The new version of the script places a copy of the door from the city worldspace into the exterior worldspace and relinks the interior door to teleport the new door instead. This functionality was outright broken in the previous version, but it also created a new door in the interior, which produced a dirtier output and made patching less straightforward. Moreover, non-teleporting doors are now handled the same way as other records; previously those were ignored by the script.
  • NPCs are moved to the exterior worldspace, not duplicated. The old version of the script made copies of non-persistent NPCs in the exterior, which forced users to disable the original NPCs to get rid of the inconsistency. This is no longer the case.
  • References moved to the exterior worldspace by the Open Cities plugin are patched correctly. Previously, such references were ignored by the script. This includes many persistent references from Skyrim.esm, which have been moved by open cities skyrim.esp.

Remaining known issues
  • The inaccuracies functionality picks the first reference it finds that satisfies the rating requirements, and not the best matching one. This sometimes causes objects to match with the wrong object, resulting in issues. I might look into it if people are interested, but for now my advice is to either turn off this functionality, or use a quite tight limit. Hishy himself states that this is experimental, and that is still very much the case.

Limitations
  • The script does not forward navmesh changes, so this needs to be handled manually. Hishy had originally intended to provide such functionality, but it was never implemented. While I have an idea on how to implement this, it is not straightforward, and the output would like require a lot of manual work and error checks anyway. Therefore, it is not likely that I will look into this.
  • The script can only handle one file at a time. I don't find this a big issue, since it is quite straightforward to handle multiple files through a stepwise process (see tips below). From a user perspective, a modular setup is often desired anyway, and patching several files simultaneously would not allow for that.
  • Updates to AI packages and sometimes quests need to be checked for and handled manually. Some plugins make a temporary reference persistent and use that for those purposes. In such a case, the script will persistencify a different reference, and the package or quest needs to be updated accordingly. The same applies to persistent references that have been duplicated by the main Open Cities plugin (there are a few).
Some advice when using the script
  • Occlusion planes (Plane markers) should not be copied to the exterior worldspace without carefully checking the output. Excessive occlusion boxes or intersecting occlusion markers are known to cause CTDs, yet thoughtfully placed occlusion planes can significantly improve the performance. My advice is to study the output and adjust any occlusion markers touched by the plugin manually.
  • The script is likely to miss some references, regardless of whether cHandleOcsInaccuracies is toggled or not. The best way to ensure it catches everything is to carefully study the output, reference by references, even though I know from experience it is a tedious task.
  • Open Cities handle some things differently than Vanilla Skyrim. In particular, collision boxes are removed from the exterior walls, some objects use a different mesh, and all street lights are using a light switch that make them only turn on at night. Moreover, optional Oblivion Gates are placed in the exterior. All these things need to be checked for when working with your patch.
  • cOcsFileName can be changed to a different plugin name to create patches that depend on Open Cities patches. This is useful if e.g. creating patches for Open Capital Whiterun. If doing so, you need to handle each master separately, starting with Open Cities Skyrim and moving forward with each dependent plugin. Then merge the output from each iteration to create your final plugin. If doing this, you need to first uncheck the ESL flag from ESL-flagged plugins (and restart xEdit), else the script will terminate with errors.

Further documentation can be found at Open Cities Skyrim xEdit Converter and Patcher. If the script is useful for you, please consider endorsing the original mod.