Diary | Living Journal & Self-Writing Encyclopedia

:closed_book: DIARY - A LIVING JOURNAL THAT WRITES ITSELF

fig

Roleplay servers hand players a whole life and no way to remember any of it. Diary fixes that. It is a real leather book every player carries, and it fills itself as they play. Every creature they look at, every place they walk into, every item they pick up writes its own page. You build the front of the book once. Your other scripts can write into it from anywhere.


:sparkles: What it actually is

The diary opens like a physical object. A cover you click, pages that turn, stitched edges, and a row of bookmark tabs down the side that jump straight to a section. It is split in three:

  • The front is yours. A manual section you write in the config: server rules, lore, a survival guide, a tutorial. Every new player opens the book and your pages are already there.
  • The middle fills itself. An encyclopedia that unlocks entries as the world gets explored. No menus, no prompts. The player finds the thing, the page appears.
  • The back belongs to the player. Blank pages they fill with written notes or hand-drawn maps, and any page can be torn out and carried as a real item.

:mag: The encyclopedia writes its own pages

You describe what is worth discovering. The book handles the rest. Four ways to trigger a discovery, mix them however you like:

:white_check_mark: Look at a model and its page unlocks the moment the player aims at it. Any entity with a model works: an animal, a prop, a ped, a vehicle. It runs through your target system, and the prompt only shows up when the player is actually carrying a diary.
:white_check_mark: Walk into a sphere placed with a point and a radius. Good for hilltop landmarks, crash sites, anything.
:white_check_mark: Step inside a box with its own size and rotation. Good for buildings and rooms where a sphere would spill into the room next door.
:white_check_mark: Carry an item and the page is the player’s the moment it lands in their pockets. The icon comes from your inventory on its own, no hardcoded paths.

Entries are grouped into categories. Fauna, Flora, Locations, Items and Notes ship by default, and you can rename them, remove them, or add your own, each with a FontAwesome icon or custom icon and live progress like 3 / 8 Fauna. Undiscovered pages stay hidden until found, so there is no wall of “???” giving the surprise away. Each entry can carry an image in a polaroid, sketch or clean frame, a vertical or side-by-side layout, and a small stats box with whatever pairs fit: Health: 100, Danger: High, Region: Blaine County.


:pencil2: The front of the book, written by you

Manual pages are built in the config from four block types: paragraphs of text, polaroid photos with a caption, colored sticky notes, and a tips box at the bottom of the page. The sticky note colors are yours to define. Write a long page and the auto-paginator measures it and splits it across as many sheets as it needs, keeping polaroids and post-its whole. You never tweak the config just to make a page fit.


:art: The back of the book, written by the player

Players add their own pages: a clean editor for written notes, or a free-draw canvas they sketch on with the mouse. The canvas takes an optional background image, so a player can trace a map or an illustration by hand. Pages save on their own in the background.

And any page can be torn out. A torn page drops into the inventory as a real item with its own serial. Hand it to another survivor, stash it, or leave it as a clue. Whoever picks it up slots it into their own diary, and the words travel with the paper.


:link: Your other scripts can write inside

This is where the diary stops being a notebook and becomes a layer the whole server can talk to. The developer API is the full surface, not a couple of getters:

  • A mission can push a read-only page straight into a player’s diary the moment a step completes. Those pages survive the player’s own edits and do not count against their page limit.
  • A quest can read what the player wrote. noteContainsKeywords checks a player’s notes for a word or a pattern. The player scribbles the safe code in his journal, the next step unlocks by itself.
  • Read discovery state from anywhere: has this player found X, how far along is the Fauna category, is it finished.
  • Unlock a single entry, a whole category, or everything, from another resource. Force a save when your script needs the data on disk right now.

It plugs into the rest of the ML Series the same way, so a hunting script, a mission and the diary all share one memory of what the player has seen.


:gear: Yours to shape

The cover is configurable down to the stitching: leather color, title, subtitle, hint text, gold ornaments, corner brackets, a simulated spine, leather travel straps, and an optional emblem above the title. Every decorative element toggles on its own, so the same book reads as a survival journal, a western ledger, a fantasy tome or a field notebook depending on your server.

Two identification modes, switched with one config value. Metadata gives every diary item its own serial, supports inventory metadata, and lets a player own more than one diary. License ties one diary to the player for life and needs no metadata support at all. Admin commands cover the rest: unlock one entry, unlock a category, unlock all, or reset, all gated through ml_bridge permissions. Every string lives in locale files, with several languages included out of the box.


:framed_picture: Screenshots

The encyclopedia fills itself. Every creature gets its own page: a hand-drawn sketch, a stats box, and field notes written like a hunter’s log.
Encyclopedia, a bestiary spread with sketches and stats

Locations, photographed and tagged. Climate, danger and region at a glance, with a photo clipped to the page.
Encyclopedia, locations with photos and field stats

A section that belongs only to the player. Free pages for written research notes, kept apart from your manual and the encyclopedia.
The player's own research notes section

Draw your own maps. A blank page, a few colors and the mouse. Trace a coastline, mark a stash, sketch a route home.
Drawing canvas with a hand-drawn map

Every page is a real object. Out in the world, in the player’s hands, not buried in a menu.
A diary page in hand, out in the world


:clapper: Video


:wrench: Dependencies

Required:

  • ml_bridge for framework and inventory abstraction (included)
  • ox_lib
  • oxmysql

For model-based discoveries: a target system (ox_target, qb-target, or any target supported by ml_bridge). Sphere, box and item triggers need no target at all.

Framework: ESX, QBCore, QBox, or standalone. Inventory-agnostic through ml_bridge.


:arrow_down: Load order

ensure oxmysql
ensure ox_lib
ensure ml_bridge
ensure ml_diary

Add the two items (diary, diary_page) to your inventory from _INSTALL/items.lua.


:fire: Made for

  • Roleplay servers in any setting or era
  • Survival and hardcore communities
  • Fantasy, post-apocalyptic and lore-driven worlds
  • Hunting, exploration and open-world progression
  • Quest-heavy servers that want a memory their missions can read and write
  • Any server that wants the world to feel discovered, not handed out

:books: Documentation

:speech_balloon: Discord (support & community)

:shopping_cart: Get it


:page_facing_up: Required information

Field Value
Code is accessible Bridge, config, locales, open hooks
Subscription-based No
Lines (approx.) ~9,000+ (Lua + UI source, excluding locales)
Requirements Framework, ml_bridge, ox_lib, oxmysql
Support Yes

:star: MICIO MODS - owner-level quality, for owners. :star:

4 Likes

Another amazing work 10 :star:

1 Like

Thanks man :purple_heart: