RPG Maker Forums

Intro:


This is a plugin that allows you to create books that the player can read in game via events, or common events.


It brings up a book scene, which lets you go through a book page by page.


Changelog:

  • KRBook.js replaced by EISLibrarium.js
  • Add multiple language support
  • Fix issues with searching
  • Add support for languages without spaces (Japanese, etc).




The new plugin has the same features, plus more, to support devs in creating an interesting game.


Version: 1.02


Script Files:


View attachment KRBook.js (Old Version)


View attachment EISLibrarium.js (New Version)


JSON File Template (Download this if you want a file to start from.)


Librarium.json (Right Click "raw" then save link as to download.)


Website


For the most recent version, check out the website post here : http://endlessillusoft.com/eis-librarium/

Companion Tool: http://endlessillusoft.com/eis-librarium-writer/


Features:

  • Displaying books in game

  • Unlimited amount of books

  • Unlimited amount of pages

  • JSON file type

  • Can call via events or common events

  • Works with Yanfly's Message Core


New Features

  • Automatic word wrapping (brings the new word to the second line, instead of cutting off part of the word)

  • Supports text codes

  • Background image for the book scene

  • Show book text in the message window

  • Grab book text content to store in a variable




Instructions:

  1. Install the script with the same name: KRBook.js or EISLibrarium.js.

  2. If you want to show one of your books, call it by title using the KR.Helpers.startBookScene(title) script function.

    • Your title should be in quotes, and it is not case sensitive.


  3. Create a .json file with the file name that you want to use.

    • Create the necessary .json structure shown in the feature example window, or copy and paste the code snippet as a starting point.

      Need to maintain the structure of the file, or else it won't work correctly.



  4. Yanfly's Message Core Specific (Not Required For Librarium):

    • Type <wordwrap> at the beginning of your 'pageText' to enable word wrapping.

    • Type <br> or <linebreak> to insert a linebreak in the 'pageText'.


  5. Have fun!




Script Calls (Librarium)


/*
//=============================================================================
// Script Calls
//=============================================================================
*
* SceneManager.startBookScene(title)
* This script call will open the book scene, so that players can view a book
* of your choice. You need to pass the title of your book in quotes.
* Example:
* SceneManager.startBookScene("lilia");
* Titles are not case sensitive.
*
* Librarium.getBookContents(title);
* This script call will return the book contents, which you can store in a
* variable for example.
* Example:
* Librarium.getBookContents("lilia");
*
* Librarium.showInMessageWindow(title)
* Shows the book contents in the message window used for showText commands.
* The text doesn't have word wrapping like the scene, so you'll need a plugin
* that supports word wrapping. (Yanfly)
* Example:
* Librarium.showInMessageWindow("lilia");
*/



Code:
//Single Book Item -- Can copy and paste this to the end of the list in the book file after adding a , to the last entry
{
    "title": "Empty Book",
    "pages": [
      {
        "pageNumber": 1,
        "pageText": "This is the first page."
      },
      {
        "pageNumber": 2, 
        "pageText": "This is page 2 of the book"
      }
    ]
  }
//Book File Setup -- Save this to JSON file in your data folder with the specified file name you declare in the plugin.
[
  {
    "title": "A Testing Guide",
    "pages": [
      {
        "pageNumber": 1,
        "pageText": "This is the first page."
      },
      {
        "pageNumber": 2, 
        "pageText": "This is page 2 of the book"
      }
    ]
  },
  {
    "title": "Lilia",
    "pages": [
      {
        "pageNumber": 1,
        "pageText": "Lilia was a made from the town of Chrystal."
      },
      {
        "pageNumber": 2,
        "pageText": "This is page 2 of the book. This is a very long string of text however, so hello there!"
      },
      {
        "pageNumber": 3,
        "pageText": "Chrystal is a village of extreme wonder, \\I[33] and it was treated as such by many. One had to be careful how they treated the villages there; it was certaintly not easy to get along."
      }
    ]
  }
]

Setup Example Windows:



































































In-game Examples:


Librarium Scene






































































Credits:


Free for both commercial and non-commercial use.Credit with the name Kino.


Thanks:Thank you to anyone who decides to use this script; I appreciate it!


If there are any bugs/issue, please contact me via message on the forums. I want to try and make the script as extensible/flexible as possible, so if you have an ideas also


please message me.

Latest Threads

Latest Posts

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,035
Messages
1,018,455
Members
137,821
Latest member
Capterson
Top