Help with readable books

Okay, so I want to make a library game that has readable books.
There would be hundreds of books and board games like chess or checkers.

The problem is that I know little to no code, I know some basic things but that’s it.
So how would I go about creating bookshelves with clickable books that would give you a readable copy of the book?

I’m mostly talking about making it readable and the ability to go to the next page and back.
Oh, and to be able to close the book of course.

3 Likes

Do you mean on the shelf, or do you mean it would go into a backpack and you would read it from there?

This kind of job will definitely require a lot of coding. But there are multiple ways to go about creating this book system.

The most compact and fastest way would be creating one screengui in StarterGui. However, this may not be an option for you as it would require more adept coding skills. As for how this would look:
image
You would have 1 GUI with 1 frame which contains all of the other GUI elements and the main local script that would update the information based on which book the player picked.
This would mean the click detector in the book would need to send a remote event to the client. Inside the local script would be a table of all of the books or a dictionary if needed. The remote event tells the local script which book it is and the local script will change the GUI to fit the dictionary definition.

The easier but the longer way would be to add a screen GUI for each book that you have and place those in the corresponding book. You would then need to set it up so that the click detector would place the GUI into the player’s GUI.
image

As for going from page to page and closing the book. I find the best way to make multi page GUI is to just make all other elements invisible except the ones you want to keep when a GUI button is pressed. This would of course be inside a local script inside the button.

For example:

function leftClick()
    script.Parent.Parent.Page1.Visible = false
    script.Parent.Parent.Page2.Visible = true
end

script.Parent.MouseButton1Click:Connect(leftClick)
9 Likes