Download
(12 Kb)
Download
Updated: 08/26/18 10:07 AM
Pictures
File Info
Compatibility:
Wolfhunter (4.1)
Summerset (4.0)
Updated:08/26/18 10:07 AM
Created:08/07/18 04:33 PM
Monthly downloads:32
Total downloads:3,347
Favorites:9
MD5:
Categories:Miscellaneous, Character Advancement
SlippyCheeze's Read It Once
Version: 4
by: SlippyCheeze [More]
SlippyCheeze’s Read It Once

Reduce the effort and memorization required to read books throughout the world. When you encounter a book you have previously seen, it will display an alert informing you of that, rather than opening the book for reading.

The very first time you encounter a book, however, it will be shown as normal.

I prefer this to blocking all books, all the time, as I enjoy the lore … I just don’t want to be trying to remember if I read the book, and dislike the time taken to close it again when searching a bazillion bookshelves in a delve.

Inventory and Journal books are displayed normally

Anything in your inventory, or accessed through the Lore Journal, will display normally. Accessing books through non-standard book collecting addons should work normally, but has not been tested. Please report issues appropriately.

History is imported from the Lore Collections

All the books that you have discovered, and which are recorded in the Lore Collections found in the Journal, are automatically marked as read. This won’t be able to add all the previously read content, but it should include a significant proportion for most players.

Unfortunately, other than the Lore Collections, there is no in-game history for what content has been read, so the addon will only be able to “know” that you read something after the first time you encounter a non-Collection book with it active.

Configuration

There is no configuration for the addon.

This is an account-wide addon, so any book seen on any character will count as “read”. You should, however, still receive full credit for skill points regardless.

Help! I have a problem!

I need to read a book again, for a quest!

If you try and read the exact same book twice within one second, you bypass the block. We still play the alert sound and display the warning the first time you interact, but the second will open it as it would without the addon installed.

I use this for the occasional quest note that I need to reference more than once, and found that one second was more than enough time to make this work smoothly.

I found a different problem, what should I do?

Please report bugs through the GitHub issue tracker. You can also post them in the comments section here, if you must, though I’m less likely to notice and fix them that way.

Can I contribute?

I’m happy to accept contributions, though I strongly prefer keeping addons small, and very single purpose, so do try and stick with the single theme.

Please also stick to one change per submission: if you make multiple, unrelated changes, I’m not going to be very enthusiastic about adding that, compared to someone who sent them separately.

The code is available on GitHub, and git patches and/or GitHub pull requests are the best possible way to contribute.

Sending, or linking, modified files, is much more difficult, but if you must, you must. If you go this path, please make absolutely certain that you tell me which version the change was made against, so that I can integrate it safely.
SlippyCheeze’s Read It Once

Release 4 - 2018-08-26
  • add local test build feature to release.sh
  • add syntax tests to the release process
  • added luacheck configuration
  • clean up spamming ‘have read’ alerting when the user is spammy with interact
  • conform everything to unix line endings
  • delay lore scan until a while after startup
  • implement mechanism to sync read books from achievements
  • improve changelog formatting
  • restructure before adding achievement book history
  • run a sync from lore asynchronously on login
  • update the readme to mention the new lore collection import feature
  • vendor LibStub
  • vendor Votan’s LibAsync 1.7

Release 3 - 2018-08-19
  • add gitignore file, exclude editor backups
  • automated module build and release process
  • generate esoui changelog from git logs
  • Increase double-activate time from 0.75 to 1 second
  • Never block book reading from the player inventory, only the “open world”.
  • significantly improve the addon description

Release 2 - 2018-08-07
  • Improve the user experience of the addon.

1 - 2018-08-07
  • release ReadItOnce version 1
Optional Files (0)


Archived Files (4)
File Name
Version
Size
Uploader
Date
3
5kB
SlippyCheeze
08/19/18 01:03 PM
3
5kB
SlippyCheeze
08/19/18 12:32 PM
2
9kB
SlippyCheeze
08/07/18 07:21 PM
1
4kB
08/07/18 04:33 PM


Post A Reply Comment Options
Unread 08/16/23, 11:02 PM  
Demonia

Forum posts: 0
File comments: 2
Uploads: 0
Exclamation sorry for the necro

As i said before, sorry for the necro, But i need help.

No matter how many fast clicks do to try to read a book, i only obtain a message "You have already read X book"

Sadly i dont understand how addons are coded so i could try to fix it. but i think stoped working for near a whole year.

also i noted in several addons that libstub just wont work or just got rid from it.
Report comment to moderator  
Reply With Quote
Unread 02/18/19, 12:00 AM  
RavenMind
 
RavenMind's Avatar

Forum posts: 6
File comments: 391
Uploads: 0
Also posted in Git Hub's issue tracker.
Unable to read books, notes, scrolls, etc. located in inventory.
Double clicking results in the "You have already read.." message.
Multiple clicks under 1 second do not allow reading as specified in the AddOn description.
Occurs with every readable item I've tried, with the exception of maps. (Though maps are probably not touched by this addon..(?))
Not a new behavior, and doesn't appear related to any particular update.
Specific example: "Incarnate Aduri's Scroll", |H1:quest_item:6084|h|h Located in Quest section.
Report comment to moderator  
Reply With Quote
Unread 01/22/19, 12:01 AM  
RavenMind
 
RavenMind's Avatar

Forum posts: 6
File comments: 391
Uploads: 0
Were you ever able to get this to work correctly with No, Thank You? I'd love to be able to use it again.
Report comment to moderator  
Reply With Quote
Unread 09/21/18, 07:34 PM  
RavenMind
 
RavenMind's Avatar

Forum posts: 6
File comments: 391
Uploads: 0
Originally Posted by SlippyCheeze
dang. thanks for testing. I'll poke around a bit more and see if I can figure out anything else that might be causing this.
Thank you, it's much appreciated!
This is one of those addons I think a lot of people don't see the need for initially. However once I used it for a while, and then was forced to be without it, I came to realize just how much nicer playing with it is! I've even decided to forego No Thank You in favor of Read It Once, it's made that big a 'quality of life' difference!

BTW: If I can help test, I'm happy to. I'm no coder/scripter, but am a fair hand at troubleshooting and don't mind being a guinea pig.
Last edited by RavenMind : 09/21/18 at 09:54 PM.
Report comment to moderator  
Reply With Quote
Unread 09/20/18, 05:57 PM  
SlippyCheeze
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 272
Uploads: 1
dang. thanks for testing. I'll poke around a bit more and see if I can figure out anything else that might be causing this.
Report comment to moderator  
Reply With Quote
Unread 09/20/18, 01:23 PM  
RavenMind
 
RavenMind's Avatar

Forum posts: 6
File comments: 391
Uploads: 0
Originally Posted by SlippyCheeze
I have a theory about why the conflict, but I'm having trouble testing it thoroughly. If you want to do so quickly, edit the manifest and add an OptionalDependsOn for the NTY addon, and I think it should restore function as expected.
I think I can figure out how to do that. Logging in to test now. Thanks!

Edit: Okay, I tried adding that to the manifest, but I Read It Once still does not appear to be intercepting the opening of a book.

This is how I added it, just to be sure I did it correctly:
Warning: Spoiler
I also tried adding RiO as an OptionalDependsOn to NTY!, with the same result.
Warning: Spoiler
Also, this is with the lorebook messages setting in NTY! turned off.
Last edited by RavenMind : 09/20/18 at 03:31 PM.
Report comment to moderator  
Reply With Quote
Unread 09/20/18, 09:04 AM  
SlippyCheeze
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 272
Uploads: 1
I have a theory about why the conflict, but I'm having trouble testing it thoroughly. If you want to do so quickly, edit the manifest and add an OptionalDependsOn for the NTY addon, and I think it should restore function as expected.
Report comment to moderator  
Reply With Quote
Unread 09/18/18, 02:49 AM  
RavenMind
 
RavenMind's Avatar

Forum posts: 6
File comments: 391
Uploads: 0
Hi SlippyCheeze. I believe I've found a bit of a conflict with, as it turns out, two of your addons.
A couple days ago, all of a sudden, Read It Once just stopped working. All books were now displaying, as if Read it Once wasn't functioning at all. After going through my addon list I finally narrowed down the culprit to No, Thank You!. (Which as it turns out, is being maintained by yourself. )
I disabled all addons except these two, and together, the default behavior of opening already read books occurs. If I enable all addons except NTY! (116, inc. libs), then Read It Once functions properly.

I've tried disabling all NTY settings, and also enabling all NTY settings. The only thing that differs is if I enable the setting "Don't read discovered books" under Lore Library in NTY, then when I read a book, nothing at all happens. The book doesn't open, no message is displayed/sound played as with Read It Once, and no message is written to chat if I have it set to redirect "Lorebook Discovered" message to chat. (Though these are regular books I'm reading, not the ones that count for Mages Guild advancement.) So, if I were a betting man, I'd say the conflict is occurring somewhere in the Lore Library section of the NTY! code. I also renamed both the NTY! & RiO SavedVars files & let them create fresh ones.

The odd thing is that Read It Once was functioning fine up until a few days ago, long after both it & No, Thank you! had their last updates. Also, I did not change any settings in NTY! prior to testing the problem with Read It Once.

Thanks for the great addon (not to mention keeping NTY! working well)! I hope this info helps!
Last edited by RavenMind : 09/18/18 at 10:40 PM.
Report comment to moderator  
Reply With Quote
Unread 09/08/18, 09:18 PM  
SlippyCheeze
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 272
Uploads: 1
Re: FurnitureCatalogue & SlippyCheezeReadItOnce issue after Wolfhunter update

Originally Posted by isAssassin
FurnitureCatalogue & SlippyCheezeReadItOnce issue after Wolfhunter update[color=#e5e5e5]
When you say "after Wolfhunter update", have you only just updated to the current patch? Because the WH patch itself was quite some time ago, and I'm trying to understand the background here.

I also note that you are having problems with quite a lot of addons, several of which have backtraces that are ... well, "impossible", basically. Crashes deep inside the ZOS written UI components, etc. Notably, I can't reproduce this crash, and I also use CraftStore, which also has no crash...

I'd strongly suggest you try a client repair, and possibly reinstalling all your addons via minion, just to make sure it isn't some nasty corruption somewhere.

Originally Posted by isAssassin
Steps to reproduce:
1. Download the latest versions of both addons.
2. Enabled both addons.
3. Reloadui.
I have done this, and was unable to reproduce the issue.

Has your character started and/or completed either of the lore related achievements?
Last edited by SlippyCheeze : 09/08/18 at 09:20 PM.
Report comment to moderator  
Reply With Quote
Unread 09/08/18, 08:29 PM  
isAssassin
 
isAssassin's Avatar

Forum posts: 0
File comments: 11
Uploads: 0
FurnitureCatalogue & SlippyCheezeReadItOnce issue after Wolfhunter update

FurnitureCatalogue & SlippyCheezeReadItOnce issue after Wolfhunter update

Code:
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:35: user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:212: operator < is not supported for nil < number
stack traceback:
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:212: in function 'asyncForWithStep'
|caaaaaa<Locals> self = tbl, func = user:/AddOns/SlippyCheezeReadItOnce/SlippyCheezeReadItOnce.lua:169, index = 1, step = 1 </Locals>|r
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:242: in function 'task:Do'
|caaaaaa<Locals> self = tbl, func = user:/AddOns/SlippyCheezeReadItOnce/SlippyCheezeReadItOnce.lua:169, callstackIndex = 4, shouldBeFalse = false, p1 = 1 </Locals>|r
user:/AddOns/SlippyCheezeReadItOnce/SlippyCheezeReadItOnce.lua:169: in function 'addon:ScanOneLoreCollection'
|caaaaaa<Locals> self = tbl, category = 2, collection = 49 </Locals>|r
user:/AddOns/SlippyCheezeReadItOnce/SlippyCheezeReadItOnce.lua:164: in function 'func'
|caaaaaa<Locals> collection = 49 </Locals>|r
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:219: in function '(anonymous)'
(tail call): ?
[C]: in function 'pcall'
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:21: in function 'DoCallback'
|caaaaaa<Locals> job = tbl, callstackIndex = 3 </Locals>|r
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:49: in function 'DoJob'
|caaaaaa<Locals> job = tbl, index = 3 </Locals>|r
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:100: in function 'Scheduler'
|caaaaaa<Locals> start = 28596447, runTime = 28596455, cpuLoad = 7 </Locals>|r
stack traceback:
[C]: in function 'error'
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:35: in function 'DoCallback'
|caaaaaa<Locals> job = tbl, callstackIndex = 3, success = false, shouldContinue = "user:/AddOns/FurnitureCatal..." </Locals>|r
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:49: in function 'DoJob'
|caaaaaa<Locals> job = tbl, index = 3 </Locals>|r
user:/AddOns/FurnitureCatalogue/libs/LibAsync/LibAsync.lua:100: in function 'Scheduler'
|caaaaaa<Locals> start = 28596447, runTime = 28596455, cpuLoad = 7 </Locals>|r

Steps to reproduce:


1. Download the latest versions of both addons.
2. Enabled both addons.
3. Reloadui.
Report comment to moderator  
Reply With Quote
Unread 08/27/18, 05:29 PM  
SlippyCheeze
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 272
Uploads: 1
Originally Posted by RavenMind
Curious if a character reads a book that awards a skill point that another character has already read, will this addon still notify you that it's a read book? I don't have all the skill book titles memorized & would dislike missing out on skill points because I think it's already been read. Thanks!
You should get full credit for "reading" the book, even if the addon stops it being shown on the screen. That includes lorebook, eidetic memory, and skill book credit. In my testing this works, but please, if you find a case that doesn't work, let me know, and I can absolutely try and fix that.

Is there any way you can see that I could better make it clear in the description that it works that way?
Report comment to moderator  
Reply With Quote
Unread 08/27/18, 04:03 AM  
RavenMind
 
RavenMind's Avatar

Forum posts: 6
File comments: 391
Uploads: 0
Curious if a character reads a book that awards a skill point that another character has already read, will this addon still notify you that it's a read book? I don't have all the skill book titles memorized & would dislike missing out on skill points because I think it's already been read. Thanks!
Report comment to moderator  
Reply With Quote
Unread 08/20/18, 02:18 PM  
SlippyCheeze
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 272
Uploads: 1
Originally Posted by Jhenox
Hello. I've been using this addon for about a week and it has been very helpful. I'm not positive but it seems to work only on books that I have read with the addon installed and not books that I have read in the past prior to using RIO?
It only remembers what it has seen, so yeah, nothing from the past.

Originally Posted by Jhenox
Does it read anything from Shalidor's Library or Eiditec Memory?
...and part of why I implemented it that way was because I couldn't identify a way to find out what you had previously read. I don't know why, but those just didn't occur to me. Anyhow, now you point them out, I'll see if they have sufficient data to allow me to import already read books.

It may not cover everything, but some is better than none. Thank you.

edit: the key piece of information I require, the bookId, is apparently available. I'll have to test to make certain that it is the same bookId I get when you normally read a book, but I expect it to be. In which case I can, and will, import this data.
Last edited by SlippyCheeze : 08/20/18 at 03:01 PM.
Report comment to moderator  
Reply With Quote
Unread 08/20/18, 10:05 AM  
Jhenox
 
Jhenox's Avatar
AddOn Author - Click to view AddOns

Forum posts: 42
File comments: 392
Uploads: 6
Hello. I've been using this addon for about a week and it has been very helpful. I'm not positive but it seems to work only on books that I have read with the addon installed and not books that I have read in the past prior to using RIO? Does it read anything from Shalidor's Library or Eiditec Memory? For example, if I go to a region like Stormhaven where i've long since read all lore books then click on a bookshelf it will open normally. After that time then RIO will inform me that i've already read it. Thank you for your work!
Report comment to moderator  
Reply With Quote
Unread 08/19/18, 12:46 PM  
SlippyCheeze
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 272
Uploads: 1
Re: Inventory reads

Originally Posted by Kaoro
Is there a way, though, to be able to read inventory books and letters ? in the world, if I want to read something anyway all I gotta do is press E quickly twice, but in inventory that doesn't work.
This is now implemented. Please enjoy.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: