Now you can write in books too!
version 3.2.0 by Kyoma
Download linky: http://tesnexus.com/downloads/file.php?id=15294
Description
With the arrival of OBSE v16 this mod has even more features than before. Including the long awaited writing in books!
Back from the depths this mod is live and kicking. I'll start with the basics. With this mod you can type stuff ingame and review it later on. As of version 3 there are two sides to this mod. For future references I'll be using two terms to describe those two sides. First we have the 'menu journal', it's the part that was previously the only option. The series of messageboxes to display and type things. Secondly there are now what I call 'journal books', custom books you've created with this mod that you can write in and review later on. You can have as many journal books as you'd like and each has it's own seperate text.
When this mod is first loaded you will get a standard journal book called "
* Journal Books
After opening a journal book you can read what you previously wrote. Whenever you want to write or add something in your journal book you click on the "write" button, it is located left of the exit button. Typing is the same as with typing in the menu journal and you can also use the up and down arrow to go to the beginning or end of a sentence. When you are done typing or want to go back without changing something you can click on the "Done" and "Back" button respectively. **See Advanced Features for a short list of other extra things.**
If you even want to create a new or extra journal book you can do this by first opening the menu journal. In there navigate to "More Features->Journal Books->Create Journal Book". You'll come to a menu where you can type the name of the journal book you're creating. After that follow the instructions and select a book jacket for it and choose if you want a book or a scroll. Then a final menu where you can view this all and create the journal book. Once you confirm the creation of the journal book it will immediately be opened.
* Menu Journal
You are now in the main menu of the menu journal. It displays up to seven entries per page. If it says
To change the entry or create the title click the associated button. After that a new menu will pop up and you can begin typing. If the entry was not empty before you started typing you'll also see a button that lets you delete the entry. **See Advanced Features for more info on deleting.**
You can change or create a title aswell. Like with editing the entry, click the associated button and a new menu pops up where you can type the title. Once a title has been made, it cannot be deleted. Only changed.
Typing an entry is pretty simple, you can change the position of the cursor with the left and right arrow key. And go to the beginning or end of the entry with the home and end key. Backspace and delete work like normal, although insert cannot be used. Apart from that you can use Ctrl in combination with backspace or delete to remove an entire word.
After you've typed your first entry or when you want to view the previous or next entry, you can do this by pressing the Left and Right Arrow keys or the PageUp and PageDown keys. The very last button in the menu will indicate if you can go to the previous or next page or entry. Clicking this button does nothing, it is for display purposes only.
These are the basics for working with your journal. If things are unclear I recommend trying it out a bit and posting in the thread. Should you be interested in the rest of the features of this mod, keep reading. Else, have fun playing!
Installing, Updating and Requirements
OMOD
====
- Create an OMOD from the archieve and activate it. Follow the instructions that appear.
========
- Copy the esp file, the textures, meshes and menus folders to your data folder. This mod requires:
- OBSE v0016. You can find the latest version at http://obse.silverlock.org/.
- OBSE plugin Pluggy version 122. You can find the latest version at http://cs.elderscrolls.com/constwiki/index.php/Category%3a%50luggy.
- OBSE v0016. You can find the latest version at http://obse.silverlock.org/.
- Copy and rename the appropriate "book_menu (xx).xml" file to "menus\book_menu.xml". If you are unsure which one the use, pick the vanilla one. There is a file for the following UI mods
- DarkUI by DarkbBirdy
- DarnifiedUI by DarN
- DarkUI'd DarN by Gothic251
- Phinix Immersive DarkUI
- Vanilla UI or BTmod (same file)
- You can configure the added menus and buttons in the "menus\prefabs\journal\generic_config.xml". By default it will match a vanilla or DarnUI look.
- DarkUI by DarkbBirdy
- The default ini file will be created when you first start this mod, nothing else needed.
- Updating from an older version is fully automatic and won't require extra steps!
- (recommended) DarnUI 1.3.2 or higher that adds a messagebox scrollbar.
Advanced Features
Generic
=======
* Hotkeys
There are several features that only work by a hotkey and other things that are easier to get to with the hotkey. Any of these hotkeys can be changed and you can also set a modifier key, a key you must hold down aswell when you press any other hotkey.
The first one is the 'Journal Key' that opens and closes the menu journal. Whenever you want to access your journal and do not want to go into your inventory first, you press this key and the journal opens. Then, if you want to close the journal again without going all the way back to the main menu, you press it again. This will close the journal and you can continue with your raiding, questing or whatever you were doing before you opened your journal. Only exception is it won't work during typing (obviously).
Then there is the 'Book Key' that will open the last journal book you've opened, assuming you still have it with you. This key is the less needed as things will work just fine when a journal book is equipped/opened. Be it by hotkey, script, or scripted hotkey. I just put it in for convenience.
The next two keys are for manually exporting and importing an entry to and from a text file. They are the 'Export Key' and 'Import Key' respectively. Whenever you press these keys it performs it's action, depending on the relevated setting you can get a confirmation menu first.
Then there is the modifier key. If you want to avoid having things go by accident because you pressed a hotkey at random you can choose to set this key. When it's set you will need to press this aswell as you press any hotkey.
If you want to change the hotkeys in the ini you'll need the dxscancode of the key you want it to be. You can find a short list here http://cs.elderscrolls.com/constwiki/index.php/OnKeyDown. You can either type the dxscancode in decimal or in hex. But be sure to place '0x' before the hex code. Else it will read it as an decimal number and mix up the hotkey. Ofcourse this can all be done alot easier from the ingame settings menu. There you just press the key you want it to be and presto, it's the new hotkey.
* Import and Export files
As of version 2 you can export and import entries from the menu journal and journal books. This allows easy viewing outside of Oblivion. Each character has it's own root folder for the files. The folder is located and called "My Games\Oblivion\Pluggy\User Files\
The files for journal books are in a sub-folder of the root folder mentioned above, called "Journal Books". The file(s) per book are simply "
The files for the entries in the menu journal are placed in the root folder itself. The files are called "Entry [x].txt". Where x is the number of the entry.
You can edit these files in any text editor and then import them back into the game. You can export and import the files with the Export and Import keys respectively. Depending on the bConfirmExport and bConfirmImport setting you get a confirmation dialogue first. If the bAutoExport setting is on, each entry and journal book will be automatically exported everytime you are done typing. Entries in the menu journal can also be automatically imported whenever it's loaded if the bAutoImport setting is on.
With the iBackup setting you can choose the number of backup files that are kept. Those files are at the same location as their normal counterparts and simply end with ".bak0" or ".bak1".
* Display and Notation.
The entries in the menu journal can have the title or date of creation as a header. By default you will see the title of the entry on the page view and the date of creation on the entry view. This can be changed to your liking. Both views can be configured seperately, how it is displayed on the page view is controlled by iPageHeader, show the title (1) or the date of creation (0). And how it is displayed on the entry view is controlled by iEntryHeader, show neither (0), the title (1) or the date of creation (2).
There are several places where the current date or the date of creation can be displayed. You can choose from three pre-made date notations and two different time notations. If you don't like those you can combine parts with other words to make your own. Here's a list of the pre-made date and time notations and how you can make your own. It will be by an example date that itself is fictional. When it says TIME then that is where the time is inserted. For 'Time Notation' you can choose from a 24-hour clock (0) or a 12-hour clock with AM/PM (1).
- Date notation 0: Mornas TIME - Frost Fall 23, 3E433 (How it is displayed in the Sleep/Wait menu)
- Date notation 1: 23 Frost Fall (123) (How it was displayed in the journal back in the days of Morrowind)
- Date notation 2: 23 Frost Fall (123), TIME
- Date notation 3: Custom Notation (See below on how to construct it.)
- Days passed since start of game: xDaysPassedx
- Game year (does not include 3E): xYearx
- Game Month: xMonthx
- Day of the month: xDayOfMonthx
- Day of the week: xDayOfWeekx
- Time (inherited from Time Notation): xTimex
- Use either this or a combination of the three below but not both
- Game hour: xHourx
- Game minutes: xMinutesx
- Part of the day (AM/PM): xDayPartx
- Use either this or a combination of the three below but not both
Journal Books
=============
* Internal Volumes
This is a new feature as of version 3.2.0 that increases the practical character limit of journal books extensively. Instead of having to create an entirely new journal book when you reach the hardcoded character limit you can create a new volume in the current book. Technically it is a seperate text but this feature helps keep things more together. When you open a journal book a new button called "Volumes" will appear on the bottom of the left page. Clicking it will bring up a small menu where you can switch between the current volumes of the journal book or choose to create a new one. The button only appears outside of typing in the book. So if you reach the character limit for a volume you'll need to press the Done button first. That exits the typing and lets you create a new volume explained above.
You can create a new volume without having to fill the current one first. So it can also be used to seperate things apart but still within one journal book.
When you export a journal book with more than one volume it will put all of them into one file. Seperating each volume with a series of hash marks (######) and white lines. This is also how you can manually seperate a file into multiple volumes. All you need is to place a series of atleast five hash marks between the pieces of text. Keep in mind one piece of text (and thus one volume) cannot exceed 16000 characters. But you got alot of freedom with this "volume seperator", any number above five of hash marks is good. And you can also put white lines before and after the "volume seperator", it won't matter for the mod but it might be clearer to see it while reading the file.
* Fonts and Colors
When typing in a journal book there are a few special things you can do. Pressing Ctrl + 1, 2, 3, 4 or 5 will insert that respective font at the place of the cursor. Fonts are the ones from the Oblivion ini. Pressing Ctrl + L, R, or C will align the current line left, right, or center respectively. Alignment affects the current line and any subsequent lines until the next alignment tag.
As of version 3.1.0 you can change the color of the text in books. Press Ctrl + K to bring up a menu to select a different font color. Here you can preview the color and insert it by clicking the Done button. Obviously you can go back without changing the color by clicking the Back button. There are a couple of preset colors including the default color. Or you can select a custom color by simply changing the RGB scroll bars. But there's a small thing to keep in mind when trying to drag any of the RGB scroll bars, that's the fact you need to move the mouse vertically instead of horizontally. I know, a bit confusing but the alternative was no dragging at all.
Lastly, remember the fancy big letters alot of books begin with, well you are able to put then in your journal books. Just press Ctrl + Alt and the letter you want to use. Then shortly after the fancy image of that letter will appear.
* Extras
Thanks to the awesome work by Grimbot you can choose from five different book jackets (and their associated inventory icons). See the picture in the archieve for a preview of the choices. They are: Imperial Leather, Hello Scampy, Daedric Snakeskin, Mage Leather and Battered Blue.
You can insert the current game date by pressing Ctrl + D, format will be determined by your time and date notation settings.
Something that can get very annoying is that you cannot move the cursor position simply by clicking the mouse somewhere. This makes it very difficult to go to the center of a fairly large text. The closest thing is using Home or End and then alot of Ctrl + Up/Down arrow. To work around this I added the ability to jump up or down in the text. Simply press PageUp or PageDown to jump a large number of characters up or down.Note that there is no way to determine where the cursor is on a page so it's not a 'true page up/down'. The exact number can be changed by typing "set JrnlMainQuest.iJumpSize to x" in the console.
Menu Journal
============
* Searching menu journal
When you need to search all of the entries for a certain word or sentence you can do this by going to the [More Options] menu. Once there select [Search Journal] and a menu pops up where you can type your search term. Keep in mind it will search for whatever you type as whole. So having two words with a space like "some text" will search for "some text" and not "some" and/or "text". When you are done typing you can press any of the three buttons to change the search options.
The first two control if it will search the titles and/or the entry text itself. The third option is for doing a case-insensitive search or not. For all three you can see if they are set or enabled by looking at the start of the line. When it says "[X]" it is enabled/on, else it'll be [ ] for disabled/off. To toggle an option on or off simply click the associated button. You must search atleast either the titles or entries (or both ofcourse). Once all things have been you press [Start Search] and the search will begin.
It only takes a fraction of a seconde to search everything. After the search a menu pops up that displays the entries that were a match. Either by title or entry depending on your settings. This menu is very similar to the main menu of the journal, it displays up to seven search matches per page. Only difference is that it won't show the first empty entry, aka you cannot create a new entry directly from this menu. Or rather, go to the place that lets you create a new entry. When you select a search match to view a new menu is displayed, again similar to how you are normally viewing an entry. It will display all the categories the search match is in and allow you categorize the search match. You can also go to the title or entry editing menu from here, just like normal. Exception is that when you use any of these three options (categorizing, title editing or entry editing) and you are done or go back, you'll go back to normal view.
* Categorizing and Categories
Firstly you'll need to have atleast one category. To make or change an existing (sub)category you click [More Features] on the main page and select [Categories]. Alternatively you can go to a category by selecting it while viewing an entry. Now you'll get a list of all the current categories and, if the page isn't filled already, you'll see a
Once you've selected a category, you'll get a list of all the sub-categories it has. Each category has atleast one sub-category, that one is called the 'All' sub-category. Basically it contains all the entries in all of the sub-categories in this category. This 'All' sub-category is always at the top of the list. Besides that sub-category, there are also others that you might have made. If you made more than five, there's a button [More Sub-categories] which displays more of them. There's a button at the bottom that lets you edit the current category and like with selecting a category, you can make a new one by pressing the
* Messagebox Scrollbar
(only applies if you got DarnUI 1.3.2 or higher)
This is an extra feature that can be used with any messagebox that has a scrollbar, not just the ones from this mod. The scroll bar itself can already be clicked but due to hard-coded behaviour the mousewheel couldn't be used to scroll up or down. To work around this I've added the ability to use the mousewheel to scroll by script. You can scroll in small steps by scrolling the mousewheel, if you want to scroll in big jumps you must hold down the mousewheel while you scroll it.
There is also a small problem with OBSE's text input menu. Since the game doesn't actually know of the scrollbar it won't scroll down when the text height is increased. To work around this I basically took over the control of the scroll bar by script, it has no negative effect and you probably won't even notice it.
* Dump Entries
This is a fairly simple feature, you can find it under "More Features->Dump Entries" in the menu journal. What this does is dump all entries in the menu journal into one file. Each entry has it's title and creation date above it and seperated from other entries with a series of hash marks. In the future I might add the option to import all entries like this from one file.
Known Issues
- If you remove this mod, all the journal books you created will still be there but they'll be empty. Re-enabling this mod won't bring back the text and any previous journal book cannot be written in. I hope that in the future I can make it so the text isn't lost upon removing this mod.
- When importing a text file that has more than 16000 characters and no volume-seperators are present, it will automatically split the text. Although sentences will remain intact, it may split the text at an odd point (from a context point of view).
- When the cursor is placed at the beginning of the text in a book, it can behave a bit strange due to hidden html tags. Best you can do is make sure the cursor is after all those tags. Just press the right arrow to move the cursor, as soon as you see it after the very first letter, you press the left key again. Then the cursor is at the beginning of the text but still after the initial html tags.
- You cannot use the percentage (%) or pipeline (|) character in the texts. They'll be filtered out of any imported text if present. Also, you cannot use < or > characters except when used as a (semi) html tag. If there isn't an equal amount of both characters, a warning will be displayed and importing will be aborted.
Trouble Shooting
This section is for general problems you might encounter and how to fix it.
- Problem: Help, I installed this mod and now it crashes whenever I open a book!
Solution: Copy and rename the "book_menu (vanilla-or-BTmod).xml" from the archieve to "Data\menus\book_menu.xml". Overwrite when asked. This should fix the crash. - Problem: When I open a journal book there is no Write button.
Solution: Copy and rename the "book_menu (xx).xml" (that corrosponds to the UI mod you're using) to "Data\menus\book_menu.xml". If you are unsure which one to use, pick the vanilla one like above. - Problem: After updating to the latest version, things stopped working/my journal books were empty.
Solution: I still don't know what causes this so I do not yet have a solution. There is something that can help me, after updating there will be a file "My Games\Oblivion\Pluggy\User Files\Journal Update.log". Post in the forum thread with this log and it might give me a better insight on what went wrong.
Version History
3.0 and up
- 3.2.0
- Added creation of backup files for journal books (if the setting is on) and now auto-export also applies to journal books.
- Added a new feature called 'Internal Volumes' that increases the practical character limit for books to around 16000 * 9.
- Included extra xml file for users with the original DarkUI (by Darkbirdy)
- Fixed possible crash after activating and deactivating OMOD.
- Fixed bug with text and write button not appearing when opening, closing and re-opening a book from the inventory without editing the text.
- Added option to dump all menu journal entries into one single file, seperated by title and creation date.
- Added creation of backup files for journal books (if the setting is on) and now auto-export also applies to journal books.
- 3.1.0
- Fixed bug I sort of created in version 3.0.1 with regards to book writing.
- Added option to create scrolls instead of books.
- New menu to select different font colors for book typing.
- Extra buttons for editing journal books, no more clicking randomly on the background.
- Added a standard, beginner journal book to speed up the usability.
- Fixed bug I sort of created in version 3.0.1 with regards to book writing.
- 3.0.1
- Fixed bug with exporting book text to files and breaking the layout.
- Added work-around for strange behaviour when cursor is placed at the beginning when typing in a book.
- Fixed bug with hidden ASCII Esc character appearing when pressing the Escape key during typing.
- Fixed bug with exporting book text to files and breaking the layout.
- 3.0.0
- Rewrote even more things. Switched to OBSE's new text input system and string functions.
- Added the ability to write in custom created books.
- Minor changes to a few buttons in the menu journal to clarify their function.
- Lots of other bug fixes.
- Rewrote even more things. Switched to OBSE's new text input system and string functions.
Contact and Feedback
Should you have any questions or comments you can PM me (kyoma) at the Elder Scrolls Forum or post in the forum thread (see top of readme). Alternatively you can email me at daaf.paradox -at- gmail.com or PM me (KyoParadox) at the TESNexus forum.
Credits
- The OBSE team ofcourse. Without them this mod wouldn't even exist.
- Elys for Pluggy. Without it alot of the new features would have been impossible.
- Grimbot for making five special book jackets for your journal!
- DarN for the divine gift that is called MessageBox-Scrolling! Without it the practical entry length would be soo much lower.
- DarN (again) for anwsering my many questions about the workings of Oblivion's XML files.
- Ryu Doppler for allowing me to use his better collision models for the books.
- All the guys who anwsered questions in the OBSE thread. Sorry I don't know who anwsered what question.