Jump to content

Skillbooks - dont make them one-time-items


Armarnis

Recommended Posts

hi there, pretty much topic!

 

please make the skillbooks reset if read (or just make them disappear after reading). if you re-use your world (which i often do) and you go to read a few books, its sometimes VERY hard to find the beginner books for the professions that were not used up. in my current game, i lootet exactly 30 houses without finding a single beginners book (nothing else too) so, please think about that :)

Link to comment
Share on other sites

especially in the far far future when mp is available and you want people with different professions

 

Hadn't consider it; but "this" makes a lot of sense.  I don't replay worlds; if I did... yeah I'd want my library to be usable.

 

You'll want a "real" modder to make a mod; but I may be able to tweak a LUA file and make this happen.

 

But if you're ok changing a LUA file (with Wordpad is fine, no special tools needed) in the Project Zomboid directory... (with detailed instructions on what you're doing) you can have this today. ;)    

 

Well from today until there's a new patch that steps on this change at least, then you'll have to redo this. :)

 

The file to change is:

C:\Program Files (x86)\Steam\SteamApps\common\ProjectZomboid\media\lua\TimedActions\ISReadABook.lua

 

MAKE A COPY OF THAT FILE AND SAVE IT SOMEWHERE ELSE!

(was that serious enough?)  

 

** If you screw it up and don't have a copy, you can tell steam to replace any changed files by:

** Steam library, right-click on Project Zomboid, select Properties

** Click on the "Local Files" tab on top

** Select "Verify integrity of Game Cache"

** Wait for steam to see the changed file, and replace it with the standard one

 

So anyway, we're editing :

C:\Program Files (x86)\Steam\SteamApps\common\ProjectZomboid\media\lua\TimedActions\ISReadABook.lua

 

Opening and editing it with WordPad is fine, you don't need any special tools here.

 

Section to edit (toward the bottom of the file):

function ISReadABook:stop()

    ISBaseTimedAction.stop(self);

    self.item:setJobDelta(0.0);

end

 

Logic to change it to:

function ISReadABook:stop()

    ISBaseTimedAction.stop(self);

    if (self.item:getNumberOfPages() > 0 and self.item:getAlreadyReadPages() >= self.item:getNumberOfPages()) then

        self.item:setAlreadyReadPages(0);

    end

    self.item:setJobDelta(0.0);

end

 

 

What that change does?  Two things.

 

1) If you have an unread book (I had a beginner cookbook, new game, 0/220) you'll read the book, get your multiplier; your multiplier WILL apply, and the book will reset to 0/220 when you quit reading.

 

** WARNING the book will reset to 0/220 any time you quit reading; so if you stop midway; you've got to start over tog et the full multiplier; can't avoid this and get this correct**

 

** Warning: re-reading a skill book (this applies without this change if you simply have 2 books) will reset your multiplier to 0 and you'll have to finish re-reading the book to get it back.

 

2) If you've got books you already read (and you say you do), when you try to read them; they'll reset to 0/220 (and you won't read them unless you select "read" again).  Even if they're the wrong level (so you can reset all your books immediately)... isn't that handy? :)

 

Oh, and yes this applies to existing saves as well as new ones once you change the LUA.

So your current save can let you reset your books.

 

Because this isn't a mod (still haven't learned to do one, might try this weekend if I have time) any Steam update will step on the file and you'll have to re-apply the change.  But you can have this today if you want. :)

 

Heck, I'm playing with this.  I've had some multipliers somehow "end early" on me before I fill a bubble and have to grind the last part of a skillup.  RE-reading the book then makes sense; but I generally don't have duplicate books.

 

This is LUA tweak #3 for me by request (I've done 5-6 of my own on my own as well).

The LUA files aren't that bad given my programming background... I really should learn to get the MOD setup so I can save my changes more cleanly.

 

Maybe this weekend I'll do that... if so maybe I'll rewrite some of what I've done as mods.

 

This would make a decent mod; if I can override that function in a Mod I think it's done...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...