Standard Book
Game Object which stores pages of text usually written by players, has other editable information such as the book's title, author, summary, and categories. Has other values that are generated when books are acquired through the library computer.
Like other User Interfaces that heavily rely on player input, using newer tools such as TGUI presents sanitization issues so books will remain using BrowserUI until further notice.
Vars | |
author | Who wrote the book, can be changed by pen or PC |
---|---|
book_bgcolor | The background color of the book, useful for themed programmatic books, must be in #FFFFFF hex color format |
book_height | Book UI Popup Height |
book_width | Book UI Popup Width |
brain_damage_cooldown | Cooldown for brain damage loss when reading |
carved | Indicates whether or not a books pages have been carved out |
categories | Book Categories - used for differentiating types of books, set by players upon upload, viewable upon examining book |
copyright | Prevents book from being uploaded - For all printed books |
current_page | What page is the book currently opened to? Page 0 - Intro Page | Page 1-5 - Content Pages |
libraryid | Book's id within the library system, unique to each book object, should not be declared manually |
pages | Content Pages of the books, this variable is a list of strings containting the HTML + Text of each page |
protected | Prevents book contents from being edited |
rating | Book Rating - Assigned by library computer based on how many/how players have rated this book |
store | Item that is stored inside the book |
summary | Short summary of the contents of the book, can be changed by pen or PC |
title | Title & Real name of the book |
Procs | |
can_read | Internal Checker Proc |
clear_stored_item | needed for proper GC'ing |
edit_book | Edit Book Proc |
read_book | Read Book Proc |
show_content | Show Content Proc |
Var Details
author
Who wrote the book, can be changed by pen or PC
book_bgcolor
The background color of the book, useful for themed programmatic books, must be in #FFFFFF hex color format
book_height
Book UI Popup Height
book_width
Book UI Popup Width
brain_damage_cooldown
Cooldown for brain damage loss when reading
carved
Indicates whether or not a books pages have been carved out
categories
Book Categories - used for differentiating types of books, set by players upon upload, viewable upon examining book
copyright
Prevents book from being uploaded - For all printed books
current_page
What page is the book currently opened to? Page 0 - Intro Page | Page 1-5 - Content Pages
libraryid
Book's id within the library system, unique to each book object, should not be declared manually
pages
Content Pages of the books, this variable is a list of strings containting the HTML + Text of each page
protected
Prevents book contents from being edited
rating
Book Rating - Assigned by library computer based on how many/how players have rated this book
store
Item that is stored inside the book
summary
Short summary of the contents of the book, can be changed by pen or PC
title
Title & Real name of the book
Proc Details
can_read
Internal Checker Proc
Gives free pass to observers to read, ensures that all other mobs attempting to read book are A) literated and B) are within range to actually read the book.
clear_stored_item
needed for proper GC'ing
edit_book
Edit Book Proc
This is where a lot of the magic happens, upon interacting with the book with a pen, this proc will open up options for the player to edit the book. Most importantly, this is where we account for player stupidity and maliciousness any input must strip/reject bad text and HTML from user input, additionally we account for players trying to screw with the Database. This will also limit the max characters players can upload at one time to prevent spamming.
read_book
Read Book Proc
Checks if players is able to read book and that book is readable before calling the neccesary procs to open up UI
show_content
Show Content Proc
Builds the browserUI html to show to the player then open up the User interface. It first build the header navigation buttons and then builds the rest of the UI based on what page the player is turned to.