Space Station 13 - Modules - TypesVar Details - Proc Details

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

authorWho wrote the book, can be changed by pen or PC
book_bgcolorThe background color of the book, useful for themed programmatic books, must be in #FFFFFF hex color format
book_heightBook UI Popup Height
book_widthBook UI Popup Width
brain_damage_cooldownCooldown for brain damage loss when reading
carvedIndicates whether or not a books pages have been carved out
categoriesBook Categories - used for differentiating types of books, set by players upon upload, viewable upon examining book
copyrightPrevents book from being uploaded - For all printed books
current_pageWhat page is the book currently opened to? Page 0 - Intro Page | Page 1-5 - Content Pages
libraryidBook's id within the library system, unique to each book object, should not be declared manually
pagesContent Pages of the books, this variable is a list of strings containting the HTML + Text of each page
protectedPrevents book contents from being edited
ratingBook Rating - Assigned by library computer based on how many/how players have rated this book
storeItem that is stored inside the book
summaryShort summary of the contents of the book, can be changed by pen or PC
titleTitle & Real name of the book

Procs

can_readInternal Checker Proc
clear_stored_itemneeded for proper GC'ing
edit_bookEdit Book Proc
read_bookRead Book Proc
show_contentShow 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.