Script multicharacter y spawn para FiveM

Multicharacter: documentación

Pantalla de título, multipersonaje y selector de spawn en un solo script. Los jugadores entran a una escena cinemática en vivo con tu logo y un menú principal:

  • Jugar;
  • Novedades;
  • Reglas (hay que aceptarlas);
  • Controles;
  • Sobre nosotros;
  • Discord;
  • Salir.

Después eligen un personaje, que aparece delante de la cámara con su ropa real, o crean uno nuevo con tu propio creador de ropa. Por último eligen dónde aparecer mientras la cámara vuela sobre cada sitio.

Funciones

  • 🎬 Escenas de título en vivo: cámara del juego con un movimiento cinemático lento, NPCs haciendo escenarios, su propia hora y clima. Varias escenas rotan con un fundido. Añade las tuyas en Config.Scenes.
  • 🖼️ Tu marca:
    • logo desde un archivo (html/img/) o un enlace, o el nombre de tu servidor como texto;
    • lema;
    • música de fondo opcional (html/music/ o un enlace; el botón de silencio se recuerda);
    • colores de rolo_notify: cada jugador ve el tema que eligió.
  • 📰 Paneles: novedades, reglas (por secciones), controles (tecla + acción) y sobre nosotros (texto + enlaces, web). Todo en texto plano en config.lua.
  • ✅ Aceptación de reglas: los jugadores aceptan las reglas una vez. Sube Config.Rules.version y todos las vuelven a aceptar.
  • 👤 Tarjetas de personaje: nombre, trabajo y rango, efectivo, banco, fecha de nacimiento, nacionalidad, tiempo jugado y última vez. El modo streamer difumina el dinero y el ID.
  • 🧍 Vista 3D con el aspecto real guardado. Arrastra para girar.
  • ➕ Crear:
    • nombre y apellido (validados, con mayúscula, opcionalmente únicos), fecha de nacimiento (límites de edad), sexo y nacionalidad (lista);
    • después se abre tu creador: origen_clothing, illenium-appearance, fivem-appearance o qb-clothing, con una rama custom.
  • Cada personaje se muestra con su propio aspecto en la selección. Con origen_clothing el aspecto se lee de la base de datos (todavía no hay nadie cargado): se revisan todas las tablas candidatas y gana la fila con el aspecto completo (cara, pelo, rasgos); se ignoran las tablas de conjuntos guardados / armario / tienda. La consola lista las tablas que revisa. Si un servidor alguna vez muestra la ropa equivocada, fuerza la tabla con Config.LookTable. Config.Debug = true muestra lo que se leyó de cada personaje.
  • 🗑️ Borrar con doble confirmación (escribiendo el nombre completo). Se puede desactivar o dejar solo para admins.
  • 🎟️ Espacios: un número por defecto, extras por jugador dados por los admins, y un comando de consola pensado para Tebex.
  • 📍 Selector de spawn: última ubicación más tus puntos. La cámara vuela sobre cada uno. Los personajes nuevos aparecen en un punto fijo (o eligen un apartamento de qb-apartments) y reciben los items iniciales (id_card / driver_license con sus datos).
  • 🔒 Privado mientras eliges: cada jugador está solo en su propio routing bucket. Sin HUD ni radar, y la sincronización del clima se pausa.
  • 🔁 /logout vuelve a la pantalla de título, para admins o para todos. El cambio de personaje de rolo_admin funciona con él.
  • 🌍 Español e inglés. QBCore y Qbox. Inventarios para los items iniciales: todos los de la sección de Compatibilidad.

Dependencias

  • ox_lib, oxmysql
  • Opcional: rolo_notify (notificaciones + colores)

Instalación

  1. Quita tus scripts actuales de multipersonaje y spawn: qb-multicharacter, qb-spawn, origen_titlemenu… Solo puede funcionar uno.
  2. Pon rolo_multicharacter en tus resources y haz ensure después de tu framework, ox_lib y oxmysql.
  3. Pon tu logo en html/img/ (o usa un enlace) y configura Config.Branding: nombre, logo, Discord, música.
  4. Escribe tus novedades, reglas, controles y "sobre nosotros" en config.lua.
  5. Las tablas se crean al primer arranque (rolo_multichar_accounts, rolo_multichar_chars). Los personajes siguen en las tablas propias de tu framework.

Pantalla de carga

La pantalla de carga se cierra en cuanto la pantalla de título está lista. Lanza loadingscreen:client:shutdown y además llama a ShutdownLoadingScreenNui. Si tu pantalla de carga espera el nombre de un recurso, ponle rolo_multicharacter.

Espacios (admins / Tebex)

Comando Dónde Qué
/multichar_slots <id|license> <n> en el juego (admins) o consola fija los espacios de un jugador
multichar_addslot <id|license> [n] consola / Tebex añade espacios (1 por defecto)

En Tebex, añade al paquete el comando multichar_addslot {sid}, con "requiere que el jugador esté conectado". Para dar espacios sin estar conectado, usa la license.

Configuración (config.lua)

Opción Qué hace
Config.Framework, Clothing, Inventory, Notify 'auto' los detecta
Config.Branding Nombre del servidor, lema, logo (archivo / enlace), Discord, web, música
Config.MainMenu Botones y su orden
Config.News, Rules, Controls, About Contenido de los paneles
Config.Slots, MaxSlots, AllowDelete, DeleteNeedsAdmin Personajes por jugador y borrado
Config.MinAge, MaxAge, NameMin, NameMax, UniqueNames, Nationalities Reglas de identidad
Config.StarterItems Items de los personajes nuevos (nil = la lista del framework)
Config.Logout Comando /logout y quién puede usarlo
Config.Spawn, NewCharacter Puntos de spawn, última ubicación, sitio de los personajes nuevos, qb-apartments
Config.Scenes, SceneRotateSeconds Escenas de título (cámara, NPCs, hora, clima)
Config.Select Dónde se para el personaje delante de la cámara

Exports

-- servidor
exports.rolo_multicharacter:Logout(src)        -- guarda, cierra sesión y muestra la pantalla de título
-- cliente
exports.rolo_multicharacter:IsOpen()           -- true mientras se ven los menús

Archivos abiertos (sin escrow)

  • config.lua, locales/*.lua
  • bridge/server.lua: framework (personajes, login, logout, borrar, admins), aspectos guardados, items iniciales
  • bridge/client.lua: notificaciones, aplicar aspectos, abrir el creador, eventos después del spawn, sincronización del clima

Compatibilidad

El núcleo de compatibilidad (compat/server.lua + compat/client.lua, archivos abiertos) detecta tus sistemas al arrancar y los muestra en la consola del servidor, por ejemplo compat: framework qbcore · inventory ox_inventory · garages qb-garages · society qb-banking.

  • Inventarios: ox_inventory, origen_inventory, qs-inventory, codem-inventory, core_inventory, qb-inventory, ps-inventory / lj-inventory / tgiann-inventory (mediante las funciones de jugador de QBCore). Config.Inventory = 'custom' + Compat.CustomInventory.
  • Los errores se muestran en la consola con el nombre del sistema, nunca en silencio.
  • Los nombres y columnas siguen la documentación pública de cada script. Prueba una vez después de instalar con tu propia configuración.

ROLO SCRIPT · Soporte y actualizaciones en nuestro Discord.

¿Te atascaste?

Escríbenos en el canal de soporte de Discord con el script, tu framework y el error de la consola.