Antes de empezar#
Antes de instalar Books Creator, asegúrate de que tu servidor cumple los requisitos mínimos. El framework y el inventario se detectan solos — no hay nada que activar.
Requisito | Estado | Notas |
|---|---|---|
| Obligatorio | Cada libro se guarda en la tabla |
| Obligatorio | Callbacks y el menú Open / Edit que se muestra al usar un libro escrito. |
OneSync | Obligatorio | Activado en cualquier servidor moderno. |
Framework | Obligatorio | ESX, QBCore o Qbox — detectado automáticamente. |
Inventario con metadatos de ítems | Obligatorio | El libro vive en los metadatos de su ítem. |
| Opcional | Su HUD se oculta mientras se escribe un libro. |
El recurso elige su framework e inventario mirando lo que ya está en marcha:
Capa | Detectado a partir de |
|---|---|
Framework |
|
Inventario |
|
Integraciones explica hasta qué punto se admite cada inventario y cómo añadir uno que no está en la lista.
github.comReleases · overextended/oxmysqlMySQL resource for FXServer.github.comReleases · overextended/ox_libA FiveM resource and script library for Lua and JS.Descargar Books Creator#
Después de comprar Books Creator, el recurso se vincula automáticamente a tu cuenta del CFX Portal.
Inicia sesión en el CFX Portal con la misma cuenta que usaste al finalizar la compra, abre Granted Assets y descarga Books Creator.
Después de extraer la descarga, deberías tener lo siguiente:
[books]/
├── qs-book-creator/ -- the resource
│ ├── config/ -- what you may edit
│ ├── custom/ -- framework bridges (open)
│ ├── server/custom/ -- inventory adapters (open)
│ ├── locales/ -- translations
│ └── database/ -- database.sql
├── [sql]/database.sql -- the same table, for convenience
├── [image]/book.png -- the item picture
└── ox_inventory_book.md -- the item block for ox_inventoryLa carpeta debe llamarse
qs-book-creator. El ítem de ox_inventory llama aqs-book-creator.useBook, y cada export se alcanza a través de ese nombre — una copia renombrada deja de responder.
Instalar el recurso#
Mueve la carpeta qs-book-creator al directorio de recursos de tu servidor. Puede estar en cualquier lugar dentro de él, incluida una carpeta de categoría:
resources/
└── [qs]/
└── qs-book-creator/Una vez copiada, abre tu server.cfg y asegúrate de que todas las dependencias — y el framework y el inventario que debe detectar — se inicien antes que Books Creator:
ensure oxmysql
ensure ox_lib
# Framework
ensure qb-core
# ensure qbx_core
# ensure es_extended
# Inventory
ensure ox_inventory
# ensure qs-inventory
# ensure qb-inventory
ensure qs-book-creatorEl orden de carga importa. La detección solo ve recursos que ya están iniciados, así que un inventario que se inicia después de Books Creator no se encuentra, y los libros no se pueden guardar en ítems.
Importar la base de datos#
Cada libro — su portada, páginas e imágenes — se guarda en una sola tabla, qs_books. Abre tu gestor de base de datos (HeidiSQL, phpMyAdmin, DBeaver o el panel de tu hosting), selecciona la base de datos de tu servidor y ejecuta database.sql.
Columna | Contiene |
|---|---|
| El id del libro — el mismo valor que llevan sus ítems como |
| Quién lo escribió primero: el |
| La portada. |
| Cada página, en orden, como JSON. |
| El nombre del ítem al que pertenece el libro. |
| Se establece automáticamente. |
Las columnas
jobyjob_gradesestán reservadas y quedan vacías en esta versión.
Añadir el ítem del libro#
Books Creator escucha un ítem, definido por Config.BookDefaults.item — book salvo que lo cambies. Regístralo en tu inventario como un ítem único y usable y copia [image]/book.png en la carpeta de imágenes de tu inventario.
Añade el bloque de ox_inventory_book.md a ox_inventory/data/items.lua y la imagen a ox_inventory/web/images/:
['book'] = {
label = 'Book',
weight = 200,
stack = false,
close = true,
consume = 0,
description = 'A readable book.',
server = {
export = 'qs-book-creator.useBook',
},
},La línea server.export es lo que lo hace funcionar: ox_inventory pasa el uso directamente a Books Creator. Sin ella, el ítem no hace nada.
Añade el ítem a qs-inventory/shared/items.lua y la imagen a qs-inventory/html/images/:
['book'] = {
name = 'book',
label = 'Book',
weight = 200,
type = 'item',
image = 'book.png',
unique = true,
useable = true,
shouldClose = true,
description = 'A readable book.',
},Añade el ítem a qb-core/shared/items.lua y la imagen a qb-inventory/html/images/:
book = {
name = 'book',
label = 'Book',
weight = 200,
type = 'item',
image = 'book.png',
unique = true,
useable = true,
shouldClose = true,
description = 'A readable book.',
},El ítem nunca debe apilarse —
stack = falseen ox_inventory,unique = trueen los demás. Los ítems de una misma pila comparten un único conjunto de metadatos, así que dos libros apilados serían el mismo libro.
Configurar el recurso#
Casi nada necesita configuración — los libros se escriben en el juego. Lo que hay está en config/main.lua:
Opción | Por defecto | Qué hace |
|---|---|---|
|
| El idioma de la interfaz. Consulta Uso → Idiomas. |
| auto |
|
| auto | El inventario detectado, o |
|
| El título prerrellenado en un libro en blanco. |
|
| El autor prerrellenado en un libro en blanco. |
|
| El ítem que funciona como libro. |
|
| El máximo de páginas que puede tener un libro. |
| police, ambulance | Trabajos que devuelve el callback |
|
| Imprime líneas extra en la consola, incluido el inventario detectado. |
|
| Silencia los sonidos de la interfaz: pasar páginas, guardar y errores. |
Los valores que conviene revisar primero:
Config.Locale = 'en'
Config.BookDefaults = {
title = 'New Book', -- pre-filled title
author = 'Unknown', -- pre-filled author
item = 'book', -- the item that works as a book
maxPages = 50, -- pages per book
}
Config.Debug = false
Config.DisableSounds = false¿Cambias
item? Registra también el nuevo nombre en tu inventario y reinicia. Los ítems con el nombre antiguo dejan de abrirse en qs-inventory y qb-inventory, porque solo el nombre configurado se hace usable.
Verificar la instalación#
Configura Config.Debug = true, reinicia tu servidor y lee la consola. Indica el framework que cargó y el inventario con el que registró el libro:
[INFO] Successfully loaded the framework. qb
[DEBUG 2.0.1] Registered usable book item: book inventory: ox_inventory
[DEBUG 2.0.1] Book inventory usables registered: ox_inventorySi el inventario indica standalone, no había ningún inventario compatible en marcha cuando se inició Books Creator — revisa el orden de carga. Después entra en tu servidor y sigue el primer ciclo:
Date un libro
Usa el comando para dar ítems de tu framework, por ejemplo
/giveitem 1 book 1.Escríbelo
Usa el libro desde tu inventario. Está en blanco, así que se abre el editor. Ponle un título y un autor, añade una página con algo de texto y pulsa Save.
Léelo
Úsalo de nuevo. Un pequeño menú ofrece Open y Edit — Open muestra tu libro. A partir de ahí, Uso cubre todo lo que puede contener un libro.
A partir de ahora nada necesita reinicio. Cada libro se escribe, edita y elimina en el juego.



